e4fa005b4083e6e9156d005040566b27a9023552
max
  Mon Jun 8 15:33:03 2015 -0700
Revert "allowing a single redirect in udc info requests, refs #12728"

This reverts commit a90b80696b95a7af02251c0206a11f7e24f3e0c3.

diff --git src/lib/udc.c src/lib/udc.c
index 9e3f913..2ab135c 100644
--- src/lib/udc.c
+++ src/lib/udc.c
@@ -378,43 +378,32 @@
     errnoAbort("udcDataViaHttpOrFtp: error reading socket");
 if (ci == NULL)
     mustCloseFd(&sd);
 else
     ci->offset += total;
 return total;
 }
 
 boolean udcInfoViaHttp(char *url, struct udcRemoteFileInfo *retInfo)
 /* Gets size and last modified time of URL
  * and returns status of HEAD GET. */
 {
 verbose(4, "checking http remote info on %s\n", url);
 struct hash *hash = newHash(0);
 int status = netUrlHead(url, hash);
-
-// dropbox always redirects once
-if (status == 302 && hashFindVal(hash, "LOCATION:"))
-    {
-    char *newUrl = cloneString((char *)hashFindVal(hash, "LOCATION:"));
-    freeHashAndVals(&hash);
-    hash = newHash(0);
-    status = netUrlHead(newUrl, hash);
-    }
-
 if (status != 200) // && status != 302 && status != 301)
     return FALSE;
-
 char *sizeString = hashFindValUpperCase(hash, "Content-Length:");
 if (sizeString == NULL)
     {
     /* try to get remote file size by an alternate method */
     long long retSize = netUrlSizeByRangeResponse(url);
     if (retSize < 0)
 	{
     	hashFree(&hash);
 	errAbort("No Content-Length: returned in header for %s, can't proceed, sorry", url);
 	}
     retInfo->size = retSize;
     }
 else
     {
     retInfo->size = atoll(sizeString);
@@ -981,31 +970,31 @@
 
         file->fdSparse = mustOpenFd(file->sparseFileName, O_RDWR);
         }
 
     }
 freeMem(afterProtocol);
 return file;
 }
 
 struct udcFile *udcFileOpen(char *url, char *cacheDir)
 /* Open up a cached file.  cacheDir may be null in which case udcDefaultDir() will be
  * used.  Abort if file doesn't exist. */
 {
 struct udcFile *udcFile = udcFileMayOpen(url, cacheDir);
 if (udcFile == NULL)
-    errAbort("UDC Couldn't open %s", url);
+    errAbort("Couldn't open %s", url);
 return udcFile;
 }
 
 
 struct slName *udcFileCacheFiles(char *url, char *cacheDir)
 /* Return low-level list of files used in cache. */
 {
 char *protocol, *afterProtocol, *colon;
 struct udcFile *file;
 udcParseUrl(url, &protocol, &afterProtocol, &colon);
 if (colon == NULL)
     return NULL;
 AllocVar(file);
 udcPathAndFileNames(file, cacheDir, protocol, afterProtocol);
 struct slName *list = NULL;