Skip to content

Commit

Permalink
test_user_pass: Add UTs for character filtering
Browse files Browse the repository at this point in the history
For simplicity I implemented them only with the
inline method, but they actually apply to all methods.

Change-Id: Ie8d2d5f6f58679baaf5eb817a7e2ca1afcb8c4db
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Arne Schwabe <arne-openvpn@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20240129105358.11161-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/search?l=mid&q=20240129105358.11161-1-gert@greenie.muc.de
Signed-off-by: Gert Doering <gert@greenie.muc.de>
  • Loading branch information
flichtenheld authored and cron2 committed Jan 29, 2024
1 parent b9696ff commit 55418bf
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions tests/unit_tests/openvpn/test_user_pass.c
Original file line number Diff line number Diff line change
@@ -141,6 +141,29 @@ test_get_user_pass_inline_creds(void **state)

reset_user_pass(&up);

/* Test various valid characters */
/*FIXME: query_user_exec() called even though nothing queued */
will_return(query_user_exec_builtin, true);
/* FIXME? content after first two lines just ignored */
assert_true(get_user_pass_cr(&up, "#iuser and 커뮤니티\n//ipasswörd!\nsome other content\nnot relevant", "UT", flags, NULL));
assert_true(up.defined);
assert_string_equal(up.username, "#iuser and 커뮤니티");
assert_string_equal(up.password, "//ipasswörd!");

reset_user_pass(&up);

/* Test various invalid characters */
/*FIXME: query_user_exec() called even though nothing queued */
will_return(query_user_exec_builtin, true);
/*FIXME? allows arbitrary crap if c > 127 */
/*FIXME? silently removes control characters */
assert_true(get_user_pass_cr(&up, "\tiuser\r\nipass\xffwo\x1erd", "UT", flags, NULL));
assert_true(up.defined);
assert_string_equal(up.username, "iuser");
assert_string_equal(up.password, "ipass\xffword");

reset_user_pass(&up);

expect_string(query_user_exec_builtin, query_user[i].prompt, "Enter UT Password:");
will_return(query_user_exec_builtin, "cpassword");
will_return(query_user_exec_builtin, true);

0 comments on commit 55418bf

Please sign in to comment.