<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to patches</title><link>https://sourceforge.net/p/exuserfolder/patches/</link><description>Recent changes to patches</description><atom:link href="https://sourceforge.net/p/exuserfolder/patches/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sun, 18 Nov 2007 00:46:22 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/exuserfolder/patches/feed.rss" rel="self" type="application/rss+xml"/><item><title>understand encryption of /etc/passwd and /etc/shadow</title><link>https://sourceforge.net/p/exuserfolder/patches/29/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;You have to hard-code the place of the file containing the passwords into the code, but hey, then you can use you linux users&amp;amp;paswords in zope!&lt;/p&gt;
&lt;p&gt;This will add a crypto source, so we have to integrate it like this:&lt;/p&gt;
&lt;p&gt;diff exUserFolder/CryptoSources/__init__.py&lt;br /&gt;
4a5&lt;br /&gt;
+ import pass_pwd&lt;/p&gt;
&lt;p&gt;The attached file is the new crypto source which understands traditional linux crypt and md5 style password hashes. Save it as exUserFolder/CryptoSources/pass_pwd.py&lt;/p&gt;
&lt;p&gt;configuration area in the file:&lt;br /&gt;
PASSWORDFILES = ['/opt/zope-instances/foo/exUsers/etcUsers']&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
DEBUG_LOGFILE = '/tmp/pwdtest.log'&lt;/p&gt;
&lt;p&gt;cp /etc/shadow $INSTANCE_HOME/exUsers/etcUsers&lt;/p&gt;
&lt;p&gt;(re)install the Product with the changes&lt;/p&gt;
&lt;p&gt;add an exUserFolder to a subfolder somewhere which does not already have an acl_users folder&lt;br /&gt;
Answer to the dialog:&lt;br /&gt;
"Authentication Source": "File Based Authentication Source"&lt;br /&gt;
all other Sources: "Null * Source"&lt;br /&gt;
"Default Password Hashing Method": "Linux style: crypt or md5"&lt;/p&gt;
&lt;p&gt;click NEXT -&amp;gt; Password File: etcUsers , Default Role: etcUser&lt;br /&gt;
click NEXT -&amp;gt; click "Add" a few times till finished&lt;/p&gt;
&lt;p&gt;tested with:&lt;/p&gt;
&lt;p&gt;gentoo Base System version 1.12.6&lt;br /&gt;
Zope 2.9.4&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous Earthling</dc:creator><pubDate>Sun, 18 Nov 2007 00:46:22 -0000</pubDate><guid>https://sourceforge.net2cdc60c22fb8f244f5d85a6a1b2ea91def4b6e8b</guid></item><item><title>MD5 Hex CryptoPlugin for PHP/MySQL/etc compatibility</title><link>https://sourceforge.net/p/exuserfolder/patches/28/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;MySQL, PHP and md5sum (among others) generate hex&lt;br /&gt;
representations of MD5 sums which are not compatible&lt;br /&gt;
with the existing md5 implementation in pass_md5.py.&lt;br /&gt;
This patch adds a new 'MD5 (Hex)' crypto plugin based&lt;br /&gt;
on the existing one which allows users to generate new&lt;br /&gt;
and authenticate against existing hex md5 hashes,&lt;br /&gt;
thereby avoiding having to reissue passwords to&lt;br /&gt;
existing users.&lt;/p&gt;
&lt;p&gt;This should also allow for migrations from other&lt;br /&gt;
products, for example from phpBB to CMFBoard.&lt;/p&gt;
&lt;p&gt;diff pass_md5.py pass_md5hex.py&lt;br /&gt;
32,33c32,33&lt;br /&gt;
&amp;lt;       digest = digest.digest()&lt;br /&gt;
&amp;lt;       secret = string.strip(base64.encodestring(digest))&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;       digest = digest.hexdigest()&lt;br /&gt;
&amp;gt;       secret = string.strip(digest)&lt;br /&gt;
43,44c43,44&lt;br /&gt;
&amp;lt; MD5Plugin1=CryptoPluginRegister('MD51', 'MD5', 'MD5&lt;br /&gt;
Password Only', cryptPassword)&lt;br /&gt;
&amp;lt; exUserFolder.cryptoSources['MD51']=MD5Plugin1&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; MD5Plugin1=CryptoPluginRegister('MD5X1', 'MD5X', 'MD5&lt;br /&gt;
(Hex) Password Only', cryptPassword)&lt;br /&gt;
&amp;gt; exUserFolder.cryptoSources['MD5X1']=MD5Plugin1&lt;br /&gt;
46,47c46,47&lt;br /&gt;
&amp;lt; MD5Plugin2=CryptoPluginRegister('MD52', 'MD5', 'MD5&lt;br /&gt;
Username + Password', cryptPassword2)&lt;br /&gt;
&amp;lt; exUserFolder.cryptoSources['MD52']=MD5Plugin2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; MD5Plugin2=CryptoPluginRegister('MD5X2', 'MD5X', 'MD5&lt;br /&gt;
(Hex) Username + Password', cryptPassword2)&lt;br /&gt;
&amp;gt; exUserFolder.cryptoSources['MD5X2']=MD5Plugin2&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sam Johnston</dc:creator><pubDate>Wed, 11 May 2005 10:01:11 -0000</pubDate><guid>https://sourceforge.net9aa41f4cfb10727bd6d63d595f52d2922ab97488</guid></item><item><title>patch for [1164195] typo in zodbPopSource.py</title><link>https://sourceforge.net/p/exuserfolder/patches/27/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;See the bug report at [1164195] typo in zodbPopSource.py.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Donovan Baarda</dc:creator><pubDate>Wed, 06 Apr 2005 04:23:18 -0000</pubDate><guid>https://sourceforge.net319ffc0fa75f9f5160441ca5fc03421fb3fd1a1f</guid></item><item><title>Patch to allow domain for cookie</title><link>https://sourceforge.net/p/exuserfolder/patches/26/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch intended for cookie based authentication.&lt;br /&gt;
It adds "cookie_domain" property for exUserFolder. This&lt;br /&gt;
property determines domain for all setCookie /&lt;br /&gt;
expireCookie operation in exUserFolder. The main goal&lt;br /&gt;
is to make single authentication for  many subdomains&lt;br /&gt;
in one domain. For example, we have a domains&lt;br /&gt;
a.domain.com, b.domain.com, c.domain.com etc served by&lt;br /&gt;
single exUserFolder and want user logged in&lt;br /&gt;
a.domain.com became logged in other sites. In this case&lt;br /&gt;
we can fill cookie_domain property with ".domain.com"&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Fri, 11 Mar 2005 10:10:28 -0000</pubDate><guid>https://sourceforge.net20b30b14458e2cb9a440ca2cc0c59b26654f6f49</guid></item><item><title>EXUF and portal_memberdata wrapper</title><link>https://sourceforge.net/p/exuserfolder/patches/25/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;XUFUser.getId() tries obtain Id from self.propSource first&lt;br /&gt;
which causes infinite reqursion because CMF/Plone &lt;br /&gt;
property sources need object Id to fetch object's &lt;br /&gt;
properties so they call getId() which tries to get Id&lt;br /&gt;
from the self.propSource and so on and so on.&lt;br /&gt;
In general it is not a good idea to keep object's Id&lt;br /&gt;
separately from the object itself. Confusion seems to &lt;br /&gt;
come from the fact that User.id is not a unix user id or&lt;br /&gt;
windows user id or database user key or whatever. &lt;br /&gt;
User.id is an internal Zope identifier which should be &lt;br /&gt;
unique within parent's context and should be always&lt;br /&gt;
available. Proposed patch simply removes check in &lt;br /&gt;
self.propSource and makes XUFUser.getId() just return&lt;br /&gt;
self.name. Probably using username as an id for&lt;br /&gt;
XUFUser objects is not an unique or a best solution in&lt;br /&gt;
general, but at least it is consistent with other acl_user&lt;br /&gt;
implementations.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mikhail Terekhov</dc:creator><pubDate>Mon, 01 Mar 2004 18:45:53 -0000</pubDate><guid>https://sourceforge.net70ec4c4cc4470dadf8811dbc992760c83ceb93a5</guid></item><item><title>changing roles with etcAuthSource</title><link>https://sourceforge.net/p/exuserfolder/patches/24/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I don't know if this is the same bug as with Patch&lt;br /&gt;
#626934, but that particular patch entry didn't have&lt;br /&gt;
and comments or attached files.&lt;/p&gt;
&lt;p&gt;The offending code (from etcAuthSource.py):         &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;232:    if roles and self.default_role:             &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;233:       roles=roles.append(self.default_role)    &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;234:    elif self.default_role:                     &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;235:       roles=[self.default_role,]               &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;236:    else:                                       &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;237:       roles=[]                                 &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Line 233 is the problem. 'roles.append' will always&lt;br /&gt;
return None, it should just be used in-place.&lt;br /&gt;
Currently, if you have any roles manually defined for a&lt;br /&gt;
user, then line 233 will just set 'roles' to 'None'.&lt;br /&gt;
Zope expects a sequence, not 'None'.                &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;I've attached a small patch.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Deepak Giridharagopal</dc:creator><pubDate>Thu, 15 Jan 2004 22:07:41 -0000</pubDate><guid>https://sourceforge.net9dca4c66003e371b73c5ff466ba96ada2d03a283</guid></item><item><title>Simple backwards compatibility patch</title><link>https://sourceforge.net/p/exuserfolder/patches/23/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I was updating my exUserFolder version and came across&lt;br /&gt;
a problem when accessing an older exUserFolder&lt;/p&gt;
&lt;p&gt;Fixed by changing line 922 of v0.20.0 from:&lt;/p&gt;
&lt;p&gt;if self.currentMembershipSource and&lt;br /&gt;
self.currentMembershipSource.loginPage:&lt;/p&gt;
&lt;p&gt;to:&lt;/p&gt;
&lt;p&gt;if getattr(self, 'currentMembershipSource', None) and&lt;br /&gt;
self.currentMembershipSource.loginPage:&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Beaven</dc:creator><pubDate>Mon, 25 Aug 2003 02:52:38 -0000</pubDate><guid>https://sourceforge.net5278fd4ad815d2a705f292be340e85a3d77ea36a</guid></item><item><title>Crypting passwords with crypt, md5, sha in pgAuthSourceAlt</title><link>https://sourceforge.net/p/exuserfolder/patches/22/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This is a patch for pgAuthSourceAlt to allow&lt;br /&gt;
configureable crypting method (crypt, md5, sha) for&lt;br /&gt;
storing passwords.&lt;/p&gt;
&lt;p&gt;It uses the usual method '{SHA}ae34cb...' strings to&lt;br /&gt;
store secret.&lt;/p&gt;
&lt;p&gt;If you apply this patch, and have an existent&lt;br /&gt;
acl_users, you can call the method 'upgrade' on the&lt;br /&gt;
'pgAuthSourceAlt' instance, and convert passwords!&lt;/p&gt;
&lt;p&gt;viktor at neotek dot hu&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 24 Feb 2003 21:17:16 -0000</pubDate><guid>https://sourceforge.net5df13270318abb9452f7b4e8dbd871ad1e78a47e</guid></item><item><title>fix for use in root folder</title><link>https://sourceforge.net/p/exuserfolder/patches/21/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Im sure Ive submitted this one previously, but&lt;br /&gt;
sourceforge thinks not. &lt;/p&gt;
&lt;p&gt;This patch fixes gross brokenness when used as a user&lt;br /&gt;
folder in the root folder.&lt;/p&gt;
&lt;p&gt;The XUF documentation recommends against doing this on&lt;br /&gt;
principal. I disagree with that principal ;-) This&lt;br /&gt;
patch works for me.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Toby Dickenson</dc:creator><pubDate>Fri, 21 Feb 2003 10:45:58 -0000</pubDate><guid>https://sourceforge.net2b37a2cdd523a7fc5902fee215f1b89458081bb7</guid></item><item><title>a typo that prevent changing roles using etcAuthSource</title><link>https://sourceforge.net/p/exuserfolder/patches/20/</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Toby Dickenson</dc:creator><pubDate>Tue, 22 Oct 2002 15:52:27 -0000</pubDate><guid>https://sourceforge.net2e777e5c80ecae7aa409937f2532e654de5f0b56</guid></item></channel></rss>