Name
Last commit
Last update
..
Server Bug 708252: The XMLRPC API doesn't work with IIS
Bug.pm Bug 1230932: Providing a condition as an ID to the webservice results in a taint error
BugUserLastVisit.pm Bug 1232180 - Incorrect regexp used to filter bug IDs in Bugzilla::WebService::BugUserLastVisit
Bugzilla.pm Bug 1157405: Bugzilla.parameters is not accessible when requirelogin = 1 and the user is not logged in
Classification.pm Bug 1090275: WebServices modules should maintain a whitelist of methods that are allowed instead of allowing access to any function imported into its namespace
Component.pm Bug 1090275: WebServices modules should maintain a whitelist of methods that are allowed instead of allowing access to any function imported into its namespace
Constants.pm Bug 1230932: Providing a condition as an ID to the webservice results in a taint error
FlagType.pm Bug 1232190: FlagType.create should require the user to be logged in
Group.pm Bug 1090275: WebServices modules should maintain a whitelist of methods that are allowed instead of allowing access to any function imported into its namespace
Product.pm Bug 1160394 - Products.get_products is missing from PUBLIC_METHODS (for backwards compatibility)
README Bug 787668: Use |use parent| instead of |use base|
Server.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
User.pm Bug 1162334: email_enabled value inverted in User.update RPC call
Util.pm Bug 1230932: Providing a condition as an ID to the webservice results in a taint error
The class structure of these files is a little strange, and this README
explains it.

Our goal is to make JSON::RPC and XMLRPC::Lite both work with the same code.
(That is, we want to have one WebService API, and have two frontends for it.)

The problem is that these both pass different things for $self to WebService
methods.

When XMLRPC::Lite calls a method, $self is the name of the *class* the 
method is in. For example, if we call Bugzilla.version(), the first argument
is Bugzilla::WebService::Bugzilla. So in order to have $self
(our first argument) act correctly in XML-RPC, we make all WebService
classes use parent qw(Bugzilla::WebService). 

When JSON::RPC calls a method, $self is the JSON-RPC *server object*. In other
words, it's an instance of Bugzilla::WebService::Server::JSONRPC. So we have
Bugzilla::WebService::Server::JSONRPC inherit from Bugzilla::WebService.