Import of old SSLeay release: SSLeay 0.9.0b
[openssl.git] / perl / s2.pl
diff --git a/perl/s2.pl b/perl/s2.pl
new file mode 100644 (file)
index 0000000..540ca7c
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/local/bin/perl
+
+use ExtUtils::testlib;
+
+use SSLeay;
+
+$ssl_ctx=SSL::CTX->new("SSLv3");
+
+$ssl_ctx->set_options("-info_callback" =>
+       sub     {
+               print STDERR $_[0]->state()."\n";
+               }
+       );
+
+$conn="localhost:4433";
+$conn=$ARGV[0] if $#ARGV >= 0;
+$cbio=BIO->new("connect");
+$cbio->hostname($conn) || die $ssl->error();
+
+$ssl=$ssl_ctx->new_ssl;
+$sbio=BIO->new("ssl");
+$sbio->set_ssl($ssl);
+$ssl->set_options("-connect_state");
+
+$bio=BIO->new("buffer");
+
+$sbio->push($cbio);
+$bio->push($sbio);
+
+($bio->do_handshake() > 0) || die $bio->error();
+
+(($ret=$bio->syswrite("GET / HTTP/1.0\r\n\r\n")) > 0) || die $ssl->error();
+$bio->flush() || die $bio->error();
+
+$data="";
+while ($_=$bio->getline())
+       {
+       if (/^Server:/)
+               {
+               print;
+               last;
+               }
+       }
+
+if ($bio->peek_error())
+       {
+       print "There was an error:".$ssl->error();
+       }
+print "exit\n";