diff --git a/ddclient.in b/ddclient.in index cbd009a..ec35fad 100755 --- a/ddclient.in +++ b/ddclient.in @@ -3421,9 +3421,8 @@ sub get_ipv6 { ## group_hosts_by ###################################################################### sub group_hosts_by { -##TODO - Update for wantipv4 and wantipv6 my ($hosts, $attributes) = @_; - my %attrs = (map({ ($_ => 1) } @$attributes), 'wantip' => 1); + my %attrs = map({ ($_ => 1) } @$attributes); my @attrs = sort(keys(%attrs)); my %groups = (); for my $h (@$hosts) { @@ -3980,7 +3979,7 @@ sub nic_dyndns2_update { debug("\nnic_dyndns2_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(login password server static custom wildcard mx backupmx) ]); + my %groups = group_hosts_by(\@_, [qw(login password server static custom wildcard mx backupmx wantip)]); my %errors = ( 'badauth' => 'Bad authorization (username or password)', @@ -4275,7 +4274,7 @@ sub nic_noip_update { debug("\nnic_noip_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(login password server static custom wildcard mx backupmx) ]); + my %groups = group_hosts_by(\@_, [qw(login password server static custom wildcard mx backupmx wantip)]); my %errors = ( 'badauth' => 'Invalid username or password', @@ -4622,7 +4621,7 @@ sub nic_zoneedit1_update { debug("\nnic_zoneedit1_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(login password server zone) ]); + my %groups = group_hosts_by(\@_, [qw(login password server zone wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -5709,7 +5708,7 @@ sub nic_godaddy_update { debug("\nnic_godaddy_update --------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(server login password zone) ]); + my %groups = group_hosts_by(\@_, [qw(server login password zone wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -5846,7 +5845,7 @@ sub nic_googledomains_update { debug("\nnic_googledomains_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(server login password) ]); + my %groups = group_hosts_by(\@_, [qw(server login password wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -6026,7 +6025,7 @@ sub nic_nsupdate_update { debug("\nnic_nsupdate_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(login password server zone) ]); + my %groups = group_hosts_by(\@_, [qw(login password server zone wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -6143,7 +6142,7 @@ sub nic_cloudflare_update { debug("\nnic_cloudflare_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(ssh login password server wildcard mx backupmx zone) ]); + my %groups = group_hosts_by(\@_, [qw(ssh login password server wildcard mx backupmx zone wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -6291,7 +6290,7 @@ sub nic_hetzner_update { debug("\nnic_hetzner_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(ssh login password server wildcard mx backupmx zone) ]); + my %groups = group_hosts_by(\@_, [qw(ssh login password server wildcard mx backupmx zone wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -6448,7 +6447,7 @@ sub nic_yandex_update { debug("\nnic_yandex_update -------------------"); ## group hosts with identical attributes together - my %groups = group_hosts_by([ @_ ], [ qw(server login pasword) ]); + my %groups = group_hosts_by(\@_, [qw(server login pasword wantip)]); ## update each set of hosts that had similar configurations for my $sig (keys %groups) { @@ -7339,7 +7338,7 @@ EoEXAMPLE } sub nic_cloudns_update { - my %groups = group_hosts_by([ @_ ], [ qw(dynurl) ]); + my %groups = group_hosts_by(\@_, [qw(dynurl wantip)]); for my $hr (values(%groups)) { my @hosts = @$hr; my $hosts = join(',', @hosts);