]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapauth.c
Silently restrict index_intlen to 4-255.
[openldap] / servers / slapd / slapauth.c
index 73b2ceb93da12d5e7509ce91d998fa06af863251..92799ac0c9d4c5ff06b99e3522744c93809d15fd 100644 (file)
@@ -1,6 +1,6 @@
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * 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,8 +88,10 @@ slapauth( int argc, char **argv )
        argv = &argv[ optind ];
        argc -= optind;
 
-       op = (Operation *)opbuf;
-       connection_fake_init( &conn, op, &conn );
+       connection_fake_init( &conn, &opbuf, &conn );
+       op = &opbuf.ob_op;
+
+       conn.c_sasl_bind_mech = mech;
 
        if ( !BER_BVISNULL( &authzID ) ) {
                struct berval   authzdn;