summaryrefslogtreecommitdiff
path: root/source3/winbindd
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-07-16 16:51:46 +0200
committerVolker Lendecke <vl@samba.org>2008-08-12 11:28:29 +0200
commit2a3698e5c05b5eb98d4ff47437d5afd191bd4ebd (patch)
tree395e49e3998fec8dae01f00b649871dcc1d96bdc /source3/winbindd
parent340ab6a256802a22c11b7f707748397249075b65 (diff)
downloadsamba-2a3698e5c05b5eb98d4ff47437d5afd191bd4ebd.tar.gz
samba-2a3698e5c05b5eb98d4ff47437d5afd191bd4ebd.tar.bz2
samba-2a3698e5c05b5eb98d4ff47437d5afd191bd4ebd.zip
Remove "idmap alloc config : range" parameter
This was overwritten by "idmap uid/gid" anyway. These are now the range parameters for the alloc backend. (This used to be commit d563a7b80dc3e759069db2cd54d596a1b8c55191)
Diffstat (limited to 'source3/winbindd')
-rw-r--r--source3/winbindd/idmap_ldap.c45
-rw-r--r--source3/winbindd/idmap_tdb.c75
-rw-r--r--source3/winbindd/idmap_tdb2.c91
3 files changed, 76 insertions, 135 deletions
diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c
index 64b176389e..5657cb591e 100644
--- a/source3/winbindd/idmap_ldap.c
+++ b/source3/winbindd/idmap_ldap.c
@@ -263,50 +263,27 @@ static NTSTATUS idmap_ldap_alloc_init(const char *params)
/* load ranges */
- idmap_alloc_ldap->low_uid = 0;
- idmap_alloc_ldap->high_uid = 0;
- idmap_alloc_ldap->low_gid = 0;
- idmap_alloc_ldap->high_gid = 0;
-
- range = lp_parm_const_string(-1, "idmap alloc config", "range", NULL);
- if (range && range[0]) {
- unsigned low_id, high_id;
-
- if (sscanf(range, "%u - %u", &low_id, &high_id) == 2) {
- if (low_id < high_id) {
- idmap_alloc_ldap->low_gid = low_id;
- idmap_alloc_ldap->low_uid = low_id;
- idmap_alloc_ldap->high_gid = high_id;
- idmap_alloc_ldap->high_uid = high_id;
- } else {
- DEBUG(1, ("ERROR: invalid idmap alloc range "
- "[%s]", range));
- }
- } else {
- DEBUG(1, ("ERROR: invalid syntax for idmap alloc "
- "config:range [%s]", range));
- }
- }
-
- if (lp_idmap_uid(&low_uid, &high_uid)) {
- idmap_alloc_ldap->low_uid = low_uid;
- idmap_alloc_ldap->high_uid = high_uid;
+ if (!lp_idmap_uid(&low_uid, &high_uid)
+ || !lp_idmap_gid(&low_gid, &high_gid)) {
+ DEBUG(1, ("idmap uid or idmap gid missing\n"));
+ ret = NT_STATUS_UNSUCCESSFUL;
+ goto done;
}
- if (lp_idmap_gid(&low_gid, &high_gid)) {
- idmap_alloc_ldap->low_gid = low_gid;
- idmap_alloc_ldap->high_gid= high_gid;
- }
+ idmap_alloc_ldap->low_uid = low_uid;
+ idmap_alloc_ldap->high_uid = high_uid;
+ idmap_alloc_ldap->low_gid = low_gid;
+ idmap_alloc_ldap->high_gid= high_gid;
if (idmap_alloc_ldap->high_uid <= idmap_alloc_ldap->low_uid) {
- DEBUG(1, ("idmap uid range missing or invalid\n"));
+ DEBUG(1, ("idmap uid range invalid\n"));
DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
ret = NT_STATUS_UNSUCCESSFUL;
goto done;
}
if (idmap_alloc_ldap->high_gid <= idmap_alloc_ldap->low_gid) {
- DEBUG(1, ("idmap gid range missing or invalid\n"));
+ DEBUG(1, ("idmap gid range invalid\n"));
DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
ret = NT_STATUS_UNSUCCESSFUL;
goto done;
diff --git a/source3/winbindd/idmap_tdb.c b/source3/winbindd/idmap_tdb.c
index 3f6cccd35a..2b9520d54d 100644
--- a/source3/winbindd/idmap_tdb.c
+++ b/source3/winbindd/idmap_tdb.c
@@ -318,6 +318,7 @@ static NTSTATUS idmap_tdb_alloc_init( const char *params )
uid_t high_uid = 0;
gid_t low_gid = 0;
gid_t high_gid = 0;
+ uint32_t low_id, high_id;
/* use our own context here */
ctx = talloc_new(NULL);
@@ -335,67 +336,47 @@ static NTSTATUS idmap_tdb_alloc_init( const char *params )
talloc_free(ctx);
/* load ranges */
- idmap_tdb_state.low_uid = 0;
- idmap_tdb_state.high_uid = 0;
- idmap_tdb_state.low_gid = 0;
- idmap_tdb_state.high_gid = 0;
-
- range = lp_parm_const_string(-1, "idmap alloc config", "range", NULL);
- if (range && range[0]) {
- unsigned low_id, high_id;
-
- if (sscanf(range, "%u - %u", &low_id, &high_id) == 2) {
- if (low_id < high_id) {
- idmap_tdb_state.low_gid = idmap_tdb_state.low_uid = low_id;
- idmap_tdb_state.high_gid = idmap_tdb_state.high_uid = high_id;
- } else {
- DEBUG(1, ("ERROR: invalid idmap alloc range [%s]", range));
- }
- } else {
- DEBUG(1, ("ERROR: invalid syntax for idmap alloc config:range [%s]", range));
- }
- }
- /* Create high water marks for group and user id */
- if (lp_idmap_uid(&low_uid, &high_uid)) {
- idmap_tdb_state.low_uid = low_uid;
- idmap_tdb_state.high_uid = high_uid;
+ if (!lp_idmap_uid(&low_uid, &high_uid)
+ || !lp_idmap_gid(&low_gid, &high_gid)) {
+ DEBUG(1, ("idmap uid or idmap gid missing\n"));
+ return NT_STATUS_UNSUCCESSFUL;
}
- if (lp_idmap_gid(&low_gid, &high_gid)) {
- idmap_tdb_state.low_gid = low_gid;
- idmap_tdb_state.high_gid = high_gid;
- }
+ idmap_tdb_state.low_uid = low_uid;
+ idmap_tdb_state.high_uid = high_uid;
+ idmap_tdb_state.low_gid = low_gid;
+ idmap_tdb_state.high_gid = high_gid;
if (idmap_tdb_state.high_uid <= idmap_tdb_state.low_uid) {
DEBUG(1, ("idmap uid range missing or invalid\n"));
DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
return NT_STATUS_UNSUCCESSFUL;
- } else {
- uint32 low_id;
-
- if (((low_id = tdb_fetch_int32(idmap_alloc_tdb, HWM_USER)) == -1) ||
- (low_id < idmap_tdb_state.low_uid)) {
- if (tdb_store_int32(idmap_alloc_tdb, HWM_USER, idmap_tdb_state.low_uid) == -1) {
- DEBUG(0, ("Unable to initialise user hwm in idmap database\n"));
- return NT_STATUS_INTERNAL_DB_ERROR;
- }
- }
}
if (idmap_tdb_state.high_gid <= idmap_tdb_state.low_gid) {
DEBUG(1, ("idmap gid range missing or invalid\n"));
DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
return NT_STATUS_UNSUCCESSFUL;
- } else {
- uint32 low_id;
-
- if (((low_id = tdb_fetch_int32(idmap_alloc_tdb, HWM_GROUP)) == -1) ||
- (low_id < idmap_tdb_state.low_gid)) {
- if (tdb_store_int32(idmap_alloc_tdb, HWM_GROUP, idmap_tdb_state.low_gid) == -1) {
- DEBUG(0, ("Unable to initialise group hwm in idmap database\n"));
- return NT_STATUS_INTERNAL_DB_ERROR;
- }
+ }
+
+ if (((low_id = tdb_fetch_int32(idmap_alloc_tdb, HWM_USER)) == -1) ||
+ (low_id < idmap_tdb_state.low_uid)) {
+ if (tdb_store_int32(idmap_alloc_tdb, HWM_USER,
+ idmap_tdb_state.low_uid) == -1) {
+ DEBUG(0, ("Unable to initialise user hwm in idmap "
+ "database\n"));
+ return NT_STATUS_INTERNAL_DB_ERROR;
+ }
+ }
+
+ if (((low_id = tdb_fetch_int32(idmap_alloc_tdb, HWM_GROUP)) == -1) ||
+ (low_id < idmap_tdb_state.low_gid)) {
+ if (tdb_store_int32(idmap_alloc_tdb, HWM_GROUP,
+ idmap_tdb_state.low_gid) == -1) {
+ DEBUG(0, ("Unable to initialise group hwm in idmap "
+ "database\n"));
+ return NT_STATUS_INTERNAL_DB_ERROR;
}
}
diff --git a/source3/winbindd/idmap_tdb2.c b/source3/winbindd/idmap_tdb2.c
index d30b6459fb..cb5e9ec6d4 100644
--- a/source3/winbindd/idmap_tdb2.c
+++ b/source3/winbindd/idmap_tdb2.c
@@ -128,62 +128,46 @@ static NTSTATUS idmap_tdb2_alloc_load(void)
uid_t high_uid = 0;
gid_t low_gid = 0;
gid_t high_gid = 0;
-
- /* load ranges */
- idmap_tdb2_state.low_uid = 0;
- idmap_tdb2_state.high_uid = 0;
- idmap_tdb2_state.low_gid = 0;
- idmap_tdb2_state.high_gid = 0;
+ uint32 low_id, high_id;
/* see if a idmap script is configured */
- idmap_tdb2_state.idmap_script = lp_parm_const_string(-1, "idmap", "script", NULL);
+ idmap_tdb2_state.idmap_script = lp_parm_const_string(-1, "idmap",
+ "script", NULL);
if (idmap_tdb2_state.idmap_script) {
- DEBUG(1, ("using idmap script '%s'\n", idmap_tdb2_state.idmap_script));
- }
-
- range = lp_parm_const_string(-1, "idmap alloc config", "range", NULL);
- if (range && range[0]) {
- unsigned low_id, high_id;
- if (sscanf(range, "%u - %u", &low_id, &high_id) == 2) {
- if (low_id < high_id) {
- idmap_tdb2_state.low_gid = idmap_tdb2_state.low_uid = low_id;
- idmap_tdb2_state.high_gid = idmap_tdb2_state.high_uid = high_id;
- } else {
- DEBUG(1, ("ERROR: invalid idmap alloc range [%s]", range));
- }
- } else {
- DEBUG(1, ("ERROR: invalid syntax for idmap alloc config:range [%s]", range));
- }
+ DEBUG(1, ("using idmap script '%s'\n",
+ idmap_tdb2_state.idmap_script));
}
+ /* load ranges */
+
/* Create high water marks for group and user id */
- if (lp_idmap_uid(&low_uid, &high_uid)) {
- idmap_tdb2_state.low_uid = low_uid;
- idmap_tdb2_state.high_uid = high_uid;
+ if (!lp_idmap_uid(&low_uid, &high_uid)
+ || !lp_idmap_gid(&low_gid, &high_gid)) {
+ DEBUG(1, ("idmap uid or idmap gid missing\n"));
+ return NT_STATUS_UNSUCCESSFUL;
}
- if (lp_idmap_gid(&low_gid, &high_gid)) {
- idmap_tdb2_state.low_gid = low_gid;
- idmap_tdb2_state.high_gid = high_gid;
- }
+ idmap_tdb2_state.low_uid = low_uid;
+ idmap_tdb2_state.high_uid = high_uid;
+ idmap_tdb2_state.low_gid = low_gid;
+ idmap_tdb2_state.high_gid = high_gid;
if (idmap_tdb2_state.high_uid <= idmap_tdb2_state.low_uid) {
DEBUG(1, ("idmap uid range missing or invalid\n"));
DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
return NT_STATUS_UNSUCCESSFUL;
- } else {
- uint32 low_id;
-
- if (((low_id = dbwrap_fetch_int32(idmap_tdb2_perm,
- HWM_USER)) == -1) ||
- (low_id < idmap_tdb2_state.low_uid)) {
- if (dbwrap_store_int32(
- idmap_tdb2_perm, HWM_USER,
- idmap_tdb2_state.low_uid) == -1) {
- DEBUG(0, ("Unable to initialise user hwm in idmap database\n"));
- return NT_STATUS_INTERNAL_DB_ERROR;
- }
+ }
+
+ if (((low_id = dbwrap_fetch_int32(idmap_tdb2_perm,
+ HWM_USER)) == -1) ||
+ (low_id < idmap_tdb2_state.low_uid)) {
+ if (dbwrap_store_int32(
+ idmap_tdb2_perm, HWM_USER,
+ idmap_tdb2_state.low_uid) == -1) {
+ DEBUG(0, ("Unable to initialise user hwm in idmap "
+ "database\n"));
+ return NT_STATUS_INTERNAL_DB_ERROR;
}
}
@@ -191,18 +175,17 @@ static NTSTATUS idmap_tdb2_alloc_load(void)
DEBUG(1, ("idmap gid range missing or invalid\n"));
DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
return NT_STATUS_UNSUCCESSFUL;
- } else {
- uint32 low_id;
-
- if (((low_id = dbwrap_fetch_int32(idmap_tdb2_perm,
- HWM_GROUP)) == -1) ||
- (low_id < idmap_tdb2_state.low_gid)) {
- if (dbwrap_store_int32(
- idmap_tdb2_perm, HWM_GROUP,
- idmap_tdb2_state.low_gid) == -1) {
- DEBUG(0, ("Unable to initialise group hwm in idmap database\n"));
- return NT_STATUS_INTERNAL_DB_ERROR;
- }
+ }
+
+ if (((low_id = dbwrap_fetch_int32(idmap_tdb2_perm,
+ HWM_GROUP)) == -1) ||
+ (low_id < idmap_tdb2_state.low_gid)) {
+ if (dbwrap_store_int32(
+ idmap_tdb2_perm, HWM_GROUP,
+ idmap_tdb2_state.low_gid) == -1) {
+ DEBUG(0, ("Unable to initialise group hwm in idmap "
+ "database\n"));
+ return NT_STATUS_INTERNAL_DB_ERROR;
}
}