+/* $OpenLDAP$ */
/*
* Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
#define ATTR_KV 3
#define ATTR_STRING 4
#define ATTR_TLS 5
+#define ATTR_URLS 6
struct ol_keyvalue {
const char * key;
offsetof(struct ldapoptions, ldo_timelimit)},
{ATTR_STRING, "BASE", NULL,
offsetof(struct ldapoptions, ldo_defbase)},
- {ATTR_STRING, "HOST", NULL,
- offsetof(struct ldapoptions, ldo_defhost)},
{ATTR_INT, "PORT", NULL,
offsetof(struct ldapoptions, ldo_defport)},
+ /* **** keep this around for backward compatibility */
+ {ATTR_URLS, "HOST", NULL, 1},
+ /* **** */
+ {ATTR_URLS, "URL", NULL, 0},
{ATTR_BOOL, "REFERRALS", NULL, LDAP_BOOL_REFERRALS},
{ATTR_BOOL, "RESTART", NULL, LDAP_BOOL_RESTART},
{ATTR_BOOL, "DNS", NULL, LDAP_BOOL_DNS},
- {ATTR_BOOL, "TLS", NULL, LDAP_OPT_X_TLS},
+ {ATTR_TLS, "TLS", NULL, LDAP_OPT_X_TLS},
{ATTR_TLS, "TLS_CERT", NULL, LDAP_OPT_X_TLS_CERTFILE},
{ATTR_TLS, "TLS_KEY", NULL, LDAP_OPT_X_TLS_KEYFILE},
{ATTR_TLS, "TLS_CACERT", NULL, LDAP_OPT_X_TLS_CACERTFILE},
ldap_pvt_tls_config( &gopts, attrs[i].offset, opt );
#endif
break;
+ case ATTR_URLS:
+ if (attrs[i].offset == 0) {
+ ldap_set_option( NULL, LDAP_OPT_URI, opt );
+ } else {
+ ldap_set_option( NULL, LDAP_OPT_HOST_NAME, opt );
+ }
+ break;
}
}
}
break;
case ATTR_TLS:
#ifdef HAVE_TLS
- ldap_pvt_tls_config( attrs[i].offset, value );
+ ldap_pvt_tls_config( &gopts, attrs[i].offset, value );
#endif
break;
+ case ATTR_URLS:
+ if (attrs[i].offset == 0) {
+ ldap_set_option( NULL, LDAP_OPT_URI, value );
+ } else {
+ ldap_set_option( NULL, LDAP_OPT_HOST_NAME, value );
+ }
+ break;
}
}
}
gopts.ldo_tm_api = (struct timeval *)NULL;
gopts.ldo_tm_net = (struct timeval *)NULL;
- gopts.ldo_defhost = LDAP_STRDUP("localhost");
+ ldap_url_parselist(&gopts.ldo_defludp, "ldap://localhost/");
gopts.ldo_defport = LDAP_PORT;
gopts.ldo_refhoplimit = LDAP_DEFAULT_REFHOPLIMIT;