e1d45caaa77d9ba916ff37e09ece4df6d54c4797 max Fri May 23 09:44:16 2025 -0700 do not run bot wait code if run from cli, no redmine diff --git src/hg/lib/cart.c src/hg/lib/cart.c index 3b17ad8f902..1a769655b32 100644 --- src/hg/lib/cart.c +++ src/hg/lib/cart.c @@ -1467,45 +1467,49 @@ struct cart *cart; struct sqlConnection *conn = cartDefaultConnector(); char *ex; boolean userIdFound = FALSE, sessionIdFound = FALSE; AllocVar(cart); cart->hash = newHash(12); cart->exclude = newHash(7); cart->userId = userId; cart->sessionId = sessionId; cart->userInfo = loadDb(conn, userDbTable(), userId, &userIdFound); cart->sessionInfo = loadDb(conn, sessionDbTable(), sessionId, &sessionIdFound); -if (sessionIdFound && !userIdFound && !cgiWasSpoofed() && cfgOptionBooleanDefault("cartTrace", FALSE)) +boolean fromCli = cgiWasSpoofed(); + +if (sessionIdFound && !userIdFound && !fromCli && cfgOptionBooleanDefault("cartTrace", FALSE)) fprintf(stderr, "HGSID_WITHOUT_COOKIE\n"); -if (((sessionId && !sessionIdFound) || !sessionId) && (!userId || !userIdFound) && cfgOptionBooleanDefault("punishInvalidHgsid", FALSE)) +if (!fromCli && + ((sessionId && !sessionIdFound) || !sessionId) && + (!userId || !userIdFound) && + cfgOptionBooleanDefault("punishInvalidHgsid", FALSE)) { fprintf(stderr, "HGSID_WAIT no sessionId and no cookie: 5 seconds penalty"); sleep(5); if (sessionId && !sessionIdFound) { fprintf(stderr, "HGSID_WAIT2 sessionId sent but invalid: 10 seconds penalty"); sleep(10); } } - if (sessionIdFound) cartParseOverHash(cart, cart->sessionInfo->contents); else if (userIdFound) cartParseOverHash(cart, cart->userInfo->contents); else { char *defaultCartContents = getDefaultCart(conn); cartParseOverHash(cart, defaultCartContents); } char when[1024]; safef(when, sizeof(when), "open %s %s", userId, sessionId); cartTrace(cart, when, conn); loadCgiOverHash(cart, oldVars);