v1.0.7.12 - Fix bad/orphan .TIC support to support .TIC files with names longer
than 8 characters; fix empty partial files left in temporary inbound when a remote Binkp site attempts to send a 0 byte file.
This commit is contained in:
parent
0ab1656370
commit
c67670029a
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
v1.0.7.12 15-Mar-2019 - Andrew Leary
|
||||||
|
|
||||||
|
1. MBCICO will no longer leave partial files in the temporary
|
||||||
|
inbound when a remote Binkp site attempts to send a zero byte
|
||||||
|
file. An M_GOT message will be sent to remove the zero byte
|
||||||
|
file from the remote's queue.
|
||||||
|
|
||||||
|
2. Fixed the bad/orphan .TIC file support to handle .TIC files
|
||||||
|
with names longer than 8 characters.
|
||||||
|
|
||||||
|
3. Updated copyright notices to 2019.
|
||||||
|
|
||||||
v1.0.7.11 09-Oct-2018 - Andrew Leary
|
v1.0.7.11 09-Oct-2018 - Andrew Leary
|
||||||
|
|
||||||
1. Fixed a bug that could truncate the tearline under certain
|
1. Fixed a bug that could truncate the tearline under certain
|
||||||
|
6
configure
vendored
6
configure
vendored
@ -2309,10 +2309,10 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="1"
|
MAJOR="1"
|
||||||
MINOR="0"
|
MINOR="0"
|
||||||
REVISION="7.11"
|
REVISION="7.12"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2018 MBSE Development Team, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2019 MBSE Development Team, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2018 MBSE DevTm"
|
SHORTRIGHT="Copyright (C) 1997-2019 MBSE DevTm"
|
||||||
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="1"
|
MAJOR="1"
|
||||||
MINOR="0"
|
MINOR="0"
|
||||||
REVISION="7.11"
|
REVISION="7.12"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2018 MBSE Development Team, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2019 MBSE Development Team, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2018 MBSE DevTm"
|
SHORTRIGHT="Copyright (C) 1997-2019 MBSE DevTm"
|
||||||
GROUP="bbs"
|
GROUP="bbs"
|
||||||
OWNER="mbse"
|
OWNER="mbse"
|
||||||
ROWNER="`id -un root`"
|
ROWNER="`id -un root`"
|
||||||
|
@ -1167,6 +1167,7 @@ TrType binkp_receiver(void)
|
|||||||
bp.rtime = atoi(strtok(NULL, " \n\r"));
|
bp.rtime = atoi(strtok(NULL, " \n\r"));
|
||||||
bp.roffs = atoi(strtok(NULL, " \n\r"));
|
bp.roffs = atoi(strtok(NULL, " \n\r"));
|
||||||
snprintf(bp.ropts, 512, "%s", printable(strtok(NULL, " \n\r\0"), 0));
|
snprintf(bp.ropts, 512, "%s", printable(strtok(NULL, " \n\r\0"), 0));
|
||||||
|
|
||||||
if (strcmp((char *)"GZ", bp.ropts) == 0)
|
if (strcmp((char *)"GZ", bp.ropts) == 0)
|
||||||
bp.rmode = CompGZ;
|
bp.rmode = CompGZ;
|
||||||
else if (strcmp((char *)"BZ2", bp.ropts) == 0)
|
else if (strcmp((char *)"BZ2", bp.ropts) == 0)
|
||||||
@ -1194,6 +1195,15 @@ TrType binkp_receiver(void)
|
|||||||
|
|
||||||
Syslog('+', "Binkp: receive file \"%s\" date %s size %ld offset %ld comp %s",
|
Syslog('+', "Binkp: receive file \"%s\" date %s size %ld offset %ld comp %s",
|
||||||
bp.rname, date(bp.rtime), bp.rsize, bp.roffs, cpstate[bp.rmode]);
|
bp.rname, date(bp.rtime), bp.rsize, bp.roffs, cpstate[bp.rmode]);
|
||||||
|
if (!bp.rsize) {
|
||||||
|
Syslog('+', "Binkp: 0 byte file %s, sending M_GOT", bp.rname);
|
||||||
|
bp.RxState = RxWaitF;
|
||||||
|
rc = binkp_send_command(MM_GOT, "%s %ld %ld", bp.rname, bp.rsize, bp.rtime);
|
||||||
|
if (rc)
|
||||||
|
return Failure;
|
||||||
|
else
|
||||||
|
return Ok;
|
||||||
|
}
|
||||||
if (bp.roffs == -1) {
|
if (bp.roffs == -1) {
|
||||||
/*
|
/*
|
||||||
* Even without NR mode Taurus sends as if it's in NR mode.
|
* Even without NR mode Taurus sends as if it's in NR mode.
|
||||||
|
@ -53,7 +53,7 @@ void fill_orphans(orphans **qal, char *TicName, char *Area, char *FileName, int
|
|||||||
|
|
||||||
tmp = (orphans *)malloc(sizeof(orphans));
|
tmp = (orphans *)malloc(sizeof(orphans));
|
||||||
tmp->next = *qal;
|
tmp->next = *qal;
|
||||||
snprintf(tmp->TicName, 13, TicName);
|
snprintf(tmp->TicName, 51, TicName);
|
||||||
snprintf(tmp->Area, 21, Area);
|
snprintf(tmp->Area, 21, Area);
|
||||||
snprintf(tmp->FileName, 81, FileName);
|
snprintf(tmp->FileName, 81, FileName);
|
||||||
tmp->Orphaned = Orphaned;
|
tmp->Orphaned = Orphaned;
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
typedef struct _orphans {
|
typedef struct _orphans {
|
||||||
struct _orphans *next; /* Linked list */
|
struct _orphans *next; /* Linked list */
|
||||||
char TicName[13]; /* TIC filename */
|
char TicName[51]; /* TIC filename */
|
||||||
char Area[21]; /* TIC area */
|
char Area[21]; /* TIC area */
|
||||||
char FileName[81]; /* TIC filename */
|
char FileName[81]; /* TIC filename */
|
||||||
unsigned Orphaned : 1; /* Real orphaned file */
|
unsigned Orphaned : 1; /* Real orphaned file */
|
||||||
|
@ -227,7 +227,7 @@ int LoadTic(char *inb, char *tfn, orphans **opl)
|
|||||||
memset(&T_File, 0, sizeof(T_File));
|
memset(&T_File, 0, sizeof(T_File));
|
||||||
|
|
||||||
snprintf(TIC.Inbound, PATH_MAX, "%s", inb);
|
snprintf(TIC.Inbound, PATH_MAX, "%s", inb);
|
||||||
strncpy(TIC.TicName, tfn, 12);
|
strncpy(TIC.TicName, tfn, 50);
|
||||||
|
|
||||||
chdir(inb);
|
chdir(inb);
|
||||||
if ((tfp = fopen(tfn, "r")) == NULL) {
|
if ((tfp = fopen(tfn, "r")) == NULL) {
|
||||||
|
@ -35,7 +35,7 @@ typedef struct _tic_in {
|
|||||||
|
|
||||||
typedef struct _TICrec {
|
typedef struct _TICrec {
|
||||||
char Inbound[PATH_MAX+1]; /* Inbound directory */
|
char Inbound[PATH_MAX+1]; /* Inbound directory */
|
||||||
char TicName[13]; /* Name of .TIC file */
|
char TicName[51]; /* Name of .TIC file */
|
||||||
Tic_in TicIn; /* Original TIC record */
|
Tic_in TicIn; /* Original TIC record */
|
||||||
fidoaddr OrgAka; /* Origin address */
|
fidoaddr OrgAka; /* Origin address */
|
||||||
fidoaddr Aka; /* An address ? */
|
fidoaddr Aka; /* An address ? */
|
||||||
|
Reference in New Issue
Block a user