This commit is contained in:
wangyu 2017-07-29 21:22:13 +08:00 committed by wangyu
parent 0efcacfdf4
commit e15338c179
3 changed files with 12 additions and 14 deletions

View File

@ -69,7 +69,7 @@ uint64_t get_true_random_number_64()
read(random_number_fd,&ret,sizeof(ret)); read(random_number_fd,&ret,sizeof(ret));
return ret; return ret;
} }
uint32_t get_true_random_number_0() uint32_t get_true_random_number()
{ {
uint32_t ret; uint32_t ret;
read(random_number_fd,&ret,sizeof(ret)); read(random_number_fd,&ret,sizeof(ret));
@ -80,7 +80,7 @@ uint32_t get_true_random_number_nz() //nz for non-zero
uint32_t ret=0; uint32_t ret=0;
while(ret==0) while(ret==0)
{ {
ret=get_true_random_number_0(); ret=get_true_random_number();
} }
return ret; return ret;
} }

View File

@ -119,7 +119,7 @@ char * my_ntoa(uint32_t ip);
void myexit(int a); void myexit(int a);
void init_random_number_fd(); void init_random_number_fd();
uint64_t get_true_random_number_64(); uint64_t get_true_random_number_64();
uint32_t get_true_random_number_0(); uint32_t get_true_random_number();
uint32_t get_true_random_number_nz(); uint32_t get_true_random_number_nz();
uint64_t ntoh64(uint64_t a); uint64_t ntoh64(uint64_t a);
uint64_t hton64(uint64_t a); uint64_t hton64(uint64_t a);

View File

@ -50,7 +50,7 @@ struct anti_replay_t
{ {
disabled=0; disabled=0;
max_packet_received=0; max_packet_received=0;
anti_replay_seq=get_true_random_number_nz(); anti_replay_seq=get_true_random_number();
//memset(window,0,sizeof(window)); //not necessary //memset(window,0,sizeof(window)); //not necessary
} }
void re_init() void re_init()
@ -166,7 +166,7 @@ struct conv_manager_t //TODO change map to unordered map
uint32_t get_new_conv() uint32_t get_new_conv()
{ {
uint32_t conv=get_true_random_number_nz(); uint32_t conv=get_true_random_number_nz();
while(conv!=0&&conv_to_u64.find(conv)!=conv_to_u64.end()) while(conv_to_u64.find(conv)!=conv_to_u64.end())
{ {
conv=get_true_random_number_nz(); conv=get_true_random_number_nz();
} }
@ -791,7 +791,7 @@ int try_to_list_and_bind(int port)
} }
int client_bind_to_a_new_port() int client_bind_to_a_new_port()
{ {
int raw_send_port=10000+get_true_random_number_nz()%(65535-10000); int raw_send_port=10000+get_true_random_number()%(65535-10000);
for(int i=0;i<1000;i++)//try 1000 times at max,this should be enough for(int i=0;i<1000;i++)//try 1000 times at max,this should be enough
{ {
if (try_to_list_and_bind(raw_send_port)==0) if (try_to_list_and_bind(raw_send_port)==0)
@ -848,7 +848,7 @@ int keep_connection_client(conn_info_t &conn_info) //for client
mylog(log_info,"state changed from nothing to syn_sent %d\n",conn_info.state.client_current_state); mylog(log_info,"state changed from nothing to syn_sent %d\n",conn_info.state.client_current_state);
conn_info.retry_counter = RETRY_TIME; conn_info.retry_counter = RETRY_TIME;
send_info.seq = get_true_random_number_nz(); send_info.seq = get_true_random_number();
send_info.ack_seq = 0; //get_true_random_number(); send_info.ack_seq = 0; //get_true_random_number();
send_info.ts_ack = 0; send_info.ts_ack = 0;
send_info.ack = 0; send_info.ack = 0;
@ -1497,7 +1497,7 @@ int server_on_raw_recv_multi()
send_info.syn = 1; send_info.syn = 1;
send_info.ack = 1; send_info.ack = 1;
send_info.seq = get_true_random_number_nz(); //not necessary to set send_info.seq = get_true_random_number(); //not necessary to set
mylog(log_info,"sent syn ack\n"); mylog(log_info,"sent syn ack\n");
send_bare(raw_info, 0, 0); //////////////send send_bare(raw_info, 0, 0); //////////////send
@ -1514,7 +1514,7 @@ int server_on_raw_recv_multi()
mylog(log_info,"sent handshake\n"); mylog(log_info,"sent handshake\n");
conn_info.my_id=get_true_random_number_nz(); conn_info.my_id=get_true_random_number_nz();
send_handshake(raw_info,conn_info.my_id,random(),const_id); //////////////send send_handshake(raw_info,conn_info.my_id,get_true_random_number_nz(),const_id); //////////////send
mylog(log_info,"changed state to server_heartbeat_sent_sent\n"); mylog(log_info,"changed state to server_heartbeat_sent_sent\n");
@ -2000,8 +2000,9 @@ int client_event_loop()
conn_info_t conn_info; conn_info_t conn_info;
conn_info.my_id=get_true_random_number_nz(); conn_info.my_id=get_true_random_number_nz();
conn_info.raw_info.send_info.ack_seq=get_true_random_number_nz();
conn_info.raw_info.send_info.seq=get_true_random_number_nz(); conn_info.raw_info.send_info.ack_seq=get_true_random_number();
conn_info.raw_info.send_info.seq=get_true_random_number();
conn_info.conv_manager.reserve(); conn_info.conv_manager.reserve();
@ -2708,9 +2709,6 @@ void iptables_warn()
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
uint32_t b=0xffff;
int32_t a=b;
printf("<%d>",a);
dup2(1, 2);//redirect stderr to stdout dup2(1, 2);//redirect stderr to stdout
signal(SIGINT, INThandler); signal(SIGINT, INThandler);