master-settings.c revision f7869168597ac562d7eadb86e8cbb9bd7c7b571a
7ceebfd12a0503bee5eaab8d4c062a4389939a61Dwight Engen/* Copyright (C) 2002 Timo Sirainen */
#include "settings.h"
#include <stdio.h>
#include <stddef.h>
#include <unistd.h>
#include <fcntl.h>
#include <pwd.h>
enum settings_type {
struct settings_parse_ctx {
int level;
{ 0, NULL, 0 }
{ 0, NULL, 0 }
{ 0, NULL, 0 }
#ifdef MMAP_CONFLICTS_WRITE
return FALSE;
return FALSE;
return TRUE;
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 FALSE;
return FALSE;
return TRUE;
const char *const *str;
const char *dir;
return FALSE;
return FALSE;
#ifdef HAVE_MODULES
return FALSE;
return FALSE;
dir);
return FALSE;
#ifdef HAVE_SSL
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
#ifndef HAVE_FLOCK
if (flock_got) {
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return TRUE;
static struct auth_settings *
return auth;
static struct auth_settings *
const char **errormsg)
return NULL;
return NULL;
static struct namespace_settings *
return ns;
static struct namespace_settings *
const char **errormsg)
return NULL;
void *context)
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:
i_unreached();
static struct server_settings *
return server;
const char **errormsg)
return TRUE;
return FALSE;
return TRUE;
return FALSE;
return FALSE;
return TRUE;
return FALSE;
return FALSE;
errormsg);
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return FALSE;
return TRUE;
void master_settings_init(void)
void master_settings_deinit(void)