[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ayuda con helper/plugin de openvpn-auth-ldap.so



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.


Reply to: