diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/ldap_server/config.mk | 1 | ||||
-rw-r--r-- | source4/ldap_server/ldap_bind.c | 52 | ||||
-rw-r--r-- | source4/ldap_server/ldap_server.h | 2 |
3 files changed, 53 insertions, 2 deletions
diff --git a/source4/ldap_server/config.mk b/source4/ldap_server/config.mk index 3631679bfa..cb6949ad6d 100644 --- a/source4/ldap_server/config.mk +++ b/source4/ldap_server/config.mk @@ -6,6 +6,7 @@ INIT_OBJ_FILES = \ ldap_server/ldap_server.o \ ldap_server/ldap_backend.o \ + ldap_server/ldap_bind.o \ ldap_server/ldap_rootdse.o \ ldap_server/ldap_parse.o \ ldap_server/ldap_simple_ldb.o diff --git a/source4/ldap_server/ldap_bind.c b/source4/ldap_server/ldap_bind.c new file mode 100644 index 0000000000..d0e24bde29 --- /dev/null +++ b/source4/ldap_server/ldap_bind.c @@ -0,0 +1,52 @@ +/* + Unix SMB/CIFS implementation. + LDAP server + Copyright (C) Stefan Metzmacher 2004 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" + + +NTSTATUS ldapsrv_BindRequest(struct ldapsrv_call *call) +{ + struct ldap_BindRequest *req = &call->request.r.BindRequest; + struct ldapsrv_reply *reply; + struct ldap_BindResponse *resp; + + DEBUG(10, ("BindRequest dn: %s\n",req->dn)); + + reply = ldapsrv_init_reply(call, LDAP_TAG_BindResponse); + if (!reply) { + return NT_STATUS_NO_MEMORY; + } + + resp = &reply->msg.r.BindResponse; + resp->response.resultcode = 0; + resp->response.dn = NULL; + resp->response.errormessage = NULL; + resp->response.referral = NULL; + resp->SASL.secblob = data_blob(NULL, 0); + + return ldapsrv_queue_reply(call, reply); +} + +NTSTATUS ldapsrv_UnbindRequest(struct ldapsrv_call *call) +{ +/* struct ldap_UnbindRequest *req = &call->request->r.UnbindRequest;*/ + DEBUG(10, ("UnbindRequest\n")); + return NT_STATUS_OK; +} diff --git a/source4/ldap_server/ldap_server.h b/source4/ldap_server/ldap_server.h index 57d1bba7e5..e88b266b0a 100644 --- a/source4/ldap_server/ldap_server.h +++ b/source4/ldap_server/ldap_server.h @@ -80,8 +80,6 @@ struct ldapsrv_partition; struct ldapsrv_partition_ops { const char *name; NTSTATUS (*Init)(struct ldapsrv_partition *partition, struct ldapsrv_connection *conn); - NTSTATUS (*Bind)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_BindRequest *r); - NTSTATUS (*Unbind)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_UnbindRequest *r); NTSTATUS (*Search)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_SearchRequest *r); NTSTATUS (*Modify)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ModifyRequest *r); NTSTATUS (*Add)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_AddRequest *r); |