Merge commit 'dkg/master'
authorJameson Graef Rollins <jrollins@phys.columbia.edu>
Sat, 25 Oct 2008 19:02:54 +0000 (15:02 -0400)
committerJameson Graef Rollins <jrollins@phys.columbia.edu>
Sat, 25 Oct 2008 19:02:54 +0000 (15:02 -0400)
Conflicts:

tests/basic

1  2 
tests/basic

diff --combined tests/basic
index d73e162a0a68b673558e77876c4918102e8ef420,e3cc42eff4faa8515e896b34062519395425d8c0..3f948560bbc0c809c1e6f3db2e4576275ce01928
@@@ -24,7 -24,7 +24,7 @@@ cleanup() 
      # FIXME: stop the sshd process
  
      echo
 -    echo "-- removing temp dir..."
 +    echo "### removing temp dir..."
      rm -rf "$TEMPDIR"
  
      # FIXME: how should we clear out the temporary $VARLIB?
@@@ -42,10 -42,6 +42,10 @@@ export TESTDIR=$(pwd
  
  # make temp dir
  TEMPDIR="$TESTDIR"/tmp
 +if [ -e "$TEMPDIR" ] ; then
 +    echo "tempdir '$TEMPDIR' already exists."
 +    exit 1
 +fi
  mkdir "$TEMPDIR"
  
  # Use the local copy of executables first, instead of system ones.
@@@ -56,9 -52,6 +56,9 @@@ export MONKEYSPHERE_SYSDATADIR="$TEMPDI
  export MONKEYSPHERE_SYSCONFIGDIR="$TEMPDIR"
  export MONKEYSPHERE_SYSSHAREDIR="$TESTDIR"/../src
  export MONKEYSPHERE_MONKEYSPHERE_USER="$USER"
 +export MONKEYSPHERE_CHECK_KEYSERVER=false
 +
 +SSHD_CONFIG="$TEMPDIR"/sshd_config
  export SOCKET="$TEMPDIR"/ssh-socket
  
  ### SERVER TESTS
  mkdir -p -m 750 "$MONKEYSPHERE_SYSDATADIR"/gnupg-host
  mkdir -p -m 700 "$MONKEYSPHERE_SYSDATADIR"/gnupg-authentication
  
 +# add the quick-random option to the gpg host config
 +echo "quick-random" >> "$MONKEYSPHERE_SYSCONFIGDIR"/gnupg-host.conf
 +
  # create a new host key
 -echo "-- generating server key..."
 -echo | monkeysphere-server gen-key --length 1024 --expire 0
 +echo "### generating server key..."
 +echo | monkeysphere-server gen-key --length 1024 --expire 0 testhost
  
  HOSTKEYID=$( monkeysphere-server show-key | tail -n1 | cut -f3 -d\  )
  
  # certify it with the "Admin's Key".
  # (this would normally be done via keyservers)
 -echo "-- certifying server key..."
 +echo "### certifying server key..."
  monkeysphere-server gpg-authentication-cmd "--armor --export $HOSTKEYID" | gpgadmin --import
  gpgadmin --sign-key "$HOSTKEYID"
  
  # indicate that the "Admin's" key is an identity certifier for the
  # host
  
 -echo "-- adding admin as certifier..."
 +echo "### adding admin as certifier..."
  monkeysphere-server add-identity-certifier "$TESTDIR"/home/admin/.gnupg/pubkey.gpg
  
+ # initialize base sshd_config
+ cp etc/ssh/sshd_config "$TEMPDIR"/sshd_config
  # write the sshd_config
- cat <<EOF > "$SSHD_CONFIG"
 -cat <<EOF >> "$TEMPDIR"/sshd_config
++cat <<EOF >> "$SSHD_CONFIG"
  HostKey ${MONKEYSPHERE_SYSDATADIR}/ssh_host_rsa_key
+ AuthorizedKeysFile ${MONKEYSPHERE_SYSDATADIR}/authorized_keys/%u
  EOF
  
 -# launch sshd with the new host key.
 -echo "-- starting sshd..."
 -socat EXEC:'/usr/sbin/sshd -f '"$TEMPDIR"/sshd_config' -i -d -d -d -D -e' "UNIX-LISTEN:${TEMPDIR/socket}" &
 +# launch test sshd with the new host key.
 +echo "### starting sshd..."
 +socat EXEC:'/usr/sbin/sshd -f '"$SSHD_CONFIG"' -i -d -d -d -D -e' "UNIX-LISTEN:${SOCKET}" &
  
  
  ### TESTUSER TESTS
  cp -r "$TESTDIR"/home/testuser "$TEMPDIR"/
  
  # generate an auth subkey for the test user
 -echo "-- generating key for testuser..."
 +echo "### generating key for testuser..."
  MONKEYSPHERE_GNUPGHOME="$TEMPDIR"/testuser/.gnupg \
      monkeysphere gen-subkey --expire 0
  
 -# connect to sample sshd host key, using monkeysphere to verify the
 -# identity before connection.
 -
 -## FIXME: implement!
 +# connect to test sshd, using monkeysphere to verify the identity
 +# before connection.
 +echo "### connecting to sshd socket..."
 +PROXY_COMMAND="monkeysphere-ssh-proxycommand --no-connect %h && socat STDIO UNIX:${SOCKET}"
 +ssh -oProxyCommand="$PROXY_COMMAND" testhost
  
  # create a new client side key, certify it with the "CA", use it to
  # log in.
  
  ## FIXME: implement!
 -