Alessandro De Zorzi wrote: > Salve, facendo un dump di un oggetto che > ha degli attributi multipli ho notato > che alcuni di questi sono scritti in base64 > > [1] > maildrop:: YWZzZA0= > maildrop:: YXNkZg0= > maildrop: [EMAIL PROTECTED] > > [2] > maildrop:: ZHVlQGFkcy5zZA0= > maildrop: [EMAIL PROTECTED] > > [3] > maildrop: [EMAIL PROTECTED] > maildrop: [EMAIL PROTECTED] > > ho verificato che in effetti se aggiungo i valori uno per volta > li ottengo come nel caso [3] mentre se li aggiungo tramite un array > ottengo il risultato del caso [1] e [2] > > il fatto è che interagisco con LDAP tramite la funzione ldap_mod_add() > è chiaro che il problema è lato PHP ma volevo sapere con che logica > OpenLDAP decide di scrivere in base64 per poi trovare una soluzione > a monte poiché con l'analoga funzione ldap_mod_del() non riesco > a cancellare alcuni valori quando sono nei casi [1] e [2]
Credo che il problema sia alla fonte. Per esempio: echo -n "YWZzZA0=" | base64 -d | od -c 0000000 a f s d \r 0000005 Quindi e' rimasto un '\r' alla fine del valore (copia e incolla da Windows?). OpenLDAP mostra in base64 i valori non stampabili, quindi i valori che !isascii(3) e !isprint(3) (e '\r' non lo e'). Ciao, p. Ing. Pierangelo Masarati OpenLDAP Core Team SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: [EMAIL PROTECTED] --------------------------------------- _______________________________________________ OpenLDAP mailing list OpenLDAP@sys-net.it https://www.sys-net.it/mailman/listinfo/openldap