diff --git a/exec/nntpservice.js b/exec/nntpservice.js index bc535e52a16d3b97872575aa2af54912e179f73f..7429d800ba9d5b56be631b985fd6434b7c38472b 100644 --- a/exec/nntpservice.js +++ b/exec/nntpservice.js @@ -95,6 +95,7 @@ var username=''; var msgbase=null; var selected=null; var current_article=0; +var quit=false; writeln(format("200 %s News (Synchronet %s%s-%s NNTP Service %s)" ,system.name,system.version,system.revision,system.platform,REVISION)); @@ -102,7 +103,7 @@ writeln(format("200 %s News (Synchronet %s%s-%s NNTP Service %s)" if(!no_anonymous) login("guest"); // Login as guest/anonymous by default -while(client.socket.is_connected) { +while(client.socket.is_connected && !quit) { // Get Request cmdline = client.socket.recvline(512 /*maxlen*/, 300 /*timeout*/); @@ -163,7 +164,7 @@ while(client.socket.is_connected) { continue; case "QUIT": writeln("205 closing connection - goodbye!"); - client.socket.close(); + quit=true; continue; } @@ -558,7 +559,7 @@ while(client.socket.is_connected) { //log(format("msgtxt: %s",line)); if(line==".") { - log("End of message text"); + log(format("End of message text (%u chars)",body.length)); break; } if(line=="" && header) { @@ -624,7 +625,8 @@ while(client.socket.is_connected) { if(msgbase.open!=undefined && msgbase.open()==false) continue; if(msgbase.save_msg(hdr,body)) { - log(format("%s posted a message on %s",user.alias,newsgroups[n])); + log(format("%s posted a message (%lu chars) on %s" + ,user.alias, body.length, newsgroups[n])); writeln("240 article posted ok"); posted=true; msgs_posted++;