diff --git a/ChangeLog b/ChangeLog index e77dd1f4d..f9db29ad5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +20050821 + - (dtucker) [configure.ac defines.h includes.h sftp.c] Add support for + LynxOS, patch from Olli Savia (ops at iki.fi). ok djm@ + 20050816 - (djm) [ttymodes.c] bugzilla #1054: Fix encoding of _POSIX_VDISABLE, from Jacob Nevins; ok dtucker@ @@ -2941,4 +2945,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.3874 2005/08/16 11:32:09 djm Exp $ +$Id: ChangeLog,v 1.3875 2005/08/22 22:06:55 dtucker Exp $ diff --git a/configure.ac b/configure.ac index 849112829..619a4e76a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.286 2005/08/16 00:48:41 tim Exp $ +# $Id: configure.ac,v 1.287 2005/08/22 22:06:56 dtucker Exp $ # # Copyright (c) 1999-2004 Damien Miller # @@ -555,6 +555,12 @@ mips-sony-bsd|mips-sony-newsos4) AC_DEFINE(NEED_SETPRGP, [], [Need setpgrp to acquire controlling tty]) AC_DEFINE(HAVE_SYS_SYSLOG_H, 1, [Force use of sys/syslog.h on Ultrix]) ;; + +*-*-lynxos) + CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" + AC_DEFINE(MISSING_HOWMANY) + AC_DEFINE(BROKEN_SETVBUF, 1, [LynxOS has broken setvbuf() implementation]) + ;; esac # Allow user to specify flags diff --git a/defines.h b/defines.h index 39d18e3d3..3103f8743 100644 --- a/defines.h +++ b/defines.h @@ -25,7 +25,7 @@ #ifndef _DEFINES_H #define _DEFINES_H -/* $Id: defines.h,v 1.123 2005/08/10 11:52:36 dtucker Exp $ */ +/* $Id: defines.h,v 1.124 2005/08/22 22:06:56 dtucker Exp $ */ /* Constants */ @@ -579,6 +579,23 @@ struct winsize { # define SSH_SYSFDMAX 10000 #endif +#if defined(__Lynx__) + /* + * LynxOS defines these in param.h which we do not want to include since + * it will also pull in a bunch of kernel definitions. + */ +# define ALIGNBYTES (sizeof(int) - 1) +# define ALIGN(p) (((unsigned)p + ALIGNBYTES) & ~ALIGNBYTES) + /* Missing prototypes on LynxOS */ + int snprintf (char *, size_t, const char *, ...); + int mkstemp (char *); + char *crypt (const char *, const char *); + int seteuid (uid_t); + int setegid (gid_t); + char *mkdtemp (char *); + int rresvport_af (int *, sa_family_t); + int innetgr (const char *, const char *, const char *, const char *); +#endif /* * Define this to use pipes instead of socketpairs for communicating with the diff --git a/includes.h b/includes.h index 89ae26d06..9408fec9a 100644 --- a/includes.h +++ b/includes.h @@ -21,6 +21,7 @@ static /**/const char *const rcsid[] = { (const char *)rcsid, "\100(#)" msg } #include "config.h" +#include #include #include #include diff --git a/sftp.c b/sftp.c index 9f6c88fb5..f98ed7d27 100644 --- a/sftp.c +++ b/sftp.c @@ -1295,7 +1295,7 @@ interactive_loop(int fd_in, int fd_out, char *file1, char *file2) xfree(dir); } -#if HAVE_SETVBUF +#if defined(HAVE_SETVBUF) && !defined(BROKEN_SETVBUF) setvbuf(stdout, NULL, _IOLBF, 0); setvbuf(infile, NULL, _IOLBF, 0); #else