4b5cd61950725b446645ab7276dd60cb3765d8e8 galt Mon Feb 10 12:30:20 2014 -0800 initial work on creating a random session key for greater securiy of cart data diff --git src/hg/lib/cart.c src/hg/lib/cart.c index db83953..99d36e7 100644 --- src/hg/lib/cart.c +++ src/hg/lib/cart.c @@ -190,32 +190,33 @@ return cdb; } } struct cartDb *loadDb(struct sqlConnection *conn, char *table, int id, boolean *found) /* Load bits from database and save in hash. */ { struct cartDb *cdb; char query[256]; boolean result = TRUE; cdb = cartDbLoadFromId(conn, table, id); if (!cdb) { result = FALSE; - sqlSafef(query, sizeof(query), "INSERT %s VALUES(0,\"\",0,now(),now(),0)", - table); + sqlSafef(query, sizeof(query), "INSERT %s VALUES(0,'',0,now(),now(),0%-s)", + table, + cartDbHasSessionKey(conn, table) ? ",''" : ""); sqlUpdate(conn, query); id = sqlLastAutoId(conn); if ((cdb = cartDbLoadFromId(conn,table,id)) == NULL) errAbort("Couldn't get cartDb for id=%d right after loading. " "MySQL problem??", id); } *found = result; return cdb; } void cartExclude(struct cart *cart, char *var) /* Exclude var from persistent storage. */ { hashAdd(cart->exclude, var, NULL); }