Line 0
Link Here
|
|
|
1 |
diff -u ../HTTP-Daemon-SSL-1.04/Changes ./Changes |
2 |
--- ../HTTP-Daemon-SSL-1.04/Changes 2008-02-12 02:27:03.000000000 +0100 |
3 |
+++ ./Changes 2009-12-09 12:51:02.000000000 +0100 |
4 |
@@ -1,3 +1,14 @@ |
5 |
+v1.05_01 |
6 |
+ - dev release |
7 |
+ - re-introducing _need_more to work around issue in base LWP |
8 |
+ http://rt.cpan.org/Ticket/Display.html?id=45625 |
9 |
+ - will need further testing on the two bugs below which were |
10 |
+ resolved by removing it (or hopefully the base issue will |
11 |
+ be resolved) |
12 |
+ - also resolved: |
13 |
+ http://rt.cpan.org/Ticket/Display.html?id=46038 |
14 |
+ http://rt.cpan.org/Ticket/Display.html?id=45153 |
15 |
+ |
16 |
v1.04 |
17 |
- production release |
18 |
- only documentation and text file changes from 1.03_02 |
19 |
diff -u ../HTTP-Daemon-SSL-1.04/MANIFEST ./MANIFEST |
20 |
--- ../HTTP-Daemon-SSL-1.04/MANIFEST 2008-02-12 02:27:03.000000000 +0100 |
21 |
+++ ./MANIFEST 2009-12-09 12:52:11.000000000 +0100 |
22 |
@@ -5,9 +5,15 @@ |
23 |
Changes |
24 |
Makefile.PL |
25 |
MANIFEST |
26 |
+MANIFEST.SKIP |
27 |
+META.yml Module meta-data (added by MakeMaker) |
28 |
README |
29 |
SSL.pm |
30 |
t/loadmodule.t |
31 |
-t/testmodule.t |
32 |
+t/pod.t |
33 |
+t/post.t |
34 |
+t/post500k |
35 |
+t/post66k |
36 |
+t/post67k |
37 |
t/ssl_settings.req |
38 |
-META.yml Module meta-data (added by MakeMaker) |
39 |
+t/testmodule.t |
40 |
Only in .: MANIFEST.SKIP |
41 |
diff -u ../HTTP-Daemon-SSL-1.04/META.yml ./META.yml |
42 |
--- ../HTTP-Daemon-SSL-1.04/META.yml 2008-02-12 02:27:03.000000000 +0100 |
43 |
+++ ./META.yml 2009-12-09 12:58:24.000000000 +0100 |
44 |
@@ -1,12 +1,23 @@ |
45 |
-# http://module-build.sourceforge.net/META-spec.html |
46 |
-name: HTTP-Daemon-SSL |
47 |
-version: 1.04 |
48 |
-version_from: SSL.pm |
49 |
-installdirs: site |
50 |
-license: perl |
51 |
+--- #YAML:1.0 |
52 |
+name: HTTP-Daemon-SSL |
53 |
+version: 1.05_01 |
54 |
+abstract: ~ |
55 |
+author: [] |
56 |
+license: unknown |
57 |
+distribution_type: module |
58 |
+configure_requires: |
59 |
+ ExtUtils::MakeMaker: 0 |
60 |
+build_requires: |
61 |
+ ExtUtils::MakeMaker: 0 |
62 |
requires: |
63 |
- HTTP::Daemon: 1 |
64 |
- IO::Socket::SSL: 0.93 |
65 |
- |
66 |
-distribution_type: module |
67 |
-generated_by: ExtUtils::MakeMaker version 6.17 |
68 |
+ HTTP::Daemon: 1 |
69 |
+ IO::Socket::SSL: 0.93 |
70 |
+ Test::More: 0 |
71 |
+no_index: |
72 |
+ directory: |
73 |
+ - t |
74 |
+ - inc |
75 |
+generated_by: ExtUtils::MakeMaker version 6.55_02 |
76 |
+meta-spec: |
77 |
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html |
78 |
+ version: 1.4 |
79 |
diff -u ../HTTP-Daemon-SSL-1.04/Makefile.PL ./Makefile.PL |
80 |
--- ../HTTP-Daemon-SSL-1.04/Makefile.PL 2008-02-12 02:27:03.000000000 +0100 |
81 |
+++ ./Makefile.PL 2009-12-09 10:59:28.000000000 +0100 |
82 |
@@ -9,6 +9,10 @@ |
83 |
'NAME' => 'HTTP::Daemon::SSL', |
84 |
'VERSION_FROM' => 'SSL.pm', |
85 |
'DISTNAME' => 'HTTP-Daemon-SSL', |
86 |
- 'PREREQ_PM' => { 'HTTP::Daemon' => 1.0, 'IO::Socket::SSL' => 0.93 }, |
87 |
+ 'PREREQ_PM' => { |
88 |
+ 'HTTP::Daemon' => 1.0, |
89 |
+ 'IO::Socket::SSL' => 0.93, |
90 |
+ 'Test::More' => 0, |
91 |
+ }, |
92 |
'dist' => { COMPRESS => 'gzip', SUFFIX => 'gz', }, |
93 |
); |
94 |
diff -u ../HTTP-Daemon-SSL-1.04/SSL.pm ./SSL.pm |
95 |
--- ../HTTP-Daemon-SSL-1.04/SSL.pm 2008-02-12 02:27:03.000000000 +0100 |
96 |
+++ ./SSL.pm 2009-12-09 12:51:38.000000000 +0100 |
97 |
@@ -72,7 +72,7 @@ |
98 |
use IO::Socket::SSL; |
99 |
use HTTP::Daemon; |
100 |
|
101 |
-$VERSION = "1.04"; |
102 |
+$VERSION = "1.05_01"; |
103 |
@ISA = qw(IO::Socket::SSL HTTP::Daemon); |
104 |
|
105 |
=item $d = new HTTP::Daemon::SSL |
106 |
@@ -160,6 +160,44 @@ |
107 |
@ISA = qw(IO::Socket::SSL HTTP::Daemon::ClientConn); |
108 |
*DEBUG = \$HTTP::Daemon::DEBUG; |
109 |
|
110 |
+sub _need_more |
111 |
+{ |
112 |
+ my $self = shift; |
113 |
+ if ($_[1]) { |
114 |
+ my($timeout, $fdset) = @_[1,2]; |
115 |
+ print STDERR "select(,,,$timeout)\n" if $DEBUG; |
116 |
+ my $n = select($fdset,undef,undef,$timeout); |
117 |
+ unless ($n) { |
118 |
+ $self->reason(defined($n) ? "Timeout" : "select: $!"); |
119 |
+ return; |
120 |
+ } |
121 |
+ } |
122 |
+ my $total = 0; |
123 |
+ while (1){ |
124 |
+ print STDERR sprintf("sysread() already %d\n",$total) if $DEBUG; |
125 |
+ my $n = sysread($self, $_[0], 2048, length($_[0])); |
126 |
+ print STDERR sprintf("sysread() just \$n=%s\n",(defined $n?$n:'undef')) if $DEBUG; |
127 |
+ $total += $n if defined $n; |
128 |
+ last if $! =~ 'Resource temporarily unavailable'; |
129 |
+ #SSL_Error because of aggressive reading |
130 |
+ |
131 |
+ $self->reason(defined($n) ? "Client closed" : "sysread: $!") unless $n; |
132 |
+ last unless $n; |
133 |
+ last unless $n == 2048; |
134 |
+ } |
135 |
+ $total; |
136 |
+} |
137 |
+ |
138 |
+ |
139 |
+=back |
140 |
+ |
141 |
+=head1 BUGS |
142 |
+ |
143 |
+There is a problem with the interaction between the L<HTTP::Daemon> base class and |
144 |
+L<IO::Socket::SSL> buffering which causes large post or put actions (>66k or so, |
145 |
+depending on your OS) to hang. |
146 |
+ |
147 |
+See L<https://rt.cpan.org/Ticket/Display.html?id=52602>. |
148 |
|
149 |
=head1 SEE ALSO |
150 |
|
151 |
@@ -167,10 +205,13 @@ |
152 |
|
153 |
L<IO::Socket::SSL>, L<HTTP::Daemon>, L<Apache> |
154 |
|
155 |
+Github repository: L<http://github.com/aufflick/p5-http-daemon-ssl> |
156 |
+ |
157 |
=head1 COPYRIGHT |
158 |
|
159 |
Code and documentation from HTTP::Daemon Copyright 1996-2001, Gisle Aas |
160 |
Changes Copyright 2003-2004, Peter Behroozi |
161 |
+Changes Copyright 2007-2009, Mark Aufflick C<< <mark@aufflick.com> >> |
162 |
|
163 |
This library is free software; you can redistribute it and/or |
164 |
modify it under the same terms as Perl itself. |
165 |
Common subdirectories: ../HTTP-Daemon-SSL-1.04/certs and ./certs |
166 |
Only in .: d |
167 |
Common subdirectories: ../HTTP-Daemon-SSL-1.04/t and ./t |