From: Bob Beck Date: Fri, 17 Apr 2026 18:25:14 +0000 (-0600) Subject: Add further unit tests for e-mail validation X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5f489043b662fed32fbf7eb7442c479568eb43fd;p=thirdparty%2Fopenssl.git Add further unit tests for e-mail validation Ensure we correctly catch misformed things. Reviewed-by: Viktor Dukhovni Reviewed-by: Tomas Mraz MergeDate: Mon Jun 8 19:59:29 2026 --- diff --git a/test/verify_extra_test.c b/test/verify_extra_test.c index d49566abe92..052172e2455 100644 --- a/test/verify_extra_test.c +++ b/test/verify_extra_test.c @@ -556,6 +556,37 @@ static int yolo_ip_validation(const uint8_t *name, size_t len) return 1; } +static const char *valid_emails[] = { + "@bb", + "b@bb", + "b@b-b", + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@bb", + "b@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "b@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa." + "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb." + "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc." + "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", + NULL, +}; + +static const char *invalid_emails[] = { + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@bb", + "b@b", + "b@bb.", + "b@bb..bb", + "b@bb-.bb", + "b@-bb.bb", + "b@bb.-bb", + "@", + "@b", + "b@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "b@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa." + "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb." + "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc." + "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", + NULL, +}; + static int test_vpm_input_validation(void) { const char *utf8mail = "学生@muppetry.ca"; @@ -591,6 +622,14 @@ static int test_vpm_input_validation(void) if (!TEST_false(X509_VERIFY_PARAM_set1_host(vpm, multiname_emails[i], 0))) goto err; } + for (size_t i = 0; valid_emails[i] != NULL; i++) { + if (!TEST_true(X509_VERIFY_PARAM_set1_email(vpm, valid_emails[i], 0))) + goto err; + } + for (size_t i = 0; invalid_emails[i] != NULL; i++) { + if (TEST_true(X509_VERIFY_PARAM_set1_email(vpm, invalid_emails[i], 0))) + goto err; + } for (size_t i = 0; multiname_ips[i] != NULL; i++) { size_t l = strlen(multiname_ips[i]); if (!TEST_true(X509_VERIFY_PARAM_set1_ip_asc(vpm, multiname_ips[i])))