<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#FF0000" alink="#000088">
Kevin, HP-UX 11 does use /dev/ptmx and HAVE_DEV_PTMX&nbsp;is defined when
configure runs on an HP-UX 11.00 64-bit system.&nbsp; The suggested patch
would still result in a broken OpenSSH under 64-bit HP-UX 11.
<p>I believe that the problem is actually in the vhangup(2) implementation
in the HP-UX 11.00 64-bit kernel.&nbsp; It runs without fail on HP-UX 11.00
32-bit and 10.20.&nbsp; Reviewing the vmunix error message:
<p>&nbsp;&nbsp;&nbsp; System call 76 (vhangup) was called in a kernel where
the type of at least one of its arguments is currently unspecified.
<p>leads me to believe that there is a deficiency in the vhangup implementation
in the HP-UX 64-bit kernel itself.&nbsp; It is also worth mentioning that
the vhangup(2) system call is completely undocumented in any man page on
11.00 or 10.20 which I find somewhat suspicious.
<p>Kevin Steves wrote:
<blockquote TYPE=CITE>On Tue, 13 Mar 2001, Quentin Bracken wrote:
<br>: I have encountered a problem with using OpenSSH 2.3.0p1 on 64-bit
HP-UX
<br>: 11.00 systems.&nbsp; This bug does not exhibit itself on any 32-bit
HP-UX
<br>: 11.00 or HP-UX 10.20 systems that I have built 2.3.0p1 on.&nbsp;
OpenSSH
<br>: 2.3.0p1 was built with HPs ANSI C compiler with OpenSSL 0.9.6 and
zlib
<br>: 1.1.3.
<br>:
<br>: The problem is with the call to vhangup(2) in sshd when interactive
<br>: sessions are started.&nbsp; The problem does not occur for non-interactive
<br>: sessions.&nbsp; When vhangup(2) is called, the following error is
sent to
<br>: syslog:
<br>:
<br>: Mar 13 21:14:37 hpux1100 vmunix: System call 76 (vhangup) was called
in
<br>: a kernel where the
<br>: Mar 13 21:14:37 hpux1100 vmunix: type of at least one of its arguments
<br>: is currently
<br>: Mar 13 21:14:37 hpux1100 vmunix: unspecified.&nbsp; This is a problem
that
<br>: must be fixed by
<br>: Mar 13 21:14:37 hpux1100 vmunix: the owner of the system call before
the
<br>: kernel can be
<br>: Mar 13 21:14:37 hpux1100 vmunix: released.&nbsp; The process was
pid 19386
<br>: (sshd).
<p>i submitted a defect report on this in october.
<p>but i believe that for STREAMS ptys the vhangup equivalent is considered
<br>the grantpt(3C) and unlockpt(3C) pair.&nbsp; can someone confirm this?
<p>i propose the following:
<p>Index: configure.in
<br>===================================================================
<br>RCS file: /var/cvs/openssh/configure.in,v
<br>retrieving revision 1.265
<br>diff -u -r1.265 configure.in
<br>--- configure.in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2001/03/14
00:39:46&nbsp;&nbsp;&nbsp;&nbsp; 1.265
<br>+++ configure.in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2001/03/14
17:20:09
<br>@@ -71,7 +71,6 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AC_DEFINE(DISABLE_SHADOW)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AC_DEFINE(IPV4_DEFAULT)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AC_DEFINE(IP_TOS_IS_BROKEN)
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AC_DEFINE(BROKEN_VHANGUP)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AC_DEFINE(NO_X11_UNIX_SOCKETS)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; no_libsocket=1
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; no_libnsl=1
<br>Index: defines.h
<br>===================================================================
<br>RCS file: /var/cvs/openssh/defines.h,v
<br>retrieving revision 1.56
<br>diff -u -r1.56 defines.h
<br>--- defines.h&nbsp;&nbsp; 2001/02/24 00:55:05&nbsp;&nbsp;&nbsp;&nbsp;
1.56
<br>+++ defines.h&nbsp;&nbsp; 2001/03/14 17:20:15
<br>@@ -406,9 +406,9 @@
<br>&nbsp;# endif /* defined(HAVE_XATEXIT) */
<br>&nbsp;#endif /* !defined(HAVE_ATEXIT) &amp;&amp; defined(HAVE_ON_EXIT)
*/
<p>-#if defined(HAVE_VHANGUP) &amp;&amp; !defined(BROKEN_VHANGUP)
<br>+#if defined(HAVE_VHANGUP) &amp;&amp; !defined(HAVE_DEV_PTMX)
<br>&nbsp;#&nbsp; define USE_VHANGUP
<br>-#endif /* defined(HAVE_VHANGUP) &amp;&amp; !defined(BROKEN_VHANGUP)
*/
<br>+#endif /* defined(HAVE_VHANGUP) &amp;&amp; !defined(HAVE_DEV_PTMX)
*/
<p>&nbsp;#ifndef GETPGRP_VOID
<br>&nbsp;# define getpgrp() getpgrp(0)</blockquote>

<p><br>--
<br>Quentin C. Bracken
<br><font color="#999999">UNIX Master Craftsman</font>
<br><font color="#999999">Application Development UNIX Services, Sabre
Inc.</font>
<br><a href="mailto:quentin.bracken@sabre.com">quentin.bracken@sabre.com</a>
<br>&nbsp;
</body>
</html>