X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=submit%2FMO%2FSubmit.pm;h=4497eef41ea391637633141bc167cfcc2c473f07;hb=de55454b05f3fee3c8268c5c5d299c31bd212811;hp=3491d81c7f1cea4c88aa701e4bc1ce99d8098d77;hpb=3043ffa0cb666e509d5b07e479ead4792fbf722d;p=eval.git diff --git a/submit/MO/Submit.pm b/submit/MO/Submit.pm index 3491d81..4497eef 100644 --- a/submit/MO/Submit.pm +++ b/submit/MO/Submit.pm @@ -9,19 +9,28 @@ use warnings; use IO::Socket::INET; use IO::Socket::SSL; # qw(debug3); use Sherlock::Object; +use POSIX; sub new($) { + my $user = $ENV{"USER"} or die "Environment variable USER not set\n"; + my $home = $ENV{"HOME"} or die "Environment variable HOME not set\n"; + my $mo = "$home/.mo"; + my $root = $ENV{"MO_ROOT"} or die "Environment variable MO_ROOT not set\n"; my $self = { - "Server" => "localhost:8888", - "Key" => "client-key.pem", - "Cert" => "client-cert.pem", - "CACert" => "ca-cert.pem", - "Trace" => 0, - "user" => "testuser", + "Contest" => "CPSPC 2007", + "Server" => "kamzice.ms.mff.cuni.cz:8888", + "Key" => "$mo/key.pem", # Keys and certificates + "Cert" => "$mo/cert.pem", + "CACert" => "$mo/ca-cert.pem", + "Trace" => defined $ENV{"MO_SUBMIT_TRACE"}, + "Checks" => 1, +# "History" => "$home/.history", # Keep submission history in this directory + "RefreshTimer" => 60000, # How often GUI sends STATUS commands [ms] + "root" => $root, + "user" => $user, "sk" => undef, "error" => undef, }; - # FIXME: Read config file return bless $self; } @@ -32,7 +41,7 @@ sub DESTROY($) { sub log($$) { my ($self, $msg) = @_; - print STDERR "LOG: $msg\n" if $self->{"Trace"}; + print STDERR "SUBMIT: $msg\n" if $self->{"Trace"}; } sub err($$) { @@ -86,9 +95,9 @@ sub connect($) { $sk, SSL_version => 'TLSv1', SSL_use_cert => 1, - SSL_key_file => "client-key.pem", - SSL_cert_file => "client-cert.pem", - SSL_ca_file => "ca-cert.pem", + SSL_key_file => $self->{"Key"}, + SSL_cert_file => $self->{"Cert"}, + SSL_ca_file => $self->{"CACert"}, SSL_verify_mode => 3, ); if (!defined $sk) { @@ -155,4 +164,11 @@ sub send_file($$$) { return $self->reply; } +sub local_submit($$$$$) { + my ($self, $task, $part, $ext, $filename) = @_; + my $hist = $self->{"History"}; + -d $hist or mkdir $hist or return "Unable to create $hist: $!"; + ### FIXME: Unfinished +} + 1;