mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-02 12:38:01 +00:00
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: Tóth László Attila <panther@balabit.hu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f5715aea45
commit
b9fb15067c
1 changed files with 1 additions and 1 deletions
|
@ -469,7 +469,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
|
||||||
*/
|
*/
|
||||||
err = -EADDRNOTAVAIL;
|
err = -EADDRNOTAVAIL;
|
||||||
if (!sysctl_ip_nonlocal_bind &&
|
if (!sysctl_ip_nonlocal_bind &&
|
||||||
!inet->freebind &&
|
!(inet->freebind || inet->transparent) &&
|
||||||
addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
|
addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
|
||||||
chk_addr_ret != RTN_LOCAL &&
|
chk_addr_ret != RTN_LOCAL &&
|
||||||
chk_addr_ret != RTN_MULTICAST &&
|
chk_addr_ret != RTN_MULTICAST &&
|
||||||
|
|
Loading…
Add table
Reference in a new issue