Index: ossp-pkg/lmtp2nntp/fixme.h RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/Attic/fixme.h,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/lmtp2nntp/Attic/fixme.h,v' | diff -u /dev/null - -L'ossp-pkg/lmtp2nntp/fixme.h' 2>/dev/null --- ossp-pkg/lmtp2nntp/fixme.h +++ - 2024-05-04 23:46:17.344291759 +0200 @@ -0,0 +1,86 @@ + +/*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 +#define MAXACLS 32 +#include +struct acl { + char *acl; + int not; + sa_addr_t *saa; + size_t prefixlen; +}; +#define MAXNEWSSERVICES 16 +struct nntp_st; +typedef struct nntp_st nntp_t; +#include "lmtp2nntp_nntp.h" +struct ns { + char *h; /* host */ + char *p; /* port */ + sa_addr_t *saa; /* socket address abstraction */ + sa_t *sa; /* socket abstraction */ + nntp_t *nntp; + nntp_rc_t rc; + l2_channel_t *l2; +}; +struct session { + int lhlo_seen; + char *lhlo_domain; +}; +#include +typedef struct { + l2_context_t ctx; + val_t *val; + char *progname; + char *option_logfile; + int option_groupmode; + int option_operationmode; + char *option_operationmodefakestatus; + char *option_operationmodefakedsn; + int option_maxmessagesize; + 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; + unsigned int option_levelmask; + char *option_pidfile; + int option_killflag; + uid_t option_uid; + int option_daemon; + int option_aclc; + struct acl option_acl[MAXACLS]; + int option_veryverbose; + int option_childsmax; + int active_childs; + l2_env_t *l2_env; + l2_channel_t *l2; + sa_addr_t *saaAltio; + sa_t *saAltio; + char *cpBindh; + char *cpBindp; + sa_addr_t *saaBind; + sa_t *saBind; + sa_addr_t *saaIO; + sa_t *saIO; + int fdIOi; + int fdIOo; + int nsc; + struct ns ns[MAXNEWSSERVICES]; + char *azGroupargs; + size_t asGroupargs; + struct session session; + msg_t *msg; + struct utsname uname; +} lmtp2nntp_t; + +#endif /* __FIXME_H__ */ Index: ossp-pkg/lmtp2nntp/lmtp2nntp_main.c RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_main.c,v rcsdiff -q -kk '-r1.7' '-r1.8' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_main.c,v' 2>/dev/null --- lmtp2nntp_main.c 2002/01/22 16:09:47 1.7 +++ lmtp2nntp_main.c 2002/01/24 12:07:13 1.8 @@ -73,10 +73,12 @@ #if defined(HAVE_DMALLOC_H) && defined(DMALLOC) #include "dmalloc.h" #endif +#include "lmtp2nntp_option.h" #include "lmtp2nntp_config.h" #include "lmtp2nntp_lmtp.h" #include "lmtp2nntp_nntp.h" #include "lmtp2nntp_msg.h" +#include "fixme.h" #include "sa.h" #define _LMTP2NNTP_VERSION_C_AS_HEADER_ #include "lmtp2nntp_version.c" @@ -97,8 +99,6 @@ #define ERR_DELIVERY -2 #define STDSTRLEN 512 -#define MAXNEWSSERVICES 16 -#define MAXACLS 32 static lmtp_rc_t lmtp_cb_lhlo(lmtp_t *lmtp, lmtp_io_t *io, lmtp_req_t *req, void *ctx); static lmtp_rc_t lmtp_cb_mail(lmtp_t *lmtp, lmtp_io_t *io, lmtp_req_t *req, void *ctx); @@ -111,83 +111,11 @@ static int helo_rfc0821domain(char *msg, char **domain); static int helo_rfc1035domain(char *msg, char **domain); -struct session { - int lhlo_seen; - char *lhlo_domain; -}; - static void catchsignal(int sig, ...); static void initsession(struct session *session); static void resetsession(struct session *session); int groupmatch(char *, size_t, char *); -struct ns { - char *h; /* host */ - char *p; /* port */ - sa_addr_t *saa; /* socket address abstraction */ - sa_t *sa; /* socket abstraction */ - nntp_t *nntp; - nntp_rc_t rc; - l2_channel_t *l2; -}; - -struct acl { - char *acl; - int not; - sa_addr_t *saa; - size_t prefixlen; -}; - -typedef struct { - l2_context_t ctx; - char *progname; - char *option_logfile; - int option_groupmode; - int option_operationmode; - char *option_operationmodefakestatus; - char *option_operationmodefakedsn; - int option_maxmessagesize; - 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; - unsigned int option_levelmask; - char *option_pidfile; - int option_killflag; - uid_t option_uid; - int option_daemon; - int option_aclc; - struct acl option_acl[MAXACLS]; - int option_veryverbose; - int option_childsmax; - int active_childs; - l2_env_t *l2_env; - l2_channel_t *l2; - sa_addr_t *saaAltio; - sa_t *saAltio; - char *cpBindh; - char *cpBindp; - sa_addr_t *saaBind; - sa_t *saBind; - sa_addr_t *saaIO; - sa_t *saIO; - int fdIOi; - int fdIOo; - int nsc; - struct ns ns[MAXNEWSSERVICES]; - char *azGroupargs; - size_t asGroupargs; - struct session session; - msg_t *msg; - struct utsname uname; -} lmtp2nntp_t; - static var_config_t ctx_lookup_cfg = { '$', /* varinit */ '{', /* startdelim */ @@ -501,7 +429,8 @@ if ((ctx = (lmtp2nntp_t *)malloc(sizeof(lmtp2nntp_t))) == NULL) CU(ERR_EXECUTION); ctx->ctx.vp = ctx; - ctx->progname = strdup(argv[0]); + ctx->val = NULL; + ctx->progname = NULL; ctx->option_childsmax = 10; ctx->option_logfile = NULL; ctx->option_groupmode = GROUPMODE_ARG; @@ -555,15 +484,21 @@ ctx->asGroupargs = 0; initsession(&ctx->session); ctx->msg = NULL; + + /* fill in application context */ + if (val_create(&ctx->val) != VAL_OK) + CU(ERR_EXECUTION); if (uname(&ctx->uname) == -1) { fprintf(stderr, "%s:Error: uname failed \"%s\"\n", ctx->progname, strerror(errno)); CU(ERR_EXECUTION); } + ctx->progname = strdup(argv[0]); { lmtp2nntp_option_t *o; -(void)option_create(&o); /* FIXME */ +(void)option_create(&o, ctx->val); /* FIXME */ (void)option_parse(o, argc, argv); +(void)config_context(ctx); (void)option_destroy(o); return 0; } Index: ossp-pkg/lmtp2nntp/lmtp2nntp_nntp.h RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_nntp.h,v rcsdiff -q -kk '-r1.2' '-r1.3' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_nntp.h,v' 2>/dev/null --- lmtp2nntp_nntp.h 2001/12/31 15:15:36 1.2 +++ lmtp2nntp_nntp.h 2002/01/24 12:07:13 1.3 @@ -34,8 +34,10 @@ #include "lmtp2nntp_msg.h" +/*FIXME see include below struct nntp_st; typedef struct nntp_st nntp_t; +*/ typedef struct { void *ctx; @@ -56,6 +58,9 @@ NNTP_ERR_UNKNOWN } nntp_rc_t; +/*FIXME see fixme above */ +#include "fixme.h" + typedef struct { int fd; } nntp_fd_t;