aboutsummaryrefslogtreecommitdiffstats
path: root/security/p5-Crypt-SSLeay/files/patch-lib-Net-SSL.pm
blob: fa29d7579fddbd1c3c72b633ff4866c028cf084a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- lib/Net/SSL.pm.orig 2007-09-17 12:56:52.000000000 -0700
+++ lib/Net/SSL.pm  2010-05-19 11:23:50.000000000 -0700
@@ -361,8 +361,15 @@
 
     $connect_string .= $CRLF;
     $self->SUPER::send($connect_string);
-    my $header;
-    my $n = $self->SUPER::sysread($header, 8192);
+    my $header = "";
+    my $timeout;
+    while ($header !~ m{HTTP/\d+\.\d+\s+200\s+.*\r\n\r\n}s) {
+   $timeout = $self->timeout(5) unless length $header;
+   my $n = $self->SUPER::sysread($header, 8192, length $header);
+   last if $n <= 0;
+    }
+    $self->timeout($timeout) if defined $timeout;
+
     my $conn_ok = ($header =~ /HTTP\/\d+\.\d+\s+200\s+/is) ? 1 : 0;
 
     if (not $conn_ok) {