X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/3c8b357717e895d6dcddc7faa5b7a0eaf4c73417..dc8091e7b9eb80b77699ac59de3f39eedef65c04:/src/src/routers/redirect.c diff --git a/src/src/routers/redirect.c b/src/src/routers/redirect.c index 9e57c8be6..a69d36e39 100644 --- a/src/src/routers/redirect.c +++ b/src/src/routers/redirect.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2015 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -451,7 +451,7 @@ while (generated != NULL) } } -#ifdef EXPERIMENTAL_INTERNATIONAL +#ifdef SUPPORT_I18N next->prop.utf8_msg = string_is_utf8(next->address) || (sender_address && string_is_utf8(sender_address)); #endif @@ -475,7 +475,7 @@ while (generated != NULL) else debug_printf("gid=unset "); -#ifdef EXPERIMENTAL_INTERNATIONAL +#ifdef SUPPORT_I18N if (next->prop.utf8_msg) debug_printf("utf8 "); #endif @@ -553,6 +553,12 @@ addr_prop.remove_headers = NULL; #ifdef EXPERIMENTAL_SRS addr_prop.srs_sender = NULL; #endif +#ifdef SUPPORT_I18N +addr_prop.utf8_msg = FALSE; /*XXX should we not copy this from the parent? */ +addr_prop.utf8_downcvt = FALSE; +addr_prop.utf8_downcvt_maybe = FALSE; +#endif + /* When verifying and testing addresses, the "logwrite" command in filters must be bypassed. */ @@ -649,8 +655,8 @@ if (!ugid.gid_set && pw != NULL) // eximsrs_db_set(FALSE, NULL); */ - if(ob->srs_alias != NULL ? (usedomain = expand_string(ob->srs_alias)) == NULL : 1) - usedomain = deliver_domain; + if (!(usedomain = ob->srs_alias ? expand_string(ob->srs_alias) : NULL)) + usedomain = string_copy(deliver_domain); if((n_srs = eximsrs_forward(&res, sender_address, usedomain)) == OK) {