idmap_autorid: remove fstring keystr from autorid_range_config
authorAtul Kulkarni <atul.kulkarni@in.ibm.com>
Fri, 30 Aug 2013 08:19:10 +0000 (13:49 +0530)
committerMichael Adam <obnox@samba.org>
Tue, 1 Oct 2013 08:49:14 +0000 (10:49 +0200)
This is just used to change the behaviour of the function.
Making it more suitable to be used at other places.

Signed-off-by: Atul Kulkarni <atul.kulkarni@in.ibm.com>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/include/idmap_autorid.h
source3/winbindd/idmap_autorid_tdb.c

index f4286f0315dfc84abdbf58dbd3e494597dca8b0a..f39062f0e4d1a4dbcc47cb38aede0eebd0f7b5df 100644 (file)
@@ -46,7 +46,6 @@ struct autorid_global_config {
 
 struct autorid_range_config {
        fstring domsid;
-       fstring keystr;
        uint32_t rangenum;
        uint32_t domain_range_index;
        uint32_t low_id;
index 93fb47350783429e9be39b13d02a3d8e1f00217b..6c57deb8d7fed35f3554f37b1f49d4ffc36e3717 100644 (file)
@@ -33,10 +33,18 @@ static NTSTATUS idmap_autorid_get_domainrange_action(struct db_context *db,
        char *numstr;
        struct autorid_range_config *range;
        struct autorid_global_config *globalcfg;
+       fstring keystr;
 
        range = (struct autorid_range_config *)private_data;
 
-       ret = dbwrap_fetch_uint32_bystring(db, range->keystr,
+       if (range->domain_range_index > 0) {
+               snprintf(keystr, FSTRING_LEN, "%s#%"PRIu32,
+                        range->domsid, range->domain_range_index);
+       } else {
+               fstrcpy(keystr, range->domsid);
+       }
+
+       ret = dbwrap_fetch_uint32_bystring(db, keystr,
                                           &(range->rangenum));
 
        if (NT_STATUS_IS_OK(ret)) {
@@ -80,7 +88,7 @@ static NTSTATUS idmap_autorid_get_domainrange_action(struct db_context *db,
        }
 
        /* store away the new mapping in both directions */
-       ret = dbwrap_store_uint32_bystring(db, range->keystr, rangenum);
+       ret = dbwrap_store_uint32_bystring(db, keystr, rangenum);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(1, ("Fatal error while storing new "
                          "domain->range assignment!\n"));
@@ -94,7 +102,7 @@ static NTSTATUS idmap_autorid_get_domainrange_action(struct db_context *db,
        }
 
        ret = dbwrap_store_bystring(db, numstr,
-                       string_term_tdb_data(range->keystr), TDB_INSERT);
+                       string_term_tdb_data(keystr), TDB_INSERT);
 
        talloc_free(numstr);
        if (!NT_STATUS_IS_OK(ret)) {
@@ -103,7 +111,7 @@ static NTSTATUS idmap_autorid_get_domainrange_action(struct db_context *db,
                goto error;
        }
        DEBUG(5, ("Acquired new range #%d for domain %s "
-                 "(domain_range_index=%"PRIu32")\n", rangenum, range->keystr,
+                 "(domain_range_index=%"PRIu32")\n", rangenum, keystr,
                  range->domain_range_index));
 
        range->rangenum = rangenum;
@@ -121,6 +129,7 @@ NTSTATUS idmap_autorid_get_domainrange(struct db_context *db,
 {
        NTSTATUS ret;
        struct autorid_global_config *globalcfg;
+       fstring keystr;
 
        /*
         * try to find mapping without locking the database,
@@ -128,13 +137,13 @@ NTSTATUS idmap_autorid_get_domainrange(struct db_context *db,
         * read-only mode has been set
         */
        if (range->domain_range_index > 0) {
-               snprintf(range->keystr, FSTRING_LEN, "%s#%"PRIu32,
+               snprintf(keystr, FSTRING_LEN, "%s#%"PRIu32,
                         range->domsid, range->domain_range_index);
        } else {
-               fstrcpy(range->keystr, range->domsid);
+               fstrcpy(keystr, range->domsid);
        }
 
-       ret = dbwrap_fetch_uint32_bystring(db, range->keystr,
+       ret = dbwrap_fetch_uint32_bystring(db, keystr,
                                           &(range->rangenum));
 
        if (!NT_STATUS_IS_OK(ret)) {