Release 0.95.11, patches by Scott Street. Netmail nodelist sysop lookup added and some fixes
This commit is contained in:
parent
ca3a2c9d0e
commit
20e7a332c9
17
ChangeLog
17
ChangeLog
@ -1,3 +1,20 @@
|
|||||||
|
v0.95.11 14-Jan-2011 (patches by Scott Street).
|
||||||
|
|
||||||
|
mbselib:
|
||||||
|
Fixed memory corruption error in mbnntp.
|
||||||
|
Added sysop in nodelist search function.
|
||||||
|
|
||||||
|
mbsebbs:
|
||||||
|
Fixed several (possible) buffer overflows, some serious ones.
|
||||||
|
Added lookup sysop in nodelist for netmail messages.
|
||||||
|
|
||||||
|
mbtask:
|
||||||
|
Fixed several (possible) buffer overflows.
|
||||||
|
|
||||||
|
lang:
|
||||||
|
Added language prompts 480 and 481.
|
||||||
|
|
||||||
|
|
||||||
v0.95.10 26-Aug-2010 (released by Vince Coen).
|
v0.95.10 26-Aug-2010 (released by Vince Coen).
|
||||||
|
|
||||||
mbsetup:
|
mbsetup:
|
||||||
|
6
configure
vendored
6
configure
vendored
@ -2274,10 +2274,10 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="0"
|
MAJOR="0"
|
||||||
MINOR="95"
|
MINOR="95"
|
||||||
REVISION="10"
|
REVISION="11"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2010 Michiel Broek, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2011 Michiel Broek, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2010 M. Broek"
|
SHORTRIGHT="Copyright (C) 1997-2011 M. Broek"
|
||||||
GROUP="bbs"
|
GROUP="bbs"
|
||||||
OWNER="mbse"
|
OWNER="mbse"
|
||||||
ROWNER="`id -un root`"
|
ROWNER="`id -un root`"
|
||||||
|
@ -12,10 +12,10 @@ AC_SUBST(SUBDIRS)
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="0"
|
MAJOR="0"
|
||||||
MINOR="95"
|
MINOR="95"
|
||||||
REVISION="10"
|
REVISION="11"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2010 Michiel Broek, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2011 Michiel Broek, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2010 M. Broek"
|
SHORTRIGHT="Copyright (C) 1997-2011 M. Broek"
|
||||||
GROUP="bbs"
|
GROUP="bbs"
|
||||||
OWNER="mbse"
|
OWNER="mbse"
|
||||||
ROWNER="`id -un root`"
|
ROWNER="`id -un root`"
|
||||||
|
@ -478,3 +478,5 @@
|
|||||||
477 mail.c |Use your alias (
|
477 mail.c |Use your alias (
|
||||||
478 mail.c YN|) to post this message [Y/n]:
|
478 mail.c YN|) to post this message [Y/n]:
|
||||||
479 mail.c |No more areas with unread messages
|
479 mail.c |No more areas with unread messages
|
||||||
|
480 mail.c |Addresse not in Nodelist
|
||||||
|
481 mail.c |Found Addresse in Nodelist
|
||||||
|
@ -478,3 +478,5 @@ JN|Datei anhaengen [j/N]:
|
|||||||
|Moechten Sie Ihren Aliasnamen (
|
|Moechten Sie Ihren Aliasnamen (
|
||||||
JN|) als Absender verwenden [J/n]
|
JN|) als Absender verwenden [J/n]
|
||||||
|Keine weitere Bereiche mit ungelesenen Nachrichten
|
|Keine weitere Bereiche mit ungelesenen Nachrichten
|
||||||
|
|Addresse not in Nodelist
|
||||||
|
|Found Addresse in Nodelist
|
||||||
|
@ -478,3 +478,5 @@ YN|Attach file [y/N]:
|
|||||||
|Use your alias (
|
|Use your alias (
|
||||||
YN|) to post this message [Y/n]:
|
YN|) to post this message [Y/n]:
|
||||||
|No more areas with unread messages
|
|No more areas with unread messages
|
||||||
|
|Addresse not in Nodelist
|
||||||
|
|Found Addresse in Nodelist
|
||||||
|
@ -478,3 +478,5 @@ YN|Adjuntar fichero [s/N]:
|
|||||||
|Usar tu alias (
|
|Usar tu alias (
|
||||||
SN|) para este mensaje [S/n]:
|
SN|) para este mensaje [S/n]:
|
||||||
|No hay mas areas con mensajes no leidos
|
|No hay mas areas con mensajes no leidos
|
||||||
|
|Addresse not in Nodelist
|
||||||
|
|Found Addresse in Nodelist
|
||||||
|
@ -478,3 +478,5 @@ YN|Attach file [y/N]:
|
|||||||
|Use your alias (
|
|Use your alias (
|
||||||
YN|) to post this message [Y/n]:
|
YN|) to post this message [Y/n]:
|
||||||
|No more areas with unread messages
|
|No more areas with unread messages
|
||||||
|
|Addresse not in Nodelist
|
||||||
|
|Found Addresse in Nodelist
|
||||||
|
@ -478,3 +478,5 @@ YN|Adxuntar ficheiro [s/N]:
|
|||||||
|¨Queres usa-lo alias (
|
|¨Queres usa-lo alias (
|
||||||
SN|) nesta mensaxe? [S/n]:
|
SN|) nesta mensaxe? [S/n]:
|
||||||
|Non hai mais reas con mensaxes sen ler.
|
|Non hai mais reas con mensaxes sen ler.
|
||||||
|
|Addresse not in Nodelist
|
||||||
|
|Found Addresse in Nodelist
|
||||||
|
@ -478,3 +478,5 @@ JN|Bestand meesturen [j/N]:
|
|||||||
|Use your alias (
|
|Use your alias (
|
||||||
YN|) to post this message [Y/n]:
|
YN|) to post this message [Y/n]:
|
||||||
|Geen gebieden meer met ongelezen berichten
|
|Geen gebieden meer met ongelezen berichten
|
||||||
|
|Geadresseerde niet in de Nodelijst
|
||||||
|
|Geadresseerde gevonden in de nodelijst
|
||||||
|
@ -478,3 +478,5 @@ YN|Attach file [y/N]:
|
|||||||
|Use your alias (
|
|Use your alias (
|
||||||
YN|) to post this message [Y/n]:
|
YN|) to post this message [Y/n]:
|
||||||
|No more areas with unread messages
|
|No more areas with unread messages
|
||||||
|
|Addresse not in Nodelist
|
||||||
|
|Found Addresse in Nodelist
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: nntp.c,v 1.16 2008/12/28 12:20:14 mbse Exp $
|
|
||||||
* Purpose ...............: MBSE BBS Internet Library
|
* Purpose ...............: MBSE BBS Internet Library
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -249,7 +248,7 @@ int nntp_cmd(char *cmd, int resp)
|
|||||||
if (strncmp(p, rsp, strlen(rsp))) {
|
if (strncmp(p, rsp, strlen(rsp))) {
|
||||||
WriteError("NNTP> %s", cmd);
|
WriteError("NNTP> %s", cmd);
|
||||||
WriteError("NNTP< %s", p);
|
WriteError("NNTP< %s", p);
|
||||||
memset(&resp, 0, sizeof(rsp));
|
memset(rsp, 0, sizeof(rsp));
|
||||||
strncpy(rsp, p, 3);
|
strncpy(rsp, p, 3);
|
||||||
return atoi(rsp);
|
return atoi(rsp);
|
||||||
}
|
}
|
||||||
|
@ -1162,3 +1162,89 @@ retdummy:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
node_list *searchSysop( char *SysopName )
|
||||||
|
{
|
||||||
|
char nodeuserpath[256];
|
||||||
|
FILE *fp;
|
||||||
|
char fixedSysopName[36];
|
||||||
|
nlusr nluEntry;
|
||||||
|
faddr addr;
|
||||||
|
node_list *result;
|
||||||
|
node *nlEntry;
|
||||||
|
|
||||||
|
Syslog('n', "searchSysop: Arg(%s) started", SysopName );
|
||||||
|
|
||||||
|
result = NULL;
|
||||||
|
snprintf(nodeuserpath, 256, "%s/%s", CFG.nodelists, "node.users");
|
||||||
|
if ((fp = fopen(nodeuserpath, "r")) == NULL) {
|
||||||
|
WriteError("$Can't open %s", nodeuserpath);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fixup incoming sysop name to have _ for space
|
||||||
|
*/
|
||||||
|
memset( fixedSysopName, 0, 36 );
|
||||||
|
int i;
|
||||||
|
for ( i=0; i<strlen( SysopName ); i++ ){
|
||||||
|
if ( SysopName[i] == ' ' ){
|
||||||
|
fixedSysopName[i] = '_';
|
||||||
|
} else {
|
||||||
|
fixedSysopName[i] = SysopName[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
while (fread(&nluEntry, sizeof(nluEntry), 1, fp) == 1) {
|
||||||
|
|
||||||
|
if ( strcmp( fixedSysopName, nluEntry.user ) == 0 ){
|
||||||
|
|
||||||
|
addr.zone = nluEntry.zone;
|
||||||
|
addr.net = nluEntry.net;
|
||||||
|
addr.node = nluEntry.node;
|
||||||
|
addr.point = nluEntry.point;
|
||||||
|
addr.name = fixedSysopName;
|
||||||
|
addr.domain = NULL;
|
||||||
|
|
||||||
|
nlEntry = getnlent( &addr );
|
||||||
|
if ( NULL == nlEntry ) {
|
||||||
|
/* yikes */
|
||||||
|
Syslog('n',"searchSysop: Something terribly wrong happened with getnlent looking up (%d:%d/%d.%d)",
|
||||||
|
addr.zone, addr.net, addr.node, addr.point );
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
Syslog('n',"searchSysop: found NL Entry: Name:(%s) @ (%s)", nlEntry->name, nlEntry->location);
|
||||||
|
|
||||||
|
node_list *thisresult = result;
|
||||||
|
if (thisresult == NULL) {
|
||||||
|
result = malloc( sizeof(node_list));
|
||||||
|
result->next = NULL;
|
||||||
|
thisresult = result;
|
||||||
|
} else {
|
||||||
|
while ( thisresult->next != NULL ){
|
||||||
|
thisresult = thisresult->next;
|
||||||
|
}
|
||||||
|
thisresult->next = malloc( sizeof(node_list));
|
||||||
|
thisresult = thisresult->next;
|
||||||
|
thisresult->next = NULL;
|
||||||
|
}
|
||||||
|
thisresult->addr.zone = nlEntry->addr.zone;
|
||||||
|
thisresult->addr.net = nlEntry->addr.net;
|
||||||
|
thisresult->addr.node = nlEntry->addr.node;
|
||||||
|
thisresult->addr.point = nlEntry->addr.point;
|
||||||
|
strcpy( thisresult->Sysop, nlEntry->sysop );
|
||||||
|
strcpy( thisresult->Location, nlEntry->location);
|
||||||
|
strcpy( thisresult->Name, nlEntry->name );
|
||||||
|
|
||||||
|
}
|
||||||
|
if ( nluEntry.user[0] > fixedSysopName[0] ) { // Since list is sorted, abort once we get names that start after this one
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose( fp );
|
||||||
|
|
||||||
|
Syslog('n', "searchSysop: Arg(%s) ended", SysopName );
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,6 +41,16 @@ typedef struct _node {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _node_list {
|
||||||
|
struct _node_list *next;
|
||||||
|
faddr addr;
|
||||||
|
char Name[80];
|
||||||
|
char Sysop[80];
|
||||||
|
char Location[80];
|
||||||
|
} node_list;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Memory array structures read from nodelist.conf
|
* Memory array structures read from nodelist.conf
|
||||||
*/
|
*/
|
||||||
@ -122,7 +132,7 @@ nodelist_service *nl_service;
|
|||||||
int initnl(void);
|
int initnl(void);
|
||||||
void deinitnl(void);
|
void deinitnl(void);
|
||||||
node *getnlent(faddr *);
|
node *getnlent(faddr *);
|
||||||
|
node_list *searchSysop(char *);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: dispfile.c,v 1.26 2007/09/02 15:04:36 mbse Exp $
|
|
||||||
* Purpose ...............: Display ANSI/ASCII textfiles
|
* Purpose ...............: Display ANSI/ASCII textfiles
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2007
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -314,7 +313,7 @@ int DisplayFile(char *filename)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default: snprintf(tmp1, sizeof(tmp1)-1, "%c", buf[x]);
|
default: snprintf(tmp1, sizeof(tmp1)-1, "%c", buf[x]);
|
||||||
strncat(out, tmp1, sizeof(out));
|
strncat(out, tmp1, sizeof(out)-1);
|
||||||
} /* switch */
|
} /* switch */
|
||||||
} /* for */
|
} /* for */
|
||||||
|
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: email.c,v 1.35 2008/02/12 19:59:45 mbse Exp $
|
|
||||||
* Purpose ...............: Internet email
|
* Purpose ...............: Internet email
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2008
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -438,7 +437,7 @@ int Read_a_Email(unsigned int Num)
|
|||||||
* a reply will be made.
|
* a reply will be made.
|
||||||
*/
|
*/
|
||||||
if (strncasecmp(p, "\001Message-id: ", 13) == 0) {
|
if (strncasecmp(p, "\001Message-id: ", 13) == 0) {
|
||||||
snprintf(Msg.Msgid, 101, "%s", p+13);
|
snprintf(Msg.Msgid, sizeof(Msg.Msgid), "%s", p+13);
|
||||||
Syslog('m', "Stored Msgid \"%s\"", Msg.Msgid);
|
Syslog('m', "Stored Msgid \"%s\"", Msg.Msgid);
|
||||||
}
|
}
|
||||||
if (Kludges) {
|
if (Kludges) {
|
||||||
@ -747,9 +746,9 @@ void Reply_Email(int IsReply)
|
|||||||
Line = 1;
|
Line = 1;
|
||||||
Msg_New();
|
Msg_New();
|
||||||
|
|
||||||
snprintf(Msg.Replyid, 101, "%s", msgid);
|
snprintf(Msg.Replyid, sizeof(Msg.Replyid), "%s", msgid);
|
||||||
snprintf(Msg.ReplyTo, 101, "%s", replyto);
|
snprintf(Msg.ReplyTo, sizeof(Msg.ReplyTo), "%s", replyto);
|
||||||
snprintf(Msg.ReplyAddr, 101, "%s", replyaddr);
|
snprintf(Msg.ReplyAddr, sizeof(Msg.ReplyAddr), "%s", replyaddr);
|
||||||
|
|
||||||
/* From : */
|
/* From : */
|
||||||
pout(YELLOW, BLACK, (char *) Language(209));
|
pout(YELLOW, BLACK, (char *) Language(209));
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: fsedit.c,v 1.28 2007/08/25 18:32:08 mbse Exp $
|
|
||||||
* Purpose ...............: FullScreen Message editor.
|
* Purpose ...............: FullScreen Message editor.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2007
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -395,8 +394,11 @@ int FsWordWrap()
|
|||||||
if ((WCol == 80) && (Col >= WCol))
|
if ((WCol == 80) && (Col >= WCol))
|
||||||
WCol = strlen((char *)tmpLine)+1;
|
WCol = strlen((char *)tmpLine)+1;
|
||||||
else {
|
else {
|
||||||
if (tmpLine[strlen((char *)tmpLine)] != ' ')
|
if (tmpLine[strlen((char *)tmpLine)] != ' '){
|
||||||
snprintf((char *)tmpLine + strlen((char *)tmpLine), 1, " ");
|
int tmpLength=strlen((char *)tmpLine);
|
||||||
|
tmpLine[tmpLength] = ' ';
|
||||||
|
tmpLine[tmpLength+1] = '\0';
|
||||||
|
}
|
||||||
WCol = strlen((char *)tmpLine);
|
WCol = strlen((char *)tmpLine);
|
||||||
}
|
}
|
||||||
snprintf(Message[CurRow+1], TEXTBUFSIZE +1, "%s", strcat((char *)tmpLine, Message[CurRow+1]));
|
snprintf(Message[CurRow+1], TEXTBUFSIZE +1, "%s", strcat((char *)tmpLine, Message[CurRow+1]));
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: mail.c,v 1.69 2008/02/12 19:59:45 mbse Exp $
|
|
||||||
* Purpose ...............: Message reading and writing.
|
* Purpose ...............: Message reading and writing.
|
||||||
* Todo ..................: Implement message groups.
|
* Todo ..................: Implement message groups.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2008
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -503,8 +502,38 @@ void Post_Msg()
|
|||||||
} else if (msgs.Type == NETMAIL) {
|
} else if (msgs.Type == NETMAIL) {
|
||||||
x = FALSE;
|
x = FALSE;
|
||||||
Enter(1);
|
Enter(1);
|
||||||
pout(YELLOW, BLACK, (char *)"Address : ");
|
|
||||||
FidoNode = calloc(61, sizeof(char));
|
FidoNode = calloc(61, sizeof(char));
|
||||||
|
/*
|
||||||
|
* Search for Name in Sysop Index of Nodelist
|
||||||
|
*/
|
||||||
|
node_list *nodesSysop;
|
||||||
|
node_list *thisNode;
|
||||||
|
node_list *prevNode;
|
||||||
|
|
||||||
|
if ( NULL ==( nodesSysop=searchSysop(Msg.To) )){
|
||||||
|
snprintf(msg, 81, "%s\r\n\n", (char*)Language(480));
|
||||||
|
pout(RED, BLACK, msg);
|
||||||
|
} else {
|
||||||
|
snprintf(msg, 81, "%s\r\n\n", (char*)Language(481));
|
||||||
|
pout(GREEN, BLACK, msg);
|
||||||
|
thisNode = nodesSysop;
|
||||||
|
while ( thisNode != NULL ){
|
||||||
|
snprintf(msg, 81, "(%d:%d/%d:%d) %s @ %s\r\n",
|
||||||
|
thisNode->addr.zone, thisNode->addr.net,
|
||||||
|
thisNode->addr.node, thisNode->addr.point,
|
||||||
|
thisNode->Name, thisNode->Location);
|
||||||
|
pout(CYAN, BLACK, msg);
|
||||||
|
prevNode = thisNode;
|
||||||
|
thisNode = thisNode->next;
|
||||||
|
free( prevNode );
|
||||||
|
}
|
||||||
|
pout(YELLOW, BLACK, (char *)"\r\n");
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* End Search
|
||||||
|
*/
|
||||||
|
|
||||||
|
pout(YELLOW, BLACK, (char *)"Address : ");
|
||||||
colour(CFG.MsgInputColourF, CFG.MsgInputColourB);
|
colour(CFG.MsgInputColourF, CFG.MsgInputColourB);
|
||||||
GetstrC(FidoNode, 60);
|
GetstrC(FidoNode, 60);
|
||||||
|
|
||||||
@ -1610,9 +1639,9 @@ void Reply_Msg(int IsReply)
|
|||||||
Message[i] = (char *) calloc(MAX_LINE_LENGTH +1, sizeof(char));
|
Message[i] = (char *) calloc(MAX_LINE_LENGTH +1, sizeof(char));
|
||||||
Msg_New();
|
Msg_New();
|
||||||
|
|
||||||
strncpy(Msg.Replyid, msgid, 101);
|
strncpy(Msg.Replyid, msgid, sizeof(Msg.Replyid));
|
||||||
strncpy(Msg.ReplyTo, replyto, 101);
|
strncpy(Msg.ReplyTo, replyto, sizeof(Msg.ReplyTo));
|
||||||
strncpy(Msg.ReplyAddr, replyaddr, 101);
|
strncpy(Msg.ReplyAddr, replyaddr, sizeof(Msg.ReplyAddr));
|
||||||
|
|
||||||
/* From : */
|
/* From : */
|
||||||
if (Alias_Option()) {
|
if (Alias_Option()) {
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: msgutil.c,v 1.24 2005/10/11 20:49:48 mbse Exp $
|
|
||||||
* Purpose ...............: Utilities for message handling.
|
* Purpose ...............: Utilities for message handling.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -160,7 +159,7 @@ void Add_Headkludges(faddr *dest, int IsReply)
|
|||||||
time_t tt;
|
time_t tt;
|
||||||
faddr *Node;
|
faddr *Node;
|
||||||
|
|
||||||
temp = calloc(128, sizeof(char));
|
temp = calloc(PATH_MAX, sizeof(char));
|
||||||
|
|
||||||
switch (msgs.Type) {
|
switch (msgs.Type) {
|
||||||
case LOCALMAIL: Msg.Localmail = TRUE;
|
case LOCALMAIL: Msg.Localmail = TRUE;
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: oneline.c,v 1.15 2007/02/26 14:48:23 mbse Exp $
|
|
||||||
* Purpose ...............: Oneliner functions.
|
* Purpose ...............: Oneliner functions.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -196,7 +195,7 @@ char *Oneliner_Get()
|
|||||||
/*
|
/*
|
||||||
* Get a random oneliner
|
* Get a random oneliner
|
||||||
*/
|
*/
|
||||||
sFileName = calloc(128, sizeof(char));
|
sFileName = calloc(PATH_MAX, sizeof(char));
|
||||||
snprintf(sFileName, PATH_MAX, "%s/etc/oneline.data", getenv("MBSE_ROOT"));
|
snprintf(sFileName, PATH_MAX, "%s/etc/oneline.data", getenv("MBSE_ROOT"));
|
||||||
|
|
||||||
if ((pOneline = fopen(sFileName, "r+")) == NULL) {
|
if ((pOneline = fopen(sFileName, "r+")) == NULL) {
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: m_lang.c,v 1.25 2007/02/17 12:14:27 mbse Exp $
|
|
||||||
* Purpose ...............: Setup Languages.
|
* Purpose ...............: Setup Languages.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2007
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -126,7 +125,7 @@ void UpgradeLanguage(char *name, char *lc)
|
|||||||
WriteError("$Can't move %s to %s", lang.xMenuPath, temp);
|
WriteError("$Can't move %s to %s", lang.xMenuPath, temp);
|
||||||
} else {
|
} else {
|
||||||
Syslog('+', "Moved %s to %s", lang.xMenuPath, temp);
|
Syslog('+', "Moved %s to %s", lang.xMenuPath, temp);
|
||||||
snprintf(lang.xMenuPath, PATH_MAX, temp);
|
snprintf(lang.xMenuPath, sizeof(lang.xMenuPath), temp);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Syslog('+', "%s already upgraded", temp);
|
Syslog('+', "%s already upgraded", temp);
|
||||||
@ -140,7 +139,7 @@ void UpgradeLanguage(char *name, char *lc)
|
|||||||
WriteError("$Can't move %s to %s", lang.xTextPath, temp);
|
WriteError("$Can't move %s to %s", lang.xTextPath, temp);
|
||||||
} else {
|
} else {
|
||||||
Syslog('+', "Moved %s to %s", lang.xTextPath, temp);
|
Syslog('+', "Moved %s to %s", lang.xTextPath, temp);
|
||||||
snprintf(lang.xTextPath, PATH_MAX, temp);
|
snprintf(lang.xTextPath, sizeof(lang.xTextPath), temp);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Syslog('+', "%s already upgraded", temp);
|
Syslog('+', "%s already upgraded", temp);
|
||||||
@ -154,7 +153,7 @@ void UpgradeLanguage(char *name, char *lc)
|
|||||||
WriteError("$Can't move %s to %s", lang.xMacroPath, temp);
|
WriteError("$Can't move %s to %s", lang.xMacroPath, temp);
|
||||||
} else {
|
} else {
|
||||||
Syslog('+', "Moved %s to %s", lang.xMacroPath, temp);
|
Syslog('+', "Moved %s to %s", lang.xMacroPath, temp);
|
||||||
snprintf(lang.xMacroPath, PATH_MAX, temp);
|
snprintf(lang.xMacroPath, sizeof(lang.xMacroPath), temp);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Syslog('+', "%s already upgraded", temp);
|
Syslog('+', "%s already upgraded", temp);
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: taskchat.c,v 1.63 2006/05/27 13:19:53 mbse Exp $
|
|
||||||
* Purpose ...............: mbtask - chat server
|
* Purpose ...............: mbtask - chat server
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2006
|
* Copyright (C) 1997-2011
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -455,23 +454,23 @@ void chat_connect_r(char *data, char *buf)
|
|||||||
* Now put welcome message into the ringbuffer and report success.
|
* Now put welcome message into the ringbuffer and report success.
|
||||||
*/
|
*/
|
||||||
temp = calloc(81, sizeof(char));
|
temp = calloc(81, sizeof(char));
|
||||||
snprintf(temp, 200, "MBSE BBS v%s chat server; type /help for help", VERSION);
|
snprintf(temp, 80, "MBSE BBS v%s chat server; type /help for help", VERSION);
|
||||||
system_msg(usr_list[i].pid, temp);
|
system_msg(usr_list[i].pid, temp);
|
||||||
snprintf(temp, 200, "Welcome to the Internet BBS Chat Network");
|
snprintf(temp, 80, "Welcome to the Internet BBS Chat Network");
|
||||||
system_msg(usr_list[i].pid, temp);
|
system_msg(usr_list[i].pid, temp);
|
||||||
snprintf(temp, 200, "Current connected servers:");
|
snprintf(temp, 80, "Current connected servers:");
|
||||||
system_msg(usr_list[i].pid, temp);
|
system_msg(usr_list[i].pid, temp);
|
||||||
for (j = 0; j < MAXIBC_SRV; j++) {
|
for (j = 0; j < MAXIBC_SRV; j++) {
|
||||||
if (strlen(srv_list[j].server)) {
|
if (strlen(srv_list[j].server)) {
|
||||||
snprintf(temp, 200, " %d user%s at '%s'",
|
snprintf(temp, 80, " %d user%s at '%s'",
|
||||||
srv_list[j].users, (srv_list[j].users == 1) ? " ":"s", srv_list[j].fullname);
|
srv_list[j].users, (srv_list[j].users == 1) ? " ":"s", srv_list[j].fullname);
|
||||||
system_msg(usr_list[i].pid, temp);
|
system_msg(usr_list[i].pid, temp);
|
||||||
count += srv_list[j].users;
|
count += srv_list[j].users;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
snprintf(temp, 200, "There %s %d user%s connected", (count != 1)?"are":"is", count, (count != 1)?"s":"");
|
snprintf(temp, 80, "There %s %d user%s connected", (count != 1)?"are":"is", count, (count != 1)?"s":"");
|
||||||
system_msg(usr_list[i].pid, temp);
|
system_msg(usr_list[i].pid, temp);
|
||||||
snprintf(buf, 200, "100:0;");
|
snprintf(buf, 80, "100:0;");
|
||||||
free(realname);
|
free(realname);
|
||||||
free(nick);
|
free(nick);
|
||||||
free(temp);
|
free(temp);
|
||||||
|
Reference in New Issue
Block a user