diff options
author | Jeremy Allison <jra@samba.org> | 2002-01-23 02:02:24 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-01-23 02:02:24 +0000 |
commit | bbdd986a476bb497303abed7727b4b0212c4fdbb (patch) | |
tree | ecb1219a8c0fa53a4ffa79098d71fa1d061f094f | |
parent | dded84b580eda97452a715efd340712633fb99f7 (diff) | |
download | samba-bbdd986a476bb497303abed7727b4b0212c4fdbb.tar.gz samba-bbdd986a476bb497303abed7727b4b0212c4fdbb.tar.xz samba-bbdd986a476bb497303abed7727b4b0212c4fdbb.zip |
Insure fixes.
Jeremy.
-rw-r--r-- | source/printing/nt_printing.c | 12 | ||||
-rw-r--r-- | source/tdb/tdb.c | 8 |
2 files changed, 8 insertions, 12 deletions
diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c index b5b31cab8e6..76687aa4062 100644 --- a/source/printing/nt_printing.c +++ b/source/printing/nt_printing.c @@ -3655,6 +3655,7 @@ WERROR nt_printing_setsec(char *printername, SEC_DESC_BUF *secdesc_ctr) static SEC_DESC_BUF *construct_default_printer_sdb(TALLOC_CTX *ctx) { + extern DOM_SID global_sam_sid; SEC_ACE ace[3]; SEC_ACCESS sa; SEC_ACL *psa = NULL; @@ -3676,19 +3677,14 @@ static SEC_DESC_BUF *construct_default_printer_sdb(TALLOC_CTX *ctx) if (winbind_lookup_name(lp_workgroup(), &owner_sid, &name_type)) { sid_append_rid(&owner_sid, DOMAIN_USER_RID_ADMIN); } else { - uint32 owner_rid; /* Backup plan - make printer owned by admins or root. This should emulate a lanman printer as security settings can't be changed. */ - sid_peek_rid(&owner_sid, &owner_rid); - - if (owner_rid != BUILTIN_ALIAS_RID_PRINT_OPS && - owner_rid != BUILTIN_ALIAS_RID_ADMINS && - owner_rid != DOMAIN_USER_RID_ADMIN && - !lookup_name("root", &owner_sid, &name_type)) { - sid_copy(&owner_sid, &global_sid_World); + if (!lookup_name("root", &owner_sid, &name_type)) { + sid_copy(&owner_sid, &global_sam_sid); + sid_append_rid(&owner_sid, DOMAIN_USER_RID_ADMIN); } } diff --git a/source/tdb/tdb.c b/source/tdb/tdb.c index 6398a2a166c..15a0749ec2f 100644 --- a/source/tdb/tdb.c +++ b/source/tdb/tdb.c @@ -1379,7 +1379,7 @@ int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag) static int tdb_already_open(dev_t device, ino_t ino) { - TDB_CONTEXT *i; + TDB_CONTEXT *i = NULL; for (i = tdbs; i; i = i->next) { if (i->device == device && i->inode == ino) { @@ -1411,7 +1411,7 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode, tdb_log_func log_fn) { - TDB_CONTEXT *tdb; + TDB_CONTEXT *tdb = NULL; struct stat st; int rev = 0, locked; @@ -1571,7 +1571,7 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags, /* close a database */ int tdb_close(TDB_CONTEXT *tdb) { - TDB_CONTEXT **i; + TDB_CONTEXT **i = NULL; int ret = 0; if (tdb->map_ptr) { @@ -1728,7 +1728,7 @@ fail: /* reopen all tdb's */ int tdb_reopen_all(void) { - TDB_CONTEXT *tdb; + TDB_CONTEXT *tdb = NULL; for (tdb=tdbs; tdb; tdb = tdb->next) { if (tdb_reopen(tdb) != 0) return -1; |