57#if defined(LDAP_CASA_AUTH)
66 if( !(casaIDK = dlopen(MICASA_LIB,RTLD_LAZY)))
68 p_miCASAGetCredential = (CASA_GetCredential_T) dlsym(casaIDK,
"miCASAGetCredential");
69 p_miCASASetCredential = (CASA_SetCredential_T) dlsym(casaIDK,
"miCASASetCredential");
70 p_miCASARemoveCredential = (CASA_RemoveCredential_T) dlsym(casaIDK,
"miCASARemoveCredential");
72 if((p_miCASAGetCredential == NULL) ||
73 (p_miCASASetCredential == NULL) ||
74 (p_miCASARemoveCredential == NULL))
79 p_miCASAGetCredential = NULL;
80 p_miCASASetCredential = NULL;
81 p_miCASARemoveCredential = NULL;
97 p_miCASAGetCredential = NULL;
98 p_miCASASetCredential = NULL;
99 p_miCASARemoveCredential = NULL;
104load_uname_pwd_from_miCASA (
char **ldap_username,
char **ldap_password)
107 uint32_t credentialtype = SSCS_CRED_TYPE_SERVER_F;
108 SSCS_BASIC_CREDENTIAL credential;
109 SSCS_SECRET_ID_T applicationSecretId;
110 char *tempVar = NULL;
112 const char applicationName[10] =
"dhcp-ldap";
116 memset(&credential, 0,
sizeof(SSCS_BASIC_CREDENTIAL));
117 memset(&applicationSecretId, 0,
sizeof(SSCS_SECRET_ID_T));
119 applicationSecretId.len = strlen(applicationName) + 1;
120 memcpy (applicationSecretId.id, applicationName, applicationSecretId.len);
122 credential.unFlags = USERNAME_TYPE_CN_F;
124 result = p_miCASAGetCredential (0,
125 &applicationSecretId,NULL,&credentialtype,
130 tempVar =
dmalloc (credential.unLen + 1,
MDL);
132 log_fatal (
"no memory for ldap_username");
133 memcpy(tempVar , credential.username, credential.unLen);
134 *ldap_username = tempVar;
136 tempVar =
dmalloc (credential.pwordLen + 1,
MDL);
138 log_fatal (
"no memory for ldap_password");
139 memcpy(tempVar, credential.password, credential.pwordLen);
140 *ldap_password = tempVar;
142#if defined (DEBUG_LDAP)
143 log_info (
"Authentication credential taken from CASA");
void * dmalloc(size_t, const char *, int)
void log_fatal(const char *,...) __attribute__((__format__(__printf__
int int log_info(const char *,...) __attribute__((__format__(__printf__