57 #if defined(LDAP_CASA_AUTH) 58 #include "ldap_casa.h" 64 if( !(casaIDK = dlopen(MICASA_LIB,RTLD_LAZY)))
66 p_miCASAGetCredential = (CASA_GetCredential_T) dlsym(casaIDK,
"miCASAGetCredential");
67 p_miCASASetCredential = (CASA_SetCredential_T) dlsym(casaIDK,
"miCASASetCredential");
68 p_miCASARemoveCredential = (CASA_RemoveCredential_T) dlsym(casaIDK,
"miCASARemoveCredential");
70 if((p_miCASAGetCredential == NULL) ||
71 (p_miCASASetCredential == NULL) ||
72 (p_miCASARemoveCredential == NULL))
77 p_miCASAGetCredential = NULL;
78 p_miCASASetCredential = NULL;
79 p_miCASARemoveCredential = NULL;
95 p_miCASAGetCredential = NULL;
96 p_miCASASetCredential = NULL;
97 p_miCASARemoveCredential = NULL;
102 load_uname_pwd_from_miCASA (
char **ldap_username,
char **ldap_password)
105 uint32_t credentialtype = SSCS_CRED_TYPE_SERVER_F;
106 SSCS_BASIC_CREDENTIAL credential;
107 SSCS_SECRET_ID_T applicationSecretId;
108 char *tempVar = NULL;
110 const char applicationName[10] =
"dhcp-ldap";
114 memset(&credential, 0,
sizeof(SSCS_BASIC_CREDENTIAL));
115 memset(&applicationSecretId, 0,
sizeof(SSCS_SECRET_ID_T));
117 applicationSecretId.len = strlen(applicationName) + 1;
118 memcpy (applicationSecretId.id, applicationName, applicationSecretId.len);
120 credential.unFlags = USERNAME_TYPE_CN_F;
122 result = p_miCASAGetCredential (0,
123 &applicationSecretId,NULL,&credentialtype,
128 tempVar =
dmalloc (credential.unLen + 1,
MDL);
130 log_fatal (
"no memory for ldap_username");
131 memcpy(tempVar , credential.username, credential.unLen);
132 *ldap_username = tempVar;
134 tempVar =
dmalloc (credential.pwordLen + 1,
MDL);
136 log_fatal (
"no memory for ldap_password");
137 memcpy(tempVar, credential.password, credential.pwordLen);
138 *ldap_password = tempVar;
140 #if defined (DEBUG_LDAP) 141 log_info (
"Authentication credential taken from CASA");
void * dmalloc(unsigned, const char *, int)
void log_fatal(const char *,...) __attribute__((__format__(__printf__
int int log_info(const char *,...) __attribute__((__format__(__printf__