Change default port range to avoid ephemeral ports
The old range was 32768-60000, which collides with both the Linux range
of ephemeral ports, and the IANA recommended range. The new range is
15000-24999, chosen to avoid ranges used by many different operating
systems and packages.
See https://www.cymru.com/jtk/misc/ephemeralports.html
diff --git a/ChangeLog.md b/ChangeLog.md
index de8628d..d74ea8c 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.1.1
+
+* Changed default port range to 15000-24999 to avoid ephemeral ports.
+
## 1.1.0
* Renamed portpicker APIs to use PEP8 style function names in code and docs.
diff --git a/src/portpicker.py b/src/portpicker.py
index 08dde0a..6820391 100644
--- a/src/portpicker.py
+++ b/src/portpicker.py
@@ -139,7 +139,7 @@
# Try random ports first.
rng = random.Random()
for _ in range(10):
- port = int(rng.randrange(32768, 60000))
+ port = int(rng.randrange(15000, 25000))
if is_port_free(port):
return port
diff --git a/src/portserver.py b/src/portserver.py
index fcade6c..03beddc 100644
--- a/src/portserver.py
+++ b/src/portserver.py
@@ -283,8 +283,8 @@
parser.add_argument(
'--portserver_static_pool',
type=str,
- default='32768-60000',
- help='Comma separated N-P Range(s) of ports to manage.')
+ default='15000-24999',
+ help='Comma separated N-P Range(s) of ports to manage (inclusive).')
parser.add_argument(
'--portserver_unix_socket_address',
type=str,