{ "info": { "author": "Juan A. Diaz", "author_email": "nueces@ravvit.net", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Topic :: Software Development :: Build Tools" ], "description": "========================================\nBuldout recipe for create htpasswd files\n========================================\n\n.. contents::\n\n\nIntrodution\n===========\n\nThis recipe can be used to generate files for basic authentication of HTTP\nusers, to restrict the access to HTTP resoruces. The aim is to be fully\ncompatible with the `htpasswd program`_ that come with the\n`Apache httpd Server`_, and support all the `password formats`_ that it\nsupports. This formats, with some minor diffenrences in the case of the plain\nmethod, are also `supported by the auth_basic module`_ of the nginx http server.\n\nThis recipe support crypt, md5 (`APR md5 algorithm`_), plain and sha1 algorithms\nfor storage passwords. The crypt algorithm is based on the system's crypt()\nroutine, so it inherits its limitations (see: `man 5 crypt`_).\n\n\n*Note:* The plaintext passowrds are only accepted by the Apache httpd server on\nWindows and Netware.\n\n*Caution:* This recipe should not be used to update an existing htpasswd file,\nbecause it overwritte the htpasswd file in every update.\n\nExample usage\n=============\n\nThe simplest way to use this recipe is to add a part in ``buildout.cfg`` like\nthis:\n\n.. code-block:: ini\n\n [buildout]\n parts = htpasswd\n\n [htpasswd]\n recipe = collective.recipe.htpasswd\n output = ${buildout:directory}/etc/htpasswd\n credentials =\n nueces:secret\n nutz:crackme\n\nOne example using the ``sha1`` algorithm:\n\n.. code-block:: ini\n\n [buildout]\n parts = htpasswd\n\n [htpasswd]\n recipe = collective.recipe.htpasswd\n output = ${buildout:directory}/etc/htpasswd\n algorithm = sha1\n credentials =\n nueces:secret\n nutz:crackme\n\n\nFor use the ``md5`` algorithm this recipe relies in the\n`python-aprmd5 package`_, then to install it you must modify the buildout part\nto include the md5 ``extras_require`` setting and install the build depencies\nfor the python-aprmd5 package. In Debian GNU/Linux the package is the\n`libaprutil1-dev`_. It contain the develoment headers of the\n`Apache Portable Runtime Utility Library`_.\n\nAfter that modify the part in the ``buildout.cfg`` it must look like this:\n\n.. code-block:: ini\n\n [buildout]\n parts = htpasswd\n\n [htpasswd]\n recipe = collective.recipe.htpasswd [md5]\n output = ${buildout:directory}/etc/htpasswd\n algorithm = md5\n credentials =\n nueces:secret\n nutz:crackme\n\n\n*Note:* For a `bug in zc.buildout`_ if you need to use this recipe with the md5\nand the plain or crypt algorithms in two o more parts, you must declare first\nthe one that use the md5 ``extras_require``.\n\n\nSupported options\n=================\n\n* output: Specify a path to the output file. The path will be created if it does\n not exist.\n* credentials: One set per line of credentials formed by username and password\n separated by a colon. e.g. ``:``.\n* mode: Specified with octal numbers, as in the chmod program. e.g. ``640``.\n If it not set the file are created with the mask mode from the system\n enviroment.\n* algorithm: The supported options are ``crypt``, ``md5``, ``plain`` and\n ``sha1``. Default to ``cypt``.\n\n\nDevelopment\n===========\n\n- Code repository: http://github.com/collective/collective.recipe.htpasswd\n- Report bugs at http://github.com/collective/collective.recipe.htpasswd/issues\n\n\n.. _htpasswd program: http://httpd.apache.org/docs/2.4/programs/htpasswd.html\n.. _Apache httpd server: http://httpd.apache.org/\n.. _APR md5 algorithm: http://apr.apache.org/docs/apr-util/trunk/group___a_p_r___m_d5.html\n.. _password formats: http://httpd.apache.org/docs/2.2/misc/password_encryptions.html\n.. _supported by the auth_basic module: http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic\n.. _man 5 crypt: http://manpages.debian.net/cgi-bin/man.cgi?query=crypt&sektion=3\n.. _python-aprmd5 package: http://www.herzbube.ch/python-aprmd5\n.. _libaprutil1-dev: http://packages.debian.org/stable/libaprutil1-dev\n.. _Apache Portable Runtime Utility Library: http://apr.apache.org/\n.. _bug in zc.buildout: https://bugs.launchpad.net/zc.buildout/+bug/583752\n\nContributors\n************\n\nJuan A. Diaz (nueces), Author\n\n\nHistory\n**************\n\n0.1a3 (2013-03-27)\n------------------\n\n- Added support for the sha1 algorithm.\n [Juan A. Diaz (nueces)]\n\n\n0.1a2 (2013-02-18)\n------------------\n\n- Added support for the apr md5 algorithm.\n [Juan A. Diaz (nueces)]\n\n\n0.1a1 (2013-01-30)\n------------------\n\n- Created recipe with ZopeSkel\n- Initial alpha release.\n [Juan A. Diaz (nueces)]\n\nDownload\n********", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/collective/collective.recipe.htpasswd", "keywords": "buildout,recipe,htpasswd,password,httpd,apache,nginx", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.recipe.htpasswd", "package_url": "https://pypi.org/project/collective.recipe.htpasswd/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.recipe.htpasswd/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/collective/collective.recipe.htpasswd" }, "release_url": "https://pypi.org/project/collective.recipe.htpasswd/0.1a3/", "requires_dist": null, "requires_python": null, "summary": "Buildout recipe for create and update the flat-files used to store usernames and password for basic authentication of HTTP users", "version": "0.1a3" }, "last_serial": 788136, "releases": { "0.1a1": [ { "comment_text": "", "digests": { "md5": "9099f02650b77126fa6bdca876f0786f", "sha256": "b1eabfa088aeb042571a5358de8f0fb4c56520011345f096f978f0974c421c87" }, "downloads": -1, "filename": "collective.recipe.htpasswd-0.1a1.zip", "has_sig": false, "md5_digest": "9099f02650b77126fa6bdca876f0786f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30480, "upload_time": "2013-01-30T07:41:21", "url": "https://files.pythonhosted.org/packages/d4/88/676bc7b613476241878ca25fcbf89ce0646ceb0030ed6c41b8c26dd8823d/collective.recipe.htpasswd-0.1a1.zip" } ], "0.1a2": [ { "comment_text": "", "digests": { "md5": "acd05a44c6af29e9f3d2228be2a97894", "sha256": "5dc71147ab58daa1c69dc9603561f45fa314003c0e43464bd1fdda702ce53b40" }, "downloads": -1, "filename": "collective.recipe.htpasswd-0.1a2.zip", "has_sig": false, "md5_digest": "acd05a44c6af29e9f3d2228be2a97894", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32326, "upload_time": "2013-02-18T07:28:26", "url": "https://files.pythonhosted.org/packages/49/b4/f5702f666067e57d87424bc95fe90ee882155d161865afee66223f7311fb/collective.recipe.htpasswd-0.1a2.zip" } ], "0.1a3": [ { "comment_text": "", "digests": { "md5": "6b000159fd3c6a9d2161e786356d113d", "sha256": "18cc69c1a6541d92d777861ea94e2691b90b760ac48abf4c2af36e9116a5b21d" }, "downloads": -1, "filename": "collective.recipe.htpasswd-0.1a3.zip", "has_sig": false, "md5_digest": "6b000159fd3c6a9d2161e786356d113d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32470, "upload_time": "2013-03-27T17:18:04", "url": "https://files.pythonhosted.org/packages/01/3b/753bcb4f226641eff9b106f1ab4f78e222f48155c4378d0ecc3564d10749/collective.recipe.htpasswd-0.1a3.zip" } ], "0.1a3.dev0": [ { "comment_text": "", "digests": { "md5": "b6562e3031961772267481920cd20bab", "sha256": "2d3ed4024ee46eef2477ac2c3a06f8c30d569ed578f762bf0984071f6f519c91" }, "downloads": -1, "filename": "collective.recipe.htpasswd-0.1a3.dev0.zip", "has_sig": false, "md5_digest": "b6562e3031961772267481920cd20bab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32735, "upload_time": "2013-03-27T16:35:24", "url": "https://files.pythonhosted.org/packages/01/86/c8b5c9fdd43ad0d868fe9067b0dd25916af06d8a821b9de39059d44ff130/collective.recipe.htpasswd-0.1a3.dev0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6b000159fd3c6a9d2161e786356d113d", "sha256": "18cc69c1a6541d92d777861ea94e2691b90b760ac48abf4c2af36e9116a5b21d" }, "downloads": -1, "filename": "collective.recipe.htpasswd-0.1a3.zip", "has_sig": false, "md5_digest": "6b000159fd3c6a9d2161e786356d113d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32470, "upload_time": "2013-03-27T17:18:04", "url": "https://files.pythonhosted.org/packages/01/3b/753bcb4f226641eff9b106f1ab4f78e222f48155c4378d0ecc3564d10749/collective.recipe.htpasswd-0.1a3.zip" } ] }