]> andersk Git - gssapi-openssh.git/commitdiff
Initial revision
authorbasney <basney>
Tue, 1 Apr 2008 15:24:22 +0000 (15:24 +0000)
committerbasney <basney>
Tue, 1 Apr 2008 15:24:22 +0000 (15:24 +0000)
openssh/regress/localcommand.sh [new file with mode: 0644]
openssh/regress/putty-ciphers.sh [new file with mode: 0644]
openssh/regress/putty-kex.sh [new file with mode: 0644]
openssh/regress/putty-transfer.sh [new file with mode: 0644]
openssh/regress/ssh2putty.sh [new file with mode: 0755]
openssh/sftp-server-main.c [new file with mode: 0644]

diff --git a/openssh/regress/localcommand.sh b/openssh/regress/localcommand.sh
new file mode 100644 (file)
index 0000000..feade7a
--- /dev/null
@@ -0,0 +1,15 @@
+#      $OpenBSD: localcommand.sh,v 1.1 2007/10/29 06:57:13 dtucker Exp $
+#      Placed in the Public Domain.
+
+tid="localcommand"
+
+echo 'PermitLocalCommand yes' >> $OBJ/ssh_proxy
+echo 'LocalCommand echo foo' >> $OBJ/ssh_proxy
+
+for p in 1 2; do
+       verbose "test $tid: proto $p localcommand"
+       a=`${SSH} -F $OBJ/ssh_proxy -$p somehost true`
+       if [ "$a" != "foo" ] ; then
+               fail "$tid proto $p"
+       fi
+done
diff --git a/openssh/regress/putty-ciphers.sh b/openssh/regress/putty-ciphers.sh
new file mode 100644 (file)
index 0000000..e9196d6
--- /dev/null
@@ -0,0 +1,30 @@
+#      $OpenBSD: putty-ciphers.sh,v 1.1 2007/12/21 04:13:53 djm Exp $
+#      Placed in the Public Domain.
+
+tid="putty ciphers"
+
+DATA=/bin/ls
+COPY=${OBJ}/copy
+
+set -e
+
+if test "x$REGRESS_INTEROP_PUTTY" != "xyes" ; then
+       fatal "putty interop tests not enabled"
+fi
+
+for c in aes blowfish 3des arcfour ; do
+       verbose "$tid: cipher $c"
+       cp ${OBJ}/.putty/sessions/localhost_proxy \
+           ${OBJ}/.putty/sessions/cipher_$c
+       echo "Cipher=$c" >> ${OBJ}/.putty/sessions/cipher_$c
+
+       rm -f ${COPY}
+       env HOME=$PWD ${PLINK} -load cipher_$c -batch -i putty.rsa2 \
+           127.0.0.1 cat ${DATA} > ${COPY}
+       if [ $? -ne 0 ]; then
+               fail "ssh cat $DATA failed"
+       fi
+       cmp ${DATA} ${COPY}             || fail "corrupted copy"
+done
+rm -f ${COPY}
+
diff --git a/openssh/regress/putty-kex.sh b/openssh/regress/putty-kex.sh
new file mode 100644 (file)
index 0000000..d0437c6
--- /dev/null
@@ -0,0 +1,27 @@
+#      $OpenBSD: putty-kex.sh,v 1.1 2007/12/21 04:13:53 djm Exp $
+#      Placed in the Public Domain.
+
+tid="putty KEX"
+
+DATA=/bin/ls
+COPY=${OBJ}/copy
+
+set -e
+
+if test "x$REGRESS_INTEROP_PUTTY" != "xyes" ; then
+       fatal "putty interop tests not enabled"
+fi
+
+for k in dh-gex-sha1 dh-group1-sha1 dh-group14-sha1 ; do
+       verbose "$tid: kex $k"
+       cp ${OBJ}/.putty/sessions/localhost_proxy \
+           ${OBJ}/.putty/sessions/kex_$k
+       echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k
+
+       env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 \
+           127.0.0.1 true
+       if [ $? -ne 0 ]; then
+               fail "KEX $k failed"
+       fi
+done
+
diff --git a/openssh/regress/putty-transfer.sh b/openssh/regress/putty-transfer.sh
new file mode 100644 (file)
index 0000000..0a4f34e
--- /dev/null
@@ -0,0 +1,45 @@
+#      $OpenBSD: putty-transfer.sh,v 1.1 2007/12/21 04:13:53 djm Exp $
+#      Placed in the Public Domain.
+
+tid="putty transfer data"
+
+DATA=/bin/ls
+COPY=${OBJ}/copy
+
+set -e
+
+if test "x$REGRESS_INTEROP_PUTTY" != "xyes" ; then
+       fatal "putty interop tests not enabled"
+fi
+
+# XXX support protocol 1 too
+for p in 2; do
+       for c in 0 1 ; do 
+       verbose "$tid: proto $p compression $c"
+               rm -f ${COPY}
+               cp ${OBJ}/.putty/sessions/localhost_proxy \
+                   ${OBJ}/.putty/sessions/compression_$c
+               echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k
+               env HOME=$PWD ${PLINK} -load compression_$c -batch \
+                   -i putty.rsa$p 127.0.0.1 cat ${DATA} > ${COPY}
+               if [ $? -ne 0 ]; then
+                       fail "ssh cat $DATA failed"
+               fi
+               cmp ${DATA} ${COPY}             || fail "corrupted copy"
+       
+               for s in 10 100 1k 32k 64k 128k 256k; do
+                       trace "proto $p compression $c dd-size ${s}"
+                       rm -f ${COPY}
+                       dd if=$DATA obs=${s} 2> /dev/null | \
+                               env HOME=$PWD ${PLINK} -load compression_$c \
+                                   -batch -i putty.rsa$p 127.0.0.1 \
+                                   "cat > ${COPY}"
+                       if [ $? -ne 0 ]; then
+                               fail "ssh cat $DATA failed"
+                       fi
+                       cmp $DATA ${COPY}       || fail "corrupted copy"
+               done
+       done
+done
+rm -f ${COPY}
+
diff --git a/openssh/regress/ssh2putty.sh b/openssh/regress/ssh2putty.sh
new file mode 100755 (executable)
index 0000000..dfdeeff
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+if test "x$1" = "x" -o "x$2" = "x" -o "x$3" = "x" ; then
+       echo "Usage: ssh2putty hostname port ssh-private-key"
+       exit 1
+fi
+
+HOST=$1
+PORT=$2
+KEYFILE=$3
+
+# XXX - support DSA keys too
+if grep "BEGIN RSA PRIVATE KEY" $KEYFILE >/dev/null 2>&1 ; then
+       :
+else
+       echo "Unsupported private key format"
+       exit 1
+fi
+
+public_exponent=`
+       openssl rsa -noout -text -in $KEYFILE | grep ^publicExponent | 
+       sed 's/.*(//;s/).*//'
+`
+test $? -ne 0 && exit 1
+
+modulus=`
+       openssl rsa -noout -modulus -in $KEYFILE | grep ^Modulus= | 
+       sed 's/^Modulus=/0x/' | tr A-Z a-z
+`
+test $? -ne 0 && exit 1
+
+echo "rsa2@$PORT:$HOST $public_exponent,$modulus"
+
diff --git a/openssh/sftp-server-main.c b/openssh/sftp-server-main.c
new file mode 100644 (file)
index 0000000..2b14569
--- /dev/null
@@ -0,0 +1,50 @@
+/* $OpenBSD: sftp-server-main.c,v 1.3 2008/03/26 23:44:41 djm Exp $ */
+/*
+ * Copyright (c) 2008 Markus Friedl.  All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include "includes.h"
+
+#include <sys/types.h>
+#include <pwd.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "log.h"
+#include "sftp.h"
+#include "misc.h"
+
+void
+cleanup_exit(int i)
+{
+       sftp_server_cleanup_exit(i);
+}
+
+int
+main(int argc, char **argv)
+{
+       struct passwd *user_pw;
+
+       /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */
+       sanitise_stdfd();
+
+       if ((user_pw = getpwuid(getuid())) == NULL) {
+               fprintf(stderr, "No user found for uid %lu", (u_long)getuid());
+               return 1;
+       }
+
+       return (sftp_server_main(argc, argv, user_pw));
+}
This page took 0.048639 seconds and 5 git commands to generate.