I think what he means is: The actual password (unescaped) is pass\\"word@2022. In the Shell you would need five(!) backslashes. In Freeradius only three (I didn't test this though). echo "pass\\\\\"word@2022" pass\\"word@2022 Cheers On 11.09.23 11:10, Alan DeKok wrote:
On Sep 10, 2023, at 9:16 PM, 平林 哲 <Satoshi.Hirabayashi@soliton.co.jp> wrote:
=== # cat /usr/local/etc/raddb/mods-enabled/ldap1 ldap { server = '192.168.1.6' identity = 'cn=tkt10886-3,cn=users,dc=srv2022,dc=rdd-osaka,dc=soliton,dc=example,dc=jp' password = "pass\\"word@2022" Two backslashes.
However, it behaves differently in the shell.
=== $ echo "pass\\\"word@2022" Three backslashes.
pass\"word@2022 === Use three backslashes with FreeRADIUS, and it will work.
Maybe the two backslashes need to be escaped into one backslash? I explained the rules for double-quoted strings. They're the same for all double quoted strings in FreeRADIUS, and in the shell.
If you want a " in the middle of a double quoted string, you have to escape it: \"
If you want a \ in the middle of a double quoted string, you have to escape it: \\
Which means that if you want *both* a " and a \ in a double quoted string, you need to have an *odd* number of backslashes.
All you need to do is count the number of backslashes. Even *and* there's a quote in the middle of the string? Parse error. Odd number of backslashes? It's fine.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html