Author: dylan
Date: 2005-01-01 04:34:31 -0500 (Sat, 01 Jan 2005)
New Revision: 507
Removed:
trunk/main/server/ChangeLog
trunk/main/server/lib/SslClient.pm
trunk/main/server/lib/SslServer.pm
trunk/main/server/plain-cert.pem
trunk/main/server/plain-rsa.pem
Modified:
trunk/main/server/README
trunk/main/server/TODO
Log:
Removing ChangeLog, and the SSL stuff. Also fixed some typographical stuff in
README
and TODO.
Deleted: trunk/main/server/ChangeLog
===================================================================
--- trunk/main/server/ChangeLog 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/ChangeLog 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,5 +0,0 @@
-2004-10-26 Dylan Hardison <[EMAIL PROTECTED]>
-
- * Build.PL: We're now officially Haver::Server, all efforts at
separating
- POE have ceased.
-
Modified: trunk/main/server/README
===================================================================
--- trunk/main/server/README 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/README 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,4 +1,4 @@
-Haver-Server version 0.07 ("Bond")
+Haver-Server version 0.08 ("MuffinWillKillMe")
=========================
Haver's a new chat system similar to IRC,
@@ -20,8 +20,6 @@
devising a protocol that is simple, is
terribly fun stuff.
-
-
INSTALLATION
To install this module type the following:
Modified: trunk/main/server/TODO
===================================================================
--- trunk/main/server/TODO 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/TODO 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,8 +1,3 @@
-
-
-
-
-
This is the deep, mysterious Future:
* Add support for SSL.
Deleted: trunk/main/server/lib/SslClient.pm
===================================================================
--- trunk/main/server/lib/SslClient.pm 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/lib/SslClient.pm 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,213 +0,0 @@
-# $Id$
-# License and documentation are after __END__.
-
-package SslClient;
-
-use strict;
-
-use vars qw($VERSION);
-$VERSION = (qw($Revision$ ))[1];
-
-use POSIX qw(F_GETFL F_SETFL O_NONBLOCK EAGAIN EWOULDBLOCK);
-
-use Net::SSLeay qw(ERROR_WANT_READ ERROR_WANT_WRITE);
-use Net::SSLeay::Handle;
-use vars qw(@ISA);
[EMAIL PROTECTED] = qw(Net::SSLeay::Handle);
-use Carp;
-
-my %Filenum_Object;
-
-sub _get_self {
- return $Filenum_Object{fileno(shift)};
-}
-
-sub _get_ssl {
- my $socket = shift;
- return $Filenum_Object{fileno($socket)}->{ssl};
-}
-
-sub _set_filenum_obj {
- my ($self, $fileno, $ssl, $ctx, $socket, $accepted) = @_;
- $Filenum_Object{$fileno} =
- { ssl => $ssl,
- ctx => $ctx,
- #socket => $socket,
- fileno => $fileno,
- _is_accepted => $accepted,
- };
-}
-
-sub TIEHANDLE {
- my ($class, $socket, $port) = @_;
-
- # Net::SSLeay needs nonblocking for setup.
- my $flags = fcntl($socket, F_GETFL, 0) or die $!;
- until (fcntl($socket, F_SETFL, $flags | O_NONBLOCK)) {
- die $! unless $! == EAGAIN or $! == EWOULDBLOCK;
- }
-
- ref $socket eq "GLOB" or $socket = $class->make_socket($socket, $port);
-
- $class->_initialize();
-
- my $ctx = Net::SSLeay::CTX_new() or die_now("Failed to create SSL_CTX $!");
- my $ssl = Net::SSLeay::new($ctx) or die_now("Failed to create SSL $!");
-
- my $fileno = fileno($socket);
-
- Net::SSLeay::set_fd($ssl, $fileno); # Must use fileno
-
- my $connected = 0;
- my $resp = Net::SSLeay::connect($ssl);
- if ($resp <= 0) { # 0 is really controlled shutdown but we signal error
- my $errno = Net::SSLeay::get_error($ssl, $resp);
- if ($errno == ERROR_WANT_READ or $errno == ERROR_WANT_WRITE) {
- # we try again next time in WRITE
- }
- else {
- # handshake failed
- die "handshake failed: $errno";
- return undef;
- }
- }
- else {
- $connected = 1;
- }
-
- $Filenum_Object{$fileno} =
- { ssl => $ssl,
- ctx => $ctx,
- socket => $socket,
- fileno => $fileno,
- _is_connected => $connected,
- };
-
- return bless $socket, $class;
-}
-
-sub READ {
- my ($socket, $buf, $len, $offset) = \ (@_);
- my $ssl = $$socket->_get_ssl();
- my $self = $$socket->_get_self();
-
- if (exists $self->{_is_accepted} && $self->{_is_accepted} == 0) {
- my $resp = Net::SSLeay::accept($ssl);
- if ($resp <= 0) {
- if (Net::SSLeay::get_error($ssl, $resp) == ERROR_WANT_READ) {
- return $$len;
- }
- else {
- #confess ("handshake failed");
- $! = 104;
- return undef;
- }
- }
- $self->{_is_accepted} = 1;
- return $$len;
- }
-
- # No offset. Replace the buffer.
- unless (defined $$offset) {
- $$buf = Net::SSLeay::read($ssl, $$len);
- return length($$buf) if defined $$buf;
- $$buf = "";
- return;
- }
-
- defined(my $read = Net::SSLeay::read($ssl, $$len))
- or return undef;
-
- my $buf_len = length($$buf);
- $$offset > $buf_len and $$buf .= chr(0) x ($$offset - $buf_len);
- substr($$buf, $$offset) = $read;
- return length($read);
-}
-
-sub WRITE {
- my $socket = shift;
- my ($buf, $len, $offset) = @_;
- $offset = 0 unless defined $offset;
- my $ssl = $socket->_get_ssl();
- my $self = $socket->_get_self();
-
- if (exists $self->{_is_connected} && $self->{_is_connected} == 0) {
- my $resp = Net::SSLeay::connect($ssl);
- if ($resp <= 0) {
- my $errno = Net::SSLeay::get_error($ssl, $resp);
- if ($errno == ERROR_WANT_WRITE or $errno == ERROR_WANT_READ) {
- return 0;
- }
- else {
- die "handshake failed: $errno";
- }
- }
- $self->{_is_connected} = 1;
- }
-
- # Return number of characters written.
- my $wrote_len = Net::SSLeay::write($ssl, substr($buf, $offset, $len));
-
- # Net::SSLeay::write() returns the number of bytes written, or -1 on
- # error. Normal syswrite() expects 0 here.
- return 0 if $wrote_len < 0;
- return $wrote_len;
-}
-
-sub CLOSE {
- print "CLOSE\n";
- my $socket = shift;
- my $fileno = fileno($socket);
- return unless exists $Filenum_Object{$fileno};
- my $self = $socket->_get_self();
- delete $Filenum_Object{$fileno};
- Net::SSLeay::free ($self->{ssl});
- Net::SSLeay::CTX_free ($self->{ctx});
- close $socket;
-}
-
-sub DESTROY {
- print "DESTROY!!!\n";
- shift->CLOSE;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-POE::Component::Client::HTTP::SSL - non-blocking SSL file handles
-
-=head1 SYNOPSIS
-
- See Net::SSLeay::Handle
-
-=head1 DESCRIPTION
-
-This is a temporary subclass of Net::SSLeay::Handle with what I
-consider proper read() and sysread() semantics. This module will go
-away if or when Net::SSLeay::Handle adopts these semantics.
-
-POE::Component::Client::HTTP::SSL functions identically to
-Net::SSLeay::Handle, but the READ function does not block until LENGTH
-bytes are read.
-
-=head1 SEE ALSO
-
-Net::SSLeay::Handle
-
-=head1 BUGS
-
-None known.
-
-=head1 AUTHOR & COPYRIGHTS
-
-POE::Component::Client::HTTP::SSL is Copyright 1999-2002 by Rocco
-Caputo. All rights are reserved. This module is free software; you
-may redistribute it and/or modify it under the same terms as Perl
-itself.
-
-Rocco may be contacted by e-mail via [EMAIL PROTECTED]
-
-=cut
Deleted: trunk/main/server/lib/SslServer.pm
===================================================================
--- trunk/main/server/lib/SslServer.pm 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/lib/SslServer.pm 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,115 +0,0 @@
-# $Id$
-# License and documentation are after __END__.
-
-package SslServer;
-
-use warnings;
-use strict;
-
-use Carp qw(croak);
-
-use vars qw($VERSION);
-$VERSION = (qw($Revision$ ))[1];
-
-use SslClient;
-use vars qw(@ISA);
[EMAIL PROTECTED] = qw(SslClient);
-
-use Net::SSLeay qw(die_if_ssl_error ERROR_WANT_READ ERROR_WANT_WRITE);
-use POSIX qw(F_GETFL F_SETFL O_NONBLOCK EAGAIN EWOULDBLOCK);
-
-sub TIEHANDLE {
- my ($class, $socket, $key, $cert) = @_;
-
- # Validate the certificate.
- croak "no such file: $cert" unless -f $cert;
- croak "can't read file: $cert" unless -R $cert;
-
- # Net::SSLeay needs nonblocking for setup.
- my $flags = fcntl($socket, F_GETFL, 0) or die $!;
- until (fcntl($socket, F_SETFL, $flags | O_NONBLOCK)) {
- die $! unless $! == EAGAIN or $! == EWOULDBLOCK;
- }
-
- $class->_initialize();
-
- my $ctx = Net::SSLeay::CTX_new() or die_now("Failed to create SSL_CTX $!");
- my $ssl = Net::SSLeay::new($ctx) or die_now("Failed to create SSL $!");
-
- my $fileno = fileno($socket);
-
- Net::SSLeay::set_fd($ssl, $fileno); # Must use fileno
-
- Net::SSLeay::use_RSAPrivateKey_file( $ssl,
- $key,
- &Net::SSLeay::FILETYPE_PEM
- );
- die_if_ssl_error("private key");
- Net::SSLeay::use_certificate_file( $ssl,
- $cert,
- &Net::SSLeay::FILETYPE_PEM
- );
- die_if_ssl_error("certificate");
-
- my $accepted = 0;
- my $resp = Net::SSLeay::accept($ssl);
- if ($resp <= 0) { # 0 is really controlled shutdown but we signal error
- my $errno = Net::SSLeay::get_error($ssl, $resp);
- if ($errno == ERROR_WANT_READ or $errno == ERROR_WANT_WRITE) {
- # we try again next time in READ
- }
- else {
- # handshake failed
- die "handshake failed: $errno";
- return undef;
- }
- }
- else {
- $accepted = 1;
- }
-
- $class->_set_filenum_obj($fileno, $ssl, $ctx, $socket, $accepted);
-
- return bless $socket, $class;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-POE::Component::Client::HTTP::SSL - non-blocking SSL file handles
-
-=head1 SYNOPSIS
-
- See Net::SSLeay::Handle
-
-=head1 DESCRIPTION
-
-This is a temporary subclass of Net::SSLeay::Handle with what I
-consider proper read() and sysread() semantics. This module will go
-away if or when Net::SSLeay::Handle adopts these semantics.
-
-POE::Component::Client::HTTP::SSL functions identically to
-Net::SSLeay::Handle, but the READ function does not block until LENGTH
-bytes are read.
-
-=head1 SEE ALSO
-
-Net::SSLeay::Handle
-
-=head1 BUGS
-
-None known.
-
-=head1 AUTHOR & COPYRIGHTS
-
-POE::Component::Client::HTTP::SSL is Copyright 1999-2002 by Rocco
-Caputo. All rights are reserved. This module is free software; you
-may redistribute it and/or modify it under the same terms as Perl
-itself.
-
-Rocco may be contacted by e-mail via [EMAIL PROTECTED]
-
-=cut
Deleted: trunk/main/server/plain-cert.pem
===================================================================
--- trunk/main/server/plain-cert.pem 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/plain-cert.pem 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICqTCCAhICAQAwDQYJKoZIhvcNAQEEBQAwgZwxCzAJBgNVBAYTAlhYMRQwEgYD
-VQQIEwtOZXQ6OlNTTGVheTESMBAGA1UEBxMJdGVzdCBsYW5kMRIwEAYDVQQKEwlU
-ZXN0IENpdHkxITAfBgNVBAsTGE5ldDo6U1NMZWF5IE9yZ2FuaXphdGlvbjESMBAG
-A1UEAxMJVGVzdCBVbml0MRgwFgYJKoZIhvcNAQkBFgkxMjcuMC4wLjEwHhcNMDQw
-ODIxMDQzNzI2WhcNMTQwODE5MDQzNzI2WjCBnDELMAkGA1UEBhMCWFgxFDASBgNV
-BAgTC05ldDo6U1NMZWF5MRIwEAYDVQQHEwl0ZXN0IGxhbmQxEjAQBgNVBAoTCVRl
-c3QgQ2l0eTEhMB8GA1UECxMYTmV0OjpTU0xlYXkgT3JnYW5pemF0aW9uMRIwEAYD
-VQQDEwlUZXN0IFVuaXQxGDAWBgkqhkiG9w0BCQEWCTEyNy4wLjAuMTCBnzANBgkq
-hkiG9w0BAQEFAAOBjQAwgYkCgYEA6OAVreLmph9H5+IH0J+oDC9S+gTTpM6+fFcI
-slDgz/E4fclb+MHT/rGwnpqda5p2H6AUww/BkptTdWztjVJBA5q13tJpKzRi24S5
-h9ROyem7gQfzxdtUnL8eWqqrV1fUKWNHOuunjV/PFXLM/H1kdf2tdYGa03P7aLqc
-psBK/nMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCjC6lIUac3Fg7mY60MTs8faWG4
-vECP65rLIY/IhFO3NOUCnY54gOobtYR2NdEjJFnG8f06SaQysUUOlDGt808L2b8C
-+Ww2AxDfyp5XIM2asGGe4l1f+eeNM26I4rYJJPVNOrh8jxxp363aoC/n6PKDZ/Ka
-diGO1T/g/6ApRdEioQ==
------END CERTIFICATE-----
Deleted: trunk/main/server/plain-rsa.pem
===================================================================
--- trunk/main/server/plain-rsa.pem 2005-01-01 09:27:19 UTC (rev 506)
+++ trunk/main/server/plain-rsa.pem 2005-01-01 09:34:31 UTC (rev 507)
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDo4BWt4uamH0fn4gfQn6gML1L6BNOkzr58VwiyUODP8Th9yVv4
-wdP+sbCemp1rmnYfoBTDD8GSm1N1bO2NUkEDmrXe0mkrNGLbhLmH1E7J6buBB/PF
-21Scvx5aqqtXV9QpY0c666eNX88Vcsz8fWR1/a11gZrTc/toupymwEr+cwIDAQAB
-AoGAKsSctqapPXEZP5jfXo0zy6kVUB160RW3HhbN3hHEd+wRN+i3H2RZjrkLetVi
-e9SORRidN4W5QzeLiFFM/1tP3QPirV1kRIrFZSmpXZZGhzME0LxGLyrqDrAqBWVR
-v2GoBQL/zDboUYTFvNAx9VjfVCNQa7gObImZpL1nNQPagIECQQD6S+mGwB5y8yTc
-/VmE6Zh51mEHcxs8yHuQrzl6Opn372bjYstbL24TJ12Gu/D+cFTPBaSvm2G9WfTm
-RD3dF1IRAkEA7i6MDW78RVnvVli9ltvCt7NcCz7T8aSDUHND6kTo3LdFdKURwC/L
-/BodYRM5YLyNWGrADL3AUzaLapgqtyREQwJBALxdbuTLJt8pXv+05q7hQa/Hh4Qc
-u03WLy/mvuHewkrV71+G1TXNjxB5GqiwPiCuFxUp0RObY0YmMektSEVgLJECQDNp
-NK3JoQZPLUwUB4hCkzsXqex7eUAVZIq+9o/go+rQXFubLcOwDXWzJVhIz//Dczb8
-g8u8QYE0qs8tXTr+xwUCQCawiEBPxogaAmjnHULk0bZNO5VVHsL4cFBMEXoZBw73
-CyFG5tPcsQb5n6UiP6CKeZWxx46fAc9MQX7HF24gVyE=
------END RSA PRIVATE KEY-----