diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/idmap.h | 1 | ||||
-rw-r--r-- | source3/winbindd/idmap_ldap.c | 98 | ||||
-rw-r--r-- | source3/winbindd/idmap_tdb.c | 46 | ||||
-rw-r--r-- | source3/winbindd/idmap_tdb2.c | 49 |
4 files changed, 0 insertions, 194 deletions
diff --git a/source3/include/idmap.h b/source3/include/idmap.h index e32ade709f..b3f9af47d0 100644 --- a/source3/include/idmap.h +++ b/source3/include/idmap.h @@ -62,7 +62,6 @@ struct idmap_alloc_methods { NTSTATUS (*init)(const char *compat_params); NTSTATUS (*allocate_id)(struct unixid *id); - NTSTATUS (*get_id_hwm)(struct unixid *id); NTSTATUS (*set_id_hwm)(struct unixid *id); /* Called when backend is unloaded */ diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c index 994a6bc077..453d31aeca 100644 --- a/source3/winbindd/idmap_ldap.c +++ b/source3/winbindd/idmap_ldap.c @@ -512,103 +512,6 @@ done: } /********************************** - Get current highest id. -**********************************/ - -static NTSTATUS idmap_ldap_get_hwm(struct unixid *xid) -{ - TALLOC_CTX *memctx; - NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; - int rc = LDAP_SERVER_DOWN; - int count = 0; - LDAPMessage *result = NULL; - LDAPMessage *entry = NULL; - char *id_str; - char *filter = NULL; - const char **attr_list; - const char *type; - - /* Only do query if we are online */ - if (idmap_is_offline()) { - return NT_STATUS_FILE_IS_OFFLINE; - } - - if ( ! idmap_alloc_ldap) { - return NT_STATUS_UNSUCCESSFUL; - } - - memctx = talloc_new(idmap_alloc_ldap); - if ( ! memctx) { - DEBUG(0, ("Out of memory!\n")); - return NT_STATUS_NO_MEMORY; - } - - /* get type */ - switch (xid->type) { - - case ID_TYPE_UID: - type = get_attr_key2string(idpool_attr_list, - LDAP_ATTR_UIDNUMBER); - break; - - case ID_TYPE_GID: - type = get_attr_key2string(idpool_attr_list, - LDAP_ATTR_GIDNUMBER); - break; - - default: - DEBUG(2, ("Invalid ID type (0x%x)\n", xid->type)); - return NT_STATUS_INVALID_PARAMETER; - } - - filter = talloc_asprintf(memctx, "(objectClass=%s)", LDAP_OBJ_IDPOOL); - CHECK_ALLOC_DONE(filter); - - attr_list = get_attr_list(memctx, idpool_attr_list); - CHECK_ALLOC_DONE(attr_list); - - rc = smbldap_search(idmap_alloc_ldap->smbldap_state, - idmap_alloc_ldap->suffix, - LDAP_SCOPE_SUBTREE, filter, - attr_list, 0, &result); - - if (rc != LDAP_SUCCESS) { - DEBUG(0,("%s object not found\n", LDAP_OBJ_IDPOOL)); - goto done; - } - - talloc_autofree_ldapmsg(memctx, result); - - count = ldap_count_entries(idmap_alloc_ldap->smbldap_state->ldap_struct, - result); - if (count != 1) { - DEBUG(0,("Single %s object not found\n", LDAP_OBJ_IDPOOL)); - goto done; - } - - entry = ldap_first_entry(idmap_alloc_ldap->smbldap_state->ldap_struct, - result); - - id_str = smbldap_talloc_single_attribute(idmap_alloc_ldap->smbldap_state->ldap_struct, - entry, type, memctx); - if ( ! id_str) { - DEBUG(0,("%s attribute not found\n", type)); - goto done; - } - if ( ! id_str) { - DEBUG(0,("Out of memory\n")); - ret = NT_STATUS_NO_MEMORY; - goto done; - } - - xid->id = strtoul(id_str, NULL, 10); - - ret = NT_STATUS_OK; -done: - talloc_free(memctx); - return ret; -} -/********************************** Set highest id. **********************************/ @@ -1517,7 +1420,6 @@ static struct idmap_alloc_methods idmap_ldap_alloc_methods = { .init = idmap_ldap_alloc_init, .allocate_id = idmap_ldap_allocate_id, - .get_id_hwm = idmap_ldap_get_hwm, .set_id_hwm = idmap_ldap_set_hwm, .close_fn = idmap_ldap_alloc_close, }; diff --git a/source3/winbindd/idmap_tdb.c b/source3/winbindd/idmap_tdb.c index 6acf1e4573..af91ee9278 100644 --- a/source3/winbindd/idmap_tdb.c +++ b/source3/winbindd/idmap_tdb.c @@ -476,51 +476,6 @@ static NTSTATUS idmap_tdb_allocate_id(struct unixid *xid) } /********************************** - Get current highest id. -**********************************/ - -static NTSTATUS idmap_tdb_get_hwm(struct unixid *xid) -{ - const char *hwmkey; - const char *hwmtype; - uint32_t hwm; - uint32_t high_hwm; - - /* Get current high water mark */ - switch (xid->type) { - - case ID_TYPE_UID: - hwmkey = HWM_USER; - hwmtype = "UID"; - high_hwm = idmap_tdb_state.high_uid; - break; - - case ID_TYPE_GID: - hwmkey = HWM_GROUP; - hwmtype = "GID"; - high_hwm = idmap_tdb_state.high_gid; - break; - - default: - return NT_STATUS_INVALID_PARAMETER; - } - - if ((hwm = dbwrap_fetch_int32(idmap_alloc_db, hwmkey)) == -1) { - return NT_STATUS_INTERNAL_DB_ERROR; - } - - xid->id = hwm; - - /* Warn if it is out of range */ - if (hwm >= high_hwm) { - DEBUG(0, ("Warning: %s range full!! (max: %lu)\n", - hwmtype, (unsigned long)high_hwm)); - } - - return NT_STATUS_OK; -} - -/********************************** Set high id. **********************************/ @@ -1018,7 +973,6 @@ static struct idmap_alloc_methods db_alloc_methods = { .init = idmap_tdb_alloc_init, .allocate_id = idmap_tdb_allocate_id, - .get_id_hwm = idmap_tdb_get_hwm, .set_id_hwm = idmap_tdb_set_hwm, .close_fn = idmap_tdb_alloc_close }; diff --git a/source3/winbindd/idmap_tdb2.c b/source3/winbindd/idmap_tdb2.c index bd30a25393..d5044ed5c6 100644 --- a/source3/winbindd/idmap_tdb2.c +++ b/source3/winbindd/idmap_tdb2.c @@ -298,54 +298,6 @@ static NTSTATUS idmap_tdb2_allocate_id(struct unixid *xid) } /* - Get current highest id. -*/ -static NTSTATUS idmap_tdb2_get_hwm(struct unixid *xid) -{ - const char *hwmkey; - const char *hwmtype; - uint32_t hwm; - uint32_t high_hwm; - NTSTATUS status; - - status = idmap_tdb2_open_db(); - NT_STATUS_NOT_OK_RETURN(status); - - /* Get current high water mark */ - switch (xid->type) { - - case ID_TYPE_UID: - hwmkey = HWM_USER; - hwmtype = "UID"; - high_hwm = idmap_tdb2_state.high_uid; - break; - - case ID_TYPE_GID: - hwmkey = HWM_GROUP; - hwmtype = "GID"; - high_hwm = idmap_tdb2_state.high_gid; - break; - - default: - return NT_STATUS_INVALID_PARAMETER; - } - - if ((hwm = dbwrap_fetch_int32(idmap_tdb2, hwmkey)) == -1) { - return NT_STATUS_INTERNAL_DB_ERROR; - } - - xid->id = hwm; - - /* Warn if it is out of range */ - if (hwm >= high_hwm) { - DEBUG(0, ("Warning: %s range full!! (max: %lu)\n", - hwmtype, (unsigned long)high_hwm)); - } - - return NT_STATUS_OK; -} - -/* Set high id. */ static NTSTATUS idmap_tdb2_set_hwm(struct unixid *xid) @@ -945,7 +897,6 @@ static struct idmap_methods db_methods = { static struct idmap_alloc_methods db_alloc_methods = { .init = idmap_tdb2_alloc_init, .allocate_id = idmap_tdb2_allocate_id, - .get_id_hwm = idmap_tdb2_get_hwm, .set_id_hwm = idmap_tdb2_set_hwm, .close_fn = idmap_tdb2_alloc_close }; |