/*FIXME this structure should not be global! This is a temporary fix to allow * code migration from lmtp2nntp_main.c's getopt switch to lmtp2nntp_config.[ch] */ #ifndef __FIXME_H__ #define __FIXME_H__ #include #include #include struct acl { char *acl; int not; size_t prefixlen; sa_addr_t *saa; }; struct nntp_st; typedef struct nntp_st nntp_t; #include "lmtp2nntp_nntp.h" struct ns { sa_addr_t *saa; sa_t *sa; nntp_t *nntp; nntp_rc_t rc; l2_channel_t *l2; }; struct session { int lhlo_seen; char *lhlo_domain; }; #include struct headerrule_st; typedef struct headerrule_st headerrule_t; #include struct headerrule_st { headerrule_t *next; int pri; char *regex; char *header; char *val; pcre *pcreRegex; pcre_extra *pcreExtra; }; headerrule_t *FIXME1; struct headerdata_st; typedef struct headerdata_st headerdata_t; struct headerdata_st { headerdata_t *prev; headerdata_t *next; char *name; int ndata; /* =0 means data is invalid, =1 means use data.s, >1 means use data.m */ union { char *s; char **m; } data; }; headerdata_t *FIXME2; typedef struct { l2_context_t ctx; val_t *val; char *progname; int option_groupmode; int option_operationmode; char *option_operationmodefakestatus; char *option_operationmodefakedsn; int option_maxmessagesize; headerrule_t *option_firstheaderrule; /* FIXME obsolete */ char *azHeaderValuePairs; size_t asHeaderValuePairs; int option_timeout_lmtp_accept; int option_timeout_lmtp_read; int option_timeout_lmtp_write; int option_timeout_nntp_connect; int option_timeout_nntp_read; int option_timeout_nntp_write; char *option_mailfrom; char *option_restrictheader; char *option_pidfile; int option_killflag; uid_t option_uid; int option_daemon; int nacl; /* number of acl structures found at pacl */ struct acl *pacl; /* pointer to an array of acl structures */ int option_childsmax; int active_childs; l2_env_t *l2_env; l2_channel_t *l2; sa_addr_t *saaServerbind; sa_t *saServerbind; sa_addr_t *saaClientbind; sa_t *saClientbind; sa_addr_t *saaIO; sa_t *saIO; int fdIOi; int fdIOo; int nns; /* number of ns structures found at pns */ struct ns *pns; /* pointer to an array of ns structures */ char *azGroupargs; size_t asGroupargs; struct session session; msg_t *msg; struct utsname uname; var_t *config_varregex; var_t *config_varctx; } lmtp2nntp_t; #define ERR_EXECUTION 1 #define ERR_DELIVERY -2 enum { GROUPMODE_UNDEF = 0, GROUPMODE_ARG, GROUPMODE_ENVELOPE, GROUPMODE_HEADER }; enum { OPERATIONMODE_UNDEF = 0, OPERATIONMODE_FAKE, OPERATIONMODE_POST, OPERATIONMODE_FEED }; #endif /* __FIXME_H__ */