master-settings.c revision f4ff9cfc15f9b2263788361529add9ae42774dcf
742N/A#include "fd-close-on-exec.h"
742N/A#include "safe-mkdir.h"
742N/A#include "mkdir-parents.h"
742N/A#include "unlink-directory.h"
742N/A#include "syslog-util.h"
742N/A#include "mail-process.h"
742N/A#include "master-login-interface.h"
742N/A#include "settings.h"
742N/A#ifdef HAVE_SYS_RESOURCE_H
742N/Aenum settings_type {
struct settings_parse_ctx {
int level;
#include "master-settings-defs.c"
{ 0, NULL, 0 }
{ 0, NULL, 0 }
{ 0, NULL, 0 }
{ 0, NULL, 0 }
{ 0, NULL, 0 }
{ 0, NULL, 0 }
#ifdef MMAP_CONFLICTS_WRITE
return TRUE;
return FALSE;
return TRUE;
return TRUE;
return FALSE;
return TRUE;
return FALSE;
return FALSE;
return TRUE;
struct auth_socket_settings *s;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return TRUE;
const char *name;
name);
return FALSE;
return TRUE;
char *str, *p;
if (p == NULL)
return str;
return TRUE;
return FALSE;
return FALSE;
return TRUE;
return TRUE;
return FALSE;
unsigned int prefix_len;
#ifdef HAVE_MODULES
static const char *args[] = {
unsigned int pos;
return TRUE;
if (uid != 0) {
return FALSE;
&pid);
return FALSE;
alarm(0);
if (status != 0) {
status);
return FALSE;
pos = 0;
if (ret < 0) {
return FALSE;
return FALSE;
return TRUE;
const char *dir;
int facility;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
dir);
return FALSE;
return FALSE;
#ifdef HAVE_SSL
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
#ifdef HAVE_MODULES
return FALSE;
return FALSE;
return TRUE;
return FALSE;
return FALSE;
return FALSE;
#ifdef HAVE_MODULES
return FALSE;
return TRUE;
if (nochecks)
return TRUE;
return FALSE;
int fd;
if (ret <= 0) {
if (ret == 0)
ret--;
static struct auth_settings *
return auth;
static struct auth_settings *
const char **errormsg)
return NULL;
return NULL;
static struct auth_passdb_settings *
return as;
static struct auth_userdb_settings *
return as;
static struct auth_socket_settings *
return as;
static struct auth_socket_settings *
const char **errormsg)
return NULL;
return NULL;
static struct namespace_settings *
return ns;
static struct namespace_settings *
const char **errormsg)
return NULL;
const char *error;
return NULL;
case SETTINGS_TYPE_ROOT:
case SETTINGS_TYPE_SERVER:
return NULL;
return error;
case SETTINGS_TYPE_AUTH:
case SETTINGS_TYPE_NAMESPACE:
case SETTINGS_TYPE_SOCKET:
case SETTINGS_TYPE_DICT:
return NULL;
case SETTINGS_TYPE_PLUGIN:
return NULL;
i_unreached();
static struct server_settings *
return server;
return TRUE;
return FALSE;
return TRUE;
return FALSE;
return FALSE;
return TRUE;
return FALSE;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
return FALSE;
errormsg);
return FALSE;
return TRUE;
return FALSE;
return TRUE;
return FALSE;
#ifdef HAVE_SETRLIMIT
unsigned int fd_count = 0;
return FALSE;
return FALSE;
return FALSE;
nofixes))
return FALSE;
return FALSE;
return FALSE;
return FALSE;
if (!nochecks) {
return FALSE;
return FALSE;
return FALSE;
if (!nochecks)
return TRUE;
const char **str;
case SET_STR: {
const char *const *strp;
for (i = 0; i < count; i++) {
case SET_INT: {
for (i = 0; i < count; i++) {
case SET_BOOL: {
for (i = 0; i < count; i++) {
if (same) {
for (i = 0; i < indent; i++)
for (i = 0; i < indent; i++)
const void *empty_defaults;
sizeof(struct auth_userdb_settings) +
sizeof(struct auth_socket_settings));
const char *const *envs;
unsigned int i, count;
if (count == 0)
const char *const *dicts;
unsigned int i, count;
if (count == 0)
unsigned int count;
count++;
count++;
void master_settings_init(void)
void master_settings_deinit(void)