[Checkins] SVN: grokproject/trunk/ fix the tests for the extends-cache directory, ecnode the initial password as ssha
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Tue May 18 08:08:13 EDT 2010
Log message for revision 112444:
fix the tests for the extends-cache directory, ecnode the initial password as ssha
Changed:
U grokproject/trunk/grokproject/template/etc/site.zcml.in_tmpl
U grokproject/trunk/grokproject/templates.py
U grokproject/trunk/grokproject/utils.py
U grokproject/trunk/tests_alternative_release_url.txt
U grokproject/trunk/tests_paste.txt
-=-
Modified: grokproject/trunk/grokproject/template/etc/site.zcml.in_tmpl
===================================================================
--- grokproject/trunk/grokproject/template/etc/site.zcml.in_tmpl 2010-05-18 11:25:17 UTC (rev 112443)
+++ grokproject/trunk/grokproject/template/etc/site.zcml.in_tmpl 2010-05-18 12:08:13 UTC (rev 112444)
@@ -16,7 +16,7 @@
<principal id="zope.manager"
title="Manager"
login=${user}
- password_manager="SHA1"
+ password_manager="SSHA"
password=${passwd}
/>
Modified: grokproject/trunk/grokproject/templates.py
===================================================================
--- grokproject/trunk/grokproject/templates.py 2010-05-18 11:25:17 UTC (rev 112443)
+++ grokproject/trunk/grokproject/templates.py 2010-05-18 12:08:13 UTC (rev 112444)
@@ -8,7 +8,7 @@
from grokproject.utils import run_buildout
from grokproject.utils import ask_var
from grokproject.utils import get_boolean_value_for_option
-from grokproject.utils import get_sha1_encoded_string
+from grokproject.utils import get_ssha_encoded_string
from grokproject.utils import create_buildout_default_file
from grokproject.utils import exist_buildout_default_file
@@ -63,7 +63,7 @@
for name in skipped_vars:
vars[name] = skipped_vars[name]
- vars['passwd'] = get_sha1_encoded_string(vars['passwd'])
+ vars['passwd'] = get_ssha_encoded_string(vars['passwd'])
for var_name in ['user', 'passwd']:
# Escape values that go in site.zcml.
vars[var_name] = xml.sax.saxutils.quoteattr(vars[var_name])
@@ -99,9 +99,9 @@
vars['package_directory'] = os.path.abspath(os.path.join(
os.getcwd(), vars['project']))
-
+
return vars
-
+
def download(self, url):
"""Downloads a file and returns the contents.
@@ -122,7 +122,7 @@
print "Server may be down. Please try again later."
sys.exit(1)
return contents
-
+
def post(self, command, output_dir, vars):
if not vars['run_buildout']:
return
Modified: grokproject/trunk/grokproject/utils.py
===================================================================
--- grokproject/trunk/grokproject/utils.py 2010-05-18 11:25:17 UTC (rev 112443)
+++ grokproject/trunk/grokproject/utils.py 2010-05-18 12:08:13 UTC (rev 112444)
@@ -1,12 +1,13 @@
+from base64 import urlsafe_b64encode
+from paste.script.templates import var
+from random import randint
import codecs
+import logging
import os
+import pkg_resources
+import shutil
import sys
-import shutil
import tempfile
-import pkg_resources
-import logging
-from random import randint
-from paste.script.templates import var
try:
from hashlib import sha1
@@ -50,15 +51,17 @@
config_file.write(contents)
config_file.close()
-def get_sha1_encoded_string(passwd):
- """Encode the given `string` using SHA1.
+def get_ssha_encoded_string(password):
+ """Encode the given `string` using "Secure" SHA.
+
+ Taken from zope.password.password, however grokproject itself
+ cannot depend on that package.
"""
encoder = codecs.getencoder('utf-8')
- salt = "%08x" % randint(0, 0xffffffff)
- # This is apparently a wrong use of salt, but the old SHA1
- # password manager of `zope.app.authentication` handles it this way.
- result = salt + sha1(encoder(passwd)[0]).hexdigest()
- return result
+ hash = sha1(encoder(password)[0])
+ salt = os.urandom(4)
+ hash.update(salt)
+ return '{SSHA}' + urlsafe_b64encode(hash.digest() + salt)
def get_boolean_value_for_option(vars, option):
value = vars.get(option.name)
@@ -134,7 +137,7 @@
remove_old_logger_handlers()
print "Invoking zc.buildout..."
-
+
# Now do the rest of the install.
zc.buildout.buildout.main(extra_args + ['install'])
remove_old_logger_handlers()
Modified: grokproject/trunk/tests_alternative_release_url.txt
===================================================================
--- grokproject/trunk/tests_alternative_release_url.txt 2010-05-18 11:25:17 UTC (rev 112443)
+++ grokproject/trunk/tests_alternative_release_url.txt 2010-05-18 12:08:13 UTC (rev 112444)
@@ -46,15 +46,15 @@
>>> print open(os.path.join(package_dir, 'buildout.cfg')).read()
[buildout]
extends = file:///.../fake_release/0.555/versions.cfg
- extends-cache = cache
+ extends-cache = extends-cache
find-links = file:///.../fake_release/0.555/eggs/
...
>>> ls(package_dir)
bootstrap.py
buildout.cfg
- cache
etc
+ extends-cache
setup.py
src
Modified: grokproject/trunk/tests_paste.txt
===================================================================
--- grokproject/trunk/tests_paste.txt 2010-05-18 11:25:17 UTC (rev 112443)
+++ grokproject/trunk/tests_paste.txt 2010-05-18 12:08:13 UTC (rev 112444)
@@ -31,7 +31,7 @@
>>> print open(os.path.join(package_dir, 'buildout.cfg')).read()
[buildout]
extends = http://grok.zope.org/releaseinfo/1.1rc1/versions.cfg
- extends-cache = cache
+ extends-cache = extends-cache
find-links = http://grok.zope.org/releaseinfo/1.1rc1/eggs/
...
@@ -40,9 +40,9 @@
bin
bootstrap.py
buildout.cfg
- cache
develop-eggs
etc
+ extends-cache
parts
setup.py
src
@@ -95,7 +95,7 @@
buildout files to support offline building. We know what the filename of the
cached versions file for 1.1rc1 will look like:
- >>> ls(os.path.join(package_dir, 'cache'))
+ >>> ls(os.path.join(package_dir, 'extends-cache'))
000739fbb1c7d540a2861c7476c5ec2d
We used a projectname with uppercase letters. This is respected by
@@ -107,7 +107,7 @@
site-definition ...GrokExample/parts/etc/site.zcml
...
-The password given is stored SHA1 encoded::
+The password given is stored SSHA encoded::
>>> site_zcml_in = os.path.join(package_dir, 'etc',
... 'site.zcml.in')
@@ -117,8 +117,8 @@
<principal id="zope.manager"
title="Manager"
login="a"
- password_manager="SHA1"
- password="...86f7e437faa5a7fce15d1ddcb9eaeaea377667b8"
+ password_manager="SSHA"
+ password="{SSHA}..."
/>
...
@@ -239,21 +239,17 @@
>>> cmd = os.path.join(bin_dir, 'buildout')
>>> output = read_sh(cmd)
>>> print output
- Develop: ...
+ Develop: '...'
Updating app.
- ...
Updating site_zcml.
Updating zope_conf.
Updating debug_ini.
Updating deploy_ini.
Updating i18n.
i18n: setting up i18n tools
- ...
Updating mkdirs.
Updating test.
- ...
Updating zpasswd.
- ...
Updating data.
Updating log.
*************** PICKED VERSIONS ****************
@@ -287,9 +283,9 @@
>>> print open(os.path.join(package_dir, 'buildout.cfg')).read()
[buildout]
extends = http://grok.zope.org/releaseinfo/1.1a2/versions.cfg
- extends-cache = cache
+ extends-cache = extends-cache
find-links = http://grok.zope.org/releaseinfo/1.1a2/eggs/
...
- >>> ls(os.path.join(package_dir, 'cache'))
+ >>> ls(os.path.join(package_dir, 'extends-cache'))
eb77a071fb78a2da37cbe18aff8b2a5a
More information about the checkins
mailing list