]> granicus.if.org Git - curl/commitdiff
tests/sshserver.pl: use RSA instead of DSA for host auth
authorKamil Dudka <kdudka@redhat.com>
Tue, 23 Feb 2016 09:31:52 +0000 (10:31 +0100)
committerKamil Dudka <kdudka@redhat.com>
Tue, 23 Feb 2016 10:55:18 +0000 (11:55 +0100)
DSA is no longer supported by OpenSSH 7.0, which causes all SCP/SFTP
test cases to be skipped.  Using RSA for host authentication works with
both old and new versions of OpenSSH.

Reported-by: Karlson2k
Closes #676

tests/.gitignore
tests/sshhelp.pm
tests/sshserver.pl

index 224e1923cd7f1669621526f3225cb2819d69bbed..dc45f03a8c7df61c5eaf8bed400a421cc8177050 100644 (file)
@@ -3,8 +3,8 @@ configurehelp.pm
 curl_client_key
 curl_client_key.pub
 curl_client_knownhosts
-curl_host_dsa_key
-curl_host_dsa_key.pub
+curl_host_rsa_key
+curl_host_rsa_key.pub
 curl_sftp_cmds
 curl_sftp_config
 curl_ssh_config
index b6294bad7e7ca592b089ccc4abfd15b0294f4230..c5618a109464e87de5d6a9a1dd2b2b625703df99 100644 (file)
@@ -120,8 +120,8 @@ $sshlog          = undef;                    # ssh client log file
 $sftplog         = undef;                    # sftp client log file
 $sftpcmds        = 'curl_sftp_cmds';         # sftp client commands batch file
 $knownhosts      = 'curl_client_knownhosts'; # ssh knownhosts file
-$hstprvkeyf      = 'curl_host_dsa_key';      # host private key file
-$hstpubkeyf      = 'curl_host_dsa_key.pub';  # host public key file
+$hstprvkeyf      = 'curl_host_rsa_key';      # host private key file
+$hstpubkeyf      = 'curl_host_rsa_key.pub';  # host public key file
 $cliprvkeyf      = 'curl_client_key';        # client private key file
 $clipubkeyf      = 'curl_client_key.pub';    # client public key file
 
index 77554643f69f10565069e89c99da0ea367663337..b0c0229b6c3aaf1630cc73bcaa105302ba6783cc 100755 (executable)
@@ -371,12 +371,12 @@ if((! -e $hstprvkeyf) || (! -s $hstprvkeyf) ||
     # Make sure all files are gone so ssh-keygen doesn't complain
     unlink($hstprvkeyf, $hstpubkeyf, $cliprvkeyf, $clipubkeyf);
     logmsg 'generating host keys...' if($verbose);
-    if(system "\"$sshkeygen\" -q -t dsa -f $hstprvkeyf -C 'curl test server' -N ''") {
+    if(system "\"$sshkeygen\" -q -t rsa -f $hstprvkeyf -C 'curl test server' -N ''") {
         logmsg 'Could not generate host key';
         exit 1;
     }
     logmsg 'generating client keys...' if($verbose);
-    if(system "\"$sshkeygen\" -q -t dsa -f $cliprvkeyf -C 'curl test client' -N ''") {
+    if(system "\"$sshkeygen\" -q -t rsa -f $cliprvkeyf -C 'curl test client' -N ''") {
         logmsg 'Could not generate client key';
         exit 1;
     }
@@ -729,11 +729,11 @@ if(system "\"$sshd\" -t -f $sshdconfig > $sshdlog 2>&1") {
 if((! -e $knownhosts) || (! -s $knownhosts)) {
     logmsg 'generating ssh client known hosts file...' if($verbose);
     unlink($knownhosts);
-    if(open(DSAKEYFILE, "<$hstpubkeyf")) {
-        my @dsahostkey = do { local $/ = ' '; <DSAKEYFILE> };
-        if(close(DSAKEYFILE)) {
+    if(open(RSAKEYFILE, "<$hstpubkeyf")) {
+        my @rsahostkey = do { local $/ = ' '; <RSAKEYFILE> };
+        if(close(RSAKEYFILE)) {
             if(open(KNOWNHOSTS, ">$knownhosts")) {
-                print KNOWNHOSTS "$listenaddr ssh-dss $dsahostkey[1]\n";
+                print KNOWNHOSTS "$listenaddr ssh-rsa $rsahostkey[1]\n";
                 if(!close(KNOWNHOSTS)) {
                     $error = "Error: cannot close file $knownhosts";
                 }