以下是我在 C 中的代码行:
ldap_bind_s(ld, root_dn, root_pw, auth_method) != LDAP_SUCCESS
ldap_perror( ld, "ldap_bind" );//to print the EXACT error like 525,52e
执行时
Project ./a.out CN=username,OU=ABC,DC=example,DC=com wrong-pasword
ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C090334, comment:
AcceptSecurityContext error, data 52e, vece
这里 data 后面的字符串 52e 表示扩展错误。谁能建议我如何直接访问此扩展错误。目前我正在解析字符串以提取此值。通常当我打印 LDAP_OPT_ERROR_NUMBER 它只返回 49(INVALID_CREDENTIALS) 但这对我来说还不够。如何获取扩展错误的代码(仅代码)。
我什至尝试打印 ld->ld_errno 但它不允许我,因为没有为 ld 分配内存。