X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fopenid.c;fp=webcit%2Fopenid.c;h=0000000000000000000000000000000000000000;hb=76a0f8571de023fe6bd20390174a2302e0a0b982;hp=ca71d6793c51ab72ebae517599022a92d599e618;hpb=50511759c152f4ca2e22fb39a9bf31fc9f9d916d;p=citadel.git diff --git a/webcit/openid.c b/webcit/openid.c deleted file mode 100644 index ca71d6793..000000000 --- a/webcit/openid.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * 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, 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. - */ - -#include "webcit.h" -#include "webserver.h" - -/* - * Display the OpenIDs associated with an account - */ -void display_openids(void) -{ - wcsession *WCC = WC; - char buf[1024]; - int bg = 0; - - output_headers(1, 1, 1, 0, 0, 0); - - do_template("box_begin_1"); - StrBufAppendBufPlain(WCC->WBuf, _("Manage Account/OpenID Associations"), -1, 0); - do_template("box_begin_2"); - - if (WCC->serv_info->serv_supports_openid) { - - wc_printf(""); - - serv_puts("OIDL"); - serv_getln(buf, sizeof buf); - if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { - bg = 1 - bg; - wc_printf("", (bg ? "even" : "odd")); - wc_printf("\n"); - } - - wc_printf("
"); - escputs(buf); - wc_printf(""); - wc_printf("", - _("Do you really want to delete this OpenID?")); - wc_printf("%s", _("(delete)")); - wc_printf("

\n"); - - wc_printf("
\n"); - wc_printf("\n", WCC->nonce); - wc_printf(_("Add an OpenID: ")); - wc_printf("\n"); - wc_printf("" - "
\n", _("Attach")); - } - - else { - wc_printf(_("%s does not permit authentication via OpenID."), ChrPtr(WCC->serv_info->serv_humannode)); - } - - do_template("box_end"); - wDumpContent(2); -} - - -/* - * Attempt to attach an OpenID to an existing, logged-in account - */ -void openid_attach(void) { - char buf[4096]; - - if (havebstr("attach_button")) { - - syslog(LOG_DEBUG, "Attempting to attach %s\n", bstr("openid_url")); - - snprintf(buf, sizeof buf, - "OIDS %s|%s/finalize_openid_login?attach_existing=1|%s", - bstr("openid_url"), - ChrPtr(site_prefix), - ChrPtr(site_prefix) - ); - - serv_puts(buf); - serv_getln(buf, sizeof buf); - if (buf[0] == '2') { - syslog(LOG_DEBUG, "OpenID server contacted; redirecting to %s\n", &buf[4]); - http_redirect(&buf[4]); - return; - } - else { - syslog(LOG_DEBUG, "OpenID attach failed: %s\n", &buf[4]); - } - } - - /* If we get to this point then something failed. */ - display_openids(); -} - - -/* - * Detach an OpenID from the currently logged-in account - */ -void openid_detach(void) { - StrBuf *Line; - - if (havebstr("id_to_detach")) { - serv_printf("OIDD %s", bstr("id_to_detach")); - Line = NewStrBuf(); - StrBuf_ServGetln(Line); - GetServerStatusMsg(Line, NULL, 1, 2); - FreeStrBuf(&Line); - } - - display_openids(); -} - -void -InitModule_OPENID -(void) -{ - WebcitAddUrlHandler(HKEY("display_openids"), "", 0, display_openids, 0); - WebcitAddUrlHandler(HKEY("openid_attach"), "", 0, openid_attach, 0); - WebcitAddUrlHandler(HKEY("openid_detach"), "", 0, openid_detach, 0); -}