Browse Source

add init_random_number_fd

wangyu 8 years ago
parent
commit
1725aa8161
2 changed files with 15 additions and 4 deletions
  1. 14 3
      main.cpp
  2. 1 1
      makefile

+ 14 - 3
main.cpp

@@ -158,11 +158,21 @@ uint8_t key[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,   0,0,0,0};
 const int window_size=2000;
 
 
+int random_number_fd=-1;
+void init_random_number_fd()
+{
+	random_number_fd=open("/dev/urandom",O_RDONLY);
+	if(random_number_fd==-1)
+	{
+		printf("error open /dev/urandom");
+		exit(-1);
+	}
+}
 uint32_t get_true_random_number()
 {
 	uint32_t ret;
-	int fd=open("/dev/urandom",O_RDONLY);
-	read(fd,&ret,sizeof(ret));
+
+	read(random_number_fd,&ret,sizeof(ret));
 	return htonl(ret);
 }
 struct anti_replay_t
@@ -986,7 +996,7 @@ int fake_tcp_keep_connection_client() //for client
 		client_current_state=client_syn_sent;
 		last_state_time=get_current_time();
 		printf("state changed from nothing to syn_sent\n");
-		retry_counter=5;
+		retry_counter=RETRY_TIME;
 
 		g_packet_info.src_port=client_bind_to_a_new_port();
 		printf("using port %d\n",g_packet_info.src_port);
@@ -2061,6 +2071,7 @@ int server()
 
 int main(int argc, char *argv[])
 {
+	init_random_number_fd();
 	const_id=get_true_random_number();
 
 	g_packet_info.ack_seq=get_true_random_number();

+ 1 - 1
makefile

@@ -3,5 +3,5 @@ all:
 	killall raw||true
 	sleep 1
 	g++ main.cpp -o raw -static -lrt -ggdb -I. aes.c md5.c encrypt.cpp -O3
-#	${ccmips} main.cpp -o rawmips -static -lrt -ggdb -I. aes.c md5.c encrypt.cpp -O3
+#	${ccmips} -std=c++11 main.cpp -o rawmips -static -lrt -ggdb -I. aes.c md5.c encrypt.cpp -O3 -lstdc++