[asterisk-commits] anthonyl: branch anthonyl/5768-ldap-redux r48094
- in /team/anthonyl/5768-lda...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Nov 28 10:53:39 MST 2006
Author: anthonyl
Date: Tue Nov 28 11:53:39 2006
New Revision: 48094
URL: http://svn.digium.com/view/asterisk?view=rev&rev=48094
Log:
starting to reorganize and impliment sasl auth
Modified:
team/anthonyl/5768-ldap-redux/include/asterisk/lock.h
team/anthonyl/5768-ldap-redux/res/res_config_ldap.c
Modified: team/anthonyl/5768-ldap-redux/include/asterisk/lock.h
URL: http://svn.digium.com/view/asterisk/team/anthonyl/5768-ldap-redux/include/asterisk/lock.h?view=diff&rev=48094&r1=48093&r2=48094
==============================================================================
--- team/anthonyl/5768-ldap-redux/include/asterisk/lock.h (original)
+++ team/anthonyl/5768-ldap-redux/include/asterisk/lock.h Tue Nov 28 11:53:39 2006
@@ -49,7 +49,7 @@
#include <netdb.h>
#include <time.h>
#include <sys/param.h>
-
+#include <pthread.h>
#include "asterisk/logger.h"
/* internal macro to profile mutexes. Only computes the delay on
@@ -80,8 +80,8 @@
/* Asterisk REQUIRES recursive (not error checking) mutexes
and will not run without them. */
-#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
-#define PTHREAD_MUTEX_INIT_VALUE PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
+#define PTHREAD_MUTEX_INIT_VALUE PTHREAD_RECURSIVE_MUTEX_INITIALIZER
#define AST_MUTEX_KIND PTHREAD_MUTEX_RECURSIVE_NP
#else
#define PTHREAD_MUTEX_INIT_VALUE PTHREAD_MUTEX_INITIALIZER
Modified: team/anthonyl/5768-ldap-redux/res/res_config_ldap.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/5768-ldap-redux/res/res_config_ldap.c?view=diff&rev=48094&r1=48093&r2=48094
==============================================================================
--- team/anthonyl/5768-ldap-redux/res/res_config_ldap.c (original)
+++ team/anthonyl/5768-ldap-redux/res/res_config_ldap.c Tue Nov 28 11:53:39 2006
@@ -62,6 +62,18 @@
/* note to me: group these into a structure */
AST_MUTEX_DEFINE_STATIC(ldap_lock);
+
+struct ldap_connection {
+ LDAP *ldapConn;
+ char dbhost[512];
+ char dbuser[512]; /* this should really be a cn with authority */
+ char dbpass[50];
+ char dbbasedb[50];
+ int dbport;
+ int ldapversion; /* new in my branch ldap version required to connect */
+ int ldapauthtype; /* simple or sasl authencation */
+ time_t connect_time;
+};
static LDAP *ldapConn = NULL;
static char dbhost[512] = "";
@@ -1112,7 +1124,7 @@
static int ldap_reconnect(void)
{
/* mutex lock should have been locked before calling this function. */
- int bind_result = 0;
+ int res = 0;
if (ldapConn) {
if (option_debug > 1)
@@ -1130,31 +1142,37 @@
return 0;
}
- ldap_set_option(ldapConn, LDAP_OPT_PROTOCOL_VERSION, &ldapversion);
+ res = ldap_set_option(ldapConn, LDAP_OPT_PROTOCOL_VERSION, &ldapversion);
+ if (res != LDAP_OPT_SUCCESS) {
+ ast_log(LOG_ERROR,"Failed to set the ldap protocol version\n");
+ return 0;
+ }
if (dbuser && *dbuser) {
if (ldapauthtype == LDAP_AUTH_SIMPLE) {
bind_result = ldap_simple_bind_s(ldapConn, dbUser, dbPass);
else {
/* connect via sasl */
+
}
} else {
if (ldapauthtype == LDAP_AUTH_SIMPLE) {
- bind_result = ldap_simple_bind_s(ldapConn, NULL, NULL);
+ res = ldap_simple_bind_s(ldapConn, NULL, NULL);
} else {
/* connect via sasl */
+
}
}
- if (bind_result == LDAP_SUCCESS) {
+ if (res == LDAP_SUCCESS) {
if (option_debug > 1)
ast_log(LOG_DEBUG, "Successfully connected to database.\n");
connect_time = time(NULL);
return 1;
} else {
- ast_log(LOG_WARNING, "bind failed: %s\n", ldap_err2string(bind_result));
+ ast_log(LOG_WARNING, "bind failed: %s\n", ldap_err2string(res));
ldap_unbind(ldapConn);
ldapConn = NULL;
return 0;
More information about the asterisk-commits
mailing list