From: Timo Sirainen Date: Sun, 24 Jun 2012 17:57:06 +0000 (+0300) Subject: Merged changes from v2.1 tree. X-Git-Tag: 2.2.alpha1~468 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=caa3e6bc659176540a7613af311fe9e818ecfa2e;p=thirdparty%2Fdovecot%2Fcore.git Merged changes from v2.1 tree. --- caa3e6bc659176540a7613af311fe9e818ecfa2e diff --cc src/doveadm/doveadm-log.c index 705337cd43,4d0b5859b5..225f603771 --- a/src/doveadm/doveadm-log.c +++ b/src/doveadm/doveadm-log.c @@@ -23,8 -23,9 +23,10 @@@ #define LOG_ERRORS_FNAME "log-errors" #define LOG_TIMESTAMP_FORMAT "%b %d %H:%M:%S" + extern struct doveadm_cmd doveadm_cmd_log[]; + -static void cmd_log_test(int argc ATTR_UNUSED, char *argv[] ATTR_UNUSED) +static void ATTR_NULL(2) +cmd_log_test(int argc ATTR_UNUSED, char *argv[] ATTR_UNUSED) { struct failure_context ctx; unsigned int i; diff --cc src/lib-master/master-instance.c index 3cfd0fe699,f2873e9195..b9d2c9ef53 --- a/src/lib-master/master-instance.c +++ b/src/lib-master/master-instance.c @@@ -144,9 -171,10 +171,10 @@@ static int master_instance_write_init(s return -1; } if (master_instance_list_refresh(list) < 0) { - (void)file_dotlock_delete(dotlock_r); + file_dotlock_delete(dotlock_r); return -1; } + list->locked = TRUE; return fd; } @@@ -159,15 -189,18 +189,18 @@@ static int master_instance_write_finish T_BEGIN { ret = master_instance_list_write(list, fd, lock_path); } T_END; + + list->locked = FALSE; if (ret < 0) { - (void)file_dotlock_delete(dotlock); + file_dotlock_delete(dotlock); return -1; } if (fdatasync(fd) < 0) { i_error("fdatasync(%s) failed: %m", lock_path); - (void)file_dotlock_delete(dotlock); + file_dotlock_delete(dotlock); return -1; } + list->config_paths_changed = FALSE; return file_dotlock_replace(dotlock, 0); } @@@ -222,7 -256,8 +256,8 @@@ int master_instance_list_set_name(struc if (orig_inst != NULL && strcmp(orig_inst->base_dir, base_dir) != 0) { /* name already used */ - (void)file_dotlock_delete(&dotlock); + file_dotlock_delete(&dotlock); + list->locked = FALSE; return 0; } @@@ -257,7 -292,8 +292,8 @@@ int master_instance_list_remove(struct } if (i == count) { - (void)file_dotlock_delete(&dotlock); + file_dotlock_delete(&dotlock); + list->locked = FALSE; return 0; } return master_instance_write_finish(list, fd, &dotlock) < 0 ? -1 : 1; diff --cc src/plugins/quota/quota.c index a71486d40c,bc7655ad4d..221e606f49 --- a/src/plugins/quota/quota.c +++ b/src/plugins/quota/quota.c @@@ -636,9 -637,9 +636,9 @@@ void quota_add_user_namespace(struct qu if (path != NULL) { namespaces = array_get("a->namespaces, &count); for (i = 0; i < count; i++) { - path2 = mailbox_list_get_path(namespaces[i]->list, NULL, + path2 = mailbox_list_get_root_path(namespaces[i]->list, MAILBOX_LIST_PATH_TYPE_MAILBOX); - if (strcmp(path, path2) == 0) { + if (path2 != NULL && strcmp(path, path2) == 0) { /* duplicate */ return; }