Skip to content

Commit

Permalink
snap
Browse files Browse the repository at this point in the history
  • Loading branch information
obra committed Jan 26, 2011
1 parent 78665cc commit 95b8671
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 78 deletions.
2 changes: 1 addition & 1 deletion server/bin/run.pl
Expand Up @@ -7,5 +7,5 @@
model_class => "Stream::Server::Model",
user => 'nobody',
port => 143,
ssl_port => 993
#ssl_port => 993
)->run();
78 changes: 18 additions & 60 deletions server/certs/server-cert.pem
@@ -1,62 +1,20 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
c2:fa:b9:08:d7:a1:e1:a5
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=Local Host, O=Internet Widgits Pty Ltd, CN=localhost
Validity
Not Before: Feb 18 02:25:22 2007 GMT
Not After : Mar 20 02:25:22 2007 GMT
Subject: C=US, ST=Local Host, O=Internet Widgits Pty Ltd, CN=localhost
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:ab:5c:51:5d:69:66:75:22:2b:d7:4b:5c:63:d3:
f4:5e:ab:56:59:41:ac:41:5b:7c:89:42:8e:3b:44:
88:cf:b4:0b:45:46:9e:ac:be:ab:cd:29:31:6b:6c:
98:d6:67:5e:4b:7c:ec:66:6a:34:b8:20:84:21:fd:
63:c5:da:f8:1c:63:68:f0:a4:2d:ca:e0:53:2d:9d:
73:a7:90:88:eb:84:3e:c5:86:34:e1:4b:59:6c:f3:
24:a0:4d:cb:27:85:b2:a2:f2:01:e2:e5:84:78:17:
8a:45:02:41:4c:1a:43:d4:7b:b1:a7:be:b0:0c:db:
e4:b3:8b:fa:41:2a:b7:b0:59
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
49:71:2C:CC:28:DA:84:6C:D7:42:E1:8C:1D:28:BD:0A:CB:4E:7D:38
X509v3 Authority Key Identifier:
keyid:49:71:2C:CC:28:DA:84:6C:D7:42:E1:8C:1D:28:BD:0A:CB:4E:7D:38
DirName:/C=US/ST=Local Host/O=Internet Widgits Pty Ltd/CN=localhost
serial:C2:FA:B9:08:D7:A1:E1:A5

X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha1WithRSAEncryption
2b:8a:5a:04:15:2c:52:dd:09:e3:5a:2a:8e:37:29:d4:f1:fe:
6d:88:fe:bf:91:84:b9:25:ba:ac:8d:ad:27:30:96:00:79:eb:
cb:fa:a0:df:4d:66:ee:9a:96:80:c1:81:49:db:37:86:c8:7c:
16:04:8c:3d:4c:25:c4:0a:94:f5:32:f3:59:67:2c:74:8f:93:
f6:b0:8e:3f:d6:49:49:48:a6:49:d1:c8:e6:01:5b:ca:89:a0:
5d:f3:6a:8e:2d:4a:87:31:81:93:93:4d:b2:4d:46:62:f8:35:
c1:03:7a:fc:2e:8f:60:59:ff:14:29:52:e2:52:5b:97:50:ab:
a7:24
-----BEGIN CERTIFICATE-----
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
Va8q7OVCu5Y=
-----END CERTIFICATE-----
26 changes: 13 additions & 13 deletions server/certs/server-key.pem
@@ -1,15 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQCrXFFdaWZ1IivXS1xj0/Req1ZZQaxBW3yJQo47RIjPtAtFRp6s
vqvNKTFrbJjWZ15LfOxmajS4IIQh/WPF2vgcY2jwpC3K4FMtnXOnkIjrhD7FhjTh
S1ls8ySgTcsnhbKi8gHi5YR4F4pFAkFMGkPUe7GnvrAM2+Szi/pBKrewWQIDAQAB
AoGAaEez1A6yJRH4b/oSbUWs7neCAqsuck+ER9tSxsp8HznHqg7BvQoDbsRkqKTb
lY4uGe4ZxnFXR72x6yVSNDN+zHjP29aSDNRl4Pn8mrQIfAL9hjHVwoi8rmWYjrKa
hRsfBX+uSyVvcRwum+1xmsEXIMaDLhqI3i7Dj3aEyUIgzAECQQDWCezB/xpGLUur
GN58deg0a9i1I0MvzTdhiduqjUFUlnrBDcp12bBITpsE5MIwF/+qpIWX7wFr2DR5
LFBSO/dBAkEAzPR7endHbnF9JQP782g3tN+w7p80QZQY5mfJe6EPjsmAt3hVQ4bY
A2hxGtCHErbGxjdnkU1bpqz0momlDszLGQJAO5mN5MMtRMdOH7mQEmYen6I8OMw1
5DSnrDBgC5DD1VMFoYY+jyxryuagge9VJ2E3XwPq81CpO6d7jRZK02tBQQJAKavn
0z2fU3BVvonx10qwUOFOayYJjO/cpDQj/jQAIssLlcIsq98l2oOIw6f0XrS086Ze
M2fkI5502Vr1KW4wOQJASDFHxVXz3zN/2d8By93EA1ZuXe5YcX3zzPmpKkIQtO62
dINHo+M2BYP4Ku3wME++dp4E29BNsIopoLILWHSCow==
MIICXQIBAAKBgQDOSbeoL/ZrDxl2kbjlvA9dwahy4w8oDcCP36gSCZZdm/voM1w4
KrTNBnjoz6v2MYJrYy6oXH7u/czOXCWzdQVREJbwqffL5jg/6CuhbpcGCNLSCrmo
ShUkqiCaFp9mmIyCsTvwauBX23LI9cLZdO81Yi5tHs0WJCe8SUilIROhdQIDAQAB
AoGBAI752vgQHhu/wGdEwsE/4eqaodTW+RdKyM8vNf8ic/x3c1ZR2rX3K4760GyU
G1ysnfcuLBV23mdosz3H8j16eu6gII/6zhOwyqqPRrHsH3r5MmRbjIxUgnqhUSsX
KPVJU6rVsWcDvbja92e7j+6+MVTNwAXxtGZR+xy+XSD+KPvVAkEA+M8pFFerpOD/
SacHLXg3yE9PfbhQBzfu6uJw5fs/+oPy5WF1ig7VkOy1PdbxHWt5SaI5D0TiVGH2
w6hUiH4dawJBANQ/9Y312G0hPdL5wU/wxWCUegBfdaQP5gc5zsP96VeS05x3Ib1k
fXrT4eoBDUMSncv5OHPcUAXYv83ybCMZFJ8CQQDMunlM2c7Mvq6RRjTrvy33TvtT
sWN4bRfUgjrvokvEsOoewJDc5tPoij2gAssnsBV+91MIM2AgmvNXj5zvKwa9AkBJ
hE3degYY5qavaOrYcaEsLsGDV4074nXekttXb59fQfAiBfGd1CzSWompr+uUC+K0
QAKZvvnIzKbDAvEJxyopAkA4+RsYv1jOeDtlzadW+lhdxIsZp+2I/S6aujBXKchc
GHy2ZvvmkNvcESSPDpjoGVGTLWVRjVmqFxOrMYkbuPbQ
-----END RSA PRIVATE KEY-----
31 changes: 28 additions & 3 deletions server/lib/Stream/Server/Mailbox.pm
Expand Up @@ -4,6 +4,11 @@ extends 'Net::IMAP::Server::Mailbox';

use Stream::Server::Message;

sub new {
my $self = shift;
warn $self;
$self->SUPER::new(@_);
}

my $data = <<'EOF';
From: jesse@example.com
Expand All @@ -15,11 +20,31 @@ Bear Stearns, a failed investment Bank. I have
access to USD6,000,000. ...
EOF

my $msg = Stream::Server::Message->new($data);

sub load_data {
=head2 add_child PARAMHASH
Creates a sub-mailbox of this mailbox; the class of the mailbox
created is determined by the C<class> value in the paramhash. In all
other respects, identical to L<Net::IMAP::Server::Mailbox/add_child>.
=cut

sub add_child {
my $self = shift;
$self->add_message($msg);
my %args = @_;

my $class = $args{class} ? "Stream::Server::Mailbox::$args{class}" : "Stream::Server
::Mailbox";
unless ($class->require) {
warn "$@: $class";
$class = "Stream::Server::Mailbox";
}

my $node = $class->new( { %args, parent => $self } );
return unless $node;
push @{ $self->children }, $node;
return $node;
}


1;
3 changes: 2 additions & 1 deletion server/lib/Stream/Server/Model.pm
Expand Up @@ -7,7 +7,8 @@ use Stream::Server::Mailbox;
sub init {
my $self = shift;
$self->root( Stream::Server::Mailbox->new() );
$self->root->add_child( name => "INBOX" );
$self->root->add_child( name => "Facebook", class => 'Facebook' );
$self->root->add_child( name => "Twitter", class => 'Twitter' );
}

no Moose;
Expand Down
12 changes: 12 additions & 0 deletions server/lib/Stream/Server/Server.pm
@@ -1,5 +1,17 @@
package Stream::Server::Server;
use Moose;
extends 'Net::IMAP::Server';
use Module::Refresh;

sub capability {
my $self = shift;
my $c = $self->SUPER::capability;
return $c;

}

after process_request => sub {
Module::Refresh->refresh();
};

1;

0 comments on commit 95b8671

Please sign in to comment.