Re: How do I switch back to account authentication?
On Jan 26, 6:33 pm, Christian Hammond chip...@chipx86.com wrote: Funny, I don't remember other people running into this, but I can see how one might... We probably should just have the imports for nis and crypt reside in the classes that use them, and then just catch the ImportError and do the right thing if it doesn't exist. Yeah, I think that would be a good idea. Maybe everyone using ReviewBoard on Windows is using builtin authentication? Or maybe that's pretty unlikely... can you even use ActiveDirectory on Linux? I got past that point by ripping out the NIS authentication from backends.py, but discovered a bug in the AD authentication: except ldap.SERVER_DOWN: logging.warning('Active Directory: Domain controller is down - host: %s port: %s' % (host, port)) continue Neither host nor port are valid in that scope. I would send a patch, but I don't really know what I should be printing out. I'll have to get help from our admin to figure out how to setup ActiveDirectory properly. Jeremy Christian -- Christian Hammond - chip...@chipx86.com VMware, Inc. On Mon, Jan 26, 2009 at 5:30 PM, Jeremy G jeremy.g...@gmail.com wrote: Having fun replying to myself here... http://www.python.org/doc/2.5.2/lib/module-nis.html 16.14 nis -- Interface to Sun's NIS (Yellow Pages) Availability: UNIX. The nis module gives a thin wrapper around the NIS library, useful for central administration of several hosts. Because NIS exists only on Unix systems, this module is only available for Unix. I wonder if that code can be conditionally excluded when running on Windows? I am tempted to install an SVN version of RB and edit the backends.py to take out the NIS-style authentication since I think it has no hope of working on Windows. Jeremy On Jan 26, 6:17 pm, Jeremy G jeremy.g...@gmail.com wrote: I found an apparent drop-in replacement for crypt called fcrypt.py, but had to rename it. That got me past the first error, but now I'm getting the same thing for module 'nis'. File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in get_backends 27. backends.append(load_backend(backend_path)) File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in load_backend 14. raise ImproperlyConfigured, 'Error importing authentication backend %s: %s' % (module, e) Exception Type: ImproperlyConfigured at /csi_reviews/admin/ Exception Value: Error importing authentication backend reviewboard.accounts.backends: No module named nis Is the AD backend code Unix only or something along those lines? Or maybe my python-ldap install is wacky? Jeremy On Jan 26, 6:02 pm, Jeremy G jeremy.g...@gmail.com wrote: OK, that makes sense. Good call on the backup the DB approach. It looks like maybe Windows implementations of Python don't use crypt - it's POSIX only? When I just fire up my standard interpreter and try 'import crypt', I get ImportError: No module named crypt. http://mail.python.org/pipermail/python-list/2003-August/220352.html Maybe there is a problem with the Win32 build of python-ldap that I'm using in that it relies on crypt. Jeremy On Jan 26, 5:54 pm, Christian Hammond chip...@chipx86.com wrote: Normally the auth backend wouldn't prevent you from logging in, but the fact that it's missing the crypt module us probably preventing the fallback. I think before long, I'll provide special rb-site commands for modifying settings from the command line or for just resetting the auth backend setting. I know that doesn't help you today, but maybe it'll improve things for others who hit this problem. I'm not at a computer right now (typing on my iPhone) but I'll look into the crypt issue in a bit. What you could try for now is backing up the database file, make your AD changes, and restoring the file if it breaks. But, until the crypt issue is fixed, you won't be able to use AD. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Well, I managed to figure out how to edit the database to change the auth_backend back to builtin, and it's back to working. It was tough for someone that doesn't know SQL very well though. There's probably a better way that I'm missing? I would still like to get AD authentication working though. Is there a way to play around with it without affecting my admin account? I am running Python 2.5.4, installed via the standard Python.org installer. I attempted to install python-ldap with easy_install python- ldap but it was complaining about something so I used the Windows MSI installer I found above. I'm not sure where to get the crypt module from. Some random Googling
Re: How do I switch back to account authentication?
Hi Jeremy. From the exception, it sounds like you don't have the crypt module. What version of Python are you running and how did you install it? If you can look for some missing crypt model, you may be able to fix this quickly and log in again. If not, I'll work up a small set of instructions to reset your auth backend. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Hi all, I got a Review Board install up and running on Windows, which was no small feat. It was working really well, and I'm really impressed with the tool. I got a little ambitious and tried switching to Active Directory authentication, after installing python-ldap from here: http://www.osuch.org/python-ldap I don't know much about AD so there's a good chance I screwed this up. I can't login anymore. When I try as a user with my AD credentials, I just get denied. When I try as admin (which isn't a valid AD login) I get a traceback (below). Is there a way for me to manually edit the settings to go back to just normal account authorization? Or did I do something incorrectly when installing python-ldap? I can't find where the settings are kept so I assumed it's in the DB? I'm using sqlite3. Thanks very much for any help you can provide! Keep up the great work! Jeremy Possibly useful META: AUTH_TYPE None ADMIN_MEDIA_PREFIXu'/csi_reviews/media/admin/' AD_DOMAIN_CONTROLLER u'' AD_DOMAIN_NAMEu'CSI' AD_FIND_DC_FROM_DNS False AD_GROUP_NAME u'' AD_OU_NAMEu'' AD_RECURSION_DEPTHNone AD_USE_TLSFalse Environment: Request Method: POST Request URL: http://c-dev-macpro.calgaryscientific.local/csi_reviews/admin/ Django Version: 1.0.2 final Python Version: 2.5.4 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.markup', 'django.contrib.sites', 'django.contrib.sessions', 'djblets.datagrid', 'djblets.feedview', 'djblets.siteconfig', 'djblets.util', 'djblets.webapi', 'reviewboard.accounts', 'reviewboard.admin', 'reviewboard.changedescs', 'reviewboard.diffviewer', 'reviewboard.iphone', 'reviewboard.reports', 'reviewboard.reviews', 'reviewboard.scmtools', 'reviewboard.webapi', 'django_evolution'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.middleware.doc.XViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'djblets.siteconfig.middleware.SettingsMiddleware', 'reviewboard.admin.middleware.LoadSettingsMiddleware', 'djblets.log.middleware.LoggingMiddleware', 'reviewboard.admin.middleware.CheckUpdatesRequiredMiddleware') Traceback: File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \core\handlers\base.py in get_response 86. response = callback(request, *callback_args, **callback_kwargs) File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\admin\views\decorators.py in _checklogin 55. user = authenticate(username=username, password=password) File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in authenticate 34. for backend in get_backends(): File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in get_backends 27. backends.append(load_backend(backend_path)) File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in load_backend 14. raise ImproperlyConfigured, 'Error importing authentication backend %s: %s' % (module, e) Exception Type: ImproperlyConfigured at /csi_reviews/admin/ Exception Value: Error importing authentication backend reviewboard.accounts.backends: No module named crypt -- -- Christian Hammond - chip...@chipx86.com VMware, Inc. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups reviewboard group. To post to this group, send email to reviewboard@googlegroups.com To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en -~--~~~~--~~--~--~---
Re: How do I switch back to account authentication?
OK, that makes sense. Good call on the backup the DB approach. It looks like maybe Windows implementations of Python don't use crypt - it's POSIX only? When I just fire up my standard interpreter and try 'import crypt', I get ImportError: No module named crypt. http://mail.python.org/pipermail/python-list/2003-August/220352.html Maybe there is a problem with the Win32 build of python-ldap that I'm using in that it relies on crypt. Jeremy On Jan 26, 5:54 pm, Christian Hammond chip...@chipx86.com wrote: Normally the auth backend wouldn't prevent you from logging in, but the fact that it's missing the crypt module us probably preventing the fallback. I think before long, I'll provide special rb-site commands for modifying settings from the command line or for just resetting the auth backend setting. I know that doesn't help you today, but maybe it'll improve things for others who hit this problem. I'm not at a computer right now (typing on my iPhone) but I'll look into the crypt issue in a bit. What you could try for now is backing up the database file, make your AD changes, and restoring the file if it breaks. But, until the crypt issue is fixed, you won't be able to use AD. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Well, I managed to figure out how to edit the database to change the auth_backend back to builtin, and it's back to working. It was tough for someone that doesn't know SQL very well though. There's probably a better way that I'm missing? I would still like to get AD authentication working though. Is there a way to play around with it without affecting my admin account? I am running Python 2.5.4, installed via the standard Python.org installer. I attempted to install python-ldap with easy_install python- ldap but it was complaining about something so I used the Windows MSI installer I found above. I'm not sure where to get the crypt module from. Some random Googling seems to indicate that this might provide it, but I have no idea if it's the right thing or not:http://pypi.python.org/pypi/TracLDAPAuth/1.0 Thanks for your quick reply. Let me know if there's a way I can try changing the auth_backend without messing with the admin account. Jeremy On Jan 26, 5:29 pm, Christian Hammond chip...@chipx86.com wrote: Hi Jeremy. From the exception, it sounds like you don't have the crypt module. What version of Python are you running and how did you install it? If you can look for some missing crypt model, you may be able to fix this quickly and log in again. If not, I'll work up a small set of instructions to reset your auth backend. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Hi all, I got a Review Board install up and running on Windows, which was no small feat. It was working really well, and I'm really impressed with the tool. I got a little ambitious and tried switching to Active Directory authentication, after installing python-ldap from here: http://www.osuch.org/python-ldap I don't know much about AD so there's a good chance I screwed this up. I can't login anymore. When I try as a user with my AD credentials, I just get denied. When I try as admin (which isn't a valid AD login) I get a traceback (below). Is there a way for me to manually edit the settings to go back to just normal account authorization? Or did I do something incorrectly when installing python-ldap? I can't find where the settings are kept so I assumed it's in the DB? I'm using sqlite3. Thanks very much for any help you can provide! Keep up the great work! Jeremy Possibly useful META: AUTH_TYPE None ADMIN_MEDIA_PREFIX u'/csi_reviews/media/admin/' AD_DOMAIN_CONTROLLER u'' AD_DOMAIN_NAME u'CSI' AD_FIND_DC_FROM_DNS False AD_GROUP_NAME u'' AD_OU_NAME u'' AD_RECURSION_DEPTH None AD_USE_TLS False Environment: Request Method: POST Request URL:http://c-dev-macpro.calgaryscientific.local/csi_reviews/admin/ Django Version: 1.0.2 final Python Version: 2.5.4 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.markup', 'django.contrib.sites', 'django.contrib.sessions', 'djblets.datagrid', 'djblets.feedview', 'djblets.siteconfig', 'djblets.util', 'djblets.webapi', 'reviewboard.accounts', 'reviewboard.admin', 'reviewboard.changedescs', 'reviewboard.diffviewer', 'reviewboard.iphone', 'reviewboard.reports', 'reviewboard.reviews', 'reviewboard.scmtools', 'reviewboard.webapi', 'django_evolution'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.middleware.doc.XViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
Re: How do I switch back to account authentication?
Having fun replying to myself here... http://www.python.org/doc/2.5.2/lib/module-nis.html 16.14 nis -- Interface to Sun's NIS (Yellow Pages) Availability: UNIX. The nis module gives a thin wrapper around the NIS library, useful for central administration of several hosts. Because NIS exists only on Unix systems, this module is only available for Unix. I wonder if that code can be conditionally excluded when running on Windows? I am tempted to install an SVN version of RB and edit the backends.py to take out the NIS-style authentication since I think it has no hope of working on Windows. Jeremy On Jan 26, 6:17 pm, Jeremy G jeremy.g...@gmail.com wrote: I found an apparent drop-in replacement for crypt called fcrypt.py, but had to rename it. That got me past the first error, but now I'm getting the same thing for module 'nis'. File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in get_backends 27. backends.append(load_backend(backend_path)) File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in load_backend 14. raise ImproperlyConfigured, 'Error importing authentication backend %s: %s' % (module, e) Exception Type: ImproperlyConfigured at /csi_reviews/admin/ Exception Value: Error importing authentication backend reviewboard.accounts.backends: No module named nis Is the AD backend code Unix only or something along those lines? Or maybe my python-ldap install is wacky? Jeremy On Jan 26, 6:02 pm, Jeremy G jeremy.g...@gmail.com wrote: OK, that makes sense. Good call on the backup the DB approach. It looks like maybe Windows implementations of Python don't use crypt - it's POSIX only? When I just fire up my standard interpreter and try 'import crypt', I get ImportError: No module named crypt. http://mail.python.org/pipermail/python-list/2003-August/220352.html Maybe there is a problem with the Win32 build of python-ldap that I'm using in that it relies on crypt. Jeremy On Jan 26, 5:54 pm, Christian Hammond chip...@chipx86.com wrote: Normally the auth backend wouldn't prevent you from logging in, but the fact that it's missing the crypt module us probably preventing the fallback. I think before long, I'll provide special rb-site commands for modifying settings from the command line or for just resetting the auth backend setting. I know that doesn't help you today, but maybe it'll improve things for others who hit this problem. I'm not at a computer right now (typing on my iPhone) but I'll look into the crypt issue in a bit. What you could try for now is backing up the database file, make your AD changes, and restoring the file if it breaks. But, until the crypt issue is fixed, you won't be able to use AD. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Well, I managed to figure out how to edit the database to change the auth_backend back to builtin, and it's back to working. It was tough for someone that doesn't know SQL very well though. There's probably a better way that I'm missing? I would still like to get AD authentication working though. Is there a way to play around with it without affecting my admin account? I am running Python 2.5.4, installed via the standard Python.org installer. I attempted to install python-ldap with easy_install python- ldap but it was complaining about something so I used the Windows MSI installer I found above. I'm not sure where to get the crypt module from. Some random Googling seems to indicate that this might provide it, but I have no idea if it's the right thing or not:http://pypi.python.org/pypi/TracLDAPAuth/1.0 Thanks for your quick reply. Let me know if there's a way I can try changing the auth_backend without messing with the admin account. Jeremy On Jan 26, 5:29 pm, Christian Hammond chip...@chipx86.com wrote: Hi Jeremy. From the exception, it sounds like you don't have the crypt module. What version of Python are you running and how did you install it? If you can look for some missing crypt model, you may be able to fix this quickly and log in again. If not, I'll work up a small set of instructions to reset your auth backend. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Hi all, I got a Review Board install up and running on Windows, which was no small feat. It was working really well, and I'm really impressed with the tool. I got a little ambitious and tried switching to Active Directory authentication, after installing python-ldap from here: http://www.osuch.org/python-ldap I don't know much about AD so there's a good chance I screwed this up. I can't login anymore. When I try as a user with my AD credentials, I just get denied. When I try as admin (which isn't a
Re: How do I switch back to account authentication?
Funny, I don't remember other people running into this, but I can see how one might... We probably should just have the imports for nis and crypt reside in the classes that use them, and then just catch the ImportError and do the right thing if it doesn't exist. Christian -- Christian Hammond - chip...@chipx86.com VMware, Inc. On Mon, Jan 26, 2009 at 5:30 PM, Jeremy G jeremy.g...@gmail.com wrote: Having fun replying to myself here... http://www.python.org/doc/2.5.2/lib/module-nis.html 16.14 nis -- Interface to Sun's NIS (Yellow Pages) Availability: UNIX. The nis module gives a thin wrapper around the NIS library, useful for central administration of several hosts. Because NIS exists only on Unix systems, this module is only available for Unix. I wonder if that code can be conditionally excluded when running on Windows? I am tempted to install an SVN version of RB and edit the backends.py to take out the NIS-style authentication since I think it has no hope of working on Windows. Jeremy On Jan 26, 6:17 pm, Jeremy G jeremy.g...@gmail.com wrote: I found an apparent drop-in replacement for crypt called fcrypt.py, but had to rename it. That got me past the first error, but now I'm getting the same thing for module 'nis'. File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in get_backends 27. backends.append(load_backend(backend_path)) File c:\python25\lib\site-packages\django-1.0.2_final-py2.5.egg\django \contrib\auth\__init__.py in load_backend 14. raise ImproperlyConfigured, 'Error importing authentication backend %s: %s' % (module, e) Exception Type: ImproperlyConfigured at /csi_reviews/admin/ Exception Value: Error importing authentication backend reviewboard.accounts.backends: No module named nis Is the AD backend code Unix only or something along those lines? Or maybe my python-ldap install is wacky? Jeremy On Jan 26, 6:02 pm, Jeremy G jeremy.g...@gmail.com wrote: OK, that makes sense. Good call on the backup the DB approach. It looks like maybe Windows implementations of Python don't use crypt - it's POSIX only? When I just fire up my standard interpreter and try 'import crypt', I get ImportError: No module named crypt. http://mail.python.org/pipermail/python-list/2003-August/220352.html Maybe there is a problem with the Win32 build of python-ldap that I'm using in that it relies on crypt. Jeremy On Jan 26, 5:54 pm, Christian Hammond chip...@chipx86.com wrote: Normally the auth backend wouldn't prevent you from logging in, but the fact that it's missing the crypt module us probably preventing the fallback. I think before long, I'll provide special rb-site commands for modifying settings from the command line or for just resetting the auth backend setting. I know that doesn't help you today, but maybe it'll improve things for others who hit this problem. I'm not at a computer right now (typing on my iPhone) but I'll look into the crypt issue in a bit. What you could try for now is backing up the database file, make your AD changes, and restoring the file if it breaks. But, until the crypt issue is fixed, you won't be able to use AD. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Well, I managed to figure out how to edit the database to change the auth_backend back to builtin, and it's back to working. It was tough for someone that doesn't know SQL very well though. There's probably a better way that I'm missing? I would still like to get AD authentication working though. Is there a way to play around with it without affecting my admin account? I am running Python 2.5.4, installed via the standard Python.org installer. I attempted to install python-ldap with easy_install python- ldap but it was complaining about something so I used the Windows MSI installer I found above. I'm not sure where to get the crypt module from. Some random Googling seems to indicate that this might provide it, but I have no idea if it's the right thing or not: http://pypi.python.org/pypi/TracLDAPAuth/1.0 Thanks for your quick reply. Let me know if there's a way I can try changing the auth_backend without messing with the admin account. Jeremy On Jan 26, 5:29 pm, Christian Hammond chip...@chipx86.com wrote: Hi Jeremy. From the exception, it sounds like you don't have the crypt module. What version of Python are you running and how did you install it? If you can look for some missing crypt model, you may be able to fix this quickly and log in again. If not, I'll work up a small set of instructions to reset your auth backend. Christian On 1/26/09, Jeremy G jeremy.g...@gmail.com wrote: Hi all, I got a