From: Mikko Rapeli <mikko.rapeli@linaro.org>
To: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Cc: openembedded-core@lists.openembedded.org,
Quentin Schulz <foss+yocto@0leil.net>
Subject: Re: [OE-core] [PATCH v2 1/2] qemurunner.py: support setting slirp host IP address
Date: Thu, 17 Nov 2022 15:17:15 +0200 [thread overview]
Message-ID: <Y3Y0WzcO5XRxLvQo@nuoska> (raw)
In-Reply-To: <5c71519e-8f9e-3402-5f5a-b15d9e4fe384@theobroma-systems.com>
Hi,
On Thu, Nov 17, 2022 at 02:13:01PM +0100, Quentin Schulz wrote:
> Hi Mikko,
>
> On 11/14/22 16:50, Mikko Rapeli wrote:
> > By default host side IP address is not set and qemu listens
> > on all IP addresses on the host machine which is not a good
> > idea when images have root login enabled without password.
> > It make sense to listen only on localhost IP address 127.0.0.1 using
> > config change like:
> >
> > QB_SLIRP_OPT = "-netdev user,id=net0,hostfwd=tcp:127.0.0.1:2222-:22"
> >
> > This config works for qemu itself, but breaks runqemu which tries to
> > parse the host side port number from qemu process command line arguments.
> > So change the runqemu side hostfwd parsing for port number to ignore
> > the host IP address field.
> >
> > Reviewed-by: Quentin Schulz <foss+yocto@0leil.net>
> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > ---
> > meta/lib/oeqa/utils/qemurunner.py | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > v2: improved commit message
> >
> > v1: https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/topic/95016024*173234__;Iw!!OOPJP91ZZw!lmurd9F5r43EHopuJkrpTJZMlC93fI8sXSNgnxmfVSRyTvP6unwa8Wn4-wxgjS9UM6EQUnGK5X8gzyVSyfm3WExF4pLQQuHl0L_BlQ$
> >
> > diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
> > index e602399232..f175f8a1de 100644
> > --- a/meta/lib/oeqa/utils/qemurunner.py
> > +++ b/meta/lib/oeqa/utils/qemurunner.py
> > @@ -401,7 +401,8 @@ class QemuRunner:
> > cmdline = re_control_char.sub(' ', cmdline)
> > try:
> > if self.use_slirp:
> > - tcp_ports = cmdline.split("hostfwd=tcp::")[1]
> > + tcp_ports = cmdline.split("hostfwd=tcp:")[1]
> > + tcp_ports = tcp_ports.split(":")[1]
> > host_port = tcp_ports[:tcp_ports.find('-')]
> > self.ip = "localhost:%s" % host_port
>
> Wondering if we shouldn't also update the self.ip here to display the actual
> ip to use? I assume we just need to extract it from the first tcp_ports. I
> think it should just be tcp_ports.split(":")[0] ? and just need to check if
> it's empty/None in which case we set it to localhost?
>
> What do you think?
Good idea! I'll send a new version.
Cheers,
-Mikko
> Cheers,
> Quentin
prev parent reply other threads:[~2022-11-17 13:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-14 15:50 [PATCH v2 1/2] qemurunner.py: support setting slirp host IP address Mikko Rapeli
2022-11-14 15:50 ` [PATCH 2/2] runqemu: limit slirp host port forwarding to localhost 127.0.0.1 Mikko Rapeli
2022-11-17 13:17 ` [OE-core] " Quentin Schulz
2022-11-17 14:20 ` Mikko Rapeli
2022-11-17 13:13 ` [OE-core] [PATCH v2 1/2] qemurunner.py: support setting slirp host IP address Quentin Schulz
2022-11-17 13:17 ` Mikko Rapeli [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y3Y0WzcO5XRxLvQo@nuoska \
--to=mikko.rapeli@linaro.org \
--cc=foss+yocto@0leil.net \
--cc=openembedded-core@lists.openembedded.org \
--cc=quentin.schulz@theobroma-systems.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox