X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslapauth.c;h=3a4c304ff940215166bdd4c3d5e7b21c4e5a8ffd;hb=b73915d36f568d349061f60d27fbcc102ecf374a;hp=73b2ceb93da12d5e7509ce91d998fa06af863251;hpb=5f99f7c991e57cb305c4d2871fbe84dbb6eebb0e;p=openldap diff --git a/servers/slapd/slapauth.c b/servers/slapd/slapauth.c index 73b2ceb93d..3a4c304ff9 100644 --- a/servers/slapd/slapauth.c +++ b/servers/slapd/slapauth.c @@ -1,6 +1,6 @@ /* This work is part of OpenLDAP Software . * - * Copyright 2004 The OpenLDAP Foundation. + * Copyright 2004-2007 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * @@ -40,7 +40,7 @@ do_check( Connection *c, Operation *op, struct berval *id ) struct berval authcdn; int rc; - rc = slap_sasl_getdn( c, op, id, NULL, &authcdn, SLAP_GETDN_AUTHCID ); + rc = slap_sasl_getdn( c, op, id, realm, &authcdn, SLAP_GETDN_AUTHCID ); if ( rc != LDAP_SUCCESS ) { fprintf( stderr, "ID: <%s> check failed %d (%s)\n", id->bv_val, rc, @@ -80,7 +80,7 @@ slapauth( int argc, char **argv ) int rc = EXIT_SUCCESS; const char *progname = "slapauth"; Connection conn = {0}; - char opbuf[OPERATION_BUFFER_SIZE]; + OperationBuffer opbuf; Operation *op; slap_tool_init( progname, SLAPAUTH, argc, argv ); @@ -88,9 +88,11 @@ slapauth( int argc, char **argv ) argv = &argv[ optind ]; argc -= optind; - op = (Operation *)opbuf; + op = (Operation *) &opbuf; connection_fake_init( &conn, op, &conn ); + conn.c_sasl_bind_mech = mech; + if ( !BER_BVISNULL( &authzID ) ) { struct berval authzdn;