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


Rispondere a