[Checkins] SVN: zope.password/trunk/ Moved to GitHub.
Stephen Richter
cvs-admin at zope.org
Fri Feb 22 04:52:45 UTC 2013
Log message for revision 129623:
Moved to GitHub.
Changed:
D zope.password/trunk/CHANGES.txt
D zope.password/trunk/COPYRIGHT.txt
D zope.password/trunk/LICENSE.txt
D zope.password/trunk/MANIFEST.in
A zope.password/trunk/MOVED_TO_GITHUB
D zope.password/trunk/README.txt
D zope.password/trunk/bootstrap.py
D zope.password/trunk/buildout.cfg
D zope.password/trunk/setup.py
D zope.password/trunk/src/
D zope.password/trunk/tox.ini
-=-
Deleted: zope.password/trunk/CHANGES.txt
===================================================================
--- zope.password/trunk/CHANGES.txt 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/CHANGES.txt 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,89 +0,0 @@
-=======
-CHANGES
-=======
-
-4.0.1 (unreleased)
-------------------
-
-- Nothing changed yet.
-
-
-4.0.0 (2013-02-21)
-------------------
-
-- Made `zpasswd` a proper console script entry point.
-
-- Added ``tox.ini`` and ``MANIFEST.in``.
-
-- Added support for Python 3.3
-
-- Replaced deprecated ``zope.interface.implements`` usage with equivalent
- ``zope.interface.implementer`` decorator.
-
-- Dropped support for Python 2.4 and 2.5.
-
-- Add a new ``IMatchingPasswordManager`` interface with a 'match' method,
- which returns True if a given password hash was encdoded with the scheme
- implemented by the specific manager. All managers in this package implement
- this interface.
-
-- Use {SHA} as the prefix for SHA1-encoded passwords to be compatible with
- RFC 2307, but support matching against {SHA1} for backwards compatibility.
-
-- Add a crypt password manager to fully support all methods named in RFC 2307.
- It is contained in the 'legacy' module however, to flag crypt's status.
-
-- Add a SMD5 (salted MD5) password manager to fully support all encoding
- schemes implemented by OpenLDAP.
-
-- Add a MySQL PASSWORD() (versions before 4.1) password manager, as also found
- in Zope2's AccessControl.AuthEncoding module.
-
-- Remove the useless, cosmetic salt from the MD5 and SHA1 password managers,
- and use base64 encoding instead of hexdigests. This makes the output of
- these managers compatible with other MD5 and SHA1 hash implementations such
- as RFC 2307 but doesn't lower it's security in any way. Checking passwords
- against old, still 'salted' password hashes with hexdigests is still
- supported.
-
-- Use the standard_base64encode method instead of url_base64encode to maintain
- compatibility with LDAP.
-
-3.6.1 (2010-05-27)
-------------------
-
-- The SSHAPasswordManager.checkPassword() would not handle unicode input
- (even if the string would only contain ascii characters). Now, the
- encoded_password input will be encoded to ascii, which is deemed safe as it
- should not contain non-ascii characters anyway.
-
-3.6.0 (2010-05-07)
-------------------
-
-- Removed zope.testing dependency for tests.
-
-- Updated some copyright headers to comply to repository policy.
-
-- Added zpasswd script formerly hold in zope.app.server. Contrary to
- former zpasswd script, which used "Plain Text" as default password
- manager, now SSHA is used as default.
-
-3.5.1 (2009-03-14)
-------------------
-
-- Make security protection directives in `configure.zcml` execute only
- if ``zope.security`` is installed. This will allow reuse of the
- `configure.zcml` file in environments without ``zope.security``,
- for example with ``repoze.zcml``.
-
-- Add "Password Manager Names" vocabulary for use with ``zope.schema``
- and ``zope.component``, like it was in ``zope.app.authentication``.
- It's an optional feature so it doesn't add hard dependency. We use
- "vocabulary" extra to list dependencies needed for vocabulary functionality.
-
-3.5.0 (2009-03-06)
-------------------
-
-First release. This package was splitted off from ``zope.app.authentication``
-to separate password manager functionality that is greatly re-usable without
-any bit of ``zope.app.authentication`` and to reduce its dependencies.
Deleted: zope.password/trunk/COPYRIGHT.txt
===================================================================
--- zope.password/trunk/COPYRIGHT.txt 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/COPYRIGHT.txt 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1 +0,0 @@
-Zope Foundation and Contributors
\ No newline at end of file
Deleted: zope.password/trunk/LICENSE.txt
===================================================================
--- zope.password/trunk/LICENSE.txt 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/LICENSE.txt 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,44 +0,0 @@
-Zope Public License (ZPL) Version 2.1
-
-A copyright notice accompanies this license document that identifies the
-copyright holders.
-
-This license has been certified as open source. It has also been designated as
-GPL compatible by the Free Software Foundation (FSF).
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions in source code must retain the accompanying copyright
-notice, this list of conditions, and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the accompanying copyright
-notice, this list of conditions, and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-3. Names of the copyright holders must not be used to endorse or promote
-products derived from this software without prior written permission from the
-copyright holders.
-
-4. The right to distribute this software or to use it for any purpose does not
-give you the right to use Servicemarks (sm) or Trademarks (tm) of the
-copyright
-holders. Use of them is covered by separate agreement with the copyright
-holders.
-
-5. If any files are modified, you must cause the modified files to carry
-prominent notices stating that you changed the files and the date of any
-change.
-
-Disclaimer
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Deleted: zope.password/trunk/MANIFEST.in
===================================================================
--- zope.password/trunk/MANIFEST.in 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/MANIFEST.in 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,9 +0,0 @@
-include *.rst
-include *.txt
-include *.py
-include buildout.cfg
-include tox.ini
-
-recursive-include src *
-
-global-exclude *.pyc
Added: zope.password/trunk/MOVED_TO_GITHUB
===================================================================
--- zope.password/trunk/MOVED_TO_GITHUB (rev 0)
+++ zope.password/trunk/MOVED_TO_GITHUB 2013-02-22 04:52:45 UTC (rev 129623)
@@ -0,0 +1 @@
+See https://github.com/zopefoundation/zope.password
\ No newline at end of file
Deleted: zope.password/trunk/README.txt
===================================================================
--- zope.password/trunk/README.txt 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/README.txt 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,175 +0,0 @@
-================
-Password Manager
-================
-
-This package provides a password manager mechanism. Password manager
-is an utility object that can encode and check encoded
-passwords. Beyond the generic interface, this package also provides
-seven implementations:
-
-* PlainTextPasswordManager - the most simple and the less secure
- one. It does not do any password encoding and simply checks password
- by string equality. It's useful in tests or as a base class for
- more secure implementations.
-
-* MD5PasswordManager - a password manager that uses MD5 algorithm to
- encode passwords. It's generally weak against dictionary attacks due to a
- lack of a salt.
-
-* SMD5PasswordManager - a password manager that uses MD5 algorithm, together
- with a salt to encode passwords. It's better protected against against
- dictionary attacks, but the MD5 hashing algorithm is not as strong as the
- SHA1 algorithm.
-
-* SHA1PasswordManager - a password manager that uses SHA1 algorithm to
- encode passwords. It has the same weakness as the MD5PasswordManager.
-
-* SSHAPasswordManager - the most secure password manager that is
- strong against dictionary attacks. It's basically SHA1-encoding
- password manager which also incorporates a salt into the password
- when encoding it.
-
-* CryptPasswordManager - A manager implementing the crypt(3) hashing scheme.
- Only available if the python crypt module is installed. This is a legacy
- manager, only present to ensure that zope.password can be used for all
- schemes defined in RFC 2307 (LDAP).
-
-* MySQLPasswordManager - A manager implementing the digest scheme as
- implemented in the MySQL PASSWORD function in MySQL versions before 4.1.
- Note that this method results in a very weak 16-byte hash.
-
-The Crypt, MD5, SMD5, SHA and SSHA password managers are all compatible with
-RFC 2307 LDAP implementations of the same password encoding schemes.
-
-It is strongly recommended to use SSHAPasswordManager, as it's the
-most secure.
-
-The package also provides a script `zpasswd` to generate principal
-entries in typical ``site.zcml`` files.
-
-Usage
------
-
-It's very easy to use password managers. The
-``zope.password.interfaces.IPasswordManager`` interface defines only
-two methods::
-
- def encodePassword(password):
- """Return encoded data for the given password"""
-
- def checkPassword(encoded_password, password):
- """Return whether the given encoded data coincide with the given password"""
-
-An extended interface, ``zope.password.interfaces.IMatchingPasswordManager``,
-adds one additional method::
-
- def match(encoded_password):
- """
- Returns True when the given data was encoded with the scheme
- implemented by this password manager.
-
- """
-
-The implementations mentioned above are in the
-``zope.password.password`` module.
-
-
-Password Manager Names Vocabulary
----------------------------------
-
-The ``zope.password.vocabulary`` module provides a vocabulary of
-registered password manager utility names. It is typically registered
-as an `IVocabularyFactory` utility named "Password Manager Names".
-
-It's intended to be used with ``zope.component`` and ``zope.schema``,
-so you need to have them installed and the utility registrations needs
-to be done properly. The `configure.zcml` file, contained in
-``zope.password`` does the registrations, as well as in
-`setUpPasswordManagers` function in ``zope.password.testing`` module.
-
-zpasswd script
---------------
-
-``zpasswd`` is a script to generate principal entries in typical
-``site.zcml`` files.
-
-You can create a ``zpasswd`` script in your package by adding a
-section like this to your ``buildout.cfg``::
-
- [zpasswd]
- recipe = z3c.recipe.dev:script
- eggs = zope.password
- module = zope.password.zpasswd
- method = main
-
-This will generate a script ``zpasswd`` next time you run
-``buildout``.
-
-When run, the script will ask you for all parameters needed to create
-a typical principal entry, including the encrypted password.
-
-Use::
-
- $ bin/zpasswd --help
-
-to get a list of options.
-
-Using
-
- $ bin/zpasswd -c some/site.zcml
-
-the script will try to lookup any password manager you defined and
-registered in your environment. This is lookup is not necessary if you
-go with the standard password managers defined in `zope.password`.
-
-A typical ``zpasswd`` session::
-
- $ ./bin/zpasswd
-
- Please choose an id for the principal.
-
- Id: foo
-
-
- Please choose a title for the principal.
-
- Title: The Foo
-
-
- Please choose a login for the principal.
-
- Login: foo
-
- Password manager:
-
- 1. Plain Text
- 2. MD5
- 3. SHA1
- 4. SSHA
-
- Password Manager Number [4]:
- SSHA password manager selected
-
-
- Please provide a password for the principal.
-
- Password:
- Verify password:
-
- Please provide an optional description for the principal.
-
- Description: The main foo
-
- ============================================
- Principal information for inclusion in ZCML:
-
- <principal
- id="foo"
- title="The Foo"
- login="foo"
- password="{SSHA}Zi_Lsz7Na3bS5rz4Aer-9TbqomXD2f3T"
- description="The main foo"
- password_manager="SSHA"
- />
-
-
Deleted: zope.password/trunk/bootstrap.py
===================================================================
--- zope.password/trunk/bootstrap.py 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/bootstrap.py 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,165 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bootstrap a buildout-based project
-
-Simply run this script in a directory containing a buildout.cfg.
-The script accepts buildout command-line options, so you can
-use the -c option to specify an alternate configuration file.
-"""
-
-import os, shutil, sys, tempfile
-from optparse import OptionParser
-
-tmpeggs = tempfile.mkdtemp()
-
-usage = '''\
-[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
-
-Bootstraps a buildout-based project.
-
-Simply run this script in a directory containing a buildout.cfg, using the
-Python that you want bin/buildout to use.
-
-Note that by using --setup-source and --download-base to point to
-local resources, you can keep this script from going over the network.
-'''
-
-parser = OptionParser(usage=usage)
-parser.add_option("-v", "--version", help="use a specific zc.buildout version")
-
-parser.add_option("-t", "--accept-buildout-test-releases",
- dest='accept_buildout_test_releases',
- action="store_true", default=False,
- help=("Normally, if you do not specify a --version, the "
- "bootstrap script and buildout gets the newest "
- "*final* versions of zc.buildout and its recipes and "
- "extensions for you. If you use this flag, "
- "bootstrap and buildout will get the newest releases "
- "even if they are alphas or betas."))
-parser.add_option("-c", "--config-file",
- help=("Specify the path to the buildout configuration "
- "file to be used."))
-parser.add_option("-f", "--find-links",
- help=("Specify a URL to search for buildout releases"))
-
-
-options, args = parser.parse_args()
-
-######################################################################
-# load/install distribute
-
-to_reload = False
-try:
- import pkg_resources, setuptools
- if not hasattr(pkg_resources, '_distribute'):
- to_reload = True
- raise ImportError
-except ImportError:
- ez = {}
-
- try:
- from urllib.request import urlopen
- except ImportError:
- from urllib2 import urlopen
-
- exec(urlopen('http://python-distribute.org/distribute_setup.py').read(), ez)
- setup_args = dict(to_dir=tmpeggs, download_delay=0, no_fake=True)
- ez['use_setuptools'](**setup_args)
-
- if to_reload:
- reload(pkg_resources)
- import pkg_resources
- # This does not (always?) update the default working set. We will
- # do it.
- for path in sys.path:
- if path not in pkg_resources.working_set.entries:
- pkg_resources.working_set.add_entry(path)
-
-######################################################################
-# Install buildout
-
-ws = pkg_resources.working_set
-
-cmd = [sys.executable, '-c',
- 'from setuptools.command.easy_install import main; main()',
- '-mZqNxd', tmpeggs]
-
-find_links = os.environ.get(
- 'bootstrap-testing-find-links',
- options.find_links or
- ('http://downloads.buildout.org/'
- if options.accept_buildout_test_releases else None)
- )
-if find_links:
- cmd.extend(['-f', find_links])
-
-distribute_path = ws.find(
- pkg_resources.Requirement.parse('distribute')).location
-
-requirement = 'zc.buildout'
-version = options.version
-if version is None and not options.accept_buildout_test_releases:
- # Figure out the most recent final version of zc.buildout.
- import setuptools.package_index
- _final_parts = '*final-', '*final'
- def _final_version(parsed_version):
- for part in parsed_version:
- if (part[:1] == '*') and (part not in _final_parts):
- return False
- return True
- index = setuptools.package_index.PackageIndex(
- search_path=[distribute_path])
- if find_links:
- index.add_find_links((find_links,))
- req = pkg_resources.Requirement.parse(requirement)
- if index.obtain(req) is not None:
- best = []
- bestv = None
- for dist in index[req.project_name]:
- distv = dist.parsed_version
- if _final_version(distv):
- if bestv is None or distv > bestv:
- best = [dist]
- bestv = distv
- elif distv == bestv:
- best.append(dist)
- if best:
- best.sort()
- version = best[-1].version
-if version:
- requirement = '=='.join((requirement, version))
-cmd.append(requirement)
-
-import subprocess
-if subprocess.call(cmd, env=dict(os.environ, PYTHONPATH=distribute_path)) != 0:
- raise Exception(
- "Failed to execute command:\n%s",
- repr(cmd)[1:-1])
-
-######################################################################
-# Import and run buildout
-
-ws.add_entry(tmpeggs)
-ws.require(requirement)
-import zc.buildout.buildout
-
-if not [a for a in args if '=' not in a]:
- args.append('bootstrap')
-
-# if -c was provided, we push it back into args for buildout' main function
-if options.config_file is not None:
- args[0:0] = ['-c', options.config_file]
-
-zc.buildout.buildout.main(args)
-shutil.rmtree(tmpeggs)
Deleted: zope.password/trunk/buildout.cfg
===================================================================
--- zope.password/trunk/buildout.cfg 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/buildout.cfg 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,25 +0,0 @@
-[buildout]
-develop = .
-parts = zpasswd test coverage-test coverage-report
-
-[test]
-recipe = zc.recipe.testrunner
-eggs = zope.password [test]
-
-[coverage-test]
-recipe = zc.recipe.testrunner
-eggs = zope.password [test]
-defaults = ['--coverage', '../../coverage']
-
-[coverage-report]
-recipe = zc.recipe.egg
-eggs = z3c.coverage
- zope.password
-scripts = coverage=coverage-report
-arguments = ('coverage', 'coverage/report')
-interpreter = python
-
-[zpasswd]
-recipe = zc.recipe.egg
-eggs = zope.password
-scripts = zpasswd
Deleted: zope.password/trunk/setup.py
===================================================================
--- zope.password/trunk/setup.py 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/setup.py 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,85 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2009 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Setup for zope.password package
-"""
-from setuptools import setup, find_packages
-
-def alltests():
- import os
- import sys
- import unittest
- # use the zope.testrunner machinery to find all the
- # test suites we've put under ourselves
- import zope.testrunner.find
- import zope.testrunner.options
- here = os.path.abspath(os.path.join(os.path.dirname(__file__), 'src'))
- args = sys.argv[:]
- defaults = ["--test-path", here]
- options = zope.testrunner.options.get_options(args, defaults)
- suites = list(zope.testrunner.find.find_suites(options))
- return unittest.TestSuite(suites)
-
-setup(name='zope.password',
- version='4.0.1.dev0',
- author='Zope Foundation and Contributors',
- author_email='zope-dev at zope.org',
- description='Password encoding and checking utilities',
- long_description=(
- open('README.txt').read()
- + '\n\n' +
- open('CHANGES.txt').read()
- ),
- url='http://pypi.python.org/pypi/zope.password',
- license='ZPL 2.1',
- classifiers = [
- 'Development Status :: 5 - Production/Stable',
- 'Environment :: Web Environment',
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: Zope Public License',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.6',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.3',
- 'Programming Language :: Python :: Implementation :: CPython',
- 'Natural Language :: English',
- 'Operating System :: OS Independent',
- 'Topic :: Internet :: WWW/HTTP',
- 'Framework :: Zope3'],
- keywords='zope authentication password zpasswd',
- packages=find_packages('src'),
- package_dir = {'': 'src'},
- extras_require=dict(vocabulary=['zope.schema'],
- test=['zope.schema', 'zope.testing'],
- ),
- namespace_packages=['zope'],
- install_requires=['setuptools',
- 'zope.component',
- 'zope.configuration',
- 'zope.interface',
- ],
- tests_require = [
- 'zope.schema',
- 'zope.testing',
- 'zope.testrunner',
- ],
- test_suite = '__main__.alltests',
- include_package_data = True,
- zip_safe = False,
- entry_points="""
- [console_scripts]
- zpasswd = zope.password.zpasswd:main
- """,
- )
Deleted: zope.password/trunk/tox.ini
===================================================================
--- zope.password/trunk/tox.ini 2013-02-22 04:45:47 UTC (rev 129622)
+++ zope.password/trunk/tox.ini 2013-02-22 04:52:45 UTC (rev 129623)
@@ -1,17 +0,0 @@
-[tox]
-envlist =
- py26,py27,py33
-
-[testenv]
-commands =
- python setup.py test -q
-# without explicit deps, setup.py test will download a bunch of eggs into $PWD
-# (and it seems I can't use zope.dottedname[testing] here, so forget DRY)
-deps =
- zope.component
- zope.configuration
- zope.interface
- zope.schema
- zope.testing
- zope.testrunner
-
More information about the checkins
mailing list