mirror of
				https://github.com/3proxy/3proxy.git
				synced 2025-11-04 07:42:39 +08:00 
			
		
		
		
	Fix compilation issues
This commit is contained in:
		
							parent
							
								
									c1beceb24b
								
							
						
					
					
						commit
						3dc698eccd
					
				@ -431,15 +431,15 @@ int doconnect(struct clientparam * param){
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef SO_BINDTODEVICE
 | 
					#if defined SO_BINDTODEVICE
 | 
				
			||||||
	if(param->srv->obindtodevice) {
 | 
						if(param->srv->obindtodevice) {
 | 
				
			||||||
		if(so._setsockopt(param->remsock, SOL_SOCKET, SO_BINDTODEVICE, param->srv->obindtodevice, strlen(param->srv->obindtodevice) + 1))
 | 
							if(so._setsockopt(param->remsock, SOL_SOCKET, SO_BINDTODEVICE, param->srv->obindtodevice, strlen(param->srv->obindtodevice) + 1))
 | 
				
			||||||
			return 12;
 | 
								return 12;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#elseif IP_BOUND_IF
 | 
					#elif defined IP_BOUND_IF
 | 
				
			||||||
	if(param->srv->obindtodevice) {
 | 
						if(param->srv->obindtodevice) {
 | 
				
			||||||
	    int idx;
 | 
						    int idx;
 | 
				
			||||||
	    idx = if_nametoindex(param->srv->obindtodevice)
 | 
						    idx = if_nametoindex(param->srv->obindtodevice);
 | 
				
			||||||
	    if(!idx || so._setsockopt(param->remsock, IPPROTO_IP, IP_BOUND_IF, &idx, sizeof(idx)))
 | 
						    if(!idx || so._setsockopt(param->remsock, IPPROTO_IP, IP_BOUND_IF, &idx, sizeof(idx)))
 | 
				
			||||||
			return 12;
 | 
								return 12;
 | 
				
			||||||
#ifndef NOIPV6
 | 
					#ifndef NOIPV6
 | 
				
			||||||
 | 
				
			|||||||
@ -610,22 +610,22 @@ int MODULEMAINFUNC (int argc, char** argv){
 | 
				
			|||||||
		opt = 1;
 | 
							opt = 1;
 | 
				
			||||||
		so._setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (char *)&opt, sizeof(int));
 | 
							so._setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (char *)&opt, sizeof(int));
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef SO_BINDTODEVICE
 | 
					#if defined SO_BINDTODEVICE
 | 
				
			||||||
		if(srv.ibindtodevice && so._setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, srv.ibindtodevice, strlen(srv.ibindtodevice) + 1)) {
 | 
							if(srv.ibindtodevice && so._setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, srv.ibindtodevice, strlen(srv.ibindtodevice) + 1)) {
 | 
				
			||||||
		    dolog(&defparam, "failed to bind device");
 | 
							    dolog(&defparam, "failed to bind device");
 | 
				
			||||||
		    return -12;
 | 
							    return -12;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
#elseif IP_BOUND_IF
 | 
					#elif defined IP_BOUND_IF
 | 
				
			||||||
		if(srv.ibindtodevice){
 | 
							if(srv.ibindtodevice){
 | 
				
			||||||
		    int idx;
 | 
							    int idx;
 | 
				
			||||||
		    idx = if_nametoindex(srv.ibindtodevice);
 | 
							    idx = if_nametoindex(srv.ibindtodevice);
 | 
				
			||||||
		    if(!idx || setsockopt(sockfd, IPPROTO_IP, IP_BOUND_IF, &idx, sizeof(idx))) {
 | 
							    if(!idx || setsockopt(sock, IPPROTO_IP, IP_BOUND_IF, &idx, sizeof(idx))) {
 | 
				
			||||||
			dolog(&defparam, "failed to bind device");
 | 
								dolog(&defparam, (unsigned char *)"failed to bind device");
 | 
				
			||||||
			return -12;
 | 
								return -12;
 | 
				
			||||||
		    }
 | 
							    }
 | 
				
			||||||
#ifndef NOIPV6
 | 
					#ifndef NOIPV6
 | 
				
			||||||
	            if(so._setsockopt(param->remsock, IPPROTO_IPV6, IPV6_BOUND_IF, &idx, sizeof(idx))) {
 | 
						            if(so._setsockopt(sock, IPPROTO_IPV6, IPV6_BOUND_IF, &idx, sizeof(idx))) {
 | 
				
			||||||
			dolog(&defparam, "failed to bind device");
 | 
								dolog(&defparam, (unsigned char *)"failed to bind device");
 | 
				
			||||||
	        	return -12;
 | 
						        	return -12;
 | 
				
			||||||
	    	    }
 | 
						    	    }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -31,6 +31,9 @@ extern "C" {
 | 
				
			|||||||
#include <arpa/inet.h>
 | 
					#include <arpa/inet.h>
 | 
				
			||||||
#include <netdb.h>
 | 
					#include <netdb.h>
 | 
				
			||||||
#include <pthread.h>
 | 
					#include <pthread.h>
 | 
				
			||||||
 | 
					#ifdef IP_BOUND_IF
 | 
				
			||||||
 | 
					#include <net/if.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#define SASIZETYPE socklen_t
 | 
					#define SASIZETYPE socklen_t
 | 
				
			||||||
#define SOCKET int
 | 
					#define SOCKET int
 | 
				
			||||||
#define INVALID_SOCKET  (-1)
 | 
					#define INVALID_SOCKET  (-1)
 | 
				
			||||||
 | 
				
			|||||||
@ -28,7 +28,11 @@ void * tcppmchild(struct clientparam* param) {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        if(action != PASS) RETURN(19);
 | 
					        if(action != PASS) RETURN(19);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 RETURN (param->redirectfunc?param->redirectfunc(param):mapsocket(param, conf.timeouts[CONNECTION_L]));
 | 
					 if(param->redirectfunc){
 | 
				
			||||||
 | 
					    return (*param->redirectfunc)(param);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 RETURN (mapsocket(param, conf.timeouts[CONNECTION_L]));
 | 
				
			||||||
CLEANRET:
 | 
					CLEANRET:
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 dolog(param, param->hostname);
 | 
					 dolog(param, param->hostname);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user