Re: How do I switch back to account authentication?

2009-01-27 Thread Jeremy G

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?

2009-01-26 Thread Christian Hammond

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?

2009-01-26 Thread Jeremy G

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?

2009-01-26 Thread Jeremy G

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?

2009-01-26 Thread Christian Hammond
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