mirror of
				https://github.com/rofl0r/proxychains-ng.git
				synced 2025-11-04 00:56:03 +00:00 
			
		
		
		
	support MSG_FASTOPEN on old kernels
This commit is contained in:
		@@ -482,9 +482,12 @@ struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type) {
 | 
				
			|||||||
	return NULL;
 | 
						return NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef MSG_FASTOPEN
 | 
				
			||||||
 | 
					#   define MSG_FASTOPEN 0x20000000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
 | 
					ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
 | 
				
			||||||
	       const struct sockaddr *dest_addr, socklen_t addrlen) {
 | 
						       const struct sockaddr *dest_addr, socklen_t addrlen) {
 | 
				
			||||||
#ifdef MSG_FASTOPEN
 | 
					 | 
				
			||||||
	if (flags & MSG_FASTOPEN) {
 | 
						if (flags & MSG_FASTOPEN) {
 | 
				
			||||||
		if (!connect(sockfd, dest_addr, addrlen) && errno != EINPROGRESS) {
 | 
							if (!connect(sockfd, dest_addr, addrlen) && errno != EINPROGRESS) {
 | 
				
			||||||
			return -1;
 | 
								return -1;
 | 
				
			||||||
@@ -493,6 +496,5 @@ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
 | 
				
			|||||||
		addrlen = 0;
 | 
							addrlen = 0;
 | 
				
			||||||
		flags &= ~MSG_FASTOPEN;
 | 
							flags &= ~MSG_FASTOPEN;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
	return true_sendto(sockfd, buf, len, flags, dest_addr, addrlen);
 | 
						return true_sendto(sockfd, buf, len, flags, dest_addr, addrlen);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,10 @@
 | 
				
			|||||||
#include <netinet/in.h>
 | 
					#include <netinet/in.h>
 | 
				
			||||||
#include <netdb.h>
 | 
					#include <netdb.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef MSG_FASTOPEN
 | 
				
			||||||
 | 
					#   define MSG_FASTOPEN 0x20000000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void error(const char *msg)
 | 
					void error(const char *msg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	perror(msg);
 | 
						perror(msg);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user