38 char *sm_msgid = NULL;
49 if (envfrom == NULL) {
56 if (sm_msgid != NULL) {
58 if ((priv->
sm_msgid = strdup(sm_msgid)) == NULL)
68 char *auth_type = NULL;
69 char *auth_authen = NULL;
74 if ((auth_type != NULL) && (strlen(auth_type) > 0) ||
75 (auth_authen != NULL) && (strlen(auth_authen) > 0)) {
84 ZE_MessageInfo(10,
"%-12s : IP=(%s), AUTH=(%s), LOGIN=(%s), FROM=(%s)",
92 if ((envfrom[0] == NULL) || (strlen(envfrom[0]) == 0)) {
99 if ((priv->
env_from = strdup(envfrom[0])) == NULL) {
152 if (ehlo_flags != 0) {
170 if (strstr(priv->
env_from,
"<>") != NULL) {
209 memset(fbuf, 0,
sizeof (fbuf));
217 ||
zeStrRegex(domain,
"^[a-z][-a-z.]+[.][-a-z.]+$", NULL, NULL,
TRUE)) {
226 char *mail_host = NULL;
229 memset(buf, 0,
sizeof (buf));
233 mail_host =
strchr(buf,
'@');
234 if (mail_host != NULL)
241 STRNULL(mail_host,
"NULL SENDER"));
243 if (mail_host != NULL && strlen(mail_host) > 0) {
271 if (score >= score_min) {
int check_regex(char *, char *, char *, int)
int smtprate_add_entry(int, char *, char *, int, time_t)
void stats_inc(int, long)
sfsistat mlfi_envfrom(SMFICTX *ctx, char **envfrom)
int jsmfi_setreply(SMFICTX *, char *, char *, char *)
bool zeStrRegex(char *, char *, long *, long *, bool)
char * extract_email_address(char *, char *, size_t)
bool shall_check_content(SMFICTX *)
#define CF_CHECK_BAD_SENDER_MX
#define INIT_CALLBACK(p, which)
void sm_macro_update(SMFICTX *, sm_mac_T *)
sfsistat check_msgrate(SMFICTX *)
#define ZE_MessageNotice(level,...)
#define INIT_CALLBACK_DELAY()
#define ZE_LogMsgDebug(level,...)
#define CF_REJECT_BADEHLO
#define IS_UNKNOWN(class)
#define MSG_FROM_CONTENTS
#define ZE_MessageInfo(level,...)
char * extract_host_from_email_address(char *, char *, size_t)
sfsistat check_msgcount(SMFICTX *)
#define ZE_LogSysError(...)
#define ZE_MessageError(level,...)
#define CLR_NET_CLASS(class, which)
sfsistat validate_connection(SMFICTX *)
#define ZE_LogMsgWarning(level,...)
#define MSG_HELO_CONTENTS
#define CF_REGEX_MAX_SCORE
#define STAT_FROM_CONTENTS
#define CONNID_STR(connid)
#define CHECK_CALLBACK_DELAY()
int check_sender_mx(SMFICTX *, char *)
int livehistory_add_entry(char *, time_t, int, int)
char * sm_macro_get_str(sm_mac_T *, char *)
#define NET_CLASS_LABEL(class)
void log_msg_context(SMFICTX *ctx, char *why)
#define SET_NET_CLASS(class, which)