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 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',
> > > > >> >  '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.
> >
> > > > --
> > > > --
> > > > 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to