This morning there’s an update from John Wiseman G8BPQ linbpq repository.
(git://vps1.g8bpq.net/linbpq)
it’s time to update.
harry@aml linbpq (master) $ git pull remote: Enumerating objects: 29, done. remote: Counting objects: 100% (29/29), done. remote: Compressing objects: 100% (16/16), done. remote: Total 16 (delta 13), reused 0 (delta 0) Unpacking objects: 100% (16/16), done. From git://vps1.g8bpq.net/linbpq 26c4358..f5a7672 master -> origin/master * [new tag] 24.40 -> 24.40 Updating 26c4358..f5a7672 Fast-forward BBSHTMLConfig.c | 4 + BBSUtilities.c | 39 +++- BPQChat.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 ------ BPQChat.vcproj.NOTTSDESKTOP.John.user | 65 ------ BPQChat.vcproj.SKIGACER.johnw.user | 65 ------ BPQMail.aps | Bin 91752 -> 91908 bytes BPQMail.c | 7 + BPQMail.rc | 11 +- BPQMail.sln | 20 ++ BPQMail.vcproj.NOTTSDESKTOP.John.user | 65 ------ BPQMail.vcproj.SKIGACER.johnw.user | 65 ------ BPQMail.vcxproj.user | 4 - BPQMailConfig.c | 2 + BPQMailrc.h | 1 + BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 ------ BPQWinAPP.vcproj.NOTTSDESKTOP.John.user | 65 ------ Bpq32.c | 3 + CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 ------ CBPQ32.vcproj.NOTTSDESKTOP.John-notpi4-64.user | 65 ------ CBPQ32.vcproj.NOTTSDESKTOP.John.user | 65 ------ CBPQ32.vcproj.SKIGACER.johnw-notpi4-64.user | 65 ------ CBPQ32.vcproj.SKIGACER.johnw.user | 65 ------ ConfigWinRPR.vcxproj.user | 4 - MailNode.vcproj.NOTTSDESKTOP.John.user | 65 ------ MailNode.vcproj.SKIGACER.johnw.user | 65 ------ MailNode.vcxproj.user | 8 - MailRouting.c | 1148 +++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------ Versions.h | 4 +- WinRPRHelper.vcproj.NOTTSDESKTOP.John.user | 65 ------ WinmorControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 ------ WinmorControl.vcproj.NOTTSDESKTOP.John.user | 65 ------ bpqmail.h | 2 +- templatedefs.c | 16 +- 33 files changed, 676 insertions(+), 1702 deletions(-) delete mode 100644 BPQChat.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 BPQChat.vcproj.NOTTSDESKTOP.John.user delete mode 100644 BPQChat.vcproj.SKIGACER.johnw.user create mode 100644 BPQMail.sln delete mode 100644 BPQMail.vcproj.NOTTSDESKTOP.John.user delete mode 100644 BPQMail.vcproj.SKIGACER.johnw.user delete mode 100644 BPQMail.vcxproj.user delete mode 100644 BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 BPQWinAPP.vcproj.NOTTSDESKTOP.John.user delete mode 100644 CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 CBPQ32.vcproj.NOTTSDESKTOP.John-notpi4-64.user delete mode 100644 CBPQ32.vcproj.NOTTSDESKTOP.John.user delete mode 100644 CBPQ32.vcproj.SKIGACER.johnw-notpi4-64.user delete mode 100644 CBPQ32.vcproj.SKIGACER.johnw.user delete mode 100644 ConfigWinRPR.vcxproj.user delete mode 100644 MailNode.vcproj.NOTTSDESKTOP.John.user delete mode 100644 MailNode.vcproj.SKIGACER.johnw.user delete mode 100644 MailNode.vcxproj.user delete mode 100644 WinRPRHelper.vcproj.NOTTSDESKTOP.John.user delete mode 100644 WinmorControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 WinmorControl.vcproj.NOTTSDESKTOP.John.user harry@aml linbpq (master) $ make clean rm *.d rm linbpq pngwtran.o pngrtran.o pngset.o pngrio.o pngwio.o pngtrans.o pngrutil.o pngwutil.o pngread.o pngwrite.o png.o pngerror.o pngget.o pngmem.o APRSIconData.o AISCommon.o upnp.o APRSStdPages.o HSMODEM.o WinRPR.o KISSHF.o TNCEmulators.o bpqhdlc.o SerialPort.o adif.o WebMail.o utf8Routines.o VARA.o LzFind.o Alloc.o LzmaDec.o LzmaEnc.o LzmaLib.o Multicast.o ARDOP.o IPCode.o FLDigi.o linether.o CMSAuth.o APRSCode.o BPQtoAGW.o KAMPactor.o AEAPactor.o HALDriver.o MULTIPSK.o BBSHTMLConfig.o ChatHTMLConfig.o BBSUtilities.o bpqaxip.o BPQINP3.o BPQNRR.o cMain.o Cmd.o CommonCode.o HTMLCommonCode.o compatbits.o config.o datadefs.o FBBRoutines.o HFCommon.o Housekeeping.o HTTPcode.o kiss.o L2Code.o L3Code.o L4Code.o lzhuf32.o MailCommands.o MailDataDefs.o LinBPQ.o MailRouting.o MailTCP.o MBLRoutines.o md5.o Moncode.o NNTPRoutines.o RigControl.o TelnetV6.o WINMOR.o TNCCode.o UZ7HODrv.o WPRoutines.o SCSTrackeMulti.o SCSPactor.o SCSTracker.o HanksRT.o UIRoutines.o AGWAPI.o AGWMoncode.o DRATS.o FreeDATA.o base64.o Events.o nodeapi.o mailapi.o harry@aml linbpq (master) $ make gcc -DLINBPQ -MMD -g -fcommon -c -o pngwtran.o pngwtran.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngrtran.o pngrtran.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngset.o pngset.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngrio.o pngrio.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngwio.o pngwio.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngtrans.o pngtrans.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngrutil.o pngrutil.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngwutil.o pngwutil.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngread.o pngread.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngwrite.o pngwrite.c gcc -DLINBPQ -MMD -g -fcommon -c -o png.o png.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngerror.o pngerror.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngget.o pngget.c gcc -DLINBPQ -MMD -g -fcommon -c -o pngmem.o pngmem.c gcc -DLINBPQ -MMD -g -fcommon -c -o APRSIconData.o APRSIconData.c gcc -DLINBPQ -MMD -g -fcommon -c -o AISCommon.o AISCommon.c gcc -DLINBPQ -MMD -g -fcommon -c -o upnp.o upnp.c gcc -DLINBPQ -MMD -g -fcommon -c -o APRSStdPages.o APRSStdPages.c gcc -DLINBPQ -MMD -g -fcommon -c -o HSMODEM.o HSMODEM.c gcc -DLINBPQ -MMD -g -fcommon -c -o WinRPR.o WinRPR.c gcc -DLINBPQ -MMD -g -fcommon -c -o KISSHF.o KISSHF.c gcc -DLINBPQ -MMD -g -fcommon -c -o TNCEmulators.o TNCEmulators.c gcc -DLINBPQ -MMD -g -fcommon -c -o bpqhdlc.o bpqhdlc.c gcc -DLINBPQ -MMD -g -fcommon -c -o SerialPort.o SerialPort.c gcc -DLINBPQ -MMD -g -fcommon -c -o adif.o adif.c gcc -DLINBPQ -MMD -g -fcommon -c -o WebMail.o WebMail.c gcc -DLINBPQ -MMD -g -fcommon -c -o utf8Routines.o utf8Routines.c gcc -DLINBPQ -MMD -g -fcommon -c -o VARA.o VARA.c gcc -DLINBPQ -MMD -g -fcommon -c -o LzFind.o LzFind.c gcc -DLINBPQ -MMD -g -fcommon -c -o Alloc.o Alloc.c gcc -DLINBPQ -MMD -g -fcommon -c -o LzmaDec.o LzmaDec.c gcc -DLINBPQ -MMD -g -fcommon -c -o LzmaEnc.o LzmaEnc.c gcc -DLINBPQ -MMD -g -fcommon -c -o LzmaLib.o LzmaLib.c gcc -DLINBPQ -MMD -g -fcommon -c -o Multicast.o Multicast.c Multicast.c: In function 'LZUncompress': Multicast.c:643:31: warning: passing argument 2 of 'LzmaUncompress' from incompatible pointer type [-Wincompatible-pointer-types] if ((r = LzmaUncompress(buf, &outlen, (const unsigned char*)Decoded + Len - inlen, &inlen, ^~~~~~~ In file included from Multicast.c:611: LzmaLib.h:132:55: note: expected 'size_t *' {aka 'long unsigned int *'} but argument is of type 'unsigned int *' MY_STDAPI LzmaUncompress(unsigned char *dest, size_t *destLen, const unsigned char *src, SizeT *srcLen, ~~~~~~~~^~~~~~~ gcc -DLINBPQ -MMD -g -fcommon -c -o ARDOP.o ARDOP.c gcc -DLINBPQ -MMD -g -fcommon -c -o IPCode.o IPCode.c gcc -DLINBPQ -MMD -g -fcommon -c -o FLDigi.o FLDigi.c FLDigi.c: In function 'ExtProc': FLDigi.c:595:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] SendXMLCommand(TNC, "modem.set_carrier", (char *)atoi(&buff->L2DATA[5]), 'I'); ^ FLDigi.c: In function 'FLReleaseTNC': FLDigi.c:3215:45: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] SendXMLCommand(TNC, "modem.set_carrier", (char *)TNC->FLInfo->DefaultFreq, 'I'); ^ gcc -DLINBPQ -MMD -g -fcommon -c -o linether.o linether.c linether.c: In function 'ETHERExtInit': linether.c:302:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] return ((int) ExtProc); ^ gcc -DLINBPQ -MMD -g -fcommon -c -o CMSAuth.o CMSAuth.c gcc -DLINBPQ -MMD -g -fcommon -c -o APRSCode.o APRSCode.c APRSCode.c:351:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] static SOCKET sock = (SOCKET) NULL; ^ gcc -DLINBPQ -MMD -g -fcommon -c -o BPQtoAGW.o BPQtoAGW.c gcc -DLINBPQ -MMD -g -fcommon -c -o KAMPactor.o KAMPactor.c gcc -DLINBPQ -MMD -g -fcommon -c -o AEAPactor.o AEAPactor.c gcc -DLINBPQ -MMD -g -fcommon -c -o HALDriver.o HALDriver.c gcc -DLINBPQ -MMD -g -fcommon -c -o MULTIPSK.o MULTIPSK.c gcc -DLINBPQ -MMD -g -fcommon -c -o BBSHTMLConfig.o BBSHTMLConfig.c gcc -DLINBPQ -MMD -g -fcommon -c -o ChatHTMLConfig.o ChatHTMLConfig.c gcc -DLINBPQ -MMD -g -fcommon -c -o BBSUtilities.o BBSUtilities.c BBSUtilities.c: In function 'GetConfig': BBSUtilities.c:10292:16: warning: passing argument 1 of 'strlop' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] ptr = strlop(ptr, '|'); ^~~ In file included from BBSUtilities.c:24: bpqmail.h:880:8: note: expected 'char *' but argument is of type 'const char *' char * strlop(char * buf, char delim); ^~~~~~ BBSUtilities.c:10296:16: warning: passing argument 1 of 'strlop' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] ptr = strlop(ptr, '|'); ^~~ In file included from BBSUtilities.c:24: bpqmail.h:880:8: note: expected 'char *' but argument is of type 'const char *' char * strlop(char * buf, char delim); ^~~~~~ BBSUtilities.c:10300:16: warning: passing argument 1 of 'strlop' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] ptr = strlop(ptr, '|'); ^~~ In file included from BBSUtilities.c:24: bpqmail.h:880:8: note: expected 'char *' but argument is of type 'const char *' char * strlop(char * buf, char delim); ^~~~~~ BBSUtilities.c:10304:16: warning: passing argument 1 of 'strlop' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] ptr = strlop(ptr, '|'); ^~~ In file included from BBSUtilities.c:24: bpqmail.h:880:8: note: expected 'char *' but argument is of type 'const char *' char * strlop(char * buf, char delim); ^~~~~~ BBSUtilities.c:10328:16: warning: passing argument 1 of 'strlop' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] ptr = strlop(ptr, '|'); ^~~ In file included from BBSUtilities.c:24: bpqmail.h:880:8: note: expected 'char *' but argument is of type 'const char *' char * strlop(char * buf, char delim); ^~~~~~ BBSUtilities.c: In function 'my_popen': BBSUtilities.c:11839:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] _beginthread((void (*)(void *))run_pgTimeoutThread, 0, (VOID *) pid ); ^ gcc -DLINBPQ -MMD -g -fcommon -c -o bpqaxip.o bpqaxip.c gcc -DLINBPQ -MMD -g -fcommon -c -o BPQINP3.o BPQINP3.c gcc -DLINBPQ -MMD -g -fcommon -c -o BPQNRR.o BPQNRR.c gcc -DLINBPQ -MMD -g -fcommon -c -o cMain.o cMain.c cMain.c: In function 'Start': cMain.c:945:28: warning: implicit declaration of function 'CanPortDigi' [-Wimplicit-function-declaration] if (PortRec->DIGIPORT && CanPortDigi(PortRec->DIGIPORT)) ^~~~~~~~~~~ cMain.c:1077:23: warning: implicit declaration of function 'KissEncode'; did you mean 'isspace'? [-Wimplicit-function-declaration] KISS->KISSCMDLEN = KissEncode(KissString, KISS->KISSCMD, KissLen); ^~~~~~~~~~ isspace gcc -DLINBPQ -MMD -g -fcommon -c -o Cmd.o Cmd.c gcc -DLINBPQ -MMD -g -fcommon -c -o CommonCode.o CommonCode.c CommonCode.c: In function 'OpenCOMPort': CommonCode.c:2457:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] if ((UINT)pPort < 256) ^ CommonCode.c:2458:43: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] sprintf(Port, "%s/com%d", BPQDirectory, (int)pPort); ^ gcc -DLINBPQ -MMD -g -fcommon -c -o HTMLCommonCode.o HTMLCommonCode.c gcc -DLINBPQ -MMD -g -fcommon -c -o compatbits.o compatbits.c gcc -DLINBPQ -MMD -g -fcommon -c -o config.o config.c gcc -DLINBPQ -MMD -g -fcommon -c -o datadefs.o datadefs.c gcc -DLINBPQ -MMD -g -fcommon -c -o FBBRoutines.o FBBRoutines.c gcc -DLINBPQ -MMD -g -fcommon -c -o HFCommon.o HFCommon.c gcc -DLINBPQ -MMD -g -fcommon -c -o Housekeeping.o Housekeeping.c gcc -DLINBPQ -MMD -g -fcommon -c -o HTTPcode.o HTTPcode.c HTTPcode.c: In function 'InnerProcessHTTPMessage': HTTPcode.c:2116:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Session->TNC = (void *)LOCAL; // TNC only used for Web Terminal Sessions ^ gcc -DLINBPQ -MMD -g -fcommon -c -o kiss.o kiss.c kiss.c:115:65: warning: 'struct ConnectionInfo' declared inside parameter list will not be visible outside of this definition or declaration void processDRATSFrame(unsigned char * Message, int Len, struct ConnectionInfo * sockptr); ^~~~~~~~~~~~~~ gcc -DLINBPQ -MMD -g -fcommon -c -o L2Code.o L2Code.c gcc -DLINBPQ -MMD -g -fcommon -c -o L3Code.o L3Code.c gcc -DLINBPQ -MMD -g -fcommon -c -o L4Code.o L4Code.c gcc -DLINBPQ -MMD -g -fcommon -c -o lzhuf32.o lzhuf32.c gcc -DLINBPQ -MMD -g -fcommon -c -o MailCommands.o MailCommands.c gcc -DLINBPQ -MMD -g -fcommon -c -o MailDataDefs.o MailDataDefs.c gcc -DLINBPQ -MMD -g -fcommon -c -o LinBPQ.o LinBPQ.c gcc -DLINBPQ -MMD -g -fcommon -c -o MailRouting.o MailRouting.c gcc -DLINBPQ -MMD -g -fcommon -c -o MailTCP.o MailTCP.c gcc -DLINBPQ -MMD -g -fcommon -c -o MBLRoutines.o MBLRoutines.c MBLRoutines.c: In function 'ProcessMBLLine': MBLRoutines.c:92:29: warning: passing argument 1 of 'SendMessageReadEvent' from incompatible pointer type [-Wincompatible-pointer-types] SendMessageReadEvent(user->Call, Msg); ~~~~^~~~~~ MBLRoutines.c:26:45: note: expected 'struct UserInfo *' but argument is of type 'char *' void SendMessageReadEvent(struct UserInfo * user, struct MsgInfo * Msg); ~~~~~~~~~~~~~~~~~~^~~~ gcc -DLINBPQ -MMD -g -fcommon -c -o md5.o md5.c gcc -DLINBPQ -MMD -g -fcommon -c -o Moncode.o Moncode.c gcc -DLINBPQ -MMD -g -fcommon -c -o NNTPRoutines.o NNTPRoutines.c gcc -DLINBPQ -MMD -g -fcommon -c -o RigControl.o RigControl.c gcc -DLINBPQ -MMD -g -fcommon -c -o TelnetV6.o TelnetV6.c gcc -DLINBPQ -MMD -g -fcommon -c -o WINMOR.o WINMOR.c gcc -DLINBPQ -MMD -g -fcommon -c -o TNCCode.o TNCCode.c gcc -DLINBPQ -MMD -g -fcommon -c -o UZ7HODrv.o UZ7HODrv.c gcc -DLINBPQ -MMD -g -fcommon -c -o WPRoutines.o WPRoutines.c WPRoutines.c: In function 'CreateWPMessage': WPRoutines.c:1419:16: warning: passing argument 1 of 'gmtime' from incompatible pointer type [-Wincompatible-pointer-types] tm = gmtime(&ptr->last_modif); ^~~~~~~~~~~~~~~~ In file included from compatbits.h:13, from bpqmail.h:29, from WPRoutines.c:24: /usr/include/time.h:119:19: note: expected 'const time_t *' {aka 'const long int *'} but argument is of type 'long long int *' extern struct tm *gmtime (const time_t *__timer) __THROW; ^~~~~~ gcc -DLINBPQ -MMD -g -fcommon -c -o SCSTrackeMulti.o SCSTrackeMulti.c gcc -DLINBPQ -MMD -g -fcommon -c -o SCSPactor.o SCSPactor.c gcc -DLINBPQ -MMD -g -fcommon -c -o SCSTracker.o SCSTracker.c gcc -DLINBPQ -MMD -g -fcommon -c -o HanksRT.o HanksRT.c gcc -DLINBPQ -MMD -g -fcommon -c -o UIRoutines.o UIRoutines.c gcc -DLINBPQ -MMD -g -fcommon -c -o AGWAPI.o AGWAPI.c gcc -DLINBPQ -MMD -g -fcommon -c -o AGWMoncode.o AGWMoncode.c AGWMoncode.c: In function 'InternalAGWDecodeFrame': AGWMoncode.c:94:18: warning: passing argument 1 of 'localtime' from incompatible pointer type [-Wincompatible-pointer-types] TM = localtime(&Stamp); ^~~~~~ In file included from AGWMoncode.c:32: /usr/include/time.h:123:19: note: expected 'const time_t *' {aka 'const long int *'} but argument is of type 'int *' extern struct tm *localtime (const time_t *__timer) __THROW; ^~~~~~~~~ AGWMoncode.c:96:15: warning: passing argument 1 of 'gmtime' from incompatible pointer type [-Wincompatible-pointer-types] TM = gmtime(&Stamp); ^~~~~~ In file included from AGWMoncode.c:32: /usr/include/time.h:119:19: note: expected 'const time_t *' {aka 'const long int *'} but argument is of type 'int *' extern struct tm *gmtime (const time_t *__timer) __THROW; ^~~~~~ AGWMoncode.c:368:10: warning: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion] return NULL; ^~~~ gcc -DLINBPQ -MMD -g -fcommon -c -o DRATS.o DRATS.c gcc -DLINBPQ -MMD -g -fcommon -c -o FreeDATA.o FreeDATA.c gcc -DLINBPQ -MMD -g -fcommon -c -o base64.o base64.c gcc -DLINBPQ -MMD -g -fcommon -c -o Events.o Events.c gcc -DLINBPQ -MMD -g -fcommon -c -o nodeapi.o nodeapi.c gcc -DLINBPQ -MMD -g -fcommon -c -o mailapi.o mailapi.c gcc pngwtran.o pngrtran.o pngset.o pngrio.o pngwio.o pngtrans.o pngrutil.o pngwutil.o pngread.o pngwrite.o png.o pngerror.o pngget.o pngmem.o APRSIconData.o AISCommon.o upnp.o APRSStdPages.o HSMODEM.o WinRPR.o KISSHF.o TNCEmulators.o bpqhdlc.o SerialPort.o adif.o WebMail.o utf8Routines.o VARA.o LzFind.o Alloc.o LzmaDec.o LzmaEnc.o LzmaLib.o Multicast.o ARDOP.o IPCode.o FLDigi.o linether.o CMSAuth.o APRSCode.o BPQtoAGW.o KAMPactor.o AEAPactor.o HALDriver.o MULTIPSK.o BBSHTMLConfig.o ChatHTMLConfig.o BBSUtilities.o bpqaxip.o BPQINP3.o BPQNRR.o cMain.o Cmd.o CommonCode.o HTMLCommonCode.o compatbits.o config.o datadefs.o FBBRoutines.o HFCommon.o Housekeeping.o HTTPcode.o kiss.o L2Code.o L3Code.o L4Code.o lzhuf32.o MailCommands.o MailDataDefs.o LinBPQ.o MailRouting.o MailTCP.o MBLRoutines.o md5.o Moncode.o NNTPRoutines.o RigControl.o TelnetV6.o WINMOR.o TNCCode.o UZ7HODrv.o WPRoutines.o SCSTrackeMulti.o SCSPactor.o SCSTracker.o HanksRT.o UIRoutines.o AGWAPI.o AGWMoncode.o DRATS.o FreeDATA.o base64.o Events.o nodeapi.o mailapi.o -Xlinker -Map=output.map -l:libminiupnpc.a -lrt -lm -lz -lpthread -lconfig -lpcap -o linbpq sudo setcap "CAP_NET_ADMIN=ep CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep" linbpq harry@aml linbpq (master) $ ./linbpq -v G8BPQ AX25 Packet Switch System Version 6.0.24.40 January 2024 Copyright 01-2024 John Wiseman G8BPQ harry@aml linbpq (master) $ cp -f linbpq ~/linbpq/ harry@aml linbpq (master) $ harry@aml linbpq (master) $ ~/linbpq/linbpq -v G8BPQ AX25 Packet Switch System Version 6.0.24.40 January 2024 Copyright 01-2024 John Wiseman G8BPQ harry@aml linbpq (master) $ sudo systemctl restart linbpq.service