From 4150763b3583f69c13d11547f4111e22ea841b42 Mon Sep 17 00:00:00 2001 From: Madhuri Upadhye Date: Fri, 12 May 2023 12:34:26 +0530 Subject: [PATCH] Tests: Add passkey test cases for following scenario. Test cases are as follows: 4. Check auth deny for incorrect pin for LDAP, IPA, Ad and Samba. 5. Check auth deny for incorrect passkey mapping for LDAP, IPA, AD and Samba. 6. Check auth of user when server is not resolvable for IPA, LDAP, AD and Samba. First PR is under review, #6634 Signed-off-by: Madhuri Upadhye --- .../passkey-mapping.ad | 1 + .../passkey-mapping.ipa | 1 + .../passkey-mapping.ldap | 1 + .../passkey-mapping.samba | 1 + .../umockdev.script.ad | 8 + .../umockdev.script.ipa | 8 + .../umockdev.script.ldap | 8 + .../umockdev.script.samba | 8 + .../passkey-mapping.ad | 1 + .../passkey-mapping.ipa | 1 + .../passkey-mapping.ldap | 1 + .../passkey-mapping.samba | 1 + .../umockdev.script.ad | 12 ++ .../umockdev.script.ipa | 12 ++ .../umockdev.script.ldap | 12 ++ .../umockdev.script.samba | 12 ++ .../passkey-mapping.ad | 1 + .../passkey-mapping.ipa | 1 + .../passkey-mapping.ldap | 1 + .../passkey-mapping.samba | 1 + .../umockdev.script.ad | 19 +++ .../umockdev.script.ipa | 22 +++ .../umockdev.script.ldap | 21 +++ .../umockdev.script.samba | 24 +++ src/tests/system/tests/test_passkey.py | 145 +++++++++++++++++- 25 files changed, 319 insertions(+), 4 deletions(-) create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ad create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ipa create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ldap create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.samba create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ad create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ipa create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ldap create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.samba create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ad create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ipa create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ldap create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.samba create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.ad create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.ipa create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.ldap create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.samba create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ad create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ipa create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ldap create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.samba create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ad create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ipa create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ldap create mode 100644 src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.samba diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ad b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ad new file mode 100644 index 00000000000..d3fd8436e84 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ad @@ -0,0 +1 @@ +passkey:oducA9WSTrzBHX2gUKylRNl2PD2XCb4a7V0XJOtahqIX7wGcAugflvrVjbWG2JPTsLlVf+j/dmia7SNIVhK5AA==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGEa7EktmUw4AOR6Y6r1W2zxXptQh3YaDNdvQEifZ3NpgRosVv+GS85uR3h6Ed1E7FtgfugwsZYeR8+9+GM6h8g== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ipa b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ipa new file mode 100644 index 00000000000..d3fd8436e84 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ipa @@ -0,0 +1 @@ +passkey:oducA9WSTrzBHX2gUKylRNl2PD2XCb4a7V0XJOtahqIX7wGcAugflvrVjbWG2JPTsLlVf+j/dmia7SNIVhK5AA==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGEa7EktmUw4AOR6Y6r1W2zxXptQh3YaDNdvQEifZ3NpgRosVv+GS85uR3h6Ed1E7FtgfugwsZYeR8+9+GM6h8g== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ldap b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ldap new file mode 100644 index 00000000000..e537dabdbcb --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.ldap @@ -0,0 +1 @@ +passkey:aEgemlnC6a/WOoEZ8qU1YMwsTW9+uwmMsJnrgOXwTID0qIBHirzHp6d+e1d3WBhcSf7t9Ji8fl3AdSPtlbdN5Q==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENwDQHwyZmnYaUEp0UNqqnw0tGOGnqOMBGdds6O3+JKbmmJGTn0vo7sKNNcDWDsFhJFU/RLWXmHXglxSo+yw9iQ== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.samba b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.samba new file mode 100644 index 00000000000..e537dabdbcb --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/passkey-mapping.samba @@ -0,0 +1 @@ +passkey:aEgemlnC6a/WOoEZ8qU1YMwsTW9+uwmMsJnrgOXwTID0qIBHirzHp6d+e1d3WBhcSf7t9Ji8fl3AdSPtlbdN5Q==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENwDQHwyZmnYaUEp0UNqqnw0tGOGnqOMBGdds6O3+JKbmmJGTn0vo7sKNNcDWDsFhJFU/RLWXmHXglxSo+yw9iQ== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ad b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ad new file mode 100644 index 00000000000..3f04d19aec5 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ad @@ -0,0 +1,8 @@ +d 0 /dev/hidraw1 + +w 4 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^@^Q^A^A^A^A^A^A^A^A^[.^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 3 ^@^[.^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^[.^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^[.^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM^[.^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^[.^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 4 ^@^[.^@^B^Agad.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@ۜ^@^[.^@^CՒN^]}PDv<=^I^Z]^W$Z^W^A^B^_ՍؓӰUvh#HV^R^@^[.^A^@dtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 7 ^[.^@^A.^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ipa b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ipa new file mode 100644 index 00000000000..8f1039f7cc1 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ipa @@ -0,0 +1,8 @@ +d 0 /dev/hidraw1 + +w 5 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^@^Q^A^A^A^A^A^A^A^A^L^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@^LҐ^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^LҐ^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^L^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM^L^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^L^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^LҐ^@^B^Ahipa.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^@^L^@^CՒN^]}PDv<=^I^Z]^W$Z^W^A^B^_ՍؓӰUvh#HV^@^L^A^R^@dtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 6 ^LҐ^@^A.^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ldap b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ldap new file mode 100644 index 00000000000..4d9aa650c51 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.ldap @@ -0,0 +1,8 @@ +d 0 /dev/hidraw1 + +w 4 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^@^Q^A^A^A^A^A^A^A^A^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@^@^B^Adtest^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@hH^^Y^@^@:^Y5`,Mo~^ILGǧ~{WwX^X\I~]u#핷Md^@^Atypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 7 ^@^A.^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.samba b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.samba new file mode 100644 index 00000000000..dfff5d24fb5 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_mapping/umockdev.script.samba @@ -0,0 +1,8 @@ +d 0 /dev/hidraw1 + +w 2 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^@^Q^A^A^A^A^A^A^A^A+W^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@+W^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 +W^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr+W^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM+W^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key+W^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 4 ^@+W^@^B^Ajsamba.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^@+W^@hH^^Y:^Y5`,Mo~^ILGǧ~{WwX^X\I~]u#^@+W^A핷Mdtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 7 +W^@^A.^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ad b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ad new file mode 100644 index 00000000000..1091d550c1f --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ad @@ -0,0 +1 @@ +passkey:KyF+ut3E2PHwuaQK/7fXo5ffpgp8IB1R+8WybEXhg9x9/Gl4T08CV5sT3FhaAN3HVJ3Jxren3mcg5fgwlKSlWA==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO2opNUQmqFOGg5s7ONAvwuipDEnSVjqbuKAUS5wBgM8W5tUQACnIs3mNXoriBVNn4kfoyBy3lVHCNxiPh97IgA== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ipa b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ipa new file mode 100644 index 00000000000..915689bd654 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ipa @@ -0,0 +1 @@ +passkey:NUZMRUXIb/W8Ij1GqwCDHSCWxt/SxWxckwtQjLYi/X6Y1qZFB+HI8WO6khzAjzsz248kHbaeAf9qfmqfCky1Jg==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIasAa8ogjPCKXeA4KY3t0W3xBRmG+E4D+MNoRIAJrYuNLSYtAcOL7DCbIfgc+7c5Y4Mh/FzoEyeumKGYMoyTfg== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ldap b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ldap new file mode 100644 index 00000000000..82d76d9b590 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.ldap @@ -0,0 +1 @@ +passkey:mQEUTWdtDJPELQNTDdxXNHlfIO1qXFf0LVZjWEfyDALFzvLZ4e4XD5bemqq+o3ThrzT6k1I1n3Z2N00GvLSmjQ==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqk7K5VAI7Evr4ar8X82L/sxm/Bnm5Ti31xnLfGO0BipwHucw8+/wT4+6T9j5gdMwZKUcXR4BILpmULEyrcZUfw== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.samba b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.samba new file mode 100644 index 00000000000..7c59d41c14b --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/passkey-mapping.samba @@ -0,0 +1 @@ +passkey:8Pob9IlseyKTRqxWtSB+4+nQmX/AioWH851f8u700UZhllaColWx5vCjfBBKuLORLKjbuW8OxCsSWFcPAUMvdA==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElOYokAR0Co/jZYxMDOywmZgQKJFvTRyPj19XRhZndOt7+QEqCFgwYt73XxQakVrWyO+TNQbhTMp3Q5saz3s0hA== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.ad b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.ad new file mode 100644 index 00000000000..4283810b71d --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fail_pin/umockdev.script.ad @@ -0,0 +1,12 @@ +d 0 /dev/hidraw1 + +w 3 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^@^Q^A^A^A^A^A^A^A^A^H;^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^H;^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^H;^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^H;^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM^H;^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^H;^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^H;^@^B^Agad.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@+!~^@^H;^@^Jףߦ^J| ^]QŲlE}ixOO^BW^SXZ^@TƷg 0^@^H;^AXdtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 82 ^H;^@^@^AbidX@+!~^Jףߦ^J| ^]QŲlE}ixOO^BW^SXZ^@^H;^@TƷg 0Xdtypejpublic-key^BX%fCȣ܀ɽ5~^G^A-YD^H;^AA,K!^@^@^@^@^N^CXF0D^B w'G9?^_H^O_.LӜوx".^Ps*^L^B eGqu|^W^Iw"X A^H;^@n^L}~2P浐^G|^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 7 ^@^H;^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^P)=0M^J^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 5 ^@^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^P^\k^A`^_W^@^@^@^@^S^CXH0F^B!^@ݟD^D#yZ^WmT^`^`'/^X^B!^@@^\k^BGȰ^\nL}^Wi]~$^Q応-L^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 7 ^@^\k^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^\k^@Q^@^A^A^B^C8^X ^A!X ^H&I0n^Rr^@^\k^A^Y^V7^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 315 ^\k^@^A1^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ad b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ad new file mode 100644 index 00000000000..09d9143aa26 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ad @@ -0,0 +1 @@ +passkey:gTCY4fqy2IkM6hfMpU338SCmA5YpDpggvE/XQzwbv37wlyYVlkbLRSmBtaq9c72pWYgICpP2pQ4nHRSFL2EnWg==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOtoQygv+wabIV8/48bdy5d0Wx9+q3kMrgd1buJVaM5XZqccQIC8CGr2pE3dPui9HgDiXrMH9Jp0W37hzHkoN0Q== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ipa b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ipa new file mode 100644 index 00000000000..e529e2ee905 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ipa @@ -0,0 +1 @@ +passkey:NUZMRUXIb/W8Ij1GqwCDHSCWxt/SxWxckwtQjLYi/X6Y1qZFB+HI8WO6khzAjzsz248kHbaeAf9qfmqfCky1Jg==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIasAa8ogjPCKXeA4KY3t0W3xBRmG+E4D+MNoRIAJrYuNLSYtAcOL7DCbIfgc+7c5Y4Mh/FzoEyeumKGYMoyTfg== \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ldap b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ldap new file mode 100644 index 00000000000..27dbfd9af40 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.ldap @@ -0,0 +1 @@ +passkey:mQEUTWdtDJPELQNTDdxXNHlfIO1qXFf0LVZjWEfyDALFzvLZ4e4XD5bemqq+o3ThrzT6k1I1n3Z2N00GvLSmjQ==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqk7K5VAI7Evr4ar8X82L/sxm/Bnm5Ti31xnLfGO0BipwHucw8+/wT4+6T9j5gdMwZKUcXR4BILpmULEyrcZUfw== \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.samba b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.samba new file mode 100644 index 00000000000..dcb10169614 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/passkey-mapping.samba @@ -0,0 +1 @@ +passkey:hC0IJlIg4qam+vV70L15N1a8xVgha+0S6G7Z8HgHmIgB9lKqxbMhd0PRdEgMbhLDr7wSKIGXLqz+SDL0SWwmMA==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWSie9EywMxDpJFfZ0BxSTj6clviNWvRKTpBXS34TW+CtZnbYRBVmWTFX15gcNtyLI+tObWR0jcYmIoJGFy4oEQ== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ad b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ad new file mode 100644 index 00000000000..35230af49bc --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ad @@ -0,0 +1,19 @@ +d 0 /dev/hidraw1 + +w 4 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^@^Q^A^A^A^A^A^A^A^A^Y^Zo^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^Y^Zo^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^Y^Zo^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^Y^Zo^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM^Y^Zo^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^Y^Zo^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@^Y^Zo^@^B^Agad.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@0^@^Y^Zo^@؉^L^W̥M ^C)^N OC<^[~&^UFE)sY^H^J^N'^]^T/a^@^Y^Zo^A'Zdtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 82 ^Y^Zo^@^@^AbidX@0؉^L^W̥M ^C)^N OC<^[~&^UFE)s^Y^Zo^@Y^H^J^N'^]^T/a'Zdtypejpublic-key^BX%fCȣ܀ɽ5~^G^A-YD^Y^Zo^AA,K!^@^@^@^@^I^CXG0E^B!^@m\^C!t:Ý|^^QS#l=^J^B z'ǯ^Y^Zo^B[?^\[^R^FCB_>p^Te%õpj^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 5 ^@^Y^Zo^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^Y^Zo^@Q^@^A^A^B^C8^X ^A!X 44^X^K0@g(^T^OZQ7^Do"X &i^\df^Y^Zo^@^O^_^O^L*U.^Y1`oAw^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 5 ^@^Y^Zo^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^P^@^Y^Zo^B^G^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 244 ^Y^Zo^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^Y^Zo^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^Y^Zo^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^Y^Zo^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^Y^Zo^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^Y^Zo^@^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^Y^Zo^@^@^AbidX@0؉^L^W̥M ^C)^N OC<^[~&^UFE)s^Y^Zo^@Y^H^J^N'^]^T/a'Zdtypejpublic-key^BX%fCȣ܀ɽ5~^G^A-YD^Y^Zo^AA,K!^E^@^@^@^M^CXF0D^B CpQl^S];[(Ei#{"BY^Uܥ^B^B ;']>^Y^Zo^B^A^F^]?u;࿙^U߄9^O^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ipa b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ipa new file mode 100644 index 00000000000..1bc651a4465 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ipa @@ -0,0 +1,22 @@ +d 0 /dev/hidraw1 + +w 3 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^@^Q^A^A^A^A^A^A^A^Ap^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@p^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 p^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secrp^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialMp^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-keyp^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@p^@^B^Ahipa.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@5F^@p^@LEEo"=F^@^] l\^KP"~֦E^Gc^\;3ۏ$^]^Aj~j^J^@p^AL&dtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 83 p^@^@^AbidX@5FLEEo"=F^@^] l\^KP"~֦E^Gc^\;3p^@ۏ$^]^Aj~j^JL&dtypejpublic-key^BX%^@|Dږ^Qx??d^Q/N4/op^AC}.[^@^@^@^@^X^CXG0E^B!^@m$^MJ*;\^V=tjx9cа,^B kYp^B^_^GnrT": *^L^Rwr]!Zxf^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 5 ^@p^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 p^@Q^@^A^A^B^C8^X ^A!X ^_9;^CEBQ&(W3h^]F^A%"X ^^s5p^@o6^@izdF m+35^P^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 5 ^@p^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^P7DB1f_о*^@p^BL^G^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 285 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 p^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 174 p^@^@^AbidX@5FLEEo"=F^@^] l\^KP"~֦E^Gc^\;3p^@ۏ$^]^Aj~j^JL&dtypejpublic-key^BX%^@|Dږ^Qx??d^Q/N4/op^AC}.[^E^@^@^@^\^CXG0E^B Eo]Wk%^H$-^W^BR^`x^P׀^B!^@ёqp^Bu9\^ZKR&>/͎[`t,^^eg^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ldap b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ldap new file mode 100644 index 00000000000..db026662951 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.ldap @@ -0,0 +1,21 @@ +d 0 /dev/hidraw1 + +w 4 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^@^Q^A^A^A^A^A^A^A^A^S=^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@^S=^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^S=^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^S=^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialM^S=^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^S=^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@^S=^@^B^Adtest^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^A^TMgm^@^S=^@^L-^CS^MW4y_ j\W-VcXG^L^B^W^Oޚt4R5vv7M^Fd^@^S=^Atypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 82 ^S=^@^@^AbidX@^A^TMgm^L-^CS^MW4y_ j\W-VcXG^L^B^W^Oޚt^S=^@4R5vv7M^Fdtypejpublic-key^BX%ЁL}e/Z^UO^[+^K,^S=^A]l^U^J^H^@^@^@^@^C^CXH0F^B!^@9}K:N^M^PraX^D^CxM^B!^@z^A^S=^B􊲳^P+q^@^P|^XM$Fw^]6P3^[wq^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 6 ^@^S=^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^S=^@Q^@^A^A^B^C8^X ^A!X H^GTd^Aڒ8X^T֞{^_uLd^S^G^B^@ +r 240 ^S=^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^S=^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^S=^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^S=^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^S=^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^S=^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^S=^@^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 28 ^S=^@^@^AbidX@^A^TMgm^L-^CS^MW4y_ j\W-VcXG^L^B^W^Oޚt^S=^@4R5vv7M^Fdtypejpublic-key^BX%ЁL}e/Z^UO^[+^K,^S=^A]l^U^J^H^E^@^@^@^G^CXF0D^B j8^M\:H^O@%qt(^\/Ǻ~$$!>;^B u^S=^B{9AbF6^Xs5^K*ywv^L^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.samba b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.samba new file mode 100644 index 00000000000..c0e02fac1ba --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_srv_not_resolvable/umockdev.script.samba @@ -0,0 +1,24 @@ +d 0 /dev/hidraw1 + +w 4 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^@^Q^A^A^A^A^A^A^A^Aj^J^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@j^Jː^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 j^Jː^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secrj^J^@et^CP/W^SG^VZ *^DbrkbupdplaticlientPinucredentialMj^J^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-keyj^J^Bcalg'dtypejpublic-key^M^D^N^Z^@^E^D^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@j^Jː^@^B^Ajsamba.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^@j^J^@-^H&R ⦦{нy7VX!k^Rnx^G^ARų!wCtH^Ln^Rï^R(.H2^@j^J^AIl&0dtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 82 j^Jː^@^@^AbidX@-^H&R ⦦{нy7VX!k^Rnx^G^ARų!wCtH^Ln^Rj^J^@^R(.H2Il&0dtypejpublic-key^BX% ^S@^_n1n;Qm\<ִ>j^J^A`^_W^@^@^@^@^I^CXF0D^B ^R^Q@^XvGB[9j+^C$^P/^V^Qdy^`^Bs7^B )j^J^A`^_W^E^@^@^@^L^CXF0D^B `Wo%^Q&-?g{^B_<@^V3@/l^B I^I&j^J^BH,\DW^^pEKb^Y%^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/tests/test_passkey.py b/src/tests/system/tests/test_passkey.py index ad784c5282d..af70634c5de 100644 --- a/src/tests/system/tests/test_passkey.py +++ b/src/tests/system/tests/test_passkey.py @@ -2,6 +2,12 @@ Passkey Tests. :requirement: passkey + +The passkey solution only enables to authenticate in a system where the +FIDO2 key is connected physically. +This could be su, login, the GUI, or even ssh @localhost. +Here, passkey support is tested with su, +tests are running with umockdev, not with any physically key. """ from __future__ import annotations @@ -25,7 +31,7 @@ def test_passkey__register__sssctl(client: Client, moduledatadir: str, testdatad 1. Use sssctl to register a FIDO2 key. 2. Check the output. :expectedresults: - 1. New key is registered + 1. New key is registered. 2. Output contains key mapping data. :customerscenario: False """ @@ -78,14 +84,82 @@ def test_passkey__register__ipa(ipa: IPA, moduledatadir: str, testdatadir: str): @pytest.mark.builtwith(client="passkey", provider="passkey") def test_passkey__su(client: Client, provider: GenericProvider, moduledatadir: str, testdatadir: str): """ - :title: Check authentication of user with LDAP, IPA, AD and Samba + :title: Check su authentication of user with LDAP, IPA, AD and Samba :setup: 1. Add a user in LDAP, IPA, AD and Samba with passkey_mapping. 2. Setup SSSD client with FIDO and umockdev, start SSSD service. :steps: - 1. Check authentication of the user. + 1. Check su authentication of the user. + :expectedresults: + 1. User su authenticates successfully. + :customerscenario: False + """ + suffix = type(provider).__name__.lower() + + if suffix == "ldap": + client.sssd.domain["local_auth_policy"] = "only" + + with open(f"{testdatadir}/passkey-mapping.{suffix}") as f: + provider.user("user1").add().passkey_add(f.read().strip()) + + client.sssd.start() + + assert client.auth.su.passkey( + username="user1", + pin=123456, + device=f"{moduledatadir}/umockdev.device", + ioctl=f"{moduledatadir}/umockdev.ioctl", + script=f"{testdatadir}/umockdev.script.{suffix}", + ) + + +@pytest.mark.importance("high") +@pytest.mark.topology(KnownTopologyGroup.AnyProvider) +@pytest.mark.builtwith(client="passkey", provider="passkey") +def test_passkey__su_fail_pin(client: Client, provider: GenericProvider, moduledatadir: str, testdatadir: str): + """ + :title: Check su authentication deny of user with LDAP, IPA, AD and Samba with incorrect pin + :setup: + 1. Add a LDAP, IPA, AD and Samba user with passkey_mapping. + 2. Setup SSSD client with FIDO and umockdev, start SSSD service. + :steps: + 1. Check su authentication of the user with incorrect PIN. + :expectedresults: + 1. User failed to su authenticate. + :customerscenario: False + """ + suffix = type(provider).__name__.lower() + + if suffix == "ldap": + client.sssd.domain["local_auth_policy"] = "only" + + with open(f"{testdatadir}/passkey-mapping.{suffix}") as f: + provider.user("user1").add().passkey_add(f.read().strip()) + + client.sssd.start() + + assert not client.auth.su.passkey( + username="user1", + pin=67890, + device=f"{moduledatadir}/umockdev.device", + ioctl=f"{moduledatadir}/umockdev.ioctl", + script=f"{testdatadir}/umockdev.script.{suffix}", + ) + + +@pytest.mark.importance("critical") +@pytest.mark.topology(KnownTopologyGroup.AnyProvider) +@pytest.mark.builtwith(client="passkey", provider="passkey") +def test_passkey__su_fail_mapping(client: Client, provider: GenericProvider, moduledatadir: str, testdatadir: str): + """ + :title: Check su authentication deny of user with LDAP, IPA, AD and Samba with incorrect mapping + :setup: + 1. Add a LDAP, IPA, AD and Samba user with passkey_mapping. + 2. Setup SSSD client with FIDO and umockdev, start SSSD service. + :steps: + 1. Check su authentication of the user with incorrect passkey mapping. :expectedresults: - 1. User authenticates successfully. + 1. User failed to su authenticate. :customerscenario: False """ suffix = type(provider).__name__.lower() @@ -93,11 +167,74 @@ def test_passkey__su(client: Client, provider: GenericProvider, moduledatadir: s if suffix == "ldap": client.sssd.domain["local_auth_policy"] = "only" + # Here, I am using passkey-mapping from the other FIDO2 key, + # mapping is not generated by the key I am using. + with open(f"{testdatadir}/passkey-mapping.{suffix}") as f: provider.user("user1").add().passkey_add(f.read().strip()) client.sssd.start() + assert not client.auth.su.passkey( + username="user1", + pin=123456, + device=f"{moduledatadir}/umockdev.device", + ioctl=f"{moduledatadir}/umockdev.ioctl", + script=f"{testdatadir}/umockdev.script.{suffix}", + ) + + +@pytest.mark.importance("high") +@pytest.mark.topology(KnownTopologyGroup.AnyProvider) +@pytest.mark.builtwith(client="passkey", provider="passkey") +def test_passkey__su_srv_not_resolvable( + client: Client, provider: GenericProvider, moduledatadir: str, testdatadir: str +): + """ + :title: Check su authentication of a user with LDAP, IPA, AD and Samba when server is not resolvable + :setup: + 1. Add a LDAP, IPA, AD and Samba user with passkey_mapping. + 2. Setup SSSD client with FIDO and umockdev, start SSSD service. + :steps: + 1. Check su authentication of the user. + 2. Update the server url and restart the sssd service to reflect the changes. + 3. Check su authentication of the user. + :expectedresults: + 1. User su authenticates successfully. + 2. Successfully update the sssd.conf and restarted the sssd service. + 3. User su authenticates successfully due to cached data. + :customerscenario: False + """ + suffix = type(provider).__name__.lower() + if suffix == "ipa": + server_url = "ipa_server" + elif suffix == "ldap": + server_url = "ldap_uri" + client.sssd.domain["local_auth_policy"] = "only" + elif suffix == "samba" or "ad": + server_url = "ad_server" + else: + assert False, "provider not found" + + with open(f"{testdatadir}/passkey-mapping.{suffix}") as f: + provider.user("user1").add().passkey_add(f.read().strip()) + + client.sssd.start() + + # First time check authentication to cache the user + assert client.auth.su.passkey( + username="user1", + pin=123456, + device=f"{moduledatadir}/umockdev.device", + ioctl=f"{moduledatadir}/umockdev.ioctl", + script=f"{testdatadir}/umockdev.script.{suffix}", + ) + + # Here we are making server/backend offline but not deleting cache and logs. + client.sssd.config.remove_option("domain/test", server_url) + client.sssd.domain[server_url] = "ldap://new.server.test" + client.sssd.start() + assert client.auth.su.passkey( username="user1", pin=123456,