diff options
Diffstat (limited to 'source4/ldap_server')
-rw-r--r-- | source4/ldap_server/config.mk | 16 | ||||
-rw-r--r-- | source4/ldap_server/ldap_backend.c | 2 | ||||
-rw-r--r-- | source4/ldap_server/ldap_bind.c | 2 | ||||
-rw-r--r-- | source4/ldap_server/ldap_server.c | 5 |
4 files changed, 15 insertions, 10 deletions
diff --git a/source4/ldap_server/config.mk b/source4/ldap_server/config.mk index 5f8c530db9..65f5b17f9a 100644 --- a/source4/ldap_server/config.mk +++ b/source4/ldap_server/config.mk @@ -4,13 +4,7 @@ # Start SUBSYSTEM LDAP [MODULE::LDAP] INIT_FUNCTION = server_service_ldap_init -SUBSYSTEM = service -PRIVATE_PROTO_HEADER = proto.h -OBJ_FILES = \ - ldap_server.o \ - ldap_backend.o \ - ldap_bind.o \ - ldap_extended.o +SUBSYSTEM = smbd PRIVATE_DEPENDENCIES = CREDENTIALS \ LIBCLI_LDAP SAMDB \ process_model \ @@ -18,3 +12,11 @@ PRIVATE_DEPENDENCIES = CREDENTIALS \ LIBSAMBA-HOSTCONFIG # End SUBSYSTEM SMB ####################### + +LDAP_OBJ_FILES = $(addprefix $(ldap_serversrcdir)/, \ + ldap_server.o \ + ldap_backend.o \ + ldap_bind.o \ + ldap_extended.o) + +$(eval $(call proto_header_template,$(ldap_serversrcdir)/proto.h,$(LDAP_OBJ_FILES:.o=.c))) diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c index 9b43d7bd74..9047773529 100644 --- a/source4/ldap_server/ldap_backend.c +++ b/source4/ldap_server/ldap_backend.c @@ -27,6 +27,7 @@ #include "auth/credentials/credentials.h" #include "auth/gensec/gensec.h" #include "param/param.h" +#include "smbd/service_stream.h" #define VALID_DN_SYNTAX(dn,i) do {\ if (!(dn)) {\ @@ -56,6 +57,7 @@ static int map_ldb_error(struct ldb_context *ldb, int err, const char **errstrin NTSTATUS ldapsrv_backend_Init(struct ldapsrv_connection *conn) { conn->ldb = ldb_wrap_connect(conn, + conn->connection->event.ctx, conn->lp_ctx, lp_sam_url(conn->lp_ctx), conn->session_info, diff --git a/source4/ldap_server/ldap_bind.c b/source4/ldap_server/ldap_bind.c index f2c974ae3f..f37ef31c0a 100644 --- a/source4/ldap_server/ldap_bind.c +++ b/source4/ldap_server/ldap_bind.c @@ -44,7 +44,7 @@ static NTSTATUS ldapsrv_BindSimple(struct ldapsrv_call *call) DEBUG(10, ("BindSimple dn: %s\n",req->dn)); - status = crack_auto_name_to_nt4_name(call, call->conn->lp_ctx, req->dn, &nt4_domain, &nt4_account); + status = crack_auto_name_to_nt4_name(call, call->conn->connection->event.ctx, call->conn->lp_ctx, req->dn, &nt4_domain, &nt4_account); if (NT_STATUS_IS_OK(status)) { status = authenticate_username_pw(call, call->conn->connection->event.ctx, diff --git a/source4/ldap_server/ldap_server.c b/source4/ldap_server/ldap_server.c index 11cb63e07b..197f84692c 100644 --- a/source4/ldap_server/ldap_server.c +++ b/source4/ldap_server/ldap_server.c @@ -409,7 +409,7 @@ static void ldapsrv_accept(struct stream_connection *c) conn->server_credentials = server_credentials; /* Connections start out anonymous */ - if (!NT_STATUS_IS_OK(auth_anonymous_session_info(conn, conn->lp_ctx, &conn->session_info))) { + if (!NT_STATUS_IS_OK(auth_anonymous_session_info(conn, c->event.ctx, conn->lp_ctx, &conn->session_info))) { ldapsrv_terminate_connection(conn, "failed to setup anonymous session info"); return; } @@ -478,7 +478,8 @@ static NTSTATUS add_socket(struct event_context *event_context, } /* Load LDAP database */ - ldb = samdb_connect(ldap_service, lp_ctx, system_session(ldap_service, lp_ctx)); + ldb = samdb_connect(ldap_service, ldap_service->task->event_ctx, + lp_ctx, system_session(ldap_service, lp_ctx)); if (!ldb) { return NT_STATUS_INTERNAL_DB_CORRUPTION; } |