[Checkins] SVN: cipher.googlepam/trunk/ Moved to GitHub.

Stephen Richter cvs-admin at zope.org
Tue Mar 5 18:30:50 UTC 2013


Log message for revision 130040:
  Moved to GitHub.

Changed:
  D   cipher.googlepam/trunk/CHANGES.txt
  A   cipher.googlepam/trunk/MOVED_TO_GITHUB
  D   cipher.googlepam/trunk/README.txt
  D   cipher.googlepam/trunk/bootstrap.py
  D   cipher.googlepam/trunk/buildout.cfg
  D   cipher.googlepam/trunk/debian/
  D   cipher.googlepam/trunk/setup.py
  D   cipher.googlepam/trunk/src/
  D   cipher.googlepam/trunk/versions.cfg

-=-
Deleted: cipher.googlepam/trunk/CHANGES.txt
===================================================================
--- cipher.googlepam/trunk/CHANGES.txt	2013-03-05 18:30:43 UTC (rev 130039)
+++ cipher.googlepam/trunk/CHANGES.txt	2013-03-05 18:30:50 UTC (rev 130040)
@@ -1,112 +0,0 @@
-CHANGES
-=======
-
-1.5.2 (unreleased)
-------------------
-
-- Nothing changed yet.
-
-
-1.5.1 (2012-10-11)
-------------------
-
-- MemCache reliability fixes:
-
-  + **SECURITY FIX**: do not use the same cache key for all users.
-
-    Previously when one user logged in successfully, others could not log in
-    using their own passwords -- but the first user could now use her password
-    to log in as anyone else.
-
-  + Do not store custom classes in memcached so we don't get unpickling
-    errors caused by the special execution environment set up by
-    pam_python.so.  Previously the cached value was a subclass of tuple,
-    now it's a plain tuple, so old caches will continue to work with the
-    new code.
-
-- FileCache reliability fixes:
-
-  + Avoid incorrect cache lookups (or invalidations) when a username is a
-    proper prefix of some other username.
-
-  + Avoid cache poisoning if usernames contain embedded '::' separators or
-    newlines.
-
-  + Avoid exceptions on a race condition if the cache file disappears after
-    we check for its existence but before we open it for reading.
-
-- Add missing test file for multi-group support.  It was accidentally left
-  out of the last release causing a test failure.
-
-- Make add-google-users skip users that already exist without printing
-  scary error messages that make it seem the script aborted early.
-
-
-1.5.0 (2012-10-09)
-------------------
-
-- Support multiple Google groups.  The authenticating user has to be a member
-  of any one of them for access to be allowed.
-
-- Added add-google-users new option --exclude to skip adding some users
-  (e.g. the 'admin' user might clash with an existing 'admin' group, causing
-  the script to fail).
-
-- Added add-google-users option --add-to-group as a more meaningful alias for
-  the old --admin-group option.
-
-- Added add-google-users option --add-to-group-command for completeness.
-
-
-1.4.0 (2012-10-08)
-------------------
-
-- Set umask to avoid world-readable log and cache files.
-
-- Add a space after the PAM prompt.
-
-- The add-google-users script now reads the pam_google config file to get the
-  domain, username, password and group.  You can also use -C/--config-file to
-  specify a different config file.
-
-- add-google-users does not break if you don't specify --admin-group.
-
-- Added Debian packaging.
-
-
-1.3.0 (2012-04-24)
-------------------
-
-- Added ability to cache authentication result, since some uses, such as
-  Apache authentication can cause a lot of requests. File- and
-  memcached-based caches have been implemented and are available/configurable
-  in the configuration file.
-
-- Fully stubbed out the Google API for faster and simpler testing.
-
-- Removed all traces of Cipher's specific account details.
-
-- Changed all headers to ZPL.
-
-- The package is ready for public release.
-
-
-1.2.0 (2012-04-17)
-------------------
-
-- Do not fail if the username already exists.
-
-
-1.1.0 (2012-04-17)
-------------------
-
-- Make the admin group configurable.
-
-
-1.0.0 (2012-04-17)
-------------------
-
-- PAM module authenticating against users in a group of a particular Google
-  domain.
-
-- Script to add all users of a group within a Google domain as system users.

Added: cipher.googlepam/trunk/MOVED_TO_GITHUB
===================================================================
--- cipher.googlepam/trunk/MOVED_TO_GITHUB	                        (rev 0)
+++ cipher.googlepam/trunk/MOVED_TO_GITHUB	2013-03-05 18:30:50 UTC (rev 130040)
@@ -0,0 +1 @@
+See https://github.com/zopefoundation/cipher.googlepam
\ No newline at end of file

Deleted: cipher.googlepam/trunk/README.txt
===================================================================
--- cipher.googlepam/trunk/README.txt	2013-03-05 18:30:43 UTC (rev 130039)
+++ cipher.googlepam/trunk/README.txt	2013-03-05 18:30:50 UTC (rev 130040)
@@ -1,130 +0,0 @@
-Google PAM Module
-=================
-
-This package implements a Python PAM module to authenticate users against a
-Google domain. The following features are provided:
-
-- Select any Google domain.
-
-- Allow only users from a certain group.
-
-- A script to install all Google users as system users.
-
-- Password caching using files or memcached.
-
-- Advanced logging setup.
-
-The code was inspired by the ``python_pam.so`` examples and the
-``TracGoogleAppsAuthPlugin`` trac authentication plugin.
-
-
-Configuring Google PAM on Ubuntu 12.04 LTS
-------------------------------------------
-
-1. Install a few required packages::
-
-     # apt-get install python-setuptools python-gdata python-bcrypt \
-                       python-memcache libpam-python
-
-2. Now install ``cipher.googlepam`` using easy install::
-
-     # easy_install cipher.googlepam
-
-3. Add all users to the system::
-
-     # add-google-users -v -d <domain> -u <admin-user> -p <admin-pwd> \
-                        -g <google-group> -a <system-admin-group>
-
-   Note: Use the ``-h`` option to discover all options.
-
-4. Create a ``/etc/pam_google.conf`` configuration file::
-
-     [googlepam]
-     domain=<domain>
-     admin-username=<admin-user>
-     admin-password=<admin-pwd>
-     group=<google-group>
-     excludes = root [<user> ...]
-     prompt = Google Password:
-     cache = file|memcache
-
-     [file-cache]
-     file = /var/lib/pam_google/user-cache
-     lifespan = 1800
-
-     [memcache-cache]
-     key-prefix = googlepam.
-     host = 127.0.0.1
-     port = 11211
-     debug = false
-     lifespan = 1800
-
-     [loggers]
-     keys = root, pam
-
-     [logger_root]
-     handlers = file
-     level = INFO
-
-     [logger_pam]
-     qualname = cipher.googlepam.PAM
-     handlers = file
-     propagate = 0
-     level = INFO
-
-     [handlers]
-     keys = file
-
-     [handler_file]
-     class = logging.handlers.RotatingFileHandler
-     args = ('/var/log/pam-google.log', 'a', 10*1024*1024, 5)
-     formatter = simple
-
-     [formatters]
-     keys = simple
-
-     [formatter_simple]
-     format = %(asctime)s %(levelname)s - %(message)s
-     datefmt = %Y-%m-%dT%H:%M:%S
-
-5. Hide contents of the config file from the curious users::
-
-     # chmod 600 /etc/pam_google.conf
-
-6. Put the Google PAM module in a sensible location::
-
-     # ln -s /usr/local/lib/python2.7/dist-packages/cipher.googlepam-<version>-py2.7.egg/cipher/googlepam/pam_google.py /lib/security/pam_google.py
-
-7. Enable pam_google for all authentication. Add the following rule as the
-   first rule in file ``/etc/pam.d/common-auth``::
-
-     auth    sufficient   pam_python.so /lib/security/pam_google.py -c /etc/pam_google.conf
-
-
-Building a Debian package
--------------------------
-
-1. Install a few required packages::
-
-     # apt-get install build-essential debhelper devscripts fakeroot quilt
-
-2. Download the latest cipher.googlepam tarball from PyPI (or build one with
-   ``python setup.py sdist``)
-
-3. Rename the tarball ``cipher.googlepam_VERSION.orig.tar.gz`` (note: underscore
-   instead of the hyphen!), put it in the parent directory of the source tree
-   (if you don't have a source tree, just untar the tarball).
-
-4. Go to the source tree, run ``dch -i``, make sure the version number in the
-   changelog matches the package version, make sure your name and email are
-   correct, write a changelog entry itself (e.g. something like 'New upstream
-   release'.)
-
-5. Run ``debuild``.  If everything's fine, you should get a ``deb`` file in the
-   parent directory.
-
-Install the deb with ``sudo dpkg -i cipher.googlepam...deb; sudo apt-get -f
-install``.  Then edit ``/etc/cipher-googlepam/pam_google.conf`` and run
-``add-google-users``.  You don't need to manually edit PAM configuration if you
-use the .deb package.
-

Deleted: cipher.googlepam/trunk/bootstrap.py
===================================================================
--- cipher.googlepam/trunk/bootstrap.py	2013-03-05 18:30:43 UTC (rev 130039)
+++ cipher.googlepam/trunk/bootstrap.py	2013-03-05 18:30:50 UTC (rev 130040)
@@ -1,68 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Corporation 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.
-
-$Id$
-"""
-
-import os, shutil, sys, tempfile, urllib2
-
-tmpeggs = tempfile.mkdtemp()
-
-ez = {}
-exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
-                     ).read() in ez
-ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
-
-import pkg_resources
-
-is_jython = sys.platform.startswith('java')
-
-if is_jython:
-    import subprocess
-
-cmd = 'from setuptools.command.easy_install import main; main()'
-if sys.platform == 'win32':
-    cmd = '"%s"' % cmd # work around spawn lamosity on windows
-
-ws = pkg_resources.working_set
-
-if is_jython:
-    assert subprocess.Popen([sys.executable] + ['-c', cmd, '-mqNxd', tmpeggs,
-    'zc.buildout'],
-    env = dict(os.environ,
-          PYTHONPATH=
-          ws.find(pkg_resources.Requirement.parse('setuptools')).location
-          ),
-    ).wait() == 0
-
-else:
-    assert os.spawnle(
-        os.P_WAIT, sys.executable, sys.executable,
-        '-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout',
-        dict(os.environ,
-            PYTHONPATH=
-            ws.find(pkg_resources.Requirement.parse('setuptools')).location
-            ),
-        ) == 0
-
-ws.add_entry(tmpeggs)
-ws.require('zc.buildout')
-import zc.buildout.buildout
-zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
-shutil.rmtree(tmpeggs)

Deleted: cipher.googlepam/trunk/buildout.cfg
===================================================================
--- cipher.googlepam/trunk/buildout.cfg	2013-03-05 18:30:43 UTC (rev 130039)
+++ cipher.googlepam/trunk/buildout.cfg	2013-03-05 18:30:50 UTC (rev 130040)
@@ -1,25 +0,0 @@
-[buildout]
-extends = versions.cfg
-develop = .
-parts = test python addusers
-extensions = buildout-versions
-buildout_versions_file = versions.cfg
-newest = false
-include-site-packages = false
-unzip = true
-versions = versions
-
-[test]
-recipe = zc.recipe.testrunner
-eggs = cipher.googlepam [test]
-defaults = ['--tests-pattern', '^f?tests$$', '-v']
-
-[python]
-recipe = zc.recipe.egg
-eggs = cipher.googlepam
-interpreter = py
-
-[addusers]
-recipe = zc.recipe.egg:scripts
-eggs = cipher.googlepam
-scripts = add-google-users

Deleted: cipher.googlepam/trunk/setup.py
===================================================================
--- cipher.googlepam/trunk/setup.py	2013-03-05 18:30:43 UTC (rev 130039)
+++ cipher.googlepam/trunk/setup.py	2013-03-05 18:30:50 UTC (rev 130040)
@@ -1,61 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2012 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.
-#
-##############################################################################
-"""Package Setup
-"""
-import os
-from setuptools import setup, find_packages
-
-def read(*rnames):
-    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
-
-setup(
-    name='cipher.googlepam',
-    version='1.5.2.dev0',
-    description='Google PAM Module',
-    long_description=(
-        read('README.txt')
-        + '\n\n' +
-        read('CHANGES.txt')),
-    classifiers=[
-      "Development Status :: 4 - Beta",
-      "Programming Language :: Python",
-      "Topic :: Internet",
-      "Topic :: Security",
-      "Topic :: System :: Systems Administration :: Authentication/Directory"
-      ],
-    author='Stephan Richter',
-    author_email = "stephan.richter at gmail.com",
-    url='http://pypi.python.org/pypi/cipher.googlepam',
-    keywords='pam google',
-    packages = find_packages('src'),
-    package_dir = {'':'src'},
-    namespace_packages = ['cipher'],
-    include_package_data=True,
-    zip_safe=False,
-    extras_require = dict(
-        test = (
-            'zope.testing',
-            ),
-        ),
-    install_requires=[
-          'gdata',
-          'py-bcrypt',
-          'python-memcached',
-          'setuptools',
-          ],
-    entry_points = """
-    [console_scripts]
-    add-google-users=cipher.googlepam.addusers:main
-    """
-    )

Deleted: cipher.googlepam/trunk/versions.cfg
===================================================================
--- cipher.googlepam/trunk/versions.cfg	2013-03-05 18:30:43 UTC (rev 130039)
+++ cipher.googlepam/trunk/versions.cfg	2013-03-05 18:30:50 UTC (rev 130040)
@@ -1,166 +0,0 @@
-[versions]
-
-# Added by Buildout Versions at 2012-04-17 12:26:00.938463
-buildout-versions = 1.6
-z3c.recipe.scripts = 1.0.1
-zc.recipe.egg = 1.3.2
-zc.recipe.testrunner = 1.4.0
-zope.testing = 4.1.1
-
-# Required by:
-# cipher.googlepam==0.1.0
-gdata = 2.0.15
-
-# Required by:
-# cipher.googlepam==0.1.0
-# zope.exceptions==3.7.1
-# zope.interface==3.8.0
-# zope.testrunner==4.0.4
-setuptools = 0.6c12dev-r88846
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.exceptions = 3.7.1
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.interface = 3.8.0
-
-# Required by:
-# zc.recipe.testrunner==1.4.0
-zope.testrunner = 4.0.4
-
-# Added by Buildout Versions at 2012-04-17 20:58:06.045638
-buildout-versions = 1.6
-z3c.recipe.scripts = 1.0.1
-zc.recipe.egg = 1.3.2
-zc.recipe.testrunner = 1.4.0
-zope.testing = 4.1.1
-
-# Required by:
-# cipher.googlepam==0.1.0
-gdata = 2.0.15
-
-# Required by:
-# cipher.googlepam==0.1.0
-# zope.exceptions==3.7.1
-# zope.interface==3.8.0
-# zope.testrunner==4.0.4
-setuptools = 0.6c12dev-r88846
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.exceptions = 3.7.1
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.interface = 3.8.0
-
-# Required by:
-# zc.recipe.testrunner==1.4.0
-zope.testrunner = 4.0.4
-
-# Added by Buildout Versions at 2012-04-17 20:58:18.359485
-buildout-versions = 1.6
-z3c.recipe.scripts = 1.0.1
-zc.recipe.egg = 1.3.2
-zc.recipe.testrunner = 1.4.0
-zope.testing = 4.1.1
-
-# Required by:
-# cipher.googlepam==0.1.0
-gdata = 2.0.15
-
-# Required by:
-# cipher.googlepam==0.1.0
-# zope.exceptions==3.7.1
-# zope.interface==3.8.0
-# zope.testrunner==4.0.4
-setuptools = 0.6c12dev-r88846
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.exceptions = 3.7.1
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.interface = 3.8.0
-
-# Required by:
-# zc.recipe.testrunner==1.4.0
-zope.testrunner = 4.0.4
-
-# Added by Buildout Versions at 2012-04-17 20:59:06.408096
-buildout-versions = 1.6
-z3c.recipe.scripts = 1.0.1
-zc.recipe.egg = 1.3.2
-zc.recipe.testrunner = 1.4.0
-zope.testing = 4.1.1
-
-# Required by:
-# cipher.googlepam==0.1.0
-gdata = 2.0.15
-
-# Required by:
-# cipher.googlepam==0.1.0
-# zope.exceptions==3.7.1
-# zope.interface==3.8.0
-# zope.testrunner==4.0.4
-setuptools = 0.6c12dev-r88846
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.exceptions = 3.7.1
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.interface = 3.8.0
-
-# Required by:
-# zc.recipe.testrunner==1.4.0
-zope.testrunner = 4.0.4
-
-# Added by Buildout Versions at 2012-04-17 20:59:10.489975
-buildout-versions = 1.6
-z3c.recipe.scripts = 1.0.1
-zc.recipe.egg = 1.3.2
-zc.recipe.testrunner = 1.4.0
-zope.testing = 4.1.1
-
-# Required by:
-# cipher.googlepam==0.1.0
-gdata = 2.0.15
-
-# Required by:
-# cipher.googlepam==0.1.0
-# zope.exceptions==3.7.1
-# zope.interface==3.8.0
-# zope.testrunner==4.0.4
-setuptools = 0.6c12dev-r88846
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.exceptions = 3.7.1
-
-# Required by:
-# zope.testrunner==4.0.4
-zope.interface = 3.8.0
-
-# Required by:
-# zc.recipe.testrunner==1.4.0
-zope.testrunner = 4.0.4
-
-# Added by Buildout Versions at 2012-04-24 09:24:48.313678
-
-# Required by:
-# cipher.googlepam==1.2.0
-py-bcrypt = 0.2
-
-# Added by Buildout Versions at 2012-04-24 10:43:03.372309
-
-# Required by:
-# cipher.googlepam==1.2.0
-python-memcached = 1.48
-
-# Added by Buildout Versions at 2012-10-08 13:41:07.222000
-distribute = 0.6.24



More information about the checkins mailing list