diff options
author | Luke Leighton <lkcl@samba.org> | 1998-04-29 11:00:12 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1998-04-29 11:00:12 +0000 |
commit | 315e26c23abf7137684bf084c825ad241076132e (patch) | |
tree | e431658a6fdb694d538f1b3595cc1675c609f259 /source/passdb/smbpass.c | |
parent | 17b94a7084621b3f0106dd4d3386f05cdfc56d19 (diff) | |
download | samba-315e26c23abf7137684bf084c825ad241076132e.tar.gz |
password.c:
added become_root / unbecome_root around the get machine account password.
smbpass.c:
cleaning up code.
- turning if (BOOL_expr == False) into if (BOOL_expr)
what if you test if (BOOL_expr == True) and someone defines
True to be -1 on one system and 1 on another? or if you get
inconsistent return results between developers
- removed if ((FILE*) == 0) and made this if ((FILE*) == NULL) -
cannot assume that NULL is zero integer. plus there are typecast
issues to deal with
- removed return (ret == 0) ? True : False and made this return ret == 0
rely on the compiler to return correct BOOL value: not all developers
will return True or False #defines: stick with BOOL test (non-zero).
- removed if (ret == False) replaced with if (!ret)
- bug where instead of if (sizeof(pstring)-len-len-6 < 0) it had a
boolean test if (pstring-len-len-6).
- removed "." after debugging of filenames: the "." - a fullstop -
looked like it was part of the filename, making things difficult
to sort out.
still to be resolved: the global_myname isn't set up, such that the
machine account password file is named "TEST3..mac".
Diffstat (limited to 'source/passdb/smbpass.c')
-rw-r--r-- | source/passdb/smbpass.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/source/passdb/smbpass.c b/source/passdb/smbpass.c index 15f1d4d37fe..aa3a694567c 100644 --- a/source/passdb/smbpass.c +++ b/source/passdb/smbpass.c @@ -63,7 +63,7 @@ static BOOL do_pw_lock(int fd, int waitsecs, int type) return False; } - return ((ret == 0) ? True : False); + return (ret == 0); } static int pw_file_lock_depth; @@ -103,7 +103,7 @@ static BOOL pw_file_unlock(int fd, int *plock_depth) (*plock_depth)--; - if(ret == False) + if(!ret) DEBUG(10,("pw_file_unlock: unlocking file failed, error = %s.\n", strerror(errno))); return ret; @@ -135,7 +135,8 @@ void *startsmbpwent(BOOL update) /* Set a 16k buffer to do more efficient reads */ setvbuf(fp, s_readbuf, _IOFBF, sizeof(s_readbuf)); - if ((pw_file_lock(fileno(fp), F_RDLCK | (update ? F_WRLCK : 0), 5, &pw_file_lock_depth)) == False) { + if (!pw_file_lock(fileno(fp), F_RDLCK | (update ? F_WRLCK : 0), 5, &pw_file_lock_depth)) + { DEBUG(0, ("startsmbpwent: unable to lock file %s\n", pfile)); fclose(fp); return NULL; @@ -773,7 +774,7 @@ BOOL mod_smbpwd_entry(struct smb_passwd* pwd) lockfd = fileno(fp); - if (pw_file_lock(lockfd, F_RDLCK | F_WRLCK, 5, &pw_file_lock_depth) == False) { + if (!pw_file_lock(lockfd, F_RDLCK | F_WRLCK, 5, &pw_file_lock_depth)) { DEBUG(0, ("mod_smbpwd_entry: unable to lock file %s\n", pfile)); fclose(fp); return False; @@ -1086,12 +1087,17 @@ void *machine_password_lock( char *domain, char *name, BOOL update) char *p; if(mach_passwd_lock_depth == 0) { + pstrcpy(mac_file, lp_smb_passwd_file()); p = strrchr(mac_file, '/'); + if(p != NULL) *++p = '\0'; + mac_file_len = strlen(mac_file); - if(sizeof(pstring) - mac_file_len - strlen(domain) - strlen(name) - 6) { + + if (sizeof(pstring) - mac_file_len - strlen(domain) - strlen(name) - 6 < 0) + { DEBUG(0,("machine_password_lock: path %s too long to add machine details.\n", mac_file)); return NULL; @@ -1102,8 +1108,8 @@ void *machine_password_lock( char *domain, char *name, BOOL update) strcat(mac_file, name); strcat(mac_file, ".mac"); - if((fp = fopen(mac_file, "r+b")) == 0) { - DEBUG(0,("machine_password_lock: cannot open file %s. Error was %s.\n", + if((fp = fopen(mac_file, "r+b")) == NULL) { + DEBUG(0,("machine_password_lock: cannot open file %s - Error was %s.\n", mac_file, strerror(errno) )); return NULL; } @@ -1111,9 +1117,10 @@ void *machine_password_lock( char *domain, char *name, BOOL update) chmod(mac_file, 0600); } - if(pw_file_lock(fileno(fp), F_RDLCK | (update ? F_WRLCK : 0), - 60, &mach_passwd_lock_depth) == False) { - DEBUG(0,("machine_password_lock: cannot lock file %s.\n", mac_file)); + if(!pw_file_lock(fileno(fp), F_RDLCK | (update ? F_WRLCK : 0), + 60, &mach_passwd_lock_depth)) + { + DEBUG(0,("machine_password_lock: cannot lock file %s\n", mac_file)); fclose(fp); return NULL; } |