@@ -14,7 +14,8 @@ XML-RPC access to Roundup
1414 :local:
1515
1616Introduction
17- ------------
17+ ============
18+
1819Version 1.4 of Roundup includes an XML-RPC frontend for remote access. The
1920XML-RPC interface allows a limited subset of commands similar to those found in
2021local `roundup-admin` tool.
@@ -27,17 +28,18 @@ For demo tracker the URL would be:
2728
2829 http://localhost:8917/demo/xmlrpc
2930
30- Enabling XML-RPC server
31- -----------------------
31+ Enabling XML-RPC
32+ ================
3233There are two ways to run the XML-RPC interface:
3334
3435 through roundup itself
3536
3637 stand alone roundup-xmlrpc-server
3738
3839
39- through roundup
40+ Through Roundup
4041---------------
42+
4143The XML-RPC service is available from the roundup HTTP server under
4244/xmlrpc.
4345
@@ -53,9 +55,10 @@ schema.py to add::
5355This is usually included near where other permissions like "Web Access"
5456or "Email Access" are assigned.
5557
56- stand alone roundup-xmlrpc-server
57- ---------------------------------
58- Using roundup to access the xmlrpc interface is preferred. Roundup
58+ Standalone roundup-xmlrpc-server
59+ --------------------------------
60+
61+ Using Roundup to access the xmlrpc interface is preferred. Roundup
5962provides better control over who can use the interface.
6063
6164The Roundup XML-RPC standalone server must be started before remote
@@ -69,21 +72,24 @@ must be specified.
6972The default port is ``8000``. An alternative port can be specified with the
7073``--port`` switch.
7174
72- security consideration
73- ----------------------
75+ Security Consideration
76+ ======================
77+
7478Both the standalone and embedded roundup XML endpoints used the
7579default python XML parser. This parser is know to have security
7680issues. For details see: https://pypi.org/project/defusedxml/.
7781You may wish to use the rest interface which doesn't have the same
7882issues. Patches with tests to roundup to use defusedxml are welcome.
7983
80- Note that the current ``roundup-xmlrpc-server`` implementation does
81- not support SSL. This means that usernames and passwords will be
82- passed in cleartext unless the server is being proxied behind another
83- server (such as Apache or lighttpd) that provide SSL.
84+ .. caution::
85+
86+ The current ``roundup-xmlrpc-server`` implementation does not support
87+ SSL. This means that usernames and passwords will be passed in
88+ cleartext unless the server is being proxied behind another server
89+ (such as Apache or lighttpd) that provide SSL.
8490
8591Client API
86- ----------
92+ ==========
8793The server currently implements seven methods/commands. Each method
8894requires that the user provide a username and password in the HTTP
8995authorization header in order to authenticate the request against the
@@ -137,7 +143,7 @@ filter arguments: *classname, list or None, attributes*
137143 :ref:`query-tracker`.
138144======= ====================================================================
139145
140- sample python client
146+ Sample Python Client
141147====================
142148
143149This client will work if you turn off the x-requested-with header and
@@ -171,7 +177,7 @@ the only CSRF header check you require is the HTTP host header::
171177 >>> roundup_server.lookup('user','admin')
172178 '1'
173179
174- advanced python client adding anti-csrf headers
180+ Advanced Python Client Adding anti-csrf Headers
175181===============================================
176182
177183The one below adds Referer and X-Requested-With headers so it can pass
0 commit comments