Index: security/openssh-portable/Makefile =================================================================== --- security/openssh-portable/Makefile +++ security/openssh-portable/Makefile @@ -170,6 +170,10 @@ . endif .endif +.if ${ARCH:Mi386} +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-time_t-sign-compare +.endif + .if ${OPENSSLBASE} != "/usr" CONFIGURE_ARGS+= --with-ssl-dir=${OPENSSLBASE} .endif Index: security/openssh-portable/files/extra-patch-time_t-sign-compare =================================================================== --- /dev/null +++ security/openssh-portable/files/extra-patch-time_t-sign-compare @@ -0,0 +1,18 @@ +--- channels.c.orig 2023-02-20 10:41:07 UTC ++++ channels.c +@@ -2558,13 +2558,13 @@ channel_handler(struct ssh *ssh, int table, struct tim + if (table == CHAN_PRE && + c->type == SSH_CHANNEL_OPEN && + c->inactive_deadline != 0 && c->lastused != 0 && +- now >= c->lastused + c->inactive_deadline) { ++ now >= (time_t)(c->lastused + c->inactive_deadline)) { + /* channel closed for inactivity */ + verbose("channel %d: closing after %u seconds " + "of inactivity", c->self, + c->inactive_deadline); + channel_force_close(ssh, c, 1); +- } else if (c->notbefore <= now) { ++ } else if ((time_t)c->notbefore <= now) { + /* Run handlers that are not paused. */ + (*ftab[c->type])(ssh, c); + /* inactivity timeouts must interrupt poll() */