Jan Vcelak 9c0ef47
allow unsetting of tls_* syncrepl options
Jan Vcelak 9c0ef47
Jan Vcelak 9c0ef47
Author: Patrick Monnerat <pm@datasphere.ch>
Jan Vcelak 9c0ef47
Upstream ITS: #7042
Jan Vcelak 9c0ef47
Resolves: #734187
Jan Vcelak 9c0ef47
Jan Vcelak 9c0ef47
---
Jan Vcelak 9c0ef47
 libraries/libldap/tls2.c |   16 ++++++++--------
Jan Vcelak 9c0ef47
 1 files changed, 8 insertions(+), 8 deletions(-)
Jan Vcelak 9c0ef47
Jan Vcelak 9c0ef47
diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c
Jan Vcelak 9c0ef47
index 5c35fb5..4c9eb30 100644
Jan Vcelak 9c0ef47
--- a/libraries/libldap/tls2.c
Jan Vcelak 9c0ef47
+++ b/libraries/libldap/tls2.c
Jan Vcelak 9c0ef47
@@ -731,27 +731,27 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_CACERTFILE:
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_cacertfile ) LDAP_FREE( lo->ldo_tls_cacertfile );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_cacertfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_cacertfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_CACERTDIR:
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_cacertdir ) LDAP_FREE( lo->ldo_tls_cacertdir );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_cacertdir = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_cacertdir = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_CERTFILE:
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_certfile ) LDAP_FREE( lo->ldo_tls_certfile );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_certfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_certfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_KEYFILE:
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_keyfile ) LDAP_FREE( lo->ldo_tls_keyfile );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_keyfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_keyfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_DHFILE:
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_dhfile ) LDAP_FREE( lo->ldo_tls_dhfile );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_dhfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_dhfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_CRLFILE:	/* GnuTLS only */
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_crlfile ) LDAP_FREE( lo->ldo_tls_crlfile );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_crlfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_crlfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_REQUIRE_CERT:
Jan Vcelak 9c0ef47
 		if ( !arg ) return -1;
Jan Vcelak 9c0ef47
@@ -779,7 +779,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
Jan Vcelak 9c0ef47
 #endif
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_CIPHER_SUITE:
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_ciphersuite ) LDAP_FREE( lo->ldo_tls_ciphersuite );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_ciphersuite = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_ciphersuite = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		return 0;
Jan Vcelak 9c0ef47
 
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_PROTOCOL_MIN:
Jan Vcelak 9c0ef47
@@ -790,7 +790,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
Jan Vcelak 9c0ef47
 		if ( ld != NULL )
Jan Vcelak 9c0ef47
 			return -1;
Jan Vcelak 9c0ef47
 		if ( lo->ldo_tls_randfile ) LDAP_FREE (lo->ldo_tls_randfile );
Jan Vcelak 9c0ef47
-		lo->ldo_tls_randfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
+		lo->ldo_tls_randfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
Jan Vcelak 9c0ef47
 		break;
Jan Vcelak 9c0ef47
 	case LDAP_OPT_X_TLS_NEWCTX:
Jan Vcelak 9c0ef47
 		if ( !arg ) return -1;
Jan Vcelak 9c0ef47
-- 
Jan Vcelak 9c0ef47
1.7.6.1
Jan Vcelak 9c0ef47