r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
[samba.git] / source3 / passdb / pdb_get_set.c
index 0b93c42a41690ad67d28c75c6e54b223afdc5bdc..3b774b510b0247241da93b42dd61f3a3cbb2983b 100644 (file)
  Collection of get...() functions for struct samu.
  ********************************************************************/
 
-uint32 pdb_get_acct_ctrl (const struct samu *sampass)
+uint32 pdb_get_acct_ctrl(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->acct_ctrl);
-       else
-               return (ACB_DISABLED);
+       return sampass->acct_ctrl;
 }
 
-time_t pdb_get_logon_time (const struct samu *sampass)
+time_t pdb_get_logon_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->logon_time);
-       else
-               return (0);
+       return sampass->logon_time;
 }
 
-time_t pdb_get_logoff_time (const struct samu *sampass)
+time_t pdb_get_logoff_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->logoff_time);
-       else
-               return (-1);
+       return sampass->logoff_time;
 }
 
-time_t pdb_get_kickoff_time (const struct samu *sampass)
+time_t pdb_get_kickoff_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->kickoff_time);
-       else
-               return (-1);
+       return sampass->kickoff_time;
 }
 
-time_t pdb_get_bad_password_time (const struct samu *sampass)
+time_t pdb_get_bad_password_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->bad_password_time);
-       else
-               return (-1);
+       return sampass->bad_password_time;
 }
 
-time_t pdb_get_pass_last_set_time (const struct samu *sampass)
+time_t pdb_get_pass_last_set_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->pass_last_set_time);
-       else
-               return (-1);
+       return sampass->pass_last_set_time;
 }
 
-time_t pdb_get_pass_can_change_time (const struct samu *sampass)
+time_t pdb_get_pass_can_change_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->pass_can_change_time);
-       else
-               return (-1);
+       return sampass->pass_can_change_time;
 }
 
-time_t pdb_get_pass_must_change_time (const struct samu *sampass)
+time_t pdb_get_pass_must_change_time(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->pass_must_change_time);
-       else
-               return (-1);
+       return sampass->pass_must_change_time;
 }
 
-uint16 pdb_get_logon_divs (const struct samu *sampass)
+uint16 pdb_get_logon_divs(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->logon_divs);
-       else
-               return (-1);
+       return sampass->logon_divs;
 }
 
-uint32 pdb_get_hours_len (const struct samu *sampass)
+uint32 pdb_get_hours_len(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->hours_len);
-       else
-               return (-1);
+       return sampass->hours_len;
 }
 
-const uint8* pdb_get_hours (const struct samu *sampass)
+const uint8 *pdb_get_hours(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->hours);
-       else
-               return (NULL);
+       return (sampass->hours);
 }
 
-const uint8* pdb_get_nt_passwd (const struct samu *sampass)
+const uint8 *pdb_get_nt_passwd(const struct samu *sampass)
 {
-       if (sampass) {
-               SMB_ASSERT((!sampass->nt_pw.data) 
-                          || sampass->nt_pw.length == NT_HASH_LEN);
-               return ((uint8*)sampass->nt_pw.data);
-       }
-       else
-               return (NULL);
+       SMB_ASSERT((!sampass->nt_pw.data) 
+                  || sampass->nt_pw.length == NT_HASH_LEN);
+       return (uint8 *)sampass->nt_pw.data;
 }
 
-const uint8* pdb_get_lanman_passwd (const struct samu *sampass)
+const uint8 *pdb_get_lanman_passwd(const struct samu *sampass)
 {
-       if (sampass) {
-               SMB_ASSERT((!sampass->lm_pw.data) 
-                          || sampass->lm_pw.length == LM_HASH_LEN);
-               return ((uint8*)sampass->lm_pw.data);
-       }
-       else
-               return (NULL);
+       SMB_ASSERT((!sampass->lm_pw.data) 
+                  || sampass->lm_pw.length == LM_HASH_LEN);
+       return (uint8 *)sampass->lm_pw.data;
 }
 
-const uint8* pdb_get_pw_history (const struct samu *sampass, uint32 *current_hist_len)
+const uint8 *pdb_get_pw_history(const struct samu *sampass, uint32 *current_hist_len)
 {
-       if (sampass) {
-               SMB_ASSERT((!sampass->nt_pw_his.data) 
-                  || ((sampass->nt_pw_his.length % PW_HISTORY_ENTRY_LEN) == 0));
-               *current_hist_len = sampass->nt_pw_his.length / PW_HISTORY_ENTRY_LEN;
-               return ((uint8*)sampass->nt_pw_his.data);
-       } else {
-               *current_hist_len = 0;
-               return (NULL);
-       }
+       SMB_ASSERT((!sampass->nt_pw_his.data) 
+          || ((sampass->nt_pw_his.length % PW_HISTORY_ENTRY_LEN) == 0));
+       *current_hist_len = sampass->nt_pw_his.length / PW_HISTORY_ENTRY_LEN;
+       return (uint8 *)sampass->nt_pw_his.data;
 }
 
 /* Return the plaintext password if known.  Most of the time
@@ -169,20 +123,14 @@ const uint8* pdb_get_pw_history (const struct samu *sampass, uint32 *current_his
    Used to pass the plaintext to passdb backends that might 
    want to store more than just the NTLM hashes.
 */
-const char* pdb_get_plaintext_passwd (const struct samu *sampass)
+const char *pdb_get_plaintext_passwd(const struct samu *sampass)
 {
-       if (sampass) {
-               return (sampass->plaintext_pw);
-       }
-       else
-               return (NULL);
+       return sampass->plaintext_pw;
 }
+
 const DOM_SID *pdb_get_user_sid(const struct samu *sampass)
 {
-       if (sampass) 
-               return &sampass->user_sid;
-               
-       return NULL;
+       return &sampass->user_sid;
 }
 
 const DOM_SID *pdb_get_group_sid(struct samu *sampass)
@@ -190,14 +138,7 @@ const DOM_SID *pdb_get_group_sid(struct samu *sampass)
        DOM_SID *gsid;
        struct passwd *pwd;
        
-       /* sanity check */
-       
-       if ( !sampass ) {
-               return NULL;
-       }
-               
        /* Return the cached group SID if we have that */
-           
        if ( sampass->group_sid ) {
                return sampass->group_sid;
        }
@@ -213,10 +154,11 @@ const DOM_SID *pdb_get_group_sid(struct samu *sampass)
           be a newly allocated one.  We rely on the user's Unix primary gid.
           We have no choice but to fail if we can't find it. */
 
-       if ( sampass->unix_pw )
+       if ( sampass->unix_pw ) {
                pwd = sampass->unix_pw;
-       else
+       } else {
                pwd = getpwnam_alloc( sampass, pdb_get_username(sampass) );
+       }
 
        if ( !pwd ) {
                DEBUG(0,("pdb_get_group_sid: Failed to find Unix account for %s\n", pdb_get_username(sampass) ));
@@ -264,11 +206,11 @@ const DOM_SID *pdb_get_group_sid(struct samu *sampass)
  * @return the flags indicating the members initialised in the struct.
  **/
  
-enum pdb_value_state pdb_get_init_flags (const struct samu *sampass, enum pdb_elements element)
+enum pdb_value_state pdb_get_init_flags(const struct samu *sampass, enum pdb_elements element)
 {
        enum pdb_value_state ret = PDB_DEFAULT;
        
-        if (!sampass || !sampass->change_flags || !sampass->set_flags)
+        if (!sampass->change_flags || !sampass->set_flags)
                return ret;
                
         if (bitmap_query(sampass->set_flags, element)) {
@@ -288,244 +230,159 @@ enum pdb_value_state pdb_get_init_flags (const struct samu *sampass, enum pdb_el
         return ret;
 }
 
-const char* pdb_get_username (const struct samu *sampass)
+const char *pdb_get_username(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->username);
-       else
-               return (NULL);
+       return sampass->username;
 }
 
-const char* pdb_get_domain (const struct samu *sampass)
+const char *pdb_get_domain(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->domain);
-       else
-               return (NULL);
+       return sampass->domain;
 }
 
-const char* pdb_get_nt_username (const struct samu *sampass)
+const char *pdb_get_nt_username(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->nt_username);
-       else
-               return (NULL);
+       return sampass->nt_username;
 }
 
-const char* pdb_get_fullname (const struct samu *sampass)
+const char *pdb_get_fullname(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->full_name);
-       else
-               return (NULL);
+       return sampass->full_name;
 }
 
-const char* pdb_get_homedir (const struct samu *sampass)
+const char *pdb_get_homedir(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->home_dir);
-       else
-               return (NULL);
+       return sampass->home_dir;
 }
 
-const char* pdb_get_unix_homedir (const struct samu *sampass)
+const char *pdb_get_unix_homedir(const struct samu *sampass)
 {
-       if ( sampass && sampass->unix_pw )
-               return ( sampass->unix_pw->pw_dir );
-
-       return (NULL);
+       if (sampass->unix_pw ) {
+               return sampass->unix_pw->pw_dir;
+       }
+       return NULL;
 }
 
-const char* pdb_get_dir_drive (const struct samu *sampass)
+const char *pdb_get_dir_drive(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->dir_drive);
-       else
-               return (NULL);
+       return sampass->dir_drive;
 }
 
-const char* pdb_get_logon_script (const struct samu *sampass)
+const char *pdb_get_logon_script(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->logon_script);
-       else
-               return (NULL);
+       return sampass->logon_script;
 }
 
-const char* pdb_get_profile_path (const struct samu *sampass)
+const char *pdb_get_profile_path(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->profile_path);
-       else
-               return (NULL);
+       return sampass->profile_path;
 }
 
-const char* pdb_get_acct_desc (const struct samu *sampass)
+const char *pdb_get_acct_desc(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->acct_desc);
-       else
-               return (NULL);
+       return sampass->acct_desc;
 }
 
-const char* pdb_get_workstations (const struct samu *sampass)
+const char *pdb_get_workstations(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->workstations);
-       else
-               return (NULL);
+       return sampass->workstations;
 }
 
-const char* pdb_get_unknown_str (const struct samu *sampass)
+const char *pdb_get_comment(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->unknown_str);
-       else
-               return (NULL);
+       return sampass->comment;
 }
 
-const char* pdb_get_munged_dial (const struct samu *sampass)
+const char *pdb_get_munged_dial(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->munged_dial);
-       else
-               return (NULL);
+       return sampass->munged_dial;
 }
 
 uint16 pdb_get_bad_password_count(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->bad_password_count);
-       else
-               return 0;
+       return sampass->bad_password_count;
 }
 
 uint16 pdb_get_logon_count(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->logon_count);
-       else
-               return 0;
+       return sampass->logon_count;
 }
 
-uint32 pdb_get_unknown_6 (const struct samu *sampass)
+uint32 pdb_get_unknown_6(const struct samu *sampass)
 {
-       if (sampass)
-               return (sampass->unknown_6);
-       else
-               return (-1);
+       return sampass->unknown_6;
 }
 
-void *pdb_get_backend_private_data (const struct samu *sampass, const struct pdb_methods *my_methods)
+void *pdb_get_backend_private_data(const struct samu *sampass, const struct pdb_methods *my_methods)
 {
-       if (sampass && my_methods == sampass->backend_private_methods)
+       if (my_methods == sampass->backend_private_methods) {
                return sampass->backend_private_data;
-       else
+       } else {
                return NULL;
+       }
 }
 
 /*********************************************************************
  Collection of set...() functions for struct samu.
  ********************************************************************/
 
-BOOL pdb_set_acct_ctrl (struct samu *sampass, uint32 acct_ctrl, enum pdb_value_state flag)
+BOOL pdb_set_acct_ctrl(struct samu *sampass, uint32 acct_ctrl, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-               
        sampass->acct_ctrl = acct_ctrl;
-
        return pdb_set_init_flags(sampass, PDB_ACCTCTRL, flag);
 }
 
-BOOL pdb_set_logon_time (struct samu *sampass, time_t mytime, enum pdb_value_state flag)
+BOOL pdb_set_logon_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->logon_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_LOGONTIME, flag);
 }
 
-BOOL pdb_set_logoff_time (struct samu *sampass, time_t mytime, enum pdb_value_state flag)
+BOOL pdb_set_logoff_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->logoff_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_LOGOFFTIME, flag);
 }
 
-BOOL pdb_set_kickoff_time (struct samu *sampass, time_t mytime, enum pdb_value_state flag)
+BOOL pdb_set_kickoff_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->kickoff_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_KICKOFFTIME, flag);
 }
 
-BOOL pdb_set_bad_password_time (struct samu *sampass, time_t mytime, 
-                               enum pdb_value_state flag)
+BOOL pdb_set_bad_password_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->bad_password_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_BAD_PASSWORD_TIME, flag);
 }
 
-BOOL pdb_set_pass_can_change_time (struct samu *sampass, time_t mytime, enum pdb_value_state flag)
+BOOL pdb_set_pass_can_change_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->pass_can_change_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_CANCHANGETIME, flag);
 }
 
-BOOL pdb_set_pass_must_change_time (struct samu *sampass, time_t mytime, enum pdb_value_state flag)
+BOOL pdb_set_pass_must_change_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->pass_must_change_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_MUSTCHANGETIME, flag);
 }
 
-BOOL pdb_set_pass_last_set_time (struct samu *sampass, time_t mytime, enum pdb_value_state flag)
+BOOL pdb_set_pass_last_set_time(struct samu *sampass, time_t mytime, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->pass_last_set_time = mytime;
-
        return pdb_set_init_flags(sampass, PDB_PASSLASTSET, flag);
 }
 
-BOOL pdb_set_hours_len (struct samu *sampass, uint32 len, enum pdb_value_state flag)
+BOOL pdb_set_hours_len(struct samu *sampass, uint32 len, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->hours_len = len;
-
        return pdb_set_init_flags(sampass, PDB_HOURSLEN, flag);
 }
 
-BOOL pdb_set_logon_divs (struct samu *sampass, uint16 hours, enum pdb_value_state flag)
+BOOL pdb_set_logon_divs(struct samu *sampass, uint16 hours, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->logon_divs = hours;
-
        return pdb_set_init_flags(sampass, PDB_LOGONDIVS, flag);
 }
 
@@ -536,11 +393,8 @@ BOOL pdb_set_logon_divs (struct samu *sampass, uint16 hours, enum pdb_value_stat
  *             this flag is only added.  
  **/
  
-BOOL pdb_set_init_flags (struct samu *sampass, enum pdb_elements element, enum pdb_value_state value_flag)
+BOOL pdb_set_init_flags(struct samu *sampass, enum pdb_elements element, enum pdb_value_state value_flag)
 {
-        if (!sampass || !sampass)
-                return False;
-
         if (!sampass->set_flags) {
                if ((sampass->set_flags = 
                        bitmap_talloc(sampass, 
@@ -598,9 +452,9 @@ BOOL pdb_set_init_flags (struct samu *sampass, enum pdb_elements element, enum p
         return True;
 }
 
-BOOL pdb_set_user_sid (struct samu *sampass, const DOM_SID *u_sid, enum pdb_value_state flag)
+BOOL pdb_set_user_sid(struct samu *sampass, const DOM_SID *u_sid, enum pdb_value_state flag)
 {
-       if (!sampass || !u_sid)
+       if (!u_sid)
                return False;
        
        sid_copy(&sampass->user_sid, u_sid);
@@ -611,11 +465,11 @@ BOOL pdb_set_user_sid (struct samu *sampass, const DOM_SID *u_sid, enum pdb_valu
        return pdb_set_init_flags(sampass, PDB_USERSID, flag);
 }
 
-BOOL pdb_set_user_sid_from_string (struct samu *sampass, fstring u_sid, enum pdb_value_state flag)
+BOOL pdb_set_user_sid_from_string(struct samu *sampass, fstring u_sid, enum pdb_value_state flag)
 {
        DOM_SID new_sid;
        
-       if (!sampass || !u_sid)
+       if (!u_sid)
                return False;
 
        DEBUG(10, ("pdb_set_user_sid_from_string: setting user sid %s\n",
@@ -642,11 +496,11 @@ BOOL pdb_set_user_sid_from_string (struct samu *sampass, fstring u_sid, enum pdb
  have to allow the explicitly setting of a group SID here.
 ********************************************************************/
 
-BOOL pdb_set_group_sid (struct samu *sampass, const DOM_SID *g_sid, enum pdb_value_state flag)
+BOOL pdb_set_group_sid(struct samu *sampass, const DOM_SID *g_sid, enum pdb_value_state flag)
 {
        gid_t gid;
 
-       if (!sampass || !g_sid)
+       if (!g_sid)
                return False;
 
        if ( !(sampass->group_sid = TALLOC_P( sampass, DOM_SID )) ) {
@@ -675,9 +529,6 @@ BOOL pdb_set_group_sid (struct samu *sampass, const DOM_SID *g_sid, enum pdb_val
 
 BOOL pdb_set_username(struct samu *sampass, const char *username, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
        if (username) { 
                DEBUG(10, ("pdb_set_username: setting username %s, was %s\n", username,
                        (sampass->username)?(sampass->username):"NULL"));
@@ -688,7 +539,6 @@ BOOL pdb_set_username(struct samu *sampass, const char *username, enum pdb_value
                        DEBUG(0, ("pdb_set_username: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->username = PDB_NOT_QUITE_NULL;
        }
@@ -702,9 +552,6 @@ BOOL pdb_set_username(struct samu *sampass, const char *username, enum pdb_value
 
 BOOL pdb_set_domain(struct samu *sampass, const char *domain, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (domain) { 
                DEBUG(10, ("pdb_set_domain: setting domain %s, was %s\n", domain,
                        (sampass->domain)?(sampass->domain):"NULL"));
@@ -715,7 +562,6 @@ BOOL pdb_set_domain(struct samu *sampass, const char *domain, enum pdb_value_sta
                        DEBUG(0, ("pdb_set_domain: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->domain = PDB_NOT_QUITE_NULL;
        }
@@ -729,9 +575,6 @@ BOOL pdb_set_domain(struct samu *sampass, const char *domain, enum pdb_value_sta
 
 BOOL pdb_set_nt_username(struct samu *sampass, const char *nt_username, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (nt_username) { 
                DEBUG(10, ("pdb_set_nt_username: setting nt username %s, was %s\n", nt_username,
                        (sampass->nt_username)?(sampass->nt_username):"NULL"));
@@ -742,7 +585,6 @@ BOOL pdb_set_nt_username(struct samu *sampass, const char *nt_username, enum pdb
                        DEBUG(0, ("pdb_set_nt_username: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->nt_username = PDB_NOT_QUITE_NULL;
        }
@@ -756,9 +598,6 @@ BOOL pdb_set_nt_username(struct samu *sampass, const char *nt_username, enum pdb
 
 BOOL pdb_set_fullname(struct samu *sampass, const char *full_name, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (full_name) { 
                DEBUG(10, ("pdb_set_full_name: setting full name %s, was %s\n", full_name,
                        (sampass->full_name)?(sampass->full_name):"NULL"));
@@ -769,7 +608,6 @@ BOOL pdb_set_fullname(struct samu *sampass, const char *full_name, enum pdb_valu
                        DEBUG(0, ("pdb_set_fullname: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->full_name = PDB_NOT_QUITE_NULL;
        }
@@ -783,9 +621,6 @@ BOOL pdb_set_fullname(struct samu *sampass, const char *full_name, enum pdb_valu
 
 BOOL pdb_set_logon_script(struct samu *sampass, const char *logon_script, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (logon_script) { 
                DEBUG(10, ("pdb_set_logon_script: setting logon script %s, was %s\n", logon_script,
                        (sampass->logon_script)?(sampass->logon_script):"NULL"));
@@ -796,7 +631,6 @@ BOOL pdb_set_logon_script(struct samu *sampass, const char *logon_script, enum p
                        DEBUG(0, ("pdb_set_logon_script: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->logon_script = PDB_NOT_QUITE_NULL;
        }
@@ -808,11 +642,8 @@ BOOL pdb_set_logon_script(struct samu *sampass, const char *logon_script, enum p
  Set the user's profile path.
  ********************************************************************/
 
-BOOL pdb_set_profile_path (struct samu *sampass, const char *profile_path, enum pdb_value_state flag)
+BOOL pdb_set_profile_path(struct samu *sampass, const char *profile_path, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (profile_path) { 
                DEBUG(10, ("pdb_set_profile_path: setting profile path %s, was %s\n", profile_path,
                        (sampass->profile_path)?(sampass->profile_path):"NULL"));
@@ -823,7 +654,6 @@ BOOL pdb_set_profile_path (struct samu *sampass, const char *profile_path, enum
                        DEBUG(0, ("pdb_set_profile_path: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->profile_path = PDB_NOT_QUITE_NULL;
        }
@@ -835,11 +665,8 @@ BOOL pdb_set_profile_path (struct samu *sampass, const char *profile_path, enum
  Set the user's directory drive.
  ********************************************************************/
 
-BOOL pdb_set_dir_drive (struct samu *sampass, const char *dir_drive, enum pdb_value_state flag)
+BOOL pdb_set_dir_drive(struct samu *sampass, const char *dir_drive, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (dir_drive) { 
                DEBUG(10, ("pdb_set_dir_drive: setting dir drive %s, was %s\n", dir_drive,
                        (sampass->dir_drive)?(sampass->dir_drive):"NULL"));
@@ -862,11 +689,8 @@ BOOL pdb_set_dir_drive (struct samu *sampass, const char *dir_drive, enum pdb_va
  Set the user's home directory.
  ********************************************************************/
 
-BOOL pdb_set_homedir (struct samu *sampass, const char *home_dir, enum pdb_value_state flag)
+BOOL pdb_set_homedir(struct samu *sampass, const char *home_dir, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (home_dir) { 
                DEBUG(10, ("pdb_set_homedir: setting home dir %s, was %s\n", home_dir,
                        (sampass->home_dir)?(sampass->home_dir):"NULL"));
@@ -877,7 +701,6 @@ BOOL pdb_set_homedir (struct samu *sampass, const char *home_dir, enum pdb_value
                        DEBUG(0, ("pdb_set_home_dir: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->home_dir = PDB_NOT_QUITE_NULL;
        }
@@ -889,11 +712,8 @@ BOOL pdb_set_homedir (struct samu *sampass, const char *home_dir, enum pdb_value
  Set the user's account description.
  ********************************************************************/
 
-BOOL pdb_set_acct_desc (struct samu *sampass, const char *acct_desc, enum pdb_value_state flag)
+BOOL pdb_set_acct_desc(struct samu *sampass, const char *acct_desc, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (acct_desc) { 
                sampass->acct_desc = talloc_strdup(sampass, acct_desc);
 
@@ -901,7 +721,6 @@ BOOL pdb_set_acct_desc (struct samu *sampass, const char *acct_desc, enum pdb_va
                        DEBUG(0, ("pdb_set_acct_desc: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->acct_desc = PDB_NOT_QUITE_NULL;
        }
@@ -913,11 +732,8 @@ BOOL pdb_set_acct_desc (struct samu *sampass, const char *acct_desc, enum pdb_va
  Set the user's workstation allowed list.
  ********************************************************************/
 
-BOOL pdb_set_workstations (struct samu *sampass, const char *workstations, enum pdb_value_state flag)
+BOOL pdb_set_workstations(struct samu *sampass, const char *workstations, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (workstations) { 
                DEBUG(10, ("pdb_set_workstations: setting workstations %s, was %s\n", workstations,
                        (sampass->workstations)?(sampass->workstations):"NULL"));
@@ -928,7 +744,6 @@ BOOL pdb_set_workstations (struct samu *sampass, const char *workstations, enum
                        DEBUG(0, ("pdb_set_workstations: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->workstations = PDB_NOT_QUITE_NULL;
        }
@@ -937,38 +752,30 @@ BOOL pdb_set_workstations (struct samu *sampass, const char *workstations, enum
 }
 
 /*********************************************************************
- Set the user's 'unknown_str', whatever the heck this actually is...
  ********************************************************************/
 
-BOOL pdb_set_unknown_str (struct samu *sampass, const char *unknown_str, enum pdb_value_state flag)
+BOOL pdb_set_comment(struct samu *sampass, const char *comment, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
-       if (unknown_str) { 
-               sampass->unknown_str = talloc_strdup(sampass, unknown_str);
+       if (comment) { 
+               sampass->comment = talloc_strdup(sampass, comment);
                
-               if (!sampass->unknown_str) {
-                       DEBUG(0, ("pdb_set_unknown_str: talloc_strdup() failed!\n"));
+               if (!sampass->comment) {
+                       DEBUG(0, ("pdb_set_comment: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
-               sampass->unknown_str = PDB_NOT_QUITE_NULL;
+               sampass->comment = PDB_NOT_QUITE_NULL;
        }
 
-       return pdb_set_init_flags(sampass, PDB_UNKNOWNSTR, flag);
+       return pdb_set_init_flags(sampass, PDB_COMMENT, flag);
 }
 
 /*********************************************************************
  Set the user's dial string.
  ********************************************************************/
 
-BOOL pdb_set_munged_dial (struct samu *sampass, const char *munged_dial, enum pdb_value_state flag)
+BOOL pdb_set_munged_dial(struct samu *sampass, const char *munged_dial, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (munged_dial) { 
                sampass->munged_dial = talloc_strdup(sampass, munged_dial);
                
@@ -976,7 +783,6 @@ BOOL pdb_set_munged_dial (struct samu *sampass, const char *munged_dial, enum pd
                        DEBUG(0, ("pdb_set_munged_dial: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->munged_dial = PDB_NOT_QUITE_NULL;
        }
@@ -988,11 +794,8 @@ BOOL pdb_set_munged_dial (struct samu *sampass, const char *munged_dial, enum pd
  Set the user's NT hash.
  ********************************************************************/
 
-BOOL pdb_set_nt_passwd (struct samu *sampass, const uint8 pwd[NT_HASH_LEN], enum pdb_value_state flag)
+BOOL pdb_set_nt_passwd(struct samu *sampass, const uint8 pwd[NT_HASH_LEN], enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        data_blob_clear_free(&sampass->nt_pw);
        
        if (pwd) {
@@ -1009,11 +812,8 @@ BOOL pdb_set_nt_passwd (struct samu *sampass, const uint8 pwd[NT_HASH_LEN], enum
  Set the user's LM hash.
  ********************************************************************/
 
-BOOL pdb_set_lanman_passwd (struct samu *sampass, const uint8 pwd[LM_HASH_LEN], enum pdb_value_state flag)
+BOOL pdb_set_lanman_passwd(struct samu *sampass, const uint8 pwd[LM_HASH_LEN], enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        data_blob_clear_free(&sampass->lm_pw);
        
        /* on keep the password if we are allowing LANMAN authentication */
@@ -1034,11 +834,8 @@ BOOL pdb_set_lanman_passwd (struct samu *sampass, const uint8 pwd[LM_HASH_LEN],
  in pwd.
 ********************************************************************/
 
-BOOL pdb_set_pw_history (struct samu *sampass, const uint8 *pwd, uint32 historyLen, enum pdb_value_state flag)
+BOOL pdb_set_pw_history(struct samu *sampass, const uint8 *pwd, uint32 historyLen, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (historyLen && pwd){
                sampass->nt_pw_his = data_blob_talloc(sampass,
                                                pwd, historyLen*PW_HISTORY_ENTRY_LEN);
@@ -1058,11 +855,8 @@ BOOL pdb_set_pw_history (struct samu *sampass, const uint8 *pwd, uint32 historyL
  below)
  ********************************************************************/
 
-BOOL pdb_set_plaintext_pw_only (struct samu *sampass, const char *password, enum pdb_value_state flag)
+BOOL pdb_set_plaintext_pw_only(struct samu *sampass, const char *password, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (password) { 
                if (sampass->plaintext_pw!=NULL) 
                        memset(sampass->plaintext_pw,'\0',strlen(sampass->plaintext_pw)+1);
@@ -1073,7 +867,6 @@ BOOL pdb_set_plaintext_pw_only (struct samu *sampass, const char *password, enum
                        DEBUG(0, ("pdb_set_unknown_str: talloc_strdup() failed!\n"));
                        return False;
                }
-
        } else {
                sampass->plaintext_pw = NULL;
        }
@@ -1083,57 +876,38 @@ BOOL pdb_set_plaintext_pw_only (struct samu *sampass, const char *password, enum
 
 BOOL pdb_set_bad_password_count(struct samu *sampass, uint16 bad_password_count, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->bad_password_count = bad_password_count;
-
        return pdb_set_init_flags(sampass, PDB_BAD_PASSWORD_COUNT, flag);
 }
 
 BOOL pdb_set_logon_count(struct samu *sampass, uint16 logon_count, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->logon_count = logon_count;
-
        return pdb_set_init_flags(sampass, PDB_LOGON_COUNT, flag);
 }
 
-BOOL pdb_set_unknown_6 (struct samu *sampass, uint32 unkn, enum pdb_value_state flag)
+BOOL pdb_set_unknown_6(struct samu *sampass, uint32 unkn, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        sampass->unknown_6 = unkn;
-
        return pdb_set_init_flags(sampass, PDB_UNKNOWN6, flag);
 }
 
-BOOL pdb_set_hours (struct samu *sampass, const uint8 *hours, enum pdb_value_state flag)
+BOOL pdb_set_hours(struct samu *sampass, const uint8 *hours, enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (!hours) {
                memset ((char *)sampass->hours, 0, MAX_HOURS_LEN);
-               return True;
+       } else {
+               memcpy (sampass->hours, hours, MAX_HOURS_LEN);
        }
-       
-       memcpy (sampass->hours, hours, MAX_HOURS_LEN);
 
        return pdb_set_init_flags(sampass, PDB_HOURS, flag);
 }
 
-BOOL pdb_set_backend_private_data (struct samu *sampass, void *private_data, 
+BOOL pdb_set_backend_private_data(struct samu *sampass, void *private_data, 
                                   void (*free_fn)(void **), 
                                   const struct pdb_methods *my_methods, 
                                   enum pdb_value_state flag)
 {
-       if (!sampass)
-               return False;
-
        if (sampass->backend_private_data &&
            sampass->backend_private_data_free_fn) {
                sampass->backend_private_data_free_fn(
@@ -1155,14 +929,11 @@ BOOL pdb_set_backend_private_data (struct samu *sampass, void *private_data,
  password change.
  ********************************************************************/
 
-BOOL pdb_set_pass_changed_now (struct samu *sampass)
+BOOL pdb_set_pass_changed_now(struct samu *sampass)
 {
        uint32 expire;
        uint32 min_age;
 
-       if (!sampass)
-               return False;
-       
        if (!pdb_set_pass_last_set_time (sampass, time(NULL), PDB_CHANGED))
                return False;
 
@@ -1195,12 +966,12 @@ BOOL pdb_set_pass_changed_now (struct samu *sampass)
  Also sets the last change time to NOW.
  ********************************************************************/
 
-BOOL pdb_set_plaintext_passwd (struct samu *sampass, const char *plaintext)
+BOOL pdb_set_plaintext_passwd(struct samu *sampass, const char *plaintext)
 {
        uchar new_lanman_p16[LM_HASH_LEN];
        uchar new_nt_p16[NT_HASH_LEN];
 
-       if (!sampass || !plaintext)
+       if (!plaintext)
                return False;
 
        /* Calculate the MD4 hash (NT compatible) of the password */
@@ -1249,7 +1020,7 @@ BOOL pdb_set_plaintext_passwd (struct samu *sampass, const char *plaintext)
 
                                if (current_history_len < pwHistLen) {
                                        /* Ensure we have space for the needed history. */
-                                       uchar *new_history = TALLOC(sampass,
+                                       uchar *new_history = (uchar *)TALLOC(sampass,
                                                                pwHistLen*PW_HISTORY_ENTRY_LEN);
                                        if (!new_history) {
                                                return False;
@@ -1294,7 +1065,7 @@ BOOL pdb_set_plaintext_passwd (struct samu *sampass, const char *plaintext)
 }
 
 /* check for any PDB_SET/CHANGED field and fill the appropriate mask bit */
-uint32 pdb_build_fields_present (struct samu *sampass)
+uint32 pdb_build_fields_present(struct samu *sampass)
 {
        /* value set to all for testing */
        return 0x00ffffff;