xref: /netbsd-src/external/bsd/openldap/dist/servers/slapd/back-monitor/bind.c (revision 549b59ed3ccf0d36d3097190a0db27b770f3a839)
1*549b59edSchristos /*	$NetBSD: bind.c,v 1.3 2021/08/14 16:15:00 christos Exp $	*/
24e6df137Slukem 
32de962bdSlukem /* bind.c - monitor backend bind routine */
4d11b170bStron /* $OpenLDAP$ */
52de962bdSlukem /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
62de962bdSlukem  *
7*549b59edSchristos  * Copyright 2001-2021 The OpenLDAP Foundation.
82de962bdSlukem  * Portions Copyright 2001-2003 Pierangelo Masarati.
92de962bdSlukem  * All rights reserved.
102de962bdSlukem  *
112de962bdSlukem  * Redistribution and use in source and binary forms, with or without
122de962bdSlukem  * modification, are permitted only as authorized by the OpenLDAP
132de962bdSlukem  * Public License.
142de962bdSlukem  *
152de962bdSlukem  * A copy of this license is available in file LICENSE in the
162de962bdSlukem  * top-level directory of the distribution or, alternatively, at
172de962bdSlukem  * <http://www.OpenLDAP.org/license.html>.
182de962bdSlukem  */
192de962bdSlukem /* ACKNOWLEDGEMENTS:
202de962bdSlukem  * This work was initially developed by Pierangelo Masarati for inclusion
212de962bdSlukem  * in OpenLDAP Software.
222de962bdSlukem  */
232de962bdSlukem 
24376af7d7Schristos #include <sys/cdefs.h>
25*549b59edSchristos __RCSID("$NetBSD: bind.c,v 1.3 2021/08/14 16:15:00 christos Exp $");
26376af7d7Schristos 
272de962bdSlukem #include "portable.h"
282de962bdSlukem 
292de962bdSlukem #include <stdio.h>
302de962bdSlukem 
312de962bdSlukem #include <slap.h>
322de962bdSlukem #include "back-monitor.h"
332de962bdSlukem 
342de962bdSlukem /*
352de962bdSlukem  * At present, only rootdn can bind with simple bind
362de962bdSlukem  */
372de962bdSlukem 
382de962bdSlukem int
monitor_back_bind(Operation * op,SlapReply * rs)392de962bdSlukem monitor_back_bind( Operation *op, SlapReply *rs )
402de962bdSlukem {
412de962bdSlukem 	Debug(LDAP_DEBUG_ARGS, "==> monitor_back_bind: dn: %s\n",
42*549b59edSchristos 			op->o_req_dn.bv_val );
432de962bdSlukem 
442de962bdSlukem 	if ( be_isroot_pw( op ) ) {
452de962bdSlukem 		return LDAP_SUCCESS;
462de962bdSlukem 	}
472de962bdSlukem 
482de962bdSlukem 	rs->sr_err = LDAP_INVALID_CREDENTIALS;
492de962bdSlukem 	send_ldap_result( op, rs );
502de962bdSlukem 
512de962bdSlukem 	return rs->sr_err;
522de962bdSlukem }
532de962bdSlukem 
54