X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=dev%2Farm%2Flibnet-ssleay-perl%2Flibnet-ssleay-perl-1.35%2Fdebian%2Flibnet-ssleay-perl%2Fusr%2Fshare%2Fdoc%2Flibnet-ssleay-perl%2Fexamples%2Fssl-inetd-serv.pl;fp=dev%2Farm%2Flibnet-ssleay-perl%2Flibnet-ssleay-perl-1.35%2Fdebian%2Flibnet-ssleay-perl%2Fusr%2Fshare%2Fdoc%2Flibnet-ssleay-perl%2Fexamples%2Fssl-inetd-serv.pl;h=7f2a183fff30a74cb9dd3a5ae6af55b10cbbccac;hb=f477fa73365d491991707e7ed9217b48d6994551;hp=0000000000000000000000000000000000000000;hpb=da95c414033799c3a62606f299c3c00b5c77ca11;p=dh-make-perl diff --git a/dev/arm/libnet-ssleay-perl/libnet-ssleay-perl-1.35/debian/libnet-ssleay-perl/usr/share/doc/libnet-ssleay-perl/examples/ssl-inetd-serv.pl b/dev/arm/libnet-ssleay-perl/libnet-ssleay-perl-1.35/debian/libnet-ssleay-perl/usr/share/doc/libnet-ssleay-perl/examples/ssl-inetd-serv.pl new file mode 100755 index 0000000..7f2a183 --- /dev/null +++ b/dev/arm/libnet-ssleay-perl/libnet-ssleay-perl-1.35/debian/libnet-ssleay-perl/usr/share/doc/libnet-ssleay-perl/examples/ssl-inetd-serv.pl @@ -0,0 +1,61 @@ +#!/usr/bin/perl +# ssl-inetd-serv.pl - SSL echo server run from inetd +# +# Copyright (c) 1996,1998 Sampo Kellomaki . All Rights Reserved. +# Date: 27.6.1996, 19.6.1998 +# +# /etc/inetd.conf: +# ssltst stream tcp nowait root /usr/sampo/ssl-inetd-serv.pl ssl-inetd +# +# /etc/services: +# ssltst 1234/tcp +# + +use Net::SSLeay qw(die_now die_if_ssl_error); +Net::SSLeay::load_error_strings(); +Net::SSLeay::SSLeay_add_ssl_algorithms(); + +chdir '/usr/sampo' or die "chdir: $!"; + +$| = 1; # STDOUT Piping hot! + +open LOG, ">>log" or die "Can't open log file $!"; +select LOG; $| = 1; +print "ssl-inetd-serv.pl started\n"; + +print "Creating SSL context...\n"; +$ctx = Net::SSLeay::CTX_new or die_now("CTX_new ($ctx) ($!)"); +print "Setting private key and certificate...\n"; +Net::SSLeay::set_server_cert_and_key($ctx, 'cert.pem', 'key.pem') or die "key"; + +print "Creating SSL connection (context was '$ctx')...\n"; +$ssl = Net::SSLeay::new($ctx) or die_now("new ($ssl) ($!)"); + +print "Setting fds (ctx $ctx, con $ssl)...\n"; +Net::SSLeay::set_rfd($ssl, fileno(STDIN)); +Net::SSLeay::set_wfd($ssl, fileno(STDOUT)); + +print "Entering SSL negotiation phase...\n"; + +Net::SSLeay::accept($ssl); +die_if_ssl_error("accept: $!"); + +print "Cipher '" . Net::SSLeay::get_cipher($ssl) . "'\n"; + +# +# Connected. Exchange some data. +# + +$got = Net::SSLeay::ssl_read_all($ssl) or die "$$: ssl read failed"; +print "Got `$got' (" . length ($got) . " chars)\n"; +$got = uc $got; +Net::SSLeay::ssl_write_all($ssl, $got) or die "$$: ssl write failed"; + +print "Tearing down the connection.\n"; + +Net::SSLeay::free ($ssl); +Net::SSLeay::CTX_free ($ctx); + +close LOG; + +__END__