9f7cf671abc2cf3179d3fc945129d290d87470ff galt Wed Dec 3 17:59:58 2025 -0800 Suggested by Jonathan from code review, refs #34544 diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c index 1878b8a9b0f..0df9264a79b 100644 --- src/hg/lib/trackHub.c +++ src/hg/lib/trackHub.c @@ -900,31 +900,31 @@ { if (trackDbSetting(tdb, setting)) errAbort("Forbidden setting '%s' in hub %s genome %s track %s", setting, hub->url, genome->name, tdb->track); } static void expandOneUrl(struct hash *settingsHash, char *hubUrl, char *variable) { struct hashEl *hel = hashLookup(settingsHash, variable); if (hel != NULL) { char *oldVal = hel->val; hel->val = trackHubRelativeUrl(hubUrl, oldVal); char *newPath = (char *) hel->val; - if (strchr(hubUrl, ':') && (!strchr(newPath, ':'))) + if (hasProtocol(hubUrl) && !hasProtocol(newPath)) { // allow local url with udc.localDir path prefix char *prefix = cfgOption("udc.localDir"); if (!(prefix && startsWith(prefix, newPath))) { errAbort("setting %s local URL %s not allowed with non-local host URL %s", variable, newPath, hubUrl); } } freeMem(oldVal); } } static void expandBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb) /* Expand bigDataUrls so that no longer relative to genome->trackDbFile */