summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2015-04-12 18:47:03 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2015-04-12 23:36:49 +0100
commit810d16ad4b7f172163ed4bb8adc45a3d7183659a (patch)
tree89325f25506169da9ef734972e0894f46c5f69fa /src
parent8ecb706aed8a3946654fc4419bfd6a3e93e5438b (diff)
client helo
Diffstat (limited to 'src')
-rw-r--r--src/src/transports/smtp.c13
-rw-r--r--src/src/utf8.c1
2 files changed, 14 insertions, 0 deletions
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index 0ca6b4e42..65bb1de22 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -1486,6 +1486,19 @@ if (continue_hostname == NULL)
delayed till here so that $sending_interface and $sending_port are set. */
helo_data = expand_string(ob->helo_data);
+#ifdef EXPERIMENTAL_INTERNATIONAL
+ if (helo_data)
+ {
+ uschar * errstr = NULL;
+ if ((helo_data = string_domain_utf8_to_alabel(helo_data, &errstr)), errstr)
+ {
+ errstr = string_sprintf("failed to expand helo_data: %s", errstr);
+ set_errno(addrlist, ERRNO_EXPANDFAIL, errstr, DEFER, FALSE, NULL);
+ yield = DEFER;
+ goto SEND_QUIT;
+ }
+ }
+#endif
/* The first thing is to wait for an initial OK response. The dreaded "goto"
is nevertheless a reasonably clean way of programming this kind of logic,
diff --git a/src/src/utf8.c b/src/src/utf8.c
index 6d0c5029b..6bc0c2ed5 100644
--- a/src/src/utf8.c
+++ b/src/src/utf8.c
@@ -54,6 +54,7 @@ string_domain_alabel_to_utf8(const uschar * alabel, uschar ** err)
uschar * s1;
uschar * s;
int rc;
+
if ( (rc = idna_to_unicode_8z8z(CCS alabel, CSS &s1, IDNA_USE_STD3_ASCII_RULES))
!= IDNA_SUCCESS)
{