"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/lib-storage/mail-user.h" between
dovecot-2.3.16.tar.gz and dovecot-2.3.17.tar.gz

About: Dovecot is an IMAP and POP3 server, written with security primarily in mind.

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

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)