Как подойти к обработке отдельных клиентских конфигураций в OpenVPN, где общее имя сертификата включает символы, отличные от UTF8 (например, шведские имена)?
Я посмотрел журналы OpenVPN, и там написано:
10.0.0.6:33157 [l vberg] Peer Connection Initiated with [AF_INET]...
l vberg/10.0.0.6:33157 MULTI_sva: pool returned IPv4...
l vberg/10.0.0.6:33157 MULTI: Learn: ...
l vberg/10.0.0.6:33157 SENT CONTROL [l vberg]: 'PUSH_REPLY...
Итак, я сбросил "двоичное" представление журнала, и вот что он на самом деле говорит:
10.0.0.6:33157 [l\xef\xbf\xbd\xef\xbf\xbdvberg] Peer Connection Initiated with [AF_INET]...
Что означает:
10.0.0.6:33157 [lövberg] Peer Connection Initiated with [AF_INET]...
Теперь я подумал о том, чтобы просто назвать /etc/openvpn/ccd/lovberg
файл в:
/etc/openvpn/ccd/lövberg
/etc/openvpn/ccd/lv\xef\xbf\xbd\xef\xbf\xbdberg
Однако ничего из этого не работает. Очевидно, что простым решением здесь было бы изменить общее имя в сертификатах и повторно выпустить сертификат, но я бы предпочел решить эту проблему без необходимости делать это.
Это возможно?
Изменить: Да, я использовал Python, и я скопировал вывод журнала из tail -f openvpn.log
в Python, чтобы получить "двоичное" представление ö
.
OpenVPN 2.3.10 i386-openbsd5.9 (OpenSSL)
Как обоснованное предположение: ваш пример может не работать из-за разной кодировки между вашей консолью и openvpn. Вам может повезти, попробовав UTF-8 или изолатин1.