]> code.citadel.org Git - citadel.git/blobdiff - citadel/user_ops.c
Change the become_user parameter of create_user() to an enum, to make calling code...
[citadel.git] / citadel / user_ops.c
index 26aad209422851383163ba77c5106c2e3d35cbd9..af407b0d7a1ec686e2638b3a0995514846e83de1 100644 (file)
@@ -488,7 +488,6 @@ int CtdlLoginExistingUser(char *authname, const char *trythisname)
 {
        char username[SIZ];
        int found_user;
-       long len;
 
        syslog(LOG_DEBUG, "user_ops: CtdlLoginExistingUser(%s, %s)", authname, trythisname);
 
@@ -517,7 +516,6 @@ int CtdlLoginExistingUser(char *authname, const char *trythisname)
        /* Continue attempting user validation... */
        safestrncpy(username, trythisname, sizeof (username));
        striplt(username);
-       len = cutuserkey(username);
 
        if (IsEmptyStr(username)) {
                return login_not_found;
@@ -555,8 +553,7 @@ int CtdlLoginExistingUser(char *authname, const char *trythisname)
                found_user = getuserbyuid(&CC->user, pd.pw_uid);
                syslog(LOG_DEBUG, "user_ops: found it: uid=%ld, gecos=%s here: %d", (long)pd.pw_uid, pd.pw_gecos, found_user);
                if (found_user != 0) {
-                       len = cutuserkey(username);
-                       create_user(username, len, 0);
+                       create_user(username, CREATE_USER_DO_NOT_BECOME_USER);
                        found_user = getuserbyuid(&CC->user, pd.pw_uid);
                }
 
@@ -578,7 +575,7 @@ int CtdlLoginExistingUser(char *authname, const char *trythisname)
 
                found_user = getuserbyuid(&CC->user, ldap_uid);
                if (found_user != 0) {
-                       create_user(username, len, 0);
+                       create_user(username, CREATE_USER_DO_NOT_BECOME_USER);
                        found_user = getuserbyuid(&CC->user, ldap_uid);
                }
 
@@ -1004,7 +1001,7 @@ int purge_user(char pname[])
 }
 
 
-int internal_create_user (char *username, long len, struct ctdluser *usbuf, uid_t uid)
+int internal_create_user(char *username, struct ctdluser *usbuf, uid_t uid)
 {
        if (!CtdlGetUser(usbuf, username)) {
                return (ERROR + ALREADY_EXISTS);
@@ -1039,10 +1036,10 @@ int internal_create_user (char *username, long len, struct ctdluser *usbuf, uid_
  * create_user()  -  back end processing to create a new user
  *
  * Set 'newusername' to the desired account name.
- * Set 'become_user' to nonzero if this is self-service account creation and we want
- * to actually log in as the user we just created, otherwise set it to 0.
+ * Set 'become_user' to CREATE_USER_BECOME_USER if this is self-service account creation and we want
+ * to actually log in as the user we just created, otherwise set it to CREATE_USER_DO_NOT_BECOME_USER
  */
-int create_user(const char *newusername, long len, int become_user)
+int create_user(const char *newusername, int become_user)
 {
        struct ctdluser usbuf;
        struct ctdlroom qrbuf;
@@ -1078,7 +1075,6 @@ int create_user(const char *newusername, long len, int become_user)
                        if (IsEmptyStr (username))
                        {
                                safestrncpy(username, pd.pw_name, sizeof username);
-                               len = cutuserkey(username);
                        }
                }
                else {
@@ -1094,7 +1090,7 @@ int create_user(const char *newusername, long len, int become_user)
        }
 #endif /* HAVE_LDAP */
        
-       if ((retval = internal_create_user(username, len, &usbuf, uid)) != 0)
+       if ((retval = internal_create_user(username, &usbuf, uid)) != 0)
                return retval;
        
        /*
@@ -1118,7 +1114,7 @@ int create_user(const char *newusername, long len, int become_user)
         * creating a user, instead of doing self-service account creation
         */
 
-       if (become_user) {
+       if (become_user == CREATE_USER_BECOME_USER) {
                /* Now become the user we just created */
                memcpy(&CC->user, &usbuf, sizeof(struct ctdluser));
                safestrncpy(CC->curr_user, username, sizeof CC->curr_user);