]>
Commit | Line | Data |
---|---|---|
1226a468 | 1 | #include "config.h" |
7c16470c | 2 | #if HAVE_SYS_TYPES_H |
94439e4e | 3 | #include <sys/types.h> |
7c16470c AJ |
4 | #endif |
5 | #if HAVE_UNISTD_H | |
94439e4e | 6 | #include <unistd.h> |
7c16470c AJ |
7 | #endif |
8 | #if HAVE_SYSLOG_H | |
94439e4e | 9 | #include <syslog.h> |
7c16470c AJ |
10 | #endif |
11 | #include "smblib/smblib.h" | |
94439e4e | 12 | #include "valid.h" |
13 | ||
94439e4e | 14 | int |
15 | Valid_User(char *USERNAME, char *PASSWORD, char *SERVER, char *BACKUP, char *DOMAIN) | |
16 | { | |
d5f8d05f | 17 | const char *supportedDialects[] = {"PC NETWORK PROGRAM 1.0", |
0cc4a8bc A |
18 | "MICROSOFT NETWORKS 1.03", |
19 | "MICROSOFT NETWORKS 3.0", | |
20 | "LANMAN1.0", | |
21 | "LM1.2X002", | |
22 | "Samba", | |
23 | "NT LM 0.12", | |
24 | "NT LANMAN 1.0", | |
25 | NULL | |
26 | }; | |
7c16470c | 27 | SMB_Handle_Type con; |
94439e4e | 28 | |
29 | SMB_Init(); | |
30 | con = SMB_Connect_Server(NULL, SERVER, DOMAIN); | |
31 | if (con == NULL) { /* Error ... */ | |
26ac0430 AJ |
32 | con = SMB_Connect_Server(NULL, BACKUP, DOMAIN); |
33 | if (con == NULL) { | |
34 | return (NTV_SERVER_ERROR); | |
35 | } | |
94439e4e | 36 | } |
d5f8d05f | 37 | if (SMB_Negotiate(con, supportedDialects) < 0) { /* An error */ |
26ac0430 AJ |
38 | SMB_Discon(con, 0); |
39 | return (NTV_PROTOCOL_ERROR); | |
94439e4e | 40 | } |
7c16470c | 41 | if (SMB_Logon_Server(con, USERNAME, PASSWORD, NULL, 0) < 0) { |
26ac0430 AJ |
42 | SMB_Discon(con, 0); |
43 | return (NTV_LOGON_ERROR); | |
94439e4e | 44 | } |
45 | SMB_Discon(con, 0); | |
46 | return (NTV_NO_ERROR); | |
47 | } |