Fix build for GCC 10.2 --- ./generic.c +++ ./generic.c @@ -28,6 +28,134 @@ * */ + +/* MySQL VARIABLES */ +char *MYSQLHOST; +char *MYSQLUSER; +char *MYSQLPASS; +char *MYSQLDBASE; +char *MYSQLOPT; + int MYSQLPORT; + + +/* GLOBAL OPTARGS */ + char *configpath; + int DEBUG; + int DAEMON; + int FAILSAFE; + int TRIPLET_TIME; + int TRIPLET_AUTH_TIMEOUT; + int TRIPLET_UNAUTH_TIMEOUT; + int OPTINOUT; + int OPTINOUTALL; + int TRAINING_MODE; + int TRAINING_POLICY_TIMEOUT; + int AUTO_WHITE_LISTING; + int AUTO_WHITELIST_NUMBER; + int AUTO_BLACKLIST_NUMBER; + int AUTO_WHITELIST_EXPIRE; + int AUTO_BLACKLIST_EXPIRE; + int AUTO_WHITELIST_NETBLOCK; + int SPAMTRAP_AUTO_EXPIRE; + int WHITELISTING; + int WHITELISTNULL; + int WHITELISTSENDER; + int WHITELISTDNSNAME; + int BLACKLIST_TEMP_REJECT; + int BLACKLISTING; + int BLACKLIST_TIMEOUT; + int BLACKLIST_NETBLOCK; + int BLACKLIST_HELO; + int BLACKLIST_HELO_AUTO_EXPIRE; + int BLACKLISTSENDER; + int BLACKLISTDNSNAME; + int AUTO_BLACK_LISTING; + int GREYLISTING; + int SPAMTRAPPING; + int HELO_CHECK; + int HELO_MAX_COUNT; + int HELO_BLACKLIST_AUTO_EXPIRE; + int HELO_AUTO_EXPIRE; + int GREYLIST_X_HEADER; + unsigned int GREYLIST_HOSTADDR; + int BINDPORT; + int QUOTA_EXCEEDED_TEMP_REJECT; + int SENDERTHROTTLE; + int SENDER_THROTTLE_SASL; + int SENDER_THROTTLE_HOST; + int SENDERMSGLIMIT; + int SENDERRCPTLIMIT; + int SENDERTIMELIMIT; + int SENDERQUOTALIMIT; + int SENDERMSGSIZE; + int SENDER_INACTIVE_EXPIRE; + int SENDER_THROTTLE_AUTOBLACKLIST; + int SENDER_THROTTLE_AUTOBLACKLIST_NUMBER; + int SENDER_THROTTLE_AUTOBLACKLIST_EXPIRE; + + int RECIPIENTTHROTTLE; + int RECIPIENTMSGLIMIT; + int RECIPIENTTIMELIMIT; + int RECIPIENT_INACTIVE_EXPIRE; + int SYSLOG_FACILITY; + int DATABASE_KEEPALIVE; + int count; + uid_t UID; + gid_t GID; + char *BINDHOST; + char *CONN_ACL; + char *CHROOT; + char *PIDFILE; + char *postfix_greylist; + char *postfix_bad_size; + char *postfix_spamtrap; + char *postfix_blacklist; + char *postfix_sender_quota_exceeded; + char *postfix_recipient_quota_exceeded; + + +/* GLOBAL VARIABLES/ARRAYS */ + MYSQL * volatile mysql; +unsigned long int rcpt_count; /* total mails processed */ +unsigned long int mysql_failure_count; /* total mysql queries */ +unsigned long int last_mail_time; /* seconds since epoch */ +unsigned long int last_mysql_failure; /* seconds since epoch */ +unsigned long int mysql_timeout; /* mysql query timeout */ + sigjmp_buf sjmp; + + int msock; /* master server socket */ + int ssock; /* slave server socket */ + int mysql_array[MAXFDS][10]; + int mysql_optarray[MAXFDS][1]; + + char mysqlchar_array[MAXFDS][20][64]; + char host_array[MAXFDS][20][64]; + char policy_array[MAXFDS][20][64]; + char triplet_array[MAXFDS][20][64]; + + char mysqlquery_array[MAXFDS][512]; + char xgreylist_array[MAXFDS][128]; + char extract_array[MAXFDS][64]; + char extract_ip_array[MAXFDS][64]; + char extract_host_addr[MAXFDS][64]; + char return_code[MAXFDS][64]; + char extract_array_conf[MAXFDS][64]; + + unsigned int i[MAXFDS], instance_inc[MAXFDS], t; + unsigned int tcount[MAXFDS], tquota[MAXFDS], trcpt[MAXFDS]; + char tattrib_array[MAXFDS][1]; + int x[MAXFDS], y[MAXFDS]; + struct timeval timevalue; /* gettimeofday() */ + unsigned int timenow; + FILE *fd_config, *pidfile; + int action_array[MAXFDS]; + char confbuf[256]; + char buf[MAXFDS][MAXLINE]; + unsigned int buf_size[MAXFDS]; + unsigned int buf_counter[MAXFDS]; + + + /* * function: read_conf * purpose: read config options from file and store memory --- ./policyd.h +++ ./policyd.h @@ -95,129 +95,129 @@ /* MySQL VARIABLES */ -char *MYSQLHOST; -char *MYSQLUSER; -char *MYSQLPASS; -char *MYSQLDBASE; -char *MYSQLOPT; - int MYSQLPORT; +extern char *MYSQLHOST; +extern char *MYSQLUSER; +extern char *MYSQLPASS; +extern char *MYSQLDBASE; +extern char *MYSQLOPT; +extern int MYSQLPORT; /* GLOBAL OPTARGS */ - char *configpath; - int DEBUG; - int DAEMON; - int FAILSAFE; - int TRIPLET_TIME; - int TRIPLET_AUTH_TIMEOUT; - int TRIPLET_UNAUTH_TIMEOUT; - int OPTINOUT; - int OPTINOUTALL; - int TRAINING_MODE; - int TRAINING_POLICY_TIMEOUT; - int AUTO_WHITE_LISTING; - int AUTO_WHITELIST_NUMBER; - int AUTO_BLACKLIST_NUMBER; - int AUTO_WHITELIST_EXPIRE; - int AUTO_BLACKLIST_EXPIRE; - int AUTO_WHITELIST_NETBLOCK; - int SPAMTRAP_AUTO_EXPIRE; - int WHITELISTING; - int WHITELISTNULL; - int WHITELISTSENDER; - int WHITELISTDNSNAME; - int BLACKLIST_TEMP_REJECT; - int BLACKLISTING; - int BLACKLIST_TIMEOUT; - int BLACKLIST_NETBLOCK; - int BLACKLIST_HELO; - int BLACKLIST_HELO_AUTO_EXPIRE; - int BLACKLISTSENDER; - int BLACKLISTDNSNAME; - int AUTO_BLACK_LISTING; - int GREYLISTING; - int SPAMTRAPPING; - int HELO_CHECK; - int HELO_MAX_COUNT; - int HELO_BLACKLIST_AUTO_EXPIRE; - int HELO_AUTO_EXPIRE; - int GREYLIST_X_HEADER; - unsigned int GREYLIST_HOSTADDR; - int BINDPORT; - int QUOTA_EXCEEDED_TEMP_REJECT; - int SENDERTHROTTLE; - int SENDER_THROTTLE_SASL; - int SENDER_THROTTLE_HOST; - int SENDERMSGLIMIT; - int SENDERRCPTLIMIT; - int SENDERTIMELIMIT; - int SENDERQUOTALIMIT; - int SENDERMSGSIZE; - int SENDER_INACTIVE_EXPIRE; - int SENDER_THROTTLE_AUTOBLACKLIST; - int SENDER_THROTTLE_AUTOBLACKLIST_NUMBER; - int SENDER_THROTTLE_AUTOBLACKLIST_EXPIRE; +extern char *configpath; +extern int DEBUG; +extern int DAEMON; +extern int FAILSAFE; +extern int TRIPLET_TIME; +extern int TRIPLET_AUTH_TIMEOUT; +extern int TRIPLET_UNAUTH_TIMEOUT; +extern int OPTINOUT; +extern int OPTINOUTALL; +extern int TRAINING_MODE; +extern int TRAINING_POLICY_TIMEOUT; +extern int AUTO_WHITE_LISTING; +extern int AUTO_WHITELIST_NUMBER; +extern int AUTO_BLACKLIST_NUMBER; +extern int AUTO_WHITELIST_EXPIRE; +extern int AUTO_BLACKLIST_EXPIRE; +extern int AUTO_WHITELIST_NETBLOCK; +extern int SPAMTRAP_AUTO_EXPIRE; +extern int WHITELISTING; +extern int WHITELISTNULL; +extern int WHITELISTSENDER; +extern int WHITELISTDNSNAME; +extern int BLACKLIST_TEMP_REJECT; +extern int BLACKLISTING; +extern int BLACKLIST_TIMEOUT; +extern int BLACKLIST_NETBLOCK; +extern int BLACKLIST_HELO; +extern int BLACKLIST_HELO_AUTO_EXPIRE; +extern int BLACKLISTSENDER; +extern int BLACKLISTDNSNAME; +extern int AUTO_BLACK_LISTING; +extern int GREYLISTING; +extern int SPAMTRAPPING; +extern int HELO_CHECK; +extern int HELO_MAX_COUNT; +extern int HELO_BLACKLIST_AUTO_EXPIRE; +extern int HELO_AUTO_EXPIRE; +extern int GREYLIST_X_HEADER; +extern unsigned int GREYLIST_HOSTADDR; +extern int BINDPORT; +extern int QUOTA_EXCEEDED_TEMP_REJECT; +extern int SENDERTHROTTLE; +extern int SENDER_THROTTLE_SASL; +extern int SENDER_THROTTLE_HOST; +extern int SENDERMSGLIMIT; +extern int SENDERRCPTLIMIT; +extern int SENDERTIMELIMIT; +extern int SENDERQUOTALIMIT; +extern int SENDERMSGSIZE; +extern int SENDER_INACTIVE_EXPIRE; +extern int SENDER_THROTTLE_AUTOBLACKLIST; +extern int SENDER_THROTTLE_AUTOBLACKLIST_NUMBER; +extern int SENDER_THROTTLE_AUTOBLACKLIST_EXPIRE; - int RECIPIENTTHROTTLE; - int RECIPIENTMSGLIMIT; - int RECIPIENTTIMELIMIT; - int RECIPIENT_INACTIVE_EXPIRE; - int SYSLOG_FACILITY; - int DATABASE_KEEPALIVE; - int count; - uid_t UID; - gid_t GID; - char *BINDHOST; - char *CONN_ACL; - char *CHROOT; - char *PIDFILE; - char *postfix_greylist; - char *postfix_bad_size; - char *postfix_spamtrap; - char *postfix_blacklist; - char *postfix_sender_quota_exceeded; - char *postfix_recipient_quota_exceeded; +extern int RECIPIENTTHROTTLE; +extern int RECIPIENTMSGLIMIT; +extern int RECIPIENTTIMELIMIT; +extern int RECIPIENT_INACTIVE_EXPIRE; +extern int SYSLOG_FACILITY; +extern int DATABASE_KEEPALIVE; +extern int count; +extern uid_t UID; +extern gid_t GID; +extern char *BINDHOST; +extern char *CONN_ACL; +extern char *CHROOT; +extern char *PIDFILE; +extern char *postfix_greylist; +extern char *postfix_bad_size; +extern char *postfix_spamtrap; +extern char *postfix_blacklist; +extern char *postfix_sender_quota_exceeded; +extern char *postfix_recipient_quota_exceeded; /* GLOBAL VARIABLES/ARRAYS */ - MYSQL * volatile mysql; -unsigned long int rcpt_count; /* total mails processed */ -unsigned long int mysql_failure_count; /* total mysql queries */ -unsigned long int last_mail_time; /* seconds since epoch */ -unsigned long int last_mysql_failure; /* seconds since epoch */ -unsigned long int mysql_timeout; /* mysql query timeout */ - sigjmp_buf sjmp; +extern MYSQL * volatile mysql; +extern unsigned long int rcpt_count; /* total mails processed */ +extern unsigned long int mysql_failure_count; /* total mysql queries */ +extern unsigned long int last_mail_time; /* seconds since epoch */ +extern unsigned long int last_mysql_failure; /* seconds since epoch */ +extern unsigned long int mysql_timeout; /* mysql query timeout */ +extern sigjmp_buf sjmp; - int msock; /* master server socket */ - int ssock; /* slave server socket */ - int mysql_array[MAXFDS][10]; - int mysql_optarray[MAXFDS][1]; +extern int msock; /* master server socket */ +extern int ssock; /* slave server socket */ +extern int mysql_array[MAXFDS][10]; +extern int mysql_optarray[MAXFDS][1]; - char mysqlchar_array[MAXFDS][20][64]; - char host_array[MAXFDS][20][64]; - char policy_array[MAXFDS][20][64]; - char triplet_array[MAXFDS][20][64]; +extern char mysqlchar_array[MAXFDS][20][64]; +extern char host_array[MAXFDS][20][64]; +extern char policy_array[MAXFDS][20][64]; +extern char triplet_array[MAXFDS][20][64]; - char mysqlquery_array[MAXFDS][512]; - char xgreylist_array[MAXFDS][128]; - char extract_array[MAXFDS][64]; - char extract_ip_array[MAXFDS][64]; - char extract_host_addr[MAXFDS][64]; - char return_code[MAXFDS][64]; - char extract_array_conf[MAXFDS][64]; - - unsigned int i[MAXFDS], instance_inc[MAXFDS], t; - unsigned int tcount[MAXFDS], tquota[MAXFDS], trcpt[MAXFDS]; - char tattrib_array[MAXFDS][1]; - int x[MAXFDS], y[MAXFDS]; - struct timeval timevalue; /* gettimeofday() */ - unsigned int timenow; - FILE *fd_config, *pidfile; - int action_array[MAXFDS]; - char confbuf[256]; - char buf[MAXFDS][MAXLINE]; - unsigned int buf_size[MAXFDS]; - unsigned int buf_counter[MAXFDS]; +extern char mysqlquery_array[MAXFDS][512]; +extern char xgreylist_array[MAXFDS][128]; +extern char extract_array[MAXFDS][64]; +extern char extract_ip_array[MAXFDS][64]; +extern char extract_host_addr[MAXFDS][64]; +extern char return_code[MAXFDS][64]; +extern char extract_array_conf[MAXFDS][64]; + +extern unsigned int i[MAXFDS], instance_inc[MAXFDS], t; +extern unsigned int tcount[MAXFDS], tquota[MAXFDS], trcpt[MAXFDS]; +extern char tattrib_array[MAXFDS][1]; +extern int x[MAXFDS], y[MAXFDS]; +extern struct timeval timevalue; /* gettimeofday() */ +extern unsigned int timenow; +extern FILE *fd_config, *pidfile; +extern int action_array[MAXFDS]; +extern char confbuf[256]; +extern char buf[MAXFDS][MAXLINE]; +extern unsigned int buf_size[MAXFDS]; +extern unsigned int buf_counter[MAXFDS]; /* PROTOTYPES */