ntlm.h
上传用户:xxcykj
上传日期:2007-01-04
资源大小:727k
文件大小:2k
源码类别:

Email客户端

开发平台:

Unix_Linux

  1. typedef unsigned short uint16;
  2. typedef unsigned int   uint32;
  3. typedef unsigned char  uint8;
  4. /* 
  5.  * These structures are byte-order dependant, and should not
  6.  * be manipulated except by the use of the routines provided
  7.  */
  8. typedef struct
  9. {
  10. uint16  len;
  11. uint16  maxlen;
  12. uint32  offset;
  13. }tSmbStrHeader;
  14. typedef struct
  15. {
  16. char          ident[8];
  17. uint32        msgType;
  18. uint32        flags;
  19. tSmbStrHeader    user;
  20. tSmbStrHeader    domain;
  21. uint8         buffer[1024];
  22. uint32        bufIndex;
  23. }tSmbNtlmAuthRequest;
  24. typedef struct
  25. {
  26. char          ident[8];
  27. uint32        msgType;
  28. tSmbStrHeader    uDomain;
  29. uint32        flags;
  30. uint8         challengeData[8];
  31. uint8         reserved[8];
  32. tSmbStrHeader    emptyString;
  33. uint8         buffer[1024];
  34. uint32        bufIndex;
  35. }tSmbNtlmAuthChallenge;
  36. typedef struct
  37. {
  38. char          ident[8];
  39. uint32        msgType;
  40. tSmbStrHeader    lmResponse;
  41. tSmbStrHeader    ntResponse;
  42. tSmbStrHeader    uDomain;
  43. tSmbStrHeader    uUser;
  44. tSmbStrHeader    uWks;
  45. tSmbStrHeader    sessionKey;
  46. uint32        flags;
  47. uint8         buffer[1024];
  48. uint32        bufIndex;
  49. }tSmbNtlmAuthResponse;
  50. /* public: */
  51. #define SmbLength(ptr) (((ptr)->buffer - (uint8*)(ptr)) + (ptr)->bufIndex)
  52. extern void dumpSmbNtlmAuthRequest(FILE *fp, tSmbNtlmAuthRequest *request);
  53. extern void dumpSmbNtlmAuthChallenge(FILE *fp, tSmbNtlmAuthChallenge *challenge);
  54. extern void dumpSmbNtlmAuthResponse(FILE *fp, tSmbNtlmAuthResponse *response);
  55. extern void buildSmbNtlmAuthRequest(tSmbNtlmAuthRequest *request, char *user, char *domain);
  56. extern void buildSmbNtlmAuthResponse(tSmbNtlmAuthChallenge *challenge, tSmbNtlmAuthResponse *response, char *user, char *password);