mail-user.h (dovecot-2.3.16) | : | mail-user.h (dovecot-2.3.17) | ||
---|---|---|---|---|
skipping to change at line 13 | skipping to change at line 13 | |||
#include "net.h" | #include "net.h" | |||
#include "unichar.h" | #include "unichar.h" | |||
#include "mail-storage-settings.h" | #include "mail-storage-settings.h" | |||
struct module; | struct module; | |||
struct stats; | struct stats; | |||
struct fs_settings; | struct fs_settings; | |||
struct ssl_iostream_settings; | struct ssl_iostream_settings; | |||
struct mail_user; | struct mail_user; | |||
struct dict_op_settings; | ||||
struct mail_user_vfuncs { | struct mail_user_vfuncs { | |||
void (*deinit)(struct mail_user *user); | void (*deinit)(struct mail_user *user); | |||
void (*deinit_pre)(struct mail_user *user); | void (*deinit_pre)(struct mail_user *user); | |||
void (*stats_fill)(struct mail_user *user, struct stats *stats); | void (*stats_fill)(struct mail_user *user, struct stats *stats); | |||
}; | }; | |||
struct mail_user_connection_data { | struct mail_user_connection_data { | |||
struct ip_addr *local_ip, *remote_ip; | struct ip_addr *local_ip, *remote_ip; | |||
in_port_t local_port, remote_port; | in_port_t local_port, remote_port; | |||
skipping to change at line 65 | skipping to change at line 66 | |||
const struct var_expand_table *var_expand_table; | const struct var_expand_table *var_expand_table; | |||
/* If non-NULL, fail the user initialization with this error. | /* If non-NULL, fail the user initialization with this error. | |||
This could be set by plugins that need to fail the initialization. */ | This could be set by plugins that need to fail the initialization. */ | |||
const char *error; | const char *error; | |||
const struct setting_parser_info *set_info; | const struct setting_parser_info *set_info; | |||
const struct mail_user_settings *unexpanded_set; | const struct mail_user_settings *unexpanded_set; | |||
struct mail_user_settings *set; | struct mail_user_settings *set; | |||
struct mail_namespace *namespaces; | struct mail_namespace *namespaces; | |||
struct mail_storage *storages; | struct mail_storage *storages; | |||
struct dict_op_settings *dict_op_set; | ||||
ARRAY(const struct mail_storage_hooks *) hooks; | ARRAY(const struct mail_storage_hooks *) hooks; | |||
normalizer_func_t *default_normalizer; | normalizer_func_t *default_normalizer; | |||
/* Filled lazily by mailbox_attribute_*() when accessing attributes. */ | /* Filled lazily by mailbox_attribute_*() when accessing attributes. */ | |||
struct dict *_attr_dict; | struct dict *_attr_dict; | |||
/* Module-specific contexts. See mail_storage_module_id. */ | /* Module-specific contexts. See mail_storage_module_id. */ | |||
ARRAY(union mail_user_module_context *) module_contexts; | ARRAY(union mail_user_module_context *) module_contexts; | |||
/* User doesn't exist (as reported by userdb lookup when looking | /* User doesn't exist (as reported by userdb lookup when looking | |||
skipping to change at line 162 | skipping to change at line 164 | |||
/* Return %variable expansion table for the user. */ | /* Return %variable expansion table for the user. */ | |||
const struct var_expand_table * | const struct var_expand_table * | |||
mail_user_var_expand_table(struct mail_user *user); | mail_user_var_expand_table(struct mail_user *user); | |||
/* Specify the user's home directory. This should be called also when it's | /* Specify the user's home directory. This should be called also when it's | |||
known that the user doesn't have a home directory to avoid the internal | known that the user doesn't have a home directory to avoid the internal | |||
lookup. */ | lookup. */ | |||
void mail_user_set_home(struct mail_user *user, const char *home); | void mail_user_set_home(struct mail_user *user, const char *home); | |||
/* Get the home directory for the user. Returns 1 if home directory looked up | /* Get the home directory for the user. Returns 1 if home directory looked up | |||
successfully, 0 if there is no home directory (either user doesn't exist or | successfully, 0 if there is no home directory (either user doesn't exist or | |||
has no home directory) or -1 if lookup failed. */ | has no home directory) or -1 if lookup failed. The returned home string | |||
is valid until the user is freed. */ | ||||
int mail_user_get_home(struct mail_user *user, const char **home_r); | int mail_user_get_home(struct mail_user *user, const char **home_r); | |||
/* Appends path + file prefix for creating a temporary file. | /* Appends path + file prefix for creating a temporary file. | |||
The file prefix doesn't contain any uniqueness. */ | The file prefix doesn't contain any uniqueness. */ | |||
void mail_user_set_get_temp_prefix(string_t *dest, | void mail_user_set_get_temp_prefix(string_t *dest, | |||
const struct mail_user_settings *set); | const struct mail_user_settings *set); | |||
/* Get volatile directory from INBOX namespace if configured. Returns NULL if | ||||
none is configured. */ | ||||
const char *mail_user_get_volatile_dir(struct mail_user *user); | ||||
/* Returns 1 on success, 0 if lock_secs is reached, -1 on error */ | /* Returns 1 on success, 0 if lock_secs is reached, -1 on error */ | |||
int mail_user_lock_file_create(struct mail_user *user, const char *lock_fname, | int mail_user_lock_file_create(struct mail_user *user, const char *lock_fname, | |||
unsigned int lock_secs, | unsigned int lock_secs, | |||
struct file_lock **lock_r, const char **error_r); | struct file_lock **lock_r, const char **error_r); | |||
/* Returns TRUE if plugin is loaded for the user. */ | /* Returns TRUE if plugin is loaded for the user. */ | |||
bool mail_user_is_plugin_loaded(struct mail_user *user, struct module *module); | bool mail_user_is_plugin_loaded(struct mail_user *user, struct module *module); | |||
/* If name exists in plugin_envs, return its value. */ | /* If name exists in plugin_envs, return its value. */ | |||
const char *mail_user_plugin_getenv(struct mail_user *user, const char *name); | const char *mail_user_plugin_getenv(struct mail_user *user, const char *name); | |||
bool mail_user_plugin_getenv_bool(struct mail_user *user, const char *name); | bool mail_user_plugin_getenv_bool(struct mail_user *user, const char *name); | |||
skipping to change at line 204 | skipping to change at line 210 | |||
/* Returns unique user+ip identifier for anvil. */ | /* Returns unique user+ip identifier for anvil. */ | |||
const char *mail_user_get_anvil_userip_ident(struct mail_user *user); | const char *mail_user_get_anvil_userip_ident(struct mail_user *user); | |||
/* Basically the same as mail_storage_find_class(), except automatically load | /* Basically the same as mail_storage_find_class(), except automatically load | |||
storage plugins when needed. */ | storage plugins when needed. */ | |||
struct mail_storage * | struct mail_storage * | |||
mail_user_get_storage_class(struct mail_user *user, const char *name); | mail_user_get_storage_class(struct mail_user *user, const char *name); | |||
/* Initialize SSL client settings from mail_user settings. */ | /* Initialize SSL client settings from mail_user settings. */ | |||
void mail_user_init_ssl_client_settings(struct mail_user *user, | void mail_user_init_ssl_client_settings(struct mail_user *user, | |||
struct ssl_iostream_settings *ssl_set); | struct ssl_iostream_settings *ssl_set_r); | |||
/* Initialize fs_settings from mail_user settings. */ | /* Initialize fs_settings from mail_user settings. */ | |||
void mail_user_init_fs_settings(struct mail_user *user, | void mail_user_init_fs_settings(struct mail_user *user, | |||
struct fs_settings *fs_set, | struct fs_settings *fs_set, | |||
struct ssl_iostream_settings *ssl_set); | struct ssl_iostream_settings *ssl_set_r); | |||
/* Fill statistics for user. By default there are no statistics, so stats | /* Fill statistics for user. By default there are no statistics, so stats | |||
plugin must be loaded to have anything filled. */ | plugin must be loaded to have anything filled. */ | |||
void mail_user_stats_fill(struct mail_user *user, struct stats *stats); | void mail_user_stats_fill(struct mail_user *user, struct stats *stats); | |||
/* Try to mkdir() user's home directory. Ideally this should be called only | /* Try to mkdir() user's home directory. Ideally this should be called only | |||
after the caller tries to create a file to the home directory, but it fails | after the caller tries to create a file to the home directory, but it fails | |||
with ENOENT. This way it avoids unnecessary disk IO to the home. */ | with ENOENT. This way it avoids unnecessary disk IO to the home. */ | |||
int mail_user_home_mkdir(struct mail_user *user); | int mail_user_home_mkdir(struct mail_user *user); | |||
/* Return dict_op_settings for the user. The returned settings are valid until | ||||
the user is freed. */ | ||||
const struct dict_op_settings * | ||||
mail_user_get_dict_op_settings(struct mail_user *user); | ||||
/* Obtain the postmaster address to be used for this user as an RFC 5322 (IMF) | /* Obtain the postmaster address to be used for this user as an RFC 5322 (IMF) | |||
address. Returns false if the configured postmaster address is invalid in | address. Returns false if the configured postmaster address is invalid in | |||
which case error_r contains the error message. */ | which case error_r contains the error message. */ | |||
static inline bool | static inline bool | |||
mail_user_get_postmaster_address(struct mail_user *user, | mail_user_get_postmaster_address(struct mail_user *user, | |||
const struct message_address **address_r, | const struct message_address **address_r, | |||
const char **error_r) | const char **error_r) | |||
{ | { | |||
return mail_user_set_get_postmaster_address(user->set, address_r, | return mail_user_set_get_postmaster_address(user->set, address_r, | |||
error_r); | error_r); | |||
End of changes. 7 change blocks. | ||||
3 lines changed or deleted | 14 lines changed or added |