diff --git a/CHANGELIST b/CHANGELIST index 41d6a28..75081d7 100644 --- a/CHANGELIST +++ b/CHANGELIST @@ -1,3 +1,8 @@ +<<<<<<< HEAD +======= +1.4.6c merged @gusson's pull request to add -sshport argument + +>>>>>>> gusson-ssh_port 1.4.6b updated default cipherlist for syncoid to chacha20-poly1305@openssh.com,arcfour - arcfour isn't supported on newer SSH (in Ubuntu Xenial and FreeBSD), chacha20 isn't supported on diff --git a/findoid b/findoid index d975b29..998099e 100755 --- a/findoid +++ b/findoid @@ -11,7 +11,11 @@ use warnings; my $zfs = '/sbin/zfs'; my %args = getargs(@ARGV); +<<<<<<< HEAD my $progversion = '1.4.6b'; +======= +my $progversion = '1.4.6c'; +>>>>>>> gusson-ssh_port if ($args{'version'}) { print "$progversion\n"; exit 0; } diff --git a/sanoid b/sanoid index a803654..2ecff59 100755 --- a/sanoid +++ b/sanoid @@ -4,7 +4,11 @@ # from http://www.gnu.org/licenses/gpl-3.0.html on 2014-11-17. A copy should also be available in this # project's Git repository at https://github.com/jimsalterjrs/sanoid/blob/master/LICENSE. +<<<<<<< HEAD my $version = '1.4.6b'; +======= +my $version = '1.4.6c'; +>>>>>>> gusson-ssh_port use strict; use Config::IniFiles; # read samba-style conf file diff --git a/syncoid b/syncoid index f13b1a7..61c1a17 100755 --- a/syncoid +++ b/syncoid @@ -4,7 +4,11 @@ # from http://www.gnu.org/licenses/gpl-3.0.html on 2014-11-17. A copy should also be available in this # project's Git repository at https://github.com/jimsalterjrs/sanoid/blob/master/LICENSE. +<<<<<<< HEAD my $version = '1.4.6b'; +======= +my $version = '1.4.6c'; +>>>>>>> gusson-ssh_port use strict; use Data::Dumper; @@ -26,6 +30,10 @@ my $zfscmd = '/sbin/zfs'; my $sshcmd = '/usr/bin/ssh'; my $pscmd = '/bin/ps'; my $sshcipher = '-c chacha20-poly1305@openssh.com,arcfour'; +<<<<<<< HEAD +======= +my $sshport = '-p 22'; +>>>>>>> gusson-ssh_port my $pvcmd = '/usr/bin/pv'; my $mbuffercmd = '/usr/bin/mbuffer'; my $sudocmd = '/usr/bin/sudo'; @@ -34,12 +42,15 @@ my $mbufferoptions = '-q -s 128k -m 16M 2>/dev/null'; # being present on remote machines. my $lscmd = '/bin/ls'; +if ( $args{'sshport'} ) { + $sshport = "-p $args{'sshport'}"; +} # figure out if source and/or target are remote. if ( $args{'sshkey'} ) { - $sshcmd = "$sshcmd $sshcipher -i $args{'sshkey'}"; + $sshcmd = "$sshcmd $sshcipher $sshport -i $args{'sshkey'}"; } else { - $sshcmd = "$sshcmd $sshcipher"; + $sshcmd = "$sshcmd $sshcipher $sshport"; } my ($sourcehost,$sourcefs,$sourceisroot) = getssh($rawsourcefs); my ($targethost,$targetfs,$targetisroot) = getssh($rawtargetfs); @@ -254,7 +265,7 @@ sub getargs { my %novaluearg; my %validarg; - push my @validargs, ('debug','nocommandchecks','version','monitor-version','compress','source-bwlimit','target-bwlimit','dumpsnaps','recursive','r','sshkey'); + push my @validargs, ('debug','nocommandchecks','version','monitor-version','compress','source-bwlimit','target-bwlimit','dumpsnaps','recursive','r','sshkey','sshport'); foreach my $item (@validargs) { $validarg{$item} = 1; } push my @novalueargs, ('debug','nocommandchecks','version','monitor-version','dumpsnaps','recursive','r'); foreach my $item (@novalueargs) { $novaluearg{$item} = 1; } @@ -716,6 +727,7 @@ sub getssh { my $rhost; my $isroot; my $socket; + # if we got passed something with an @ in it, we assume it's an ssh connection, eg root@myotherbox if ($fs =~ /\@/) { $rhost = $fs; @@ -726,7 +738,7 @@ sub getssh { if ($remoteuser eq 'root') { $isroot = 1; } else { $isroot = 0; } # now we need to establish a persistent master SSH connection $socket = "/tmp/syncoid-$remoteuser-$rhost-" . time(); - open FH, "$sshcmd -M -S $socket -o ControlPersist=yes $rhost exit |"; + open FH, "$sshcmd -M -S $socket -o ControlPersist=yes $sshport $rhost exit |"; close FH; $rhost = "-S $socket $rhost"; } else {