Finished DNSBL, Although untested, It's simple code and should work fine.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6543 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
e2eadf7bb2
commit
b467a6bfbc
@ -3,6 +3,9 @@ Date Added
|
|||||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
|
2006/05/10
|
||||||
|
* Users are now able to use their own dnsbl servers (login_athena) [Zido]
|
||||||
|
|
||||||
2006/05/09
|
2006/05/09
|
||||||
* Rewrote/cleaned up trade.c for a more clean trading implementation.
|
* Rewrote/cleaned up trade.c for a more clean trading implementation.
|
||||||
[Skotlex]
|
[Skotlex]
|
||||||
|
@ -182,4 +182,7 @@ dynamic_account_ban_class: 0
|
|||||||
//DNS Blacklist Blocking (on: 1, off: 0)
|
//DNS Blacklist Blocking (on: 1, off: 0)
|
||||||
use_dnsbl: 0
|
use_dnsbl: 0
|
||||||
|
|
||||||
|
//DNS Servers (seperated by a comma)
|
||||||
|
dnsbl_servers: dnsbl.deltaanime.net
|
||||||
|
|
||||||
import: conf/import/login_conf.txt
|
import: conf/import/login_conf.txt
|
||||||
|
@ -69,7 +69,8 @@ struct _subnet {
|
|||||||
|
|
||||||
int subnet_count = 0;
|
int subnet_count = 0;
|
||||||
|
|
||||||
int use_dnsbl=0;
|
int use_dnsbl=0; // [Zido]
|
||||||
|
char dnsbl_servs[1024]; // [Zido]
|
||||||
|
|
||||||
char account_filename[1024] = "save/account.txt";
|
char account_filename[1024] = "save/account.txt";
|
||||||
char GM_account_filename[1024] = "conf/GM_account.txt";
|
char GM_account_filename[1024] = "conf/GM_account.txt";
|
||||||
@ -1143,6 +1144,7 @@ int mmo_auth_new(struct mmo_account* account, char sex, char* email) {
|
|||||||
// Check/authentification of a connection
|
// Check/authentification of a connection
|
||||||
//---------------------------------------
|
//---------------------------------------
|
||||||
int mmo_auth(struct mmo_account* account, int fd) {
|
int mmo_auth(struct mmo_account* account, int fd) {
|
||||||
|
char *dnsbl_serv;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
time_t raw_time;
|
time_t raw_time;
|
||||||
char tmpstr[256];
|
char tmpstr[256];
|
||||||
@ -1163,27 +1165,22 @@ int mmo_auth(struct mmo_account* account, int fd) {
|
|||||||
// Start DNS Blacklist check [Zido]
|
// Start DNS Blacklist check [Zido]
|
||||||
if(use_dnsbl) {
|
if(use_dnsbl) {
|
||||||
sprintf(r_ip, "%d.%d.%d.%d", sin_addr[3], sin_addr[2], sin_addr[1], sin_addr[0]);
|
sprintf(r_ip, "%d.%d.%d.%d", sin_addr[3], sin_addr[2], sin_addr[1], sin_addr[0]);
|
||||||
|
|
||||||
sprintf(ip_dnsbl,"%s.opm.blitzed.org",r_ip);
|
dnsbl_serv=strtok(dnsbl_servs,",");
|
||||||
|
sprintf(ip_dnsbl,"%s.%s",r_ip,dnsbl_serv);
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
if(gethostbyname(ip_dnsbl)!=NULL) {
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",ip);
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
sprintf(ip_dnsbl,"%s.sbl.deltaanime.net",r_ip);
|
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
while((dnsbl_serv=strtok(dnsbl_servs,","))!=NULL) {
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
sprintf(ip_dnsbl,"%s.%s",r_ip,dnsbl_serv);
|
||||||
return 3;
|
if(gethostbyname(ip_dnsbl)!=NULL) {
|
||||||
}
|
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",ip);
|
||||||
sprintf(ip_dnsbl,"%s.dnsbl.njabl.org",r_ip);
|
return 3;
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
}
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
sprintf(ip_dnsbl,"%s.sbl-xbl.spamhaus.org",r_ip);
|
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
|
||||||
return 3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// End DNS Blacklist check [Zido]
|
// End DNS Blacklist check [Zido]
|
||||||
|
|
||||||
@ -3774,6 +3771,8 @@ int login_config_read(const char *cfgName) {
|
|||||||
login_config_read(w2);
|
login_config_read(w2);
|
||||||
} else if(strcmpi(w1,"use_dnsbl")==0) { // [Zido]
|
} else if(strcmpi(w1,"use_dnsbl")==0) { // [Zido]
|
||||||
use_dnsbl=atoi(w2);
|
use_dnsbl=atoi(w2);
|
||||||
|
} else if(strcmpi(w1,"dnsbl_servers")==0) { // [Zido]
|
||||||
|
strcpy(dnsbl_servs,w2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,7 @@ void Gettimeofday(struct timeval *timenow)
|
|||||||
// global variable
|
// global variable
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
int use_dnsbl=0; // [Zido]
|
int use_dnsbl=0; // [Zido]
|
||||||
|
char dnsbl_servs[1024];
|
||||||
int server_num;
|
int server_num;
|
||||||
int new_account_flag = 0; //Set from config too XD [Sirius]
|
int new_account_flag = 0; //Set from config too XD [Sirius]
|
||||||
int bind_ip_set_ = 0;
|
int bind_ip_set_ = 0;
|
||||||
@ -576,6 +577,7 @@ int mmo_auth( struct mmo_account* account , int fd){
|
|||||||
char tmpstr[256];
|
char tmpstr[256];
|
||||||
char t_uid[256], t_pass[256];
|
char t_uid[256], t_pass[256];
|
||||||
char user_password[256];
|
char user_password[256];
|
||||||
|
char *dnsbl_serv;
|
||||||
|
|
||||||
//added for account creation _M _F
|
//added for account creation _M _F
|
||||||
int len;
|
int len;
|
||||||
@ -595,27 +597,22 @@ int mmo_auth( struct mmo_account* account , int fd){
|
|||||||
// Start DNS Blacklist check [Zido]
|
// Start DNS Blacklist check [Zido]
|
||||||
if(use_dnsbl) {
|
if(use_dnsbl) {
|
||||||
sprintf(r_ip, "%d.%d.%d.%d", sin_addr[3], sin_addr[2], sin_addr[1], sin_addr[0]);
|
sprintf(r_ip, "%d.%d.%d.%d", sin_addr[3], sin_addr[2], sin_addr[1], sin_addr[0]);
|
||||||
|
|
||||||
sprintf(ip_dnsbl,"%s.opm.blitzed.org",r_ip);
|
dnsbl_serv=strtok(dnsbl_servs,",");
|
||||||
|
sprintf(ip_dnsbl,"%s.%s",r_ip,dnsbl_serv);
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
if(gethostbyname(ip_dnsbl)!=NULL) {
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",ip);
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
sprintf(ip_dnsbl,"%s.sbl.deltaanime.net",r_ip);
|
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
while((dnsbl_serv=strtok(dnsbl_servs,","))!=NULL) {
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
sprintf(ip_dnsbl,"%s.%s",r_ip,dnsbl_serv);
|
||||||
return 3;
|
if(gethostbyname(ip_dnsbl)!=NULL) {
|
||||||
}
|
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",ip);
|
||||||
sprintf(ip_dnsbl,"%s.dnsbl.njabl.org",r_ip);
|
return 3;
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
}
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
sprintf(ip_dnsbl,"%s.sbl-xbl.spamhaus.org",r_ip);
|
|
||||||
if(gethostbyname(ip_dnsbl)!=NULL) {
|
|
||||||
ShowInfo("DNSBL: (%s) Blacklisted. User Kicked.\n",r_ip);
|
|
||||||
return 3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// End DNS Blacklist check [Zido]
|
// End DNS Blacklist check [Zido]
|
||||||
|
|
||||||
@ -2171,6 +2168,8 @@ int login_config_read(const char *cfgName){
|
|||||||
login_config_read(w2);
|
login_config_read(w2);
|
||||||
} else if(strcmpi(w1,"use_dnsbl")==0) { // [Zido]
|
} else if(strcmpi(w1,"use_dnsbl")==0) { // [Zido]
|
||||||
use_dnsbl=atoi(w2);
|
use_dnsbl=atoi(w2);
|
||||||
|
} else if(strcmpi(w1,"dnsbl_servers")==0) { // [Zido]
|
||||||
|
strcpy(dnsbl_servs,w2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user