diff --git a/src/lib-sieve/plugins/environment/ext-environment-common.c b/src/lib-sieve/plugins/environment/ext-environment-common.c index 367c64e1ea67b44c70f583edb7a3731ef88592af..eed230f30bb7fe031264c846ef6e1bc8da3026ad 100644 --- a/src/lib-sieve/plugins/environment/ext-environment-common.c +++ b/src/lib-sieve/plugins/environment/ext-environment-common.c @@ -98,10 +98,15 @@ const struct sieve_environment_item domain_env_item = { * executing. */ +const char *envit_host_get_value(const struct sieve_script_env *senv) +{ + return senv->hostname; +} + const struct sieve_environment_item host_env_item = { "host", NULL, - NULL, + envit_host_get_value, }; /* "location": diff --git a/src/lib-sieve/plugins/environment/sieve-ext-environment.h b/src/lib-sieve/plugins/environment/sieve-ext-environment.h index 9bd4cc8de42d8aaf3f336239c2641031a3cd280c..19060dd4560ae5ad28dc5dea3c6244e7b7c2460d 100644 --- a/src/lib-sieve/plugins/environment/sieve-ext-environment.h +++ b/src/lib-sieve/plugins/environment/sieve-ext-environment.h @@ -1,6 +1,8 @@ #ifndef __SIEVE_EXT_ENVIRONMENT_H #define __SIEVE_EXT_ENVIRONMENT_H +#include "sieve-common.h" + struct sieve_environment_item { const char *name; diff --git a/src/testsuite/testsuite.c b/src/testsuite/testsuite.c index 17b8a04a0e0c4d7be015f2fdf28010d867546e97..933399fe1189f517cd37cbdd759a1b1450ab9fbc 100644 --- a/src/testsuite/testsuite.c +++ b/src/testsuite/testsuite.c @@ -171,9 +171,10 @@ int main(int argc, char **argv) memset(&scriptenv, 0, sizeof(scriptenv)); scriptenv.default_mailbox = "INBOX"; + scriptenv.hostname = "testsuite.example.com"; scriptenv.username = user; scriptenv.smtp_open = testsuite_smtp_open; - scriptenv.smtp_close = testsuite_smtp_close; + scriptenv.smtp_close = testsuite_smtp_close; scriptenv.trace_stream = ( trace ? o_stream_create_fd(1, 0, FALSE) : NULL ); /* Run the test */ diff --git a/tests/extensions/environment/basic.svtest b/tests/extensions/environment/basic.svtest index ed884d5113d528658d9b54b144ad05e2536c2326..cb60945879e2222af482f63ccec8b4d9db3527e5 100644 --- a/tests/extensions/environment/basic.svtest +++ b/tests/extensions/environment/basic.svtest @@ -19,3 +19,8 @@ test "Name" { } } +test "Host" { + if not environment "host" "testsuite.example.com" { + test_fail "wrong testsuite hostname"; + } +}