Eric Thomas wrote:


On Nov 9, 2007 3:37 PM, Rob Miller <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Eric Thomas wrote:
     >
     > I'm using the membrane plone-2.5-3.0-compat branch with Plone
    2.5.3 and
     > remember trunk from 9.19.2007.
     >
     > On almost every transaction, the following error is produced:
     >
     > 2007-11-09T00:55:35 DEBUG txn.1082132800 new transaction
     > ------
     > 2007-11-09T00:55:35 DEBUG PluggableAuthService AuthenticationPlugin
     > membrane_users error
     > Traceback (most recent call last):
     >   File
     >
    
"/home/mysite/zope/dev/Products/PluggableAuthService/PluggableAuthService.py",
     > line 601, in _extractUserIds
     >     uid_and_info = auth.authenticateCredentials(
     >   File
    "/home/mysite/zope/dev/Products/membrane/plugins/usermanager.py",
     > line 121, in authenticateCredentials
     >     return member.authenticateCredentials(credentials)
     >   File
     >
    "/home/mysite/zope/dev/Products/membrane/factories/authentication.py",
     > line 36, in authenticateCredentials
     >     if authentication.verifyCredentials(credentials):
     >   File
    "/home/mysite/zope/dev/Products/remember/content/member.py", line
     > 416, in verifyCredentials
     >     raise ValueError('Error parsing hash type. '
     > ValueError: Error parsing hash type. Please run migration
     > ------
     > I've been seeing this for a while and don't know if I should do
     > something about it.  Everything seems to work normally.
     > Anyone know what this means?

    first, you might consider trying out the membrane 1.0 branch; i
    don't think
    anyone is maintaining the 2.5-3.0-compat branch any longer, that was
    just used
    transitionally, IIRC.

    as for your problem, originally the hash mechanism was not encoded
    into the
    password storage.  this oversight was fixed, but your install probably
    predates that.  there's an external method called
    "migrate_bcrypt_password_storage" defined in
    Products.remember.Extensions.migrations.  instantiate an External Method
    object for this method at the root of your Plone site and then click
    on the
    'test' tab to run the migration.  and make sure you do it on a test
    install
    with live data before you get anywhere near your production environment.

    sorry it's not a better process, but there wasn't really a good
    migration
    engine available when i put that in there.  in Plone 3 we can use the
    GenericSetup upgradeStep stuff to make this easier.

    -r


Rob, thanks for the help. This seems to have worked and removed the exceptions. Just in case others have to try this, I ran into one issue. I was unable to create an External Method that referenced Products.remember.Extensions.migrations directly. I don't know why, but the manage_addExternalMethod call from the External Method form just kept failing. I moved migrations.py into my Zope site's Extensions folder and then was able to create and execute the External Method.

when you're creating an External method that is referring to a function inside of a specific product, you need to put that product's name in the "Module Name" field, i.e. use "remember.migrations" instead of just "migrations".

-r


--
Archive: 
http://www.openplans.org/projects/remember/lists/remember/archive/2007/11/1194897784877
To unsubscribe send an email with subject unsubscribe to [EMAIL PROTECTED]  
Please contact [EMAIL PROTECTED] for questions.

Reply via email to