summaryrefslogtreecommitdiff
path: root/sw/source/uibase/dbui
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2022-04-02 11:10:22 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2022-04-03 20:48:47 +0200
commit1ea95f05ee8ec496c628bd11750d23cc012c7fe4 (patch)
treec8c9b850a3dfa74ce0da25b5901c5c3dd0398dcb /sw/source/uibase/dbui
parentf49d218a671df5f7a956ccb219dc46a5c8d0a53c (diff)
tdf#148338: allow single-letter lowest-level domain
The check that required lowest-level domain name to be at least two characters long, was introduced for #i25107# in 2004 in the commit dfcb4aa47b81ebd9affddefda88bf9b451508221 Author Rüdiger Timm <rt@openoffice.org> Date Mon Sep 20 12:13:22 2004 +0000 INTEGRATION: CWS swmailmerge (1.1.2); FILE ADDED (See also related #i20057# for feature specification.) It didn't mention a rationale behind that check; but obviously, it's unjustified. There are single-letter second-level domain names [1], like 'x.com', and also under many other TLDs. Also the check prevented single-character third-level names like "a.foo.bar", etc. Plus, RFC 5322 (and its predecessors) do not restrict these lengths in 'Addr-Spec Specification' (and RFCs referenced from there). This does not enable dotless domains [2]; if justified, they should be enabled separately. [1] https://en.wikipedia.org/wiki/Single-letter_second-level_domain [2] https://en.wikipedia.org/wiki/Top-level_domain#Dotless_domains Change-Id: I03cc26a90c08b94b9c1f70e0a0f1746192cb7afe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132482 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sw/source/uibase/dbui')
-rw-r--r--sw/source/uibase/dbui/mailmergehelper.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/sw/source/uibase/dbui/mailmergehelper.cxx b/sw/source/uibase/dbui/mailmergehelper.cxx
index 03df98e9a192..edd125cb04a3 100644
--- a/sw/source/uibase/dbui/mailmergehelper.cxx
+++ b/sw/source/uibase/dbui/mailmergehelper.cxx
@@ -72,8 +72,9 @@ OUString CallSaveAsDialog(weld::Window* pParent, OUString& rFilter)
/*
simple address check: check for '@'
- for at least one '.' after the '@'
- and for at least two characters before and after the dot
+ for at least one '.' after the '@',
+ for at least one character before the dot
+ and for at least two characters after the dot
*/
bool CheckMailAddress( const OUString& rMailAddress )
{
@@ -81,7 +82,7 @@ bool CheckMailAddress( const OUString& rMailAddress )
if (nPosAt<0 || rMailAddress.lastIndexOf('@')!=nPosAt)
return false;
const sal_Int32 nPosDot = rMailAddress.indexOf('.', nPosAt);
- return !(nPosDot<0 || nPosDot-nPosAt<3 || rMailAddress.getLength()-nPosDot<3);
+ return !(nPosDot<0 || nPosDot-nPosAt<2 || rMailAddress.getLength()-nPosDot<3);
}
uno::Reference< mail::XSmtpService > ConnectToSmtpServer(