only set IP_TOS on IPv4 sockets
This commit is contained in:
		| @@ -346,14 +346,9 @@ main(int argc, char **argv) | |||||||
| 	syslog(LOG_ERR, "getsockname (%s): %m",argv[0]); | 	syslog(LOG_ERR, "getsockname (%s): %m",argv[0]); | ||||||
| 	exit(1); | 	exit(1); | ||||||
|     } |     } | ||||||
| #if defined(IP_TOS) && defined(HAVE_SETSOCKOPT) | #if defined(IP_TOS) | ||||||
|     { |     if (ctrl_addr->sa_family == AF_INET) | ||||||
| 	int tos = IPTOS_LOWDELAY; | 	socket_set_tos(STDIN_FILENO, IP_TOS); | ||||||
|  |  | ||||||
| 	if (setsockopt(STDIN_FILENO, IPPROTO_IP, IP_TOS, |  | ||||||
| 		       (void *)&tos, sizeof(int)) < 0) |  | ||||||
| 	    syslog(LOG_WARNING, "setsockopt (IP_TOS): %m"); |  | ||||||
|     } |  | ||||||
| #endif | #endif | ||||||
|     data_source->sa_family = ctrl_addr->sa_family; |     data_source->sa_family = ctrl_addr->sa_family; | ||||||
|     socket_set_port (data_source, |     socket_set_port (data_source, | ||||||
| @@ -1277,12 +1272,8 @@ dataconn(const char *name, off_t size, const char *mode) | |||||||
| 		close(pdata); | 		close(pdata); | ||||||
| 		pdata = s; | 		pdata = s; | ||||||
| #if defined(IP_TOS) && defined(HAVE_SETSOCKOPT) | #if defined(IP_TOS) && defined(HAVE_SETSOCKOPT) | ||||||
| 		{ | 		if (from->sa_family == AF_INET) | ||||||
| 		    int tos = IPTOS_THROUGHPUT; | 		    socket_set_tos(s, IPTOS_THROUGHPUT); | ||||||
|  |  | ||||||
| 		    setsockopt(s, IPPROTO_IP, IP_TOS, (void *)&tos, |  | ||||||
| 			       sizeof(tos)); |  | ||||||
| 		} |  | ||||||
| #endif | #endif | ||||||
| 		reply(150, "Opening %s mode data connection for '%s'%s.", | 		reply(150, "Opening %s mode data connection for '%s'%s.", | ||||||
| 		     type == TYPE_A ? "ASCII" : "BINARY", name, sizebuf); | 		     type == TYPE_A ? "ASCII" : "BINARY", name, sizebuf); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand