X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fsieve%2Fserv_sieve.c;h=226b4825562344c30a3fcd988e10f01d8c7c669a;hp=fe485b41ea77579d7c5c9263e1aec59e43e29773;hb=dc4a5ff83cf6ae013deabb7e7e549a618a59ae92;hpb=89e73c2d7fc69f14bf21e6874b877b3ee70158f8 diff --git a/citadel/modules/sieve/serv_sieve.c b/citadel/modules/sieve/serv_sieve.c index fe485b41e..226b48255 100644 --- a/citadel/modules/sieve/serv_sieve.c +++ b/citadel/modules/sieve/serv_sieve.c @@ -387,8 +387,32 @@ int ctdl_getenvelope(sieve2_context_t *s, void *my) struct ctdl_sieve *cs = (struct ctdl_sieve *)my; lprintf(CTDL_DEBUG, "Action is GETENVELOPE\n"); - sieve2_setvalue_string(s, "to", cs->envelope_to); - sieve2_setvalue_string(s, "from", cs->envelope_from); + + if (cs->envelope_from != NULL) { + if ((cs->envelope_from[0] != '@')&&(cs->envelope_from[strlen(cs->envelope_from)-1] != '@')) { + sieve2_setvalue_string(s, "from", cs->envelope_from); + } + else { + sieve2_setvalue_string(s, "from", "invalid_envelope_from@example.org"); + } + } + else { + sieve2_setvalue_string(s, "from", "null_envelope_from@example.org"); + } + + + if (cs->envelope_to != NULL) { + if ((cs->envelope_to[0] != '@') && (cs->envelope_to[strlen(cs->envelope_to)-1] != '@')) { + sieve2_setvalue_string(s, "to", cs->envelope_to); + } + else { + sieve2_setvalue_string(s, "to", "invalid_envelope_to@example.org"); + } + } + else { + sieve2_setvalue_string(s, "to", "null_envelope_to@example.org"); + } + return SIEVE2_OK; }