Mailing List Archive

svn commit: r434295 - /spamassassin/branches/tvd-multi-mass-check/masses/mass-check
Author: felicity
Date: Wed Aug 23 20:24:28 2006
New Revision: 434295

URL: http://svn.apache.org/viewvc?rev=434295&view=rev
Log:
very initial work to get server mode functioning

Modified:
spamassassin/branches/tvd-multi-mass-check/masses/mass-check

Modified: spamassassin/branches/tvd-multi-mass-check/masses/mass-check
URL: http://svn.apache.org/viewvc/spamassassin/branches/tvd-multi-mass-check/masses/mass-check?rev=434295&r1=434294&r2=434295&view=diff
==============================================================================
--- spamassassin/branches/tvd-multi-mass-check/masses/mass-check (original)
+++ spamassassin/branches/tvd-multi-mass-check/masses/mass-check Wed Aug 23 20:24:28 2006
@@ -328,6 +328,54 @@
else {
($total_messages, $messages) = $iter->message_array(\@targets);
}
+
+ if ($opt_progress) {
+ status("completed scan stage, $total_messages messages");
+ }
+}
+
+if ($opt_server) {
+ my $serv_socket = IO::Socket::INET->new(LocalPort => 8080,
+ Proto => 'tcp',
+ Listen => 5,
+ Reuse => 1);
+
+ die "Could not create socket: $!\n" unless $serv_socket;
+
+ if ($opt_progress) {
+ status('server ready for connections');
+ }
+
+ my $select = IO::Select->new( $serv_socket );
+
+ while ($select->count()) {
+ foreach my $socket ($select->can_read()) {
+ if ($socket == $serv_socket) {
+ $select->add($serv_socket->accept);
+ }
+ else {
+ my $line = $socket->getline();
+
+ print $socket join("\r\n",
+ "HTTP/1.0 200 OK",
+ "Content-type: text/html",
+ "",
+ "Your IP Address: ".$socket->peerhost,
+ "There are $total_messages messages ready",
+ "");
+
+ $select->remove($socket);
+ $socket->close;
+ $select->remove($serv_socket) if ($line =~ /^quit/i);
+ }
+ }
+ }
+
+ exit;
+}
+
+if ($opt_progress) {
+ status('starting run stage');
}

# If opt_j isn't given, just use the normal AI code ...
@@ -477,9 +525,6 @@

# if $messages < $updates, just give a status line per msg.
$statusevery ||= 1;
-
- status("completed scan stage, $total_messages messages");
- status('starting run stage');
}

if ($opt_o) {