3b2f2b6a075942048a3acac89af44e332a326b7b
galt
  Thu Jun 13 16:23:19 2019 -0700
Enable > 4GB uploads by increasing maximium size of dyString to long (64 bits size) instead of int (32 bits size). This limit was impeding uploads artificially at 4GB.

diff --git src/hg/encode3/encodeDataWarehouse/edwWebAuthLogin/edwWebAuthLogin.c src/hg/encode3/encodeDataWarehouse/edwWebAuthLogin/edwWebAuthLogin.c
index b5e5008..e2aa797 100644
--- src/hg/encode3/encodeDataWarehouse/edwWebAuthLogin/edwWebAuthLogin.c
+++ src/hg/encode3/encodeDataWarehouse/edwWebAuthLogin/edwWebAuthLogin.c
@@ -54,31 +54,31 @@
 {
 /* Get assertion out of CGI variables we were passed.  Put it and pointer to self
  * into cgi variables to pass to assertion checker. */
 struct dyString *dyCgi = dyStringNew(0);
 char *assertion=cgiString("assertion");
 cgiEncodeIntoDy("assertion", assertion, dyCgi);
 char *server = mustGetEnv("SERVER_NAME");
 char *port = mustGetEnv("SERVER_PORT");
 char serverAndPort[2+strlen(server)+strlen(port)];
 safef(serverAndPort, sizeof(serverAndPort), "%s:%s", server, port);
 cgiEncodeIntoDy("audience", serverAndPort, dyCgi);
 
 /* Pass a little CGI post request to Persona including our CGI vars. */
 struct dyString *dyHeader = dyStringNew(0);
 dyStringPrintf(dyHeader, "Content-type: application/x-www-form-urlencoded\r\n");
-dyStringPrintf(dyHeader, "Content-length: %d\r\n", dyCgi->stringSize);
+dyStringPrintf(dyHeader, "Content-length: %ld\r\n", dyCgi->stringSize);
 int sd = netOpenHttpExt(personaUrl, "POST", dyHeader->string);
 mustWriteFd(sd, dyCgi->string, dyCgi->stringSize);
 
 /* Get Persona's response up through end of HTTP header */
 /* There's probably a simpler way to do this.  We don't need the forwarding. */
 char *newUrl = NULL;
 int newSd = 0;
 if (!netSkipHttpHeaderLinesHandlingRedirect(sd, personaUrl, &newSd, &newUrl))
     errAbort("%s didn't give a good http header", personaUrl);
 if (newUrl != NULL)
     {
     sd = newSd;
     freeMem(newUrl); 
     }