diff --git a/CHANGES b/CHANGES index 51711e4dfe..c221f32941 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +5.1.0-dev.382 | 2022-08-11 10:41:08 -0700 + + * UPDATED: improving email address splitting for common comma case (TheAvgJojo) + 5.1.0-dev.380 | 2022-08-11 10:30:33 -0700 * Fix a crash related to a broken IPv6 chain (Tim Wojtulewicz) diff --git a/VERSION b/VERSION index 4e8be10c29..91c2feef12 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.1.0-dev.380 +5.1.0-dev.382 diff --git a/scripts/base/utils/email.zeek b/scripts/base/utils/email.zeek index b647149bdc..0217fa12bc 100644 --- a/scripts/base/utils/email.zeek +++ b/scripts/base/utils/email.zeek @@ -58,7 +58,7 @@ function extract_first_email_addr(str: string): string function split_mime_email_addresses(line: string): set[string] { local output = string_set(); - local addrs = find_all(line, /(\"[^"]*\")?[^,]+/); + local addrs = find_all(line, /(\"[^"]*\")?[^,]+@[^,]+/); for ( part in addrs ) { add output[strip(part)]; diff --git a/testing/btest/Baseline/scripts.base.utils.email/output b/testing/btest/Baseline/scripts.base.utils.email/output index dc0958ff64..267cdf340c 100644 --- a/testing/btest/Baseline/scripts.base.utils.email/output +++ b/testing/btest/Baseline/scripts.base.utils.email/output @@ -13,6 +13,11 @@ three@example.com, two@example.com, one@example.com } +{ +three@example.com, +two@example.com, +one@example.com +} one@example.com [one@example.com, two@example.com, three@example.com, one@example.com] { @@ -26,9 +31,17 @@ john.smith@email.com john.smith@email.com, jane.doe@email.com } +{ +"Smith, John" , +"Doe, Jane" +} john.smith@email.com [john.smith@email.com, jane.doe@email.com] { john.smith@email.com, jane.doe@email.com } +{ +"Smith, John" , +"Doe, Jane" +} diff --git a/testing/btest/scripts/base/utils/email.zeek b/testing/btest/scripts/base/utils/email.zeek index 6d4838765f..2866ebc465 100644 --- a/testing/btest/scripts/base/utils/email.zeek +++ b/testing/btest/scripts/base/utils/email.zeek @@ -11,6 +11,7 @@ s = "one@example.com,two@example.com,three@example.com,one@example.com"; print extract_first_email_addr(s); print extract_email_addrs_vec(s); print extract_email_addrs_set(s); +print split_mime_email_addresses(s); s = "ieje one@example.com, eifj two@example.com, asdf three@example.com, one@example.com"; print extract_first_email_addr(s); print extract_email_addrs_vec(s); @@ -19,7 +20,9 @@ s = "\"Smith, John\" , \"Doe, Jane\" " print extract_first_email_addr(s); print extract_email_addrs_vec(s); print extract_email_addrs_set(s); +print split_mime_email_addresses(s); s = "\"Smith, John\" ,\"Doe, Jane\" "; print extract_first_email_addr(s); print extract_email_addrs_vec(s); print extract_email_addrs_set(s); +print split_mime_email_addresses(s); \ No newline at end of file