Index: helpers/basic_auth/winbind/wb_basic_auth.c
===================================================================
RCS file: /cvsroot/squid/squid/helpers/basic_auth/winbind/wb_basic_auth.c,v
retrieving revision 1.3
diff -u -p -r1.3 wb_basic_auth.c
--- helpers/basic_auth/winbind/wb_basic_auth.c	1 Jul 2002 16:06:39 -0000	1.3
+++ helpers/basic_auth/winbind/wb_basic_auth.c	1 Jul 2002 18:35:27 -0000
@@ -28,94 +28,118 @@
 #include "winbind_nss_config.h"
 #include "winbindd_nss.h"
 
-char debug_enabled=1;
+char debug_enabled=0;
 char *myname;
 pid_t mypid;
 
-NSS_STATUS winbindd_request(int req_type, 
-														struct winbindd_request *request,
-														struct winbindd_response *response);
+NSS_STATUS winbindd_request(int req_type,
+			    struct winbindd_request *request,
+			    struct winbindd_response *response);
 		 
 
-void do_authenticate(char *user, char *pass) {
-	struct winbindd_request request;
-	struct winbindd_response response;
-	NSS_STATUS winbindd_result;
+void do_authenticate(char *user, char *pass)
+{
+    struct winbindd_request request;
+    struct winbindd_response response;
+    NSS_STATUS winbindd_result;
 	
-	memset(&request,0,sizeof(struct winbindd_request));
-	memset(&response,0,sizeof(struct winbindd_response));
+    memset(&request,0,sizeof(struct winbindd_request));
+    memset(&response,0,sizeof(struct winbindd_response));
 
-	
-	strncpy(request.data.auth.user,user,sizeof(fstring)-1);
-	strncpy(request.data.auth.pass,pass,sizeof(fstring)-1);
+    strncpy(request.data.auth.user,user,sizeof(fstring)-1);
+    strncpy(request.data.auth.pass,pass,sizeof(fstring)-1);
 
-	winbindd_result = winbindd_request(WINBINDD_PAM_AUTH,
-																		 &request, &response);
-	debug("winbindd result: %d\n",winbindd_result);
-
-	if (winbindd_result==NSS_STATUS_SUCCESS) {
-		SEND("OK");
-	} else {
-		SEND("ERR");
-	}
+    winbindd_result = winbindd_request(WINBINDD_PAM_AUTH,
+	&request, &response);
+    debug("winbindd result: %d\n",winbindd_result);
+
+    if (winbindd_result==NSS_STATUS_SUCCESS) {
+	SEND("OK");
+    } else {
+	SEND("ERR");
+    }
 
-	return;												/* useless */
+    return;		/* useless */
 }
 
-void manage_request(void) {
-  char buf[BUFFER_SIZE+1];
-	int length;
-	char *c, *user, *pass;
+
+void
+process_options(int argc, char *argv[])
+{
+    int opt;
+
+    while (-1 != (opt = getopt(argc, argv, "d"))) {
+	switch (opt) {
+	case 'd':
+	    debug_enabled = 1;
+	    break;
+	default:
+	    warn("Unknown option: -%c. Exiting\n", opt);
+	    exit(1);
+	    break;		/* not reached */
+	}
+    }
+    return;
+}
+
+
+void manage_request(void)
+{
+    char buf[BUFFER_SIZE+1];
+    int length;
+    char *c, *user, *pass;
   
-  if (fgets(buf, BUFFER_SIZE, stdin) == NULL) {
-    warn("fgets() failed! dying..... errno=%d (%s)\n", errno,
-          strerror(errno));
-    exit(1);    /* BIIG buffer */
-  }
+    if (fgets(buf, BUFFER_SIZE, stdin) == NULL) {
+	warn("fgets() failed! dying..... errno=%d (%s)\n", errno,
+	    strerror(errno));
+	exit(1);    /* BIIG buffer */
+    }
 	
-  c=memchr(buf,'\n',BUFFER_SIZE);
-  if (c) {
-    *c='\0';
-		length=c-buf;
-	}
-  else {
-    warn("No newline in '%s'. Dying.\n",buf);
-		exit(1);
-	}
+    c=memchr(buf,'\n',BUFFER_SIZE);
+    if (c) {
+	*c='\0';
+	length=c-buf;
+    } else {
+	warn("No newline in '%s'. Dying.\n",buf);
+	exit(1);
+    }
   
-  debug("Got '%s' from squid (length: %d).\n",buf,length);
-	user=buf;
-
-	pass=memchr(buf,' ',length);
-	if (!pass) {
-		warn("Password not found. Denying access\n");
-		SEND("ERR");
-		return;
-	}
-	*pass='\0';
-	pass++;
+    debug("Got '%s' from squid (length: %d).\n",buf,length);
+    user=buf;
 
-	do_authenticate(user,pass);
+    pass=memchr(buf,' ',length);
+    if (!pass) {
+	warn("Password not found. Denying access\n");
+	SEND("ERR");
+	return;
+    }
+    *pass='\0';
+    pass++;
 
+    do_authenticate(user,pass);
 }
 
-int main (int argc, char ** argv) {
-	if (argc > 0) {								/* should always be true */
-		myname=strrchr(argv[0],'/');
-		if (myname==NULL)
-			myname=argv[0];
-	} else {
-		myname="(unknown)";
-	}
-	mypid=getpid();
-  debug("ntlm winbindd auth helper build " __DATE__ ", " __TIME__
-        " starting up...\n");
-  /* initialize FDescs */
-  setbuf(stdout, NULL);
-  setbuf(stderr, NULL);
-
-  while(1) {
-    manage_request();
-  }
-  return 0;
+
+int main (int argc, char ** argv)
+{
+    if (argc > 0) {	/* should always be true */
+	myname=strrchr(argv[0],'/');
+	if (myname==NULL)
+	    myname=argv[0];
+    } else {
+        myname="(unknown)";
+    }
+    mypid=getpid();
+    process_options(argc, argv);
+
+    debug("basic winbindd auth helper build " __DATE__ ", " __TIME__
+    " starting up...\n");
+    /* initialize FDescs */
+    setbuf(stdout, NULL);
+    setbuf(stderr, NULL);
+
+    while(1) {
+	manage_request();
+    }
+    return 0;
 }

