Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9fb1506 authored by Tóth László Attila's avatar Tóth László Attila Committed by David S. Miller
Browse files

ipv4: Allow binding to non-local addresses if IP_TRANSPARENT is set



Setting IP_TRANSPARENT is not really useful without allowing non-local
binds for the socket. To make user-space code simpler we allow these
binds even if IP_TRANSPARENT is set but IP_FREEBIND is not.

Signed-off-by: default avatarTóth László Attila <panther@balabit.hu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f5715aea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -469,7 +469,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
	 */
	err = -EADDRNOTAVAIL;
	if (!sysctl_ip_nonlocal_bind &&
	    !inet->freebind &&
	    !(inet->freebind || inet->transparent) &&
	    addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
	    chk_addr_ret != RTN_LOCAL &&
	    chk_addr_ret != RTN_MULTICAST &&