openssh portable on FreeBSD i386
mike tancsa
mike at sentex.net
Fri Jun 2 00:54:59 AEST 2023
Hi All,
I am trying to compile OpenSSH portable 9.3p1 on FreeBSD RELENG_13
but on *i386*. With the compiler defaults, it errors out with
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DHAVE_CONFIG_H -c channels.c
-o channels.o
channels.c:2569:12: error: comparison of integers of different signs:
'time_t' (aka 'int') and 'unsigned int' [-Werror,-Wsign-compare]
now >= c->lastused + c->inactive_deadline) {
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
*** Error code 1
Not sure if this is the right approach / patch, but I am able to compile
and run with
--- channels.c.orig 2023-03-15 21:28:19 UTC
+++ channels.c
@@ -2566,7 +2566,12 @@ 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 &&
+ #if defined(__i386__)
+ now >= (time_t) c->lastused + (time_t)
c->inactive_deadline) {
+ #else
now >= c->lastused + c->inactive_deadline) {
+ #endif
+
/* channel closed for inactivity */
verbose("channel %d: closing after %u
seconds "
"of inactivity", c->self,
Is that the right approach, or am I potentially breaking something
somewhere else that also needs a cast ?
tracked at
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271172
for any FreeBSD people
---Mike
More information about the openssh-unix-dev
mailing list