e2316d8ff89ed1beb085f9169c4c7ca344affb20 max Tue May 16 14:55:40 2017 -0700 Changes to hgLogin and hgSession to replace hgLogin with Apache's Basic authentication system, refs #19424, primarily motivated by CIRM but hopefully useful in other contexts diff --git src/hg/hgLogin/hgLogin.c src/hg/hgLogin/hgLogin.c index 02d51d0..fcc77df 100644 --- src/hg/hgLogin/hgLogin.c +++ src/hg/hgLogin/hgLogin.c @@ -287,42 +287,35 @@ struct dyString *getLoginCookieJS(char *userName, uint idx) /* returns javascript statements that set the cookies associated with * logging in as a particular user */ { struct dyString *result = dyStringNew(1024); struct slName *newCookies = loginLoginUser(userName, idx), *sl; for (sl = newCookies; sl != NULL; sl = sl->next) dyStringPrintf(result, " document.cookie = '%s';", sl->name); return result; } char *getReturnToURL() /* get URL from cart var returnto; if empty, make URL to hgSession on login host. */ { char *returnURL = cartUsualString(cart, "returnto", ""); -char *hgLoginHost = wikiLinkHost(); -char *cgiDir = cgiScriptDirUrl(); char returnTo[2048]; -boolean relativeLink = cfgOptionBooleanDefault("login.relativeLink", FALSE); if (!returnURL || sameString(returnURL,"")) - if (relativeLink) - // reverse proxies and all-https sites have no need for absolute links - safef(returnTo, sizeof(returnTo), "%shgSession?hgS_doMainPage=1", cgiDir); - else - safef(returnTo, sizeof(returnTo), "http%s://%s%shgSession?hgS_doMainPage=1", - cgiAppendSForHttps(), hgLoginHost, cgiDir); + safef(returnTo, sizeof(returnTo), "%shgSession?hgS_doMainPage=1", + wikiServerAndCgiDir()); else safecpy(returnTo, sizeof(returnTo), returnURL); return cloneString(returnTo); } void returnToURL(int delay) /* delay for delay mill-seconds then return to the "returnto" URL */ { char *returnURL = getReturnToURL(); jsInlineF( "setTimeout(function(){location='%s';}, %d);\n" , returnURL, delay); } static void redirectToLoginPage(char *paramStr)