]> git.ipfire.org Git - thirdparty/squid.git/blame - helpers/basic_auth/MSNT/valid.c
Major rewrite of proxy authentication to support other schemes than
[thirdparty/squid.git] / helpers / basic_auth / MSNT / valid.c
CommitLineData
94439e4e 1#include <sys/types.h>
2#include <unistd.h>
3#include <syslog.h>
4#include "smblib-priv.h"
5#include "smblib.h"
6#include "valid.h"
7
8extern int SMB_Init(void);
9extern int SMB_Logon_Server(SMB_Handle_Type, char *, char *);
10
11
12int
13Valid_User(char *USERNAME, char *PASSWORD, char *SERVER, char *BACKUP, char *DOMAIN)
14{
15 char *SMB_Prots[] =
16 {"PC NETWORK PROGRAM 1.0",
17 "MICROSOFT NETWORKS 1.03",
18 "MICROSOFT NETWORKS 3.0",
19 "LANMAN1.0",
20 "LM1.2X002",
21 "Samba",
22 "NT LM 0.12",
23 "NT LANMAN 1.0",
24 NULL};
25 void *con;
26
27 SMB_Init();
28 con = SMB_Connect_Server(NULL, SERVER, DOMAIN);
29 if (con == NULL) { /* Error ... */
30 con = SMB_Connect_Server(NULL, BACKUP, DOMAIN);
31 if (con == NULL) {
32 return (NTV_SERVER_ERROR);
33 }
34 }
35 if (SMB_Negotiate(con, SMB_Prots) < 0) { /* An error */
36 SMB_Discon(con, 0);
37 return (NTV_PROTOCOL_ERROR);
38 }
39 if (SMB_Logon_Server(con, USERNAME, PASSWORD) < 0) {
40 SMB_Discon(con, 0);
41 return (NTV_LOGON_ERROR);
42 }
43 SMB_Discon(con, 0);
44 return (NTV_NO_ERROR);
45}