ef8bc60a174ca86469cc102d18c9a8c7d3188bf9
galt
  Tue Feb 11 01:24:49 2014 -0800
adding random sessionKey generation
diff --git src/hg/inc/cartDb.h src/hg/inc/cartDb.h
index b282c34..c8e88dd 100644
--- src/hg/inc/cartDb.h
+++ src/hg/inc/cartDb.h
@@ -22,30 +22,33 @@
     char *sessionKey;	/* Random Key for session security */
     };
 
 boolean cartDbHasSessionKey(struct sqlConnection *conn, char *table);
 /* Check to see if the table has the sessionKey field */
 
 boolean cartDbUseSessionKey();
 /* Check settings and and state to determine if sessionKey is in use */
 
 void cartDbSecureId(char *buf, int bufSize, struct cartDb *cartDb);
 /* Return combined string of session id plus sessionKey in buf if turned on.*/
 
 unsigned int cartDbParseId(char *id, char **pSessionKey);
 /* Parse out and return just the numeric id from the id_sessionKey string. */
 
+char *cartDbMakeRandomKey(int numBits);
+/* Generate base64 encoding of a random key of at least size numBits returning string to be freed when done */
+
 void cartDbStaticLoad(char **row, struct cartDb *ret);
 /* Load a row from cartDb table into ret.  The contents of ret will
  * be replaced at the next call to this function. */
 
 struct cartDb *cartDbLoad(char **row);
 /* Load a cartDb from row fetched with select * from cartDb
  * from database.  Dispose of this with cartDbFree(). */
 
 struct cartDb *cartDbLoadAll(char *fileName);
 /* Load all cartDb from a tab-separated file.
  * Dispose of this with cartDbFreeList(). */
 
 struct cartDb *cartDbLoadWhere(struct sqlConnection *conn, char *table, char *where);
 /* Load all cartDb from table that satisfy where clause. The
  * where clause may be NULL in which case whole table is loaded