Logo Search packages:      
Sourcecode: ldaptor version File versions

test_smbpassword.py

00001 """
Test cases for the ldaptor.samba.smbpassword module.
"""

from twisted.trial import unittest
from ldaptor.samba import smbpassword
from ldaptor import config
import types

class TestNTHash(unittest.TestCase):
    knownValues=( # password, expected_result
      ('', '31D6CFE0D16AE931B73C59D7E0C089C0'),
      ('foo', 'AC8E657F83DF82BEEA5D43BDAF7800CC'),
      (127*'x', '25900FAB94A048BCF438615217776562'),
      (128*'x', '65681023D0CB5E7E96FF662150EF060D'),
      (129*'x', '65681023D0CB5E7E96FF662150EF060D'),
      (1000*'x', '65681023D0CB5E7E96FF662150EF060D'),
      )

    def testKnownValues(self):
      """nthash(...) gives known results"""
      for password, expected_result in self.knownValues:
          result = smbpassword.nthash(password)
          if result != expected_result:
            raise AssertionError, 'nthash(%s)=%s, expected %s' \
                  % (repr(password), repr(result), repr(expected_result))

class TestLMHash(unittest.TestCase):
    knownValues=( # password, expected_result
      ('', 'AAD3B435B51404EEAAD3B435B51404EE'),
        ('foo', '5BFAFBEBFB6A0942AAD3B435B51404EE'),
      (13*'x', '3AA62DBBEFDB676366B4159AF5A7C45C'),
      (14*'x', '3AA62DBBEFDB67633AA62DBBEFDB6763'),
      (15*'x', '3AA62DBBEFDB67633AA62DBBEFDB6763'),
      (100*'x', '3AA62DBBEFDB67633AA62DBBEFDB6763'),
        ('1234567abcdefg', '0182BD0BD4444BF8E0C510199CC66ABD'),
        ('XXXXXXXabcdefg', '3AA62DBBEFDB6763E0C510199CC66ABD'),
        ('1234567XXXXXXX', '0182BD0BD4444BF83AA62DBBEFDB6763'),
        )

    def testKnownValues(self):
      """lmhash(...) gives known results"""
        cfg = config.loadConfig()
      for password, expected_result in self.knownValues:
            cfg.set('samba', 'use-lmhash', 'no')
          disabled = smbpassword.lmhash(password)
          self.assertEquals(disabled, 32*'X',
                              "Disabled lmhash must be X's: %r" % disabled)

            cfg.set('samba', 'use-lmhash', 'yes')
          result = smbpassword.lmhash(password)
          if result != expected_result:
            raise AssertionError, 'lmhash(%s)=%s, expected %s' \
                  % (repr(password), repr(result), repr(expected_result))

Generated by  Doxygen 1.6.0   Back to index