Comment 8 for bug 1914117

Revision history for this message
Chris Pinnock (chrispinnock) wrote :

This is NOT a fix but we can get working FTPs again with this patch - narrowing into where the problem is. Looks like the behaviour of this code is different on macOS to other OSes.

--- slirp.c.orig 2021-02-08 21:05:20.000000000 +0000
+++ slirp.c 2021-02-10 11:00:00.000000000 +0000
@@ -621,18 +621,7 @@
              * This will soread as well, so no need to
              * test for SLIRP_POLL_IN below if this succeeds
              */
- if (revents & SLIRP_POLL_PRI) {
- ret = sorecvoob(so);
- if (ret < 0) {
- /* Socket error might have resulted in the socket being
- * removed, do not try to do anything more with it. */
- continue;
- }
- }
- /*
- * Check sockets for reading
- */
- else if (revents &
+ if (revents &
                      (SLIRP_POLL_IN | SLIRP_POLL_HUP | SLIRP_POLL_ERR)) {
                 /*
                  * Check for incoming connections