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); PORT = GetPortTableEntryFromPortNum(Port);
if (PORT && PORT->PORTINTERLOCK) // Just pause for all ports
// if (PORT && PORT->PORTINTERLOCK)
Sleep(20000); Sleep(20000);
} }
} }

File diff suppressed because it is too large Load Diff

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 hang at start if Telnet port Number > Number of Telnet Streams (20)
// Fix processing C command if first port driver is SCSPACTROR (20) // Fix processing C command if first port driver is SCSPACTROR (20)
// Fix crash in UZ7HO driver if bad raw frame received (21) // Fix crash in UZ7HO driver if bad raw frame received (21)
// Fix using FLARQ chat mode with FLDIGI ddriover (22)
#define CKernel #define CKernel

File diff suppressed because it is too large Load Diff

View File

@ -250,7 +250,7 @@ UINT _ReleaseBuffer(VOID *pBUFF, char * File, int Line)
memcpy(CodeDump, BUFF, 64); 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++) for (i = 0; i < 16; i++)
{ {
@ -340,7 +340,7 @@ BOK1:
if (pointer == BUFF) 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(); // WriteMiniDump();
return 0; return 0;
} }

View File

@ -2854,7 +2854,36 @@ SendKReply:
if (CTRL == 't') 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; return;
} }

View File

@ -2533,8 +2533,6 @@ void ProcessMessageObject(struct TNCINFO * TNC, char * This)
{ {
if (STREAM->Connected == 1 && STREAM->Connecting == 0) if (STREAM->Connected == 1 && STREAM->Connecting == 0)
{ {
// Just attached - send as Chat Message
char * Line = &ID[1]; char * Line = &ID[1];
Len -= 1; Len -= 1;
@ -2691,6 +2689,8 @@ void ProcessMessageObject(struct TNCINFO * TNC, char * This)
} }
else if (ID[0] == 'f') else if (ID[0] == 'f')
{ {
// File Tranfer
char Filename[256]; char Filename[256];
FILE * fp1; FILE * fp1;
char Text[64]; char Text[64];
@ -3065,7 +3065,7 @@ void ProcessTNCJSON(struct TNCINFO * TNC, char * Msg, int Len)
if (memcmp(Msg, "{\"command_response\"", 19) == 0) if (memcmp(Msg, "{\"command_response\"", 19) == 0)
{ {
Debugprintf(Msg); Debugprintf("%d %s", TNC->Port, Msg);
return; return;
} }
@ -3354,7 +3354,7 @@ void ProcessTNCJSON(struct TNCINFO * TNC, char * Msg, int Len)
Debugprintf(Msg); Debugprintf("%d %s", TNC->Port, Msg);
return; return;
} }
@ -3386,7 +3386,7 @@ void ProcessTNCJSON(struct TNCINFO * TNC, char * Msg, int Len)
return; return;
} }
Debugprintf(Msg); Debugprintf("%d %s", TNC->Port, Msg);
// {"COMMAND":"RX_BUFFER","DATA-ARRAY":[],"EOF":"EOF"} // {"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) if (Session == NULL)
{ {
CLEAROUTLINK(LINK); CLEAROUTLINK(LINK);
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
L2SENDDM(PORT, Buffer, ADJBUFFER); L2SENDDM(PORT, Buffer, ADJBUFFER);
return; return;
} }
@ -1324,7 +1328,11 @@ VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
CLEARSESSIONENTRY(Session); CLEARSESSIONENTRY(Session);
CLEAROUTLINK(LINK); CLEAROUTLINK(LINK);
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
L2SENDDM(PORT, Buffer, ADJBUFFER); L2SENDDM(PORT, Buffer, ADJBUFFER);
return; return;
} }
@ -1797,7 +1805,7 @@ VOID L2_PROCESS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * B
return; 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 // 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 InformPartner(LINK, LINKLOST); // SEND DISC TO OTHER END
CLEAROUTLINK(LINK); CLEAROUTLINK(LINK);
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
break; break;
default: default:
@ -2996,6 +3008,10 @@ VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT)
// RETRIED N2 TIMES - Give up // RETRIED N2 TIMES - Give up
CONNECTFAILED(LINK); // TELL LEVEL 4 IT FAILED CONNECTFAILED(LINK); // TELL LEVEL 4 IT FAILED
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
CLEAROUTLINK(LINK); CLEAROUTLINK(LINK);
return; return;
} }
@ -3032,9 +3048,13 @@ VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT)
// DISCONNECTING // DISCONNECTING
LINK->L2RETRIES++; LINK->L2RETRIES++;
if (LINK->L2RETRIES >= PORT->PORTN2) if (LINK->L2RETRIES >= PORT->PORTN2)
{ {
// RETRIED N2 TIMES - JUST CLEAR OUT LINK // RETRIED N2 TIMES - JUST CLEAR OUT LINK
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
DetachKISSHF(PORT);
CLEAROUTLINK(LINK); CLEAROUTLINK(LINK);
return; return;

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerCommandArguments>c:\linbpq</LocalDebuggerCommandArguments> <LocalDebuggerCommandArguments>c:\linbpq</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerCommandArguments>c:\linbpq</LocalDebuggerCommandArguments> <LocalDebuggerCommandArguments>c:\linbpq</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerCommandArguments> <LocalDebuggerCommandArguments>
</LocalDebuggerCommandArguments> </LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>c:\linbpq</LocalDebuggerWorkingDirectory> <LocalDebuggerWorkingDirectory>c:\linbpq</LocalDebuggerWorkingDirectory>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

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