Changeset 12347 for lang/perl/Punc/trunk
- Timestamp:
- 05/25/08 21:05:44 (6 months ago)
- Location:
- lang/perl/Punc/trunk
- Files:
-
- 7 modified
-
bin/puncd (modified) (1 diff)
-
bin/puncmaster-ca (modified) (1 diff)
-
bin/puncmasterd (modified) (1 diff)
-
lib/Punc/Daemon.pm (modified) (1 diff)
-
lib/Punc/Master/CA.pm (modified) (1 diff)
-
lib/Punc/Master/Daemon.pm (modified) (2 diffs)
-
lib/Punc/Slave/Daemon.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Punc/trunk/bin/puncd
r12217 r12347 33 33 conf => $conf, 34 34 context => Punc->new->context, 35 }) ->init;35 }); 36 36 37 $daemon-> prepare->run;37 $daemon->run; -
lang/perl/Punc/trunk/bin/puncmaster-ca
r11834 r12347 21 21 my $ssldir = File::Spec->catdir($confdir, 'ssl'); 22 22 my $ca = Punc::Master::CA->new({ ssldir => $ssldir }); 23 $ca->init;24 23 25 24 for ( qw/ sign list / ) { -
lang/perl/Punc/trunk/bin/puncmasterd
r12217 r12347 30 30 context => Punc->new->context, 31 31 conf => $conf, 32 }) ->init;32 }); 33 33 34 $daemon-> prepare->run;34 $daemon->run; 35 35 36 36 -
lang/perl/Punc/trunk/lib/Punc/Daemon.pm
r11777 r12347 15 15 has 'ssl_cert' => ( is => 'rw', isa => 'Str' ); 16 16 has 'ca_cert' => ( is => 'rw', isa => 'Str' ); 17 has 'daemon' => ( is => 'rw', isa => 'HTTP::Daemon::SSL' );18 17 19 sub prepare{18 sub run { 20 19 my $self = shift; 21 20 22 21 my $ssl_verify_mode = ref $self eq 'Punc::Master::Daemon' ? 0x00 : 0x07; 23 22 24 $self->daemon( 25 HTTP::Daemon::SSL->new( 26 LocalPort => $self->port, 27 ReuseAddr => 1, 28 SSL_key_file => $self->ssl_key, 29 SSL_cert_file => $self->ssl_cert, 30 SSL_ca_file => $self->ca_cert || '', 31 SSL_verify_mode => $ssl_verify_mode, 32 ) 23 my $d = HTTP::Daemon::SSL->new( 24 LocalPort => $self->port, 25 ReuseAddr => 1, 26 SSL_key_file => $self->ssl_key, 27 SSL_cert_file => $self->ssl_cert, 28 SSL_ca_file => $self->ca_cert || '', 29 SSL_verify_mode => $ssl_verify_mode, 33 30 ); 34 35 die $! unless $self->daemon;36 37 return $self;38 }39 40 sub run {41 my $self = shift;42 my $d = $self->daemon;43 31 44 32 print "Please contact me at: <URL:", $d->url, ">\n"; -
lang/perl/Punc/trunk/lib/Punc/Master/CA.pm
r11834 r12347 6 6 7 7 has 'ssldir' => ( is => 'rw', isa => 'Str' ); 8 has 'csrdir' => ( is => 'rw', isa => 'Str' ); 9 has 'certdir' => ( is => 'rw', isa => 'Str' ); 10 has 'cadir' => ( is => 'rw', isa => 'Str' ); 11 12 sub init { 13 my $self = shift; 14 $self->csrdir( File::Spec->catdir($self->ssldir, 'csrs') ); 15 $self->certdir( File::Spec->catdir($self->ssldir, 'certs') ); 16 $self->cadir( File::Spec->catdir($self->ssldir, 'ca') ); 17 } 8 has 'csrdir' => ( 9 is => 'rw', 10 isa => 'Str', 11 default => sub { File::Spec->catdir(shift->ssldir, 'csrs') }, 12 lazy => 1, 13 ); 14 has 'certdir' => ( 15 is => 'rw', 16 isa => 'Str', 17 default => sub { File::Spec->catdir(shift->ssldir, 'certs') }, 18 lazy => 1, 19 ); 20 has 'cadir' => ( 21 is => 'rw', 22 isa => 'Str', 23 default => sub { File::Spec->catdir(shift->ssldir, 'ca') }, 24 lazy => 1, 25 ); 18 26 19 27 sub get_hostname_from_csr { -
lang/perl/Punc/trunk/lib/Punc/Master/Daemon.pm
r12217 r12347 18 18 ); 19 19 20 sub init { 20 has 'ssl_key' => ( 21 is => 'rw', 22 isa => 'Str', 23 default => sub { File::Spec->catfile(shift->ca->cadir, 'ca.key') }, 24 lazy => 1, 25 ); 26 27 has 'ssl_cert' => ( 28 is => 'rw', 29 isa => 'Str', 30 default => sub { File::Spec->catfile(shift->ca->cadir, 'ca.cert') }, 31 lazy => 1, 32 ); 33 34 before 'run' => sub { 21 35 my $self = shift; 22 36 … … 26 40 }) 27 41 ); 28 $self->ca->init;29 42 30 43 $self->_find_or_create_ca_cert($self->context); 31 32 $self->ssl_key( File::Spec->catfile($self->ca->cadir, 'ca.key') ); 33 $self->ssl_cert( File::Spec->catfile($self->ca->cadir, 'ca.cert') ); 34 return $self; 35 } 44 }; 36 45 37 46 sub _find_or_create_ca_cert { -
lang/perl/Punc/trunk/lib/Punc/Slave/Daemon.pm
r12217 r12347 11 11 with 'Punc::Daemon::Role'; 12 12 13 has 'keydir' => ( is => 'rw', isa => 'Str' ); 14 has 'certdir' => ( is => 'rw', isa => 'Str' ); 15 has 'ssldir' => ( is => 'rw', isa => 'Str' ); 16 has 'csrdir' => ( is => 'rw', isa => 'Str' ); 13 has 'ssldir' => ( 14 is => 'rw', 15 isa => 'Str', 16 default => sub { File::Spec->catdir(shift->confdir, 'ssl') }, 17 lazy => 1, 18 ); 17 19 18 sub init { 20 has 'keydir' => ( 21 is => 'rw', 22 isa => 'Str', 23 default => sub { File::Spec->catdir(shift->ssldir, 'keys') }, 24 lazy => 1, 25 ); 26 27 has 'csrdir' => ( 28 is => 'rw', 29 isa => 'Str', 30 default => sub { File::Spec->catdir(shift->ssldir, 'csrs') }, 31 lazy => 1, 32 ); 33 34 has 'certdir' => ( 35 is => 'rw', 36 isa => 'Str', 37 default => sub { File::Spec->catdir(shift->ssldir, 'certs') }, 38 lazy => 1, 39 ); 40 41 has 'fqdn' => ( 42 is => 'rw', 43 isa => 'Str', 44 default => sub { Punc->context->fact('fqdn') }, 45 ); 46 47 has 'ssl_key' => ( 48 is => 'rw', 49 isa => 'Str', 50 default => sub { 51 my $self = shift; 52 File::Spec->catfile($self->keydir, $self->fqdn . '.key'); 53 }, 54 lazy => 1, 55 ); 56 57 has 'ssl_cert' => ( 58 is => 'rw', 59 isa => 'Str', 60 default => sub { 61 my $self = shift; 62 File::Spec->catfile($self->certdir, $self->fqdn . '.cert'); 63 }, 64 lazy => 1, 65 ); 66 67 has 'ca_cert' => ( 68 is => 'rw', 69 isa => 'Str', 70 default => sub { File::Spec->catfile(shift->certdir, 'ca.cert'); }, 71 lazy => 1, 72 ); 73 74 before 'run' => sub { 19 75 my $self = shift; 20 21 76 $self->_find_or_request_cert($self->context); 22 23 my $fqdn = $self->context->fact('fqdn'); 24 25 $self->ssl_key( File::Spec->catfile($self->keydir, "${fqdn}.key") ); 26 $self->ssl_cert( File::Spec->catfile($self->certdir, "${fqdn}.cert") ); 27 $self->ca_cert( File::Spec->catfile($self->certdir, 'ca.cert') ); 28 29 return $self; 30 } 77 }; 31 78 32 79 sub _find_or_request_cert { 33 80 my ( $self, $c ) = @_; 34 35 $self->ssldir( File::Spec->catdir($self->confdir, 'ssl') );36 $self->certdir( File::Spec->catdir($self->ssldir, 'certs') );37 $self->keydir( File::Spec->catdir($self->ssldir, 'keys') );38 $self->csrdir( File::Spec->catdir($self->ssldir, 'csrs') );39 81 40 82 mkpath($self->certdir) unless -d $self->certdir;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)