X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=clients%2Ftools%2Fldapmodify.c;h=86343417ce105bbf48d86cd471c1256dc143a872;hb=ebfe58344c63a5fd99caf37f72a6acf02e6afc0e;hp=eed0b3f1810c9757663f585fa4bf56d7b7bbec32;hpb=c02d7e2cb6afb75c6896869d89f7f2f0e378cd31;p=openldap diff --git a/clients/tools/ldapmodify.c b/clients/tools/ldapmodify.c index eed0b3f181..86343417ce 100644 --- a/clients/tools/ldapmodify.c +++ b/clients/tools/ldapmodify.c @@ -1,6 +1,6 @@ /* $OpenLDAP$ */ /* - * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ /* ldapmodify.c - generic program to modify or add entries using LDAP */ @@ -300,23 +300,34 @@ main( int argc, char **argv ) if ( ( authmethod == LDAP_AUTH_KRBV4 ) || ( authmethod == LDAP_AUTH_KRBV41 ) ) { - if( version != LDAP_VERSION2 ) { + if( version > LDAP_VERSION2 ) { fprintf( stderr, "Kerberos requires LDAPv2\n" ); return( EXIT_FAILURE ); } + version = LDAP_VERSION2; } else if ( authmethod == LDAP_AUTH_SASL ) { - if( version != LDAP_VERSION3 ) { + if( version != -1 && version != LDAP_VERSION3 ) { fprintf( stderr, "SASL requires LDAPv3\n" ); return( EXIT_FAILURE ); } + version = LDAP_VERSION3; } if( manageDSAit ) { - if( version != LDAP_VERSION3 ) { + if( version != -1 && version != LDAP_VERSION3 ) { fprintf(stderr, "manage DSA control requires LDAPv3\n"); return EXIT_FAILURE; } + version = LDAP_VERSION3; + } + + if( use_tls ) { + if( version != -1 && version != LDAP_VERSION3 ) { + fprintf(stderr, "Start TLS requires LDAPv3\n"); + return EXIT_FAILURE; + } + version = LDAP_VERSION3; } if ( infile != NULL ) {