Return-Path: <owner-VMS-SSH@alpha.sggw.waw.pl>
Received: from alpha.sggw.waw.pl (148.81.184.5) by nic.lp.se (MX V5.1-X VnHj)
          with ESMTP for <levitte@LP.SE>; Tue, 1 Jun 1999 21:25:30 +0200
X-Listname: SSH for VMS Discussion List <VMS-SSH@alpha.sggw.waw.pl>
Received: from PUPGG.PRINCETON.EDU (128.112.84.50) by alpha.sggw.waw.pl (MX
          V5.1-X AnBj) with ESMTP for <VMS-SSH@alpha.sggw.waw.pl>;
          Tue, 1 Jun 1999 21:22:12 +0100
Received: by PUPGG.PRINCETON.EDU (MX V5.1 Vn8h) id 16;
          Tue, 1 Jun 1999 15:20:12 -0400
Date: Tue, 1 Jun 1999 15:20:29 -0500
From: "Edward J. Groth" <groth@PUPGG.PRINCETON.EDU>
Reply-To: VMS-SSH@alpha.sggw.waw.pl
To: VMS-SSH@alpha.sggw.waw.pl
CC: groth@PUPGG.PRINCETON.EDU
Message-ID: <009D8FCA.BF163E17.16@PUPGG.PRINCETON.EDU>
Subject: RE: FISH version 0.6 alpha
List-Subscribe: <mailto:VMS-SSH-request@alpha.sggw.waw.pl?body=subscribe>
List-Unsubscribe: <mailto:VMS-SSH-request@alpha.sggw.waw.pl?body=unsubscribe>

Richard -

> 
> I've placed this version of FISH in ftp://ftp.lp.se/vms/previews/.
> New features is a changed command line syntax to better reflect the way
> rsh works and packet compression (using zlib).
> 
> As far as I can tell, it compiles and works as it should.
> 
> Please help me test it.  Please tell me if there's any file that is
> missing in the distribution (for example if the compilation is
> complaining).
> 
> The distribution is a strictly source dist.  The OpenSSL crypto routines
> do *not* come with this.  On the other hand, the zlib source is included.
> 
> OpenSSL 0.9.3, which is what I linked with this version of FISH, is
> available at http://www.openssl.org/source/.
> 

Here are the problems I've encountered trying to build FISH
0.6alpha on Alpha VMS 7.1, DEC C 5.6, UCX 4.1E7, Netlib 2.2,
OpenSSL 0.9.3. I am using MMS to do the builds.

1. Zillions of warnings that global value (in fishmsg.h) is a language
extension. Add GLOBALEXT to the disabled warnings in the build
file.

2. MMS insists on "compiling" fish.msg rather than fish.c. See
the first log file below. Changed fish.msg to fishmsg.msg.

3. The constant _remque_empty is defined in builtins.h, but is
ifdef'd so it's only defined on VAX. This is shown in the second
log file below. Changing _remque_empty to 2 (it's value in
version 0.5alpha) seems to fix the problem.

4. fish/help has not been updated.

5. fish.hlp still says that /commands is a legal qualifier but it
has been removed from fish_internal.cld.

6. fish will not let me use /mode=output=text unless I specify an
output file. This seems to me to be the obvious way to have
carriage control included in the output of a remote command.
For example, fish/pass=... user@host dir gives an output with
apparently only linefeeds between lines, so successive lines
march across the screen. It turns out that 
fish/pass=.../output=sys$output: user@host dir formats the
listing properly, but this seems to be a non-intuitive way to get
the desired effect. 

(My preference would be to make text, not binary, the default for
output to the terminal, but that's just a preference...)

7. If /compress is used in command mode, fish fails with

Remote version: SSH-1.5-OSU_1.4alpha3
B
%FISH-I-INFO, Exchanging Keys
%FISH-I-INFO, Cipher: blowfish
Logging in as user GROTH
%FISH-F-PTY, unable to allocate pty

8. Also, what is that B up there?

9. Fish compiles and builds on VAX VMS 6.2, DEC C 5.6, UCX 3.3E9,
Netlib 2.2, OpenSSL 0.9.3, and MMS with changes 1-3 above. I did
not try it without the changes.

                                        - Ed


$ if f$environment("CAPTIVE") then exit
$  SET NOVERIFY
$ SET NOVERIFY
$ define/nolog decw$user_defaults sys$common:[sysmgr.decwdefaults]
$! Procedure to make fish in batch
$! 
$  on error then continue
$  set process/name=make_fish
$  set default clulocal:[ssh.client006a.src]
$  mms/ignore=warning
SHOW SYMBOL SSLinclude
  SSLINCLUDE = "SSLINCLUDE:"
SHOW SYMBOL SSLlibrary
  SSLLIBRARY = "SSLLIB:LIBCRYPTO.OLB"
SHOW SYMBOL INTERNAL_*
  INTERNAL_CFLAGS = "/define=FISH_VERSION="""0.6 alpha""""
  INTERNAL_LDFLAGS = ""
MESSAGE /NOLIST/OBJECT=FISH.OBJ FISH.MSG
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB FISH.OBJ
%MMS-W-GWKACTNOUPD, Actions didn't update FISHLIB.OLB(FISH=FISH.OBJ)
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' SSH.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB SSH.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' PACKET.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB PACKET.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' CRC32.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB CRC32.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' 3DES.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB 3DES.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' IDEA.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB IDEA.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' RC4.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB RC4.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' BLOWFISH.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB BLOWFISH.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' DES.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB DES.OBJ
SET COMMAND /OBJECT=FISH_INTERNAL.OBJ  FISH_INTERNAL.CLD
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB FISH_INTERNAL.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' UTIL.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB UTIL.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' LOG.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB LOG.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' VMS.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB VMS.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' USER_INFO.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB USER_INFO.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' FISH-KEYGEN.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB FISH-KEYGEN.OBJ
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' COMPRESS.C
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB COMPRESS.OBJ
message fish.msg /object=fishmsg.obj
If "''F$Search("FISHLIB.OLB")'" .EQS. "" Then LIBRARY/Create FISHLIB.OLB
LIBRARY/REPLACE FISHLIB.OLB FISHMSG.OBJ
set default [-.zlib-1_1_3]
MMS  /MACRO=(__DECC__=1,C_DEB="''ZLIB_DEBUG'")          libz.olb
CC   /prefix=all ADLER32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ADLER32.OBJ
CC   /prefix=all COMPRESS.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB COMPRESS.OBJ
CC   /prefix=all CRC32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB CRC32.OBJ
CC   /prefix=all GZIO.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB GZIO.OBJ
CC   /prefix=all UNCOMPR.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB UNCOMPR.OBJ
CC   /prefix=all DEFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB DEFLATE.OBJ
CC   /prefix=all TREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB TREES.OBJ
CC   /prefix=all ZUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ZUTIL.OBJ
CC   /prefix=all INFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFLATE.OBJ
CC   /prefix=all INFBLOCK.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFBLOCK.OBJ
CC   /prefix=all INFTREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFTREES.OBJ
CC   /prefix=all INFCODES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFCODES.OBJ
CC   /prefix=all INFUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFUTIL.OBJ
CC   /prefix=all INFFAST.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFFAST.OBJ
 libz available
set default [-.src]
copy fishlib.olb [-.BIN-'CPU']
if internal_ldflags - ",VAXCRTL.OPT/OPT" .nes. internal_ldflags then            MMS /Ignore=Warning vaxcrtl.opt
link /exec=fish.exe fishlib/lib /include=(fish),fish.opt/opt,version.opt/opt 'internal_ldflags' /NOTRACEBACK
%LINK-W-NOSUCHMOD, module FISH not found
        in library CLULOCAL:[SSH.CLIENT006A.SRC]FISHLIB.OLB;1
%LINK-W-USRTFR, image CLULOCAL:[SSH.CLIENT006A.SRC]FISH.EXE;1 has no user transfer address
copy fish.exe [-]
runoff fish.rnh
copy fish.hlp [-]
$  exit
  SYSTEM       job terminated at 31-MAY-1999 14:48:55.73

  Accounting information:
  Buffered I/O count:               1442      Peak working set size:       7136
  Direct I/O count:                  660      Peak virtual size:         190400
  Page faults:                       568      Mounted volumes:                0
  Charged CPU time:        0 00:00:01.93      Elapsed time:       0 00:03:01.24



$ if f$environment("CAPTIVE") then exit
$  SET NOVERIFY
$ SET NOVERIFY
$ define/nolog decw$user_defaults sys$common:[sysmgr.decwdefaults]
$! Procedure to make fish in batch
$! 
$  on error then continue
$  set process/name=make_fish
$  set default clulocal:[ssh.client006a.src]
$  mms/ignore=warning
SHOW SYMBOL SSLinclude
  SSLINCLUDE = "SSLINCLUDE:"
SHOW SYMBOL SSLlibrary
  SSLLIBRARY = "SSLLIB:LIBCRYPTO.OLB"
SHOW SYMBOL INTERNAL_*
  INTERNAL_CFLAGS = "/define=FISH_VERSION="""0.6 alpha""""
  INTERNAL_LDFLAGS = ""
@genmsghdr fishmsg.msg fishmsg.h
cc /decc /debug /warning=(disable=(PTRMISMATCH,PREOPTW,GLOBALEXT)) /include=('SSLinclude',[-.zlib-1_1_3]) /prefix=all 'internal_cflags' FISH.C

        || _REMQUE(Free_Queue.head, (void **) &ior) == _remque_empty)
.......................................................^
%CC-E-UNDECLARED, In this statement, "_remque_empty" is not declared.
at line number 1471 in file CLULOCAL:[SSH.CLIENT006A.SRC]FISH.C;1
%MMS-F-ABORT, For target FISH.OBJ, CLI returned abort status: %X10B91262.
$  exit
  SYSTEM       job terminated at 31-MAY-1999 15:05:04.82

  Accounting information:
  Buffered I/O count:               1017      Peak working set size:       6512
  Direct I/O count:                  343      Peak virtual size:         190816
  Page faults:                       561      Mounted volumes:                0
  Charged CPU time:        0 00:00:01.11      Elapsed time:       0 00:00:23.53

--

/----------------------------------------------------------------------\
| Edward J. Groth            | Phone: 609-258-4361   Fax: 609-258-6853 |
| Physics Dept., Jadwin Hall | URL: http://pupgg.princeton.edu/~groth/ |
| Princeton University       | SPAN/HEPNET:  PUPGG::GROTH=44117::GROTH |
| Princeton, NJ 08544        | Internet:     groth@pupgg.princeton.edu |
\----------------------------------------------------------------------/

