FreeBSD Bugzilla – Attachment 179730 Details for
Bug 216526
dns/ddclient depends on deprecated port converters/p5-JSON-Any
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
replace JSON::Any with JSON::PP
patch-ddclient (text/plain), 3.69 KB, created by
mjl
on 2017-02-07 22:10:09 UTC
(
hide
)
Description:
replace JSON::Any with JSON::PP
Filename:
MIME Type:
Creator:
mjl
Created:
2017-02-07 22:10:09 UTC
Size:
3.69 KB
patch
obsolete
>diff -uNr ddclient.orig/Makefile ddclient/Makefile >--- ddclient.orig/Makefile 2016-05-03 03:56:34.000000000 +1200 >+++ ddclient/Makefile 2017-02-08 11:02:43.625508000 +1300 >@@ -3,6 +3,7 @@ > > PORTNAME= ddclient > PORTVERSION= 3.8.3 >+PORTREVISION= 1 > CATEGORIES= dns > MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} > >@@ -18,7 +19,7 @@ > > USE_RC_SUBR= ${PORTNAME} > >-RUN_DEPENDS= p5-JSON-Any>=0:converters/p5-JSON-Any >+RUN_DEPENDS= p5-JSON-PP>=0:converters/p5-JSON-PP > > SUB_FILES= pkg-message ddclient_force > >diff -uNr ddclient.orig/files/patch-ddclient ddclient/files/patch-ddclient >--- ddclient.orig/files/patch-ddclient 2015-12-18 06:19:48.000000000 +1300 >+++ ddclient/files/patch-ddclient 2017-02-08 11:00:52.000000000 +1300 >@@ -1,14 +1,14 @@ >---- ./ddclient.orig 2011-07-25 19:41:39.000000000 -0700 >-+++ ./ddclient 2011-07-25 19:41:48.000000000 -0700 >-@@ -19,6 +18,7 @@ >+--- ddclient.orig 2015-05-30 21:37:38.000000000 +1200 >++++ ddclient 2017-02-08 11:00:23.812579000 +1300 >+@@ -25,6 +25,7 @@ > use Getopt::Long; > use Sys::Hostname; > use IO::Socket; > +use POSIX 'setsid'; > >- my ($VERSION) = q$Revision: 157 $ =~ /(\d+)/; >+ # my ($VERSION) = q$Revision: 184 $ =~ /(\d+)/; > >-@@ -29,9 +29,9 @@ >+@@ -35,9 +36,9 @@ > $program =~ s/d$//; > my $now = time; > my $hostname = hostname(); >@@ -21,7 +21,7 @@ > my $msgs = ''; > my $last_msgs = ''; > >-@@ -39,7 +39,7 @@ >+@@ -45,7 +46,7 @@ > local $file = ''; > local $lineno = ''; > >@@ -30,7 +30,7 @@ > > sub T_ANY {'any'}; > sub T_STRING {'string'}; >-@@ -678,6 +678,9 @@ >+@@ -743,6 +744,9 @@ > ; > } elsif (opt('daemon')) { > $SIG{'CHLD'} = 'IGNORE'; >@@ -40,7 +40,7 @@ > my $pid = fork; > if ($pid < 0) { > print STDERR "${program}: can not fork ($!)\n"; >-@@ -685,10 +688,9 @@ >+@@ -750,10 +754,9 @@ > } elsif ($pid) { > exit 0; > } >@@ -53,7 +53,7 @@ > } > > # write out the pid file if we're daemon'ized >-@@ -1478,17 +1480,17 @@ >+@@ -1544,17 +1547,17 @@ > ## execute the command. > local *FD; > if (! open(FD, $cmd)) { >@@ -75,7 +75,24 @@ > > } else { > $ok = 1; >-@@ -1878,6 +1880,7 @@ >+@@ -1878,13 +1881,13 @@ >+ ## load_json_support >+ ###################################################################### >+ sub load_json_support { >+- my $json_loaded = eval {require JSON::Any}; >++ my $json_loaded = eval {require JSON::PP}; >+ unless ($json_loaded) { >+ fatal(<<"EOM"); >+-Error loading the Perl module JSON::Any needed for cloudflare update. >++Error loading the Perl module JSON::PP needed for cloudflare update. >+ EOM >+ } >+- import JSON::Any; >++ import JSON::PP (qw/decode_json/); >+ } >+ ###################################################################### >+ ## geturl >+@@ -1957,6 +1960,7 @@ > $sd = IO::Socket::SSL->new( > PeerAddr => $peer, > PeerPort => $port, >@@ -83,3 +100,29 @@ > Proto => 'tcp', > MultiHomed => 1, > Timeout => opt('timeout'), >+@@ -4096,9 +4100,9 @@ >+ >+ # Strip header >+ $reply =~ s/^.*?\n\n//s; >+- my $response = JSON::Any->jsonToObj($reply); >+- if ($response->{result} eq 'error') { >+- failed ("%s", $response->{msg}); >++ my $response = eval {decode_json($reply)}; >++ if (!defined $response || !defined $response->{result}) { >++ failed ("invalid json or result."); >+ next; >+ } >+ >+@@ -4128,9 +4132,9 @@ >+ >+ # Strip header >+ $reply =~ s/^.*?\n\n//s; >+- $response = JSON::Any->jsonToObj($reply); >+- if ($response->{result} eq 'error') { >+- failed ("%s", $response->{msg}); >++ $response = eval {decode_json($reply)}; >++ if (!defined $response || !defined $response->{result}) { >++ failed ("invalid json or result."); >+ } else { >+ success ("%s -- Updated Successfully to %s", $domain, $ip); >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 216526
: 179730