boolean cartDbUseSessionKey() /* Check settings and and state to determine if sessionKey is in use */ { static boolean initialized = FALSE; static boolean useSessionKey = FALSE; if (!initialized) { initialized = TRUE; char *sessionKey = cfgOption2("browser", "sessionKey"); if (!sessionKey) sessionKey = "on"; // DEFAULT but this might change to another value if (sameString(sessionKey, "on")) { useSessionKey = TRUE; struct sqlConnection *conn = cartDefaultConnector(); boolean userDbHasSessionKey = cartDbHasSessionKey(conn, userDbTable()); boolean sessionDbHasSessionKey = cartDbHasSessionKey(conn, sessionDbTable()); if ( ! (userDbHasSessionKey && sessionDbHasSessionKey) ) { //errAbort("brower.sessionKey=on but userDb and sessionDb are missing the sessionKey field."); // AUTO-UPGRADE tables to add missing sessionKey field here. if (!userDbHasSessionKey) { autoUpgradeTableAddColumn(conn, userDbTable(), "sessionKey", "varchar(255)", TRUE, "''"); userDbInitialized = FALSE; userDbHasSessionKey = cartDbHasSessionKey(conn, userDbTable()); } if (!sessionDbHasSessionKey) { autoUpgradeTableAddColumn(conn, sessionDbTable(), "sessionKey", "varchar(255)", TRUE, "''"); sessionDbInitialized = FALSE; sessionDbHasSessionKey = cartDbHasSessionKey(conn, sessionDbTable()); } if ( ! (userDbHasSessionKey && sessionDbHasSessionKey) ) useSessionKey = FALSE; } cartDefaultDisconnector(&conn); } else if (sameString(sessionKey, "off")) { useSessionKey = FALSE; } else if (sameString(sessionKey, "autodetect")) { errAbort("brower.sessionKey=autodetect has not implemented yet."); // TODO } } return useSessionKey; }
static char *getGenomeSpaceConfig(char *variable) /* Read genomeSpace config setting or abort if not found */ { char *value = cfgOption2("genomeSpace", variable); return value; }