diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c
index a14d6c059da100dbd24f83d8efdeba181596d97f..7b3e28dd48ea1782be8cb2fa5c85ff0e7fff5da1 100644
--- a/src/lib-sieve-tool/sieve-tool.c
+++ b/src/lib-sieve-tool/sieve-tool.c
@@ -43,7 +43,7 @@ const char *sieve_tool_get_homedir
 	return getenv("HOME");
 }
 
-const struct sieve_callbacks sieve_tool_callbacks = {
+const struct sieve_environment sieve_tool_sieve_env = {
 	sieve_tool_get_homedir,
 	sieve_tool_get_setting
 };
@@ -74,7 +74,7 @@ static void sig_die(const siginfo_t *si, void *context ATTR_UNUSED)
 /* HACK */
 static bool _init_lib = FALSE;
 
-void sieve_tool_init(const struct sieve_callbacks *callbacks, bool init_lib) 
+void sieve_tool_init(const struct sieve_environment *env, bool init_lib) 
 {
 	_init_lib = init_lib;
 
@@ -90,9 +90,9 @@ void sieve_tool_init(const struct sieve_callbacks *callbacks, bool init_lib)
 		lib_signals_ignore(SIGALRM, FALSE);
 	}
 
-	if ( callbacks == NULL ) callbacks = &sieve_tool_callbacks;
+	if ( env == NULL ) env = &sieve_tool_sieve_env;
 
-	if ( (sieve_instance=sieve_init(callbacks, NULL)) == NULL )
+	if ( (sieve_instance=sieve_init(env, NULL)) == NULL )
 		i_fatal("failed to initialize sieve implementation\n");
 }
 
diff --git a/src/lib-sieve-tool/sieve-tool.h b/src/lib-sieve-tool/sieve-tool.h
index 0958aa2c4a7e492874526b05474afc9cc8a0cbea..0820b7705bbfdb0b8f2f6b08906ac1f11b3f26ba 100644
--- a/src/lib-sieve-tool/sieve-tool.h
+++ b/src/lib-sieve-tool/sieve-tool.h
@@ -17,13 +17,13 @@ struct sieve_instance *sieve_instance;
 const char *sieve_tool_get_setting(void *context, const char *identifier);
 const char *sieve_tool_get_homedir(void *context);
 
-const struct sieve_callbacks sieve_tool_callbacks;
+const struct sieve_environment sieve_tool_env;
 
 /*
  * Initialization
  */
 
-void sieve_tool_init(const struct sieve_callbacks *callbacks, bool init_lib);
+void sieve_tool_init(const struct sieve_environment *env, bool init_lib);
 void sieve_tool_deinit(void);
 
 /*
diff --git a/src/lib-sieve/plugins/include/ext-include-common.c b/src/lib-sieve/plugins/include/ext-include-common.c
index 9f9ba67423ca9c6cdee7902a7df654f7d908659f..925078956097e2c6c5745a856ff132700a507dcf 100644
--- a/src/lib-sieve/plugins/include/ext-include-common.c
+++ b/src/lib-sieve/plugins/include/ext-include-common.c
@@ -77,9 +77,9 @@ const char *ext_include_get_script_directory
 
 	switch ( location ) {
 	case EXT_INCLUDE_LOCATION_PERSONAL:
- 		sieve_dir = sieve_get_setting(svinst, "sieve_dir");
+ 		sieve_dir = sieve_setting_get(svinst, "sieve_dir");
 
-		home = sieve_get_homedir(svinst);
+		home = sieve_environment_get_homedir(svinst);
 
 		if ( sieve_dir == NULL ) {
 			if ( home == NULL )	{		
@@ -97,7 +97,7 @@ const char *ext_include_get_script_directory
 
 		break;
    	case EXT_INCLUDE_LOCATION_GLOBAL:
-		sieve_dir = sieve_get_setting(svinst, "sieve_global_dir");
+		sieve_dir = sieve_setting_get(svinst, "sieve_global_dir");
 
 		if (sieve_dir == NULL) {
 			sieve_sys_error(
diff --git a/src/lib-sieve/plugins/subaddress/ext-subaddress.c b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
index 17de8d5e16d9e45636eeecebcfaae2cc9db02aeb..a1fce1581dad2cec15eb8156746f59bf14d62423 100644
--- a/src/lib-sieve/plugins/subaddress/ext-subaddress.c
+++ b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
@@ -70,7 +70,8 @@ static bool ext_subaddress_load
 (const struct sieve_extension *ext, void **context)
 {
 	struct ext_subaddress_config *config;
-	const char *delim = sieve_get_setting(ext->svinst, "recipient_delimiter");
+	const char *delim = sieve_setting_get
+		(ext->svinst, "recipient_delimiter");
 
 	if ( delim == NULL )
 		delim = SUBADDRESS_DEFAULT_DELIM;
diff --git a/src/lib-sieve/sieve-common.h b/src/lib-sieve/sieve-common.h
index 2eed4e839516f5f8ec2675e679c229e711a27527..9c16ce7d130fed69ae502251195571218cb66ec5 100644
--- a/src/lib-sieve/sieve-common.h
+++ b/src/lib-sieve/sieve-common.h
@@ -140,7 +140,7 @@ struct sieve_instance {
 	pool_t pool;
 
 	/* Callbacks */
-	const struct sieve_callbacks *callbacks;
+	const struct sieve_environment *env;
 	void *context;
 
 	/* Extension registry */
diff --git a/src/lib-sieve/sieve-settings.c b/src/lib-sieve/sieve-settings.c
index 3c834a8c48f86002db87c5e8256af5eb855714e7..f882caaa1bbdbc4d23ac7ae7e34c87a1d7dded64 100644
--- a/src/lib-sieve/sieve-settings.c
+++ b/src/lib-sieve/sieve-settings.c
@@ -10,14 +10,14 @@
 #include <stdlib.h>
 #include <ctype.h>
 
-bool sieve_get_uint_setting
-(struct sieve_instance *svinst, const char *identifier,
+bool sieve_setting_get_uint_value
+(struct sieve_instance *svinst, const char *setting,
 	unsigned long long int *value_r)
 {
 	const char *str_value;
 	char *endp;
 
-	str_value = sieve_get_setting(svinst, identifier);
+	str_value = sieve_setting_get(svinst, setting);
 
 	if ( str_value == NULL || *str_value == '\0' )
 		return FALSE;
@@ -26,21 +26,21 @@ bool sieve_get_uint_setting
 
 	if ( *endp != '\0' ) {
 		sieve_sys_warning("invalid unsigned integer value for setting '%s': '%s'",
-			identifier, str_value);
+			setting, str_value);
 		return FALSE;
 	}
 	
 	return TRUE;	
 }
 
-bool sieve_get_int_setting
-(struct sieve_instance *svinst, const char *identifier,
+bool sieve_setting_get_int_value
+(struct sieve_instance *svinst, const char *setting,
 	long long int *value_r)
 {
 	const char *str_value;
 	char *endp;
 
-	str_value = sieve_get_setting(svinst, identifier);
+	str_value = sieve_setting_get(svinst, setting);
 
 	if ( str_value == NULL || *str_value == '\0' )
 		return FALSE;
@@ -49,7 +49,7 @@ bool sieve_get_int_setting
 
 	if ( *endp != '\0' ) {
 		sieve_sys_warning("invalid integer value for setting '%s': '%s'",
-			identifier, str_value);
+			setting, str_value);
 
 		return FALSE;
 	}
@@ -57,15 +57,15 @@ bool sieve_get_int_setting
 	return TRUE;	
 }
 
-bool sieve_get_size_setting
-(struct sieve_instance *svinst, const char *identifier,
+bool sieve_setting_get_size_value
+(struct sieve_instance *svinst, const char *setting,
 	size_t *value_r)
 {
 	const char *str_value;
 	unsigned long long int value, multiply = 1;
 	char *endp;
 
-	str_value = sieve_get_setting(svinst, identifier);
+	str_value = sieve_setting_get(svinst, setting);
 
 	if ( str_value == NULL || *str_value == '\0' )
 		return FALSE;
@@ -93,7 +93,7 @@ bool sieve_get_size_setting
 		break;
 	default:
 		sieve_sys_warning("invalid unsigned integer value for setting '%s': '%s'",
-			identifier, str_value);
+			setting, str_value);
 		return FALSE;
 	}
 
diff --git a/src/lib-sieve/sieve-settings.h b/src/lib-sieve/sieve-settings.h
index debab0edf247208cd0aa68863a9cd54d75dae4d3..9e9ad192c20775d96ffbd449129680dd4c4f171f 100644
--- a/src/lib-sieve/sieve-settings.h
+++ b/src/lib-sieve/sieve-settings.h
@@ -10,42 +10,42 @@
  * Settings
  */
 
-static inline const char *sieve_get_setting
+static inline const char *sieve_setting_get
 (struct sieve_instance *svinst, const char *identifier)
 {
-	const struct sieve_callbacks *callbacks = svinst->callbacks;
+	const struct sieve_environment *env = svinst->env;
 
-	if ( callbacks == NULL || callbacks->get_setting == NULL )
+	if ( env == NULL || env->get_setting == NULL )
 		return NULL;
 
-	return callbacks->get_setting(svinst->context, identifier);
+	return env->get_setting(svinst->context, identifier);
 }
 
-bool sieve_get_uint_setting
-(struct sieve_instance *svinst, const char *identifier,
+bool sieve_setting_get_uint_value
+(struct sieve_instance *svinst, const char *setting,
 	unsigned long long int *value_r);
 
-bool sieve_get_int_setting
-(struct sieve_instance *svinst, const char *identifier,
+bool sieve_setting_get_int_value
+(struct sieve_instance *svinst, const char *setting,
 	long long int *value_r);
 
-bool sieve_get_size_setting
-(struct sieve_instance *svinst, const char *identifier,
+bool sieve_setting_get_size_value
+(struct sieve_instance *svinst, const char *setting,
 	size_t *value_r);
 
 /*
  * Home directory
  */
 
-static inline const char *sieve_get_homedir
+static inline const char *sieve_environment_get_homedir
 (struct sieve_instance *svinst)
 {
-	const struct sieve_callbacks *callbacks = svinst->callbacks;
+	const struct sieve_environment *env = svinst->env;
 
-	if ( callbacks == NULL || callbacks->get_homedir == NULL )
+	if ( env == NULL || env->get_homedir == NULL )
 		return NULL;
 
-	return callbacks->get_homedir(svinst->context);
+	return env->get_homedir(svinst->context);
 }
 
 #endif /* __SIEVE_SETTINGS_H */
diff --git a/src/lib-sieve/sieve-types.h b/src/lib-sieve/sieve-types.h
index 519d2354d0a3355d801825932c7cac858fd1aae3..291aa85d3cf3d16927f253b536ee7513864ad3ef 100644
--- a/src/lib-sieve/sieve-types.h
+++ b/src/lib-sieve/sieve-types.h
@@ -29,7 +29,7 @@ struct sieve_exec_status;
  * Callbacks
  */
 
-struct sieve_callbacks {
+struct sieve_environment {
 	const char *(*get_homedir)(void *context);
 	const char *(*get_setting)(void *context, const char *identifier);
 };
diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c
index 755c0e328458c2e6a992b960529c9eeb899d2d63..9b3ca195c8ca0080abc68d4253370cdc8638821c 100644
--- a/src/lib-sieve/sieve.c
+++ b/src/lib-sieve/sieve.c
@@ -38,7 +38,7 @@
  */
 
 struct sieve_instance *sieve_init
-(const struct sieve_callbacks *callbacks, void *context)
+(const struct sieve_environment *env, void *context)
 {
 	struct sieve_instance *svinst;
 	unsigned long long int uint_setting;
@@ -49,7 +49,7 @@ struct sieve_instance *sieve_init
 	pool = pool_alloconly_create("sieve", 8192);
 	svinst = p_new(pool, struct sieve_instance, 1);
 	svinst->pool = pool;
-	svinst->callbacks = callbacks;
+	svinst->env = env;
 	svinst->context = context;
 
 	/* Read limits from configuration */
@@ -58,17 +58,17 @@ struct sieve_instance *sieve_init
 	svinst->max_actions = SIEVE_DEFAULT_MAX_ACTIONS;
 	svinst->max_redirects = SIEVE_DEFAULT_MAX_REDIRECTS;
 
-	if ( sieve_get_size_setting
+	if ( sieve_setting_get_size_value
 		(svinst, "sieve_max_script_size", &size_setting) ) {
 		svinst->max_script_size = size_setting;
 	}
 	
-	if ( sieve_get_uint_setting
+	if ( sieve_setting_get_uint_value
 		(svinst, "sieve_max_actions", &uint_setting) ) {
 		svinst->max_actions = (unsigned int) uint_setting;
 	}
 
-	if ( sieve_get_uint_setting
+	if ( sieve_setting_get_uint_value
 		(svinst, "sieve_max_redirects", &uint_setting) ) {
 		svinst->max_redirects = (unsigned int) uint_setting;
 	}
diff --git a/src/lib-sieve/sieve.h b/src/lib-sieve/sieve.h
index 2967b33b902761f092ec501073f7b9d79427f4f7..f132fcb7590778227804d8bc30bccfc1f64255d2 100644
--- a/src/lib-sieve/sieve.h
+++ b/src/lib-sieve/sieve.h
@@ -22,7 +22,7 @@ struct sieve_binary;
  *   is used.
  */
 struct sieve_instance *sieve_init
-	(const struct sieve_callbacks *callbacks, void *context);
+	(const struct sieve_environment *env, void *context);
 
 /* sieve_deinit():
  *   Frees all memory allocated by the sieve engine. 
diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c
index 60e7b8324ccdab39348a92488c817645588782a9..e056a1527ab60c45af64e0163be9d0d8cdcbfb72 100644
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c
@@ -65,7 +65,7 @@ static const char *lda_sieve_get_setting
 	return mail_user_plugin_getenv(mail_user, identifier);	
 }
 
-static const struct sieve_callbacks lda_sieve_callbacks = {
+static const struct sieve_environment lda_sieve_env = {
 	lda_sieve_get_homedir,
     lda_sieve_get_setting
 };
@@ -524,7 +524,7 @@ static int lda_sieve_run
 	*storage_r = NULL;
 
 	/* Initialize Sieve engine */
-	svinst = sieve_init(&lda_sieve_callbacks, mdctx->dest_user);
+	svinst = sieve_init(&lda_sieve_env, mdctx->dest_user);
 	
 	extensions = mail_user_plugin_getenv
 		(mdctx->dest_user, "sieve_extensions");
diff --git a/src/testsuite/testsuite.c b/src/testsuite/testsuite.c
index 4e5b638bb1bed02fc479a1fad79d757c4eeb01f7..6ac1668cb300ae85b8018ead67a4813143b08ed9 100644
--- a/src/testsuite/testsuite.c
+++ b/src/testsuite/testsuite.c
@@ -50,7 +50,7 @@ const struct sieve_script_env *testsuite_scriptenv;
  * Testsuite initialization 
  */
 
-static const struct sieve_callbacks testsuite_sieve_callbacks = {
+static const struct sieve_environment testsuite_sieve_env = {
 	sieve_tool_get_homedir,
 	testsuite_setting_get
 };
@@ -59,7 +59,7 @@ static void testsuite_tool_init(const char *extensions)
 {
 	testsuite_settings_init();
 
-	sieve_tool_init(&testsuite_sieve_callbacks, FALSE);
+	sieve_tool_init(&testsuite_sieve_env, FALSE);
 
 	sieve_extensions_set_string(sieve_instance, extensions);