* Added "validate users"
authorArt Cancro <ajc@citadel.org>
Wed, 30 Dec 1998 04:39:01 +0000 (04:39 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 30 Dec 1998 04:39:01 +0000 (04:39 +0000)
webcit/ChangeLog
webcit/auth.c
webcit/child.h
webcit/webcit.c
webcit/webcit.h

index b4234531365f451e50d724f1f1074e08d1d90008..b7574632ce88467addbda5094fd3b5645240bda9 100644 (file)
@@ -1,6 +1,7 @@
 Tue Dec 29 23:25:50 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Fixed a bug in the room banner display code
        * Added "delete room"
+       * Added "validate users"
 
 Mon Dec 28 00:26:01 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Added "edit room info file"
index 3d63c4ed36a4aa4a80fb65adde26114ac1c179ba..9f66fb8f9c3d8e78e6fc73331d2c3ce866320a7e 100644 (file)
 #include "webcit.h"
 #include "child.h"
 
-
+char *axdefs[] = {
+       "Deleted",
+       "New User",
+       "Problem User",
+       "Local User",
+       "Network User",
+       "Preferred User",
+       "Aide"
+       };
 
 /*
  * Display the login screen
@@ -188,3 +196,73 @@ void do_logout(void) {
        serv_puts("QUIT");
        exit(0);
        }
+
+
+
+
+
+/* 
+ * validate new users
+ */
+void validate(void) {
+       char cmd[256];
+       char user[256];
+       char buf[256];
+       int a;
+
+       printf("HTTP/1.0 200 OK\n");
+       output_headers(1);
+
+       strcpy(buf,bstr("user"));
+       if (strlen(buf)>0) if (strlen(bstr("axlevel"))>0) {
+               serv_printf("VALI %s|%s",buf,bstr("axlevel"));
+               serv_gets(buf);
+               if (buf[0]!='2') {
+                       wprintf("<EM>%s</EM><BR>\n", &buf[4]);
+                       }
+               }
+       
+       serv_puts("GNUR");
+       serv_gets(buf);
+
+       if (buf[0]!='3') {
+               wprintf("<EM>%s</EM><BR></BODY></HTML>\n", &buf[4]);
+               wDumpContent();
+               return;
+               }
+
+       strcpy(user,&buf[4]);
+       serv_printf("GREG %s",user);
+       serv_gets(cmd);
+       if (cmd[0]=='1') {
+               a = 0;
+               do {
+                       serv_gets(buf);
+                       ++a;
+                       if (a==1) wprintf("User #%s<BR><H1>%s</H1>",
+                               buf,&cmd[4]);
+                       if (a==2) wprintf("PW: %s<BR>\n",buf);
+                       if (a==3) wprintf("%s<BR>\n",buf);
+                       if (a==4) wprintf("%s<BR>\n",buf);
+                       if (a==5) wprintf("%s, ",buf);
+                       if (a==6) wprintf("%s ",buf);
+                       if (a==7) wprintf("%s<BR>\n",buf);
+                       if (a==8) wprintf("%s<BR>\n",buf);
+                       if (a==9) wprintf("Current access level: %d (%s)\n",
+                               atoi(buf),axdefs[atoi(buf)]);
+                       } while(strcmp(buf,"000"));
+               }
+       else {
+               wprintf("<H1>%s</H1>%s<BR>\n",user,&cmd[4]);
+               }
+
+       wprintf("<CENTER><TABLE border><CAPTION>Select access level:");
+       wprintf("</CAPTION><TR>");
+       for (a=0; a<=6; ++a) {
+               wprintf(
+               "<TD><A HREF=\"/validate&user=%s&axlevel=%d\">%s</A></TD>\n",
+                       urlesc(user), a, axdefs[a]);
+               }
+       wprintf("</TR></TABLE><CENTER><BR>\n");
+       wDumpContent();
+       }
index 9fdc0abbc910794162390de30be35fd274084bbe..fa68906ca247669ff63408024fd1ccf6001cd5ce 100644 (file)
@@ -69,3 +69,4 @@ void display_edit(char *description, char *check_cmd,
 void gotoroom(char *gname, int display_name);
 void confirm_delete_room(void);
 void delete_room(void);
+void validate(void);
index 75fab265e9474beb1f8142d896eba745906298e9..0ec817ec4623974988e3b5174dfde2dbff283b2b 100644 (file)
@@ -749,6 +749,10 @@ fclose(fp);
                delete_room();
                }
 
+       else if (!strcasecmp(action, "validate")) {
+               validate();
+               }
+
        /* When all else fails... */
        else {
                printf("HTTP/1.0 200 OK\n");
index 7213592a566bea6ca2606aa3ce5e386313a6dd73..d1740b441680106f1fec5e9d7c6304bd23930cc1 100644 (file)
@@ -73,3 +73,4 @@ extern struct serv_info serv_info;
 extern unsigned room_flags;
 extern char ugname[128];
 extern long uglsn;
+extern char *axdefs[];