mirror of
				https://github.com/rofl0r/proxychains-ng.git
				synced 2025-11-04 00:56:03 +00:00 
			
		
		
		
	proxy_dns_old: use pipe2 if available, else O_CLOEXEC
make the old code a little less lame
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/core.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/core.c
									
									
									
									
									
								
							@@ -756,7 +756,7 @@ struct hostent* proxy_gethostbyname_old(const char *name)
 | 
			
		||||
	char buff[256];
 | 
			
		||||
	in_addr_t addr;
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	int status;
 | 
			
		||||
	int status, ret;
 | 
			
		||||
	size_t l;
 | 
			
		||||
	struct hostent* hp;
 | 
			
		||||
 | 
			
		||||
@@ -775,8 +775,17 @@ struct hostent* proxy_gethostbyname_old(const char *name)
 | 
			
		||||
	while ((hp=gethostent()))
 | 
			
		||||
		if (!strcmp(hp->h_name,name))
 | 
			
		||||
			return hp;
 | 
			
		||||
#ifdef HAVE_PIPE2
 | 
			
		||||
	ret = pipe2(pipe_fd, O_CLOEXEC);
 | 
			
		||||
#else
 | 
			
		||||
	ret = pipe(pipe_fd);
 | 
			
		||||
	if(ret == 0) {
 | 
			
		||||
		fcntl(pipe_fd[0], F_SETFD, FD_CLOEXEC);
 | 
			
		||||
		fcntl(pipe_fd[1], F_SETFD, FD_CLOEXEC);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if(pipe(pipe_fd))
 | 
			
		||||
	if(ret)
 | 
			
		||||
		goto err;
 | 
			
		||||
	pid = fork();
 | 
			
		||||
	switch(pid) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user