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

Re: strano problemino con stringhe base64



Il Tue, Mar 12, 2024 at 10:18:21AM +0100, Piviul ha scritto:
> Ciao a tutti, ho uno script che interroga (ldapsearch) alcuni campi di un db
> ldap e aggiunge alcuni altri ammenicoli che poi importa in un altro db
> sempre ldap.
> 
> In particolare nello script ad un certo punto ho questo codice:
> 
> ldapsearch -LLL \
>         -D "$bind_ns" \
>         -w "$pwd_ns" \
>         -b "$baseaddress_ns" \
>         -H "ldaps://ad.csaricerche.com" \
> '(&(objectClass=user)(!(isCriticalSystemObject=TRUE))(!(logonCount=0))(memberOf=CN=utenti,CN=Users,DC=ad,DC=csaricerche,DC=com))'
> \
>         sAMAccountName displayName userPrincipalName | \
>         sed -e 's/userPrincipalName:/mail:/' \
>             -e "s/$container_ns/$container_ab/" \
>             -e "s/sAMAccountName:\ \(.*\)/cn: \1/" \
>             -e "s/displayName:\ \(.*\)$/displayName: \1\nsn: \1\nou:
> utenti\nobjectClass: top\nobjectClass: inetOrgPerson/"> $ldap_ns_path
> 
> che in altre parole vorrebbe semplicemente interrogare sAMAccountName
> displayName userPrincipalName ed aggiungere sn con la stessa cosa che trova
> in userPrincipalName e poi altri ammenicoli necessari per l'importazione
> successiva in un altro db.
> 
> Il tutto ha funzionato bene per anni ma ora in displayName di un record è
> stata inserita un'accentata e questo fa si che il comando sopra, al record
> contenente un'accentata, non venga aggiunto né sn né gli altri ammenicoli
> mentre compaioni : aggiuntivi al displayName.
> 
> In altre parole per il record in questione viene restituito come
> 
> dn: CN=enicolo,OU=UsersAndGroups,DC=ad,DC=mydomain,DC=ext
> cn: enicolo
> mail: enicolo@mydomain.ext
> displayName:: Tmljb2zDsiBFZG9hcmRv
> 
> dove Tmljb2zDsiBFZG9hcmRv è la stringa contenente una o accentata codificata
> in base64:
> 
> > # echo Tmljb2zDsiBFZG9hcmRv | base64 --decode
> > Nicolò Edoardo
> 
> Invece sed avrebbe dovuto restituire
> 
> dn: CN=enicolo,OU=UsersAndGroups,DC=ad,DC=mydomain,DC=ext
> cn: enicolo
> mail: enicolo@mydomain.ext
> displayName: Tmljb2zDsiBFZG9hcmRv
> sn: Tmljb2zDsiBFZG9hcmRv
> ou: utenti
> objectClass: top
> objectClass: inetOrgPerson
> 
> 
> Qualcuno ha qualche idea di cosa dabbia fastidio a sed?
> 
> Grazie
> 
> Piviul

Non è una soluzione ma è relativo a questo problema in generale:

There's No Such Thing As Plain Text • Dylan Beattie • YOW! 2023

https://www.youtube.com/watch?v=ajfb5LSbQVM


-- 

Amike,
Marco Ciampa


Reply to: