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

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



El día 9 de septiembre de 2016, 19:45, OddieX <oddiex@gmail.com> escribió:
> El día 9 de septiembre de 2016, 19:39, Maykel Franco
> <maykeldebian@gmail.com> escribió:
>> 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.
>
>
> Tengo 3 paneles diferentes en diferentes sites, que matchean contra
> ese LDAP, deberia reprogramar los 3 paneles, las busquedas, los entrys
> todo...

Ademas hay otro tema, los scheme que yo uso en LDAP, no permiten
posixGroup y groupOfnames... Tendria que cambiar el nis por el rfc...
Pero de todos modos, eso se puede hacer, pero me dejaria de funcionar
los paneles


Reply to: