slirp: Allow non-local DNS address when restrict is off

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEXtnoVvfWxur1EWehjTXDVXILuv0FAl2afsQACgkQjTXDVXIL
 uv38KhAAjTFnO7XZqoiyYWXZyaZNNntM8NyREPG9Z7KBvvXsklwWRBRO3KhGfjzO
 rMmwO3As1tggDJzuw+uHHxKSfclCxC8UxengsLtu28pbwhzuVMWFessrQWDi0kNf
 H66+171xCEFcQnnsRCPHPRoy5f6V9fQ/k8ZUnkCJfJDlRKSRKOwPDAW/EVHCdFmw
 mEYsZAQ7sNj096NjcdiFYzcsIg4Skk4pxiok/Y8Rhzbrv+bgEa09mGbiGzTgRlIV
 FGYL+GWmrEY3AfkiQifRX7/9ly7/OBsGIt/3vH+Xz/BdXj/AMOEBpeBUjRveXEXl
 laLPhxb8c45skdz6CTmzRFo0WCZzrTij14Dd1/6OaJES5kQT5JbvRRqGSdoZjJPe
 yqGJ28mK8I3rbPaxqd320/jQRhVfWO4gZCA5w/Lial+WUFcFQM0flfAOCPs7ytZh
 8qveUQam7jI/SqDFpxUZp6KEQV5rAhNbS4c/0v+MfM2sGv+b2T15U3WeD28AL+Ta
 NApafGUqd0XMY2D/tysTAUdmLe+HfFZDimV+mRHLOSvGtQwQ/f/6fc5IVtFla9sj
 Sie70leDcdToeJRxEfuJCnwHn94lVTI58z8bMqDMN6TX6FQkAOH+zlEkN3QfpZNW
 sWizif7JJYYjUR2CHqXsMjO2eWMA/Y5ASEKQOh5Qmu6soCqAEa4=
 =B6XI
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging

slirp: Allow non-local DNS address when restrict is off

# gpg: Signature made Mon 07 Oct 2019 00:54:44 BST
# gpg:                using RSA key 5ED9E856F7D6C6EAF51167A18D35C355720BBAFD
# gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>" [unknown]
# gpg:                 aka "Samuel Thibault <sthibault@debian.org>" [marginal]
# gpg:                 aka "Samuel Thibault <samuel.thibault@gnu.org>" [unknown]
# gpg:                 aka "Samuel Thibault <samuel.thibault@inria.fr>" [marginal]
# gpg:                 aka "Samuel Thibault <samuel.thibault@labri.fr>" [marginal]
# gpg:                 aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" [marginal]
# gpg:                 aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" [unknown]
# 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: 5ED9 E856 F7D6 C6EA F511  67A1 8D35 C355 720B BAFD

* remotes/thibault/tags/samuel-thibault:
  slirp: Allow non-local DNS address when restrict is off

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2019-10-08 11:00:19 +01:00
commit ce701584c5

View File

@ -456,7 +456,7 @@ static int net_slirp_init(NetClientState *peer, const char *model,
error_setg(errp, "Failed to parse DNS");
return -1;
}
if ((dns.s_addr & mask.s_addr) != net.s_addr) {
if (restricted && (dns.s_addr & mask.s_addr) != net.s_addr) {
error_setg(errp, "DNS doesn't belong to network");
return -1;
}
@ -522,7 +522,7 @@ static int net_slirp_init(NetClientState *peer, const char *model,
error_setg(errp, "Failed to parse IPv6 DNS");
return -1;
}
if (!in6_equal_net(&ip6_prefix, &ip6_dns, vprefix6_len)) {
if (restricted && !in6_equal_net(&ip6_prefix, &ip6_dns, vprefix6_len)) {
error_setg(errp, "IPv6 DNS doesn't belong to network");
return -1;
}