aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Bernat <vincent@bernat.im>2017-02-25 22:31:58 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2017-04-29 18:29:58 +0200
commit0bed71edbc323de12ed1e5390a85a013f6a143f4 (patch)
tree9756486f7759db04617d6a94ea4909a3a44c89f8
parent81b2d5ceb0cfb4cdc2163492e3169ed714b0cda9 (diff)
slirp: allow host port 0 for hostfwd
The OS will allocate automatically a free port. This is useful if you want to be sure to not get any port conflict. You still have to figure out which port you got, for example with "lsof" (this could be exposed in the monitor if needed). Example of use: $ qemu-system-x86_64 -net user,hostfwd=127.0.0.1:0-:22 ... Then, get your port with: $ lsof -np 1474 | grep LISTEN qemu-syst 31777 bernat 12u IPv4 [...] TCP 127.0.0.1:35145 (LISTEN) Signed-off-by: Vincent Bernat <vincent@bernat.im> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
-rw-r--r--net/slirp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/slirp.c b/net/slirp.c
index f97ec23345..11b2dd249a 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -487,7 +487,7 @@ static int slirp_hostfwd(SlirpState *s, const char *redir_str,
goto fail_syntax;
}
host_port = strtol(buf, &end, 0);
- if (*end != '\0' || host_port < 1 || host_port > 65535) {
+ if (*end != '\0' || host_port < 0 || host_port > 65535) {
goto fail_syntax;
}