[PATCH 0/5] Allow specifying 802.1x password as raw byte array



Current implementations of MS-CHAP and MS-CHAPv2 interpret the
password as being a string of 256 UCS-2 characters, meaning that they
can technically be an arbitrary collection of any value between 0 and
U+FFFF, including the code points between U+D800 and U+DFFF that were
reserved in Unicode 2.0 for UTF-16 surrogate pairs.

Since D-Bus requires strings to be valid UTF-8 (and in fact enforces
this), there is no way to pass passwords containing such invalid
characters.

This patchset adds a new 8021x.password-raw field of type byte array,
using it if the password field is unavailable.

Note that to be useful this requires commit c48183fca2d32cd4 from
wpasupplicant in order to support non-ASCII passwords during the
MS-CHAP and MS-CHAPv2 handshake.

 libnm-util/libnm-util.ver                          |    2 +
 libnm-util/nm-setting-8021x.c                      |   90 +++++++++++++++++++-
 libnm-util/nm-setting-8021x.h                      |    4 +
 src/settings/plugins/keyfile/reader.c              |   20 +++++
 src/settings/plugins/keyfile/writer.c              |   28 ++++++
 src/supplicant-manager/nm-supplicant-config.c      |   18 ++++-
 .../nm-supplicant-settings-verify.c                |   27 ++++++-
 .../nm-supplicant-settings-verify.h                |    1 +
 8 files changed, 185 insertions(+), 5 deletions(-)


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