{ "info": { "author": "Jonatan Dellagostin", "author_email": "jdellagostin@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: System :: Systems Administration :: Authentication/Directory" ], "description": ".. image:: https://readthedocs.org/projects/xmlrpcssl/badge/?version=latest\n :target: http://xmlrpcssl.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://coveralls.io/repos/github/jonDel/xmlrpcssl/badge.svg?branch=master\n :target: https://coveralls.io/github/jonDel/xmlrpcssl?branch=master\n\n.. image:: https://landscape.io/github/jonDel/xmlrpcssl/master/landscape.svg?style=flat\n :target: https://landscape.io/github/jonDel/xmlrpcssl/master\n :alt: Code Health\n\n.. image:: https://www.versioneye.com/user/projects/58233fdf613b6800422cb9b6/badge.svg?style=flat\n :target: https://www.versioneye.com/user/projects/58233fdf613b6800422cb9b6\n\n\nxmlrpcssl\n=========\n\n**xmlprcssl** is a Python library that provides secure communication (`TLS `__) beetween clients and servers through xmlrpc protocol. It supports plugable handlers to provide user authentication. For now, it has as an example a ldap based authentication handler.\n\n\nServer configuration\n--------------------\n\n.. code:: python\n\n >>> from xmlrpcssl import SecureAuthenticatedXMLRPCServer\n >>> from xmlrpcssl.handlers import LdapVerifyingRequestHandler\n >>> from datetime import datetime\n >>> keySsl='/tmp/server.key'\n >>> crtSsl='/tmp/server.crt'\n >>> tcpPort=433\n >>> serverIp='10.0.0.1'\n >>> ldapHost = 'ldapHost' # User must have access granted to this host in ldap\n >>> ldapServer = 'ldapServer' # ip or name of ldap server\n >>> gidNumber = 111 # User must be in this group in order to be authenticated\n >>> isMasterUser = False # True if the user has write permissions in the ldap server\n >>> baseUsrLoginDn = 'o=Organization,c=US' # user base DN to perform login in\n # the ldap server\n >>> baseSearchDn = 'o=Organization,c=US' # search base DN to perform a search in\n # the ldap server base\n >>> RequestHandler = LdapVerifyingRequestHandler # a handler that inherits from\n # BaseRequestHandler and performs user authentication\n >>> optArgs={'isMasterUser':isMasterUser,'baseUsrLoginDn':baseUsrLoginDn,\n ... 'ldapServer':ldapServer,'gidNumber':gidNumber,'baseSearchDn':baseSearchDn,\n ... 'host':ldapHost,'RequestHandler':RequestHandler}\n >>> serverSSL=SecureAuthenticatedXMLRPCServer((serverIp,tcpPort),keySsl,crtSsl,**optArgs)\n >>> def test():\n ... # toy test function\n ... return datetime.now().strftime(\"%H:%M:%S\")\n >>> serverSSL.register_function(test)\n >>> serverSSL.serve_forever()\n\n\nClient configuration\n--------------------\n\n.. code:: python\n\n >>> from xmlrpclib import ServerProxy\n >>> userName = 'ldapUser'\n >>> password = 'ldapUserPassword'\n >>> tcpPort=433\n >>> serverIp='10.0.0.1'\n >>> clientXml=ServerProxy('https://'+userName+':'+password+'@'+serverIp+':'+str(tcpPort))\n >>> response = clientXml.test()\n >>> print response\n\nInstallation\n------------\n\nTo install xmlrpcssl, simply run:\n\n::\n\n $ pip install xmlrpcssl\n\nxmlrpcssl is compatible with Python 2.6+\n\nDocumentation\n-------------\n\nhttps://xmlrpcssl.readthedocs.io\n\nSource Code\n-----------\n\nFeel free to fork, evaluate and contribute to this project.\n\nSource: https://github.com/jonDel/xmlrpcssl\n\nLicense\n-------\n\nGPLv3 licensed.\n\nCredits\n-------\n\n- http://code.activestate.com/recipes/496786-simple-xml-rpc-server-over-https and https://github.com/nosmo/python-xmlrpcssl for inspiration", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jonDel/xmlrpcssl", "keywords": "ssl secure https xmlrpc rpc xml ldap", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "xmlrpcssl", "package_url": "https://pypi.org/project/xmlrpcssl/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/xmlrpcssl/", "project_urls": { "Homepage": "https://github.com/jonDel/xmlrpcssl" }, "release_url": "https://pypi.org/project/xmlrpcssl/0.1.3/", "requires_dist": null, "requires_python": null, "summary": "xmlrpc server with basic authentication and secured with ssl", "version": "0.1.3" }, "last_serial": 2451242, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "732cabab2ac9e56b783df1d95c552566", "sha256": "e84b66cca964692588c4466b8875cd908d973a324dd6cc2024030c66aab63c3d" }, "downloads": -1, "filename": "xmlrpcssl-0.1.3-py2.7.egg", "has_sig": false, "md5_digest": "732cabab2ac9e56b783df1d95c552566", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5951, "upload_time": "2016-11-09T16:14:41", "url": "https://files.pythonhosted.org/packages/5c/5c/449306768eec895060a2cf6c735628cd368bc5348de0819a6f7b1b67ca25/xmlrpcssl-0.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "460a1dc248483b7af00ae1220b1c52e9", "sha256": "6eda30fde5d56cebe3cc3a2c15b0646f914858f6f919fc544cd2d6d717632642" }, "downloads": -1, "filename": "xmlrpcssl-0.1.3.tar.gz", "has_sig": false, "md5_digest": "460a1dc248483b7af00ae1220b1c52e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27524, "upload_time": "2016-11-09T16:15:25", "url": "https://files.pythonhosted.org/packages/14/07/31293a5e4b632a550679d797211bd0dd325f12fe1bd82b31019ec30e7d08/xmlrpcssl-0.1.3.tar.gz" } ], "0.1.3": [] }, "urls": [] }