6ec4a6f3965bca0696cfdaff18e70f19d69b2f37
chinhli
  Sun May 6 14:56:27 2012 -0700
Initial generate new password function.
diff --git src/hg/hgLogin/hgLogin.h src/hg/hgLogin/hgLogin.h
index db6d00f..ce67a2f 100644
--- src/hg/hgLogin/hgLogin.h
+++ src/hg/hgLogin/hgLogin.h
@@ -1,31 +1,64 @@
 /* hgLogin.h  */
 
 #ifndef hgLogin_H
 #define hgLogin_H
 
 
 /* ---- global variables ---- */
 #define TITLE "UCSC Genome Browser Login v"CGI_VERSION
 
 
 /* ---- Cart Variables ---- */
 //#define signupName "hgLogin.do.signup"    /* Show  */
 #define signupName "hgLogin.do.signup"    /* Do signup button */
 
 /* ---- General purpose helper routines. ---- */
 
 
 #endif /* hgLogin_H */
 
+/* -------- password functions ---- */
+void cryptWikiWay(char *password, char *salt, char* result);
+/* encrypt password as mediawiki does:  ':B:'.$salt.':'.md5($salt.'-'.md5($password ) */
+void encryptNewPwd(char *password, char *buf, int bufsize);
+/* encrypt a new password */
+void encryptPWD(char *password, char *salt, char *buf, int bufsize);
+/* encrypt a password */
+void findSalt(char *encPassword, char *salt, int saltSize);
+/* find the salt part from the password field */
+bool checkPwd(char *password, char *encPassword);
+/* check an encrypted password */
+unsigned int randInt(unsigned int n);
+/* little randome number helper returns 0 to n-1 */
+char *generateRandomPassword();
+/* Generate valid random password for users who have lost their old one.
+ * Free the returned value.*/
+void generateNewPassword(struct sqlConnection *conn, char *username);
+/* Generate a new password */
+void mailNewPassword(char *username, char *email, char *password);
+/* send user new password */
+void sendNewPassword(struct sqlConnection *conn, char *username, char *password);
+/* email user new password  */
+
+void displayLoginPage(struct sqlConnection *conn);
+/* draw the account login page */
+void displayLogin(struct sqlConnection *conn);
+/* display and process login info */
 void  displayLoginSuccess(char *userName, int userId);
 /* display login success msg, and set cookie */
 void displayLogoutSuccess();
 /* display logout success msg, and reset cookie */
 void backToHgSession(int nSec);
 /* delay for N micro seconds then go back to hgSession page */
 void backToDoLoginPage(int nSec);
 /* delay for N micro seconds then go back to Login page */
 void displayLoginPage(struct sqlConnection *conn);
 /* draw the account login page */
+void displayAccHelpPage(struct sqlConnection *conn);
+/* draw the account help page */
+void accountHelp(struct sqlConnection *conn);
+/* email user username(s) or new password */
+
+