16
#include "smblib-priv.h"
19
SMB_Handle_Type SMB_Connect_Server(void *, char *, char *);
22
Valid_User(char *username, char *password, char *server, char *backup, char *domain)
24
int pass_is_precrypted_p = 0;
25
char const *SMB_Prots[] = {
26
/* "PC NETWORK PROGRAM 1.0", */
27
/* "MICROSOFT NETWORKS 1.03", */
28
/* "MICROSOFT NETWORKS 3.0", */
33
/* "NT LANMAN 1.0", */
39
con = SMB_Connect_Server(NULL, server, domain);
40
if (con == NULL) { /* Error ... */
41
con = SMB_Connect_Server(NULL, backup, domain);
43
return (NTV_SERVER_ERROR);
46
if (SMB_Negotiate(con, SMB_Prots) < 0) { /* An error */
48
return (NTV_PROTOCOL_ERROR);
50
/* Test for a server in share level mode do not authenticate against it */
51
if (con->Security == 0) {
53
return (NTV_PROTOCOL_ERROR);
55
if (SMB_Logon_Server(con, username, password, domain, pass_is_precrypted_p) < 0) {
57
return (NTV_LOGON_ERROR);
60
return (NTV_NO_ERROR);
64
NTLM_Connect(char *server, char *backup, char *domain, char *nonce)
66
char const *SMB_Prots[] = {
67
/* "PC NETWORK PROGRAM 1.0", */
68
/* "MICROSOFT NETWORKS 1.03", */
69
/* "MICROSOFT NETWORKS 3.0", */
74
/* "NT LANMAN 1.0", */
80
con = SMB_Connect_Server(NULL, server, domain);
81
if (con == NULL) { /* Error ... */
82
con = SMB_Connect_Server(NULL, backup, domain);
87
if (SMB_Negotiate(con, SMB_Prots) < 0) { /* An error */
91
/* Test for a server in share level mode do not authenticate against it */
92
if (con->Security == 0) {
96
memcpy(nonce, con->Encrypt_Key, 8);
102
NTLM_Auth(void *handle, char *username, char *password, int flag)
104
SMB_Handle_Type con = handle;
106
if (SMB_Logon_Server(con, username, password, NULL, flag) < 0) {
107
return (NTV_LOGON_ERROR);
109
return (NTV_NO_ERROR);
113
NTLM_Disconnect(void *handle)
115
SMB_Handle_Type con = handle;