diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2018-06-01 14:58:53 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2018-06-01 14:58:53 +0100 |
| commit | 9be4af13305f24d2dabf94bb53e6b65c76d08bb2 (patch) | |
| tree | 7a337d256dec06e000d56e76b0c621983fa2f5fa /net/slirp.c | |
| parent | c25e8bba1f546ea72744ccfab77f8a9e8a323be8 (diff) | |
| parent | 47335eeea8f1d14b7c6a1dd585a25a9166721168 (diff) | |
| download | focaccia-qemu-9be4af13305f24d2dabf94bb53e6b65c76d08bb2.tar.gz focaccia-qemu-9be4af13305f24d2dabf94bb53e6b65c76d08bb2.zip | |
Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging
slirp updates Alexey Kardashevskiy slirp: Improve debugging messages Andreas Gustafsson, Samuel Thibault, James Clarke slirp: Improve bandwidth in GDB remote debugging and FreeBSD guests Benjamin Drung: slirp/dhcp: Add domainname option Cédric Le Goater (3): slirp/ncsi: fix "Get Version ID" payload length slirp/ncsi: add a "Get Parameters" response slirp/ncsi: add checksum support Nia Alarie: net/slirp: Convert atoi to qemu_strtoi to allow error checking # gpg: Signature made Fri 01 Jun 2018 14:54:45 BST # gpg: using RSA key 996849C1CF560478 # gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>" # gpg: aka "Samuel Thibault <sthibault@debian.org>" # gpg: aka "Samuel Thibault <samuel.thibault@gnu.org>" # gpg: aka "Samuel Thibault <samuel.thibault@inria.fr>" # gpg: aka "Samuel Thibault <samuel.thibault@labri.fr>" # gpg: aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" # gpg: aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 900C B024 B679 31D4 0F82 304B D017 8C76 7D06 9EE6 # Subkey fingerprint: 3A3A 5D46 4660 E867 610C A427 9968 49C1 CF56 0478 * remotes/thibault/tags/samuel-thibault: slirp/ncsi: add checksum support slirp/ncsi: add a "Get Parameters" response slirp/ncsi: fix "Get Version ID" payload length slirp: Send window updates to guest after window was closed net/slirp: Convert atoi to qemu_strtoi to allow error checking slirp/debug: Print IP addresses in human readable form slirp: disable Nagle in ingoing connections slirp: disable Nagle in outgoing connections slirp: Add domainname option to slirp's DHCP server Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'net/slirp.c')
| -rw-r--r-- | net/slirp.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/net/slirp.c b/net/slirp.c index 692252445a..1e14318b4d 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -157,7 +157,8 @@ static int net_slirp_init(NetClientState *peer, const char *model, const char *bootfile, const char *vdhcp_start, const char *vnameserver, const char *vnameserver6, const char *smb_export, const char *vsmbserver, - const char **dnssearch, Error **errp) + const char **dnssearch, const char *vdomainname, + Error **errp) { /* default settings according to historic slirp */ struct in_addr net = { .s_addr = htonl(0x0a000200) }; /* 10.0.2.0 */ @@ -359,6 +360,11 @@ static int net_slirp_init(NetClientState *peer, const char *model, ip6_dns.s6_addr[15] |= 3; } + if (vdomainname && !*vdomainname) { + error_setg(errp, "'domainname' parameter cannot be empty"); + return -1; + } + nc = qemu_new_net_client(&net_slirp_info, peer, model, name); @@ -371,7 +377,7 @@ static int net_slirp_init(NetClientState *peer, const char *model, s->slirp = slirp_init(restricted, ipv4, net, mask, host, ipv6, ip6_prefix, vprefix6_len, ip6_host, vhostname, tftp_export, bootfile, dhcp, - dns, ip6_dns, dnssearch, s); + dns, ip6_dns, dnssearch, vdomainname, s); QTAILQ_INSERT_TAIL(&slirp_stacks, s, entry); for (config = slirp_configs; config; config = config->next) { @@ -486,7 +492,9 @@ void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict) goto fail_syntax; } - host_port = atoi(p); + if (qemu_strtoi(p, NULL, 10, &host_port)) { + goto fail_syntax; + } err = slirp_remove_hostfwd(s->slirp, is_udp, host_addr, host_port); @@ -958,7 +966,7 @@ int net_init_slirp(const Netdev *netdev, const char *name, user->ipv6_host, user->hostname, user->tftp, user->bootfile, user->dhcpstart, user->dns, user->ipv6_dns, user->smb, - user->smbserver, dnssearch, errp); + user->smbserver, dnssearch, user->domainname, errp); while (slirp_configs) { config = slirp_configs; |