A problem occurred in a Python script. Here is the
sequence of function calls leading up to the error, in the
order they occurred.
E:\Python26\lib\site-packages\MoinMoin\request\__init__.py
in run
(self=<MoinMoin.request.request_standalone.Request object at 0x00EE7730>)
- 1309 self.page.send_page()
- 1310 else:
- 1311 handler(self.page.page_name, self)
- 1312
- 1313 # every action that didn't use to raise MoinMoinFinish must call this now:
- handler
= <function execute at 0x00E32670>
- self
= <MoinMoin.request.request_standalone.Request object at 0x00EE7730>
- self.page
= <MoinMoin.Page.Page object at 0x02A84B10>
- self.page.page_name
= u'MyStartingPage'
E:\Python26\lib\site-packages\MoinMoin\action\recoverpass.py
in execute
(pagename=u'MyStartingPage', request=<MoinMoin.request.request_standalone.Request object at 0x00EE7730>)
- 179 if not pw_error:
- 180 u = user.User(request, user.getUserId(request, name))
- 181 if u and u.valid and u.apply_recovery_token(token, newpass):
- 182 msg = _("Your password has been changed, you can log in now.")
- 183 msg_type = 'info'
- u
= <MoinMoin.user.User at 0xeb6328 name:u'Johnnowlan' valid:1>
- u.valid
= 1
- u.apply_recovery_token
= <bound method User.apply_recovery_token of <Moin...ser.User at 0xeb6328 name:u'Johnnowlan' valid:1>>
- token
= u'1228248725-0f95c87423384b0fe78b29c1c16a2b1d22a38238'
- newpass
= u'password'
E:\Python26\lib\site-packages\MoinMoin\user.py
in apply_recovery_token
(self=<MoinMoin.user.User at 0xeb6328 name:u'Johnnowlan' valid:1>, tok=u'1228248725-0f95c87423384b0fe78b29c1c16a2b1d22a38238', newpass=u'password')
- 1004 return False
- 1005 # check hmac
- 1006 h = hmac_new(self.recoverpass_key, str(stamp)).hexdigest()
- 1007 if h != parts[1]:
- 1008 return False
- h undefined
- global
hmac_new
= <function hmac_new at 0x00CF0AB0>
- self
= <MoinMoin.user.User at 0xeb6328 name:u'Johnnowlan' valid:1>
- self.recoverpass_key
= <HIDDEN>
- builtin
str
= <type 'str'>
- stamp
= 1228248725
- ).hexdigest undefined
E:\Python26\lib\site-packages\MoinMoin\support\python_compatibility.py
in hmac_new
(key=u'e3xbsq2rh5a6zbig616og41ggmmwz2pfl7iectibmtqm39k7hzow0kj90b4gwdhx', msg='1228248725', digestmod=<built-in function openssl_sha1>)
- 85 hash_new = hashlib.new
- 86 def hmac_new(key, msg, digestmod=hashlib.sha1):
- 87 return hmac.new(key, msg, digestmod)
- 88
- 89 except (NameError, ImportError):
- global
hmac
= <module 'hmac' from 'E:\Python26\lib\hmac.pyc'>
- hmac.new
= <function new at 0x00CF08F0>
- key
= u'e3xbsq2rh5a6zbig616og41ggmmwz2pfl7iectibmtqm39k7hzow0kj90b4gwdhx'
- msg
= '1228248725'
- digestmod
= <built-in function openssl_sha1>
E:\Python26\lib\hmac.py
in new
(key=u'e3xbsq2rh5a6zbig616og41ggmmwz2pfl7iectibmtqm39k7hzow0kj90b4gwdhx', msg='1228248725', digestmod=<built-in function openssl_sha1>)
- 129 You can now feed arbitrary strings into the object using its update()
- 130 method, and can ask for the hash value at any time by calling its digest()
- 131 method.
- 132 """
- 133 return HMAC(key, msg, digestmod)
- global
HMAC
= <class hmac.HMAC at 0x00CF8510>
- key
= u'e3xbsq2rh5a6zbig616og41ggmmwz2pfl7iectibmtqm39k7hzow0kj90b4gwdhx'
- msg
= '1228248725'
- digestmod
= <built-in function openssl_sha1>
E:\Python26\lib\hmac.py
in __init__
(self=<hmac.HMAC instance at 0x00EB63A0>, key=u'e3xbsq2rh5a6zbig616og41ggmmwz2pfl7iectibmtqm39k7hzow0kj90b4gwdhx', msg='1228248725', digestmod=<built-in function openssl_sha1>)
- 70
- 71 key = key + chr(0) * (blocksize - len(key))
- 72 self.outer.update(key.translate(trans_5C))
- 73 self.inner.update(key.translate(trans_36))
- 74 if msg is not None:
- self
= <hmac.HMAC instance at 0x00EB63A0>
- self.outer
= <sha1 HASH object @ 00EE7540>
- self.outer.update
= <built-in method update of _hashlib.HASH object at 0x00EE7540>
- key
= u'e3xbsq2rh5a6zbig616og41ggmmwz2pfl7iectibmtqm39k7hzow0kj90b4gwdhx'
- key.translate
= <built-in method translate of unicode object at 0x00E88680>
- global
trans_5C
= '\\]^_XYZ[TUVWPQRSLMNOHIJKDEFG@ABC|}~\x7fxyz{tuvwpqrs...\x93\x8c\x8d\x8e\x8f\x88\x89\x8a\x8b\x84\x85\x86\x87\x80\x81\x82\x83\xbc\xbd\xbe\xbf\xb8\xb9\xba\xbb\xb4\xb5\xb6\xb7\xb0\xb1\xb2\xb3\xac\xad\xae\xaf\xa8\xa9\xaa\xab\xa4\xa5\xa6\xa7\xa0\xa1\xa2\xa3'