X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fcitadel.h;h=83c43e06f61b5e8fab222fbec30a50b98a1baad2;hb=0adb29d5fa73df9c3760478405aaf71fa37054c4;hp=cbf7cadee17220e52f3f720d0d8a0829fa134d3a;hpb=ac58dc50f76f1a97dfa368f2a3cbb19825c27f35;p=citadel.git diff --git a/citadel/citadel.h b/citadel/citadel.h index cbf7cadee..83c43e06f 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -1,8 +1,15 @@ /* - * $Id$ - * * Main Citadel header file - * See copyright.txt for copyright information. + * + * Copyright (c) 1987-2013 by the citadel.org team + * + * This program is open source software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. */ /* system customizations are in sysconfig.h */ @@ -38,10 +45,10 @@ extern "C" { * usually more strict because you're not really supposed to dump/load and * upgrade at the same time. */ -#define REV_LEVEL 739 /* This version */ +#define REV_LEVEL 829 /* This version */ #define REV_MIN 591 /* Oldest compatible database */ -#define EXPORT_REV_MIN 737 /* Oldest compatible export files */ -#define LIBCITADEL_MIN 739 /* Minimum required version of libcitadel */ +#define EXPORT_REV_MIN 760 /* Oldest compatible export files */ +#define LIBCITADEL_MIN 829 /* Minimum required version of libcitadel */ #define SERVER_TYPE 0 /* zero for stock Citadel; other developers please obtain SERVER_TYPE codes for your implementations */ @@ -54,12 +61,7 @@ extern "C" { /* Various length constants */ -#define UGLISTLEN 100 /* you get a ungoto list of this size */ #define ROOMNAMELEN 128 /* The size of a roomname string */ -#define NONCE_SIZE 128 /* Added by to allow for APOP auth - * it is BIG becuase there is a hostname - * in the nonce, as per the APOP RFC. - */ #define USERNAME_SIZE 64 /* The size of a username string */ #define MAX_EDITORS 5 /* # of external editors supported */ @@ -70,11 +72,6 @@ extern "C" { */ typedef struct ExpirePolicy ExpirePolicy; struct ExpirePolicy { -/* -#include "datadefinitions.h" -#include "dtds/expirepolicy-defs.h" -#include "undef_data.h" -*/ int expire_mode; int expire_value; }; @@ -92,11 +89,6 @@ struct ExpirePolicy { */ typedef struct march march; struct march { -/* -#include "datadefinitions.h" -#include "dtds/march-defs.h" -#include "undef_data.h" -*/ struct march *next; char march_name[ROOMNAMELEN]; unsigned int march_flags; @@ -106,27 +98,12 @@ struct march { int march_access; }; -#define NODENAME config.c_nodename -#define FQDN config.c_fqdn -#define HUMANNODE config.c_humannode -#define PHONENUM config.c_phonenum -#define CTDLUID config.c_ctdluid -#define CREATAIDE config.c_creataide -#define REGISCALL config.c_regiscall -#define TWITDETECT config.c_twitdetect -#define TWITROOM config.c_twitroom -#define RESTRICT_INTERNET config.c_restrict /* * User records. */ typedef struct ctdluser ctdluser; struct ctdluser { /* User record */ -/* -#include "datadefinitions.h" -#include "dtds/user-defs.h" -#include "undef_data.h" -*/ int version; /* Cit vers. which created this rec */ uid_t uid; /* Associate with a unix account? */ char password[32]; /* password */ @@ -138,8 +115,6 @@ struct ctdluser { /* User record */ time_t lastcall; /* Date/time of most recent login */ int USuserpurge; /* Purge time (in days) for user */ char fullname[64]; /* Display name (primary identifier) */ - cit_uint8_t USscreenwidth; /* Screen width (for textmode users) */ - cit_uint8_t USscreenheight; /* Screen height(for textmode users) */ }; @@ -154,11 +129,6 @@ struct ctdluser { /* User record */ */ typedef struct ctdlroom ctdlroom; struct ctdlroom { -/* -#include "datadefinitions.h" -#include "dtds/room-defs.h" -#include "undef_data.h" -*/ char QRname[ROOMNAMELEN]; /* Name of room */ char QRpasswd[10]; /* Only valid if it's a private rm */ long QRroomaide; /* User number of room aide */ @@ -201,11 +171,6 @@ struct ctdlroom { */ typedef struct floor floor; struct floor { -/* -#include "datadefinitions.h" -#include "dtds/floor-defs.h" -#include "undef_data.h" -*/ unsigned short f_flags; /* flags */ char f_name[256]; /* name of floor */ int f_ref_count; /* reference count */ @@ -222,52 +187,10 @@ struct floor { #define NEWREGISTER 0 /* new user to register */ #define REREGISTER 1 /* existing user reregistering */ -#define READ_HEADER 2 -#define READ_MSGBODY 3 - -/* commands we can send to the stty_ctdl() routine */ -#define SB_NO_INTR 0 /* set to Citadel client mode, i/q disabled */ -#define SB_YES_INTR 1 /* set to Citadel client mode, i/q enabled */ -#define SB_SAVE 2 /* save settings */ -#define SB_RESTORE 3 /* restore settings */ -#define SB_LAST 4 /* redo the last command sent */ - -#define NEXT_KEY 15 -#define STOP_KEY 3 - -/* server exit codes */ -#define EXIT_NORMAL 0 /* server terminated normally */ - /* 1 through 63 reserved for signals */ -#define EXIT_NULL 64 /* EOF on server command input */ - -/* citadel.rc stuff */ -#define RC_NO 0 /* always no */ -#define RC_YES 1 /* always yes */ -#define RC_DEFAULT 2 /* setting depends on user config */ - -/* keepalives */ -enum { - KA_NO, /* no keepalives */ - KA_YES, /* full keepalives */ - KA_HALF /* half keepalives */ -}; - -/* for <;G>oto and <;S>kip commands */ -#define GF_GOTO 0 /* <;G>oto floor mode */ -#define GF_SKIP 1 /* <;S>kip floor mode */ -#define GF_ZAP 2 /* <;Z>ap floor mode */ - -/* - * MIME types used in Citadel for configuration stuff - */ -#define SPOOLMIME "application/x-citadel-delivery-list" -#define INTERNETCFG "application/x-citadel-internet-config" -#define IGNETCFG "application/x-citadel-ignet-config" -#define IGNETMAP "application/x-citadel-ignet-map" -#define FILTERLIST "application/x-citadel-filter-list" -#define SIEVECONFIG "application/x-citadel-sieve-config" +/* number of items which may be handled by the CONF command */ +#define NUM_CONFIGS 70 -#define TRACE CtdlLogPrintf(CTDL_DEBUG, "Checkpoint: %s, %d\n", __FILE__, __LINE__) +#define TRACE syslog(LOG_DEBUG, "Checkpoint: %s, %d\n", __FILE__, __LINE__) #ifndef LONG_MAX #define LONG_MAX 2147483647L @@ -278,7 +201,8 @@ enum { */ #define AUTHMODE_NATIVE 0 /* Native (self-contained or "black box") */ #define AUTHMODE_HOST 1 /* Authenticate against the host OS user database */ -#define AUTHMODE_LDAP 2 /* External LDAP authentication (NOT IMPLEMENTED) */ +#define AUTHMODE_LDAP 2 /* Authenticate against an LDAP server with RFC 2307 schema */ +#define AUTHMODE_LDAP_AD 3 /* Authenticate against non-standard MS Active Directory LDAP */ #ifdef __cplusplus }