mail-storage.c revision d35cb1b97d072431779857e68b096e27fca57cc6
/* Copyright (C) 2002 Timo Sirainen */
#include "lib.h"
#include "ioloop.h"
#include "mail-storage.h"
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
/* Message to show to users when critical error occurs */
#define CRITICAL_MSG \
"Internal error occured. Error report written to server log."
struct mail_storage_list {
struct mail_storage_list *next;
struct mail_storage *storage;
};
struct client_workaround_list {
const char *name;
enum client_workarounds num;
};
struct client_workaround_list client_workaround_list[] = {
{ "oe6-fetch-no-newmail", WORKAROUND_OE6_FETCH_NO_NEWMAIL },
{ "oe6-fetch-redundant-msgset", WORKAROUND_OE6_FETCH_REDUNDANT_MSGSET },
{ "outlook-idle", WORKAROUND_OUTLOOK_IDLE },
{ NULL, 0 }
};
enum client_workarounds client_workarounds = 0;
int full_filesystem_access = FALSE;
void mail_storage_init(void)
{
struct client_workaround_list *list;
const char *env;
const char *const *str;
return;
break;
}
}
}
}
void mail_storage_deinit(void)
{
struct mail_storage_list *next;
}
}
{
/* append it after the list, so the autodetection order is correct */
}
{
}
}
}
struct mail_storage *
const char *namespace, char hierarchy_sep)
{
struct mail_storage_list *list;
}
}
return NULL;
}
struct mail_storage *
mail_storage_create_default(const char *user,
const char *namespace, char hierarchy_sep)
{
struct mail_storage_list *list;
struct mail_storage *storage;
return storage;
}
return NULL;
}
{
struct mail_storage_list *list;
}
return NULL;
}
struct mail_storage *
const char *namespace, char hierarchy_sep)
{
struct mail_storage *storage;
const char *p, *name;
}
/* check if we're in the form of mailformat:data
(eg. maildir:Maildir) */
p = data;
while (i_isalnum(*p)) p++;
if (*p == ':') {
} else {
}
}
return storage;
}
{
}
{
}
{
else {
}
}
const char *fmt, ...)
{
else {
}
}
{
char str[256];
}
const char *fmt, ...)
{
else {
/* critical errors may contain sensitive data, so let user
see only "Internal error" with a timestamp to make it
easier to look from log files the actual error message. */
}
}
int *syntax)
{
}