aboutgitcodebugslistschat
path: root/util.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-08-29 19:58:45 +1000
committerStefano Brivio <sbrivio@redhat.com>2024-08-29 22:25:51 +0200
commit1daf6f4615226a2cdd9523a80d70736af4a9f3c0 (patch)
tree12df1676a4627a91cf80fe5833f59b7ea08cb77d /util.h
parent712ca3235329b049bf9a4e481ba38a4c64768e8b (diff)
downloadpasst-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.tar
passt-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.tar.gz
passt-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.tar.bz2
passt-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.tar.lz
passt-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.tar.xz
passt-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.tar.zst
passt-1daf6f4615226a2cdd9523a80d70736af4a9f3c0.zip
conf, fwd: Make ephemeral port logic more flexible
"Ephemeral" ports are those which the kernel may allocate as local port numbers for outgoing connections or datagrams. Because of that, they're generally not good choices for listening servers to bind to. Thefore when using -t all, -u all or exclude-only ranges, we map only non-ephemeral ports. Our logic for this is a bit rigid though: we assume the ephemeral ports are always a fixed range at the top of the port number space. We also assume PORT_EPHEMERAL_MIN is a multiple of 8, or we won't set the forward bitmap correctly. Make the logic in conf.c more flexible, using a helper moved into fwd.[ch], although we don't change which ports we consider ephemeral (yet). The new handling is undoubtedly more computationally expensive, but since it's a once-off operation at start off, I don't think it really matters. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'util.h')
-rw-r--r--util.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/util.h b/util.h
index 1463c92..c7a59d5 100644
--- a/util.h
+++ b/util.h
@@ -95,9 +95,6 @@
#define FD_PROTO(x, proto) \
(IN_INTERVAL(c->proto.fd_min, c->proto.fd_max, (x)))
-#define PORT_EPHEMERAL_MIN ((1 << 15) + (1 << 14)) /* RFC 6335 */
-#define PORT_IS_EPHEMERAL(port) ((port) >= PORT_EPHEMERAL_MIN)
-
#define MAC_ZERO ((uint8_t [ETH_ALEN]){ 0 })
#define MAC_IS_ZERO(addr) (!memcmp((addr), MAC_ZERO, ETH_ALEN))