-
Notifications
You must be signed in to change notification settings - Fork 14
/
ChangeLog
1695 lines (1405 loc) · 57.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Perl Module RPC::XML Change History
Revision history for the Perl extension module
RPC::XML. This is an implementation of the
XML-RPC standard as described at
http://www.xmlrpc.com. This implementation also
permits some minor extensions to the base
protocol in terms of supporting HTTP/1.1 and
allowing choice of character-set encodings for
XML messages.
0.76 Saturday August 20, 2011, 06:30:00 PM -0700
* etc/make_method
* lib/RPC/XML/Server.pm
RT #70258: Fixed typos in docs pointed out by Debian team.
* lib/Apache/RPC/Server.pm
Better version of the fix for infinite loops. This is the patch
originally suggested by the Eric Cholet, who found the bug.
* t/00_load.t
RT #70280: This test was still testing RPC/XML/Method.pm.
Rewrote to remove that but include the (forgotten) XMLLibXML.pm
module. That test has to be conditional on the presence of
XML::LibXML.
* Makefile.PL
* t/51_client_with_host_header.t
Clean up test suite to work with older Test::More. Also specify
a minimum Test::More that supports subtest(). This is also a
part of RT #70280.
* t/11_base64_fh.t
* t/20_xml_parser.t
* t/21_xml_libxml.t
* t/40_server.t
These tests had failures when run as root. Permissions-based
negative tests were incorrectly passing.
* t/10_data.t
Moved the 64-bit "TODO" tests to a SKIP block. Non-64-bit
systems will skip, rather than fail, these tests.
* lib/RPC/XML/Server.pm
RT #65616: Fix for slow methods killing servers. Applied and
modified patch from person who opened the ticket.
* MANIFEST
* lib/RPC/XML.pm
* t/10_data.t
* t/14_datetime_iso8601.t (added)
RT #55628: Improve flexibility of date parsing. This adds the
ability to pass any ISO 8601 string to the
RPC::XML::datetime_iso8601 constructor.
0.75 Saturday August 13, 2011, 05:30:00 PM -0700
* MANIFEST
Somehow, t/13_no_deep_recursion.t never got added to MANIFEST.
* lib/RPC/XML/Parser/XMLLibXML.pm
RT #65154: Fixed a cut/paste error in an error message.
* lib/RPC/XML/Client.pm
* t/51_client_with_host_header.t (added)
RT #68792: Merge pull request #2 from dragon3/master
(https://github.com/dragon3). Allow setting of "Host" header,
and test suite for it.
* MANIFEST
* t/51_client_with_host_header.t
Added new test suite to MANIFEST, fixed spelling. Also added
"plan tests" line to the test suite.
* lib/RPC/XML/Parser/XMLLibXML.pm
* t/20_xml_parser.t
* t/21_xml_libxml.t
* t/41_server_hang.t
Merge pull request #3 from yannk/master
(https://github.com/yannk). Expat parser subclass is protected
against ext ent attack, libxml isn't.
* t/41_server_hang.t
Undo a change to this suite from yannk's pull.
* etc/make_method
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
More perlcritic-driven clean-up. This is mostly POD sections,
but also includes heavy re-working of etc/make_method and parts
of lib/RPC/XML.pm.
* lib/RPC/XML/Parser/XMLLibXML.pm
* t/21_xml_libxml.t
Fixed external entity handling on MacOS. Also made small change
to the test suite to be cleaner.
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
Took out warnings on external entities blocking. Now it blocks
silently. Also cleaned up some docs.
* t/15_serialize.t
Additions to increase code coverage in XML.pm.
* lib/RPC/XML.pm
Turns out this wasn't exporting RPC_I8.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
* xt/02_pod_coverage.t
Made 5.8.8 the new minimum-required perl. Also dropped the
utf8_downgrade hack, which affected an xt test.
* lib/RPC/XML/Client.pm
Improved arguments-checking in send_request.
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/Server.pm
Fixed error-cases in usage of File::Temp->new().
File::Temp::new croaks on errors, doesn't return undef like I
thought.
* MANIFEST
* lib/RPC/XML/Function.pm (deleted)
* lib/RPC/XML/Method.pm (deleted)
* lib/RPC/XML/Procedure.pm
Roll Method.pm and Function.pm into Procedure.pm. Remove
Method.pm and Function.pm from distro.
* lib/RPC/XML/Parser/XMLLibXML.pm
Fixed regexp for methodName validation.
* t/10_data.t
* t/11_base64_fh.t
* t/12_nil.t
* t/15_serialize.t
* t/20_xml_parser.t
* t/21_xml_libxml.t
* t/25_parser_negative.t (added)
* t/29_parserfactory.t
* t/30_method.t
* t/40_server.t
* t/40_server_xmllibxml.t
* t/50_client.t
* t/BadParserClass.pm (added)
* t/meth_good_1.xpl
* t/namespace3.xpl
* t/svsm_text.b64 (added)
* t/util.pl
First round of Devel::Cover-inspired improvements. These are
the changes to the test suites to increase coverage of the code.
* lib/RPC/XML.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Fixes and such from Devel::Cover analysis.
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
* t/30_method.t
* t/meth_good_1.xpl
* t/meth_good_2.xpl (added)
* t/meth_good_3.xpl (added)
Fixes for file-based method loading/reloading. New tests in the
suite, and re-working of the ugliest hacky part of this package.
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
* t/30_method.t
* t/meth_good_3.xpl
RPC::XML::Procedure test-coverage improvement. Also removed
some unneeded code.
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
* t/30_method.t
* t/40_server.t
Last round of RPC::XML::Procedure test coverage. This is mostly
in t/40_server.t, though some bugs were found and addressed in
the modules and in t/30_method.t.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Documentation clean-up and update.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Changes from new Perl::Critic::Bangs policies.
* xt/01_pod.t
* xt/02_pod_coverage.t
* xt/03_meta.t
* xt/04_minimumversion.t
* xt/05_critic.t
Adjustments to reflect moving from t to xt. Also made changes
to xt/02_pod_coverage.t to reflect changes to modules.
* lib/RPC/XML/Client.pm
Removed some error checks that can never fail.
* lib/RPC/XML/Server.pm
* t/40_server.t
Code-coverage-driven changes and added tests.
* etc/make_method
Fixes from new Perl::Critic::Bangs policies.
* lib/RPC/XML/Server.pm
Removed usage of AutoLoader completely.
* lib/RPC/XML/Server.pm
* t/40_server.t
* xt/02_pod_coverage.t
Removed some dead code and better did the aliases. This
required a change in t/40_server.t for a private sub that no
longer exists. Also updated xt/02_pod_coverage.t for private
subs that have no pod.
* lib/Apache/RPC/Server.pm
RT #67694: Fix a potential infinite-loop condition.
0.74 Sunday January 23, 2011, 12:50:00 PM -0800
* t/90_rt54183_sigpipe.t
RT #56800: Make this suite skip all tests on Windows platforms.
* lib/Apache/RPC/Server.pm
Clean up some run-time "use of undefined value" messages.
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* t/90_rt58323_push_parser.t (added)
RT #58323: Started as making the parser interfaces correctly
report errors when passed null-length strings or "0" values.
Turned out that the error return interface from XMLLibXML.pm
was not consistent with the rest of the system, so fixed that
as well.
* lib/RPC/XML/Server.pm
* t/40_server.t
RT #58240: Applied a patch from Martijn van de Streek that adds
access to the HTTP::Request object to called method code.
* lib/RPC/XML.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* t/90_rt58065_allow_nil.t (added)
RT #58065: Allow the parsing of <nil /> tags when they are
encountered, even if $RPC::XML::ALLOW_NIL is not set. Only
limit the generation of these tags.
* lib/RPC/XML/Server.pm
* t/41_server_hang.t
This test sporadically fails, so enhance the error message for
more info. Also alter the test slightly, hoping it fixes the
random failures.
* etc/make_method
Applied perlcritic to the make_method tool.
* lib/XML/RPC.pm
* t/10_data.t
* t/20_xml_parser.t
* t/21_xml_libxml.t
RT #62916: Previous adjustments to the dateTime.iso8601
stringification caused it to no longer fit the XML-RPC spec.
Fixed.
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Server.pm
Used warnings::unused to find unused variables not found by
Perl::Critic.
* t/10_data.t
Realized I had no boundary-tests for ints in smart_encode().
This revealed some problems with i8 values on my 32-bit system.
Don't want to introduce dependency on BigInt right now, so
marked those tests "TODO".
0.73 Tuesday March 16, 2010, 10:45:00 PM -0700
* MANIFEST
* t/28_parser_bugs_50013.t (deleted)
* t/90_rt50013_parser_bugs.t (added)
Rename of t/28_parser_bugs_50013.t to fit more universal scheme
for test suites that directly address specific RT bugs.
* lib/RPC/XML/Server.pm
* t/90_rt54183_sigpipe.t (added)
RT #54183: Provide handling of SIGPIPE when sending the
response to the client, in case they've terminated the
connection.
* MANIFEST
Forgot to add the new test suite to MANIFEST.
* lib/RPC/XML/Server.pm
Forgot to update the module version number.
* lib/RPC/XML.pm
Fix typo in reftype() call.
* lib/RPC/XML.pm
* t/90_rt54494_blessed_refs.t (added)
RT #54494: Fix handling of blessed references in smart_encode().
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Large-scale code clean-up driven by Perl::Critic. All critic
flags down to severity 1 now removed.
* MANIFEST
Forgot to add t/90_rt54494_blessed_refs.t when it was created.
0.72 Sunday December 13, 2009, 09:45:00 PM -0800
* Makefile.PL
* t/40_server_xmllibxml.t
RT #52662: Fix requirement specification for XML::LibXML.
* lib/RPC/XML.pm
Some more clean-up of the docs, removing a redundant section.
0.71 Monday December 7, 2009, 08:00:00 PM -0800
* MANIFEST
* t/01_pod.t (deleted)
* t/02_pod_coverage.t (deleted)
* t/03_meta.t (deleted)
* t/04_minimumversion.t (deleted)
* t/05_critic.t (deleted)
* xt/01_pod.t (added)
* xt/02_pod_coverage.t (added)
* xt/03_meta.t (added)
* xt/04_minimumversion.t (added)
* xt/05_critic.t (added)
Moved author-only tests to xt/, updated MANIFEST.
* MANIFEST
Add test suite t/28_parser_bugs_50013.t, which was omitted from
last release.
* xt/01_pod.t
* xt/02_pod_coverage.t
* xt/03_meta.t
* xt/04_minimumversion.t
* xt/05_critic.t
Re-engineered the author-only/release tests, since they're no
longer in the t/ directory and thus should not interfere.
0.70 Sunday December 6, 2009, 10:00:00 PM -0800
* lib/RPC/XML.pm
* t/10_data.t
RT #49406: Make Base64 data-type allow zero-length data.
* lib/RPC/XML.pm
* t/10_data.t
Hand-applied a patch (most likely from Bill Moseley) to extend
the construction of dateTime.iso8601 data-types.
* t/40_server.t
Fixed another corner-case for the url() test.
* lib/RPC/XML.pm
Fixed a case from previous work that caused "undef" warnings.
* lib/RPC/XML.pm
* lib/RPC/XML/Parser.pm
* t/28_parser_bugs_50013.t
RT #50013: Restore backwards-compatibility for projects that
use RPC::XML::Parser directly.
* lib/RPC/XML/Procedure.pm
RT #50143: Incorrectly called server_fault() as if it were a
coderef.
* lib/Apache/RPC/Server.pm
Applied patch from Frank Wiegand to fix a POD problem.
* lib/RPC/XML.pm
Some additional regexp issues on dateTime.iso8601, to handle
backwards-compatibility.
* lib/RPC/XML/ParserFactory.pm
Fixed some minor doc errors.
* lib/RPC/XML/Parser/XMLParser.pm
Moved the 'require' of some libraries to the point where they
are first needed, to delay loading until/unless necessary.
* lib/RPC/XML/Parser/XMLLibXML.pm (added)
* t/21_xml_libxml.t (added)
* t/29_parserfactory.t
* t/40_server_xmllibxml.t (added)
Implement support for XML::LibXML in the parser-factory.
0.69 Thursday September 3, 2009, 10:25:00 AM -0700
* t/00_load.t
* t/01_pod.t
* t/02_pod_coverage.t
* t/10_data.t
* t/11_base64_fh.t
* t/12_nil.t
* t/15_serialize.t
* t/20_parser.t
* t/50_client.t
Minor clean-up of old CVS/SVN keyword references.
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLParser.pm (added)
* lib/RPC/XML/ParserFactory.pm (added)
* lib/RPC/XML/Server.pm
* t/20_parser.t (deleted)
* t/20_xml_parser.t (added)
* t/29_parserfactory.t (added)
* t/40_server.t
* t/util.pl
Converted parsing to be from a specific class to a
parser-factory style. This included renaming the existing
parser class and shuffling tests around.
* t/70_compression_detect.t
Cleaner approach to scrubbing symbol tables.
* t/00_load.t
* t/01_pod.t
* t/02_pod_coverage.t
* t/03_meta.t (added)
* t/04_minimumversion.t (added)
* t/05_critic.t (added)
New tests, and developer-specific tests changed to only run in
my copy.
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/Server.pm
* t/11_base64_fh.t
* t/15_serialize.t
* t/20_xml_parser.t
* t/30_method.t
* t/35_namespaces.t
* t/40_server.t
* t/41_server_hang.t
* t/50_client.t
RT #47806: One more patch for Windows compatibility with
temp-files.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Fixes based on Perl::Critic and other best-practices techniques.
* etc/make_method
Also made changes based on Perl::Critic.
* MANIFEST
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLParser.pm
Expanded definition of the interface to include push-parsing
methods. Documented these and added stubs to
RPC::XML::Parser::XMLParser that throw exceptions when called
by a non-push-parser instance. Reflected changes to test suite
in MANIFEST.
* lib/RPC/XML/Parser/XMLParser.pm
Slight tweak to make this 5.6.1-compatible.
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
RT #42736: Support user-adjustment of server-based faults, and
normalize the existing faults.
* lib/RPC/XML/Procedure.pm
Fix encoding of return values from call() when the method
called is of type Function (and thus has no strict signatures).
* lib/RPC/XML.pm
* t/13_no_deep_recursion.t (added)
RT #41063: Re-visit how arrays and structs are smart-encoded
and constructed, so as to avoid cyclical data structure
references.
0.67 Friday July 10, 2009, 01:30:00 AM -0700
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Server.pm
* t/70_compression_detect.t (added)
RT #47219: Mis-read the patch from previous fix, this actually
fixes it. Also added a test suite to check for
compression-detection.
0.66 Thursday July 9, 2009, 07:36:15 AM -0700
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Server.pm
RT #47219: Re-did the detection of compression availability
(testing for the Compress::Zlib module) based on comments in
this bug.
* t/60_net_server.t
RT #47220: Net::Server tests are not (currently) viable on
Windows. Also made script taint-safe.
* t/40_server.t
* t/50_client.t
* t/util.pl
RT #47221: Applied a patch from kmx@volny.cz, for better
Windows testing.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
All modules now use the "warnings" pragma.
0.65 Wednesday June 17, 2009, 06:00:00 AM -0700
* etc/make_method
* etc/rpc-method.dtd
* lib/RPC/XML/Procedure.pm
* t/30_method.t
* t/35_namespaces.t (added)
* t/namespace1.xpl (added)
* t/namespace2.xpl (added)
* t/namespace3.xpl (added)
Support for declaration of namespaces in XPL code. Adds a new
test suite and includes a rewrite/update of the method tests.
Change also covers the make_method tool and the DTD for XPL
files.
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Server.pm
* t/02_pod_coverage.t
Interim fix for encoding issues, prior to the mega-encoding
work. This makes the library correctly create octet-based
messages, rather than letting UTF-8 leak in if it was passed in
initially.
* lib/Apache/RPC/Server.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
Follow-up to previous commit, some serialization-related
problems. Not all instances of bytelength() had been removed
after the previous slate of changes, and once that was done
some tests in 15_serialize.t broke.
* lib/RPC/XML.pm
* lib/RPC/XML/Parser.pm
* t/12_nil.t (added)
* t/30_method.t
RT #34132: Based on a patch from the requestor, added support
for <nil/>. Documentation and tests are present, but a little
sparse. This change also incorporates a small add to
lib/RPC/XML/Parser.pm to address RT #42033.
* t/40_server.t
* t/41_server_hang.t
RT #27778: Fix problems with child-process management on
Windows that was causing t/40_server.t to hang during test
runs. Also put skip-clause into t/41_server_hang.t, as
according to the person reporting, it doesn't work at all on
MSWin (the network code is very UNIX-y).
* lib/RPC/XML.pm
* t/10_data.t
Applied a regexp-fix from Joakim Mared for stringification of
doubles.
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
* t/10_data.t
RT ticket #35106: Make the behavior of RPC::XML::array
constructor work as expected. This led to adding use of
Scalar::Util and cleaning up the places where I was still doing
"UNIVERSAL::isa(...)" hacks to test refs without the risk of
directly calling ->isa() on a potentially-unblessed ref.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Update the copyright year and license information, and add
contact data to all POD sections for RT, AnnoCPAN, GitHub, etc.
* lib/RPC/XML/Client.pm
* t/50_client.t
RT ticket #34559: Allow control of LWP::UA timeouts from within
client class.
* lib/RPC/XML/Server.pm
RT ticket #43019: Small hack to the existing SSL hack for
Socket6 problems.
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Since Scalar::Util requires 5.006, make that (5.006001,
actually) the base required Perl version.
0.64 Monday September 29, 2008, 04:15:00 AM -0700
* t/40_server.t, revision 361
Further flexibility on the test of $srv->url(). This should
(finally) catch any variation of 127.* address and/or
host/domain naming that aliases to "localhost".
* lib/RPC/XML/Parser.pm, revision 363
* t/20_parser.t, revision 363
Lingering problem from RT ticket #30354, RPC::XML::Parser did
not get the change committed that included parser-level support
for <i8>. Also added tests for parsing RPC::XML::request
objects and all the data-type objects to the parser test suite
(had they been there before, I would have caught this myself).
0.63 Friday September 19, 2008, 02:23:12 AM -0700
* lib/RPC/XML.pm, revision 359
Forgot to increment $VERSION before the previous commit. Won't
show up in CPAN as an available update otherwise.
0.62 Friday September 19, 2008, 02:12:02 AM -0700
* t/40_server.t, revision 355
Extended the die message when $srv fails to allocate. Some
testers are getting a failure here but I have no idea how or
why.
* lib/RPC/XML.pm, revision 356
Testers-service reports showed that the new i8 type was not
auto-boxing correctly on true 64-bit machines. Turns out I had
bogus values for the maximums and minimums, not just for 8-byte
ints but also for plain 4-byte ones as well.
0.61 Monday September 15, 2008, 01:38:44 AM -0700
* t/00_load.t, revision 346
Converted to Test::More due to some cpan-testers reports that
showed test 2 failing. Hoping this might provide better
feedback if it continues to fail.
* t/40_server.t, revision 347
Changed a test for "localhost:$port" in the server URL method
to optionally allow localhost.localdomain, for those systems
whose /etc/hosts cause the former to convert to the latter. Was
causing false failures.
* t/40_server.t, revision 348
* t/50_client.t, revision 348
* t/60_net_server.t, revision 348
Test suites armored against server processes that die as a
result of croak() or other calls within 3rd-party modules. The
client and net_server suites were also converted to Test::More
at this time.
* t/40_server.t, revision 349
Fix for RT ticket #36078, fix the URL testing on the server
object to be less strict. Instead of only allowing "localhost",
now also allows "localhost.localdomain" and does a look-up of
"localhost" for the 127.* IP address and permits that as well.
In essence, this extends and supercedes the second change
listed above after more invariant cases were discovered.
* lib/RPC/XML.pm, revision 350
* t/10_data.t, revision 350
Per RT ticket #30354 and specific request from a large agency
using this package, implemented an "i8" type as an extension to
the official XML-RPC specification. Documentation and tests
included.
* t/40_server.t, revision 352
* t/60_net_server.t, revision 352
Some of the work in armoring the test suites against
server-death changed the counts on tests and on call-counts in
the system.status method. Some explicit re-starts didn't help.
0.60 Wednesday April 9, 2008, 03:01:07 AM -0700
* t/00_load.t, revision 328
* t/01_pod.t, revision 328
* t/02_pod_coverage.t, revision 328
* t/10_data.t, revision 328
* t/11_base64_fh.t, revision 328
* t/15_serialize.t, revision 328
* t/20_parser.t, revision 328
* t/30_method.t, revision 328
* t/40_server.t, revision 328
* t/50_client.t, revision 328
* t/60_net_server.t, revision 328
Related to the main change of RT ticket #30849, fixes potential
problem in the creation of temporary file names if a test
script is run directly from the "t" directory. While at it,
added a line with the Subversion "Id" keyword and set the
"svn:keywords" property on all test scripts. The code-fix is
based on suggestions from Jörg Meltzer <joerg@joergmeltzer.de>.
* lib/RPC/XML/Client.pm, revision 329
Per RT ticket #30849, fix problem caused by having colons in
temp-file names. Fix largely from patch suggested by Jörg
Meltzer <joerg@joergmeltzer.de>.
* lib/RPC/XML/Server.pm, revision 331
Applied a modified form of a patch submitted by Mike Rylander
<miker@n2bb.com> to make things work under SSL.
* lib/RPC/XML/Server.pm, revision 332
* t/41_server_hang.t, revision 332 (added)
Fixed the bug in RPC::XML::Server::process_request() could lead
to an infinite loop if the client shuts down the socket before
the full request is sent. Added a test script specific to this
bug, to catch it if it reappears.
* lib/RPC/XML.pm, revision 333
* t/10_data.t, revision 333
Per RT ticket #30042, made a do-nothing branch in
RPC::XML::smart_encode actually die with an error when a
reference-type is passed in that cannot be converted. Added two
tests to cover this, and took the opportunity to convert
10_data.t to Test::More.
* t/40_server.t, revision 334
* t/50_client.t, revision 334
Applied a patch from Chris Darroch to make the spawning of
servers work in some corner-cases that were failing. All that
was required was explicit specification of 'localhost' in the
instantiation.
* lib/RPC/XML/Parser.pm, revision 336
* t/20_parser.t, revision 336
Applied a patch from Masatake Daimon (大門正岳) to improve the
performance of the parser by reducing the (vast) number of
string-concat operations. During this change, re-wrote the
parser tests to use Test::More and have better diagnostics.
* lib/RPC/XML/Server.pm, revision 337
* t/40_server.t, revision 337
Per RT ticket #29351, fixed a bug that caused a server to
incorrectly report the location and cause of an XML parsing
error in the request. The actual bug and solution were
different than initially reported in the ticket.
* lib/RPC/XML.pm, revision 338
* t/10_data.t, revision 338
Per RT ticket #31818, fix to the XML serialization of double
values to conform to the XML-RPC spec, as it does not allow for
exponential notation. This also required changes to the tests,
as values were no longer being auto-truncated at 5 decimal
places. Also finished cleaning up the t/10_data.t test suite
with diagnostic messages on the tests that had not previously
gotten them.
* lib/RPC/XML.pm, revision 339
* t/20_parser.t, revision 339
In response to concerns raised by a report of parsing problems,
added XML entity encoding for ' and " (' and ") to
the base RPC::XML module, and added a test to the parser suite
to make sure it is correctly turning all core XML entities back
into characters during the parsing process.
* lib/Apache/RPC/Server.pm, revision 341
* lib/RPC/XML/Server.pm, revision 341
* t/40_server.t, revision 341
RT ticket #34557: Provide access to client-side connection info
to methods called on the server, by placing the data from
get_peeraddr() (as abstracted through existing methods in
HTTP::Daemon::ClientConn and Apache::Connection) into localized
keys on the server object, as is already done with the
method_name and signature pseudo-keys. Tests added to
40_server.t and docs updated.
* etc/make_method, revision 343
* lib/Apache/RPC/Server.pm, revision 343
* lib/Apache/RPC/Status.pm, revision 343
* lib/RPC/XML.pm, revision 343
* lib/RPC/XML/Client.pm, revision 343
* lib/RPC/XML/Function.pm, revision 343
* lib/RPC/XML/Method.pm, revision 343
* lib/RPC/XML/Parser.pm, revision 343
* lib/RPC/XML/Procedure.pm, revision 343
* lib/RPC/XML/Server.pm, revision 343
Updated all copyright/redistribution information with current
year and correct/current URLs for Artistic and LGPL licenses.
0.59 Friday June 30, 2006, 01:48:37 AM -0600
* t/10_data.t, revision 1.10
Eliminated the source of some "Modification of a read-only
value..." errors. Patch from Juan Camacho.
* t/01_pod.t, revision 1.1 (added)
* t/02_pod_coverage.t, revision 1.1 (added)
Two new unit-test suites added; the first checks the validity
of the POD docs in each module (correctness tests), the other
checks that POD covers all the publically-visible API routines
(coverage tests).
* lib/Apache/RPC/Server.pm, revision 1.28
* lib/Apache/RPC/Status.pm, revision 1.6
* lib/RPC/XML/Function.pm, revision 1.4
* lib/RPC/XML/Parser.pm, revision 1.13
* lib/RPC/XML/Server.pm, revision 1.44
Fixes to POD documentation (and/or inline comments) as
uncovered by the added POD-oriented unit tests.
* MANIFEST, revision 1.17
* README.apache (deleted)
The README.apache file is no longer relevant.
* lib/Apache/RPC/Server.pm, revision 1.29
Fixed the logic around the setting of $no_def in new(); it was
handling the no_default method-argument backwards. Found by
Eric Cholet.
* lib/RPC/XML.pm, revision 1.36
* t/10_data.t, revision 1.11
Applied a patch from Jos Boumans to add flexibility to the
smart_encode() hack that tries to match bare Perl data to RPC
classes. At the same time, added documentation of the $ENCODE
global variable in the documentation.
0.58 Thursday May 12, 2005, 03:24:23 AM -0700
* lib/RPC/XML.pm, revision 1.35
* t/10_data.t, revision 1.9
Applied patches from Stephen Veiss to fix a small bug in the
encoding method of RPC::XML::string. Trying to encode the
literal string "0" would result in a null string. The patches
provided the fix and a specific test-case for the related suite.
* lib/RPC/XML/Procedure.pm, revision 1.13
* lib/RPC/XML/Server.pm, revision 1.43
Applied a patch from Mike Pomraning to allow user-level
functions to return RPC::XML::fault objects directly without
them being further wrapped by intermediate layers.
* lib/RPC/XML/Procedure.pm, revision 1.14
Implemented a modified version of a patch from Lubomir Host
that addresses an intermittent IOCTL problem when reading XPL
files.
* Makefile.PL, revision 1.38
Incremented package version number and put in warning of the
impending move to XML::LibXML.
0.57 Friday December 24, 2004, 03:02:48 AM -0800
* lib/Apache/RPC/Server.pm, revision 1.27
Some minor changes to how values are read from the
configuration, to reduce "use of uninitialized value" warnings
in regex operations.
* lib/RPC/XML.pm, revision 1.34
* t/10_data.t, revision 1.8
Based on a report from Brian Phillips, made adjustments in the
smart_encode helper-routine to deal with blessed references.
Anything that is derived from HASH or ARRAY is encoded as a
struct or array, respectively. Anything derived from SCALAR is
dereferenced and encoded as per usual. Carried this over to the
class constructors, with special attention to the
RPC::XML::simple_type class. Added tests to the suite for all
of this, as well.
* lib/Apache/RPC/status.base, revision 1.5
* lib/Apache/RPC/status.code, revision 1.4
* lib/Apache/RPC/status.help, revision 1.2
* lib/RPC/XML/Procedure.pm, revision 1.12
* lib/RPC/XML/Server.pm, revision 1.42
* methods/status.base, revision 1.6
* methods/status.code, revision 1.4
* methods/status.help, revision 1.2
* t/40_server.t, revision 1.8
The "system.status" method (both the general one and the one
that is specific to Apache) now recognizes an optional boolean
parameter that can keep the status call from counting against
the "total_requests" struct value. This is to allow external
monitors (status, health, etc.) to use that call without
running up the value of that field needlessly.
0.56 Thursday December 9, 2004, 01:07:00 AM -0800
* etc/make_method, revision 1.10
Small change to the generated XML, to add an "encoding" setting
to the XML preamble.
* t/10_data.t, revision 1.7
* t/60_net_server.t, revision 1.4
Very minor changes, to make the test work with older Perls
and/or Test modules.
* lib/RPC/XML.pm, revision 1.31
Add "encoding" settings to all XML preambles, and make the
scalar variable "$RPC::XML::ENCODING" an importable symbol,
should users want to change the default encoding. Not currently
documented, since this is technically a break from the XML-RPC
spec.
* Makefile.PL, revision 1.35
* t/50_client.t, revision 1.8
Traced a bug that was causing test failures in 50_client.t to a
bug in version 5.800 of the LWP package. Now, Makefile.PL
explicitly requires 5.801 or higher, and the test suite skips
the two tests that are broken by it, in cases where the system
is still at 5.800 or older.
* lib/RPC/XML/Client.pm, revision 1.21
Tightened some numeric comparisons (for deciding to compress
and/or spool to a file), and corrected a typo in an error
message.
* lib/RPC/XML.pm, revision 1.32
Adding the encoding to the request and response blocks messed
up some of the tests in the 10_data.t and 15_serialize.t
suites. Fixed.
* README, revision 1.24
* etc/make_method, revision 1.11
* etc/rpc-method.dtd, revision 1.7
* lib/Apache/RPC/Server.pm, revision 1.26
* lib/Apache/RPC/Status.pm, revision 1.5
* lib/RPC/XML.pm, revision 1.33