]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapauth.c
Use AC_STRERROR_R
[openldap] / servers / slapd / slapauth.c
index 8e998c5b0f78198306aba82377c9caa0dc078223..04d35afcd91cdba2aaab8976c219e3cd52d7ed88 100644 (file)
 static int
 do_check( Connection *c, Operation *op, struct berval *id )
 {
-       struct berval   authcDN;
+       struct berval   authcdn;
        int             rc;
 
-       rc = slap_sasl_getdn( c, op, id, NULL, &authcDN, SLAP_GETDN_AUTHCID );
+       rc = slap_sasl_getdn( c, op, id, NULL, &authcdn, SLAP_GETDN_AUTHCID );
        if ( rc != LDAP_SUCCESS ) {
                fprintf( stderr, "ID: <%s> check failed %d (%s)\n",
                                id->bv_val, rc,
@@ -49,7 +49,7 @@ do_check( Connection *c, Operation *op, struct berval *id )
                        
        } else {
                if ( !BER_BVISNULL( &authzID ) ) {
-                       rc = slap_sasl_authorized( op, &authcDN, &authzID );
+                       rc = slap_sasl_authorized( op, &authcdn, &authzID );
 
                        fprintf( stderr,
                                        "ID:      <%s>\n"
@@ -57,7 +57,7 @@ do_check( Connection *c, Operation *op, struct berval *id )
                                        "authzDN: <%s>\n"
                                        "authorization %s\n",
                                        id->bv_val,
-                                       authcDN.bv_val,
+                                       authcdn.bv_val,
                                        authzID.bv_val,
                                        rc == LDAP_SUCCESS ? "OK" : "failed" );
 
@@ -65,8 +65,8 @@ do_check( Connection *c, Operation *op, struct berval *id )
                        fprintf( stderr, "ID: <%s> check succeeded\n"
                                        "authcID:     <%s>\n",
                                        id->bv_val,
-                                       authcDN.bv_val );
-                       op->o_tmpfree( authcDN.bv_val, op->o_tmpmemctx );
+                                       authcdn.bv_val );
+                       op->o_tmpfree( authcdn.bv_val, op->o_tmpmemctx );
                }
                rc = 0;
        }
@@ -96,9 +96,9 @@ slapauth( int argc, char **argv )
        connection_fake_init( &conn, &op, &conn );
 
        if ( !BER_BVISNULL( &authzID ) ) {
-               struct berval   authzDN;
+               struct berval   authzdn;
                
-               rc = slap_sasl_getdn( &conn, &op, &authzID, NULL, &authzDN,
+               rc = slap_sasl_getdn( &conn, &op, &authzID, NULL, &authzdn,
                                SLAP_GETDN_AUTHZID );
                if ( rc != LDAP_SUCCESS ) {
                        fprintf( stderr, "authzID: <%s> check failed %d (%s)\n",
@@ -109,7 +109,7 @@ slapauth( int argc, char **argv )
                        goto destroy;
                } 
 
-               authzID = authzDN;
+               authzID = authzdn;
        }
 
 
@@ -120,29 +120,31 @@ slapauth( int argc, char **argv )
                }
 
                for ( ; argc--; argv++ ) {
-                       struct berval   authzDN;
+                       struct berval   authzdn;
                
                        ber_str2bv( argv[ 0 ], 0, 0, &authzID );
 
-                       rc = slap_sasl_getdn( &conn, &op, &authzID, NULL, &authzDN,
+                       rc = slap_sasl_getdn( &conn, &op, &authzID, NULL, &authzdn,
                                        SLAP_GETDN_AUTHZID );
                        if ( rc != LDAP_SUCCESS ) {
                                fprintf( stderr, "authzID: <%s> check failed %d (%s)\n",
                                                authzID.bv_val, rc,
                                                ldap_err2string( rc ) );
-                               rc = 1;
+                               rc = -1;
                                BER_BVZERO( &authzID );
-                               goto destroy;
+                               if ( !continuemode ) {
+                                       goto destroy;
+                               }
                        }
 
-                       authzID = authzDN;
+                       authzID = authzdn;
 
                        rc = do_check( &conn, &op, &authcID );
 
                        op.o_tmpfree( authzID.bv_val, op.o_tmpmemctx );
                        BER_BVZERO( &authzID );
 
-                       if ( rc ) {
+                       if ( rc && !continuemode ) {
                                goto destroy;
                        }
                }
@@ -157,7 +159,7 @@ slapauth( int argc, char **argv )
 
                rc = do_check( &conn, &op, &id );
 
-               if ( rc ) {
+               if ( rc && !continuemode ) {
                        goto destroy;
                }
        }