Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commits (3)
......@@ -3621,8 +3621,8 @@ static void smtp_thread(void* arg)
if(relay_user.number == 0
&& strchr(sender, '@') != NULL
&& compare_addrs(sender, sender_addr) != 0) {
lprintf(LOG_WARNING,"%04d %s %s !FORGED mail header 'FROM' field (%lu total)"
,socket, client.protocol, client_id, ++stats.msgs_refused);
lprintf(LOG_WARNING,"%04d %s %s !FORGED mail header 'FROM' field ('%s' vs '%s', %lu total)"
,socket, client.protocol, client_id, sender, sender_addr, ++stats.msgs_refused);
sockprintf(socket,client.protocol,session, "554 Mail header contains mismatched 'FROM' field");
subnum=INVALID_SUB;
continue;
......@@ -3716,8 +3716,17 @@ static void smtp_thread(void* arg)
if(subnum!=INVALID_SUB) { /* Message Base */
uint reason;
if(relay_user.number==0)
if(relay_user.number==0) {
memset(&relay_user,0,sizeof(relay_user));
if(dnsbl_recvhdr || dnsbl_result.s_addr) {
lprintf(LOG_WARNING,"%04d %s %s !refusing to post message (on %s) from DNS-Blacklisted client: %s"
,socket, client.protocol, client_id, scfg.sub[subnum]->sname, sender_addr);
sockprintf(socket,client.protocol,session,"550 Insufficient access");
subnum = INVALID_SUB;
stats.msgs_refused++;
continue;
}
}
if(!can_user_post(&scfg,subnum,&relay_user,&client,&reason)) {
lprintf(LOG_WARNING,"%04d %s %s !%s (user #%u) cannot post on %s (reason: %u)"
......
......@@ -616,7 +616,6 @@ void sbbs_t::useredit(int usernumber)
user.number=i;
getuserdat(&cfg,&user);
if(chk_ar(ar,&user,/* client: */NULL)) {
outchar(BEL);
break;
}
}
......@@ -636,7 +635,6 @@ void sbbs_t::useredit(int usernumber)
user.number=i;
getuserdat(&cfg,&user);
if(chk_ar(ar,&user,/* client: */NULL)) {
outchar(BEL);
break;
}
}
......@@ -716,7 +714,6 @@ int sbbs_t::searchup(char *search,int usernum)
userdat[U_LEN]=0;
strupr(userdat);
if(strstr(userdat,search)) {
outchar(BEL);
close(file);
return(i);
}
......@@ -770,7 +767,6 @@ int sbbs_t::searchdn(char *search,int usernum)
userdat[U_LEN]=0;
strupr(userdat);
if(strstr(userdat,search)) {
outchar(BEL);
close(file);
return(i);
}
......