1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

r26648: Move detection of global catalog captability to a central function, so

this can be shared with the CLDAP server (for the netlogon reply).

Andrew Bartlett
(This used to be commit 592c10ae11)
This commit is contained in:
Andrew Bartlett
2008-01-03 04:40:24 -06:00
committed by Stefan Metzmacher
parent bcdc491058
commit 636c9a7c71
2 changed files with 37 additions and 20 deletions

View File

@ -447,11 +447,7 @@ static NTSTATUS add_socket(struct event_context *event_context,
{
uint16_t port = 389;
NTSTATUS status;
const char *attrs[] = { "options", NULL };
int ret;
struct ldb_result *res;
struct ldb_context *ldb;
int options;
status = stream_setup_socket(event_context, model_ops, &ldap_stream_ops,
"ipv4", address, &port,
@ -481,22 +477,7 @@ static NTSTATUS add_socket(struct event_context *event_context,
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
/* Query cn=ntds settings,.... */
ret = ldb_search(ldb, samdb_ntds_settings_dn(ldb), LDB_SCOPE_BASE, NULL, attrs, &res);
if (ret) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
if (res->count != 1) {
talloc_free(res);
return NT_STATUS_NOT_FOUND;
}
options = ldb_msg_find_attr_as_int(res->msgs[0], "options", 0);
talloc_free(res);
talloc_free(ldb);
/* if options attribute has the 0x00000001 flag set, then enable the global catlog */
if (options & 0x000000001) {
if (samdb_is_gc(ldb)) {
port = 3268;
status = stream_setup_socket(event_context, model_ops, &ldap_stream_ops,
"ipv4", address, &port,