improved smb_login error codes

pull/4/merge
lanjelot 10 years ago
parent effdbbd291
commit 766d92735e

@ -2396,20 +2396,23 @@ class SMB_login(TCP_Cache):
self.reset()
except impacket_smb.SessionError as e:
code = '%04x%04x' % (e.error_class, e.error_code)
error_class = e.error_classes.get(e.error_class, None) # -> ("ERRNT", nt_msgs)
if error_class:
class_str = error_class[0] # "ERRNT"
error_tuple = error_class[1].get(e.error_code, None) # -> ("STATUS_LOGON_FAILURE","Logon failure: unknown user name or bad password.") or None
if error_tuple:
mesg = '%s %s' % error_tuple
else:
mesg = '%s' % class_str
if e.error_class == 0:
code = '%04x' % e.error_code
mesg = self.error_map.get(e.error_code & 0x0000fffff, '')
else:
mesg = self.error_map.get(e.error_code & 0x0000fffff, '')
code = '%x%04x' % (e.error_class, e.error_code)
error_class = e.error_classes.get(e.error_class, None) # -> ("ERRNT", nt_msgs)
if error_class:
class_str = error_class[0] # "ERRNT"
error_tuple = error_class[1].get(e.error_code, None) # -> ("STATUS_LOGON_FAILURE","Logon failure: unknown user name or bad password.") or None
if error_tuple:
mesg = '%s %s' % error_tuple
else:
mesg = '%s' % class_str
if persistent == '0':
self.reset()

Loading…
Cancel
Save