X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fauth.c;h=e2b8390e5218575b1ca69b1502aebdd1421542ab;hb=eb3066c0522617c7c5212e0e1508e03c9a87e1e5;hp=6c71b9aeb420665ff4bd55f1e6d36c713fb364cc;hpb=814d4bec141c8374ef72a60aeeded0d696483c5e;p=citadel.git diff --git a/webcit/auth.c b/webcit/auth.c index 6c71b9aeb..e2b8390e5 100644 --- a/webcit/auth.c +++ b/webcit/auth.c @@ -1,21 +1,15 @@ /* * These functions handle authentication of users to a Citadel server. * - * Copyright (c) 1996-2011 by the citadel.org team + * Copyright (c) 1996-2012 by the citadel.org team * - * This program is open source software. You can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. + * This program is open source software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "webcit.h" @@ -51,7 +45,7 @@ void initialize_axdefs(void) { axdefs[5] = _("Preferred User"); /* chief */ - axdefs[6] = _("Aide"); + axdefs[6] = _("Admin"); } @@ -433,16 +427,10 @@ void do_welcome(void) if (!setup_wizard) { int len; sprintf(wizard_filename, "setupwiz.%s.%s", - ctdlhost, ctdlport); - len = strlen(wizard_filename); - for (i=0; ikillthis = 1; /* close() of citadel socket will be done by do_housekeeping() */ @@ -511,46 +498,8 @@ void do_logout(void) /* Calling output_headers() this way causes the cookies to be un-set */ output_headers(1, 1, 0, 1, 0, 0); - - /* For sites in guest mode, redirect to the landing page after we're logged out */ - if (WC->serv_info->serv_supports_guest) { - wc_printf(" " - ); - } - - wc_printf("
"); - wc_printf("
"); - wc_printf("
"); - wc_printf(_("Log off")); - wc_printf("
"); - serv_puts("MESG goodbye"); - serv_getln(buf, sizeof buf); - - if (WCC->serv_sock >= 0) { - if (buf[0] == '1') { - fmout("'CENTER'"); - } else { - wc_printf("Goodbye\n"); - } - } - else { - wc_printf(_("This program was unable to connect or stay " - "connected to the Citadel server. Please report " - "this problem to your system administrator.") - ); - wc_printf("%s", - _("Read More...")); - } - - wc_printf("
\n"); - if (WC->serv_info->serv_supports_guest) { + do_template("logout"); + if ((WCC->serv_info != NULL) && WCC->serv_info->serv_supports_guest) { display_default_landing_page(); return; } @@ -774,62 +723,6 @@ void display_reg(int during_login) } - -/* - * display form for changing your password - */ -void display_changepw(void) -{ - wcsession *WCC = WC; - WCTemplputParams SubTP; - char buf[SIZ]; - StrBuf *Buf; - output_headers(1, 1, 1, 0, 0, 0); - - Buf = NewStrBufPlain(_("Change your password"), -1); - memset(&SubTP, 0, sizeof(WCTemplputParams)); - SubTP.Filter.ContextType = CTX_STRBUF; - SubTP.Context = Buf; - DoTemplate(HKEY("box_begin"), NULL, &SubTP); - - FreeStrBuf(&Buf); - - if (StrLength(WCC->ImportantMsg) > 0) { - wc_printf("" - "%s
\n", ChrPtr(WCC->ImportantMsg)); - FlushStrBuf(WCC->ImportantMsg); - } - - serv_puts("MESG changepw"); - serv_getln(buf, sizeof buf); - if (buf[0] == '1') { - fmout("CENTER"); - } - - wc_printf("
\n"); - wc_printf("\n", WC->nonce); - wc_printf("\n"); - wc_printf("\n"); - wc_printf("
"); - wc_printf(_("Enter new password:")); - wc_printf(""); - wc_printf("
"); - wc_printf(_("Enter it again to confirm:")); - wc_printf(""); - wc_printf("
\n"); - - wc_printf("
\n"); - wc_printf("", _("Change password")); - wc_printf(" "); - wc_printf("\n", _("Cancel")); - wc_printf("
\n"); - wc_printf("
\n"); - - do_template("box_end"); - wDumpContent(1); -} - /* * change password * if passwords match, propagate it to citserver. @@ -850,13 +743,13 @@ void changepw(void) if (strcasecmp(newpass1, newpass2)) { AppendImportantMessage(_("They don't match. Password was not changed."), -1); - display_changepw(); + do_template("menu_change_pw"); return; } if (IsEmptyStr(newpass1)) { AppendImportantMessage(_("Blank passwords are not allowed."), -1); - display_changepw(); + do_template("menu_change_pw"); return; } @@ -877,7 +770,7 @@ void changepw(void) display_main_menu(); } else { - display_changepw(); + do_template("menu_change_pw"); } FreeStrBuf(&Line); } @@ -956,11 +849,6 @@ void CheckAuthBasic(ParsedHttpHdrs *hdr) */ StrBufAppendBufPlain(hdr->HR.plainauth, HKEY(":"), 0); StrBufAppendBuf(hdr->HR.plainauth, hdr->HR.user_agent, 0); - hdr->HR.SessionKey = hashlittle(SKEY(hdr->HR.plainauth), 89479832); -/* - syslog(1, "CheckAuthBasic: calculated sessionkey %ld\n", - hdr->HR.SessionKey); -*/ } @@ -1054,7 +942,6 @@ InitModule_AUTH WebcitAddUrlHandler(HKEY("validate"), "", 0, validate, 0); WebcitAddUrlHandler(HKEY("do_welcome"), "", 0, do_welcome, 0); WebcitAddUrlHandler(HKEY("display_reg"), "", 0, _display_reg, 0); - WebcitAddUrlHandler(HKEY("display_changepw"), "", 0, display_changepw, 0); WebcitAddUrlHandler(HKEY("changepw"), "", 0, changepw, 0); WebcitAddUrlHandler(HKEY("termquit"), "", 0, do_logout, 0); WebcitAddUrlHandler(HKEY("do_logout"), "", 0, do_logout, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);