X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=deb-src%2Flibio-socket-ssl-perl%2Flibio-socket-ssl-perl-1.16%2Fexample%2Fssl_server.pl;fp=deb-src%2Flibio-socket-ssl-perl%2Flibio-socket-ssl-perl-1.16%2Fexample%2Fssl_server.pl;h=3727e74eda9f0206b46da45d0c1b781de08dc4e1;hb=d615bbbf525d490a6803e161c1063da7ee8fb9bc;hp=0000000000000000000000000000000000000000;hpb=5638bd62c66215ffc4830630a7bfcfe5cdf331d7;p=pkg-perl diff --git a/deb-src/libio-socket-ssl-perl/libio-socket-ssl-perl-1.16/example/ssl_server.pl b/deb-src/libio-socket-ssl-perl/libio-socket-ssl-perl-1.16/example/ssl_server.pl new file mode 100644 index 0000000..3727e74 --- /dev/null +++ b/deb-src/libio-socket-ssl-perl/libio-socket-ssl-perl-1.16/example/ssl_server.pl @@ -0,0 +1,70 @@ +# +# a test server for testing IO::Socket::SSL-class's behavior +# (marko.asplund at kronodoc.fi). +# +# $Id: ssl_server.pl,v 1.7 2000/11/08 09:25:21 aspa Exp $. +# + +use strict; +use IO::Socket::SSL; + + +my ($sock, $s, $v_mode); + +if($ARGV[0] eq "DEBUG") { $IO::Socket::SSL::DEBUG = 1; } + +# Check to make sure that we were not accidentally run in the wrong +# directory: +unless (-d "certs") { + if (-d "../certs") { + chdir ".."; + } else { + die "Please run this example from the IO::Socket::SSL distribution directory!\n"; + } +} + +if(!($sock = IO::Socket::SSL->new( Listen => 5, + LocalAddr => 'localhost', + LocalPort => 9000, + Proto => 'tcp', + Reuse => 1, + SSL_verify_mode => 0x01, + SSL_passwd_cb => sub {return "bluebell"}, + )) ) { + warn "unable to create socket: ", &IO::Socket::SSL::errstr, "\n"; + exit(0); +} +warn "socket created: $sock.\n"; + +while (1) { + warn "waiting for next connection.\n"; + + while(($s = $sock->accept())) { + my ($peer_cert, $subject_name, $issuer_name, $date, $str); + + if( ! $s ) { + warn "error: ", $sock->errstr, "\n"; + next; + } + + warn "connection opened ($s).\n"; + + if( ref($sock) eq "IO::Socket::SSL") { + $subject_name = $s->peer_certificate("subject"); + $issuer_name = $s->peer_certificate("issuer"); + } + + warn "\t subject: '$subject_name'.\n"; + warn "\t issuer: '$issuer_name'.\n"; + + my $date = localtime(); + print $s "my date command says it's: '$date'"; + close($s); + warn "\t connection closed.\n"; + } +} + + +$sock->close(); + +warn "loop exited.\n";