Jeff Bailey <[EMAIL PROTECTED]> writes:

> >From a fresh install:
> 
> $ lsh-authorize identity.pub 
> sexp-conv is /usr/local/bin/sexp-conv
> /usr/local/bin/lsh-authorize: type: sexp_conv: not found
> Can't find the sexp_conv program
> $ 

The sexp-conv program was renamed from sexp_conv, a few versions back
(user programs should not have underscore in their names; lsh_keygen
and lsh_writekey should probably be fixed as well sooner or later).
Appearantly, I didn't find all references to the old name. Try this
patch:

diff -u -a -r1.4 lsh-authorize
--- lsh-authorize       2000/06/15 07:01:32     1.4
+++ lsh-authorize       2000/07/31 10:54:12
@@ -41,13 +41,13 @@
 create_dir ~/.lsh/authorized_keys_sha1 0700

 if type sexp-conv ; then
-    SEXP_CONV=sexp_conv
+    SEXP_CONV=sexp-conv
 else
-    SEXP_CONV=./sexp_conv
+    SEXP_CONV=./sexp-conv
 fi

 if ! type $SEXP_CONV ; then
-    echo "Can't find the sexp_conv program"
+    echo "Can't find the sexp-conv program"
     exit 1
 fi

> Solved the problem (I don't know what the `type' command is supposed to 
> do, so I'm not sure how to troubleshoot this best)

type FOO searches for a program named FOO in $PATH. lsh-authorize
looks for sexp-conv in the current directory iff it can't find
sexp-conv in $PATH. An earlier version used

  SEXP_CONV=`PATH=$PATH:. type -path sexp-conv`

but it turned out type -path is a bashism. The if type construction
should work with more or less any /bin/sh.

Hmm, I guess I should really use type sexp-conv >/dev/null. The line

  sexp-conv is /usr/local/bin/sexp-conv

is written by type.

/Niels



Reply via email to