Added "change password"
authorArt Cancro <ajc@citadel.org>
Mon, 4 Jan 1999 01:18:44 +0000 (01:18 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 4 Jan 1999 01:18:44 +0000 (01:18 +0000)
webcit/ChangeLog
webcit/auth.c
webcit/child.h
webcit/graphics.c
webcit/webcit.c

index 144347380e56afbb2a9ca933fbdc8459cf0df727..c7b2af093332f5520777de5833fcd372ed0404aa 100644 (file)
@@ -4,6 +4,7 @@ Sun Jan  3 20:05:31 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
          says it's needed
        * Established that a one-to-one WebCit/Citadel correspondence will
          be required.  No big deal due to shared code segments.
+       * Added "change password"
 
 Thu Dec 31 21:53:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Final cvs commit for 1998 (an awful year, I'm glad to see it over).
index b865ab7cf019a7783af7f0e9feb58d03cbbc0450..4172c76f7bf08ebd88ec9e75d5dbbac5c1265bec 100644 (file)
@@ -379,3 +379,64 @@ void register_user(void) {
                display_error("Registration information has been saved.");
                }
        }
+
+
+
+
+
+/* 
+ * display form for changing your password
+ */
+void display_changepw(void) {
+       char buf[256];
+
+       printf("HTTP/1.0 200 OK\n");
+       output_headers(1);
+
+        wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
+        wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
+        wprintf("<B>Change your password</B>\n");
+        wprintf("</FONT></TD></TR></TABLE>\n");
+
+       wprintf("<CENTER>");
+       serv_puts("MESG changepw");
+       serv_gets(buf);
+       if (buf[0]=='1') fmout(NULL);
+
+       wprintf("<FORM ACTION=\"changepw\" METHOD=\"POST\">\n");
+       wprintf("<CENTER><TABLE border><TR><TD>Enter new password:</TD>\n");
+       wprintf("<TD><INPUT TYPE=\"password\" NAME=\"newpass1\" VALUE=\"\" MAXLENGTH=\"20\"></TD></TR>\n");
+       wprintf("<TR><TD>Enter it again to confirm:</TD>\n");
+       wprintf("<TD><INPUT TYPE=\"password\" NAME=\"newpass2\" VALUE=\"\" MAXLENGTH=\"20\"></TD></TR>\n");
+       wprintf("</TABLE>\n");  
+       wprintf("<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Change\">\n");
+       wprintf("<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Cancel\">\n");
+       wprintf("</CENTER></BODY></HTML>\n");
+       wDumpContent();
+       }
+
+/*
+ * change password
+ */
+void changepw(void) {
+       char buf[256];
+       char newpass1[32], newpass2[32];
+       
+       if (strcmp(bstr("action"),"Change")) {
+               display_error("Cancelled.  Password was not changed.");
+               return;
+               }
+
+       strcpy(newpass1, bstr("newpass1"));
+       strcpy(newpass2, bstr("newpass2"));
+
+       if (strcasecmp(newpass1, newpass2)) {
+               display_error("They don't match.  Password was not changed.");
+               return;
+               }
+
+       serv_printf("SETP %s", newpass1);
+       serv_gets(buf);
+       if (buf[0]=='2') display_success(&buf[4]);
+       else display_error(&buf[4]);
+       }
index 99ec7cc192cca0888db022535f7243bf8218f24c..aa581034601f603b21d04cd9006bd727042466b6 100644 (file)
@@ -57,7 +57,8 @@ void goto_private(void);
 void zapped_list(void);
 void display_zap(void);
 void zap(void);
-void display_error(char *errormessage);
+void display_error(char *);
+void display_success(char *);
 void display_entroom(void);
 void entroom(void);
 void display_editroom(void);
@@ -83,3 +84,5 @@ void load_floorlist(void);
 void select_floor_to_edit_pic(void);
 void display_reg(int);
 void register_user(void);
+void display_changepw(void);
+void changepw(void);
index e08d7150f600d007e487ddf3ac8963a05dd1eaaa..c2e6cb8ee6e5d7d796efa9b4e1d4d6915d5ffcd6 100644 (file)
@@ -77,9 +77,8 @@ void do_graphics_upload(char *upl_cmd) {
 
        serv_puts("UCLS 1");
        serv_gets(buf);
-       /* FIX display something other than an error if it's ok */
        if (buf[0] != 'x') {
-               display_error(&buf[4]);
+               display_success(&buf[4]);
                return;
                }
        }
index 749dcb7a69de31aefa399e3dd12dab0ab3fff060..551b13c36340747bb58fda911ec5995b02ba121e 100644 (file)
@@ -426,20 +426,27 @@ void output_image() {
 
 
 /*
- * Convenience function to display a page containing only an error string
+ * Convenience functions to display a page containing only a string
  */
-void display_error(char *errormessage) {
+void convenience_page(char *titlebarcolor, char *titlebarmsg, char *messagetext) {
         printf("HTTP/1.0 200 OK\n");
         output_headers(1);
-        wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
+        wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=%s><TR><TD>", titlebarcolor);
         wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
-        wprintf("<B>Error</B>\n");
+        wprintf("<B>%s</B>\n", titlebarmsg);
         wprintf("</FONT></TD></TR></TABLE><BR>\n");
-       escputs(errormessage);
+       escputs(messagetext);
         wprintf("</BODY></HTML>\n");
         wDumpContent();
        }
 
+void display_error(char *errormessage) {
+       convenience_page("770000", "Error", errormessage);
+       }
+
+void display_success(char *successmessage) {
+       convenience_page("007700", "OK", successmessage);
+       }
 
 
 
@@ -584,7 +591,6 @@ void session_loop(void) {
                        }
                }
 
-       /* FIX unfix etc. here's where the addurls() WAS... */
        if (!strcasecmp(action, "static")) {
                strcpy(buf, &cmd[12]);
                for (a=0; a<strlen(buf); ++a) if (isspace(buf[a])) buf[a]=0;
@@ -814,6 +820,14 @@ void session_loop(void) {
                register_user();
                }
 
+       else if (!strcasecmp(action, "display_changepw")) {
+               display_changepw();
+               }
+
+       else if (!strcasecmp(action, "changepw")) {
+               changepw();
+               }
+
        /* When all else fails... */
        else {
                printf("HTTP/1.0 200 OK\n");