]> git.sur5r.net Git - openldap/commitdiff
s/LDAP_OPT_MATCHED_STRING/LDAP_OPT_MATCHED_DN/
authorKurt Zeilenga <kurt@openldap.org>
Sat, 5 Jun 1999 20:18:32 +0000 (20:18 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sat, 5 Jun 1999 20:18:32 +0000 (20:18 +0000)
Added place holder for LDAP_FILTER_EXTENDED code.
Added assert() here and there and removed lint.
Removed version promotion code (version must be manually set).
Added messages.c to MSVC project.

16 files changed:
libraries/libldap/add.c
libraries/libldap/bind.c
libraries/libldap/compare.c
libraries/libldap/controls.c
libraries/libldap/delete.c
libraries/libldap/error.c
libraries/libldap/extended.c
libraries/libldap/free.c
libraries/libldap/getattr.c
libraries/libldap/getentry.c
libraries/libldap/libldap.dsp
libraries/libldap/messages.c
libraries/libldap/modrdn.c
libraries/libldap/options.c
libraries/libldap/sbind.c
libraries/libldap/search.c

index 56ce242e485a48504b7a706dfbc8a4f49a7fb56c..d945988a390d07881b641ed7bdbd64a9e31708ff 100644 (file)
@@ -87,7 +87,10 @@ ldap_add( LDAP *ld, LDAP_CONST char *dn, LDAPMod **attrs )
  *     rc = ldap_add_ext( ld, dn, attrs, NULL, NULL, &msgid );
  */
 int
-ldap_add_ext( LDAP *ld, LDAP_CONST char *dn, LDAPMod **attrs,
+ldap_add_ext(
+       LDAP *ld,
+       LDAP_CONST char *dn,
+       LDAPMod **attrs,
        LDAPControl **sctrls,
        LDAPControl **cctrls,
        int     *msgidp )
@@ -96,6 +99,10 @@ ldap_add_ext( LDAP *ld, LDAP_CONST char *dn, LDAPMod **attrs,
        int             i, rc;
 
        Debug( LDAP_DEBUG_TRACE, "ldap_add\n", 0, 0, 0 );
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+       assert( dn != NULL );
+       assert( msgidp != NULL );
 
        /* create a message to send */
        if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
index 9fc07d4c4002caf92fd282da4262a69e42a6ac7d..6f807e789e38df18249ccc808a3c4244056633e2 100644 (file)
@@ -135,5 +135,8 @@ void
 ldap_set_rebind_proc( LDAP *ld, int (*rebindproc)( LDAP *ld, char **dnp,
        char **passwdp, int *authmethodp, int freeit ))
 {
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        ld->ld_rebindproc = rebindproc;
 }
index 072def5471bed8245b17c072f6912dbc0d365fec..21a99aa80d3a1ec26dda6af0d06b7e306133ec0c 100644 (file)
@@ -54,6 +54,12 @@ ldap_compare_ext(
 
        Debug( LDAP_DEBUG_TRACE, "ldap_compare\n", 0, 0, 0 );
 
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+       assert( dn != NULL );
+       assert( attr != NULL );
+       assert( msgidp != NULL );
+
        /* create a message to send */
        if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
                return( LDAP_NO_MEMORY );
index 13a0b13a09776b81515ee6b1191dc3e5b06279c1..f330685616d5e82f627e5d3d2f5dc8ac83254958 100644 (file)
@@ -218,6 +218,8 @@ int ldap_int_get_controls LDAP_P((
 void
 ldap_control_free( LDAPControl *c )
 {
+       assert( c != NULL );
+
        if ( c != NULL ) {
                if( c->ldctl_oid != NULL) {
                        LDAP_FREE( c->ldctl_oid );
@@ -237,6 +239,8 @@ ldap_control_free( LDAPControl *c )
 void
 ldap_controls_free( LDAPControl **controls )
 {
+       assert( controls != NULL );
+
        if ( controls != NULL ) {
                LDAPControl *c;
 
index b132dde3b228c1db84097a096957fc5ed168812a..b5602db2eb943abefd7dea3336e3a659b2cd572a 100644 (file)
@@ -48,6 +48,11 @@ ldap_delete_ext(
 
        Debug( LDAP_DEBUG_TRACE, "ldap_delete\n", 0, 0, 0 );
 
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+       assert( dn != NULL );
+       assert( msgidp != NULL );
+
        /* create a message to send */
        if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
                ld->ld_errno = LDAP_NO_MEMORY;
index 93e586363dc8f3a31fbaf38ffc21e233f9db7dd6..41147c7609ffd3f8f16d64f81fcb44afc2726700 100644 (file)
@@ -120,15 +120,15 @@ ldap_err2string( int err )
 void
 ldap_perror( LDAP *ld, LDAP_CONST char *str )
 {
-       char *s;
+       const char *s;
        struct ldaperror *e;
        Debug( LDAP_DEBUG_TRACE, "ldap_perror\n", 0, 0, 0 );
 
        assert( ld != NULL );
        assert( LDAP_VALID( ld ) );
-       assert( s );
+       assert( str );
 
-       s = ( str != NULL ) ? (char *) str : "ldap_perror";
+       s = ( str != NULL ) ? str : "ldap_perror";
 
        if ( ld == NULL ) {
                perror( s );
index 72657c3476a84cd4af62f66bc2c765fa06cd2017..31b4dd146c4337bc81d03899f48ee48d0bd7c63e 100644 (file)
@@ -49,10 +49,6 @@ ldap_extended_operation(
        assert( msgidp != NULL );
 
        /* must be version 3 (or greater) */
-       if ( ld->ld_version == 0 ) {
-               ld->ld_version = LDAP_VERSION3;
-       }
-
        if ( ld->ld_version < LDAP_VERSION3 ) {
                ld->ld_errno = LDAP_NOT_SUPPORTED;
                return( ld->ld_errno );
index 99257665a4ec584f2c223273ad25482efea16af5..f9569dd04a17d15f0ed6c4c89e412cc0514253e8 100644 (file)
@@ -126,6 +126,7 @@ ldap_mods_free( LDAPMod **mods, int freemods )
                LDAP_FREE( (char *) mods[i] );
        }
 
-       if ( freemods )
+       if ( freemods ) {
                LDAP_FREE( (char *) mods );
+       }
 }
index 5a6d77066e1ea066de1ad81779743960f18763a2..fc4d31f56a4afea6957985a91bacf744747ac918 100644 (file)
@@ -26,12 +26,13 @@ ldap_first_attribute( LDAP *ld, LDAPMessage *entry, BerElement **ber )
 {
        char *attr;
 
+       Debug( LDAP_DEBUG_TRACE, "ldap_first_attribute\n", 0, 0, 0 );
+
        assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
        assert( entry != NULL );
        assert( ber != NULL );
 
-       Debug( LDAP_DEBUG_TRACE, "ldap_first_attribute\n", 0, 0, 0 );
-
        if ( (*ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
                *ber = NULL;
                return( NULL );
@@ -62,12 +63,13 @@ ldap_next_attribute( LDAP *ld, LDAPMessage *entry, BerElement *ber )
 {
        char *attr;
 
+       Debug( LDAP_DEBUG_TRACE, "ldap_next_attribute\n", 0, 0, 0 );
+
        assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
        assert( entry != NULL );
        assert( ber != NULL );
 
-       Debug( LDAP_DEBUG_TRACE, "ldap_next_attribute\n", 0, 0, 0 );
-
        /* skip sequence, snarf attribute type, skip values */
        if ( ber_scanf( ber, "{ax}", &attr ) 
            == LBER_ERROR ) {
index 9e2e49c4db86ea05d8aae4d8eb2ba594f8e04905..8724758b8439c8d8e8aeb0b3f9eb33f67f6468d4 100644 (file)
@@ -25,6 +25,9 @@
 LDAPMessage *
 ldap_first_entry( LDAP *ld, LDAPMessage *chain )
 {
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        if( ld == NULL || chain == NULLMSG ) {
                return NULLMSG;
        }
@@ -34,10 +37,12 @@ ldap_first_entry( LDAP *ld, LDAPMessage *chain )
                : ldap_next_entry( ld, chain );
 }
 
-/* ARGSUSED */
 LDAPMessage *
 ldap_next_entry( LDAP *ld, LDAPMessage *entry )
 {
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        if ( ld == NULL || entry == NULLMSG ) {
                return NULLMSG;
        }
@@ -55,12 +60,14 @@ ldap_next_entry( LDAP *ld, LDAPMessage *entry )
        return( NULLMSG );
 }
 
-/* ARGSUSED */
 int
 ldap_count_entries( LDAP *ld, LDAPMessage *chain )
 {
        int     i;
 
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        if ( ld == NULL ) {
                return -1;
        }
@@ -78,12 +85,17 @@ int
 ldap_get_entry_controls(
        LDAP *ld,
        LDAPMessage *entry, 
-       LDAPControl ***serverctrls)
+       LDAPControl ***sctrls )
 {
        int rc;
        BerElement be;
 
-       if ( ld == NULL || serverctrls == NULL ||
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+       assert( entry != NULL );
+       assert( sctrls != NULL );
+
+       if ( ld == NULL || sctrls == NULL ||
                entry == NULL || entry->lm_msgtype == LDAP_RES_SEARCH_ENTRY )
        {
                return LDAP_PARAM_ERROR;
@@ -97,7 +109,7 @@ ldap_get_entry_controls(
                goto cleanup_and_return;
        }
 
-       rc = ldap_int_get_controls( &be, serverctrls );
+       rc = ldap_int_get_controls( &be, sctrls );
 
 cleanup_and_return:
        if( rc != LDAP_SUCCESS ) {
index 2bebd67640e7e9420c63cc8f706b4da3d5131ee1..e16dac581bf542e3df0f0ac6b9ee4fea34efb70a 100644 (file)
@@ -255,6 +255,10 @@ SOURCE=..\..\include\ldapconfig.h
 # End Source File
 # Begin Source File
 
+SOURCE=.\messages.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\modify.c
 # End Source File
 # Begin Source File
index eea7bed70c660c596968e749c813f49581f3d8ca..a67aecc860e4a05421e56fdde3192054a5f82345 100644 (file)
 
 #include "ldap-int.h"
 
-/* ARGSUSED */
 LDAPMessage *
 ldap_first_message( LDAP *ld, LDAPMessage *chain )
 {
-       return( ld == NULL || chain == NULLMSG
-                       ? NULLMSG : chain );
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
+       if ( ld == NULL || chain == NULLMSG ) {
+               return NULLMSG;
+       }
+       
+       return chain;
 }
 
-/* ARGSUSED */
 LDAPMessage *
 ldap_next_message( LDAP *ld, LDAPMessage *msg )
 {
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        if ( ld == NULL || msg == NULLMSG || msg->lm_chain == NULL ) {
                return NULLMSG;
        }
@@ -38,12 +45,14 @@ ldap_next_message( LDAP *ld, LDAPMessage *msg )
        return( msg->lm_chain );
 }
 
-/* ARGSUSED */
 int
 ldap_count_messages( LDAP *ld, LDAPMessage *chain )
 {
        int     i;
 
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        if ( ld == NULL ) {
                return -1;
        }
index f9b435aa05b2fdd805c47a969801423bc88394e8..d2885bd63e95e3d7f3d5e79393dcff7e44f8f239 100644 (file)
@@ -76,10 +76,6 @@ ldap_rename(
 
        if( newSuperior != NULL ) {
                /* must be version 3 (or greater) */
-               if ( ld->ld_version == 0 ) {
-                       ld->ld_version = LDAP_VERSION3;
-               }
-
                if ( ld->ld_version < LDAP_VERSION3 ) {
                        ld->ld_errno = LDAP_NOT_SUPPORTED;
                        ber_free( ber, 1 );
index 9985a2bf23c22f0948ff7e6488e18ab3094f796e..3e748a7848452c7830b625c047d147990a3ce508 100644 (file)
@@ -200,12 +200,6 @@ ldap_get_option(
                return LDAP_OPT_SUCCESS;
 
        case LDAP_OPT_HOST_NAME:
-               /*
-                * draft-ietf-ldapext-ldap-c-api-01 doesn't state
-                * whether caller has to free host names or not,
-                * we do.
-                */
-
                * (char **) outvalue = LDAP_STRDUP(lo->ldo_defhost);
                return LDAP_OPT_SUCCESS;
 
@@ -223,11 +217,6 @@ ldap_get_option(
                        break;
                } 
 
-               /*
-                * draft-ietf-ldapext-ldap-c-api-01 doesn't require
-                *      the client to have to free error strings, we do
-                */
-
                if( ld->ld_error == NULL ) {
                        * (char **) outvalue = NULL;
                } else {
@@ -236,24 +225,19 @@ ldap_get_option(
 
                return LDAP_OPT_SUCCESS;
 
-        case LDAP_OPT_MATCH_STRING:
+       case LDAP_OPT_MATCHED_DN:
                if(ld == NULL) {
                        /* bad param */
                        break;
                } 
 
-               /*
-                * draft-ietf-ldapext-ldap-c-api-01 doesn't require
-                *      the client to have to free error strings, we do
-                */
-
                if( ld->ld_matched == NULL ) {
                        * (char **) outvalue = NULL;
                } else {
                        * (char **) outvalue = LDAP_STRDUP(ld->ld_matched);
                }
 
-               return 0;
+               return LDAP_OPT_SUCCESS;
 
        case LDAP_OPT_API_FEATURE_INFO: {
                        LDAPAPIFeatureInfo *info = (LDAPAPIFeatureInfo *) outvalue;
@@ -460,6 +444,21 @@ ldap_set_option(
                        ld->ld_error = LDAP_STRDUP(err);
                } return LDAP_OPT_SUCCESS;
 
+       case LDAP_OPT_MATCHED_DN: {
+                       char* err = (char *) invalue;
+
+                       if(ld == NULL) {
+                               /* need a struct ldap */
+                               break;
+                       }
+
+                       if( ld->ld_matched ) {
+                               LDAP_FREE(ld->ld_matched);
+                       }
+
+                       ld->ld_matched = LDAP_STRDUP(err);
+               } return LDAP_OPT_SUCCESS;
+
        case LDAP_OPT_API_FEATURE_INFO:
                /* read-only */
                break;
index 6d194a8657a0c783bdb9d9480e4506df78ef6003..fd7892d5e65fcb1fb380af0167b0bc5fff6f3ca6 100644 (file)
@@ -58,6 +58,9 @@ ldap_simple_bind( LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *passwd )
 
        Debug( LDAP_DEBUG_TRACE, "ldap_simple_bind\n", 0, 0, 0 );
 
+       assert( ld != NULL );
+       assert( LDAP_VALID( ld ) );
+
        if ( dn == NULL )
                dn = "";
        if ( passwd == NULL )
index d6e7584e1870c51dc7d2965332df3a847cbf63c1..d1afce7c0a40aa188e3b028b8b533c53f9b9305f 100644 (file)
 
 #include "ldap-int.h"
 
-static char *find_right_paren LDAP_P(( char *s ));
-static char *put_complex_filter LDAP_P(( BerElement *ber, char *str,
-       unsigned long tag, int not ));
-static int put_filter LDAP_P(( BerElement *ber, char *str ));
-static int put_simple_filter LDAP_P(( BerElement *ber, char *str ));
-static int put_substring_filter LDAP_P(( BerElement *ber, char *type, char *str ));
-static int put_filter_list LDAP_P(( BerElement *ber, char *str ));
+static char *find_right_paren LDAP_P((
+       char *s ));
+
+static char *put_complex_filter LDAP_P((
+       BerElement *ber,
+       char *str,
+       unsigned long tag,
+       int not ));
+
+static int put_filter LDAP_P((
+       BerElement *ber,
+       char *str ));
+
+static int put_simple_filter LDAP_P((
+       BerElement *ber,
+       char *str ));
+
+static int put_substring_filter LDAP_P((
+       BerElement *ber,
+       char *type,
+       char *str ));
+
+static int put_filter_list LDAP_P((
+       BerElement *ber,
+       char *str ));
 
 /*
  * ldap_search_ext - initiate an ldap search operation.
@@ -341,11 +359,6 @@ put_complex_filter( BerElement *ber, char *str, unsigned long tag, int not )
        if ( ber_printf( ber, "t{", tag ) == -1 )
                return( NULL );
 
-#if 0
-       if ( !not && ber_printf( ber, "{" ) == -1 )
-               return( NULL );
-#endif
-
        str++;
        if ( (next = find_right_paren( str )) == NULL )
                return( NULL );
@@ -359,11 +372,6 @@ put_complex_filter( BerElement *ber, char *str, unsigned long tag, int not )
        if ( ber_printf( ber, "}" ) == -1 )
                return( NULL );
 
-#if 0
-       if ( !not && ber_printf( ber, "}" ) == -1 )
-               return( NULL );
-#endif
-
        return( next );
 }
 
@@ -576,7 +584,9 @@ put_filter_list( BerElement *ber, char *str )
 }
 
 static int
-put_simple_filter( BerElement *ber, char *str )
+put_simple_filter(
+       BerElement *ber,
+       char *str )
 {
        char            *s;
        char            *value, savechar;
@@ -604,6 +614,10 @@ put_simple_filter( BerElement *ber, char *str )
                ftype = LDAP_FILTER_APPROX;
                *s = '\0';
                break;
+       case ':':       /* LDAPv3 extended filter */
+               ftype = LDAP_FILTER_EXTENDED;
+               return -1;
+               break;
        default:
                if ( strchr( value, '*' ) == NULL ) {
                        ftype = LDAP_FILTER_EQUALITY;