El 10 sept. 2016 12:24 a. m., "OddieX" <oddiex@gmail.com> escribió:
>
> Estimados, ante todo esta es una consulta para programadores de C, ya que basicamente el problema que tengo es de programacion del helper...
>
> Estoy teniendo un problema con el helper que viene con Debian Jessie, para autenticar OpenVPN via LDAP...
>
> El tema es el siguiente:
>
> Mi scheme de OpenLDAP, en la rama ou="group" no tiene el MemberAttribute = "memberOf" o "member", sino que tiene memberUid:
> Eh aqui el problema, el helper esta programado para que cuando haga una busqueda de grupos, le pase ese MemberAttribute con el %u y luego el DN Base completo...
>
> El atributo memberOf o member, toma lo siguiente: member: uid=test,ou=people,dc=domain,dc=com
> En cambio el atributo memberUid: toma lo siguiente: memberUid: uid=test
>
> Yo necesitaria modificar el source del helper, para que deje de pasarle luego del MemberAttribute el DN Base y pase solo el uid=%u
>
> El problema es que no tengo idea de lenguaje C, y me estoy volviendo loco, ya de movida, tengo el problema del header objc-api.h que esta deprecated a partir de la version 4.8 de gcc-objc, cambie ese header por runtime.h, pero compila barbaro y cuando pruebo el helper crashea...
>
> Y el segundo problema, es que quiero eliminar esa parte del filtro, edite el archivo auth-ldap.m y lo modifique:
>
> while ((entry = [entryIter nextObject]) != nil) {
> if ([ldap compareDN: [entry dn] withAttribute: [groupConfig memberAttribute] value: [ldapUser dn]]) {
> /* Group match! */
> result = groupConfig;
> }
> }
>
>
> Le elimine de withAttribute: en adelante quedando asi:
>
> while ((entry = [entryIter nextObject]) != nil) {
> if ([ldap compareDN: [entry dn] ]) {
> /* Group match! */
> result = groupConfig;
> }
> }
>
> Me gustaria saber si esta bien lo que estoy haciendo en el codigo (ya que no entiendo mucho de C)... Y si alguien la tiene clara y me dice como solucionar lo de objc-api.h, ya que creo que por ese header me crashea el binario cuando lo testeo (sin hacerle modificaciones)...
>
> Saludos
Buenas, porque no añades el atributo memberof?
http://www.adimian.com/blog/2014/10/how-to-enable-memberof-using-openldap/
Saludos.