mirror of
https://github.com/wangyu-/udp2raw.git
synced 2025-10-14 09:55:33 +08:00
prepare work for auto add iptables rule
This commit is contained in:
35
common.cpp
35
common.cpp
@@ -13,7 +13,7 @@ raw_mode_t raw_mode=mode_faketcp;
|
||||
unordered_map<int, const char*> raw_mode_tostring = {{mode_faketcp, "faketcp"}, {mode_udp, "udp"}, {mode_icmp, "icmp"}};
|
||||
int socket_buf_size=1024*1024;
|
||||
static int random_number_fd=-1;
|
||||
|
||||
char iptables_rule[200];
|
||||
|
||||
uint64_t get_current_time()
|
||||
{
|
||||
@@ -46,7 +46,15 @@ char * my_ntoa(uint32_t ip)
|
||||
}
|
||||
|
||||
|
||||
int add_iptables_rule(char *)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int remove_iptables_rule(char *)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void init_random_number_fd()
|
||||
@@ -57,7 +65,7 @@ void init_random_number_fd()
|
||||
if(random_number_fd==-1)
|
||||
{
|
||||
mylog(log_fatal,"error open /dev/urandom\n");
|
||||
exit(-1);
|
||||
myexit(-1);
|
||||
}
|
||||
setnonblocking(random_number_fd);
|
||||
}
|
||||
@@ -68,7 +76,7 @@ uint64_t get_true_random_number_64()
|
||||
if(size!=sizeof(ret))
|
||||
{
|
||||
mylog(log_fatal,"get random number failed\n",size);
|
||||
exit(-1);
|
||||
myexit(-1);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -80,7 +88,7 @@ uint32_t get_true_random_number()
|
||||
if(size!=sizeof(ret))
|
||||
{
|
||||
mylog(log_fatal,"get random number failed\n",size);
|
||||
exit(-1);
|
||||
myexit(-1);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -119,13 +127,13 @@ void setnonblocking(int sock) {
|
||||
if (opts < 0) {
|
||||
mylog(log_fatal,"fcntl(sock,GETFL)\n");
|
||||
//perror("fcntl(sock,GETFL)");
|
||||
exit(1);
|
||||
myexit(1);
|
||||
}
|
||||
opts = opts | O_NONBLOCK;
|
||||
if (fcntl(sock, F_SETFL, opts) < 0) {
|
||||
mylog(log_fatal,"fcntl(sock,SETFL,opts)\n");
|
||||
//perror("fcntl(sock,SETFL,opts)");
|
||||
exit(1);
|
||||
myexit(1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -161,21 +169,26 @@ int set_buf_size(int fd)
|
||||
if(setsockopt(fd, SOL_SOCKET, SO_SNDBUFFORCE, &socket_buf_size, sizeof(socket_buf_size))<0)
|
||||
{
|
||||
mylog(log_fatal,"SO_SNDBUFFORCE fail\n");
|
||||
exit(1);
|
||||
myexit(1);
|
||||
}
|
||||
if(setsockopt(fd, SOL_SOCKET, SO_RCVBUFFORCE, &socket_buf_size, sizeof(socket_buf_size))<0)
|
||||
{
|
||||
mylog(log_fatal,"SO_RCVBUFFORCE fail\n");
|
||||
exit(1);
|
||||
myexit(1);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void myexit(int a)
|
||||
{
|
||||
if(enable_log_color)
|
||||
printf(RESET);
|
||||
exit(a);
|
||||
}
|
||||
void INThandler(int sig)
|
||||
{
|
||||
if(enable_log_color)
|
||||
printf(RESET);
|
||||
exit(0);
|
||||
|
||||
myexit(0);
|
||||
}
|
||||
|
||||
int numbers_to_char(id_t id1,id_t id2,id_t id3,char * &data,int &len)
|
||||
|
Reference in New Issue
Block a user