Hi,

My question is relative to the file systemd/src/shared/ask-password-api.c+651 :
l = strv_parse_nulstr(passphrase+1, n-1);

On documentation https://www.freedesktop.org/wiki/Software/systemd/PasswordAgents/ it is specified that message should follow this pattern :
+passwordhere\0
or
-\0
With trailing \0 optional in both case.

If I am right it seems all password sent through AF_UNIX/SOCK_DGRAM are split using \0 character and cached as differents passwords.

I am trying to create a cgi which send password or keyfile through this system.

Cryptsetup can accept two case of password, a 512 max length passphrase in interactive mode or a 8192 * 1024 keyfile.
(I have read the source code to find that)

There seems to have nothing disallowing to have a password like "toto\0" or a keyfile containing "toto\0".

How am I supposed to submit password with \0 character inside or even worse case with a \0 at end ?

Same question with file ?

Should I try to go around ask-password service and run cryptsetup luksOpen behind his back and later shoot the ask-password process ?

Would it need an option to have password provided without modification with trailing \0 with a new format like :
=toto\0

With all content considered as a single password ?

Best regards
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to