]> git.ipfire.org Git - thirdparty/squid.git/blame - helpers/basic_auth/MSNT/valid.cc
Remove unnecessary stub_tools dependency on String
[thirdparty/squid.git] / helpers / basic_auth / MSNT / valid.cc
CommitLineData
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 14int
15Valid_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}