summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-01-23 02:02:24 +0000
committerJeremy Allison <jra@samba.org>2002-01-23 02:02:24 +0000
commitbbdd986a476bb497303abed7727b4b0212c4fdbb (patch)
treeecb1219a8c0fa53a4ffa79098d71fa1d061f094f
parentdded84b580eda97452a715efd340712633fb99f7 (diff)
downloadsamba-bbdd986a476bb497303abed7727b4b0212c4fdbb.tar.gz
samba-bbdd986a476bb497303abed7727b4b0212c4fdbb.tar.xz
samba-bbdd986a476bb497303abed7727b4b0212c4fdbb.zip
Insure fixes.
Jeremy.
-rw-r--r--source/printing/nt_printing.c12
-rw-r--r--source/tdb/tdb.c8
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;