Version 6.0.23.22

This commit is contained in:
John Wiseman 2022-10-18 10:09:06 +01:00
parent 4a4271cb07
commit 2bd6071d0e
10 changed files with 12116 additions and 12065 deletions

View File

@ -2693,7 +2693,9 @@ void SendBeaconThread(void * Param)
PORT = GetPortTableEntryFromPortNum(Port);
if (PORT && PORT->PORTINTERLOCK)
// Just pause for all ports
// if (PORT && PORT->PORTINTERLOCK)
Sleep(20000);
}
}

View File

@ -1114,7 +1114,7 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
// Fix hang at start if Telnet port Number > Number of Telnet Streams (20)
// Fix processing C command if first port driver is SCSPACTROR (20)
// Fix crash in UZ7HO driver if bad raw frame received (21)
// Fix using FLARQ chat mode with FLDIGI ddriover (22)
#define CKernel

View File

@ -250,7 +250,7 @@ UINT _ReleaseBuffer(VOID *pBUFF, char * File, int Line)
memcpy(CodeDump, BUFF, 64);
Debugprintf("Releasebuffer Buffer not in pool, ptr %p prev %d", BUFF, 0);
Debugprintf("Releasebuffer Buffer not in pool from %s Line %d, ptr %p prev %d", File, Line, BUFF, 0);
for (i = 0; i < 16; i++)
{
@ -340,7 +340,7 @@ BOK1:
if (pointer == BUFF)
{
Debugprintf("Trying to free buffer %p when already on FREE_Q", BUFF);
Debugprintf("Trying to free buffer %p when already on FREE_Q called from %s Line %d", BUFF, File, Line);
// WriteMiniDump();
return 0;
}

View File

@ -2854,7 +2854,36 @@ SendKReply:
if (CTRL == 't')
{
// Talk - not sure what to do with these
// Talk - pass to node
char * call1;
char * context;
char * ptr;
PMSGWITHLEN buffptr;
Input[Len] = 0; // Removes checksum
call1 = strtok_s(&Input[1], " ", &context);
strlop(call1, ':');
if (strcmp(STREAM->RemoteCall, call1))
return;
if (Channel != ARQ->OurStream)
return; // Wrong Session
buffptr = (PMSGWITHLEN)GetBuff();
if (buffptr == 0) return; // No buffers, so ignore
while (ptr = strchr(context, 10))
*ptr = 13;
buffptr->Len = strlen(context);
strcpy(buffptr->Data, context);
C_Q_ADD(&TNC->Streams[Stream].PACTORtoBPQ_Q, buffptr);
return;
}

View File

@ -2533,8 +2533,6 @@ void ProcessMessageObject(struct TNCINFO * TNC, char * This)
{
if (STREAM->Connected == 1 && STREAM->Connecting == 0)
{
// Just attached - send as Chat Message
char * Line = &ID[1];
Len -= 1;
@ -2691,6 +2689,8 @@ void ProcessMessageObject(struct TNCINFO * TNC, char * This)
}
else if (ID[0] == 'f')
{
// File Tranfer
char Filename[256];
FILE * fp1;
char Text[64];
@ -3065,7 +3065,7 @@ void ProcessTNCJSON(struct TNCINFO * TNC, char * Msg, int Len)
if (memcmp(Msg, "{\"command_response\"", 19) == 0)
{
Debugprintf(Msg);
Debugprintf("%d %s", TNC->Port, Msg);
return;
}
@ -3354,7 +3354,7 @@ void ProcessTNCJSON(struct TNCINFO * TNC, char * Msg, int Len)
Debugprintf(Msg);
Debugprintf("%d %s", TNC->Port, Msg);
return;
}
@ -3386,7 +3386,7 @@ void ProcessTNCJSON(struct TNCINFO * TNC, char * Msg, int Len)
return;
}
Debugprintf(Msg);
Debugprintf("%d %s", TNC->Port, Msg);
// {"COMMAND":"RX_BUFFER","DATA-ARRAY":[],"EOF":"EOF"}

View File

@ -1274,7 +1274,11 @@ VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
if (Session == NULL)
{
CLEAROUTLINK(LINK);
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
L2SENDDM(PORT, Buffer, ADJBUFFER);
return;
}
@ -1324,7 +1328,11 @@ VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
CLEARSESSIONENTRY(Session);
CLEAROUTLINK(LINK);
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
L2SENDDM(PORT, Buffer, ADJBUFFER);
return;
}
@ -1797,7 +1805,7 @@ VOID L2_PROCESS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * B
return;
}
// DM ESP TO DISC RECEIVED - OTHER END HAS LOST SESSION
// DM RESP TO DISC RECEIVED - OTHER END HAS LOST SESSION
// CLEAR OUT TABLE ENTRY - IF INTERNAL TNC, SHOULD SEND *** DISCONNECTED
@ -1868,6 +1876,10 @@ VOID SDUFRM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
InformPartner(LINK, LINKLOST); // SEND DISC TO OTHER END
CLEAROUTLINK(LINK);
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
break;
default:
@ -2996,6 +3008,10 @@ VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT)
// RETRIED N2 TIMES - Give up
CONNECTFAILED(LINK); // TELL LEVEL 4 IT FAILED
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
CLEAROUTLINK(LINK);
return;
}
@ -3032,10 +3048,14 @@ VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT)
// DISCONNECTING
LINK->L2RETRIES++;
if (LINK->L2RETRIES >= PORT->PORTN2)
{
// RETRIED N2 TIMES - JUST CLEAR OUT LINK
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
CLEAROUTLINK(LINK);
return;
}

View File

@ -10,8 +10,8 @@
#endif
#define KVers 6,0,23,21
#define KVerstring "6.0.23.21\0"
#define KVers 6,0,23,22
#define KVerstring "6.0.23.22\0"
#ifdef CKernel