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)