Added last changes for MIB counters

This commit is contained in:
Michiel Broek 2008-02-10 13:29:41 +00:00
parent 5603bf0e87
commit fa5f6ab150
5 changed files with 323 additions and 20 deletions

View File

@ -3,6 +3,9 @@ $Id$
v0.95.1 07-Jan-2008 v0.95.1 07-Jan-2008
mbtask:
Added last changes for MIB counters.
script: script:
Added support for Zenwalk. Added support for Zenwalk.

View File

@ -14,7 +14,7 @@
</HEAD> </HEAD>
<BODY> <BODY>
<BLOCKQUOTE> <BLOCKQUOTE>
<div align="right"><h5>Last update 17-Oct-2005</h5></div> <div align="right"><h5>Last update 10-Feb-2008</h5></div>
<div align="center"><H1>mbtask - MBSE BBS Taskmanager</H1></div> <div align="center"><H1>mbtask - MBSE BBS Taskmanager</H1></div>
<H3>Sysopsis.</H3> <H3>Sysopsis.</H3>
@ -173,7 +173,7 @@ this condition. Replies can also contain optional data. Examples:<br>
</pre> </pre>
Because data fields in commands and replies are separated and terminated by Because data fields in commands and replies are separated and terminated by
, and ; characters these characters need to be escaped. Also characters outside , and ; characters these characters need to be escaped. Also characters outside
the us-ascii range must be escaped. This is done by ttranslating the character the us-ascii range must be escaped. This is done by translating the character
to a backslash followed by the hexadecimal number of the character. to a backslash followed by the hexadecimal number of the character.
The server has a 10 minute timeout for receiving data when a connection The server has a 10 minute timeout for receiving data when a connection
is established. The clients need to "ping" the server at regular intervals is established. The clients need to "ping" the server at regular intervals
@ -192,6 +192,7 @@ Axxx Accounting, system monitor info etc.
Cxxx Chatting Cxxx Chatting
Dxxx Disk watch Dxxx Disk watch
Gxxx Global commands. Gxxx Global commands.
Mxxx MIB commands.
Sxxx Status commands. Sxxx Status commands.
@ -320,9 +321,6 @@ Command: GMON:1,n; Get registration info line, 1=First, 0=N
Reply: 100:7,pid,tty,user,program,city,isdoing,starttime; Reply: 100:7,pid,tty,user,program,city,isdoing,starttime;
100:0; No more lines. 100:0; No more lines.
Command: GDST:0; Get filesystem status. Obsolete, use DGFS instead.
100:n,data1, ..., data10; Maximum 10 filesystems datalines.
Command: GSYS:0; Get bbs statistics. Command: GSYS:0; Get bbs statistics.
100:7,calls,pots_calls,isdn_calls,network_calls,local_calls,startdate,lastcaller; 100:7,calls,pots_calls,isdn_calls,network_calls,local_calls,startdate,lastcaller;
@ -334,6 +332,57 @@ Command: GLCR:1,recno; Get Lastcaller record
201:1,16; Not available. 201:1,16; Not available.
Group M, MIB commands.
Command: MSMS:6,kbrcvd,kbsent,direction,state,itype,freqs; Set Mailer Session
Reply: 100,0;
Command: MGMS:0; Get Mailer Session
Reply: 100:12,kbrcvd,kbsent,sessin,sessout,sess_sec,sess_unseq,sess_bad,ftsc,yoohoo,emsi,binkp,freqs;
Command: MSTN:3,in,out,bad; Set Tosser Netmail
Reply: 100,0;
Command: MGTN:0; Get Tosser Netmail
Reply: 100:3,in,out,bad;
Command: MSTI:3,in,out,bad; Set Tosser Internet-email
Reply: 100,0;
Command: MGTI:0; Get Tosser Internet-email
Reply: 100:3,in,out,bad;
Command: MSTE:4,in,out,bad,dupe; Set Tosser Echomail
Reply: 100:0;
Command: MGTE:0; Get Tosser Echomail
Reply: 100:4,in,out,bad,dupe;
Command: MSTR:4,in,out,bad,dupe; Set Tosser RFC-news
Reply: 100:0;
Command: MGTR:0; Get Tosser RFC-news
Reply: 100:4,in,out,bad,dupe;
Command: MGTT:0; Get Tosser Totals
Reply: 100:4,in,out,bad,dupe;
Command: MSFF:6,in,out,bad,dupe,magics,hatched; Set Tosser Files
Reply: 100:0;
Command: MGFF:0; Get Tosser Files
Reply: 100:6,in,out,bad,dupe,magics,hatched;
Command: MSBB:9,sessions,minutes,posted,uploads,kbupload,downloads,kbdownload,chats,chatminutes; Set BBS
Reply: 100:0;
Command: MGBB:0; Get BBS
Reply: 100:9,sessions,minutes,posted,uploads,kbupload,downloads,kbdownload,chats,chatminutes
Command: MGOB:0; Get Outbound Size
Reply: 100:1,size;
Group S, Status commands. Group S, Status commands.
Command: SBBS:0; Get BBS Status (open, zmh, shutdown). Command: SBBS:0; Get BBS Status (open, zmh, shutdown).

View File

@ -4,7 +4,7 @@
* Purpose ...............: MBSE BBS Daemon * Purpose ...............: MBSE BBS Daemon
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2007 * Copyright (C) 1997-2008
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -490,18 +490,6 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* GDST:0; Obsolete!
* 100:n,data1,..,data10;
*/
// if (strncmp(cmd, "GDST", 4) == 0) {
// buf = calloc(SS_BUFSIZE, sizeof(char));
// disk_getfs_r(buf);
// snprintf(obuf, SS_BUFSIZE, "%s", buf);
// free(buf);
// return obuf;
// }
/* /*
* GSYS:0; * GSYS:0;
* 100:7,calls,pots_calls,isdn_calls,network_calls,local_calls,startdate,last_caller; * 100:7,calls,pots_calls,isdn_calls,network_calls,local_calls,startdate,last_caller;
@ -565,6 +553,20 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* MIB Get Mailer Session
*
* MGMS:0;
* 100:12,kbrcvd,kbsent,sessin,sessout,sess_sec,sess_unseq,sess_bad,ftsc,yoohoo,emsi,binkp,freqs;
*/
if (strncmp(cmd, "MGMS", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_mailer_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/* /*
* MIB Set Tosser Netmail * MIB Set Tosser Netmail
* *
@ -576,6 +578,20 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* MIB Get Tosser Netmail
*
* MGTN:0;
* 100:3,in,out,bad;
*/
if (strncmp(cmd, "MGTN", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_netmail_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/* /*
* MIB Set Tosser Internet-email * MIB Set Tosser Internet-email
* *
@ -587,6 +603,20 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* MIB Get Tosser Internet-email
*
* MGTI:0;
* 100:3,in,out,bad;
*/
if (strncmp(cmd, "MGTI", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_netmail_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/* /*
* MIB Set Tosser Echomail * MIB Set Tosser Echomail
* *
@ -598,6 +628,20 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* MIB Get Tosser Echomail
*
* MGTE:0;
* 100:4,in,out,bad,dupe;
*/
if (strncmp(cmd, "MGTE", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_echo_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/* /*
* MIB Set Tosser RFC-news * MIB Set Tosser RFC-news
* *
@ -609,6 +653,34 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* MIB Get Tosser RFC-news
*
* MGTR:0;
* 100:4,in,out,bad,dupe;
*/
if (strncmp(cmd, "MGTR", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_news_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/*
* MIB Get Tosser Totals
*
* MGTT:0;
* 100:4,in,out,bad,dupe;
*/
if (strncmp(cmd, "MGTT", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_tosser_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/* /*
* MIB Set Tosser Files * MIB Set Tosser Files
* *
@ -620,6 +692,58 @@ char *exe_cmd(char *in)
return obuf; return obuf;
} }
/*
* MIB Get Tosser Files
*
* MGFF:0;
* 100:6,in,out,bad,dupe,magics,hatched;
*/
if (strncmp(cmd, "MGTT", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_files_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/*
* MIB Set BBS
*
* MSBB:9,sessions,minutes,posted,uploads,kbupload,downloads,kbdownload,chats,chatminutes;
* 100:0;
*/
if (strncmp(cmd, "MSBB", 4) == 0) {
mib_set_bbs(token);
return obuf;
}
/*
* MIB Get BBS
*
* MGBB:0;
* 100:9,sessions,minutes,posted,uploads,kbupload,downloads,kbdownload,chats,chatminutes;
*/
if (strncmp(cmd, "MGBB", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_bbs_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/*
* MIB Get Outbound Size
*
* MGOB:0;
* 100:1,size;
*/
if (strncmp(cmd, "MGOB", 4) == 0) {
buf = calloc(SS_BUFSIZE, sizeof(char));
mib_get_outsize_r(buf);
snprintf(obuf, SS_BUFSIZE, "%s", buf);
free(buf);
return obuf;
}
/* /*
* The (S)tatus commands. * The (S)tatus commands.

View File

@ -4,7 +4,7 @@
* Purpose ...............: Keep track of server status * Purpose ...............: Keep track of server status
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2007 * Copyright (C) 1997-2008
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -558,6 +558,18 @@ void mib_set_mailer(char *data)
void mib_get_mailer_r(char *buf)
{
snprintf(buf, 127, "100:12,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d;",
status.mkbrcvd, status.mkbsent, status.msessin,
status.msessout, status.msesssecure, status.msessunsec, status.msessbad,
status.mftsc, status.myoohoo, status.memsi, status.mbinkp, status.mfreqs);
return;
}
void mib_set_netmail(char *data) void mib_set_netmail(char *data)
{ {
unsigned int in, out, bad; unsigned int in, out, bad;
@ -582,6 +594,14 @@ void mib_set_netmail(char *data)
void mib_get_netmail_r(char *buf)
{
snprintf(buf, 127, "100:3,%d,%d,%d;", status.tnetin, status.tnetout, status.tnetbad);
return;
}
void mib_set_email(char *data) void mib_set_email(char *data)
{ {
unsigned int in, out, bad; unsigned int in, out, bad;
@ -599,7 +619,7 @@ void mib_set_email(char *data)
status.tmsgsbad += bad; status.tmsgsbad += bad;
status.temailbad += bad; status.temailbad += bad;
Syslog('m', "MIB netmail: in=%d out=%d bad=%d in=%d out=%d bad=%d", status.tmsgsin, status.tmsgsout, status.tmsgsbad, Syslog('m', "MIB email: in=%d out=%d bad=%d in=%d out=%d bad=%d", status.tmsgsin, status.tmsgsout, status.tmsgsbad,
status.temailin, status.temailout, status.temailbad); status.temailin, status.temailout, status.temailbad);
status_write(); status_write();
@ -607,6 +627,14 @@ void mib_set_email(char *data)
void mib_get_email_r(char *buf)
{
snprintf(buf, 127, "100:3,%d,%d,%d;", status.temailin, status.temailout, status.temailbad);
return;
}
void mib_set_news(char *data) void mib_set_news(char *data)
{ {
unsigned int in, out, bad, dupe; unsigned int in, out, bad, dupe;
@ -637,6 +665,14 @@ void mib_set_news(char *data)
void mib_get_news_r(char *buf)
{
snprintf(buf, 127, "100:4,%d,%d,%d,%d;", status.tnewsin, status.tnewsout, status.tnewsbad, status.tnewsdupe);
return;
}
void mib_set_echo(char *data) void mib_set_echo(char *data)
{ {
unsigned int in, out, bad, dupe; unsigned int in, out, bad, dupe;
@ -666,6 +702,22 @@ void mib_set_echo(char *data)
void mib_get_echo_r(char *buf)
{
snprintf(buf, 127, "100:4,%d,%d,%d,%d;", status.techoin, status.techoout, status.techobad, status.techodupe);
return;
}
void mib_get_tosser_r(char *buf)
{
snprintf(buf, 127, "100:4,%d,%d,%d,%d;", status.tmsgsin, status.tmsgsout, status.tmsgsbad, status.tmsgsdupe);
return;
}
void mib_set_files(char *data) void mib_set_files(char *data)
{ {
unsigned int in, out, bad, dupe, magics, hatched; unsigned int in, out, bad, dupe, magics, hatched;
@ -695,6 +747,15 @@ void mib_set_files(char *data)
void mib_get_files_r(char *buf)
{
snprintf(buf, 127, "100:6,%d,%d,%d,%d,%d,%d;", status.tfilesin, status.tfilesout, status.tfilesbad, status.tfilesdupe,
status.tfilesmagic, status.tfileshatched);
return;
}
void mib_set_outsize(unsigned int size) void mib_set_outsize(unsigned int size)
{ {
status.ooutsize = size; status.ooutsize = size;
@ -703,3 +764,57 @@ void mib_set_outsize(unsigned int size)
status_write(); status_write();
} }
void mib_get_outsize_r(char *buf)
{
snprintf(buf, 127, "100:1,%d;", status.ooutsize);
return;
}
void mib_set_bbs(char *data)
{
unsigned int sessions, minutes, posted, uploads, kbupload, downloads, kbdownload, chats, chatminutes;
Syslog('m', "MIB set bbs %s", data);
strtok(data, ",");
sessions = atoi(strtok(NULL, ","));
minutes = atoi(strtok(NULL, ","));
posted = atoi(strtok(NULL, ","));
uploads = atoi(strtok(NULL, ","));
kbupload = atoi(strtok(NULL, ","));
downloads = atoi(strtok(NULL, ","));
kbdownload = atoi(strtok(NULL, ","));
chats = atoi(strtok(NULL, ","));
chatminutes = atoi(strtok(NULL, ";"));
status.bsessions += sessions;
status.bminutes += minutes;
status.bposted += posted;
status.buploads += uploads;
status.bkbupload += kbupload;
status.bdownloads += downloads;
status.bkbdownload += kbdownload;
status.bchats += chats;
status.bchatminutes += chatminutes;
Syslog('m', "MIB bbs: sess=%d mins=%d posted=%d upls=%d kbup=%d downs=%d kbdown=%d chat=%d chatmins=%d",
status.bsessions, status.bminutes, status.bposted, status.buploads, status.bkbupload,
status.bdownloads, status.bkbdownload, status.bchats, status.bchatminutes);
status_write();
}
void mib_get_bbs_r(char *buf)
{
snprintf(buf, 127, "100:9,%d,%d,%d,%d,%d,%d,%d,%d,%d;",
status.bsessions, status.bminutes, status.bposted, status.buploads, status.bkbupload,
status.bdownloads, status.bkbdownload, status.bchats, status.bchatminutes);
return;
}

View File

@ -24,12 +24,24 @@ void sem_status_r(char *, char *); /* Get semafore status */
void sem_create_r(char *, char *); /* Create semafore */ void sem_create_r(char *, char *); /* Create semafore */
void sem_remove_r(char *, char *); /* Remove semafore */ void sem_remove_r(char *, char *); /* Remove semafore */
void mib_set_mailer(char *); /* MIB set mailer data */ void mib_set_mailer(char *); /* MIB set mailer data */
void mib_get_mailer_r(char *); /* MIB get mailer data */
void mib_set_netmail(char *); /* MIB set netmail data */ void mib_set_netmail(char *); /* MIB set netmail data */
void mib_get_netmail_r(char *); /* MIB get netmail data */
void mib_set_email(char *); /* MIB set email data */ void mib_set_email(char *); /* MIB set email data */
void mib_get_email_r(char *); /* MIB get email data */
void mib_set_news(char *); /* MIB set news data */ void mib_set_news(char *); /* MIB set news data */
void mib_get_news_r(char *); /* MIB get news data */
void mib_set_echo(char *); /* MIB set echomail data */ void mib_set_echo(char *); /* MIB set echomail data */
void mib_get_echo_r(char *); /* MIB get echomail data */
void mib_set_files(char *); /* MIB set files data */ void mib_set_files(char *); /* MIB set files data */
void mib_get_files_r(char *); /* MIB get files data */
void mib_set_outsize(unsigned int); /* MIB set outbound size */ void mib_set_outsize(unsigned int); /* MIB set outbound size */
void mib_get_outsize_r(char *); /* MIB get outbound size */
void mib_get_tosser_r(char *); /* MIB get tosser data */
void mib_set_bbs(char *); /* MIB set bbs data */
void mib_get_bbs_r(char *); /* MIB get bbs data */
#endif #endif