commands.c revision d03980c62bca1d8501d67e5cf3b6f9904d166dd4
9eb57712da9ccff51317bd59b3a06c08f44a0112Tim Reddehase/* Copyright (c) 2009-2017 Dovecot authors, see the included COPYING file */
#include "istream-dot.h"
#include "safe-mkstemp.h"
#include "hex-dec.h"
#include "time-util.h"
#include "var-expand.h"
#include "restrict-access.h"
#include "settings-parser.h"
#include "anvil-client.h"
#include "master-service.h"
#include "master-service-ssl.h"
#include "iostream-ssl.h"
#include "rfc822-parser.h"
#include "message-date.h"
#include "auth-master.h"
#include "mail-storage-service.h"
#include "index/raw/raw-storage.h"
#include "lda-settings.h"
#include "lmtp-settings.h"
#include "mail-namespace.h"
#include "mail-deliver.h"
#include "main.h"
#include "client.h"
#include "commands.h"
#include "lmtp-proxy.h"
#define ERRSTR_TEMP_USERDB_FAIL \
int ret = 0;
NULL);
if (ret < 0) {
const char *error;
const char **rest_r)
const char *start;
str++;
str++;
str++;
if (p == NULL)
static void lmtp_anvil_init(void)
if (p == NULL) {
return FALSE;
return FALSE;
if (!port_set)
if (!port_set)
return FALSE;
return FALSE;
return proxying;
return FALSE;
return FALSE;
return FALSE;
return TRUE;
const char *detail)
const char *domain;
int ret;
if (ret <= 0) {
if (ret < 0) {
return TRUE;
return FALSE;
return FALSE;
return TRUE;
username);
username);
return TRUE;
address);
return TRUE;
return TRUE;
return name;
return name;
return name;
return name;
return name;
const char **detail_r)
const char *p, *domain;
*delim_r = *p;
if (p == NULL)
if (p == NULL)
if (p == NULL)
const char *errstr;
int ret;
if (ret < 0) {
if (ret < 0) {
return ret;
int ret;
if (ret < 0) {
return FALSE;
return TRUE;
unsigned int parallel_count = 0;
const char *const *argv;
int ret = 0;
if (ret < 0) {
if (ret == 0) {
address);
return FALSE;
return TRUE;
void **sets;
int ret;
i_unreached();
ret = 0;
return ret;
unsigned int count;
int ret;
if (ret == 0)
return TRUE;
return FALSE;
return cinput;
static const char *wanted_headers[] = {
&box) < 0) {
if (seteuid(0) < 0)
if (old_uid == 0) {
if (seteuid(0) < 0)
void **sets;
&rcpt_to))
int fd;
const unsigned char *data;
if (ret == 0)
const char *const *tmp;
if (!args_ok) {
if (remote_port != 0)