From ae8dbe4097eccf77d35eff90a5fbf0f742575e08 Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Fri, 29 Nov 2024 12:19:50 +0000 Subject: [PATCH 1/5] Upstream removals --- 250mS@1000Hz.wav | Bin 6044 -> 0 bytes 250mS@600Hz.wav | Bin 6044 -> 0 bytes AGWMon.asm | 1646 ----------------- BPQChat.vcproj | 374 ---- BPQMail.vcproj | 493 ----- BPQMail.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 - BPQMail.vcproj.NOTTSDESKTOP.John.user | 65 - BPQMail.vcproj.SKIGACER.johnw.user | 65 - BPQRemotePTT.vcproj | 228 --- BPQWinAPP.vcproj | 230 --- BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 - BPQWinAPP.vcproj.NOTTSDESKTOP.John.user | 65 - CBPQ32.vcproj | 637 ------- CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 - ...2.vcproj.NOTTSDESKTOP.John-skigdebian.user | 65 - CBPQ32.vcproj.NOTTSDESKTOP.John.user | 65 - CBPQ32.vcproj.SKIGACER.johnw.user | 65 - FormatHTML.vcproj | 219 --- FormatHTML.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 - MCP2221.vcproj | 203 -- MailNode.vcproj | 643 ------- MailNode.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 - ...e.vcproj.NOTTSDESKTOP.John-skigdebian.user | 65 - MailNode.vcproj.NOTTSDESKTOP.John.user | 65 - MailNode.vcproj.SKIGACER.johnw.user | 65 - NodeMapTest.vcproj | 209 --- PCBeep.wav | Bin 35152 -> 0 bytes Ring.wav | Bin 63760 -> 0 bytes WinRPRHelper.vcproj | 199 -- WinRPRHelper.vcproj.NOTTSDESKTOP.John.user | 65 - WinmorControl.vcproj | 229 --- ...rControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user | 65 - WinmorControl.vcproj.NOTTSDESKTOP.John.user | 65 - asmDOSAPI.asm | 136 -- compatbits.h.bak | 239 --- ding.wav | Bin 72972 -> 0 bytes miniupnpc.lib | Bin 107890 -> 0 bytes paho-mqtt3a-static.lib | Bin 751506 -> 0 bytes paho-mqtt3a.lib | Bin 14108 -> 0 bytes zlib.lib | Bin 14778 -> 0 bytes zlibstat.lib | Bin 674920 -> 0 bytes zlibstat64.lib | Bin 1231334 -> 0 bytes 42 files changed, 6790 deletions(-) delete mode 100644 250mS@1000Hz.wav delete mode 100644 250mS@600Hz.wav delete mode 100644 AGWMon.asm delete mode 100644 BPQChat.vcproj delete mode 100644 BPQMail.vcproj delete mode 100644 BPQMail.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 BPQMail.vcproj.NOTTSDESKTOP.John.user delete mode 100644 BPQMail.vcproj.SKIGACER.johnw.user delete mode 100644 BPQRemotePTT.vcproj delete mode 100644 BPQWinAPP.vcproj delete mode 100644 BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 BPQWinAPP.vcproj.NOTTSDESKTOP.John.user delete mode 100644 CBPQ32.vcproj delete mode 100644 CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 CBPQ32.vcproj.NOTTSDESKTOP.John-skigdebian.user delete mode 100644 CBPQ32.vcproj.NOTTSDESKTOP.John.user delete mode 100644 CBPQ32.vcproj.SKIGACER.johnw.user delete mode 100644 FormatHTML.vcproj delete mode 100644 FormatHTML.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 MCP2221.vcproj delete mode 100644 MailNode.vcproj delete mode 100644 MailNode.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 MailNode.vcproj.NOTTSDESKTOP.John-skigdebian.user delete mode 100644 MailNode.vcproj.NOTTSDESKTOP.John.user delete mode 100644 MailNode.vcproj.SKIGACER.johnw.user delete mode 100644 NodeMapTest.vcproj delete mode 100644 PCBeep.wav delete mode 100644 Ring.wav delete mode 100644 WinRPRHelper.vcproj delete mode 100644 WinRPRHelper.vcproj.NOTTSDESKTOP.John.user delete mode 100644 WinmorControl.vcproj delete mode 100644 WinmorControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user delete mode 100644 WinmorControl.vcproj.NOTTSDESKTOP.John.user delete mode 100644 asmDOSAPI.asm delete mode 100644 compatbits.h.bak delete mode 100644 ding.wav delete mode 100644 miniupnpc.lib delete mode 100644 paho-mqtt3a-static.lib delete mode 100644 paho-mqtt3a.lib delete mode 100644 zlib.lib delete mode 100644 zlibstat.lib delete mode 100644 zlibstat64.lib diff --git a/250mS@1000Hz.wav b/250mS@1000Hz.wav deleted file mode 100644 index 0079795415083f1335fb96212be173cbedb91fd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6044 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 Bo3;P| diff --git a/AGWMon.asm b/AGWMon.asm deleted file mode 100644 index 8d51a3c..0000000 --- a/AGWMon.asm +++ /dev/null @@ -1,1646 +0,0 @@ - PAGE 56,132 -; - -.386 -; -; SEGMENT definitions and order -; - - -;* 32 Bit code -_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' -_TEXT ENDS - - - -;* Contains 32 Bit data -_DATA SEGMENT DWORD PUBLIC 'DATA' -_DATA ENDS - - - ASSUME CS:FLAT, DS:FLAT, ES:FLAT, SS:FLAT - - -OFFSET32 EQU - -_DATA SEGMENT - - -CR EQU 0DH -LF EQU 0AH - - -D10 DW 10 -D60 DD 60 -D3600 DD 3600 -D86400 DD 86400 - -TIMESTAMP DD 0 - -NEWVALUE DW 0 -WORD10 DW 10 -WORD16 DW 16 - - - -; -; BASIC LINK LEVEL MESSAGE BUFFER LAYOUT -; -MESSAGE STRUC - -MSGCHAIN DD ? ; CHAIN WORD -MSGPORT DB ? ; PORT -MSGLENGTH DW ? ; LENGTH - -MSGDEST DB 7 DUP (?) ; DESTINATION -MSGORIGIN DB 7 DUP (?) ; ORIGIN -; -; MAY BE UP TO 56 BYTES OF DIGIS -; -MSGCONTROL DB ? ; CONTROL BYTE -MSGPID DB ? ; PROTOCOL IDENTIFIER -MSGDATA DB ? ; START OF LEVEL 2 MESSAGE -; -MESSAGE ENDS -; -; -; -; L4FLAGS DEFINITION -; -L4BUSY EQU 80H ; BNA - DONT SEND ANY MORE -L4NAK EQU 40H ; NEGATIVE RESPONSE FLAG -L4MORE EQU 20H ; MORE DATA FOLLOWS - FRAGMENTATION FLAG - -L4CREQ EQU 1 ; CONNECT REQUEST -L4CACK EQU 2 ; CONNECT ACK -L4DREQ EQU 3 ; DISCONNECT REQUEST -L4DACK EQU 4 ; DISCONNECT ACK -L4INFO EQU 5 ; INFORMATION -L4IACK EQU 6 ; INFORMATION ACK -; - - -NULL EQU 00H -CR EQU 0DH -LF EQU 0AH -NETROM_PID EQU 0CFH -NODES_SIG EQU 0FFH -; -PORT_MSG DB ' Port=',NULL -NODES_MSG DB ' (NetRom Routing)',CR,NULL -NETROM_MSG DB ' NET/ROM',CR,' ',NULL -TO_MSG DB ' To ',NULL -TTL_MSG DB ' ttl=',NULL -AT_MSG DB ' at ',NULL -VIA_MSG DB ' via ',NULL -QUALITY_MSG DB ' qlty=',NULL -LEN_MSG DB ' Len=',0 - -PID_MSG DB ' pid=',NULL - -MYCCT_MSG DB ' my' -CCT_MSG DB ' cct=',0 -TIM_MSG DB ' t/o=',0 - -WINDOW DB ' w=',0 -CONN_REQ_MSG DB ' ',NULL -CONN_ACK_MSG DB ' ',NULL -CONN_NAK_MSG DB ' - BUSY',NULL -DISC_REQ_MSG DB ' ',NULL -DISC_ACK_MSG DB ' ',NULL -INFO_MSG DB ' ',NULL -IP_MSG DB ' ',NULL - -SABM_MSG DB 'SABM ',NULL -DISC_MSG DB 'DISC ',NULL -UA_MSG DB 'UA ',NULL -DM_MSG DB 'DM ',NULL -RR_MSG DB 'RR ',NULL -RNR_MSG DB 'RNR ',NULL -UI_MSG DB 'UI',NULL -FRMR_MSG DB 'FRMR ',NULL -REJ_MSG DB 'REJ ',NULL -; -; IP AND TCP BITS -; -IPMSG STRUC -; -; FORMAT OF IP HEADER -; -; NOTE THESE FIELDS ARE STORED HI ORDER BYTE FIRST (NOT NORMAL 8086 FORMAT) -; - -VERLEN DB 0 ; 4 BITS VERSION, 4 BITS LENGTH -TOS DB 0 ; TYPE OF SERVICE -IPLENGTH DW 0 ; DATAGRAM LENGTH -IPID DW 0 ; IDENTIFICATION -FRAGWORD DW 0 ; 3 BITS FLAGS, 13 BITS OFFSET -IPTTL DB 0 -IPPROTOCOL DB 0 ; HIGHER LEVEL PROTOCOL -IPCHECKSUM DW 0 ; HEADER CHECKSUM -IPSOURCE DD 0 -IPDEST DD 0 -; -; FORMAT OF TCP HEADER WITHIN AN IP DATAGRAM -; -; NOTE THESE FIELDS ARE STORED HI ORDER BYTE FIRST (NOT NORMAL 8086 FORMAT) -; - -SOURCEPORT DW 0 -DESTPORT DW 0 - -SEQNUM DD 0 -ACKNUM DD 0 - -TCPCONTROL DB 0 ; 4 BITS DATA OFFSET 4 RESERVED -TCPFLAGS DB 0 ; (2 RESERVED) URG ACK PSH RST SYN FIN - -TCPWINDOW DW 0 -CHECKSUM DW 0 -URGPTR DW 0 -; -; OPTIONS AND/OR DATA MAY FOLLOW -; -TCPOPTIONS DB 4 DUP (0) - -IPMSG ENDS -; -; TCPFLAGS BITS -; -FIN EQU 1B -SYN EQU 10B -RST EQU 100B -PSH EQU 1000B -ACK EQU 10000B -URG EQU 100000B - - -TCP DB 'TCP: ',0 -ICMP DB 'ICMP: ',0 -LEN DB ' LEN: ',0 - -SEQTEXT DB ' SEQ: ',0 -ACKTEXT DB 'ACK: ',0 -WINDTEXT DB 'WIN: ',0 -SYNTEXT DB 'SYN ',0 -FINTEXT DB 'FIN ',0 -RSTTEXT DB 'RST ',0 -PSHTEXT DB 'PSH ',0 -ACKTEXT1 DB 'ACK ',0 -URGTEXT DB 'URG ',0 - -BADSUM DB ' CHECKSUM ERROR ',0 - -;-----------------------------------------------------------------------------; -; Parameter area for received frame ; -;-----------------------------------------------------------------------------; - -PORT_NO DB 0 ; Received port number 0 - 256 -VERSION_NO DB 0 ; Version 1 or 2 1,2 -POLL_FINAL DB 0 ; Poll or Final ? P,F -COMM_RESP DB 0 ; Command or Response C,R -FRAME_TYPE DB 0 ; Frame Type UI etc in Hex -PID DB 0 ; Protocol ID -FRAME_LENGTH DD 0 ; Length of frame 0 - 65... -NR DB 0 ; N(R) Flag -NS DB 0 ; N(S) Flag -INFO_FLAG DB 0 ; Information Packet ? 0 No, 1 Yes -OPCODE DB 0 ; L4 FRAME TYPE -FRMRFLAG DB 0 - -TRACEFLAG DB 1 -MALL DB 1 -HEADERLN DB 1 -MCOM DB 1 -MTX DB 1 -MMASK DW 0FFFFH -; -; HDLC COMMANDS (WITHOUT P/F) -; -UI EQU 3 -SABM EQU 2FH -DISC EQU 43H -DM EQU 0FH -UA EQU 63H -FRMR EQU 87H -RR EQU 1 -RNR EQU 5 -REJ EQU 9 -; -PFBIT EQU 10H ; POLL/FINAL BIT IN CONTROL BYTE - - -CRLF DB 0DH,0AH - -AX25CALL DB 7 DUP (0) ; WORK AREA FOR AX25 <> NORMAL CALL CONVERSION -NORMCALL DB 10 DUP (0) ; CALLSIGN IN NORMAL FORMAT -NORMLEN DD 0 ; LENGTH OF CALL IN NORMCALL -; -TENK DD 10000 - DD 1000 -WORD100 DD 100 -DWORD10 DD 10 -; -ACCUM DB 4 DUP (0) -CONVFLAG DB 0 -SUPPRESS DB 0 ; ZERO SUPPRESS FLAG - -SAVESI DD 0 -SAVEDI DD 0 - -_DATA ENDS - -; 2:Fm GM8BPQ-2 To NODES [18:49:56] -;FF BPQ (NetRom Routing) -; N5IN-9 N9 N5IN-3 152 -; GB7CB GALA N5IN-3 151 -; 1:Fm GM8BPQ To APU25N [18:51:48] -;=5828.55N/00612.62W- {UIV32} - -; 1:Fm GM8BPQ-1 To BPQ [09:09:51] - -_TEXT SEGMENT PUBLIC 'CODE' - - PUBLIC _AGWMONDECODE,_AGWMONOPTIONS - -_AGWMONOPTIONS: - - MOV MMASK,AX - MOV MTX,BL - MOV MCOM,CL - - RET - -_AGWMONDECODE: -; -; esi=message, edi=buffer, return length in ECX amd frame type in EAX -; - - MOV SAVESI,ESI - MOV SAVEDI,EDI - - MOV TIMESTAMP,EAX - - cmp TRACEFLAG,0 - jne TRACEOK - - -TRACERET: - - ret - -TRACEOK: - - MOVZX ECX,MSGLENGTH[ESI] -; -; GET THE CONTROL BYTE, TO SEE IF THIS FRAME IS TO BE DISPLAYED -; - PUSH ESI - MOV ECX,9 ; MAX DIGIS + 1 -CTRLLOOP: - TEST BYTE PTR MSGCONTROL-1[ESI],1 - JNZ CTRLFOUND - - ADD ESI,7 - LOOP CTRLLOOP -; -; INVALID FRAME -; - POP ESI - MOV ECX,0 - RET - -CTRLFOUND: - - MOV AL,MSGCONTROL[ESI] - POP ESI -; - TEST AL,1 ; I FRAME - JZ IFRAME - - AND AL,NOT PFBIT ; CLEAR P/F - CMP AL,3 ; UI - JE OKTOTRACE ; ALWAYS DO UI - - CMP AL,FRMR - JE OKTOTRACE ; ALWAYS DO FRMR - -; -; USEQ/CONTROL - TRACE IF MCOM ON -; - CMP MCOM,0 - JNE OKTOTRACE - - MOV ECX,0 - RET - -;-----------------------------------------------------------------------------; -; Check for MALL ; -;-----------------------------------------------------------------------------; - -IFRAME: - - cmp MALL,0 - jne OKTOTRACE - - MOV ECX,0 - ret - -OKTOTRACE: -; -;-----------------------------------------------------------------------------; -; Get the port number of the received frame ; -;-----------------------------------------------------------------------------; - - mov CL,MSGPORT[ESI] - mov PORT_NO,CL - - TEST CL,80H - JZ NOT_TX -; -; TRANSMITTED FRAME - SEE IF MTX ON -; - CMP MTX,1 - JE NOT_TX - - MOV ECX,0 - RET - -NOT_TX: - - AND CL,7FH ; MASK T/R BIT - - DEC CL - MOV AX,1 - SHL AX,CL ; SHIFT BIT UP - - TEST MMASK,AX - JNZ TRACEOK1 - - MOV ECX,0 - RET - -TRACEOK1: - - MOV FRMRFLAG,0 - - mov AH,MSGDEST+6[ESI] - mov AL,MSGORIGIN+6[ESI] - - mov COMM_RESP,0 ; Clear Command/Response Flag - -;-----------------------------------------------------------------------------; -; Is it a Poll/Final or Command/Response ; -;-----------------------------------------------------------------------------; - - test AH,80H - mov COMM_RESP,'C' - jnz NOT_RESPONSE - mov COMM_RESP,'R' - -NOT_RESPONSE: - -;-----------------------------------------------------------------------------; -; Is this version 1 or 2 of AX25 ? ; -;-----------------------------------------------------------------------------; - - xor AH,AL - test AH,80H - mov VERSION_NO,1 - je VERSION_1 - mov VERSION_NO,2 - -VERSION_1: - - - mov al,PORT_NO - and al,7fh - - - cmp AL,10 - JAE @F - - PUSH EAX - - MOV AL,' ' - CALL PUTCHAR - - POP EAX -@@: - call DISPLAY_BYTE_1 - - MOV AL,':' - - CALL PUTCHAR - - MOV AL,'F' - CALL PUTCHAR - - MOV AL,'m' - CALL PUTCHAR - - MOV AL,' ' - CALL PUTCHAR - -;-----------------------------------------------------------------------------; -; Display Origin Callsign ; -;-----------------------------------------------------------------------------; - - PUSH ESI - - lea ESI,MSGORIGIN[ESI] - call CONVFROMAX25 - - mov ESI,OFFSET NORMCALL - call DISPADDR - - POP ESI - - PUSH ESI - - mov EBX,OFFSET TO_MSG - call NORMSTR - -;-----------------------------------------------------------------------------; -; Display Destination Callsign ; -;-----------------------------------------------------------------------------; - - lea ESI,MSGDEST[ESI] - call CONVFROMAX25 - - mov ESI,OFFSET NORMCALL - call DISPADDR - - pop ESI - - movzx EAX,MSGLENGTH[ESI] - mov FRAME_LENGTH,EAX - mov CX,8 ; Max number of digi-peaters - -;-----------------------------------------------------------------------------; -; Display any Digi-Peaters ; -;-----------------------------------------------------------------------------; - -NEXT_DIGI: - - test MSGORIGIN+6[ESI],1 - jnz NO_MORE_DIGIS - - add ESI,7 - sub FRAME_LENGTH,7 ; Reduce length - - push ESI - - push ECX - lea ESI,MSGORIGIN[ESI] - call CONVFROMAX25 ; Convert to call - - push EAX ; Last byte is in AH - - mov AL,',' - call PUTCHAR - - mov ESI,OFFSET NORMCALL - call DISPADDR - - pop EAX - - test AH,80H - jz NOT_REPEATED - - mov AL,'*' - call PUTCHAR - -NOT_REPEATED: - - pop ECX - pop ESI - loop NEXT_DIGI - -NO_MORE_DIGIS: - - MOV AL,' ' - CALL PUTCHAR - -;-----------------------------------------------------------------------------; -; If this is Version 2 get the Poll/Final Bit ; -;-----------------------------------------------------------------------------; - - mov POLL_FINAL,0 ; Clear Poll/Final Flag - - mov AL,MSGCONTROL[ESI] ; Get control byte - - cmp COMM_RESP,'C' - jne NOT_COMM - - test AL,PFBIT - je NOT_POLL - - mov POLL_FINAL,'P' - -NOT_POLL: -NOT_COMM: - - cmp COMM_RESP,'R' - jne NOT_RESP - - test AL,PFBIT - je NOT_FINAL - - mov POLL_FINAL,'F' - -NOT_FINAL: -NOT_RESP: - -;-----------------------------------------------------------------------------; -; Start displaying the frame information ; -;-----------------------------------------------------------------------------; - - and AL,NOT PFBIT ; Remove P/F bit - mov FRAME_TYPE,AL - - mov AL,'<' ; Print "<" - call PUTCHAR - - mov NR,0 ; Reset all the flags - mov NS,0 - mov INFO_FLAG,0 - - mov AL,FRAME_TYPE - - test AL,1 - jne NOT_I_FRAME - -;-----------------------------------------------------------------------------; -; Information frame ; -;-----------------------------------------------------------------------------; - - mov AL,'I' - call PUTCHAR - mov AL,' ' - call PUTCHAR - - mov INFO_FLAG,1 - mov NR,1 - mov NS,1 - jmp END_OF_TYPE - -NOT_I_FRAME: - -;-----------------------------------------------------------------------------; -; Un-numbered Information Frame ; -;-----------------------------------------------------------------------------; - - cmp AL,UI - jne NOT_UI_FRAME - - mov EBX,OFFSET UI_MSG - call NORMSTR - - mov INFO_FLAG,1 - jmp END_OF_TYPE - -NOT_UI_FRAME: - test AL,10B - jne NOT_R_FRAME - -;-----------------------------------------------------------------------------; -; Process supervisory frames ; -;-----------------------------------------------------------------------------; - - mov NR,1 ; All supervisory frames have N(R) - - and AL,0FH ; Mask the interesting bits - cmp AL,RR - jne NOT_RR_FRAME - - mov EBX,OFFSET RR_MSG - call NORMSTR - jmp END_OF_TYPE - -NOT_RR_FRAME: - cmp AL,RNR - jne NOT_RNR_FRAME - - mov EBX,OFFSET RNR_MSG - call NORMSTR - jmp END_OF_TYPE - -NOT_RNR_FRAME: - cmp AL,REJ - jne NOT_REJ_FRAME - - mov EBX,OFFSET REJ_MSG - call NORMSTR - jmp END_OF_TYPE - -NOT_REJ_FRAME: - mov NR,0 ; Don't display sequence number - mov AL,'?' ; Print "?" - call PUTCHAR - jmp END_OF_TYPE - -;-----------------------------------------------------------------------------; -; Process all other frame types ; -;-----------------------------------------------------------------------------; - -NOT_R_FRAME: - cmp AL,UA - jne NOT_UA_FRAME - - mov EBX,OFFSET UA_MSG - call NORMSTR - jmp SHORT END_OF_TYPE - -NOT_UA_FRAME: - cmp AL,DM - jne NOT_DM_FRAME - - mov EBX,OFFSET DM_MSG - call NORMSTR - jmp SHORT END_OF_TYPE - -NOT_DM_FRAME: - cmp AL,SABM - jne NOT_SABM_FRAME - - mov EBX,OFFSET SABM_MSG - call NORMSTR - - jmp SHORT END_OF_TYPE - -NOT_SABM_FRAME: - cmp AL,DISC - jne NOT_DISC_FRAME - - mov EBX,OFFSET DISC_MSG - call NORMSTR - - jmp SHORT END_OF_TYPE - -NOT_DISC_FRAME: - cmp AL,FRMR - jne NOT_FRMR_FRAME - - mov EBX,OFFSET FRMR_MSG - call NORMSTR - MOV FRMRFLAG,1 - jmp SHORT END_OF_TYPE - -NOT_FRMR_FRAME: - mov AL,'?' - call PUTCHAR - -END_OF_TYPE: - -;----------------------------------------------------------------------------; -; If Version 2 Then display P/F C/R Information ; -;----------------------------------------------------------------------------; - - IF 0 - - cmp VERSION_NO,2 - jne NOT_VERSION_2 - - mov AL,' ' - call PUTCHAR - - mov AL,COMM_RESP ; Print Command/Response Flag - call PUTCHAR - - ENDIF - - cmp POLL_FINAL,0 - je NO_POLL_FINAL - - - mov AL,POLL_FINAL ; Print Poll/Final Flag if Set - call PUTCHAR - - mov AL,' ' - call PUTCHAR - -NO_POLL_FINAL: -NOT_VERSION_2: - - -;----------------------------------------------------------------------------; -; Display sequence numbers if applicable ; -;----------------------------------------------------------------------------; - - cmp NR,1 - jne NOT_NR_DATA - - - mov AL,'R' - call PUTCHAR - - mov AL,FRAME_TYPE - rol AL,1 - rol AL,1 - rol AL,1 - - call DISPLAYSEQ - - mov AL,' ' - call PUTCHAR - -NOT_NR_DATA: - - cmp NS,1 - jne NOT_NS_DATA - - mov AL,'S' - call PUTCHAR - - mov AL,FRAME_TYPE - ror AL,1 - - call DISPLAYSEQ - -NOT_NS_DATA: - - CMP INFO_FLAG,1 - JNE NO_PID_LEN - - - mov EBX,OFFSET PID_MSG - call NORMSTR - - PUSH ESI - lea ESI,MSGPID[ESI] - lodsb - POP ESI - - CALL HEXOUT - - mov EBX,OFFSET LEN_MSG - call NORMSTR - - MOV EAX,FRAME_LENGTH - SUB EAX,23 - - CALL DISPLAY_BYTE_1 - - mov AL,' ' - call PUTCHAR - -NO_PID_LEN: - - mov AL,'>' - call PUTCHAR - - mov AL,'[' - call PUTCHAR - -; -; DISPLAY TIMESTAMP -; - - MOV EAX,TIMESTAMP - mov EDX,0 - DIV D86400 - - MOV EAX,EDX - MOV edx,0 - DIV D3600 - - CALL DISPLAY_BYTE_2 - - MOV AL,':' - CALL PUTCHAR - - MOV EAX,EDX - MOV EDX,0 - DIV D60 ; MINS IN AX, SECS IN DX - - PUSH DX - - CALL DISPLAY_BYTE_2 - - MOV AL,':' - CALL PUTCHAR - - POP AX ; SECS - CALL DISPLAY_BYTE_2 - - - mov AL,']' - call PUTCHAR - - - CMP FRMRFLAG,0 - JE NOTFRMR -; -; DISPLAY FRMR BYTES -; - lea ESI,MSGPID[ESI] - MOV ECX,3 ; TESTING -FRMRLOOP: - lodsb - CALL BYTE_TO_HEX - - LOOP FRMRLOOP - - JMP NO_INFO - -NOTFRMR: -;----------------------------------------------------------------------------; -; Find the PID if an information frame ; -;----------------------------------------------------------------------------; - - mov AL,0 - - cmp INFO_FLAG,1 - jne NO_PID - - lea ESI,MSGPID[ESI] - lodsb - -NO_PID: - mov PID,AL - -;----------------------------------------------------------------------------; -; Is this a NET/ROM message of any sort ? ; -;----------------------------------------------------------------------------; - - MOV ECX,FRAME_LENGTH - - cmp PID,NETROM_PID - je DISPLAY_NETROM - -;----------------------------------------------------------------------------; -; Display the rest of the frame (If Any) ; -;----------------------------------------------------------------------------; - -DISPLAY_INFO: - - cmp INFO_FLAG,1 ; Is it an information packet ? - jne NO_INFO - - - XOR AL,AL ; IN CASE EMPTY - - sub ECX,23 - JCXZ NO_INFO ; EMPTY I FRAME -; -; PUT TEXT ON A NEW LINE -; - PUSH ECX - MOV AL,0DH - PUSH ESI - CALL PUTCHAR - POP ESI - POP ECX - -SAMELN: - - cmp ECX,257 - jb LENGTH_OK - - mov ECX,256 - -LENGTH_OK: - - push ECX - lodsb - - cmp AL,0AH - JE MONOK - CMP AL,0DH - JE MONOK - - CMP AL,20H - JB SKIP_MON ; IGNORE OTHER CONTROLS - -MONOK: - call PUTCHAR - -SKIP_MON: - - pop ECX - loop LENGTH_OK - -NO_INFO: -; -; ADD CR UNLESS DATA ALREADY HAS ONE -; - CMP AL,CR - JE NOTANOTHER -ADD_CR: - mov AL,CR - call PUTCHAR - -NOTANOTHER: -; - MOV ECX,EDI - SUB ECX,SAVEDI - - MOVZX EAX,FRAME_TYPE - - RET - - -;----------------------------------------------------------------------------; -; Display NET/ROM data ; -;----------------------------------------------------------------------------; - -DISPLAY_NETROM: - - MOV AL,CR - CALL PUTCHAR - - lodsb - PUSH EAX - CALL HEXOUT - - mov AL,' ' - call PUTCHAR - - POP EAX - - cmp AL,NODES_SIG ; Check NODES message - - JNE DISPLAY_NETROM_DATA - - cmp FRAME_TYPE, 3 - JNE DISPLAY_NETROM_DATA ; Not UI, so INP3 - -;----------------------------------------------------------------------------; -; Display NODES broadcast ; -;----------------------------------------------------------------------------; - - push ECX - - mov ECX,6 - REP MOVSB ; ALIAS - - mov EBX,OFFSET NODES_MSG - call NORMSTR - - pop ECX - - sub ECX,30 ; Header, mnemonic and signature length - -NODES_LOOP: - - cmp ECX,0 - jbe NO_INFO - - push ECX - push ESI ; Global push for each node - - mov AL,' ' - call PUTCHAR - mov AL,' ' - call PUTCHAR - - push ESI - - add ESI,7 ; Display destination mnemonic - - cmp BYTE PTR [ESI],' ' - je NO_MNEMONIC - - mov ECX,6 ; Max length - -MNEMONIC_LOOP: - - lodsb ; Get character - - cmp AL,' ' ; Short mnemonic ? - je END_MNEMONIC - - call PUTCHAR - - loop MNEMONIC_LOOP - -END_MNEMONIC: - - mov AL,':' - call PUTCHAR - -NO_MNEMONIC: - - pop ESI - push ESI - - call CONVFROMAX25 ; Display dest callsign - mov ESI,OFFSET NORMCALL - call DISPADDR - - mov EBX,OFFSET VIA_MSG - call NORMSTR - - pop ESI - add ESI,13 ; Point to neighbour callsign - push ESI - - call CONVFROMAX25 - mov ESI,OFFSET NORMCALL - call DISPADDR - - mov EBX,OFFSET QUALITY_MSG - call NORMSTR - - pop ESI - add ESI,7 ; Point to quality byte - - mov AL,[ESI] - call DISPLAY_BYTE_1 - - mov AL,CR - call PUTCHAR - - pop ESI - pop ECX - add ESI,21 ; Point to next destination - sub ECX,21 ; Remove length of each - - jmp NODES_LOOP - -;----------------------------------------------------------------------------; -; Display normal NET/ROM transmissions ; -;----------------------------------------------------------------------------; - -DISPLAY_NETROM_DATA: - - DEC ESI ; BACK TO DATA - - mov EBX,OFFSET NETROM_MSG - call NORMSTR - - PUSH ESI - - call CONVFROMAX25 - mov ESI,OFFSET NORMCALL - call DISPADDR - - mov EBX,OFFSET TO_MSG - call NORMSTR - - pop ESI - add ESI,7 - - push ESI - - call CONVFROMAX25 - mov ESI,OFFSET NORMCALL - call DISPADDR -; -; Display Time To Live number -; - mov EBX,OFFSET TTL_MSG - call NORMSTR - - pop ESI - add ESI,7 ; Point to TTL counter - - lodsb - call DISPLAY_BYTE_1 - -; -; DISPLAY CIRCUIT ID -; - MOV EBX,OFFSET CCT_MSG - CALL NORMSTR - - LODSB - CALL BYTE_TO_HEX - - LODSB - CALL BYTE_TO_HEX - - INC ESI - INC ESI ; TO OPCODE - -;-----------------------------------------------------------------------------; -; Determine type of Level 4 frame ; -;-----------------------------------------------------------------------------; - - mov AL,[ESI] - MOV OPCODE,AL ; SAVE - AND AL,0FH ; Strip off flags - - cmp AL,L4CREQ - jne NOT_L4CREQ - - mov EBX,OFFSET CONN_REQ_MSG - call NORMSTR - - MOV EBX,OFFSET WINDOW - CALL NORMSTR - - INC ESI - LODSB ; WINDOW SIZE - - CALL DISPLAY_BYTE_1 - - mov AL,' ' - call PUTCHAR - - PUSH ESI - - call CONVFROMAX25 - mov ESI,OFFSET NORMCALL - call DISPADDR - - mov EBX,OFFSET AT_MSG - call NORMSTR - - pop ESI - add ESI,7 - PUSH ESI - - call CONVFROMAX25 - mov ESI,OFFSET NORMCALL - call DISPADDR - - - POP ESI - CMP FRAME_LENGTH,58 - JE NOT_BPQ -; -; BPQ EXTENDED CON REQ - DISPLAY TIMEOUT -; - MOV EBX,OFFSET TIM_MSG - CALL NORMSTR - - MOV AX,7[ESI] ; TIMEOUT - - CALL DISPLAY_BYTE_1 -; -NOT_BPQ: - - JMP ADD_CR - -NOT_L4CREQ: - - cmp AL,L4CACK - jne NOT_L4CACK - - TEST OPCODE,L4BUSY - JZ L4CRQ00 -; -; BUSY RETURNED -; - MOV EBX,OFFSET CONN_NAK_MSG - CALL NORMSTR - - JMP END_NETROM - -L4CRQ00: - - MOV EBX,OFFSET CONN_ACK_MSG - CALL NORMSTR - - MOV EBX,OFFSET WINDOW - CALL NORMSTR - - MOV AL,1[ESI] ; WINDOW SIZE - - CALL DISPLAY_BYTE_1 - - MOV EBX,OFFSET MYCCT_MSG - CALL NORMSTR - - MOV AL,-2[ESI] - CALL BYTE_TO_HEX - - MOV AL,-1[ESI] - CALL BYTE_TO_HEX - - JMP ADD_CR - -NOT_L4CACK: - - cmp AL,L4DREQ - jne NOT_L4DREQ - - mov EBX,OFFSET DISC_REQ_MSG - call NORMSTR - - JMP ADD_CR - -NOT_L4DREQ: - - cmp AL,L4DACK - jne NOT_L4DACK - - mov EBX,OFFSET DISC_ACK_MSG - call NORMSTR - - jmp add_cr - -NOT_L4DACK: - - cmp AL,L4INFO - jne NOT_L4INFO - - mov EBX,OFFSET INFO_MSG - call NORMSTR - - mov AL,-2[ESI] ; Get send sequence number - call DISPLAY_BYTE_1 - - mov AL,' ' - call PUTCHAR - mov AL,'R' - call PUTCHAR - - mov AL,-1[ESI] ; Get receive sequence number - call DISPLAY_BYTE_1 - - mov AL,'>' - call PUTCHAR - - INC ESI ; TO DATA - MOV ECX,FRAME_LENGTH - sub ECX,20 - - CALL DOL4FLAGS - - jmp DISPLAY_INFO - - -NOT_L4INFO: - - cmp AL,L4IACK - jne NOT_L4IACK - - mov EBX,OFFSET INFO_ACK_MSG - call NORMSTR - - mov AL,-1[ESI] ; Get receive sequence number - call DISPLAY_BYTE_1 - - mov AL,'>' - call PUTCHAR - - CALL DOL4FLAGS - - JMP SHORT END_NETROM - -NOT_L4IACK: - - OR AL,AL - JNZ NOTIP -; -; TCP/IP DATAGRAM -; - mov EBX,OFFSET IP_MSG - call NORMSTR -; - INC ESI ; NOW POINTING TO IP HEADER -; - PUSH ESI - - LEA ESI,IPSOURCE[ESI] - CALL PRINT4 ; PRINT IF ADDR IN 'DOTTED DECIMAL' FORMAT - - POP ESI - - MOV AL,'>' - CALL PUTCHAR - - PUSH ESI - - LEA ESI,IPDEST[ESI] - CALL PRINT4 ; PRINT IF ADDR IN 'DOTTED DECIMAL' FORMAT - - MOV EBX,OFFSET LEN - CALL NORMSTR - - POP ESI - - MOV AL,BYTE PTR IPLENGTH[ESI] - CALL BYTE_TO_HEX - - MOV AL,BYTE PTR IPLENGTH+1[ESI] - CALL BYTE_TO_HEX - - MOV AL,20H - CALL PUTCHAR - - MOV AL,IPPROTOCOL[ESI] - CALL DISPLAY_BYTE_1 ; DISPLAY PROTOCOL TYPE - -; mov AL,CR -; call PUTCHAR -; -; MOV ECX,39 ; TESTING -;IPLOOP: -; lodsb -; CALL BYTE_TO_HEX -; -; LOOP IPLOOP - - JMP ADD_CR - -NOTIP: - - mov EBX,OFFSET DUFF_NET_MSG - call NORMSTR - - -END_NETROM: - - jmp add_cr - -DOL4FLAGS: -; -; DISPLAY BUSY/NAK/MORE FLAGS -; - TEST OPCODE,L4BUSY - JZ L4F010 - - MOV AL,'B' - CALL PUTCHAR -L4F010: - TEST OPCODE,L4NAK - JZ L4F020 - - MOV AL,'N' - CALL PUTCHAR -L4F020: - TEST OPCODE,L4MORE - JZ L4F030 - - MOV AL,'M' - CALL PUTCHAR -L4F030: - RET - -;----------------------------------------------------------------------------; -; Display ASCIIZ strings ; -;----------------------------------------------------------------------------; - -NORMSTR: - MOV AL,[EBX] - INC EBX - cmp AL,NULL ; End of String ? - je NORMSTR_RET ; Yes - call PUTCHAR - jmp SHORT NORMSTR - -NORMSTR_RET: - ret - -;-----------------------------------------------------------------------------; -; Display sequence numbers ; -;-----------------------------------------------------------------------------; - -DISPLAYSEQ: - and AL,7 - add AL,30H - call PUTCHAR - ret - -;-----------------------------------------------------------------------------; -; Display Callsign pointed to by SI ; -;-----------------------------------------------------------------------------; - -DISPADDR: - - jcxz DISPADDR_RET - - LODS NORMCALL - call PUTCHAR - - loop DISPADDR - -DISPADDR_RET: - ret - - -PRINT4: -; -; DISPLAY IP ADDR IN DOTTED DECIMAL FORMAT -; - - LODSB - CALL DISPLAY_BYTE_1 - MOV AL,'.' - CALL PUTCHAR - - LODSB - CALL DISPLAY_BYTE_1 - MOV AL,'.' - CALL PUTCHAR - - LODSB - CALL DISPLAY_BYTE_1 - MOV AL,'.' - CALL PUTCHAR - - LODSB - CALL DISPLAY_BYTE_1 - - RET - - - -;-----------------------------------------------------------------------------; -; Convert byte in AL to nnn, nn or n format ; -;-----------------------------------------------------------------------------; - -DISPLAY_BYTE_1: - - cmp AL,100 - jb TENS_1 - - mov AH,0 - -HUNDREDS_LOOP_1: - cmp AL,100 - jb HUNDREDS_LOOP_END_1 - - sub AL,100 - inc AH - jmp SHORT HUNDREDS_LOOP_1 - -HUNDREDS_LOOP_END_1: - push AX - mov AL,AH - add AL,30H - call PUTCHAR - pop AX - jmp SHORT TENS_PRINT_1 - -TENS_1: - cmp AL,10 - jb UNITS_1 - -TENS_PRINT_1: - mov AH,0 - -TENS_LOOP_1: - cmp AL,10 - jb TENS_LOOP_END_1 - - sub AL,10 - inc AH - jmp SHORT TENS_LOOP_1 - -TENS_LOOP_END_1: - push AX - mov AL,AH - add AL,30H - call PUTCHAR - pop AX - -UNITS_1: - add AL,30H - call PUTCHAR - - ret - -;-----------------------------------------------------------------------------; -; Convert byte in AL to nn format ; -;-----------------------------------------------------------------------------; - -DISPLAY_BYTE_2: - cmp AL,100 - jb TENS_2 - - sub AL,100 - jmp SHORT DISPLAY_BYTE_2 - -TENS_2: - mov AH,0 - -TENS_LOOP_2: - cmp AL,10 - jb TENS_LOOP_END_2 - - sub AL,10 - inc AH - jmp SHORT TENS_LOOP_2 - -TENS_LOOP_END_2: - push AX - mov AL,AH - add AL,30H - call PUTCHAR - pop AX - -UNITS_2: - add AL,30H - call PUTCHAR - - ret - -;-----------------------------------------------------------------------------; -; Convert byte in AL to Hex display ; -;-----------------------------------------------------------------------------; - -BYTE_TO_HEX: - push AX - shr AL,1 - shr AL,1 - shr AL,1 - shr AL,1 - call NIBBLE_TO_HEX - pop AX - call NIBBLE_TO_HEX - ret - -NIBBLE_TO_HEX: - and AL,0FH - cmp AL,10 - - jb LESS_THAN_10 - add AL,7 - -LESS_THAN_10: - add AL,30H - call PUTCHAR - ret - - - -CONVFROMAX25: -; -; CONVERT AX25 FORMAT CALL IN [SI] TO NORMAL FORMAT IN NORMCALL -; RETURNS LENGTH IN CX AND NZ IF LAST ADDRESS BIT IS SET -; - PUSH EDI ; SAVE BUFFER - - PUSH ESI ; SAVE - MOV EDI,OFFSET NORMCALL - MOV ECX,10 ; MAX ALPHANUMERICS - MOV AL,20H - REP STOSB ; CLEAR IN CASE SHORT CALL - MOV EDI,OFFSET NORMCALL - MOV CL,6 -CONVAX50: - LODSB - CMP AL,40H - JE CONVAX60 ; END IF CALL - DO SSID - - SHR AL,1 - STOSB - LOOP CONVAX50 -CONVAX60: - POP ESI - ADD ESI,6 ; TO SSID - LODSB - MOV AH,AL ; SAVE FOR LAST BIT TEST - SHR AL,1 - AND AL,0FH - JZ CONVAX90 ; NO SSID - FINISHED -; - MOV BYTE PTR [EDI],'-' - INC EDI - CMP AL,10 - JB CONVAX70 - SUB AL,10 - MOV BYTE PTR [EDI],'1' - INC EDI -CONVAX70: - ADD AL,30H ; CONVERT TO DIGIT - STOSB -CONVAX90: - MOV ECX,EDI - SUB ECX,OFFSET NORMCALL - MOV NORMLEN,ECX ; SIGNIFICANT LENGTH - - TEST AH,1 ; LAST BIT SET? - - POP EDI - RET - -HEXOUT: - - PUSH AX - PUSH AX - sar al,1 - sar al,1 - sar al,1 - sar al,1 - call hexout1 - pop ax - call hexout1 - POP AX - ret - -hexout1: - and al,0fh - cmp al,10 - jl hexout5 - add al,7 -hexout5: - add al,30h - STOSB -; - ret - -PUTCHAR: - STOSB - RET - -_TEXT ENDS -; - END diff --git a/BPQChat.vcproj b/BPQChat.vcproj deleted file mode 100644 index c3b8993..0000000 --- a/BPQChat.vcproj +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/BPQMail.vcproj b/BPQMail.vcproj deleted file mode 100644 index 81a5df9..0000000 --- a/BPQMail.vcproj +++ /dev/null @@ -1,493 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/BPQMail.vcproj.LAPTOP-Q6S4RP5Q.johnw.user b/BPQMail.vcproj.LAPTOP-Q6S4RP5Q.johnw.user deleted file mode 100644 index bed4096..0000000 --- a/BPQMail.vcproj.LAPTOP-Q6S4RP5Q.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BPQMail.vcproj.NOTTSDESKTOP.John.user b/BPQMail.vcproj.NOTTSDESKTOP.John.user deleted file mode 100644 index fa82c00..0000000 --- a/BPQMail.vcproj.NOTTSDESKTOP.John.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BPQMail.vcproj.SKIGACER.johnw.user b/BPQMail.vcproj.SKIGACER.johnw.user deleted file mode 100644 index bbece07..0000000 --- a/BPQMail.vcproj.SKIGACER.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BPQRemotePTT.vcproj b/BPQRemotePTT.vcproj deleted file mode 100644 index f47dfa3..0000000 --- a/BPQRemotePTT.vcproj +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/BPQWinAPP.vcproj b/BPQWinAPP.vcproj deleted file mode 100644 index 7aa07c4..0000000 --- a/BPQWinAPP.vcproj +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user b/BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user deleted file mode 100644 index bed4096..0000000 --- a/BPQWinAPP.vcproj.LAPTOP-Q6S4RP5Q.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BPQWinAPP.vcproj.NOTTSDESKTOP.John.user b/BPQWinAPP.vcproj.NOTTSDESKTOP.John.user deleted file mode 100644 index fa82c00..0000000 --- a/BPQWinAPP.vcproj.NOTTSDESKTOP.John.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/CBPQ32.vcproj b/CBPQ32.vcproj deleted file mode 100644 index b66278e..0000000 --- a/CBPQ32.vcproj +++ /dev/null @@ -1,637 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user b/CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user deleted file mode 100644 index fa74d31..0000000 --- a/CBPQ32.vcproj.LAPTOP-Q6S4RP5Q.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/CBPQ32.vcproj.NOTTSDESKTOP.John-skigdebian.user b/CBPQ32.vcproj.NOTTSDESKTOP.John-skigdebian.user deleted file mode 100644 index f4ba73a..0000000 --- a/CBPQ32.vcproj.NOTTSDESKTOP.John-skigdebian.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/CBPQ32.vcproj.NOTTSDESKTOP.John.user b/CBPQ32.vcproj.NOTTSDESKTOP.John.user deleted file mode 100644 index f4ba73a..0000000 --- a/CBPQ32.vcproj.NOTTSDESKTOP.John.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/CBPQ32.vcproj.SKIGACER.johnw.user b/CBPQ32.vcproj.SKIGACER.johnw.user deleted file mode 100644 index 6aa33d1..0000000 --- a/CBPQ32.vcproj.SKIGACER.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/FormatHTML.vcproj b/FormatHTML.vcproj deleted file mode 100644 index 1c3dce1..0000000 --- a/FormatHTML.vcproj +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FormatHTML.vcproj.LAPTOP-Q6S4RP5Q.johnw.user b/FormatHTML.vcproj.LAPTOP-Q6S4RP5Q.johnw.user deleted file mode 100644 index bed4096..0000000 --- a/FormatHTML.vcproj.LAPTOP-Q6S4RP5Q.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/MCP2221.vcproj b/MCP2221.vcproj deleted file mode 100644 index d2c9621..0000000 --- a/MCP2221.vcproj +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/MailNode.vcproj b/MailNode.vcproj deleted file mode 100644 index a77077c..0000000 --- a/MailNode.vcproj +++ /dev/null @@ -1,643 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/MailNode.vcproj.LAPTOP-Q6S4RP5Q.johnw.user b/MailNode.vcproj.LAPTOP-Q6S4RP5Q.johnw.user deleted file mode 100644 index 87b9e21..0000000 --- a/MailNode.vcproj.LAPTOP-Q6S4RP5Q.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/MailNode.vcproj.NOTTSDESKTOP.John-skigdebian.user b/MailNode.vcproj.NOTTSDESKTOP.John-skigdebian.user deleted file mode 100644 index 4aa3c72..0000000 --- a/MailNode.vcproj.NOTTSDESKTOP.John-skigdebian.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/MailNode.vcproj.NOTTSDESKTOP.John.user b/MailNode.vcproj.NOTTSDESKTOP.John.user deleted file mode 100644 index 4aa3c72..0000000 --- a/MailNode.vcproj.NOTTSDESKTOP.John.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/MailNode.vcproj.SKIGACER.johnw.user b/MailNode.vcproj.SKIGACER.johnw.user deleted file mode 100644 index bbece07..0000000 --- a/MailNode.vcproj.SKIGACER.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/NodeMapTest.vcproj b/NodeMapTest.vcproj deleted file mode 100644 index 9f9a2e1..0000000 --- a/NodeMapTest.vcproj +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PCBeep.wav b/PCBeep.wav deleted file mode 100644 index 8ff2dd9009a1cd1de23e972cea123b6559b81f60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35152 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

DuaRJrF%!Kc&+=vAi_;Ij-MN1^{n4nGm7mM9 z=&E7Lctex8Cyj2kKi0iVpAWqvI#Vsx>YpqlfElhSdHByYpBBGc_?CW`_9^wp$IM&B zeLYK+SsF+9^n|H(e>Ip@e|t@H%xKF4?5eob6I$`T_(DG$+gUz)$G`)1Lbr|-UhS(7%rkam5P>uU_Qwuyb}$2NhR z2=&e<7{V`*0r9i5LlK@`J-tg>e)`(%oPsCip!cLW3;krQv~Nu8S2wP~w0ctYMUn6H z3j#(@`@*(qkH6-B-12eXmpwm|b6jO@m?@yvFedU)&2x<>wJL9Ot<|H(FKh6&DypMA z!#%xZbMAx8H5nT+$K`w}I9-4i_m_F8ce6iqjq!oIy z{z@O6UOQ`FzOH<_x2CKmW>{CoM%Tfb;4MZr|IqMU^&8=Bh*Y*sX&}w`+4W}A%l$8( zzq$6YG__hTQ8|V?k9M~9skXcR+ZNuo6WbB3+BPhU9~DvuJHzEx4$GgH-aa+wTeI)+ zKPP59&Cjlw%M=HOXfB5Q6E(HkfcTcN&uy=a=dpM4Y^I0nY~`qmPL;f)zc+`Sr~E`- zXrn{sMEMf#)xKD-ur5{;joD>>01I?!v6Pnh1$y`RP20E0p9cJ_%3V;kLfAscVdd4M zoAyas)v2oU(hfsg52*iVOkIOV4Y+$2waDPV&-}ddqxdo9OGaw#th2>#_Y66jEVCYs z?vdE4W}_Ots!fkrW2`_QN?E?bs;IKh#hJy;%a&9P^3LL?17$=D)3WgUQB-V2beo9U z=5zQ#X^DGjaY|O&udvklsaJp3&E8cs$Pvw61adXw!j4rtPE7Sh# z_*1bzs@ z89PResM)_!-4@BM!dsLzY*nL`-LKmND72$o&fA)i`Rmos*x&0j3UW(I_Pd7gC!k*1 z4b}k>4WfQVZnkAuE@^4xfYO88=X>gY>)PzT=*?oxLRWP((p=Nnd@1~O)PJ#>xa!eW zVMp~c)QsI*(J{B@udZMBd!cl%tj*9O?9L1){1O$rPblKtJ<_|-nHK1 zID^%Wo#z)g@WQ7VWvSD@4gI?Mn~-`l<6gn#Dm@nlXXr=S&c;<%zgF|#>U-m=Y#)si z@Kb67ZjJYq(^=)HdhBfIt;>#+yTQGv!^Wc_H^N)k0->Kx5!7qo2Rq9-retW|jjUst zzO40msl`XD#?o4OF*?yOz;?6Rx!Oq$Pc?4Ph^;d~>X6 zubl^hWTK`K533iM6}={!k632CqS*;*xpvOd;y1Z1vsPyI&K{fJv-G+%iMW5L$1!1>&icuV^wDNbLJmu5xhWSwH&fdjn0o<9IKCd5}K@^ zhBOohc~+FQ%g3@3)32v3&FG&~QfR0=;Oip)hn+ViMovuJQukWJk&U+0-%`^Yn;vqX zni06iBvd#;EMLf-7ZzyT|bhK$YxjS`b>xR>xKt`p$epXC%%;-;`1T z=NkEEGO5gA_PU@^Tfu2WvL3Un4Q&>FCTyEk(f7w2sS}v0%HxGyvgf4tO1qoBHG5iN z^~x#qOXWN<)3Q3MO?9bmi$;qY&uy4gr+a)in?^q!3gg~5(u!_m&r0j|b7<cr4*-92PYr^tE2X&ITq42bo^pKzsk>%bJ}{=ZxMl*I`Nh9q16haUW9csMiX}eC%D$0l8TST zjS6ge>A8R8e=9;OKDrCJ`@muHh^aU%%ic38I`Ve-Fw0%-Jam*=kMBl%-5p#_U8!yx z{Vdq;--D~j%?94`F?35BAo3h$p-36C#DN4yt$(xt|qVV6+4vso>J;?*x zbWx$Rq9YRb)oM~Fv(`U}f#_MG=d}}|$^01i*|JjwV{-IapEB2Hx6R*MvfQzV!Id3o zHC-pmfUssZclh(rXv;SJUh)po1Nd9MCp_oAvIsYv|0G7Mji8%Yv?fd6-gLzD#BfM+ z4xOQ%VF`DaaaAlZgj)-lX=m~W`JxolU6mncth@~%rEI3GIFza=9iUT zbuHxH0io1U^D*0B(HXJVW5c31*w$K3Xg8p5)E9g@-PEITEpQHV9rH9{{^J{{`S2tX z($_GpG~YEj^#7w;BEyu4YzMHv;eyPmN?)lHCxsEOMvqjJ2u0 z3fmKK@f+z+?)T0kPJ>(UhOlu`K9GxT*Y+^2vKEIl3prx8>8(UA&_;OY9alBAv{BL9 z0#jjp@#`|cxsnc*CcuDpg|$xP%4((6f7P_t+>)>$dT3~owi1dGV2`GJYe8l9_{}yFU`0MgDB%ax=XHo5(8j<_J0Fezm*R z!eW!`dDio~|6v^iVL~nDv&ZB{-RnFP=vmxY`6cMb+H0(Ot075$O0yjw3muj3v%S1; z9SbTBlr<}xS{_!_z`d8zNfV$XD%QN-_Bf_z!p-Wpt4AlW(Wk?f>*pikVpGrm%D(5d z%FO&-^=nDmxU3BYODfWRA<9JDWEyNc8nY_?X~LNJ?J+5~edY_)cE}-iVJP?7s>>CJ zE9_ORUH|zu@q)Syou|f)7%0HKy%4$>;I0D{we8<28 ztdYJ!NHzQUnCjKmR$Cj}IWi*jh`t~8M(OMy?VMVgpWixXZ&qCPx7^i5RAs!cwe%kG z=zJlz$h;UlZfVRq`?Zjr!8n-}_?s7euUrEh+pCT^+PR0&NBO1dT7;m^>fNT@mSL7K zQ<=6MeifjF^K=`RzXB{ZrQ5%Ju- zjC>Plz;<-bFBy;*mSxH4oAD}ZbiP{Jz&(eTK~hs_R>B>TE2AGp{f-zLddoPHN`?0+ z(fmic*t5p{+&$4dikZjvS9U|EagDaF;f&F4Jgyr}=EMIgi@0mvn+~x&rSyNL3(I;{ z{^RP(z|wkXDb>{6)W$?p@eLAV5+7GHMo$Y%Hbh`2lgF6+L8G5I7d`+ z_-xZRG7P#ZCNp*1*Q(fxjEd=1%UllMP`;OHLE4gL-Bd%G;e`H+<_iwO-<5CtXy%7! ziL1ABi8I@^&AZmWQ(OW3!fNR%&1qqC?DL|wMQyV02unA)sP=GIX*wO{_*zn#pP5sh z-61!nAg;{hval)YLA>06g(XE=WB!O495uqmSoZ4fU_S$Egw{+y58>+N3~|-=jHGvR z{pEomi6PW`ZK(dYu9~(P*$@2$_@r8#+jr2t(7Dx-<{0jhJyi@W)&z>MSGuOwO= zFJfND9Eloc8*Q;@QRJy~lOF7_lvXb&&bgBPch2X0xU|UendzupL>K4~s}x>gzZ<#O zzBD}6TB5H;4u-Q7z0kn_mrv(aJgt1^8Hsa97C?b}<2%VEluX7E4bX95xN?I(%5?Gq zZl^QRb;{kw$M|=Pe4r2&H1AE`P@Vlr)ZOU2!T1XceQjt#WCccX&D@dY!wQpfompG5 z8t1t4&y_~H-m+mpck+hmVEBfp`mvj1??$^Ku7r#=93`s2OzA0`;~Va2=-CPHy&JkH}=aX-2M9t9xEb0L*o%#`>V`j+^f(iq!K=%Y|j6MVh)l*t=o+7Cp#3{5N^hWJ0>G|>g z+4MMHZ{HAlu75Q@RdxaCsGIs~z^(1VxbSe>+^|^dU_(E0BQ#o?$gs{sc?SDtc*&l}eYksSpgmnNOiY9i2&*HHLEi%O0g%LP| z+#RTc9K*w@MVi?fj2eR%!a0HWlAk-un0O<#%uOEn+82Fj#@5Xd9WC(902c)VZjBk&sQWtkZ>KA*zv`=()02>E;YksF zBX)%+gcyvs$uZCg(e3+P^{OPcpkwZ$oS(UE3#XRpT;KftR2HjgXdQaoo*VrkW_ffI z`-IR1#$qxNzAL-gVLqdKq_e4WuFLBg!OZ2eB5O$1)dI#=GWBF_T z%k&CgM_)J{=5NgRltaOR*cQ!T<9O?UV3c6C31OgBZ}?0+2mcV8(ia_d%7~(a`DFfI z1&(5E31>J3J=(B|A;}3T(t0YuB5UkioWK zS+Li(Z3!7=bdgseUK~vKbqpyjFBp>dEq7RcN)c0j&3%-s0URV^jrBrjMLdZ#MeVi^ z4nJynt?PsT0Dg+O{$wBQ8RSMhl9y(V^OxilU>R}~SIE|yx|$bcD83jT5QvjHaxQwf zcbogOtDQT-+lRTymnl!+N8~QUJF7SRl|3&qA##aLwYv2u@Xdk7ToZR_`IN$Wxr?%Q zWO{<|n2abq;*zz2J{cbh$ifb0xaXnss-v^Br+c+; z9~&m!2zcNnI7Ic<4ADeTukb@i8c-!u!fyW)Uy-Msr`%KG6a03uLhX*^k{u0UR&Uty zh&lEH5&2==ETOvd=qY8ZA9pP;>r!|;*Oxsc2hGne-dS~*z9v6K`|2}7^6f%QL0tE^ zq0!@PviXCi9}=S+VB@?N=h4a!6`Ly0I9%?UOt{ciZ2+&rpHcU<-F17kkEmjN60!&w zCQslwrl0SVXRBwIH;W$3p1R6>;xtDYu@89maZjGmxFWH}BCc3!0z@Jm@eSl<>R;+EnT_{A{|7nMbJA^o35)vIFsT15+fTri z_23{ZPBX)RT6Tu~2;CNX!HS#GH6u{3lFSylmX)tA8kXNGuS5R4qP^uq+`#+&yjV-A;aG^|cZG6XFZ5;7cBdW3;d)zJQvD|GbE3h4Yfi)nr zs7;zWnybNGLI`pSsHPy|Y;LoE8*`Z<*sJ_x`4_MmwNu^opG_^S9YRi7JDEr5Bggy_7U= zG>v%*oLP>V&d09p-oE}LLZ#va2cr&rJ6VT%N{%5KV~gN9z#Qe7xSRL0QLNwpn4QS$ zq~+>N=p^=(+N3`d-03c{KCTUQv?*n6zj?!RekmP`Q1Pa zq3WMn^TIpWzuS*T`sqN+kXk?d#r0^FF2H=-d2!#71_L~OSG8~Ts=zAl!S0OiSU z?i>BDr@%GXCAuzq>eBJ-SmD0x4t$3Mq&IdS>w~pLU%)&V3A9&l%FCty#Lc2RxG6uW z6bH^jC(t9rWX)^c5QE1s$M8f~PDz*@+A5!BVQ+$CS$T)jBPB;mTURV}67&Tj1^5?_ z)X%f@3)^ptia>4iLob+Jy7NSH*s87*Qv7MbT{7-z<(VC<#3-A|zmm?WW5IXuS@b71 z5I5m%vEK**yMR0DPWiDoMR>;>gZscFxk%MOv(Q2U)1J^bHm)vP1Hi*?h?hrr>^USJPta^iUKy z``k0a>-PQ6Z{zDqZPgm!1$Z}l8$<9_SZ{O}yacQhU}Q`>E&SyF<@*Z9#I-W3eg`WM z7B8S?1iS9_#v{f}h9n^ib*2a=A+OSh*+4awL_SV0>qN z6y^$_8s0ZF%RF7*pM;Teb*A{8?asXQb@v_iZJ_~w78@y?lLiMlG5ujJ%AxJB-)J$i z3_by_2qXtLnGb|#`~tp=PZsCOQvwChMXU#PSl80%G_5y3HZ3-M()_|4z;$sy)85Tg zg5~o||0qo_dtO=K(g(M6W*`}Bpv zZrI}S9Zb=Qq?!kR+T_GTBk-jL`02&^E zucU_Sb{HtrRMQ4yXZ>X=8%+Xgi@g}H>r&-`GEHe{X=z!vsz#n#Y>DiJpHpsQWk^3; zYQ*x0Dd82?e#UYt9-SD774Q1{`yxDEm)lk7e&}t*^x)2lT6G}U204QDCR&nx$)kjT z9YgMcd(~4?gwUFcVLkqv>}tNAbX?sHUBzxwNqU3nx|ud#GL`7xQ`^x4fxbcyI^cX= zft96|%q%@n-rLd83vxY_N3febW*BG92}`lDwhiH1Lb{tGw3D%203%W?0qeplv#50O9do@6|QP!)s* z{~JjGpQ>-9P(j0e_W$eu$yO6a$OC}Wh?T6TJ7t6|dh0sNbkj543*sNhD$n(ga`&w~ zS$ed%ck#y(x%{|u673g$0>|(I-AK!ou)PuK_GR|*wl^VfjoH*vBvwu4ThN`|dmY`Y z22|a0nA{6|v)BxAc;E^=6YoxOnn~K58i+cIzeV1H&(tDmhOnF4#~x!Jai4@0@`V5h z&&F~|Qg_DiKhsuIFXK{OV=^~5#XaDD2j}=x&I6NJAA#U?8_a1P4aWrz=aCC4z_3-p#E=Bqk_z(UApGlq3KG&Vp z)zTg%n_*L+&1#kShU?+KOLw9Zm_OK;0;+z5&II{0sPU^g(VAx|GmX>#NuGuWDv8`Y z?=?s5io~*8rR8NODj&N_=whKO@GtgWYckgh{T`lS>t$;b_OHci*iCMSmn*3p>ucry z>By?;=%{iY^;BoN@E2to_=QkJPwI>&Llds)Lq5dz!;Jt`87@xXYjU^PQr5?P5a!7r z0vq88xSJAn&5ZMdHfe2~r;88%ZzJUxJJZvws%_bi;)LQ6C2Pt@I#1JY#a7TpGRF8i zgttwLERP&(w}ub3{HObYyTJkSK+Z^~xDPmYIPN)qIzPKN`-=T3LUC}u{1<&sR8g_o z;o6fLiaLz%K!WT~Wt{kptIgi=&tymNT_rNm1wMrD*Zk54jL%Gp@sR!{brH=7yc8grjwz2eUbLsehbS6@HAzq$b#NgX%5 zwLA`u2xr5RLK7`z`do4g(lxMO+{ezR?cO8qT$kUK?cU+#X(u~Mq||J1DY~EVQoXc$ zw2w8F2b|Vvq2xrFCjNUTMeq7*6tz0Pzz8hhO??S z)AiPoS|wHucV@UZ&}KeaISf6;hijV~V=ZvVn~<(SMptuVxuy#H0Orekd4*~18|hi> zUgO^2>FN8zeB@%KU8)-_L^|PLi1}m^*@?J|JwUcVgMl7FuHrc9tC%6~m%hs@)r~*} zv;%ETJf+ra`|9$vVH%1kh9&ihu$w_VvmLc6XIIpyT;K@vq%(hs+kkDDQTv~9l=X1v z)UcG$2i66qCb~Jq4j2t+r6-)mU+C-W?d!oj8$GGsG}NEucZeCiYhQf-Lo=x6YlGC=6z&-9LPv(A5< z`&>Ic+vyJ67Rdk{M>s;(&NS*QXRM;NwzY;?XOO67m<9Apv$$I{<(=yOk|2<(JWtOWNE6q!uC!(Jmhpt=AZzTgU9uLOv9;c$X^+Rk`oL7F51;E#U|P~4^nIFV9kEBK~>e9ojr@0H3AVhh4ADdeLM4I>+O&QA*GgN(_`HhG8}ybyp?AO zci6K`O}e));O*fv(KDFp>`1;;{8zaMOb^<8FMgFMA^H$LEDA+}Ts(bXm9j*xD_@m8 z%Ikm=Y=Df!x)LwQ&D0-MBKZ?r4F3_tNSCsI`!={wIEx)ioOOb`h)aG#{Hz{=>l2-| z{~7)=_p_QqE?c#hw#I?lgZLj%OJym)l9}plhQm*NsV59nY=C9YD#pus3g2qdNH ztT{~8AZy{N$P6eFK!dUB6XQihTq*u7MJu{MSMXoBE;fPilE93C{P3^l9F$tcJf6Gj)V%mSwrMo%M-1%s5@^!7XrCl@JfH3Cs@P6Yp-X z-q(aKWx}}Q!Ea_{U?|ic&A@qbq$W!+P%FD!Y0>}3hCW{I3A~hZ~Au9HY4A;KX{jDFW&(hYW+GB&jZ&F=W_8fAos7Ni# zDLYXCIA43Wap}rnWD^x;+;06Rtd1?*wkzzR^_MZ2Td*;pO`gZCrdNCRxehxII!CzP zxHG+fGMBmTQoA6g^$|-WW3*Fsf9rN=S5c?%!AKc!UvY{~{x?^`X$7P7UMU1ZkSP3M z5MN2vwAXARA7MPSNlg`!{Yl;=*BVDx#|kImIZG?tC;21z5SyquX)syNhtQ$6u)L5N zmfMCBY8W~*a8^iWp1Hd?8dk2XNUCh?sO8T0wdP8t6ksZPh78f|GJG(;GcGikbmioD z>^@X0kS@VO9(&wB+;3nnaEkCP=$|BbG$s(a)JM%pO;c(k{s68U7$Fw;YxwrMJG$Dq zHn}pvJC8@lM1YK{g`{Z{HRVY@%cSLoj4>gQ_cZr}}J-g2nC4KSc>$#>e_hLypc;%4)D zQ+q>!<_KN@S=75ih2QB*^_+0ecQ^F7ytA0&Tq7w*-3Wa}4-?cx)WJ z2LRP)l2rtR8+;96gxFF(q0R=!A-(Y&vQ&fVw7RdFCgeo)4e(HU&-V8{akX_&RmoMn z!{8Yo%qH~%EHZ-%Gdwa^3mF*NKGbiWW`3b>8|--J0j1J+t~c|C*Xmy8eCY5x2D)B) zYB2TqZ88jYLKDdu+CqH`V{PMGeRFLA5sQuhe=A?bgM2s6$njiiuuGZ{7zLpyg^wm) z5?z9LZ4yF)ixrpfifzTr^X>2+^zQe~XYAY@v7uTUiow!JyY8Xkg6XLFuz9hmhT)!O zHhvyTQ6&B!M(^$CIu_(YUvf-#HSv}+&4gD<_aJ&xpBkt;XCO=sOlD(&E`yqYKY}&D zZh3}K&c^!t1vNH*`%iMi#3jlbzy)8&J_lLnNmOsL4jzWg1&+$3U}x=2HM$W!lvx~{ zu*>9sfGNmBd^FWsJ688bw^BDtyPnF%Zy_B(QE`aF`F8AnW<34KcfmKD&S&a#(c&tl zI+%@2ApX$o(CyVH=`U$zau0SMx}lbe*SNlZo_Dj=igtq5 zLv11YqJM*rl_(MBt}`L@z#y(~p)WEpM~PdMhTwBV!9P+pbY=QVgJ3AsU)Sy;IkXLQ zN*yeX=S%$_`hu^y@2t;Dm-}b%Eu{LYC8#rD(Zl#E;vhj1CDVKSOGku` zK^4tXt~x(Ws4iK83Y_WS3pflLMGU0UHBYpJ?t=D)MkJ5on-LFCQ&}XmWDnC%z2`k6 zJU=`!zD`Uyw_dEJz6YD3&4_2zQ?0BUt-q_&YY&s>u~qP3V1+`9kZ_KpgMH&l?k2xb zJS0o%BybfRhSDg84MBY{0euVXQ#MOsVn?Bs@KIob&+Jt10iU3oNIk4M{xYcXIF45a zH9%95{m@R}u$n6OkYdGp!Xds6FL5^h5`RnRD79C%1w?QLauSyL5fYHih@dV$R8_6pE5cVAVm0K8O zKVMYd2VQ_v;2f?BXnX7)_8RMt zLFkvDH73YjzRLd>o#utSHN5?NhnRHki$n*J?hW`Es)5d8XlDG=_{%U=-%-1eOvE-o zRq9&l6yK9Q$IPPd`bPK;_!b6v1nanI;z8v-kPTnPOr%QLwLP>WG&9L`%z#V=>ju^; zljNV$C#j>{RQW@_8Yl+x!S&Dss6W&Pyc0O143iRs{#-n}*ZQV zv8TirYNU3k?!E4&&KsPa_L9G`&2U~IM&85E^8fIad9vMCgZzP}zH7`yP7JCl215aK z7THi6rPmnrhT8hYT9|_IeXt#PBTGU)w~Gz<6Iq6xz)uxF$s+<^!5nxvS`+Jyy+T(Y zhoA^xf>JDM1p_a0XM(!3?b2hrYIA{P23!RbEcS{#@zB>;KIcM`E%e7G#~Zh z6!o9xhqj6Ck#?SDEO`VQ4F3#_k(&!=*bmGFx(&UCUdXg(@9_76^+p7rAzJ)15g_+b z!>Puk8E=dLV2;vK>LJwQJ=|n|wGb~gQO*W>1*5eG9z!;yMpFC8*LY2|5Ui>86wkAN z(h1%ox7VHQ{XjS4no1)AtKmU-9+j@M8yB12n?O@VXR@OzOl9``43tF4pkGRfBB}|Gqw%4h5s|? znbv`e;CuKlbUpS0vt##>yHFCaMR_GQz2e*D-sIfw_}8I#{pm@i)3{D@DXWdpH}*5*mRaVl z#<9AA|oBy+XGvJUGWF}9;wkh(R>N+tQ=$>-W+v-E7W)?p1p}fqZ4AX@ zQ{d-;f$~~m9k-I5$9Cqv^FDEz(g^qg#iA(Qk@!IzB{tx@(2vmC;8*G9$FO^uEA&zrB6-tIHO zexQgSstDi~>>gE5f6oY;0rOEKuAfJB#R|X&N|ZoRr!YAN*K%Ka9^50(K=J9N}=bzki*75gQlO*Ze0B4g3OYBh|69`0}8F@+z(i z&gJ95QuVf6Ag&co^4<6)d<$V*aKms~nGt9X^3W4xEfz`i3g)-hWFFB6Z;ifyq(H1P zM9kv8`g<~y>5eqcT=hrsc4?@361C~=lBOt>qo6z>M>DIBN-zC#C)_Sman z?rB23rZTBy%1(~JP3Ul_O#qaO`Nph?x#G+7-u2e<1+huLo!>4^2#kOYczf!iwzmGV zzMB4=b_}%)ABr>rC#m7`c(IAFi(kYS@^6JA(IU522C3ZxW?&a^8R!YD5A0W8D9K6< zWuZc-<*GlB0QQ4s!y}Mz^ir^6=!s1YYKxPCRiPN!48H+S2L7k~77qvYmHqrnnRd(u zW|}{bb@O|q11bYfLeCQ`GzWBF^=3nN{U&W1xe9v&RSOhJgN6Ov0k$nWm9=n<`OCs+ zseW)K{tgU;7Qr$s!PDT?&_Zw)a4_Ii�$Wm%1zv0lWq#fIPSqdJFN87On$#hWo(P z;0w?@@GqcB?V~&ks`^$7fKVCqV}|f3sO;;d$ZBB_qsm9lVE~a!gp&`5ZTK}b25t!q zS2D#|p#$HAFW`e)2x+x!S3d{Q3JW|D8I0aUSE5gmoiGQ60iq&EW5pH19HEZ*mqaSt zf~bZwsOx$dyloO<463eQVZHJ0_z|o>dH}u-ehXmgI5|h$D{SYpxP9DfZVi7?uuDJW z*D43}hS#D)@EOEK!hx^B_6Mu$H6S!ls#I4pWuH7=!PQJPBai}I0y{#xp((+)`v`0Z zBm^U*h4fK4#TRiOxy5{*@KWNHIG`Ui5*dIY#1L`-l|}`qBh>Zal-&yZ0Q&*2QYqHp zi~UWQ>hv|=N8c*?Gjk`XlB|?uwFNW@hMvp+Az$Jy1O2tuP z2XVC+Dj{-1WsbTxFdz5?TmkripcX1A@>9tpt`QH3eWVNWD)l;$3Z)}!f^qscArct* zh^R@l!6|HU@ZA;wq3R8(uaLlX^QY5-?~|_=y@grI;({WD2Uz(=Ky^n>B5EXt0a@L zZ5tWewr$&1#)`9{J?S26az2N2 zQoF@a=R3}mu5fkt`cV*ZDnrCCW{m0BdUYX-Hy6;8C53LFe>vs1{c z`Y2msR`X2rwGX`nedTfjUxGTJ2fS@v^Voc~!hYl59GfY6)Ze3jUjBLccUg4exLkpY zc9fDVo%^NleHg|&B>I-{Z20`Jb-oPl9z06#5jpGz!LUFxe;)rCKf!vmolq5})6##m zEo;gAG%L0BX4Ols6io%LTP{>TbaVQg)x!Dct*!~~w4Q06O`h_ertatF2R@B{RS865 ztGIt>?A7S=|5pC%9<5>;#kUOlowQ__@yZhg-?>oYbV-gT4og%c!4zMJt1Mk5mIk}T z=Zk$3T{(JSbpM!Ual)U$?j$FYs(hhY)!oB$!qeJQ%)QXu$oJAWy1w$rq+*`a&DrP_ z5NTvn^;i!=9C)80&AYBN?&Gc~v#!yGWhIZ~8Rw%lJUBkU1L1)kfqTKF_G2+v*I;SP z!|n&(3Ly_dCWkciRq@O*JF*-)nHXt}2xRrojo%wT3+GI0+i%4oJ%S~}RYZA4dy8QL zLK{~GV>OLc)x~S;M_`LTy}!LbN1$2oyLH70Q8P(Ve%q|*sp@+YvLp0vXu{CBzG9vV z<|A5M?Y8>{j>X-HIT}4OIw|(?!T3qRkIrmeho5vU@Qw=U6WS`YeaK<&LSWNFtSjk& z)AP5T%1%C~kMrBvB<9L>>a;#X`p{!^BP~iNkdeBidLgzs$L%I|EBk`o&8a9_$VV!Q zq~}Y`KkiW9*^uba$zkQf(uXQSh1tQ~SMA!U#=XZO!ehdE=i&+uB&&sSm zut@jEkbdF*MA?(1O!7FN-vIE zlLG7F3&quoO%%H*_F>#l|3S+mPe9in=}8`%A-r^=+=-(S6;HT1tc4K5l(V(QdE&AWHMDzl~&2sFZonjvWB{$y69x&5xGQP)~di z3W!!*#1{e^ z)^$C0g}Z;b7P?%n4(4KGC*RI4(lqn}*+3#mC30UU(b<(0=Ya+)TMdJ20zCr@0{MeE ztwr`YaYqfM5k`!wm$zBS%1~F>-q86WPrPH@CyhOHm$IA-R#@<||5JRw_zv;+;t%@c z1GB9j&KS8xKcP?gWX!$jyCGoaAh=~@-8euHt8O!t(+l3#6u_OOhOMIqbBPC zB%BVRlV~&gle8kwbw_RJ6Kakcrbeh`>XJ&NC+hT=F<{|tj^(%cX{wZoU>C(=~x>vRCa9KIf#h8Ln(C z=&*SM>jHg(qph8GED&U4RZk}%M@V~M*3~@R9PV1_u8K)1wLF)R6M1A#H7f9=%pza( zNi|BQ6l?4Z*6~23e|vnM_!9Bg;=lXn1$QFn^hWPxnBhS8gh2j`aEz)o#vwP)J}oeZMAe4`GL&FqA6+O^12$+swEVQ2y< zH?u;zc&E4$@|Jp@17#}iTJ-(D`~F1!DgXD8ouDuB3H=ha zLyl!;NDa?xqc2UV!kmG@$^IJgH{)K%4UF&T-y3KOg|enhsmGH6l(HJE3v0`2viz(p z8_7PiDLk)n!^megH%prTj0Hw@Be8Le=jPejE#lE0`QAPX_dQ>H^0=9?3u8;gt&6`L zSZ@2}Oq#_U;As(ZFKk=*X*fBX!`p?W_0@OfW4YBxyLI40T+!IFG09?<#axLU7{4r# z+&{5py>dl*PI%k;8vBNOU%1bjBYADiR$2~h^4Six&sjn1njIn*%eq>SHS7<6 zhM8F>jU7A%D?$2Wvei8&p>x#UZkx^}=Yyz-*%OKBDE61PGdH`sV-i)sb;m4cRAKqy zpZG*CyMnbTI6vqFZ(=&qN-<0EaZpNd1a$NC(o8Sn)f z1VVyM;fEEG>vdHYG}gKO-ZLThLqozkgg)|3_DnWYu|DdoT`kZ$u3k)u=v2`UqRV2U zR9LXDQx#6zX%}{UNZHVGp|eA(`X*xU4>Crx!z7o!BTtI=PA%t?z1Kc&6K9<>U91E` z>7&1Clibi1^j4KZ9gsa_L)lzzkyTV>Al){sl2P21%5%?KBqS^}d1%p)X5JaDjJ&>{ zgRK5rq(}_;>5y$mkC-pW=oFTG?%7d2$AKCz0#BtGc_MJB9mdKq(`rtq zkO#VzE~Fdidst6t=tMe`mZYOe2mM?o1EQZ4%o-@?{~cf2pCYgzxZEx#>yT5tw7Y}P z3B8zLad_wOf(gPy3ws|zV>zluI!A;3{paH*$G(c$9g`kOpcnDEgGrpmYAd~K%yU2V zP7IkCdNMRq=q2A#sNNNLEizsfa@ty1f~^Co1ET`tf_d!L;;KqVQ}ZcC3v-5<4Rwd} zr8Eb5ug=NGB0X^4FlU1E(itxL$}_43$;7VlEM_v-NL2cB=0>9gUqC=|G%=1 z+5vkBp2{aVNEe_tSzaTZIo<4GJ}_?Z5ljF*des$i%K2>9xBZxblGA=|Clybm&|TOY zBab_yca5)KNT-nYz5$+#<~mkZzjTfV6ZrGQxnoa5=W7#J0$gX6^A#FmSCe`^dIjc% z`F$yTZ#_fYzs$zQM)r~9&_khERk6PXFXNL+|IEPdU`G42(^fuK`AAuslI>=MC*?oc z8djf$v(NM~{X(;`m8={OH9mo7X!C)sC%W^gr}jIbtAdm$z(qd zzQ-K9EP6||uC|Gc$S`HI zo&gZ#SQITyH7A;Z>IJkj zOO3;So2Wi&pGu`y=$zy^*+h4;8~lxNzzlI+Ha}ozT?CrRq8f^2b`nbkreIQD1gg(f zaOhsD8Og~`VTM|aInVVJv%1!~vSZ?y2NRtHZ^GNNP}&n7))OH00@lo652RvSS()vW zPI^&S4pPhYPO_4AWdo@Mo)KaeGV7RC&D17#x8>tDK^CVU%GXW~`(f}| zpk&~K|1;*<0n8ZEbv)-H4m&(_{o7z*<^&Kka zceP2}vD;c5gXaPh1FHgQg5QE3yQOnWR0qSYN3XNgMnyBL>mvBYBiy|_=373D8FZ#j zgEboMj6{97>x=;dtgp)HOn5>a=mxrncB8*ZeX>eZJwcUFDOC>DUL9At^fBF(d?MZG z16rOPVm@Amr{UX}MU&EG#8JPcTecDZoUcwX@m561FDe_9yEVY?)r=*^93!_ely_z6 z>0-w5B8!LvrtD*nQ6--k=gpC>Gp_Y6>iUc6 zkj>~X)kb``UIyy=YsH_9I}D!E!CyEy->xPzkY8-E8R}{1D;>HD3BhM!n?euxB0Me4 z#;mfgEyh@}m?pV2Hfd}hXkaD%^@0cOoN}qYMmKObQ1=NJcSpO1y7rsrj0^lZ3(y?2 z5m}_aVh0sexl|Q3NL|1l8lbo8wYsUkg(p%$wnT*?&Kjt7SL_MSRWVhqhvJ#d%<8^^ zbkP#uEZ<{qTTeCDd2W%K>Wvd+Wenc%N5!{|pAg@`zb(+kYU50jhcy8fjC76nINqne z555TB4bL;zEF(P_T_tHciL9-GU;bbIb%D>pb@n-tQjef}c}H`O>o4xkUvsySj`yQc zx}(Z2i;3w@D#r!=;iL0JgsOh}IVsJi@$JTV^Pl%-A-a}hqgQ4KJVm%S}~opWf6wY zwZVPU(-BiZ`+L5+P8wNQ13g|mv4#gm$LENf7yBbNb$qJ8Mr)-wtADU}W$ROzH9C^Y*IZHFrUmCiAs>y&UR6k9wvaD2a+yud(qKdd zjIunOJs`)lt=6d{DyiP6TamOhj;>}Yct-w!Df)#>(s8mQyoI?|zu?Y5OE8uG;QQT> z2iT@_Vzy*$_ZV;TkgTEeL;Hko4$1HHc}khN*jIJec^j# z9wNt(u3Vc1Jh!~JeWj7!9q*g!P3+0*`p7#|zj`WCIajUM!9l?p!F*Ot`>azA>K?QMkU;K7{$4qx4if_gC=q8e;lt4c|rYIcOWJ%t8Dg$*v|ljjfx3AO0o& z%l=V;$H8}Y7wICySQBG|+0}K490ez4m0;^(0IL6b(Nb$J<(3=6$y|#&;UTl=S9X{8Hntl3jmgGu{+o@YC-g^IQrxh2TR(&2 zfshkg1?`v6)oYTOY_?I*)zh8d)7w+rv&H??^$Lp5cusKEV3;~4vN^A;d%>{aJRq>g zfdj#$_G9O!JgFDcI{c2|L5=U??uYrDMP0efKYSyrPZN-Iy1z=TzR7cPGLUUKSp`@i zmwYbz2#@&WaImE8&{jN`9q`TNa&W)DF7-OJO0m@xXK7`GnOUO>W zLoJfMks{t|ceZ!iU7g-yy4;}F>v^O%&CPbPx9mEb1byQjaCIsAiOdC_@R2)umaYY5 z$EQ6yjn1W0>c?sTSb|SAP`@xWuQT~edeC!N2US=jmYN-+#pyZHo8%!s^k!XC|5FQ~ zX2r^#Sp8dMs9KFab555aD~ONI17^I+>hlZSW27@;_zZrH?V(M`3nY81h}Ok zP-Ka=SOSlZ>n?|>gN4hXn`;zLe z9EhY$9$6nw;9|K#j*=B*Q0x?=#AtCyRD?EIR1YQZX$8K;xQx?DRoxTZW8B#=!*#To z!l(&<*Dnt_Ypq{_WBy|PO8%ffWAKQz+}SIm^d&kElX)k(4q%G&3(siJWVdbRGIAr! z&`w-q>CN9<=`d?dfo!P(~0mgEKmLZ?jds#|;{{Jpt zAZw$d6(O1EXF7|$W0YTHRpBBIBh_^Zm0WfK;w~%hi=}e*|EDZ2rq$Uxc!`(TBlZfq z+EX?gx-$?gxu6EgvZ4xbNq>8}ofZmuYPngpBZb&6KGA&UdgyNDsp?tcuHb5Kn5>IF zDvH=?g9rSH{003#{kei?ti{e$xkRs_OL+%OxwYIgF<&x=r;PhEnAr%nl-yA1px>Og zQ`wKLe^x{LjXlR{COXLJa3B$@WM^3xUIJ;cRV<86$Dr*^WC-a(CXjtZkm__Xy-yj7 zU~O1$Xc?bq9-5c@QLW`h=e5-~*g23UusEW5IN=PYGq|KVeJXGJ;${~e#S972{ zx3{V9BhHO}1dgfgdcbqgQ7WCtZ66FC3E@&qv(1vOV?4UWhT+naXSWFr6Qt}e5l5g zYK&tp_*2(x_a1j{_dhejNX}mCWAeGv#4c?u2)0C*E@)-Py(=Tr>c3u)x4uS-!dv@%yCHGL$~v$^%nKKbrmrS@!w>LY6?Er&bkuZ6Z{_RWu>&^Z0$r~|3%^FW>ZNE zutIQse2lULtQ_{=YnGN5;0gFm)|J8Or}3mC^!(C#n@XmJ!5=RJ=Q+}u=CrA4MH*Um)@1^iie5$*MhEAFp)8v0+Wu>xxtDCDE* zcNPNOucFx%I`=cwKo5ULw~{U3z@yMBa-q9;RZxDBpPaYU#5&6}rkkVq+hU z2SYkZFVi#hG@TC(XaTvZ9o1JA0E3=^^h9ypS1;0g^aXuc@6z*iZ#<2bdYZni3qvK% zj(zN5o!Jg{ksV;op%N#dWl3{A3QBMe`AF38ha8J~cFW~z|>X~FIavQn$ah}Z> zW*jiiVa?_NnpzL%<^|!Tu);NlMR&OR6OmA9fo^%8DzMmu zW|Y~(wa2x>Wx7Jmo4h*_VkQU;m9&R!goIbwyQl)>oo|{3w^>Z%-r}=@oVu%72vc$9QDa zF^2Oh%ugokqQHKM#b755zIr&)xh^h3Nf$Z+CF~v>%3pD2eCN}746DQ@qoUO(AN6wG zMd#C6MM2ep->*)qcPd(aLUlW>&Vf^6TCe(!I#)&y)CW+5_eYjZC3)< zXDAhqX%;e41;rlcf}P*aWRI|OK|jbKOGB?dLL8cf+k7Y(MPa0cw!*(_L$c{4sxlDr zD^Wv!mOH_Ji;%}arx$1v=x90EN35N%Bqyn-2LdDJmI`cUy!<6cE0;d5$B`L^T8OaW~noaOER;K2XL zd|C>KDiKc&44s;#qA&GWl?Hw9F-||-2G*GjjpC-LkA1m{7Uz30gIl`}yW`O(Ke;xT zrcr=ZA)VDK;dYjSiysek1tL&^_+V2cZ&InUq#3Jhd^YpB!|=Y3iqMJ+x)vJO;px@Z zQF0qj;gxpcZI{#3@k4p|3*D{)D&KzkhrXnnX+t=%eaHvhT1$0Py;44`roB2TSxsuv zgzOuTcw(bG)WDVe6}v@8B2!jV-i5OAz#0md^SV{n&Vr744~oqs+72h-`?}h=Ke#`; zySYcX@|v5tLvxdcYP|So-?g%0g%`JWS*`6l&J3t`zx7SphaZQ3ebJn428>KdB*oA( zP*Wq-My%h3qL-K=UW(2#Og#ewJVrLt0nA~AFme7MONpKQ5j<#_eyI|u2J(>TDI&!e zu~kN@9r_)~!5Z=M##Q5)5ouiImsuoIYkO4_Sw!@46jn=i)YB&-hdQXs(oHOiZ!{8_ z5yH`?$@c;Cr&y-@X$ox})CS!iLGu@~7@oL1rn)=F}EnKd-#nG;;UU0+;nUBk`7 z#(ow5-YQC1};_h=*d&Vx;1W`oAr&Kzg-=7kxdkKpQT zmN(F0Qi{gn6Hxt3HAc4}dFXYTmz9AI-Ht9K=XFxOTD4Gx6;V&XDgRi9Q)-xy$?!Fvcgn`goCrm(C?364_v@r(8ZeGeu81NzKudNCf>rdx67L;4RVFmVi4aqg6>q zJqc^;uNaH9bybX)?NwV{nG~ZYJIAW>2|y4@kvRBC%h1{69x7}mHCiTn^c(;7it1hmJ%f3)8o;Y4G*)r(Q6?K1dh`wa+_yQvqyW%G* z`8)36ZuX5_)VtLY=*Gq1%1?2oJ7=9VVlsT3*+3+9buTgr=QV2b2XK$;8HJ4VJQXj_ z>e5bRzJ7-lEaWZuT!yGt>aem@K2*v`y;I-RxAb$o8{n)y3Kji=z5+D(5m|s7xb}fa zu-u0BoQJldqtJgh($&D2_2?hcl^lnHQ3}dQ7WqcJ6FHzHG*+46mcAzAsYA=Mo~X*} z*b>$QSb8XZMJkZJIvsX(LUmBiluN+G(!znckI(x+_eDZ-B)vv|0vUZrBCHc?ODSYb zU&FD<1&zOk8mf*duG`}3GLkXmD&As{ghtTTxZ7LkF06;X$lF}S6+h8c^l?>Oy^)vj z7o;q##;Z4~HB|JOBq{BMY(raQ0uCYnLdbP}80yeV;ODN$X!uDA>ZNbUE->4gQ0%_z zB|sm~!MQ499i~@xu>KN*zkJo1NgX`TIY3dhq3>m6ec<*TV(Z~t-KOEt0D569)=_Dd zjaqRgo4c|&Abp0n2M1a;ARWS%~(e#%O4 zNl%LpBA=WiA41z`27Ty)u)Ay)%fGeuH zuL@XYqtp=9NmWyA)O7T=2y|q>t_UP|6FH>H*e^MN1&0!;7hoUUSDTSR`Kqd69cCka zp@JR8O8STWa+wUkd%dRXf3}MHgr@6c-=+FWVn34Nm0DxLW6NlLggcD1iepE zkhZAp3DkU94a}vsJO~#lx&EQglW{Z+o6EkkgxuukQR4^GNo2GhqILtbT^38l0&!4i zF|^%&XFAANKYf znwm{x511eS^kc7RVdxKu!AVA8$2CW<@2+R-eflYs;)Y~931D~Sr1wZY^wRst<4gl% zdWCnhd=lm5TOge^dI_0J=dbO7a^>uxHnaR8~1u7^vEo(^33G&u*bo=o=bu z4noIUMCa1(G&8PfIPT*S-5Ga2HIQu%T~$xezx7yBi6&q-SaZILui%aN6`e*aey;N+(c@r6}*cn ztU8b4$&Jhg1wIWxH7N|VSz6arvt>Z+fLf3Y>zC@PSiRF&W?q+P4;`!lX-uoIST=yK=LfOtdIIlEU`Oa_T>T)`LJk0)ZiAf8WG9llC9GGg1azCQ&(cc~Tc|g`#`}bcQW_81fZ2(PiF3 zDY!%mK%+9cplD3^HaK zWsF69Efk`eWVT+eqGSen18n;OeInc)fv?kOm96-YW<<3p_~7KYWJ2Zl8;QlC%6HZr5TjpP?c46#qZ9f zCjqf#1~z*@iXbBx2~3a&tfv~e03|GyW;#r}bx=LVnU^F`DJr7ZHlR!C32^20Ktaz) z5z<>IMwyL!E9-;&gxgS(Q`Ia4+A>2LD&Nl48A#qM30QwgV#-!;V`ErcAJ2{JM@_ zpnf2O90w)xn()bqG9UEtEAWk5p(`C>rJzvEDGi*TK-_SyIa#s0x4{dX39UU1JdP2- z0-bpuUJjM4BwI=yGLi^jsYd9Jr?9?~sC#gMA0hF49Q)-d+`O5<1G(S<_oE51SO3G| z1A&a@fbHjk0&W6#&Zb>hI#hxSxRyeEEL%vsk|H{Q?2U!{eHm5vf!)@rj(#^(O#;iC z0nB!X#~9ztQLZ(vimv%!V@3IXnve`c2fpZhv|HPWY|Bb*ud&BEyOCcRhO=9edVygM z8_ax;rZ)aQzw35Yv$|Gz(HM&G>4Z zC|Zg7yASLz9c@Y0qgvKd$7Bat3kh=rC-N!*n@oY%wuy$Z%NHUuHm{Js1yaEl!U_D7lzNotO~qK zb`fhy1u_G5WhpV$N#q2ff~*9RX#xM?g@&ffF0=A{6xPB(o`KI|=jlx#nV&$@kOO2z zwG-8Ao{mNz8v>T{kbH*b|BGA#ll-ph>2>guJAwg!#x;+V#lTfk09j@Q(!CBRVvlj% z*k#l(4)a?$l{Jp!*Vo{A=XEOByQ~G!;zrxuo!L0^+5i|i6{`$Y-fM0()8S;LG%J{? zja5*3yK5<51MjxQla04aI#->=VgfjPC7qBwAvVn=%rqYt|K@A?lZ=>@~L)Tk`z41=gk@4V0aUw!40|)qk?>&fqHwd1{aK4mB z^5Q_Sie^F*4Z^C-h)S9R^(D2yn+n7#C^9EB2b)X5&+$w~L!<#S7|YNz22d{)v;S6C zRk#?JfHadKjn`AQQ=N4mXtxbnCLj|p&=*qJz_BZ_TK?$_y0tnjo5-BVnhXUhseu02 z1)cjcX-9A2WXC5k_&oFg{J68=ArW9+*>oOchl`?yZPZE7ISL?W_XS-(5i{9wblu(L zE0|;o=*QdOr<4(W#a*b#kL5`Cs{_ap8ppiQ$Gv8}vCiN|bzYxE(11RtR?Bmupm^z= z21>s8|13#)c&}A;4>FK;V>$RK)DFcDV^5!FS=mJBB^tbSAI|p(s1z@-?=q{I%8RQ? zMmm#OWFeU20x-TVBt5wTA1jj<>L<8;9P0UMsH#cmJ*=2lOtCj`Lx0k|v>EiK-fEV7 zAexCpA{Fu>Cs9RHVl_tVum3;C5P>Ag3tUNG?&UjJdm#LU=)4Lqj^ zqi%Hqs5j1-s~edYOK&+kox1p@&hGKG3_^9ZgWZO2hd}hSX{& zl@k^Ew|oP4F+!b$_Y_W!Lm@tgj#nR_bq4Fkl7YDg@OR(_>dD~k3uHgJQc_$^Y9w5J zP;y?8TJ#7Ul)^yjAL$r;_W%+L&mt2vjv1;cG>&kU4Z6i@6%W1SD)gV#M3E7=nsms% zBxe_BMY;;zu9f}*HKDr7g8XG;wGfHhDtZfWKr^zKoCF`=L)PM1O+t;Th$r;}3C832 z|7-M0eCms+0a-{VXeay0N9Zy2QKfq$Q}dKGLP9qQI#DJ#IeXg_Ncf`vx#?+02PAto14~8XiPgZhf5vt9#rKzm z?zA3jrXcAK4bKLL{DBjti`Yas^keB+5{-P#GCZMPNOv8>$ zoK?fA@8)n%PU2Z@A`bkO-6|dOY<*=XgHO3yR>pHpi6^=f z&X!OQ^g1})`;evK*ry5DFS?hOMGgL@OX^Fiv&xO^X+{N3sM6~FV3IFMTl$1nM2_Mx zPOYb5ZRl_ksW+(CND=K9%|#YbTC5P2z^qeaO_qR5lnI@^5*SK%Bc(Bg?_pc%2smP8 zaFT8d>fTT2+v%VVjg`Gs8)$IpX$(CK1hkHChc9*u4paf!5uD??$_&4Jyo{8XI-@42 zP~eRb(5UXB#z$c9J%MJK4T*@)+SGZ}1e~%@E{g)kEJ4K^uj=4kyls&K;(R=RhRoYX z^pL}-!&`xP&H(x5mfgi&XB1rRaPdH_m%~sE8e&DxVl#OWqZ>TzBT#)Ovn%uic?q6$ zANtpID2exQ60g5x=y_N56=eCEu$x$og)#5p2#Y}tJB!MD6&l!1(OV1^=S6oY%3W}p zWCCrB6AiOCW@z$Tm~SwOjiKF0WnEYmkv+vpr$2JqU%>`u%E?I848@f+WchH_jg6kj z(?r54+Jjwp4oWUpW#lGw;BM%ZTjWI5OuNWBk`rD_Z&q-Aq0K3tptJ6B{V@IxhrIES0eZ%sCrNOF!z3YN}i&Bu-Gza<=1S!$F*1IP-t+ zBtPo(ddzPKG4Ajhd^vl8E<6DG%5CVwZaG$T#P`;c3VXF9RN!yq7Vv2~Fy%Tphwv7= zE-9&{S1E?1M@somB#?ulvbeN0;v%Y-es8|XEv8Y?-`8D`zNf#(eQ_=@eeE?Yerk( z^iMyv0xaUcYx##0v`e6B^~AZXXUP7)!)lROFUfFvCIYBu8jS=~>IlVbsYrp7P_a%$ zD3EiZu+7nH$#U8n*U^ek!CK6S6)>O9#jainu2UY`|54z963C=nK!y#y8P9VtQUzOh z41dpu0>^BCO4UwRSIv>E|Ld%VZ*knoF9IS)=ET0ZNeR@r?NBzkdBMnLl;#50BEgkc z;}pPVcpUqYy0|P3;Dn8>!+~IyfoCS+@oX_m#l|BA@gIjt1(tUg>$^2}Q9|J4Mmk0> zhifh1EoOtZU4y@4)xp;uBiWH2lPhw|`p9)m#_!L8;p0DK2sqD3I+qQCo;4O;(O|>j zC3yvwfWFYjp!B{*t+?Z?cWxq26)k>BQ|HAK&4@iz6WZW9aL%mo=v*6e>Aw1e`YCIHkuBZx+hqN-GE4Hiy7EQHRLnAp?L+?<9&Lbwc%U&M&6o#M2DFU zkK=*=8$pq?)vbV)-icwrJl&vY zm&7wYrdH|I(6c+E9`yj0org~P3Av~abTAo&Qw*0-UG@P_w}EbM$|G_rbop}79$wKo zEIWLKIk=1S*go{g_duq@)eA6pynqvF%@^_%)VrCaIsJzm&K=yD*YJxptw#Icq~;;; zwYJ#(d&E5SQz}pq8j?`k7t{e)0pAYZj7Hm)S`+8F;x3od>-bVj7UlBka=_(6eGtUs57RS%|-evO$0zpCYG|RhL87D6h;Us{*qrIRZW7 z0zPe18lZL9Q0)JL>@n>~uaiW0N}JJN-paecc1_@fG=*Z<5?Wa-a*lNFDWET^y5BQqc+U+A<@rSr#YN_Q3nfM{)!A?u1vh z4V|mEx{TQ+b>LT3LuDL}lQjYQ8_BZyI6s~pS)mqCEHmiEz=1!o3I(wJ6!jD?&qg?O z`$#j~!@+DHJBZJjn5}^yI*z=+_YcOkk3ikXi@bTH49F>9k0Im*a0zAgpi}LJ<}(D^ zR~smz|6$Ensy{w2RW2a5sVWxNvtNfHclws(rVVHvnj7bP=aRxmV|UjauFN8!#^=y_ zSL=T|Ke83u;1m|4gQ2CZhKjTbxVHch%y*p~t2Y~V>JQw>U2+jrn>0`d7wS%UO8cRl z&BuxfhpN2{%&i`shM%Ypcc!@lu7jU97ros;+WQZZWGV4CveW5cA92up-_donD!5Ez zeA?;2j$zOWXR8isFjzqy;QR(;6>!oUAnP9fix;0P4^xpq&xW zH2aXRNP`l%+{fWCR)ON58*Ho~*^I<_Ltu>h$m`FQ(ZIXg6@kui9Z%{kH0~+%26eLx z@CaVQwH3&WWrcIx0Cy*yT8vprje)Quki2TEf9l1g2L8fER2u^>UOjdgI#pMARUX|3 zuEG*I606}Hy52Ns5BH$^q^C2m5`JJMf1y{QF;)go`Hyv^)3cCA*e2)WPKLvCW$?IC zfTh$01}n_k;WsB>>uCz0yW6<;QbnPJu1N*F!D4Pw~!tgH-I_URuX!6c)Ad7A4oQ1gFc7DOs&2uI+E%;gDr1j|A#tld{Y z8SUV?tZ?Q5JRW%qNe5tQ~e7MB^>vrAQB+ik?t!hm&&ZzeG5>1-;;hgUsD0B@G#Vh l@nG>4XiZXHH&biSmE1B6yKlYB1)btFs@PyKtGlc&{~yc2W2*oF diff --git a/Ring.wav b/Ring.wav deleted file mode 100644 index ea59863c3e882b2f1e4761f63d2407f9e4b79bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63760 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

8lNx5hLVsgzD6vJ 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WinRPRHelper.vcproj.NOTTSDESKTOP.John.user b/WinRPRHelper.vcproj.NOTTSDESKTOP.John.user deleted file mode 100644 index fa82c00..0000000 --- a/WinRPRHelper.vcproj.NOTTSDESKTOP.John.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/WinmorControl.vcproj b/WinmorControl.vcproj deleted file mode 100644 index a6e9b48..0000000 --- a/WinmorControl.vcproj +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WinmorControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user b/WinmorControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user deleted file mode 100644 index bed4096..0000000 --- a/WinmorControl.vcproj.LAPTOP-Q6S4RP5Q.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/WinmorControl.vcproj.NOTTSDESKTOP.John.user b/WinmorControl.vcproj.NOTTSDESKTOP.John.user deleted file mode 100644 index fa82c00..0000000 --- a/WinmorControl.vcproj.NOTTSDESKTOP.John.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/asmDOSAPI.asm b/asmDOSAPI.asm deleted file mode 100644 index bda758e..0000000 --- a/asmDOSAPI.asm +++ /dev/null @@ -1,136 +0,0 @@ -IF 0 - -Copyright 2001-2015 John Wiseman G8BPQ - -This file is part of LinBPQ/BPQ32. - -LinBPQ/BPQ32 is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -LinBPQ/BPQ32 is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses - -ENDIF - -IFNDEF BPQ64 - - PAGE 56,132 -; - -.386 -; -; SEGMENT definitions and order -; - - -;* 32 Bit code -_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' -_TEXT ENDS - - - -;* Contains 32 Bit data -_BPQDATA SEGMENT DWORD PUBLIC 'DATA' -_BPQDATA ENDS - - - ASSUME CS:FLAT, DS:FLAT, ES:FLAT, SS:FLAT - -OFFSET32 EQU - -_BPQDATA SEGMENT - - extern _APISemaphore:DWORD - -ApiEAX DD 0; -ApiEBX DD 0; -ApiECX DD 0; -ApiEDX DD 0; -ApiESI DD 0; -ApiEDI DD 0; - -_BPQDATA ENDS - -_TEXT SEGMENT -; - EXTRN _CHOSTAPI:NEAR -MARKER DB 'G8BPQ' ; MUST BE JUST BEFORE INT 7F ENTRY - DB 4 ; MAJORVERSION - DB 9 ; MINORVERSION - - - PUBLIC _BPQHOSTAPI -_BPQHOSTAPI: -; -; SPECIAL INTERFACE, MAINLY FOR EXTERNAL HOST MODE SUPPORT PROGS -; - extrn _GetSemaphore:near - extrn _FreeSemaphore:near - extrn _Check_Timer:near - - - pushad - call _Check_Timer - push offset _APISemaphore - call _GetSemaphore - add esp, 4 - popad - -; Params are 16 bits - - movzx eax,ax - movzx ebx,bx - movzx ecx,cx - movzx edx,dx - - mov ApiEAX, eax - mov ApiEBX, ebx - mov ApiECX, ecx - mov ApiEDX, edx - mov ApiESI, esi - mov ApiEDI, edi - - lea eax,ApiEDI - push eax - lea eax,ApiESI - push eax - lea eax,ApiEDX - push eax - lea eax,ApiECX - push eax - lea eax,ApiEBX - push eax - lea eax,ApiEAX - push eax - - call _CHOSTAPI - add esp, 24 - - mov eax,ApiEAX - mov ebx,ApiEBX - mov ecx,ApiECX - mov edx,ApiEDX - mov esi,ApiESI - mov esi,ApiEDI - - - pushad - push offset _APISemaphore - call _FreeSemaphore - add esp, 4 - popad - - ret - -_TEXT ENDS -ENDIF - -END - diff --git a/compatbits.h.bak b/compatbits.h.bak deleted file mode 100644 index 22a851b..0000000 --- a/compatbits.h.bak +++ /dev/null @@ -1,239 +0,0 @@ -/* - -Stuff to make compiling on WINDOWS and LINUX easier - -*/ - -#ifndef _COMPATBITS_ -#define _COMPATBITS_ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#ifdef WIN32 - -#define _CRT_SECURE_NO_DEPRECATE -#include - -#define strtoll _strtoi64 - -#ifdef _WIN64 -#include "stdint.h" -#else -#include "winstdint.h" -#endif - -#include "winsock2.h" -#include "WS2tcpip.h" - -#include - -#include -#include "commctrl.h" -#include "Commdlg.h" -#include - -#define Dll __declspec(dllexport) -#define DllExport __declspec(dllexport) - -#define ioctl ioctlsocket - -#define pthread_t uintptr_t - -int pthread_equal(pthread_t T1, pthread_t T2); - -uintptr_t _beginthread(void(__cdecl *start_address)(void *), unsigned stack_size, void *arglist); - -#else - -int Sleep(int ms); - -#define ioctlsocket ioctl - -#define Dll -#define DllExport - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - - -#define BOOL int -#define VOID void -#define UCHAR unsigned char -#define USHORT unsigned short -#define ULONG unsigned long -#define UINT unsigned int -#define SHORT short -#define DWORD unsigned int -#define BYTE unsigned char -#define APIENTRY -#define WINAPI -#define WINUSERAPI -#define TCHAR char -#define TRUE 1 -#define FALSE 0 -#define FAR -#define byte UCHAR -//#define Byte UCHAR -#define Word WORD - -typedef DWORD COLORREF; -#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((USHORT)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) - -#define GetRValue(rgb) rgb & 0xFF -#define GetGValue(rgb) (rgb >> 8) & 0xFF -#define GetBValue(rgb) (rgb >> 16) & 0xFF - - -#define HWND unsigned int -#define HINSTANCE unsigned int -#define HKEY unsigned int -#define UINT_PTR unsigned int * - -#define HANDLE UINT -#define SOCKET int - -#define INVALID_SOCKET -1 -#define SOCKET_ERROR -1 - -#define HMENU UINT -#define WNDPROC UINT -#define __cdecl - -#define strtok_s strtok_r - -#define _memicmp memicmp -#define _stricmp stricmp -#define _strdup strdup -#define _strupr strupr -#define _strlwr strlwr - -#define _snprintf snprintf - -#define _gcvt gcvt -#define _fcvt fcvt -#define _atoi64 atoll - -#define DeleteFile unlink -#define MoveFile rename -#define CreateDirectory mkdir - -uint64_t GetTickCount(); - - -int sprintf_s(char * string, int plen, const char * format, ...); - - -int memicmp(unsigned char *a, unsigned char *b, int n); -int stricmp(const unsigned char * pStr1, const unsigned char *pStr2); -char * strupr(char* s); -char * strlwr(char* s); - -pthread_t _beginthread(void(*start_address)(), unsigned stack_size, VOID * arglist); - - - -#define WSAGetLastError() errno -#define GetLastError() errno -void closesocket(int sock); -#define GetCurrentProcessId getpid -#define GetCurrentThreadId pthread_self - -char * inet_ntoa(struct in_addr in); - -#define LOBYTE(w) ((BYTE)((ULONG *)(w) & 0xff)) -#define HIBYTE(w) ((BYTE)((ULONG *)(w) >> 8)) - -#define LOWORD(l) ((SHORT) ((l) & 0xffff)) - -#define WSAEWOULDBLOCK 11 - -#define MAX_PATH 250 - -typedef int (*PROC)(); - -typedef struct tagRECT -{ - unsigned int left; - unsigned int top; - unsigned int right; - unsigned int bottom; -} RECT, *PRECT, *NPRECT, *LPRECT; - -#define HBRUSH int - -#define _timezone timezone - -#endif - - - -#ifdef LINBPQ - - -#ifndef WIN32 -void SetWindowText(HWND hWnd, char * lpString); -BOOL MySetDlgItemText(HWND hWnd, int item, char * lpString); -BOOL CopyFile(char * In, char * Out, BOOL Failifexists); -int GetNumberofPorts(); -int SendMsg(int stream, char * msg, int len); -int SendRaw(int port, char * msg, int len); -VOID md5(char *arg, unsigned char * checksum); - -// Send Raw (KISS mode) frame to port (BPQHOST function 10) - -int APIENTRY SendRaw(int port, char * msg, int len); - - - - -BOOL MySetDlgItemText(); - -VOID OutputDebugString(char * string); - -#endif - -#ifdef APIENTRY -#undef APIENTRY -#endif -#define APIENTRY - -typedef struct sockaddr_in SOCKADDR_IN; -typedef struct sockaddr_in *PSOCKADDR_IN; -typedef struct sockaddr_in *LPSOCKADDR_IN; - -typedef struct sockaddr SOCKADDR; -typedef struct sockaddr *PSOCKADDR; -typedef struct sockaddr *LPSOCKADDR; - -#define __int16 short -#define __int32 long - - -#endif - -#endif - diff --git a/ding.wav b/ding.wav deleted file mode 100644 index 533112922c167a93bb0e99fb3f6fc0a4b4655b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72972 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�V@iOP>=t5_{S(?+ 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 z z<)2)I(2+QtVJ&##0)6Nf5Ic@;ZZfM%lJ)p>ZChcDcsQ>7RMAk>e>}Q#kgVSVE!9BU n7f!hL@vjYhK7?1=f!93L@f_UMC$hx1O~_t6rm-uDRCD=1*LbpQ diff --git a/miniupnpc.lib b/miniupnpc.lib deleted file mode 100644 index 0032c1bf92648b845934834f819d990b303e875d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107890 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≤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 ax{WWLx@PS5P)}#KP|_7muT}kb`hNo{*2&WV diff --git a/paho-mqtt3a-static.lib b/paho-mqtt3a-static.lib deleted file mode 100644 index abba85429c631475624b4c205b777d4d562e1409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751506 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 z 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 diff --git a/zlib.lib b/zlib.lib deleted file mode 100644 index d43be7f029381a7a57325408368bf70e70bfa1ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14778 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 z 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 z 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 ArT_o{ diff --git a/zlibstat64.lib b/zlibstat64.lib deleted file mode 100644 index af241e2a56f37b8f3af00193bf5f4b7056bf1ccb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1231334 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

vX!77p!AA(yBGU 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

&iHk3_QcE&Uz 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∾g45-F^Yy*1;o}R@?$9!mt`%@@}7%L~KoD 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

g%!{Fj%19nvVj=AvzVV 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

HCB$DJo z5yRfa2wjBnQ)3#rxih8E4luqyYGFXR4r8)ry#vvlU@&`dLUgR>sW;Ziv}H6KQ?UWR4!#@ zxLXuYU8d(|(vjHA!kD`SXDYRZh5@Mlnu$l$KI*YrQK&_!vL`Cq@ruE*cLNpVGtXk_>pVlMiksfcIOG~rq7^~RCy0^_ zrmC5TNjlGlQ3~P}*tLRy_qYPy

W6)^_{&lc=&m8s6ZZ)}>O+d3^4O(?RGy0Cut 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 z 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 o1EPQ7-k Date: Fri, 29 Nov 2024 12:56:25 +0000 Subject: [PATCH 2/5] New upstream version 6.0.24.51+repack --- BPQMail.vcxproj | 207 ----------- BPQMail.vcxproj.filters | 113 ------ CBPQ32.vcxproj | 232 ------------- CBPQ32.vcxproj.filters | 228 ------------ ConfigDirewolf.vcxproj | 164 --------- ConfigWinRPR.vcxproj | 164 --------- MailNode.vcxproj | 294 ---------------- MailNode.vcxproj.filters | 327 ------------------ PG/Loop.exe | Bin 77824 -> 0 bytes PG/PGTest.exe | Bin 103936 -> 0 bytes UDPtoTCP/UDPtoTCP/UDPtoTCP.vcproj | 207 ----------- .../UDPtoTCP.vcproj.SKIGACER.johnw.user | 65 ---- debug/bpq32.pdb | Bin 1903616 -> 0 bytes 13 files changed, 2001 deletions(-) delete mode 100644 BPQMail.vcxproj delete mode 100644 BPQMail.vcxproj.filters delete mode 100644 CBPQ32.vcxproj delete mode 100644 CBPQ32.vcxproj.filters delete mode 100644 ConfigDirewolf.vcxproj delete mode 100644 ConfigWinRPR.vcxproj delete mode 100644 MailNode.vcxproj delete mode 100644 MailNode.vcxproj.filters delete mode 100644 PG/Loop.exe delete mode 100644 PG/PGTest.exe delete mode 100644 UDPtoTCP/UDPtoTCP/UDPtoTCP.vcproj delete mode 100644 UDPtoTCP/UDPtoTCP/UDPtoTCP.vcproj.SKIGACER.johnw.user delete mode 100644 debug/bpq32.pdb diff --git a/BPQMail.vcxproj b/BPQMail.vcxproj deleted file mode 100644 index 5aa7387..0000000 --- a/BPQMail.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {3766AA10-C777-4ED8-A83D-F1452DE9B665} - TelnetServer - Win32Proj - 10.0.17763.0 - - - - Application - v141 - NotSet - true - - - Application - v141 - false - NotSet - - - - - - - - - - - - - <_ProjectFileVersion>15.0.28307.799 - - - C:\Dev\Msdev2005\$(SolutionName)\$(ProjectName)\$(Configuration)\ - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(ProjectName)\$(Configuration)\ - true - - - C:\Dev\Msdev2005\$(SolutionName)\$(ProjectName)\$(Configuration)\ - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(ProjectName)\$(Configuration)\ - false - - - - - - - Disabled - ..\CKernel;..\CInclude;..\CommonSource;..\BPQMail;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - true - - Level3 - EditAndContinue - CompileAsC - - - ..\Include;%(AdditionalIncludeDirectories) - - - ..\lib\bpq32.lib;wsock32.lib;comctl32.lib;winmm.lib;..\lib\libconfig.lib;DbgHelp.lib;%(AdditionalDependencies) - c:\DevProgs\bpq32\BPQMail.exe - false - LIBCMT;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)$(TargetName).pdb - true - $(IntDir)BBSListings\bpqmail.map - true - Windows - MachineX86 - - - - - - - - - - - MaxSpeed - false - ..\CKernel;..\CInclude;..\CommonSource;..\BPQMail;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - MultiThreaded - - Level3 - ProgramDatabase - CompileAsC - - - ..\Include;%(AdditionalIncludeDirectories) - - - ..\lib\bpq32.lib;wsock32.lib;comctl32.lib;winmm.lib;..\lib\libconfig.lib;DbgHelp.lib;%(AdditionalDependencies) - c:\DevProgs\bpq32\BPQMail.exe - true - c:\DevProgs\bpq32\BPQMail.pdb - true - c:\DevProgs\bpq32\BPQMail.map - Windows - true - true - - MachineX86 - - - - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - All - $(IntDir) - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - All - $(IntDir) - $(IntDir) - $(IntDir)%(Filename)1.xdc - - - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - - - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - - - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - $(IntDir)%(Filename)1.obj - $(IntDir)%(Filename)1.xdc - - - - - - - - - - - - - \ No newline at end of file diff --git a/BPQMail.vcxproj.filters b/BPQMail.vcxproj.filters deleted file mode 100644 index 8025626..0000000 --- a/BPQMail.vcxproj.filters +++ /dev/null @@ -1,113 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/CBPQ32.vcxproj b/CBPQ32.vcxproj deleted file mode 100644 index fbdf53d..0000000 --- a/CBPQ32.vcxproj +++ /dev/null @@ -1,232 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {8EFA1E59-8654-4A23-8102-AA77A074D57C} - CBPQ32 - Win32Proj - 10.0.17763.0 - - - - DynamicLibrary - v141 - NotSet - false - - - DynamicLibrary - v141 - MultiByte - - - - - - - - - - - - - - <_ProjectFileVersion>15.0.28127.55 - - - $(SolutionDir)$(Configuration)\ - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(Configuration)\ - true - - - $(SolutionDir)$(Configuration)\ - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(Configuration)\ - false - - - - 3 - ..\CInclude - true - - - Disabled - ..\CInclude;..\CommonSource;..\CKernel;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;BPQ32_EXPORTS;MDIKERNEL;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - All - c:\devprogs\bpq32\listings\debug\ - true - Level3 - EditAndContinue - - - /section:_BPQDATA,srw %(AdditionalOptions) - WS2_32.Lib;winmm.lib;DbgHelp.lib;comctl32.lib;Iphlpapi.lib;setupapi.lib;..\lib\libconfig.lib;miniupnpc.lib;zlibstat.lib;%(AdditionalDependencies) - c:\DevProgs\BPQ32\bpq32.dll - false - LIBCMTD.lib;%(IgnoreSpecificDefaultLibraries) - ..\CommonSource\bpq32.def - true - true - c:\DevProgs\BPQ32\bpqdev.map - true - Windows - 8000000 - 4000000 - false - - 0x42000000 - ..\lib\bpq32.lib - MachineX86 - false - - - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(Configuration)\$(ProjectName).bsc - - - "C:\Program Files\7-Zip\7z.exe" a C:\DevProgs\BPQ32\bpq32.zip C:\DevProgs\BPQ32\bpq32.dll && myxcopy /y c:\DevProgs\BPQ32\bpq32.dll c:\windows\SysWOW64\bpq32.dll && del C:\DevProgs\BPQ32\bpq32.dll - - - - - 3 - $(IntDir)$(ProjectName) - ..\CInclude - true - true - true - true - - - /D "MDIKERNEL" %(AdditionalOptions) - Disabled - false - ..\CInclude;..\CommonSource;..\CKernel;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;BPQ32_EXPORTS;MDIKERNEL;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - MultiThreaded - - All - c:\devprogs\bpq32\listings\ - Level3 - ProgramDatabase - - - /section:_BPQDATA,srw %(AdditionalOptions) - WS2_32.Lib;winmm.lib;DbgHelp.lib;comctl32.lib;setupapi.lib;..\lib\libconfig.lib;miniupnpc.lib;zlibstat.lib;%(AdditionalDependencies) - C:\DevProgs\BPQ32\bpq32.dll - ..\CommonSource\bpq32.def - true - c:\DevProgs\BPQ32\bpq32.pdb - true - c:\DevProgs\BPQ32\bpqpdn.map - true - Windows - true - true - - 0x42000000 - C:\Dev\Msdev2005\Projects\BPQ32\lib\bpq32.lib - MachineX86 - - - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(Configuration)\$(ProjectName).bsc - - - "C:\Program Files\7-Zip\7z.exe" a C:\DevProgs\BPQ32\bpq32.zip C:\DevProgs\BPQ32\bpq32.dll && myxcopy /y c:\DevProgs\BPQ32\bpq32.dll c:\windows\SysWOW64\bpq32.dll && del C:\DevProgs\BPQ32\bpq32.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CBPQ32.vcxproj.filters b/CBPQ32.vcxproj.filters deleted file mode 100644 index 7c08db6..0000000 --- a/CBPQ32.vcxproj.filters +++ /dev/null @@ -1,228 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/ConfigDirewolf.vcxproj b/ConfigDirewolf.vcxproj deleted file mode 100644 index 6f13490..0000000 --- a/ConfigDirewolf.vcxproj +++ /dev/null @@ -1,164 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {271FDA0A-4F41-4F35-8227-9F2F29AA5A25} - Win32Proj - ConsoleApplication2 - 10.0.17763.0 - ConfigDirewolf - - - - Application - true - v141 - MultiByte - - - Application - false - v141 - true - MultiByte - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - - - - - Use - Level3 - Disabled - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - true - true - c:\devprogs\bpq32\ConfigDirewolf.exe - - - - - Use - Level3 - MaxSpeed - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - true - true - - - - - - - - - - - - \ No newline at end of file diff --git a/ConfigWinRPR.vcxproj b/ConfigWinRPR.vcxproj deleted file mode 100644 index 9e66f98..0000000 --- a/ConfigWinRPR.vcxproj +++ /dev/null @@ -1,164 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {2AD91A25-DF1B-462E-8CCB-CD1ABC627AA5} - Win32Proj - ConsoleApplication2 - 10.0.17763.0 - ConfigWinRPR - - - - Application - true - v141 - MultiByte - - - Application - false - v141 - true - MultiByte - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - - - - - Use - Level3 - Disabled - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - true - true - c:\devprogs\bpq32\ConfigWinRPR.exe - - - - - Use - Level3 - MaxSpeed - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - pch.h - - - Console - true - true - true - - - - - - - - - - - - \ No newline at end of file diff --git a/MailNode.vcxproj b/MailNode.vcxproj deleted file mode 100644 index 429ce34..0000000 --- a/MailNode.vcxproj +++ /dev/null @@ -1,294 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - LinBPQ - {3766AA10-C777-4ED8-A83D-F1452DE9B666} - MailNode - Win32Proj - 10.0.17763.0 - - - - Application - v141 - NotSet - true - - - Application - v141 - NotSet - true - - - Application - v141 - NotSet - - - Application - v141 - NotSet - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>15.0.28307.799 - - - C:\Dev\Msdev2005\$(SolutionName)\$(ProjectName)\$(Configuration)\ - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(ProjectName)\$(Configuration)\ - true - - - true - D:\linbpq - - - C:\Dev\Msdev2005\$(SolutionName)\$(ProjectName)\$(Configuration)\ - C:\Dev\Msdev2005\Intermed\$(SolutionName)\$(ProjectName)\$(Configuration)\ - false - - - false - - - - Disabled - ..\CKernel;..\CommonSource;..\CInclude;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_CONSOLE;LINBPQ;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - EditAndContinue - - - kernel32.lib;WS2_32.Lib;..\lib\libconfigd.lib;DbgHelp.lib;setupapi.lib;miniupnpc.lib;zlibstat.lib;%(AdditionalDependencies) - c:\LINBPQ\$(ProjectName).exe - true - true - c:\linbpq\linmail.map - Console - 4000000 - 0 - MachineX86 - - - - - Disabled - ..\CKernel;..\CommonSource;..\CInclude;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_CONSOLE;LINBPQ;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebug - - - Level3 - EditAndContinue - - - kernel32.lib;WS2_32.Lib;C:\OneDrive\Dev\Source\bpq32\libconfig\x64\Release\libconfig.lib;DbgHelp.lib;setupapi.lib;C:\Dev\Msdev2005\projects\bpq32\CKernel\x64\Debug\miniupnpc.lib;C:\OneDrive\Dev\Source\zlib-1.2.11\contrib\vstudio\vc14\x64\ZlibStatDebug\zlibstat.lib;%(AdditionalDependencies) - c:\LINBPQ\$(ProjectName).exe - true - true - c:\linbpq\linmail.map - Console - 4000000 - 0 - - - - - ..\CKernel;..\CommonSource;..\CInclude;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_CONSOLE;LINBPQ;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - MultiThreaded - - Level3 - ProgramDatabase - - - kernel32.lib;WS2_32.Lib;..\lib\libconfig.lib;DbgHelp.lib;Setupapi.lib;miniupnpc.lib;zlibstat.lib;%(AdditionalDependencies) - c:\devprogs\bpq32\LinBPQ.exe - true - Console - 5000000 - 10000000 - true - true - MachineX86 - - - - - ..\CKernel;..\CommonSource;..\CInclude;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_CONSOLE;LINBPQ;_USE_32BIT_TIME_T;%(PreprocessorDefinitions) - MultiThreaded - - - Level3 - ProgramDatabase - - - kernel32.lib;WS2_32.Lib;..\lib\libconfig.lib;DbgHelp.lib;Setupapi.lib;miniupnpc.lib;zlibstat.lib;%(AdditionalDependencies) - c:\devprogs\bpq32\LinBPQ.exe - true - Console - 5000000 - 10000000 - true - true - - - - - - - - - - - - - - - - - - - - - All - All - $(IntDir) - $(IntDir) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/MailNode.vcxproj.filters b/MailNode.vcxproj.filters deleted file mode 100644 index d32f45b..0000000 --- a/MailNode.vcxproj.filters +++ /dev/null @@ -1,327 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - \ No newline at end of file diff --git a/PG/Loop.exe b/PG/Loop.exe deleted file mode 100644 index 1ddf86e2722fa11b3bfc48b1e26b0d5b6e0930e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UDPtoTCP/UDPtoTCP/UDPtoTCP.vcproj.SKIGACER.johnw.user b/UDPtoTCP/UDPtoTCP/UDPtoTCP.vcproj.SKIGACER.johnw.user deleted file mode 100644 index b5b0536..0000000 --- a/UDPtoTCP/UDPtoTCP/UDPtoTCP.vcproj.SKIGACER.johnw.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/debug/bpq32.pdb b/debug/bpq32.pdb deleted file mode 100644 index 05ac07eb0e5dc60ba8d7facb5b414c0316e78adf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1903616 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 z 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 TBVrmfY4J&$uuvcrc-;a|{NT20 From 57c66b1c61303720f6f82738c4a5bf038e9f4697 Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Fri, 29 Nov 2024 19:19:19 +0000 Subject: [PATCH 3/5] New upstream version 6.0.24.51.1+repack --- MQTTAsync.h | 2383 -------------------------------------- MQTTClient.h | 1980 ------------------------------- MQTTClientPersistence.h | 277 ----- MQTTExportDeclarations.h | 36 - MQTTProperties.h | 222 ---- MQTTReasonCodes.h | 79 -- MQTTSubscribeOpts.h | 46 - XAprs | Bin 174928 -> 0 bytes igd_desc_parse.h | 49 - mailapi.c | 17 +- miniupnpc.h | 153 --- miniupnpctypes.h | 19 - pcap.h | 257 ---- upnpcommands.h | 348 ------ upnpdev.h | 44 - upnperrors.h | 26 - zconf.h | 333 ------ zlib.h | 1358 ---------------------- 18 files changed, 15 insertions(+), 7612 deletions(-) delete mode 100644 MQTTAsync.h delete mode 100644 MQTTClient.h delete mode 100644 MQTTClientPersistence.h delete mode 100644 MQTTExportDeclarations.h delete mode 100644 MQTTProperties.h delete mode 100644 MQTTReasonCodes.h delete mode 100644 MQTTSubscribeOpts.h delete mode 100644 XAprs delete mode 100644 igd_desc_parse.h delete mode 100644 miniupnpc.h delete mode 100644 miniupnpctypes.h delete mode 100644 pcap.h delete mode 100644 upnpcommands.h delete mode 100644 upnpdev.h delete mode 100644 upnperrors.h delete mode 100644 zconf.h delete mode 100644 zlib.h diff --git a/MQTTAsync.h b/MQTTAsync.h deleted file mode 100644 index e11af04..0000000 --- a/MQTTAsync.h +++ /dev/null @@ -1,2383 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2023 IBM Corp., Ian Craggs and others - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Ian Craggs - initial API and implementation - * Ian Craggs, Allan Stockdill-Mander - SSL connections - * Ian Craggs - multiple server connection support - * Ian Craggs - MQTT 3.1.1 support - * Ian Craggs - fix for bug 444103 - success/failure callbacks not invoked - * Ian Craggs - automatic reconnect and offline buffering (send while disconnected) - * Ian Craggs - binary will message - * Ian Craggs - binary password - * Ian Craggs - remove const on eyecatchers #168 - * Ian Craggs - MQTT 5.0 - *******************************************************************************/ - -/********************************************************************/ - -/** - * @cond MQTTAsync_main - * @mainpage Asynchronous MQTT client library for C (MQTTAsync) - * - * © Copyright 2009, 2023 IBM Corp., Ian Craggs and others - * - * @brief An Asynchronous MQTT client library for C. - * - * An MQTT client application connects to MQTT-capable servers. - * A typical client is responsible for collecting information from a telemetry - * device and publishing the information to the server. It can also subscribe - * to topics, receive messages, and use this information to control the - * telemetry device. - * - * MQTT clients implement the published MQTT v3 protocol. You can write your own - * API to the MQTT protocol using the programming language and platform of your - * choice. This can be time-consuming and error-prone. - * - * To simplify writing MQTT client applications, this library encapsulates - * the MQTT v3 protocol for you. Using this library enables a fully functional - * MQTT client application to be written in a few lines of code. - * The information presented here documents the API provided - * by the Asynchronous MQTT Client library for C. - * - * Using the client
- * Applications that use the client library typically use a similar structure: - *

- * Some simple examples are shown here: - *
    - *
  • @ref publish
  • - *
  • @ref subscribe
  • - *
- * Additional information about important concepts is provided here: - *
    - *
  • @ref async
  • - *
  • @ref wildcard
  • - *
  • @ref qos
  • - *
  • @ref tracing
  • - *
  • @ref auto_reconnect
  • - *
  • @ref offline_publish
  • - *
- * @endcond - */ - -/* -/// @cond EXCLUDE -*/ -#if !defined(MQTTASYNC_H) -#define MQTTASYNC_H - -#if defined(__cplusplus) - extern "C" { -#endif - -#include -/* -/// @endcond -*/ - -#include "MQTTExportDeclarations.h" - -#include "MQTTProperties.h" -#include "MQTTReasonCodes.h" -#include "MQTTSubscribeOpts.h" -#if !defined(NO_PERSISTENCE) -#include "MQTTClientPersistence.h" -#endif - -/** - * Return code: No error. Indicates successful completion of an MQTT client - * operation. - */ -#define MQTTASYNC_SUCCESS 0 -/** - * Return code: A generic error code indicating the failure of an MQTT client - * operation. - */ -#define MQTTASYNC_FAILURE -1 - -/* error code -2 is MQTTAsync_PERSISTENCE_ERROR */ - -#define MQTTASYNC_PERSISTENCE_ERROR -2 - -/** - * Return code: The client is disconnected. - */ -#define MQTTASYNC_DISCONNECTED -3 -/** - * Return code: The maximum number of messages allowed to be simultaneously - * in-flight has been reached. - */ -#define MQTTASYNC_MAX_MESSAGES_INFLIGHT -4 -/** - * Return code: An invalid UTF-8 string has been detected. - */ -#define MQTTASYNC_BAD_UTF8_STRING -5 -/** - * Return code: A NULL parameter has been supplied when this is invalid. - */ -#define MQTTASYNC_NULL_PARAMETER -6 -/** - * Return code: The topic has been truncated (the topic string includes - * embedded NULL characters). String functions will not access the full topic. - * Use the topic length value to access the full topic. - */ -#define MQTTASYNC_TOPICNAME_TRUNCATED -7 -/** - * Return code: A structure parameter does not have the correct eyecatcher - * and version number. - */ -#define MQTTASYNC_BAD_STRUCTURE -8 -/** - * Return code: A qos parameter is not 0, 1 or 2 - */ -#define MQTTASYNC_BAD_QOS -9 -/** - * Return code: All 65535 MQTT msgids are being used - */ -#define MQTTASYNC_NO_MORE_MSGIDS -10 -/** - * Return code: the request is being discarded when not complete - */ -#define MQTTASYNC_OPERATION_INCOMPLETE -11 -/** - * Return code: no more messages can be buffered - */ -#define MQTTASYNC_MAX_BUFFERED_MESSAGES -12 -/** - * Return code: Attempting SSL connection using non-SSL version of library - */ -#define MQTTASYNC_SSL_NOT_SUPPORTED -13 -/** - * Return code: protocol prefix in serverURI should be: - * @li @em tcp:// or @em mqtt:// - Insecure TCP - * @li @em ssl:// or @em mqtts:// - Encrypted SSL/TLS - * @li @em ws:// - Insecure websockets - * @li @em wss:// - Secure web sockets - * - * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if the TLS - * version of the library is linked with. - */ -#define MQTTASYNC_BAD_PROTOCOL -14 -/** - * Return code: don't use options for another version of MQTT - */ -#define MQTTASYNC_BAD_MQTT_OPTION -15 -/** - * Return code: call not applicable to the client's version of MQTT - */ -#define MQTTASYNC_WRONG_MQTT_VERSION -16 -/** - * Return code: 0 length will topic - */ -#define MQTTASYNC_0_LEN_WILL_TOPIC -17 -/* - * Return code: connect or disconnect command ignored because there is already a connect or disconnect - * command at the head of the list waiting to be processed. Use the onSuccess/onFailure callbacks to wait - * for the previous connect or disconnect command to be complete. - */ -#define MQTTASYNC_COMMAND_IGNORED -18 - /* - * Return code: maxBufferedMessages in the connect options must be >= 0 - */ - #define MQTTASYNC_MAX_BUFFERED -19 - -/** - * Default MQTT version to connect with. Use 3.1.1 then fall back to 3.1 - */ -#define MQTTVERSION_DEFAULT 0 -/** - * MQTT version to connect with: 3.1 - */ -#define MQTTVERSION_3_1 3 -/** - * MQTT version to connect with: 3.1.1 - */ -#define MQTTVERSION_3_1_1 4 -/** - * MQTT version to connect with: 5 - */ -#define MQTTVERSION_5 5 -/** - * Bad return code from subscribe, as defined in the 3.1.1 specification - */ -#define MQTT_BAD_SUBSCRIBE 0x80 - - -/** - * Initialization options - */ -typedef struct -{ - /** The eyecatcher for this structure. Must be MQTG. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 */ - int struct_version; - /** 1 = we do openssl init, 0 = leave it to the application */ - int do_openssl_init; -} MQTTAsync_init_options; - -#define MQTTAsync_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 } - -/** - * Global init of mqtt library. Call once on program start to set global behaviour. - * handle_openssl_init - if mqtt library should handle openssl init (1) or rely on the caller to init it before using mqtt (0) - */ -LIBMQTT_API void MQTTAsync_global_init(MQTTAsync_init_options* inits); - -/** - * A handle representing an MQTT client. A valid client handle is available - * following a successful call to MQTTAsync_create(). - */ -typedef void* MQTTAsync; -/** - * A value representing an MQTT message. A token is returned to the - * client application when a message is published. The token can then be used to - * check that the message was successfully delivered to its destination (see - * MQTTAsync_publish(), - * MQTTAsync_publishMessage(), - * MQTTAsync_deliveryComplete(), and - * MQTTAsync_getPendingTokens()). - */ -typedef int MQTTAsync_token; - -/** - * A structure representing the payload and attributes of an MQTT message. The - * message topic is not part of this structure (see MQTTAsync_publishMessage(), - * MQTTAsync_publish(), MQTTAsync_receive(), MQTTAsync_freeMessage() - * and MQTTAsync_messageArrived()). - */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQTM. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 or 1. - * 0 indicates no message properties */ - int struct_version; - /** The length of the MQTT message payload in bytes. */ - int payloadlen; - /** A pointer to the payload of the MQTT message. */ - void* payload; - /** - * The quality of service (QoS) assigned to the message. - * There are three levels of QoS: - *
- *
QoS0
- *
Fire and forget - the message may not be delivered
- *
QoS1
- *
At least once - the message will be delivered, but may be - * delivered more than once in some circumstances.
- *
QoS2
- *
Once and one only - the message will be delivered exactly once.
- *
- */ - int qos; - /** - * The retained flag serves two purposes depending on whether the message - * it is associated with is being published or received. - * - * retained = true
- * For messages being published, a true setting indicates that the MQTT - * server should retain a copy of the message. The message will then be - * transmitted to new subscribers to a topic that matches the message topic. - * For subscribers registering a new subscription, the flag being true - * indicates that the received message is not a new one, but one that has - * been retained by the MQTT server. - * - * retained = false
- * For publishers, this indicates that this message should not be retained - * by the MQTT server. For subscribers, a false setting indicates this is - * a normal message, received as a result of it being published to the - * server. - */ - int retained; - /** - * The dup flag indicates whether or not this message is a duplicate. - * It is only meaningful when receiving QoS1 messages. When true, the - * client application should take appropriate action to deal with the - * duplicate message. This is an output parameter only. - */ - int dup; - /** The message identifier is reserved for internal use by the - * MQTT client and server. It is an output parameter only - writing - * to it will serve no purpose. It contains the MQTT message id of - * an incoming publish message. - */ - int msgid; - /** - * The MQTT V5 properties associated with the message. - */ - MQTTProperties properties; -} MQTTAsync_message; - -#define MQTTAsync_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer } - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * receipt of messages. The function is registered with the client library by - * passing it as an argument to MQTTAsync_setCallbacks(). It is - * called by the client library when a new message that matches a client - * subscription has been received from the server. This function is executed on - * a separate thread to the one on which the client application is running. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * MQTTAsync_setCallbacks(), which contains any application-specific context. - * @param topicName The topic associated with the received message. - * @param topicLen The length of the topic if there are one - * more NULL characters embedded in topicName, otherwise topicLen - * is 0. If topicLen is 0, the value returned by strlen(topicName) - * can be trusted. If topicLen is greater than 0, the full topic name - * can be retrieved by accessing topicName as a byte array of length - * topicLen. - * @param message The MQTTAsync_message structure for the received message. - * This structure contains the message payload and attributes. - * @return This function must return 0 or 1 indicating whether or not - * the message has been safely received by the client application.
- * Returning 1 indicates that the message has been successfully handled. - * To free the message storage, ::MQTTAsync_freeMessage must be called. - * To free the topic name storage, ::MQTTAsync_free must be called.
- * Returning 0 indicates that there was a problem. In this - * case, the client library will reinvoke MQTTAsync_messageArrived() to - * attempt to deliver the message to the application again. - * Do not free the message and topic storage when returning 0, otherwise - * the redelivery will fail. - */ -typedef int MQTTAsync_messageArrived(void* context, char* topicName, int topicLen, MQTTAsync_message* message); - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * notification of delivery of messages to the server. The function is - * registered with the client library by passing it as an argument to MQTTAsync_setCallbacks(). - * It is called by the client library after the client application has - * published a message to the server. It indicates that the necessary - * handshaking and acknowledgements for the requested quality of service (see - * MQTTAsync_message.qos) have been completed. This function is executed on a - * separate thread to the one on which the client application is running. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * MQTTAsync_setCallbacks(), which contains any application-specific context. - * @param token The ::MQTTAsync_token associated with - * the published message. Applications can check that all messages have been - * correctly published by matching the tokens returned from calls to - * MQTTAsync_send() and MQTTAsync_sendMessage() with the tokens passed - * to this callback. - */ -typedef void MQTTAsync_deliveryComplete(void* context, MQTTAsync_token token); - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * notification of the loss of connection to the server. The function is - * registered with the client library by passing it as an argument to - * MQTTAsync_setCallbacks(). It is called by the client library if the client - * loses its connection to the server. The client application must take - * appropriate action, such as trying to reconnect or reporting the problem. - * This function is executed on a separate thread to the one on which the - * client application is running. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * MQTTAsync_setCallbacks(), which contains any application-specific context. - * @param cause The reason for the disconnection. - * Currently, cause is always set to NULL. - */ -typedef void MQTTAsync_connectionLost(void* context, char* cause); - - -/** - * This is a callback function, which will be called when the client - * library successfully connects. This is superfluous when the connection - * is made in response to a MQTTAsync_connect call, because the onSuccess - * callback can be used. It is intended for use when automatic reconnect - * is enabled, so that when a reconnection attempt succeeds in the background, - * the application is notified and can take any required actions. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * MQTTAsync_setCallbacks(), which contains any application-specific context. - * @param cause The reason for the disconnection. - * Currently, cause is always set to NULL. - */ -typedef void MQTTAsync_connected(void* context, char* cause); - -/** - * This is a callback function, which will be called when the client - * library receives a disconnect packet from the server. This applies to MQTT V5 and above only. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * MQTTAsync_setCallbacks(), which contains any application-specific context. - * @param properties the properties in the disconnect packet. - * @param properties the reason code from the disconnect packet - * Currently, cause is always set to NULL. - */ -typedef void MQTTAsync_disconnected(void* context, MQTTProperties* properties, - enum MQTTReasonCodes reasonCode); - -/** - * Sets the MQTTAsync_disconnected() callback function for a client. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to any application-specific context. The - * the context pointer is passed to each of the callback functions to - * provide access to the context information in the callback. - * @param co A pointer to an MQTTAsync_connected() callback - * function. NULL removes the callback setting. - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTAsync_setDisconnected(MQTTAsync handle, void* context, MQTTAsync_disconnected* co); - -/** The connect options that can be updated before an automatic reconnect. */ -typedef struct -{ - /** The eyecatcher for this structure. Will be MQCD. */ - char struct_id[4]; - /** The version number of this structure. Will be 0 */ - int struct_version; - /** - * MQTT servers that support the MQTT v3.1 protocol provide authentication - * and authorisation by user name and password. This is the user name parameter. - * Set data to NULL to remove. To change, allocate new - * storage with ::MQTTAsync_allocate - this will then be free later by the library. - */ - const char* username; - /** - * The password parameter of the MQTT authentication. - * Set data to NULL to remove. To change, allocate new - * storage with ::MQTTAsync_allocate - this will then be free later by the library. - */ - struct { - int len; /**< binary password length */ - const void* data; /**< binary password data */ - } binarypwd; -} MQTTAsync_connectData; - -#define MQTTAsync_connectData_initializer {{'M', 'Q', 'C', 'D'}, 0, NULL, {0, NULL}} - -/** - * This is a callback function which will allow the client application to update the - * connection data. - * @param data The connection data which can be modified by the application. - * @return Return a non-zero value to update the connect data, zero to keep the same data. - */ -typedef int MQTTAsync_updateConnectOptions(void* context, MQTTAsync_connectData* data); - -/** - * Sets the MQTTAsync_updateConnectOptions() callback function for a client. - * @param handle A valid client handle from a successful call to MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to each of the callback functions to - * provide access to the context information in the callback. - * @param co A pointer to an MQTTAsync_updateConnectOptions() callback - * function. NULL removes the callback setting. - */ -LIBMQTT_API int MQTTAsync_setUpdateConnectOptions(MQTTAsync handle, void* context, MQTTAsync_updateConnectOptions* co); - -/** - * Sets the MQTTPersistence_beforeWrite() callback function for a client. - * @param handle A valid client handle from a successful call to MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to the callback function to - * provide access to the context information in the callback. - * @param co A pointer to an MQTTPersistence_beforeWrite() callback - * function. NULL removes the callback setting. - */ -LIBMQTT_API int MQTTAsync_setBeforePersistenceWrite(MQTTAsync handle, void* context, MQTTPersistence_beforeWrite* co); - - -/** - * Sets the MQTTPersistence_afterRead() callback function for a client. - * @param handle A valid client handle from a successful call to MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to the callback function to - * provide access to the context information in the callback. - * @param co A pointer to an MQTTPersistence_beforeWrite() callback - * function. NULL removes the callback setting. - */ -LIBMQTT_API int MQTTAsync_setAfterPersistenceRead(MQTTAsync handle, void* context, MQTTPersistence_afterRead* co); - - -/** The data returned on completion of an unsuccessful API call in the response callback onFailure. */ -typedef struct -{ - /** A token identifying the failed request. */ - MQTTAsync_token token; - /** A numeric code identifying the error. */ - int code; - /** Optional text explaining the error. Can be NULL. */ - const char *message; -} MQTTAsync_failureData; - - -/** The data returned on completion of an unsuccessful API call in the response callback onFailure. */ -typedef struct -{ - /** The eyecatcher for this structure. Will be MQFD. */ - char struct_id[4]; - /** The version number of this structure. Will be 0 */ - int struct_version; - /** A token identifying the failed request. */ - MQTTAsync_token token; - /** The MQTT reason code returned. */ - enum MQTTReasonCodes reasonCode; - /** The MQTT properties on the ack, if any. */ - MQTTProperties properties; - /** A numeric code identifying the MQTT client library error. */ - int code; - /** Optional further text explaining the error. Can be NULL. */ - const char *message; - /** Packet type on which the failure occurred - used for publish QoS 1/2 exchanges*/ - int packet_type; -} MQTTAsync_failureData5; - -#define MQTTAsync_failureData5_initializer {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL, 0} - -/** The data returned on completion of a successful API call in the response callback onSuccess. */ -typedef struct -{ - /** A token identifying the successful request. Can be used to refer to the request later. */ - MQTTAsync_token token; - /** A union of the different values that can be returned for subscribe, unsubscribe and publish. */ - union - { - /** For subscribe, the granted QoS of the subscription returned by the server. - * Also for subscribeMany, if only 1 subscription was requested. */ - int qos; - /** For subscribeMany, if more than one subscription was requested, - * the list of granted QoSs of the subscriptions returned by the server. */ - int* qosList; - /** For publish, the message being sent to the server. */ - struct - { - MQTTAsync_message message; /**< the message being sent to the server */ - char* destinationName; /**< the topic destination for the message */ - } pub; - /* For connect, the server connected to, MQTT version used, and sessionPresent flag */ - struct - { - char* serverURI; /**< the connection string of the server */ - int MQTTVersion; /**< the version of MQTT being used */ - int sessionPresent; /**< the session present flag returned from the server */ - } connect; - } alt; -} MQTTAsync_successData; - - -/** The data returned on completion of a successful API call in the response callback onSuccess. */ -typedef struct -{ - char struct_id[4]; /**< The eyecatcher for this structure. Will be MQSD. */ - int struct_version; /**< The version number of this structure. Will be 0 */ - /** A token identifying the successful request. Can be used to refer to the request later. */ - MQTTAsync_token token; - enum MQTTReasonCodes reasonCode; /**< MQTT V5 reason code returned */ - MQTTProperties properties; /**< MQTT V5 properties returned, if any */ - /** A union of the different values that can be returned for subscribe, unsubscribe and publish. */ - union - { - /** For subscribeMany, the list of reasonCodes returned by the server. */ - struct - { - int reasonCodeCount; /**< the number of reason codes in the reasonCodes array */ - enum MQTTReasonCodes* reasonCodes; /**< an array of reasonCodes */ - } sub; - /** For publish, the message being sent to the server. */ - struct - { - MQTTAsync_message message; /**< the message being sent to the server */ - char* destinationName; /**< the topic destination for the message */ - } pub; - /* For connect, the server connected to, MQTT version used, and sessionPresent flag */ - struct - { - char* serverURI; /**< the connection string of the server */ - int MQTTVersion; /**< the version of MQTT being used */ - int sessionPresent; /**< the session present flag returned from the server */ - } connect; - /** For unsubscribeMany, the list of reasonCodes returned by the server. */ - struct - { - int reasonCodeCount; /**< the number of reason codes in the reasonCodes array */ - enum MQTTReasonCodes* reasonCodes; /**< an array of reasonCodes */ - } unsub; - } alt; -} MQTTAsync_successData5; - -#define MQTTAsync_successData5_initializer {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, {.sub={0,0}}} - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * notification of the successful completion of an API call. The function is - * registered with the client library by passing it as an argument in - * ::MQTTAsync_responseOptions. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * ::MQTTAsync_responseOptions, which contains any application-specific context. - * @param response Any success data associated with the API completion. - */ -typedef void MQTTAsync_onSuccess(void* context, MQTTAsync_successData* response); - -/** - * This is a callback function, the MQTT V5 version of ::MQTTAsync_onSuccess. - * The client application - * must provide an implementation of this function to enable asynchronous - * notification of the successful completion of an API call. The function is - * registered with the client library by passing it as an argument in - * ::MQTTAsync_responseOptions. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * ::MQTTAsync_responseOptions, which contains any application-specific context. - * @param response Any success data associated with the API completion. - */ -typedef void MQTTAsync_onSuccess5(void* context, MQTTAsync_successData5* response); - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * notification of the unsuccessful completion of an API call. The function is - * registered with the client library by passing it as an argument in - * ::MQTTAsync_responseOptions. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * ::MQTTAsync_responseOptions, which contains any application-specific context. - * @param response Failure data associated with the API completion. - */ -typedef void MQTTAsync_onFailure(void* context, MQTTAsync_failureData* response); - -/** - * This is a callback function, the MQTT V5 version of ::MQTTAsync_onFailure. - * The application must provide an implementation of this function to enable asynchronous - * notification of the unsuccessful completion of an API call. The function is - * registered with the client library by passing it as an argument in - * ::MQTTAsync_responseOptions. - * - * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be - * called within this callback. - * @param context A pointer to the context value originally passed to - * ::MQTTAsync_responseOptions, which contains any application-specific context. - * @param response Failure data associated with the API completion. - */ -typedef void MQTTAsync_onFailure5(void* context, MQTTAsync_failureData5* response); - -/** Structure to define call options. For MQTT 5.0 there is input data as well as that - * describing the response method. So there is now also a synonym ::MQTTAsync_callOptions - * to better reflect the use. This responseOptions name is kept for backward - * compatibility. - */ -typedef struct MQTTAsync_responseOptions -{ - /** The eyecatcher for this structure. Must be MQTR */ - char struct_id[4]; - /** The version number of this structure. Must be 0 or 1 - * if 0, no MQTTV5 options */ - int struct_version; - /** - * A pointer to a callback function to be called if the API call successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onSuccess* onSuccess; - /** - * A pointer to a callback function to be called if the API call fails. - * Can be set to NULL, in which case no indication of unsuccessful - * completion will be received. - */ - MQTTAsync_onFailure* onFailure; - /** - * A pointer to any application-specific context. The - * the context pointer is passed to success or failure callback functions to - * provide access to the context information in the callback. - */ - void* context; - /** - * A token is returned from the call. It can be used to track - * the state of this request, both in the callbacks and in future calls - * such as ::MQTTAsync_waitForCompletion. This is output only - any - * change by the application will be ignored. - */ - MQTTAsync_token token; - /** - * A pointer to a callback function to be called if the API call successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onSuccess5* onSuccess5; - /** - * A pointer to a callback function to be called if the API call successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onFailure5* onFailure5; - /** - * MQTT V5 input properties - */ - MQTTProperties properties; - /* - * MQTT V5 subscribe options, when used with subscribe only. - */ - MQTTSubscribe_options subscribeOptions; - /* - * MQTT V5 subscribe option count, when used with subscribeMany only. - * The number of entries in the subscribe_options_list array. - */ - int subscribeOptionsCount; - /* - * MQTT V5 subscribe option array, when used with subscribeMany only. - */ - MQTTSubscribe_options* subscribeOptionsList; -} MQTTAsync_responseOptions; - -#define MQTTAsync_responseOptions_initializer { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL} - -/** A synonym for responseOptions to better reflect its usage since MQTT 5.0 */ -typedef struct MQTTAsync_responseOptions MQTTAsync_callOptions; -#define MQTTAsync_callOptions_initializer MQTTAsync_responseOptions_initializer - -/** - * This function sets the global callback functions for a specific client. - * If your client application doesn't use a particular callback, set the - * relevant parameter to NULL. Any necessary message acknowledgements and - * status communications are handled in the background without any intervention - * from the client application. If you do not set a messageArrived callback - * function, you will not be notified of the receipt of any messages as a - * result of a subscription. - * - * Note: The MQTT client must be disconnected when this function is - * called. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to each of the callback functions to - * provide access to the context information in the callback. - * @param cl A pointer to an MQTTAsync_connectionLost() callback - * function. You can set this to NULL if your application doesn't handle - * disconnections. - * @param ma A pointer to an MQTTAsync_messageArrived() callback - * function. If this callback is not set, an error will be returned. - * You must set this callback because otherwise there would be - * no way to deliver any incoming messages. - * @param dc A pointer to an MQTTAsync_deliveryComplete() callback - * function. You can set this to NULL if you do not want to check - * for successful delivery. - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTAsync_setCallbacks(MQTTAsync handle, void* context, MQTTAsync_connectionLost* cl, - MQTTAsync_messageArrived* ma, MQTTAsync_deliveryComplete* dc); - -/** - * This function sets the callback function for a connection lost event for - * a specific client. Any necessary message acknowledgements and status - * communications are handled in the background without any intervention - * from the client application. - * - * Note: The MQTT client must be disconnected when this function is - * called. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed the callback functions to provide - * access to the context information in the callback. - * @param cl A pointer to an MQTTAsync_connectionLost() callback - * function. You can set this to NULL if your application doesn't handle - * disconnections. - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ - -LIBMQTT_API int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void* context, - MQTTAsync_connectionLost* cl); - -/** - * This function sets the callback function for a message arrived event for - * a specific client. Any necessary message acknowledgements and status - * communications are handled in the background without any intervention - * from the client application. If you do not set a messageArrived callback - * function, you will not be notified of the receipt of any messages as a - * result of a subscription. - * - * Note: The MQTT client must be disconnected when this function is - * called. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to the callback functions to provide - * access to the context information in the callback. - * @param ma A pointer to an MQTTAsync_messageArrived() callback - * function. You can set this to NULL if your application doesn't handle - * receipt of messages. - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTAsync_setMessageArrivedCallback(MQTTAsync handle, void* context, - MQTTAsync_messageArrived* ma); - -/** - * This function sets the callback function for a delivery complete event - * for a specific client. Any necessary message acknowledgements and status - * communications are handled in the background without any intervention - * from the client application. - * - * Note: The MQTT client must be disconnected when this function is - * called. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to the callback functions to provide - * access to the context information in the callback. - * @param dc A pointer to an MQTTAsync_deliveryComplete() callback - * function. You can set this to NULL if you do not want to check - * for successful delivery. - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTAsync_setDeliveryCompleteCallback(MQTTAsync handle, void* context, - MQTTAsync_deliveryComplete* dc); - -/** - * Sets the MQTTAsync_connected() callback function for a client. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to each of the callback functions to - * provide access to the context information in the callback. - * @param co A pointer to an MQTTAsync_connected() callback - * function. NULL removes the callback setting. - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTAsync_setConnected(MQTTAsync handle, void* context, MQTTAsync_connected* co); - - -/** - * Reconnects a client with the previously used connect options. Connect - * must have previously been called for this to work. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, - * ::MQTTASYNC_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTAsync_reconnect(MQTTAsync handle); - - -/** - * This function creates an MQTT client ready for connection to the - * specified server and using the specified persistent storage (see - * MQTTAsync_persistence). See also MQTTAsync_destroy(). - * @param handle A pointer to an ::MQTTAsync handle. The handle is - * populated with a valid client reference following a successful return from - * this function. - * @param serverURI A null-terminated string specifying the server to - * which the client will connect. It takes the form - * protocol://host:port where protocol must be: - *
- * @em tcp:// or @em mqtt:// - Insecure TCP - *
- * @em ssl:// or @em mqtts:// - Encrypted SSL/TLS - *
- * @em ws:// - Insecure websockets - *
- * @em wss:// - Secure web sockets - *
- * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS - * version of the library is linked with. - * For host, you can specify either an IP address or a host name. For - * instance, to connect to a server running on the local machines with the - * default MQTT port, specify tcp://localhost:1883. - * @param clientId The client identifier passed to the server when the - * client connects to it. It is a null-terminated UTF-8 encoded string. - * @param persistence_type The type of persistence to be used by the client: - *
- * ::MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or - * system on which the client is running fails or is switched off, the current - * state of any in-flight messages is lost and some messages may not be - * delivered even at QoS1 and QoS2. - *
- * ::MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) - * persistence mechanism. Status about in-flight messages is held in persistent - * storage and provides some protection against message loss in the case of - * unexpected failure. - *
- * ::MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence - * implementation. Using this type of persistence gives control of the - * persistence mechanism to the application. The application has to implement - * the MQTTClient_persistence interface. - * @param persistence_context If the application uses - * ::MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should - * be set to NULL. For ::MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it - * should be set to the location of the persistence directory (if set - * to NULL, the persistence directory used is the working directory). - * Applications that use ::MQTTCLIENT_PERSISTENCE_USER persistence set this - * argument to point to a valid MQTTClient_persistence structure. - * @return ::MQTTASYNC_SUCCESS if the client is successfully created, otherwise - * an error code is returned. - */ -LIBMQTT_API int MQTTAsync_create(MQTTAsync* handle, const char* serverURI, const char* clientId, - int persistence_type, void* persistence_context); - -/** Options for the ::MQTTAsync_createWithOptions call */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQCO. */ - char struct_id[4]; - /** The version number of this structure. Must be 0, 1, 2 or 3 - * 0 means no MQTTVersion - * 1 means no allowDisconnectedSendAtAnyTime, deleteOldestMessages, restoreMessages - * 2 means no persistQoS0 - */ - int struct_version; - /** Whether to allow messages to be sent when the client library is not connected. */ - int sendWhileDisconnected; - /** The maximum number of messages allowed to be buffered. This is intended to be used to - * limit the number of messages queued while the client is not connected. It also applies - * when the client is connected, however, so has to be greater than 0. */ - int maxBufferedMessages; - /** Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. - * MQTT V5 has to be chosen here, because during the create call the message persistence - * is initialized, and we want to know whether the format of any persisted messages - * is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or - * 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create. */ - int MQTTVersion; - /** - * Allow sending of messages while disconnected before a first successful connect. - */ - int allowDisconnectedSendAtAnyTime; - /* - * When the maximum number of buffered messages is reached, delete the oldest rather than the newest. - */ - int deleteOldestMessages; - /* - * Restore messages from persistence on create - or clear it. - */ - int restoreMessages; - /* - * Persist QoS0 publish commands - an option to not persist them. - */ - int persistQoS0; -} MQTTAsync_createOptions; - -#define MQTTAsync_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_DEFAULT, 0, 0, 1, 1} - -#define MQTTAsync_createOptions_initializer5 { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_5, 0, 0, 1, 1} - - -LIBMQTT_API int MQTTAsync_createWithOptions(MQTTAsync* handle, const char* serverURI, const char* clientId, - int persistence_type, void* persistence_context, MQTTAsync_createOptions* options); - -/** - * MQTTAsync_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for - * the client. In the event that a client unexpectedly loses its connection to - * the server, the server publishes the LWT message to the LWT topic on - * behalf of the client. This allows other clients (subscribed to the LWT topic) - * to be made aware that the client has disconnected. To enable the LWT - * function for a specific client, a valid pointer to an MQTTAsync_willOptions - * structure is passed in the MQTTAsync_connectOptions structure used in the - * MQTTAsync_connect() call that connects the client to the server. The pointer - * to MQTTAsync_willOptions can be set to NULL if the LWT function is not - * required. - */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQTW. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 or 1 - 0 indicates no binary will message support - */ - int struct_version; - /** The LWT topic to which the LWT message will be published. */ - const char* topicName; - /** The LWT payload. */ - const char* message; - /** - * The retained flag for the LWT message (see MQTTAsync_message.retained). - */ - int retained; - /** - * The quality of service setting for the LWT message (see - * MQTTAsync_message.qos and @ref qos). - */ - int qos; - /** The LWT payload in binary form. This is only checked and used if the message option is NULL */ - struct - { - int len; /**< binary payload length */ - const void* data; /**< binary payload data */ - } payload; -} MQTTAsync_willOptions; - -#define MQTTAsync_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, { 0, NULL } } - -#define MQTT_SSL_VERSION_DEFAULT 0 -#define MQTT_SSL_VERSION_TLS_1_0 1 -#define MQTT_SSL_VERSION_TLS_1_1 2 -#define MQTT_SSL_VERSION_TLS_1_2 3 - -/** -* MQTTAsync_sslProperties defines the settings to establish an SSL/TLS connection using the -* OpenSSL library. It covers the following scenarios: -* - Server authentication: The client needs the digital certificate of the server. It is included -* in a store containting trusted material (also known as "trust store"). -* - Mutual authentication: Both client and server are authenticated during the SSL handshake. In -* addition to the digital certificate of the server in a trust store, the client will need its own -* digital certificate and the private key used to sign its digital certificate stored in a "key store". -* - Anonymous connection: Both client and server do not get authenticated and no credentials are needed -* to establish an SSL connection. Note that this scenario is not fully secure since it is subject to -* man-in-the-middle attacks. -*/ -typedef struct -{ - /** The eyecatcher for this structure. Must be MQTS */ - char struct_id[4]; - - /** The version number of this structure. Must be 0, 1, 2, 3, 4 or 5. - * 0 means no sslVersion - * 1 means no verify, CApath - * 2 means no ssl_error_context, ssl_error_cb - * 3 means no ssl_psk_cb, ssl_psk_context, disableDefaultTrustStore - * 4 means no protos, protos_len - */ - int struct_version; - - /** The file in PEM format containing the public digital certificates trusted by the client. */ - const char* trustStore; - - /** The file in PEM format containing the public certificate chain of the client. It may also include - * the client's private key. - */ - const char* keyStore; - - /** If not included in the sslKeyStore, this setting points to the file in PEM format containing - * the client's private key. - */ - const char* privateKey; - - /** The password to load the client's privateKey if encrypted. */ - const char* privateKeyPassword; - - /** - * The list of cipher suites that the client will present to the server during the SSL handshake. For a - * full explanation of the cipher list format, please see the OpenSSL on-line documentation: - * http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT - * If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding - * those offering no encryption- will be considered. - * This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance). - */ - const char* enabledCipherSuites; - - /** True/False option to enable verification of the server certificate **/ - int enableServerCertAuth; - - /** The SSL/TLS version to use. Specify one of MQTT_SSL_VERSION_DEFAULT (0), - * MQTT_SSL_VERSION_TLS_1_0 (1), MQTT_SSL_VERSION_TLS_1_1 (2) or MQTT_SSL_VERSION_TLS_1_2 (3). - * Only used if struct_version is >= 1. - */ - int sslVersion; - - /** - * Whether to carry out post-connect checks, including that a certificate - * matches the given host name. - * Exists only if struct_version >= 2 - */ - int verify; - - /** - * From the OpenSSL documentation: - * If CApath is not NULL, it points to a directory containing CA certificates in PEM format. - * Exists only if struct_version >= 2 - */ - const char* CApath; - - /** - * Callback function for OpenSSL error handler ERR_print_errors_cb - * Exists only if struct_version >= 3 - */ - int (*ssl_error_cb) (const char *str, size_t len, void *u); - - /** - * Application-specific contex for OpenSSL error handler ERR_print_errors_cb - * Exists only if struct_version >= 3 - */ - void* ssl_error_context; - - /** - * Callback function for setting TLS-PSK options. Parameters correspond to that of - * SSL_CTX_set_psk_client_callback, except for u which is the pointer ssl_psk_context. - * Exists only if struct_version >= 4 - */ - unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u); - - /** - * Application-specific contex for ssl_psk_cb - * Exists only if struct_version >= 4 - */ - void* ssl_psk_context; - - /** - * Don't load default SSL CA. Should be used together with PSK to make sure - * regular servers with certificate in place is not accepted. - * Exists only if struct_version >= 4 - */ - int disableDefaultTrustStore; - - /** - * The protocol-lists must be in wire-format, which is defined as a vector of non-empty, 8-bit length-prefixed, byte strings. - * The length-prefix byte is not included in the length. Each string is limited to 255 bytes. A byte-string length of 0 is invalid. - * A truncated byte-string is invalid. - * Check documentation for SSL_CTX_set_alpn_protos - * Exists only if struct_version >= 5 - */ - const unsigned char *protos; - - /** - * The length of the vector protos vector - * Exists only if struct_version >= 5 - */ - unsigned int protos_len; -} MQTTAsync_SSLOptions; - -#define MQTTAsync_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 } - -/** Utility structure where name/value pairs are needed */ -typedef struct -{ - const char* name; /**< name string */ - const char* value; /**< value string */ -} MQTTAsync_nameValue; - -/** - * MQTTAsync_connectOptions defines several settings that control the way the - * client connects to an MQTT server. - * - * Suitable default values are set in the following initializers: - * - MQTTAsync_connectOptions_initializer: for MQTT 3.1.1 non-WebSockets - * - MQTTAsync_connectOptions_initializer5: for MQTT 5.0 non-WebSockets - * - MQTTAsync_connectOptions_initializer_ws: for MQTT 3.1.1 WebSockets - * - MQTTAsync_connectOptions_initializer5_ws: for MQTT 5.0 WebSockets - */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQTC. */ - char struct_id[4]; - /** The version number of this structure. Must be 0, 1, 2, 3 4 5 6, 7 or 8. - * 0 signifies no SSL options and no serverURIs - * 1 signifies no serverURIs - * 2 signifies no MQTTVersion - * 3 signifies no automatic reconnect options - * 4 signifies no binary password option (just string) - * 5 signifies no MQTTV5 properties - * 6 signifies no HTTP headers option - * 7 signifies no HTTP proxy and HTTPS proxy options - */ - int struct_version; - /** The "keep alive" interval, measured in seconds, defines the maximum time - * that should pass without communication between the client and the server - * The client will ensure that at least one message travels across the - * network within each keep alive period. In the absence of a data-related - * message during the time period, the client sends a very small MQTT - * "ping" message, which the server will acknowledge. The keep alive - * interval enables the client to detect when the server is no longer - * available without having to wait for the long TCP/IP timeout. - * Set to 0 if you do not want any keep alive processing. - */ - int keepAliveInterval; - /** - * This is a boolean value. The cleansession setting controls the behaviour - * of both the client and the server at connection and disconnection time. - * The client and server both maintain session state information. This - * information is used to ensure "at least once" and "exactly once" - * delivery, and "exactly once" receipt of messages. Session state also - * includes subscriptions created by an MQTT client. You can choose to - * maintain or discard state information between sessions. - * - * When cleansession is true, the state information is discarded at - * connect and disconnect. Setting cleansession to false keeps the state - * information. When you connect an MQTT client application with - * MQTTAsync_connect(), the client identifies the connection using the - * client identifier and the address of the server. The server checks - * whether session information for this client - * has been saved from a previous connection to the server. If a previous - * session still exists, and cleansession=true, then the previous session - * information at the client and server is cleared. If cleansession=false, - * the previous session is resumed. If no previous session exists, a new - * session is started. - */ - int cleansession; - /** - * This controls how many messages can be in-flight simultaneously. - */ - int maxInflight; - /** - * This is a pointer to an MQTTAsync_willOptions structure. If your - * application does not make use of the Last Will and Testament feature, - * set this pointer to NULL. - */ - MQTTAsync_willOptions* will; - /** - * MQTT servers that support the MQTT v3.1 protocol provide authentication - * and authorisation by user name and password. This is the user name - * parameter. - */ - const char* username; - /** - * MQTT servers that support the MQTT v3.1 protocol provide authentication - * and authorisation by user name and password. This is the password - * parameter. - */ - const char* password; - /** - * The time interval in seconds to allow a connect to complete. - */ - int connectTimeout; - /** - * The time interval in seconds after which unacknowledged publish requests are - * retried during a TCP session. With MQTT 3.1.1 and later, retries are - * not required except on reconnect. 0 turns off in-session retries, and is the - * recommended setting. Adding retries to an already overloaded network only - * exacerbates the problem. - */ - int retryInterval; - /** - * This is a pointer to an MQTTAsync_SSLOptions structure. If your - * application does not make use of SSL, set this pointer to NULL. - */ - MQTTAsync_SSLOptions* ssl; - /** - * A pointer to a callback function to be called if the connect successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onSuccess* onSuccess; - /** - * A pointer to a callback function to be called if the connect fails. - * Can be set to NULL, in which case no indication of unsuccessful - * completion will be received. - */ - MQTTAsync_onFailure* onFailure; - /** - * A pointer to any application-specific context. The - * the context pointer is passed to success or failure callback functions to - * provide access to the context information in the callback. - */ - void* context; - /** - * The number of entries in the serverURIs array. - */ - int serverURIcount; - /** - * An array of null-terminated strings specifying the servers to - * which the client will connect. Each string takes the form protocol://host:port. - * protocol must be tcp, ssl, ws or wss. - * The TLS enabled prefixes (ssl, wss) are only valid if a TLS version of the library - * is linked with. - * For host, you can - * specify either an IP address or a domain name. For instance, to connect to - * a server running on the local machines with the default MQTT port, specify - * tcp://localhost:1883. - */ - char* const* serverURIs; - /** - * Sets the version of MQTT to be used on the connect. - * MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if that fails, fall back to 3.1 - * MQTTVERSION_3_1 (3) = only try version 3.1 - * MQTTVERSION_3_1_1 (4) = only try version 3.1.1 - */ - int MQTTVersion; - /** - * Reconnect automatically in the case of a connection being lost. 0=false, 1=true - */ - int automaticReconnect; - /** - * The minimum automatic reconnect retry interval in seconds. Doubled on each failed retry. - */ - int minRetryInterval; - /** - * The maximum automatic reconnect retry interval in seconds. The doubling stops here on failed retries. - */ - int maxRetryInterval; - /** - * Optional binary password. Only checked and used if the password option is NULL - */ - struct { - int len; /**< binary password length */ - const void* data; /**< binary password data */ - } binarypwd; - /* - * MQTT V5 clean start flag. Only clears state at the beginning of the session. - */ - int cleanstart; - /** - * MQTT V5 properties for connect - */ - MQTTProperties *connectProperties; - /** - * MQTT V5 properties for the will message in the connect - */ - MQTTProperties *willProperties; - /** - * A pointer to a callback function to be called if the connect successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onSuccess5* onSuccess5; - /** - * A pointer to a callback function to be called if the connect fails. - * Can be set to NULL, in which case no indication of unsuccessful - * completion will be received. - */ - MQTTAsync_onFailure5* onFailure5; - /** - * HTTP headers for websockets - */ - const MQTTAsync_nameValue* httpHeaders; - /** - * HTTP proxy - */ - const char* httpProxy; - /** - * HTTPS proxy - */ - const char* httpsProxy; -} MQTTAsync_connectOptions; - -/** Initializer for connect options for MQTT 3.1.1 non-WebSocket connections */ -#define MQTTAsync_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 65535, NULL, NULL, NULL, 30, 0,\ -NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL} - -/** Initializer for connect options for MQTT 5.0 non-WebSocket connections */ -#define MQTTAsync_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 65535, NULL, NULL, NULL, 30, 0,\ -NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL} - -/** Initializer for connect options for MQTT 3.1.1 WebSockets connections. - * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. - */ -#define MQTTAsync_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 65535, NULL, NULL, NULL, 30, 0,\ -NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL} - -/** Initializer for connect options for MQTT 5.0 WebSockets connections. - * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. - */ -#define MQTTAsync_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 65535, NULL, NULL, NULL, 30, 0,\ -NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL} - - -/** - * This function attempts to connect a previously-created client (see - * MQTTAsync_create()) to an MQTT server using the specified options. If you - * want to enable asynchronous message and status notifications, you must call - * MQTTAsync_setCallbacks() prior to MQTTAsync_connect(). - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param options A pointer to a valid MQTTAsync_connectOptions - * structure. - * @return ::MQTTASYNC_SUCCESS if the client connect request was accepted. - * If the client was unable to connect to the server, an error code is - * returned via the onFailure callback, if set. - * Error codes greater than 0 are returned by the MQTT protocol:

- * 1: Connection refused: Unacceptable protocol version
- * 2: Connection refused: Identifier rejected
- * 3: Connection refused: Server unavailable
- * 4: Connection refused: Bad user name or password
- * 5: Connection refused: Not authorized
- * 6-255: Reserved for future use
- */ -LIBMQTT_API int MQTTAsync_connect(MQTTAsync handle, const MQTTAsync_connectOptions* options); - -/** Options for the ::MQTTAsync_disconnect call */ -typedef struct -{ - /** The eyecatcher for this structure. Must be MQTD. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 or 1. 0 signifies no V5 properties */ - int struct_version; - /** - * The client delays disconnection for up to this time (in - * milliseconds) in order to allow in-flight message transfers to complete. - */ - int timeout; - /** - * A pointer to a callback function to be called if the disconnect successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onSuccess* onSuccess; - /** - * A pointer to a callback function to be called if the disconnect fails. - * Can be set to NULL, in which case no indication of unsuccessful - * completion will be received. - */ - MQTTAsync_onFailure* onFailure; - /** - * A pointer to any application-specific context. The - * the context pointer is passed to success or failure callback functions to - * provide access to the context information in the callback. - */ - void* context; - /** - * MQTT V5 input properties - */ - MQTTProperties properties; - /** - * Reason code for MQTTV5 disconnect - */ - enum MQTTReasonCodes reasonCode; - /** - * A pointer to a callback function to be called if the disconnect successfully - * completes. Can be set to NULL, in which case no indication of successful - * completion will be received. - */ - MQTTAsync_onSuccess5* onSuccess5; - /** - * A pointer to a callback function to be called if the disconnect fails. - * Can be set to NULL, in which case no indication of unsuccessful - * completion will be received. - */ - MQTTAsync_onFailure5* onFailure5; -} MQTTAsync_disconnectOptions; - -#define MQTTAsync_disconnectOptions_initializer { {'M', 'Q', 'T', 'D'}, 0, 0, NULL, NULL, NULL,\ - MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL } - -#define MQTTAsync_disconnectOptions_initializer5 { {'M', 'Q', 'T', 'D'}, 1, 0, NULL, NULL, NULL,\ - MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL } - -/** - * This function attempts to disconnect the client from the MQTT - * server. In order to allow the client time to complete handling of messages - * that are in-flight when this function is called, a timeout period is - * specified. When the timeout period has expired, the client disconnects even - * if there are still outstanding message acknowledgements. - * The next time the client connects to the same server, any QoS 1 or 2 - * messages which have not completed will be retried depending on the - * cleansession settings for both the previous and the new connection (see - * MQTTAsync_connectOptions.cleansession and MQTTAsync_connect()). - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param options The client delays disconnection for up to this time (in - * milliseconds) in order to allow in-flight message transfers to complete. - * @return ::MQTTASYNC_SUCCESS if the client successfully disconnects from - * the server. An error code is returned if the client was unable to disconnect - * from the server - */ -LIBMQTT_API int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions* options); - - -/** - * This function allows the client application to test whether or not a - * client is currently connected to the MQTT server. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @return Boolean true if the client is connected, otherwise false. - */ -LIBMQTT_API int MQTTAsync_isConnected(MQTTAsync handle); - - -/** - * This function attempts to subscribe a client to a single topic, which may - * contain wildcards (see @ref wildcard). This call also specifies the - * @ref qos requested for the subscription - * (see also MQTTAsync_subscribeMany()). - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param topic The subscription topic, which may include wildcards. - * @param qos The requested quality of service for the subscription. - * @param response A pointer to a response options structure. Used to set callback functions. - * @return ::MQTTASYNC_SUCCESS if the subscription request is successful. - * An error code is returned if there was a problem registering the - * subscription. - */ -LIBMQTT_API int MQTTAsync_subscribe(MQTTAsync handle, const char* topic, int qos, MQTTAsync_responseOptions* response); - - -/** - * This function attempts to subscribe a client to a list of topics, which may - * contain wildcards (see @ref wildcard). This call also specifies the - * @ref qos requested for each topic (see also MQTTAsync_subscribe()). - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param count The number of topics for which the client is requesting - * subscriptions. - * @param topic An array (of length count) of pointers to - * topics, each of which may include wildcards. - * @param qos An array (of length count) of @ref qos - * values. qos[n] is the requested QoS for topic[n]. - * @param response A pointer to a response options structure. Used to set callback functions. - * @return ::MQTTASYNC_SUCCESS if the subscription request is successful. - * An error code is returned if there was a problem registering the - * subscriptions. - */ -LIBMQTT_API int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char* const* topic, const int* qos, MQTTAsync_responseOptions* response); - -/** - * This function attempts to remove an existing subscription made by the - * specified client. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param topic The topic for the subscription to be removed, which may - * include wildcards (see @ref wildcard). - * @param response A pointer to a response options structure. Used to set callback functions. - * @return ::MQTTASYNC_SUCCESS if the subscription is removed. - * An error code is returned if there was a problem removing the - * subscription. - */ -LIBMQTT_API int MQTTAsync_unsubscribe(MQTTAsync handle, const char* topic, MQTTAsync_responseOptions* response); - -/** - * This function attempts to remove existing subscriptions to a list of topics - * made by the specified client. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param count The number subscriptions to be removed. - * @param topic An array (of length count) of pointers to the topics of - * the subscriptions to be removed, each of which may include wildcards. - * @param response A pointer to a response options structure. Used to set callback functions. - * @return ::MQTTASYNC_SUCCESS if the subscriptions are removed. - * An error code is returned if there was a problem removing the subscriptions. - */ -LIBMQTT_API int MQTTAsync_unsubscribeMany(MQTTAsync handle, int count, char* const* topic, MQTTAsync_responseOptions* response); - - -/** - * This function attempts to publish a message to a given topic (see also - * ::MQTTAsync_sendMessage()). An ::MQTTAsync_token is issued when - * this function returns successfully if the QoS is greater than 0. - * If the client application needs to - * test for successful delivery of messages, a callback should be set - * (see ::MQTTAsync_onSuccess() and ::MQTTAsync_deliveryComplete()). - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param destinationName The topic associated with this message. - * @param payloadlen The length of the payload in bytes. - * @param payload A pointer to the byte array payload of the message. - * @param qos The @ref qos of the message. - * @param retained The retained flag for the message. - * @param response A pointer to an ::MQTTAsync_responseOptions structure. Used to set callback functions. - * This is optional and can be set to NULL. - * @return ::MQTTASYNC_SUCCESS if the message is accepted for publication. - * An error code is returned if there was a problem accepting the message. - */ -LIBMQTT_API int MQTTAsync_send(MQTTAsync handle, const char* destinationName, int payloadlen, const void* payload, int qos, - int retained, MQTTAsync_responseOptions* response); - -/** - * This function attempts to publish a message to a given topic (see also - * MQTTAsync_publish()). An ::MQTTAsync_token is issued when - * this function returns successfully if the QoS is greater than 0. - * If the client application needs to - * test for successful delivery of messages, a callback should be set - * (see ::MQTTAsync_onSuccess() and ::MQTTAsync_deliveryComplete()). - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param destinationName The topic associated with this message. - * @param msg A pointer to a valid MQTTAsync_message structure containing - * the payload and attributes of the message to be published. - * @param response A pointer to an ::MQTTAsync_responseOptions structure. Used to set callback functions. - * @return ::MQTTASYNC_SUCCESS if the message is accepted for publication. - * An error code is returned if there was a problem accepting the message. - */ -LIBMQTT_API int MQTTAsync_sendMessage(MQTTAsync handle, const char* destinationName, const MQTTAsync_message* msg, MQTTAsync_responseOptions* response); - - -/** - * This function sets a pointer to an array of tokens for - * messages that are currently in-flight (pending completion). - * - * Important note: The memory used to hold the array of tokens is - * malloc()'d in this function. The client application is responsible for - * freeing this memory when it is no longer required. - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param tokens The address of a pointer to an ::MQTTAsync_token. - * When the function returns successfully, the pointer is set to point to an - * array of tokens representing messages pending completion. The last member of - * the array is set to -1 to indicate there are no more tokens. If no tokens - * are pending, the pointer is set to NULL. - * @return ::MQTTASYNC_SUCCESS if the function returns successfully. - * An error code is returned if there was a problem obtaining the list of - * pending tokens. - */ -LIBMQTT_API int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens); - -/** - * Tests whether a request corresponding to a token is complete. - * - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param token An ::MQTTAsync_token associated with a request. - * @return 1 if the request has been completed, 0 if not. - */ -#define MQTTASYNC_TRUE 1 -LIBMQTT_API int MQTTAsync_isComplete(MQTTAsync handle, MQTTAsync_token token); - - -/** - * Waits for a request corresponding to a token to complete. This only works for - * messages with QoS greater than 0. A QoS 0 message has no MQTT token. - * This function will always return ::MQTTASYNC_SUCCESS for a QoS 0 message. - * - * @param handle A valid client handle from a successful call to - * MQTTAsync_create(). - * @param token An ::MQTTAsync_token associated with a request. - * @param timeout the maximum time to wait for completion, in milliseconds - * @return ::MQTTASYNC_SUCCESS if the request has been completed in the time allocated, - * ::MQTTASYNC_FAILURE or ::MQTTASYNC_DISCONNECTED if not. - */ -LIBMQTT_API int MQTTAsync_waitForCompletion(MQTTAsync handle, MQTTAsync_token token, unsigned long timeout); - - -/** - * This function frees memory allocated to an MQTT message, including the - * additional memory allocated to the message payload. The client application - * calls this function when the message has been fully processed. Important - * note: This function does not free the memory allocated to a message - * topic string. It is the responsibility of the client application to free - * this memory using the MQTTAsync_free() library function. - * @param msg The address of a pointer to the ::MQTTAsync_message structure - * to be freed. - */ -LIBMQTT_API void MQTTAsync_freeMessage(MQTTAsync_message** msg); - -/** - * This function frees memory allocated by the MQTT C client library, especially the - * topic name. This is needed on Windows when the client library and application - * program have been compiled with different versions of the C compiler. It is - * thus good policy to always use this function when freeing any MQTT C client- - * allocated memory. - * @param ptr The pointer to the client library storage to be freed. - */ -LIBMQTT_API void MQTTAsync_free(void* ptr); - -/** - * This function is used to allocate memory to be used or freed by the MQTT C client library, - * especially the data in the ::MQTTPersistence_afterRead and ::MQTTPersistence_beforeWrite - * callbacks. This is needed on Windows when the client library and application - * program have been compiled with different versions of the C compiler. - * @param size The size of the memory to be allocated. - */ -LIBMQTT_API void* MQTTAsync_malloc(size_t size); - -/** - * This function frees the memory allocated to an MQTT client (see - * MQTTAsync_create()). It should be called when the client is no longer - * required. - * @param handle A pointer to the handle referring to the ::MQTTAsync - * structure to be freed. - */ -LIBMQTT_API void MQTTAsync_destroy(MQTTAsync* handle); - - - -enum MQTTASYNC_TRACE_LEVELS -{ - MQTTASYNC_TRACE_MAXIMUM = 1, - MQTTASYNC_TRACE_MEDIUM, - MQTTASYNC_TRACE_MINIMUM, - MQTTASYNC_TRACE_PROTOCOL, - MQTTASYNC_TRACE_ERROR, - MQTTASYNC_TRACE_SEVERE, - MQTTASYNC_TRACE_FATAL, -}; - - -/** - * This function sets the level of trace information which will be - * returned in the trace callback. - * @param level the trace level required - */ -LIBMQTT_API void MQTTAsync_setTraceLevel(enum MQTTASYNC_TRACE_LEVELS level); - - -/** - * This is a callback function prototype which must be implemented if you want - * to receive trace information. Do not invoke any other Paho API calls in this - * callback function - unpredictable behavior may result. - * @param level the trace level of the message returned - * @param message the trace message. This is a pointer to a static buffer which - * will be overwritten on each call. You must copy the data if you want to keep - * it for later. - */ -typedef void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char* message); - -/** - * This function sets the trace callback if needed. If set to NULL, - * no trace information will be returned. The default trace level is - * MQTTASYNC_TRACE_MINIMUM. - * @param callback a pointer to the function which will handle the trace information - */ -LIBMQTT_API void MQTTAsync_setTraceCallback(MQTTAsync_traceCallback* callback); - -/** - * This function returns version information about the library. - * no trace information will be returned. The default trace level is - * MQTTASYNC_TRACE_MINIMUM - * @return an array of strings describing the library. The last entry is a NULL pointer. - */ -LIBMQTT_API MQTTAsync_nameValue* MQTTAsync_getVersionInfo(void); - -/** - * Returns a pointer to a string representation of the error code, or NULL. - * Do not free after use. Returns NULL if the error code is unknown. - * @param code the MQTTASYNC_ return code. - * @return a static string representation of the error code. - */ -LIBMQTT_API const char* MQTTAsync_strerror(int code); - - -/*! - * @cond MQTTAsync_main - * @page async Threading - * The client application runs on several threads. - * Processing of handshaking and maintaining - * the network connection is performed in the background. - * This API is thread safe: functions may be called by multiple application - * threads. - * Notifications of status and message reception are provided to the client - * application using callbacks registered with the library by the call to - * MQTTAsync_setCallbacks() (see MQTTAsync_messageArrived(), - * MQTTAsync_connectionLost() and MQTTAsync_deliveryComplete()). - * In addition, some functions allow success and failure callbacks to be set - * for individual requests, in the ::MQTTAsync_responseOptions structure. Applications - * can be written as a chain of callback functions. - * - * @page callbacks Callbacks - * Any function from this API may be used within a callback. It is not advisable to - * use ::MQTTAsync_waitForCompletion within a callback, however, as it is the only - * API call that may take some time to complete, which may cause unpredictable - * behaviour. All the other API calls are intended to complete quickly, starting - * a request in the background, with success or failure notified by other callbacks. - * - * If no callbacks are assigned, this will include the message arrived callback. - * This could be done if the application is a pure publisher, and does - * not subscribe to any topics. If however messages are received, and no message - * arrived callback is set, then those messages will accumulate - * and take up memory, as there is no place for them to be delivered. - * A log message will be written to highlight the issue, but it is up - * to the application to protect against this situation. - * - * @page auto_reconnect Automatic Reconnect - * The ability for the client library to reconnect automatically in the event - * of a connection failure was added in 1.1. The connection lost callback - * allows a flexible response to the loss of a connection, so almost any - * behaviour can be implemented in that way. Automatic reconnect does have the - * advantage of being a little simpler to use. - * - * To switch on automatic reconnect, the connect options field - * automaticReconnect should be set to non-zero. The minimum and maximum times - * before the next connection attempt can also be set, the defaults being 1 and - * 60 seconds. At each failure to reconnect, the retry interval is doubled until - * the maximum value is reached, and there it stays until the connection is - * successfully re-established whereupon it is reset. - * - * When a reconnection attempt is successful, the ::MQTTAsync_connected callback - * function is invoked, if set by calling ::MQTTAsync_setConnected. This allows - * the application to take any actions needed, such as amending subscriptions. - * - * @page offline_publish Publish While Disconnected - * This feature was not originally available because with persistence enabled, - * messages could be stored locally without ever knowing if they could be sent. - * The client application could have created the client with an erroneous broker - * address or port for instance. - * - * To enable messages to be published when the application is disconnected - * ::MQTTAsync_createWithOptions must be used instead of ::MQTTAsync_create to - * create the client object. The ::MQTTAsync_createOptions field sendWhileDisconnected - * must be set to non-zero, and the maxBufferedMessages field set as required - - * the default being 100. - * - * ::MQTTAsync_getPendingTokens can be called to return the ids of the messages - * waiting to be sent, or for which the sending process has not completed. - * - * @page wildcard Subscription wildcards - * Every MQTT message includes a topic that classifies it. MQTT servers use - * topics to determine which subscribers should receive messages published to - * the server. - * - * Consider the server receiving messages from several environmental sensors. - * Each sensor publishes its measurement data as a message with an associated - * topic. Subscribing applications need to know which sensor originally - * published each received message. A unique topic is thus used to identify - * each sensor and measurement type. Topics such as SENSOR1TEMP, - * SENSOR1HUMIDITY, SENSOR2TEMP and so on achieve this but are not very - * flexible. If additional sensors are added to the system at a later date, - * subscribing applications must be modified to receive them. - * - * To provide more flexibility, MQTT supports a hierarchical topic namespace. - * This allows application designers to organize topics to simplify their - * management. Levels in the hierarchy are delimited by the '/' character, - * such as SENSOR/1/HUMIDITY. Publishers and subscribers use these - * hierarchical topics as already described. - * - * For subscriptions, two wildcard characters are supported: - *
    - *
  • A '#' character represents a complete sub-tree of the hierarchy and - * thus must be the last character in a subscription topic string, such as - * SENSOR/#. This will match any topic starting with SENSOR/, such as - * SENSOR/1/TEMP and SENSOR/2/HUMIDITY.
  • - *
  • A '+' character represents a single level of the hierarchy and is - * used between delimiters. For example, SENSOR/+/TEMP will match - * SENSOR/1/TEMP and SENSOR/2/TEMP.
  • - *
- * Publishers are not allowed to use the wildcard characters in their topic - * names. - * - * Deciding on your topic hierarchy is an important step in your system design. - * - * @page qos Quality of service - * The MQTT protocol provides three qualities of service for delivering - * messages between clients and servers: "at most once", "at least once" and - * "exactly once". - * - * Quality of service (QoS) is an attribute of an individual message being - * published. An application sets the QoS for a specific message by setting the - * MQTTAsync_message.qos field to the required value. - * - * A subscribing client can set the maximum quality of service a server uses - * to send messages that match the client subscriptions. The - * MQTTAsync_subscribe() and MQTTAsync_subscribeMany() functions set this - * maximum. The QoS of a message forwarded to a subscriber thus might be - * different to the QoS given to the message by the original publisher. - * The lower of the two values is used to forward a message. - * - * The three levels are: - * - * QoS0, At most once: The message is delivered at most once, or it - * may not be delivered at all. Its delivery across the network is not - * acknowledged. The message is not stored. The message could be lost if the - * client is disconnected, or if the server fails. QoS0 is the fastest mode of - * transfer. It is sometimes called "fire and forget". - * - * The MQTT protocol does not require servers to forward publications at QoS0 - * to a client. If the client is disconnected at the time the server receives - * the publication, the publication might be discarded, depending on the - * server implementation. - * - * QoS1, At least once: The message is always delivered at least once. - * It might be delivered multiple times if there is a failure before an - * acknowledgment is received by the sender. The message must be stored - * locally at the sender, until the sender receives confirmation that the - * message has been published by the receiver. The message is stored in case - * the message must be sent again. - * - * QoS2, Exactly once: The message is always delivered exactly once. - * The message must be stored locally at the sender, until the sender receives - * confirmation that the message has been published by the receiver. The - * message is stored in case the message must be sent again. QoS2 is the - * safest, but slowest mode of transfer. A more sophisticated handshaking - * and acknowledgement sequence is used than for QoS1 to ensure no duplication - * of messages occurs. - * @page publish Publication example -@code -#include -#include -#include -#include "MQTTAsync.h" - -#if !defined(_WIN32) -#include -#else -#include -#endif - -#if defined(_WRS_KERNEL) -#include -#endif - -#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" -#define CLIENTID "ExampleClientPub" -#define TOPIC "MQTT Examples" -#define PAYLOAD "Hello World!" -#define QOS 1 -#define TIMEOUT 10000L - -int finished = 0; - -void connlost(void *context, char *cause) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; - int rc; - - printf("\nConnection lost\n"); - printf(" cause: %s\n", cause); - - printf("Reconnecting\n"); - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start connect, return code %d\n", rc); - finished = 1; - } -} - -void onDisconnectFailure(void* context, MQTTAsync_failureData* response) -{ - printf("Disconnect failed\n"); - finished = 1; -} - -void onDisconnect(void* context, MQTTAsync_successData* response) -{ - printf("Successful disconnection\n"); - finished = 1; -} - -void onSendFailure(void* context, MQTTAsync_failureData* response) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; - int rc; - - printf("Message send failed token %d error code %d\n", response->token, response->code); - opts.onSuccess = onDisconnect; - opts.onFailure = onDisconnectFailure; - opts.context = client; - if ((rc = MQTTAsync_disconnect(client, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start disconnect, return code %d\n", rc); - exit(EXIT_FAILURE); - } -} - -void onSend(void* context, MQTTAsync_successData* response) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; - int rc; - - printf("Message with token value %d delivery confirmed\n", response->token); - opts.onSuccess = onDisconnect; - opts.onFailure = onDisconnectFailure; - opts.context = client; - if ((rc = MQTTAsync_disconnect(client, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start disconnect, return code %d\n", rc); - exit(EXIT_FAILURE); - } -} - - -void onConnectFailure(void* context, MQTTAsync_failureData* response) -{ - printf("Connect failed, rc %d\n", response ? response->code : 0); - finished = 1; -} - - -void onConnect(void* context, MQTTAsync_successData* response) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; - MQTTAsync_message pubmsg = MQTTAsync_message_initializer; - int rc; - - printf("Successful connection\n"); - opts.onSuccess = onSend; - opts.onFailure = onSendFailure; - opts.context = client; - pubmsg.payload = PAYLOAD; - pubmsg.payloadlen = (int)strlen(PAYLOAD); - pubmsg.qos = QOS; - pubmsg.retained = 0; - if ((rc = MQTTAsync_sendMessage(client, TOPIC, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start sendMessage, return code %d\n", rc); - exit(EXIT_FAILURE); - } -} - -int messageArrived(void* context, char* topicName, int topicLen, MQTTAsync_message* m) -{ - // not expecting any messages - return 1; -} - -int main(int argc, char* argv[]) -{ - MQTTAsync client; - MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; - int rc; - - if ((rc = MQTTAsync_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTASYNC_SUCCESS) - { - printf("Failed to create client object, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - if ((rc = MQTTAsync_setCallbacks(client, NULL, connlost, messageArrived, NULL)) != MQTTASYNC_SUCCESS) - { - printf("Failed to set callback, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - conn_opts.onSuccess = onConnect; - conn_opts.onFailure = onConnectFailure; - conn_opts.context = client; - if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start connect, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - printf("Waiting for publication of %s\n" - "on topic %s for client with ClientID: %s\n", - PAYLOAD, TOPIC, CLIENTID); - while (!finished) - #if defined(_WIN32) - Sleep(100); - #else - usleep(10000L); - #endif - - MQTTAsync_destroy(&client); - return rc; -} - - * @endcode - * @page subscribe Subscription example -@code -#include -#include -#include -#include "MQTTAsync.h" - -#if !defined(_WIN32) -#include -#else -#include -#endif - -#if defined(_WRS_KERNEL) -#include -#endif - -#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" -#define CLIENTID "ExampleClientSub" -#define TOPIC "MQTT Examples" -#define PAYLOAD "Hello World!" -#define QOS 1 -#define TIMEOUT 10000L - -int disc_finished = 0; -int subscribed = 0; -int finished = 0; - -void connlost(void *context, char *cause) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; - int rc; - - printf("\nConnection lost\n"); - if (cause) - printf(" cause: %s\n", cause); - - printf("Reconnecting\n"); - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start connect, return code %d\n", rc); - finished = 1; - } -} - - -int msgarrvd(void *context, char *topicName, int topicLen, MQTTAsync_message *message) -{ - printf("Message arrived\n"); - printf(" topic: %s\n", topicName); - printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); - MQTTAsync_freeMessage(&message); - MQTTAsync_free(topicName); - return 1; -} - -void onDisconnectFailure(void* context, MQTTAsync_failureData* response) -{ - printf("Disconnect failed, rc %d\n", response->code); - disc_finished = 1; -} - -void onDisconnect(void* context, MQTTAsync_successData* response) -{ - printf("Successful disconnection\n"); - disc_finished = 1; -} - -void onSubscribe(void* context, MQTTAsync_successData* response) -{ - printf("Subscribe succeeded\n"); - subscribed = 1; -} - -void onSubscribeFailure(void* context, MQTTAsync_failureData* response) -{ - printf("Subscribe failed, rc %d\n", response->code); - finished = 1; -} - - -void onConnectFailure(void* context, MQTTAsync_failureData* response) -{ - printf("Connect failed, rc %d\n", response->code); - finished = 1; -} - - -void onConnect(void* context, MQTTAsync_successData* response) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; - int rc; - - printf("Successful connection\n"); - - printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" - "Press Q to quit\n\n", TOPIC, CLIENTID, QOS); - opts.onSuccess = onSubscribe; - opts.onFailure = onSubscribeFailure; - opts.context = client; - if ((rc = MQTTAsync_subscribe(client, TOPIC, QOS, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start subscribe, return code %d\n", rc); - finished = 1; - } -} - - -int main(int argc, char* argv[]) -{ - MQTTAsync client; - MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; - MQTTAsync_disconnectOptions disc_opts = MQTTAsync_disconnectOptions_initializer; - int rc; - int ch; - - if ((rc = MQTTAsync_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL)) - != MQTTASYNC_SUCCESS) - { - printf("Failed to create client, return code %d\n", rc); - rc = EXIT_FAILURE; - goto exit; - } - - if ((rc = MQTTAsync_setCallbacks(client, client, connlost, msgarrvd, NULL)) != MQTTASYNC_SUCCESS) - { - printf("Failed to set callbacks, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - conn_opts.onSuccess = onConnect; - conn_opts.onFailure = onConnectFailure; - conn_opts.context = client; - if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start connect, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - - while (!subscribed && !finished) - #if defined(_WIN32) - Sleep(100); - #else - usleep(10000L); - #endif - - if (finished) - goto exit; - - do - { - ch = getchar(); - } while (ch!='Q' && ch != 'q'); - - disc_opts.onSuccess = onDisconnect; - disc_opts.onFailure = onDisconnectFailure; - if ((rc = MQTTAsync_disconnect(client, &disc_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start disconnect, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - while (!disc_finished) - { - #if defined(_WIN32) - Sleep(100); - #else - usleep(10000L); - #endif - } - -destroy_exit: - MQTTAsync_destroy(&client); -exit: - return rc; -} - - * @endcode -* @page tracing Tracing - * - * Runtime tracing can be controlled by environment variables or API calls. - * - * #### Environment variables - * - * Tracing is switched on by setting the MQTT_C_CLIENT_TRACE environment variable. - * A value of ON, or stdout, prints to stdout, any other value is interpreted as a file name to use. - * - * The amount of trace detail is controlled with the MQTT_C_CLIENT_TRACE_LEVEL environment - * variable - valid values are ERROR, PROTOCOL, MINIMUM, MEDIUM and MAXIMUM - * (from least to most verbose). - * - * The variable MQTT_C_CLIENT_TRACE_MAX_LINES limits the number of lines of trace that are output - * to a file. Two files are used at most, when they are full, the last one is overwritten with the - * new trace entries. The default size is 1000 lines. - * - * #### Trace API calls - * - * MQTTAsync_traceCallback() is used to set a callback function which is called whenever trace - * information is available. This will be the same information as that printed if the - * environment variables were used to control the trace. - * - * The MQTTAsync_setTraceLevel() calls is used to set the maximum level of trace entries that will be - * passed to the callback function. The levels are: - * 1. ::MQTTASYNC_TRACE_MAXIMUM - * 2. ::MQTTASYNC_TRACE_MEDIUM - * 3. ::MQTTASYNC_TRACE_MINIMUM - * 4. ::MQTTASYNC_TRACE_PROTOCOL - * 5. ::MQTTASYNC_TRACE_ERROR - * 6. ::MQTTASYNC_TRACE_SEVERE - * 7. ::MQTTASYNC_TRACE_FATAL - * - * Selecting ::MQTTASYNC_TRACE_MAXIMUM will cause all trace entries at all levels to be returned. - * Choosing ::MQTTASYNC_TRACE_ERROR will cause ERROR, SEVERE and FATAL trace entries to be returned - * to the callback function. - * - * ### MQTT Packet Tracing - * - * A feature that can be very useful is printing the MQTT packets that are sent and received. To - * achieve this, use the following environment variable settings: - * @code - MQTT_C_CLIENT_TRACE=ON - MQTT_C_CLIENT_TRACE_LEVEL=PROTOCOL - * @endcode - * The output you should see looks like this: - * @code - 20130528 155936.813 3 stdout-subscriber -> CONNECT cleansession: 1 (0) - 20130528 155936.813 3 stdout-subscriber <- CONNACK rc: 0 - 20130528 155936.813 3 stdout-subscriber -> SUBSCRIBE msgid: 1 (0) - 20130528 155936.813 3 stdout-subscriber <- SUBACK msgid: 1 - 20130528 155941.818 3 stdout-subscriber -> DISCONNECT (0) - * @endcode - * where the fields are: - * 1. date - * 2. time - * 3. socket number - * 4. client id - * 5. direction (-> from client to server, <- from server to client) - * 6. packet details - * - * ### Default Level Tracing - * - * This is an extract of a default level trace of a call to connect: - * @code - 19700101 010000.000 (1152206656) (0)> MQTTClient_connect:893 - 19700101 010000.000 (1152206656) (1)> MQTTClient_connectURI:716 - 20130528 160447.479 Connecting to serverURI localhost:1883 - 20130528 160447.479 (1152206656) (2)> MQTTProtocol_connect:98 - 20130528 160447.479 (1152206656) (3)> MQTTProtocol_addressPort:48 - 20130528 160447.479 (1152206656) (3)< MQTTProtocol_addressPort:73 - 20130528 160447.479 (1152206656) (3)> Socket_new:599 - 20130528 160447.479 New socket 4 for localhost, port 1883 - 20130528 160447.479 (1152206656) (4)> Socket_addSocket:163 - 20130528 160447.479 (1152206656) (5)> Socket_setnonblocking:73 - 20130528 160447.479 (1152206656) (5)< Socket_setnonblocking:78 (0) - 20130528 160447.479 (1152206656) (4)< Socket_addSocket:176 (0) - 20130528 160447.479 (1152206656) (4)> Socket_error:95 - 20130528 160447.479 (1152206656) (4)< Socket_error:104 (115) - 20130528 160447.479 Connect pending - 20130528 160447.479 (1152206656) (3)< Socket_new:683 (115) - 20130528 160447.479 (1152206656) (2)< MQTTProtocol_connect:131 (115) - * @endcode - * where the fields are: - * 1. date - * 2. time - * 3. thread id - * 4. function nesting level - * 5. function entry (>) or exit (<) - * 6. function name : line of source code file - * 7. return value (if there is one) - * - * ### Memory Allocation Tracing - * - * Setting the trace level to maximum causes memory allocations and frees to be traced along with - * the default trace entries, with messages like the following: - * @code - 20130528 161819.657 Allocating 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 177 ptr 0x179f930 - - 20130528 161819.657 Freeing 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 201, heap use now 896 bytes - * @endcode - * When the last MQTT client object is destroyed, if the trace is being recorded - * and all memory allocated by the client library has not been freed, an error message will be - * written to the trace. This can help with fixing memory leaks. The message will look like this: - * @code - 20130528 163909.208 Some memory not freed at shutdown, possible memory leak - 20130528 163909.208 Heap scan start, total 880 bytes - 20130528 163909.208 Heap element size 32, line 354, file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c, ptr 0x260cb00 - 20130528 163909.208 Content - 20130528 163909.209 Heap scan end - * @endcode - * @endcond - */ - -#if defined(__cplusplus) - } -#endif - -#endif diff --git a/MQTTClient.h b/MQTTClient.h deleted file mode 100644 index a5dc7f2..0000000 --- a/MQTTClient.h +++ /dev/null @@ -1,1980 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2023 IBM Corp., Ian Craggs and others - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Ian Craggs - initial API and implementation and/or initial documentation - * Ian Craggs, Allan Stockdill-Mander - SSL updates - * Ian Craggs - multiple server connection support - * Ian Craggs - MQTT 3.1.1 support - * Ian Craggs - remove const from eyecatchers #168 - *******************************************************************************/ - -/** - * @cond MQTTClient_internal - * @mainpage MQTT Client Library Internals - * In the beginning there was one MQTT C client library, MQTTClient, as implemented in MQTTClient.c - * This library was designed to be easy to use for applications which didn't mind if some of the calls - * blocked for a while. For instance, the MQTTClient_connect call will block until a successful - * connection has completed, or a connection has failed, which could be as long as the "connection - * timeout" interval, whose default is 30 seconds. - * - * However in mobile devices and other windowing environments, blocking on the GUI thread is a bad - * thing as it causes the user interface to freeze. Hence a new API, MQTTAsync, implemented - * in MQTTAsync.c, was devised. There are no blocking calls in this library, so it is well suited - * to GUI and mobile environments, at the expense of some extra complexity. - * - * Both libraries are designed to be sparing in the use of threads. So multiple client objects are - * handled by one or two threads, with a select call in Socket_getReadySocket(), used to determine - * when a socket has incoming data. This API is thread safe: functions may be called by multiple application - * threads, with the exception of ::MQTTClient_yield and ::MQTTClient_receive, which are intended - * for single threaded environments only. - * - * @endcond - * @cond MQTTClient_main - * @mainpage MQTT Client library for C (MQTTClient) - * © Copyright 2009, 2023 IBM Corp., Ian Craggs and others - * - * @brief An MQTT client library in C. - * - * These pages describe the original more synchronous API which might be - * considered easier to use. Some of the calls will block. For the new - * totally asynchronous API where no calls block, which is especially suitable - * for use in windowed environments, see the - *
MQTT C Client Asynchronous API Documentation. - * The MQTTClient API is not thread safe, whereas the MQTTAsync API is. - * - * An MQTT client application connects to MQTT-capable servers. - * A typical client is responsible for collecting information from a telemetry - * device and publishing the information to the server. It can also subscribe - * to topics, receive messages, and use this information to control the - * telemetry device. - * - * MQTT clients implement the published MQTT v3 protocol. You can write your own - * API to the MQTT protocol using the programming language and platform of your - * choice. This can be time-consuming and error-prone. - * - * To simplify writing MQTT client applications, this library encapsulates - * the MQTT v3 protocol for you. Using this library enables a fully functional - * MQTT client application to be written in a few lines of code. - * The information presented here documents the API provided - * by the MQTT Client library for C. - * - * Using the client
- * Applications that use the client library typically use a similar structure: - *
    - *
  • Create a client object
  • - *
  • Set the options to connect to an MQTT server
  • - *
  • Set up callback functions if multi-threaded (asynchronous mode) - * operation is being used (see @ref async).
  • - *
  • Subscribe to any topics the client needs to receive
  • - *
  • Repeat until finished:
  • - *
      - *
    • Publish any messages the client needs to
    • - *
    • Handle any incoming messages
    • - *
    - *
  • Disconnect the client
  • - *
  • Free any memory being used by the client
  • - *
- * Some simple examples are shown here: - *
    - *
  • @ref pubsync
  • - *
  • @ref pubasync
  • - *
  • @ref subasync
  • - *
- * Additional information about important concepts is provided here: - *
    - *
  • @ref async
  • - *
  • @ref callbacks
  • - *
  • @ref wildcard
  • - *
  • @ref qos
  • - *
  • @ref tracing
  • - *
- * @endcond - */ - -/* -/// @cond EXCLUDE -*/ -#if !defined(MQTTCLIENT_H) -#define MQTTCLIENT_H - -#if defined(__cplusplus) - extern "C" { -#endif - -#include -/* -/// @endcond -*/ - -#include "MQTTExportDeclarations.h" - -#include "MQTTProperties.h" -#include "MQTTReasonCodes.h" -#include "MQTTSubscribeOpts.h" -#if !defined(NO_PERSISTENCE) -#include "MQTTClientPersistence.h" -#endif - -/** - * Return code: No error. Indicates successful completion of an MQTT client - * operation. - */ -#define MQTTCLIENT_SUCCESS 0 -/** - * Return code: A generic error code indicating the failure of an MQTT client - * operation. - */ -#define MQTTCLIENT_FAILURE -1 - -/* error code -2 is MQTTCLIENT_PERSISTENCE_ERROR */ - -/** - * Return code: The client is disconnected. - */ -#define MQTTCLIENT_DISCONNECTED -3 -/** - * Return code: The maximum number of messages allowed to be simultaneously - * in-flight has been reached. - */ -#define MQTTCLIENT_MAX_MESSAGES_INFLIGHT -4 -/** - * Return code: An invalid UTF-8 string has been detected. - */ -#define MQTTCLIENT_BAD_UTF8_STRING -5 -/** - * Return code: A NULL parameter has been supplied when this is invalid. - */ -#define MQTTCLIENT_NULL_PARAMETER -6 -/** - * Return code: The topic has been truncated (the topic string includes - * embedded NULL characters). String functions will not access the full topic. - * Use the topic length value to access the full topic. - */ -#define MQTTCLIENT_TOPICNAME_TRUNCATED -7 -/** - * Return code: A structure parameter does not have the correct eyecatcher - * and version number. - */ -#define MQTTCLIENT_BAD_STRUCTURE -8 -/** - * Return code: A QoS value that falls outside of the acceptable range (0,1,2) - */ -#define MQTTCLIENT_BAD_QOS -9 -/** - * Return code: Attempting SSL connection using non-SSL version of library - */ -#define MQTTCLIENT_SSL_NOT_SUPPORTED -10 - /** - * Return code: unrecognized MQTT version - */ - #define MQTTCLIENT_BAD_MQTT_VERSION -11 -/** - * Return code: protocol prefix in serverURI should be: - * @li @em tcp:// or @em mqtt:// - Insecure TCP - * @li @em ssl:// or @em mqtts:// - Encrypted SSL/TLS - * @li @em ws:// - Insecure websockets - * @li @em wss:// - Secure web sockets - * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS - * version of the library is linked with. - */ -#define MQTTCLIENT_BAD_PROTOCOL -14 - /** - * Return code: option not applicable to the requested version of MQTT - */ - #define MQTTCLIENT_BAD_MQTT_OPTION -15 - /** - * Return code: call not applicable to the requested version of MQTT - */ - #define MQTTCLIENT_WRONG_MQTT_VERSION -16 - /** - * Return code: 0 length will topic on connect - */ - #define MQTTCLIENT_0_LEN_WILL_TOPIC -17 - - -/** - * Default MQTT version to connect with. Use 3.1.1 then fall back to 3.1 - */ -#define MQTTVERSION_DEFAULT 0 -/** - * MQTT version to connect with: 3.1 - */ -#define MQTTVERSION_3_1 3 -/** - * MQTT version to connect with: 3.1.1 - */ -#define MQTTVERSION_3_1_1 4 - /** - * MQTT version to connect with: 5 - */ - #define MQTTVERSION_5 5 -/** - * Bad return code from subscribe, as defined in the 3.1.1 specification - */ -#define MQTT_BAD_SUBSCRIBE 0x80 - -/** - * Initialization options - */ -typedef struct -{ - /** The eyecatcher for this structure. Must be MQTG. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 */ - int struct_version; - /** 1 = we do openssl init, 0 = leave it to the application */ - int do_openssl_init; -} MQTTClient_init_options; - -#define MQTTClient_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 } - -/** - * Global init of mqtt library. Call once on program start to set global behaviour. - * do_openssl_init - if mqtt library should initialize OpenSSL (1) or rely on the caller to do it before using the library (0) - */ -LIBMQTT_API void MQTTClient_global_init(MQTTClient_init_options* inits); - -/** - * A handle representing an MQTT client. A valid client handle is available - * following a successful call to MQTTClient_create(). - */ -typedef void* MQTTClient; -/** - * A value representing an MQTT message. A delivery token is returned to the - * client application when a message is published. The token can then be used to - * check that the message was successfully delivered to its destination (see - * MQTTClient_publish(), - * MQTTClient_publishMessage(), - * MQTTClient_deliveryComplete(), - * MQTTClient_waitForCompletion() and - * MQTTClient_getPendingDeliveryTokens()). - */ -typedef int MQTTClient_deliveryToken; -typedef int MQTTClient_token; - -/** - * A structure representing the payload and attributes of an MQTT message. The - * message topic is not part of this structure (see MQTTClient_publishMessage(), - * MQTTClient_publish(), MQTTClient_receive(), MQTTClient_freeMessage() - * and MQTTClient_messageArrived()). - */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQTM. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 or 1 - * 0 indicates no message properties */ - int struct_version; - /** The length of the MQTT message payload in bytes. */ - int payloadlen; - /** A pointer to the payload of the MQTT message. */ - void* payload; - /** - * The quality of service (QoS) assigned to the message. - * There are three levels of QoS: - *
- *
QoS0
- *
Fire and forget - the message may not be delivered
- *
QoS1
- *
At least once - the message will be delivered, but may be - * delivered more than once in some circumstances.
- *
QoS2
- *
Once and one only - the message will be delivered exactly once.
- *
- */ - int qos; - /** - * The retained flag serves two purposes depending on whether the message - * it is associated with is being published or received. - * - * retained = true
- * For messages being published, a true setting indicates that the MQTT - * server should retain a copy of the message. The message will then be - * transmitted to new subscribers to a topic that matches the message topic. - * For subscribers registering a new subscription, the flag being true - * indicates that the received message is not a new one, but one that has - * been retained by the MQTT server. - * - * retained = false
- * For publishers, this indicates that this message should not be retained - * by the MQTT server. For subscribers, a false setting indicates this is - * a normal message, received as a result of it being published to the - * server. - */ - int retained; - /** - * The dup flag indicates whether or not this message is a duplicate. - * It is only meaningful when receiving QoS1 messages. When true, the - * client application should take appropriate action to deal with the - * duplicate message. - */ - int dup; - /** The message identifier is normally reserved for internal use by the - * MQTT client and server. - */ - int msgid; - /** - * The MQTT V5 properties associated with the message. - */ - MQTTProperties properties; -} MQTTClient_message; - -#define MQTTClient_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer } - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * receipt of messages. The function is registered with the client library by - * passing it as an argument to MQTTClient_setCallbacks(). It is - * called by the client library when a new message that matches a client - * subscription has been received from the server. This function is executed on - * a separate thread to the one on which the client application is running. - * @param context A pointer to the context value originally passed to - * MQTTClient_setCallbacks(), which contains any application-specific context. - * @param topicName The topic associated with the received message. - * @param topicLen The length of the topic if there are one - * more NULL characters embedded in topicName, otherwise topicLen - * is 0. If topicLen is 0, the value returned by strlen(topicName) - * can be trusted. If topicLen is greater than 0, the full topic name - * can be retrieved by accessing topicName as a byte array of length - * topicLen. - * @param message The MQTTClient_message structure for the received message. - * This structure contains the message payload and attributes. - * @return This function must return 0 or 1 indicating whether or not - * the message has been safely received by the client application.
- * Returning 1 indicates that the message has been successfully handled. - * To free the message storage, ::MQTTClient_freeMessage must be called. - * To free the topic name storage, ::MQTTClient_free must be called.
- * Returning 0 indicates that there was a problem. In this - * case, the client library will reinvoke MQTTClient_messageArrived() to - * attempt to deliver the message to the application again. - * Do not free the message and topic storage when returning 0, otherwise - * the redelivery will fail. - */ -typedef int MQTTClient_messageArrived(void* context, char* topicName, int topicLen, MQTTClient_message* message); - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * notification of delivery of messages. The function is registered with the - * client library by passing it as an argument to MQTTClient_setCallbacks(). - * It is called by the client library after the client application has - * published a message to the server. It indicates that the necessary - * handshaking and acknowledgements for the requested quality of service (see - * MQTTClient_message.qos) have been completed. This function is executed on a - * separate thread to the one on which the client application is running. - * Note:MQTTClient_deliveryComplete() is not called when messages are - * published at QoS0. - * @param context A pointer to the context value originally passed to - * MQTTClient_setCallbacks(), which contains any application-specific context. - * @param dt The ::MQTTClient_deliveryToken associated with - * the published message. Applications can check that all messages have been - * correctly published by matching the delivery tokens returned from calls to - * MQTTClient_publish() and MQTTClient_publishMessage() with the tokens passed - * to this callback. - */ -typedef void MQTTClient_deliveryComplete(void* context, MQTTClient_deliveryToken dt); - -/** - * This is a callback function. The client application - * must provide an implementation of this function to enable asynchronous - * notification of the loss of connection to the server. The function is - * registered with the client library by passing it as an argument to - * MQTTClient_setCallbacks(). It is called by the client library if the client - * loses its connection to the server. The client application must take - * appropriate action, such as trying to reconnect or reporting the problem. - * This function is executed on a separate thread to the one on which the - * client application is running. - * @param context A pointer to the context value originally passed to - * MQTTClient_setCallbacks(), which contains any application-specific context. - * @param cause The reason for the disconnection. - * Currently, cause is always set to NULL. - */ -typedef void MQTTClient_connectionLost(void* context, char* cause); - -/** - * This function sets the callback functions for a specific client. - * If your client application doesn't use a particular callback, set the - * relevant parameter to NULL. Calling MQTTClient_setCallbacks() puts the - * client into multi-threaded mode. Any necessary message acknowledgements and - * status communications are handled in the background without any intervention - * from the client application. See @ref async for more information. - * - * Note: The MQTT client must be disconnected when this function is - * called. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to each of the callback functions to - * provide access to the context information in the callback. - * @param cl A pointer to an MQTTClient_connectionLost() callback - * function. You can set this to NULL if your application doesn't handle - * disconnections. - * @param ma A pointer to an MQTTClient_messageArrived() callback - * function. This callback function must be set when you call - * MQTTClient_setCallbacks(), as otherwise there would be nowhere to deliver - * any incoming messages. - * @param dc A pointer to an MQTTClient_deliveryComplete() callback - * function. You can set this to NULL if your application publishes - * synchronously or if you do not want to check for successful delivery. - * @return ::MQTTCLIENT_SUCCESS if the callbacks were correctly set, - * ::MQTTCLIENT_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTClient_setCallbacks(MQTTClient handle, void* context, MQTTClient_connectionLost* cl, - MQTTClient_messageArrived* ma, MQTTClient_deliveryComplete* dc); - - -/** - * This is a callback function, which will be called when the a disconnect - * packet is received from the server. This applies to MQTT V5 and above only. - * @param context A pointer to the context value originally passed to - * ::MQTTClient_setDisconnected(), which contains any application-specific context. - * @param properties The MQTT V5 properties received with the disconnect, if any. - * @param reasonCode The MQTT V5 reason code received with the disconnect. - * Currently, cause is always set to NULL. - */ -typedef void MQTTClient_disconnected(void* context, MQTTProperties* properties, - enum MQTTReasonCodes reasonCode); - -/** - * Sets the MQTTClient_disconnected() callback function for a client. This will be called - * if a disconnect packet is received from the server. Only valid for MQTT V5 and above. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param context A pointer to any application-specific context. The - * the context pointer is passed to each of the callback functions to - * provide access to the context information in the callback. - * @param co A pointer to an MQTTClient_disconnected() callback - * function. NULL removes the callback setting. - * @return ::MQTTCLIENT_SUCCESS if the callbacks were correctly set, - * ::MQTTCLIENT_FAILURE if an error occurred. - */ -LIBMQTT_API int MQTTClient_setDisconnected(MQTTClient handle, void* context, MQTTClient_disconnected* co); - -/** - * This is a callback function, the MQTT V5 version of MQTTClient_deliveryComplete(). - * The client application - * must provide an implementation of this function to enable asynchronous - * notification of the completed delivery of messages. - * It is called by the client library after the client application has - * published a message to the server. It indicates that the necessary - * handshaking and acknowledgements for the requested quality of service (see - * MQTTClient_message.qos) have been completed. This function is executed on a - * separate thread to the one on which the client application is running. - * Note: It is not called when messages are published at QoS0. - * @param context A pointer to the context value originally passed to - * MQTTClient_setCallbacks(), which contains any application-specific context. - * @param dt The ::MQTTClient_deliveryToken associated with - * the published message. Applications can check that all messages have been - * correctly published by matching the delivery tokens returned from calls to - * MQTTClient_publish() and MQTTClient_publishMessage() with the tokens passed - * to this callback. - * @param packet_type the last received packet type for this completion. For QoS 1 - * always PUBACK. For QoS 2 could be PUBREC or PUBCOMP. - * @param properties the MQTT V5 properties returned with the last packet from the server - * @param reasonCode the reason code returned from the server - */ -typedef void MQTTClient_published(void* context, int dt, int packet_type, MQTTProperties* properties, - enum MQTTReasonCodes reasonCode); - -LIBMQTT_API int MQTTClient_setPublished(MQTTClient handle, void* context, MQTTClient_published* co); - -/** - * This function creates an MQTT client ready for connection to the - * specified server and using the specified persistent storage (see - * MQTTClient_persistence). See also MQTTClient_destroy(). - * @param handle A pointer to an ::MQTTClient handle. The handle is - * populated with a valid client reference following a successful return from - * this function. - * @param serverURI A null-terminated string specifying the server to - * which the client will connect. It takes the form protocol://host:port. - * Currently, protocol must be: - *
- * @em tcp:// or @em mqtt:// - Insecure TCP - *
- * @em ssl:// or @em mqtts:// - Encrypted SSL/TLS - *
- * @em ws:// - Insecure websockets - *
- * @em wss:// - Secure web sockets - *
- * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS - * version of the library is linked with. - * For host, you can specify either an IP address or a host name. For - * instance, to connect to a server running on the local machines with the - * default MQTT port, specify tcp://localhost:1883. - * @param clientId The client identifier passed to the server when the - * client connects to it. It is a null-terminated UTF-8 encoded string. - * @param persistence_type The type of persistence to be used by the client: - *
- * ::MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or - * system on which the client is running fails or is switched off, the current - * state of any in-flight messages is lost and some messages may not be - * delivered even at QoS1 and QoS2. - *
- * ::MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) - * persistence mechanism. Status about in-flight messages is held in persistent - * storage and provides some protection against message loss in the case of - * unexpected failure. - *
- * ::MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence - * implementation. Using this type of persistence gives control of the - * persistence mechanism to the application. The application has to implement - * the MQTTClient_persistence interface. - * @param persistence_context If the application uses - * ::MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should - * be set to NULL. For ::MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it - * should be set to the location of the persistence directory (if set - * to NULL, the persistence directory used is the working directory). - * Applications that use ::MQTTCLIENT_PERSISTENCE_USER persistence set this - * argument to point to a valid MQTTClient_persistence structure. - * @return ::MQTTCLIENT_SUCCESS if the client is successfully created, otherwise - * an error code is returned. - */ -LIBMQTT_API int MQTTClient_create(MQTTClient* handle, const char* serverURI, const char* clientId, - int persistence_type, void* persistence_context); - -/** Options for the ::MQTTClient_createWithOptions call */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQCO. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 */ - int struct_version; - /** Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. - * MQTT V5 has to be chosen here, because during the create call the message persistence - * is initialized, and we want to know whether the format of any persisted messages - * is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or - * 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create. */ - int MQTTVersion; -} MQTTClient_createOptions; - -#define MQTTClient_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 0, MQTTVERSION_DEFAULT } - -/** - * A version of :MQTTClient_create() with additional options. - * This function creates an MQTT client ready for connection to the - * specified server and using the specified persistent storage (see - * MQTTClient_persistence). See also MQTTClient_destroy(). - * @param handle A pointer to an ::MQTTClient handle. The handle is - * populated with a valid client reference following a successful return from - * this function. - * @param serverURI A null-terminated string specifying the server to - * which the client will connect. It takes the form protocol://host:port. - * Currently, protocol must be tcp or ssl. - * For host, you can - * specify either an IP address or a host name. For instance, to connect to - * a server running on the local machines with the default MQTT port, specify - * tcp://localhost:1883. - * @param clientId The client identifier passed to the server when the - * client connects to it. It is a null-terminated UTF-8 encoded string. - * @param persistence_type The type of persistence to be used by the client: - *
- * ::MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or - * system on which the client is running fails or is switched off, the current - * state of any in-flight messages is lost and some messages may not be - * delivered even at QoS1 and QoS2. - *
- * ::MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) - * persistence mechanism. Status about in-flight messages is held in persistent - * storage and provides some protection against message loss in the case of - * unexpected failure. - *
- * ::MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence - * implementation. Using this type of persistence gives control of the - * persistence mechanism to the application. The application has to implement - * the MQTTClient_persistence interface. - * @param persistence_context If the application uses - * ::MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should - * be set to NULL. For ::MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it - * should be set to the location of the persistence directory (if set - * to NULL, the persistence directory used is the working directory). - * Applications that use ::MQTTCLIENT_PERSISTENCE_USER persistence set this - * argument to point to a valid MQTTClient_persistence structure. - * @param options additional options for the create. - * @return ::MQTTCLIENT_SUCCESS if the client is successfully created, otherwise - * an error code is returned. - */ -LIBMQTT_API int MQTTClient_createWithOptions(MQTTClient* handle, const char* serverURI, const char* clientId, - int persistence_type, void* persistence_context, MQTTClient_createOptions* options); - -/** - * MQTTClient_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for - * the client. In the event that a client unexpectedly loses its connection to - * the server, the server publishes the LWT message to the LWT topic on - * behalf of the client. This allows other clients (subscribed to the LWT topic) - * to be made aware that the client has disconnected. To enable the LWT - * function for a specific client, a valid pointer to an MQTTClient_willOptions - * structure is passed in the MQTTClient_connectOptions structure used in the - * MQTTClient_connect() call that connects the client to the server. The pointer - * to MQTTClient_willOptions can be set to NULL if the LWT function is not - * required. - */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQTW. */ - char struct_id[4]; - /** The version number of this structure. Must be 0 or 1 - 0 means there is no binary payload option - */ - int struct_version; - /** The LWT topic to which the LWT message will be published. */ - const char* topicName; - /** The LWT payload in string form. */ - const char* message; - /** - * The retained flag for the LWT message (see MQTTClient_message.retained). - */ - int retained; - /** - * The quality of service setting for the LWT message (see - * MQTTClient_message.qos and @ref qos). - */ - int qos; - /** The LWT payload in binary form. This is only checked and used if the message option is NULL */ - struct - { - int len; /**< binary payload length */ - const void* data; /**< binary payload data */ - } payload; -} MQTTClient_willOptions; - -#define MQTTClient_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, {0, NULL} } - -#define MQTT_SSL_VERSION_DEFAULT 0 -#define MQTT_SSL_VERSION_TLS_1_0 1 -#define MQTT_SSL_VERSION_TLS_1_1 2 -#define MQTT_SSL_VERSION_TLS_1_2 3 - -/** -* MQTTClient_sslProperties defines the settings to establish an SSL/TLS connection using the -* OpenSSL library. It covers the following scenarios: -* - Server authentication: The client needs the digital certificate of the server. It is included -* in a store containting trusted material (also known as "trust store"). -* - Mutual authentication: Both client and server are authenticated during the SSL handshake. In -* addition to the digital certificate of the server in a trust store, the client will need its own -* digital certificate and the private key used to sign its digital certificate stored in a "key store". -* - Anonymous connection: Both client and server do not get authenticated and no credentials are needed -* to establish an SSL connection. Note that this scenario is not fully secure since it is subject to -* man-in-the-middle attacks. -*/ -typedef struct -{ - /** The eyecatcher for this structure. Must be MQTS */ - char struct_id[4]; - - /** The version number of this structure. Must be 0, 1, 2, 3, 4 or 5. - * 0 means no sslVersion - * 1 means no verify, CApath - * 2 means no ssl_error_context, ssl_error_cb - * 3 means no ssl_psk_cb, ssl_psk_context, disableDefaultTrustStore - * 4 means no protos, protos_len - */ - int struct_version; - - /** The file in PEM format containing the public digital certificates trusted by the client. */ - const char* trustStore; - - /** The file in PEM format containing the public certificate chain of the client. It may also include - * the client's private key. - */ - const char* keyStore; - - /** If not included in the sslKeyStore, this setting points to the file in PEM format containing - * the client's private key. - */ - const char* privateKey; - - /** The password to load the client's privateKey if encrypted. */ - const char* privateKeyPassword; - - /** - * The list of cipher suites that the client will present to the server during the SSL handshake. For a - * full explanation of the cipher list format, please see the OpenSSL on-line documentation: - * http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT - * If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding - * those offering no encryption- will be considered. - * This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance). - */ - const char* enabledCipherSuites; - - /** True/False option to enable verification of the server certificate **/ - int enableServerCertAuth; - - /** The SSL/TLS version to use. Specify one of MQTT_SSL_VERSION_DEFAULT (0), - * MQTT_SSL_VERSION_TLS_1_0 (1), MQTT_SSL_VERSION_TLS_1_1 (2) or MQTT_SSL_VERSION_TLS_1_2 (3). - * Only used if struct_version is >= 1. - */ - int sslVersion; - - /** - * Whether to carry out post-connect checks, including that a certificate - * matches the given host name. - * Exists only if struct_version >= 2 - */ - int verify; - - /** - * From the OpenSSL documentation: - * If CApath is not NULL, it points to a directory containing CA certificates in PEM format. - * Exists only if struct_version >= 2 - */ - const char* CApath; - - /** - * Callback function for OpenSSL error handler ERR_print_errors_cb - * Exists only if struct_version >= 3 - */ - int (*ssl_error_cb) (const char *str, size_t len, void *u); - - /** - * Application-specific contex for OpenSSL error handler ERR_print_errors_cb - * Exists only if struct_version >= 3 - */ - void* ssl_error_context; - - /** - * Callback function for setting TLS-PSK options. Parameters correspond to that of - * SSL_CTX_set_psk_client_callback, except for u which is the pointer ssl_psk_context. - * Exists only if struct_version >= 4 - */ - unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u); - - /** - * Application-specific contex for ssl_psk_cb - * Exists only if struct_version >= 4 - */ - void* ssl_psk_context; - - /** - * Don't load default SSL CA. Should be used together with PSK to make sure - * regular servers with certificate in place is not accepted. - * Exists only if struct_version >= 4 - */ - int disableDefaultTrustStore; - - /** - * The protocol-lists must be in wire-format, which is defined as a vector of non-empty, 8-bit length-prefixed, byte strings. - * The length-prefix byte is not included in the length. Each string is limited to 255 bytes. A byte-string length of 0 is invalid. - * A truncated byte-string is invalid. - * Check documentation for SSL_CTX_set_alpn_protos - * Exists only if struct_version >= 5 - */ - const unsigned char *protos; - - /** - * The length of the vector protos vector - * Exists only if struct_version >= 5 - */ - unsigned int protos_len; -} MQTTClient_SSLOptions; - -#define MQTTClient_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 } - -/** - * MQTTClient_libraryInfo is used to store details relating to the currently used - * library such as the version in use, the time it was built and relevant openSSL - * options. - * There is one static instance of this struct in MQTTClient.c - */ - -typedef struct -{ - const char* name; - const char* value; -} MQTTClient_nameValue; - -/** - * This function returns version information about the library. - * no trace information will be returned. - * @return an array of strings describing the library. The last entry is a NULL pointer. - */ -LIBMQTT_API MQTTClient_nameValue* MQTTClient_getVersionInfo(void); - -/** - * MQTTClient_connectOptions defines several settings that control the way the - * client connects to an MQTT server. - * - * Note: Default values are not defined for members of - * MQTTClient_connectOptions so it is good practice to specify all settings. - * If the MQTTClient_connectOptions structure is defined as an automatic - * variable, all members are set to random values and thus must be set by the - * client application. If the MQTTClient_connectOptions structure is defined - * as a static variable, initialization (in compliant compilers) sets all - * values to 0 (NULL for pointers). A #keepAliveInterval setting of 0 prevents - * correct operation of the client and so you must at least set a value - * for #keepAliveInterval. - * - * Suitable default values are set in the following initializers: - * - MQTTClient_connectOptions_initializer: for MQTT 3.1.1 non-WebSockets - * - MQTTClient_connectOptions_initializer5: for MQTT 5.0 non-WebSockets - * - MQTTClient_connectOptions_initializer_ws: for MQTT 3.1.1 WebSockets - * - MQTTClient_connectOptions_initializer5_ws: for MQTT 5.0 WebSockets - */ -typedef struct -{ - /** The eyecatcher for this structure. must be MQTC. */ - char struct_id[4]; - /** The version number of this structure. Must be 0, 1, 2, 3, 4, 5, 6, 7 or 8. - * 0 signifies no SSL options and no serverURIs - * 1 signifies no serverURIs - * 2 signifies no MQTTVersion - * 3 signifies no returned values - * 4 signifies no binary password option - * 5 signifies no maxInflightMessages and cleanstart - * 6 signifies no HTTP headers option - * 7 signifies no HTTP proxy and HTTPS proxy options - */ - int struct_version; - /** The "keep alive" interval, measured in seconds, defines the maximum time - * that should pass without communication between the client and the server - * The client will ensure that at least one message travels across the - * network within each keep alive period. In the absence of a data-related - * message during the time period, the client sends a very small MQTT - * "ping" message, which the server will acknowledge. The keep alive - * interval enables the client to detect when the server is no longer - * available without having to wait for the long TCP/IP timeout. - */ - int keepAliveInterval; - /** - * This is a boolean value. The cleansession setting controls the behaviour - * of both the client and the server at connection and disconnection time. - * The client and server both maintain session state information. This - * information is used to ensure "at least once" and "exactly once" - * delivery, and "exactly once" receipt of messages. Session state also - * includes subscriptions created by an MQTT client. You can choose to - * maintain or discard state information between sessions. - * - * When cleansession is true, the state information is discarded at - * connect and disconnect. Setting cleansession to false keeps the state - * information. When you connect an MQTT client application with - * MQTTClient_connect(), the client identifies the connection using the - * client identifier and the address of the server. The server checks - * whether session information for this client - * has been saved from a previous connection to the server. If a previous - * session still exists, and cleansession=true, then the previous session - * information at the client and server is cleared. If cleansession=false, - * the previous session is resumed. If no previous session exists, a new - * session is started. - */ - int cleansession; - /** - * This is a boolean value that controls how many messages can be in-flight - * simultaneously. Setting reliable to true means that a published - * message must be completed (acknowledgements received) before another - * can be sent. Attempts to publish additional messages receive an - * ::MQTTCLIENT_MAX_MESSAGES_INFLIGHT return code. Setting this flag to - * false allows up to 10 messages to be in-flight. This can increase - * overall throughput in some circumstances. - */ - int reliable; - /** - * This is a pointer to an MQTTClient_willOptions structure. If your - * application does not make use of the Last Will and Testament feature, - * set this pointer to NULL. - */ - MQTTClient_willOptions* will; - /** - * MQTT servers that support the MQTT v3.1.1 protocol provide authentication - * and authorisation by user name and password. This is the user name - * parameter. - */ - const char* username; - /** - * MQTT servers that support the MQTT v3.1.1 protocol provide authentication - * and authorisation by user name and password. This is the password - * parameter. - */ - const char* password; - /** - * The time interval in seconds to allow a connect to complete. - */ - int connectTimeout; - /** - * The time interval in seconds after which unacknowledged publish requests are - * retried during a TCP session. With MQTT 3.1.1 and later, retries are - * not required except on reconnect. 0 turns off in-session retries, and is the - * recommended setting. Adding retries to an already overloaded network only - * exacerbates the problem. - */ - int retryInterval; - /** - * This is a pointer to an MQTTClient_SSLOptions structure. If your - * application does not make use of SSL, set this pointer to NULL. - */ - MQTTClient_SSLOptions* ssl; - /** - * The number of entries in the optional serverURIs array. Defaults to 0. - */ - int serverURIcount; - /** - * An optional array of null-terminated strings specifying the servers to - * which the client will connect. Each string takes the form protocol://host:port. - * protocol must be tcp, ssl, ws or wss. - * The TLS enabled prefixes (ssl, wss) are only valid if a TLS version of the library - * is linked with. - * For host, you can - * specify either an IP address or a host name. For instance, to connect to - * a server running on the local machines with the default MQTT port, specify - * tcp://localhost:1883. - * If this list is empty (the default), the server URI specified on MQTTClient_create() - * is used. - */ - char* const* serverURIs; - /** - * Sets the version of MQTT to be used on the connect. - * MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if that fails, fall back to 3.1 - * MQTTVERSION_3_1 (3) = only try version 3.1 - * MQTTVERSION_3_1_1 (4) = only try version 3.1.1 - * MQTTVERSION_5 (5) = only try version 5.0 - */ - int MQTTVersion; - /** - * Returned from the connect when the MQTT version used to connect is 3.1.1 - */ - struct - { - const char* serverURI; /**< the serverURI connected to */ - int MQTTVersion; /**< the MQTT version used to connect with */ - int sessionPresent; /**< if the MQTT version is 3.1.1, the value of sessionPresent returned in the connack */ - } returned; - /** - * Optional binary password. Only checked and used if the password option is NULL - */ - struct - { - int len; /**< binary password length */ - const void* data; /**< binary password data */ - } binarypwd; - /** - * The maximum number of messages in flight - */ - int maxInflightMessages; - /* - * MQTT V5 clean start flag. Only clears state at the beginning of the session. - */ - int cleanstart; - /** - * HTTP headers for websockets - */ - const MQTTClient_nameValue* httpHeaders; - /** - * HTTP proxy - */ - const char* httpProxy; - /** - * HTTPS proxy - */ - const char* httpsProxy; -} MQTTClient_connectOptions; - -/** Initializer for connect options for MQTT 3.1.1 non-WebSocket connections */ -#define MQTTClient_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\ -0, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL} - -/** Initializer for connect options for MQTT 5.0 non-WebSocket connections */ -#define MQTTClient_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\ -0, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL} - -/** Initializer for connect options for MQTT 3.1.1 WebSockets connections. - * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. - */ -#define MQTTClient_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\ -0, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL} - -/** Initializer for connect options for MQTT 5.0 WebSockets connections. - * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. - */ -#define MQTTClient_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\ -0, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL} - -/** - * This function attempts to connect a previously-created client (see - * MQTTClient_create()) to an MQTT server using the specified options. If you - * want to enable asynchronous message and status notifications, you must call - * MQTTClient_setCallbacks() prior to MQTTClient_connect(). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param options A pointer to a valid MQTTClient_connectOptions - * structure. - * @return ::MQTTCLIENT_SUCCESS if the client successfully connects to the - * server. An error code is returned if the client was unable to connect to - * the server. - * Error codes greater than 0 are returned by the MQTT protocol:

- * 1: Connection refused: Unacceptable protocol version
- * 2: Connection refused: Identifier rejected
- * 3: Connection refused: Server unavailable
- * 4: Connection refused: Bad user name or password
- * 5: Connection refused: Not authorized
- * 6-255: Reserved for future use
- */ -LIBMQTT_API int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions* options); - -/** MQTT version 5.0 response information */ -typedef struct MQTTResponse -{ - int version; /* the version number of this structure */ - enum MQTTReasonCodes reasonCode; /* the MQTT 5.0 reason code returned */ - int reasonCodeCount; /* the number of reason codes. Used for subscribeMany5 and unsubscribeMany5 */ - enum MQTTReasonCodes* reasonCodes; /* a list of reason codes. Used for subscribeMany5 and unsubscribeMany5 */ - MQTTProperties* properties; /* optionally, the MQTT 5.0 properties returned */ -} MQTTResponse; - -#define MQTTResponse_initializer {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL} - -/** - * Frees the storage associated with the MQTT response. - * @param response the response structure to be freed - */ -LIBMQTT_API void MQTTResponse_free(MQTTResponse response); - -/** - * Attempts to connect a previously-created client (see - * MQTTClient_create()) to an MQTT server using MQTT version 5.0 and the specified options. If you - * want to enable asynchronous message and status notifications, you must call - * MQTTClient_setCallbacks() prior to MQTTClient_connect(). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param options A pointer to a valid MQTTClient_connectOptions - * structure. - * @param connectProperties the MQTT 5.0 connect properties to use - * @param willProperties the MQTT 5.0 properties to set on the will message - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions* options, - MQTTProperties* connectProperties, MQTTProperties* willProperties); - -/** - * This function attempts to disconnect the client from the MQTT - * server. In order to allow the client time to complete handling of messages - * that are in-flight when this function is called, a timeout period is - * specified. When the timeout period has expired, the client disconnects even - * if there are still outstanding message acknowledgements. - * The next time the client connects to the same server, any QoS 1 or 2 - * messages which have not completed will be retried depending on the - * cleansession settings for both the previous and the new connection (see - * MQTTClient_connectOptions.cleansession and MQTTClient_connect()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param timeout The client delays disconnection for up to this time (in - * milliseconds) in order to allow in-flight message transfers to complete. - * @return ::MQTTCLIENT_SUCCESS if the client successfully disconnects from - * the server. An error code is returned if the client was unable to disconnect - * from the server - */ -LIBMQTT_API int MQTTClient_disconnect(MQTTClient handle, int timeout); - -LIBMQTT_API int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties* props); - -/** - * This function allows the client application to test whether or not a - * client is currently connected to the MQTT server. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @return Boolean true if the client is connected, otherwise false. - */ -LIBMQTT_API int MQTTClient_isConnected(MQTTClient handle); - - -/* Subscribe is synchronous. QoS list parameter is changed on return to granted QoSs. - Returns return code, MQTTCLIENT_SUCCESS == success, non-zero some sort of error (TBD) */ - -/** - * This function attempts to subscribe a client to a single topic, which may - * contain wildcards (see @ref wildcard). This call also specifies the - * @ref qos requested for the subscription - * (see also MQTTClient_subscribeMany()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topic The subscription topic, which may include wildcards. - * @param qos The requested quality of service for the subscription. - * @return ::MQTTCLIENT_SUCCESS if the subscription request is successful. - * An error code is returned if there was a problem registering the - * subscription. - */ -LIBMQTT_API int MQTTClient_subscribe(MQTTClient handle, const char* topic, int qos); - -/** - * This function attempts to subscribe an MQTT version 5.0 client to a single topic, which may - * contain wildcards (see @ref wildcard). This call also specifies the - * @ref qos requested for the subscription - * (see also MQTTClient_subscribeMany()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topic The subscription topic, which may include wildcards. - * @param qos The requested quality of service for the subscription. - * @param opts the MQTT 5.0 subscribe options to be used - * @param props the MQTT 5.0 properties to be used - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char* topic, int qos, - MQTTSubscribe_options* opts, MQTTProperties* props); - -/** - * This function attempts to subscribe a client to a list of topics, which may - * contain wildcards (see @ref wildcard). This call also specifies the - * @ref qos requested for each topic (see also MQTTClient_subscribe()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param count The number of topics for which the client is requesting - * subscriptions. - * @param topic An array (of length count) of pointers to - * topics, each of which may include wildcards. - * @param qos An array (of length count) of @ref qos - * values. qos[n] is the requested QoS for topic[n]. - * @return ::MQTTCLIENT_SUCCESS if the subscription request is successful. - * An error code is returned if there was a problem registering the - * subscriptions. - */ -LIBMQTT_API int MQTTClient_subscribeMany(MQTTClient handle, int count, char* const* topic, int* qos); - -/** - * This function attempts to subscribe an MQTT version 5.0 client to a list of topics, which may - * contain wildcards (see @ref wildcard). This call also specifies the - * @ref qos requested for each topic (see also MQTTClient_subscribe()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param count The number of topics for which the client is requesting - * subscriptions. - * @param topic An array (of length count) of pointers to - * topics, each of which may include wildcards. - * @param qos An array (of length count) of @ref qos - * values. qos[n] is the requested QoS for topic[n]. - * @param opts the MQTT 5.0 subscribe options to be used - * @param props the MQTT 5.0 properties to be used - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char* const* topic, - int* qos, MQTTSubscribe_options* opts, MQTTProperties* props); - -/** - * This function attempts to remove an existing subscription made by the - * specified client. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topic The topic for the subscription to be removed, which may - * include wildcards (see @ref wildcard). - * @return ::MQTTCLIENT_SUCCESS if the subscription is removed. - * An error code is returned if there was a problem removing the - * subscription. - */ -LIBMQTT_API int MQTTClient_unsubscribe(MQTTClient handle, const char* topic); - -/** - * This function attempts to remove an existing subscription made by the - * specified client using MQTT 5.0. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topic The topic for the subscription to be removed, which may - * include wildcards (see @ref wildcard). - * @param props the MQTT 5.0 properties to be used - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char* topic, MQTTProperties* props); - -/** - * This function attempts to remove existing subscriptions to a list of topics - * made by the specified client. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param count The number subscriptions to be removed. - * @param topic An array (of length count) of pointers to the topics of - * the subscriptions to be removed, each of which may include wildcards. - * @return ::MQTTCLIENT_SUCCESS if the subscriptions are removed. - * An error code is returned if there was a problem removing the subscriptions. - */ -LIBMQTT_API int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char* const* topic); - -/** - * This function attempts to remove existing subscriptions to a list of topics - * made by the specified client using MQTT version 5.0. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param count The number subscriptions to be removed. - * @param topic An array (of length count) of pointers to the topics of - * the subscriptions to be removed, each of which may include wildcards. - * @param props the MQTT 5.0 properties to be used - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char* const* topic, MQTTProperties* props); - -/** - * This function attempts to publish a message to a given topic (see also - * MQTTClient_publishMessage()). An ::MQTTClient_deliveryToken is issued when - * this function returns successfully. If the client application needs to - * test for succesful delivery of QoS1 and QoS2 messages, this can be done - * either asynchronously or synchronously (see @ref async, - * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topicName The topic associated with this message. - * @param payloadlen The length of the payload in bytes. - * @param payload A pointer to the byte array payload of the message. - * @param qos The @ref qos of the message. - * @param retained The retained flag for the message. - * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated - * with a token representing the message when the function returns - * successfully. If your application does not use delivery tokens, set this - * argument to NULL. - * @return ::MQTTCLIENT_SUCCESS if the message is accepted for publication. - * An error code is returned if there was a problem accepting the message. - */ -LIBMQTT_API int MQTTClient_publish(MQTTClient handle, const char* topicName, int payloadlen, const void* payload, int qos, int retained, - MQTTClient_deliveryToken* dt); - -/** - * Attempts to publish a message to a given topic using MQTT version 5.0 (see also - * MQTTClient_publishMessage5()). An ::MQTTClient_deliveryToken is issued when - * this function returns successfully. If the client application needs to - * test for succesful delivery of QoS1 and QoS2 messages, this can be done - * either asynchronously or synchronously (see @ref async, - * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topicName The topic associated with this message. - * @param payloadlen The length of the payload in bytes. - * @param payload A pointer to the byte array payload of the message. - * @param qos The @ref qos of the message. - * @param retained The retained flag for the message. - * @param properties the MQTT 5.0 properties to be used - * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated - * with a token representing the message when the function returns - * successfully. If your application does not use delivery tokens, set this - * argument to NULL. - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_publish5(MQTTClient handle, const char* topicName, int payloadlen, const void* payload, - int qos, int retained, MQTTProperties* properties, MQTTClient_deliveryToken* dt); -/** - * This function attempts to publish a message to a given topic (see also - * MQTTClient_publish()). An ::MQTTClient_deliveryToken is issued when - * this function returns successfully. If the client application needs to - * test for succesful delivery of QoS1 and QoS2 messages, this can be done - * either asynchronously or synchronously (see @ref async, - * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topicName The topic associated with this message. - * @param msg A pointer to a valid MQTTClient_message structure containing - * the payload and attributes of the message to be published. - * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated - * with a token representing the message when the function returns - * successfully. If your application does not use delivery tokens, set this - * argument to NULL. - * @return ::MQTTCLIENT_SUCCESS if the message is accepted for publication. - * An error code is returned if there was a problem accepting the message. - */ -LIBMQTT_API int MQTTClient_publishMessage(MQTTClient handle, const char* topicName, MQTTClient_message* msg, MQTTClient_deliveryToken* dt); - - -/** - * Attempts to publish a message to the given topic using MQTT version 5.0 - * (see also - * MQTTClient_publish5()). An ::MQTTClient_deliveryToken is issued when - * this function returns successfully. If the client application needs to - * test for succesful delivery of QoS1 and QoS2 messages, this can be done - * either asynchronously or synchronously (see @ref async, - * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topicName The topic associated with this message. - * @param msg A pointer to a valid MQTTClient_message structure containing - * the payload and attributes of the message to be published. - * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated - * with a token representing the message when the function returns - * successfully. If your application does not use delivery tokens, set this - * argument to NULL. - * @return the MQTT 5.0 response information: error codes and properties. - */ -LIBMQTT_API MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char* topicName, MQTTClient_message* msg, - MQTTClient_deliveryToken* dt); - -/** - * This function is called by the client application to synchronize execution - * of the main thread with completed publication of a message. When called, - * MQTTClient_waitForCompletion() blocks execution until the message has been - * successful delivered or the specified timeout has expired. See @ref async. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param dt The ::MQTTClient_deliveryToken that represents the message being - * tested for successful delivery. Delivery tokens are issued by the - * publishing functions MQTTClient_publish() and MQTTClient_publishMessage(). - * @param timeout The maximum time to wait in milliseconds. - * @return ::MQTTCLIENT_SUCCESS if the message was successfully delivered. - * An error code is returned if the timeout expires or there was a problem - * checking the token. - */ -LIBMQTT_API int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout); - - -/** - * This function sets a pointer to an array of delivery tokens for - * messages that are currently in-flight (pending completion). - * - * Important note: The memory used to hold the array of tokens is - * malloc()'d in this function. The client application is responsible for - * freeing this memory when it is no longer required. - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param tokens The address of a pointer to an ::MQTTClient_deliveryToken. - * When the function returns successfully, the pointer is set to point to an - * array of tokens representing messages pending completion. The last member of - * the array is set to -1 to indicate there are no more tokens. If no tokens - * are pending, the pointer is set to NULL. - * @return ::MQTTCLIENT_SUCCESS if the function returns successfully. - * An error code is returned if there was a problem obtaining the list of - * pending tokens. - */ -LIBMQTT_API int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens); - -/** - * When implementing a single-threaded client, call this function periodically - * to allow processing of message retries and to send MQTT keepalive pings. - * If the application is calling MQTTClient_receive() regularly, then it is - * not necessary to call this function. - */ -LIBMQTT_API void MQTTClient_yield(void); - -/** - * This function performs a synchronous receive of incoming messages. It should - * be used only when the client application has not set callback methods to - * support asynchronous receipt of messages (see @ref async and - * MQTTClient_setCallbacks()). Using this function allows a single-threaded - * client subscriber application to be written. When called, this function - * blocks until the next message arrives or the specified timeout expires - *(see also MQTTClient_yield()). - * - * Important note: The application must free() the memory allocated - * to the topic and the message when processing is complete (see - * MQTTClient_freeMessage()). - * @param handle A valid client handle from a successful call to - * MQTTClient_create(). - * @param topicName The address of a pointer to a topic. This function - * allocates the memory for the topic and returns it to the application - * by setting topicName to point to the topic. - * @param topicLen The length of the topic. If the return code from this - * function is ::MQTTCLIENT_TOPICNAME_TRUNCATED, the topic contains embedded - * NULL characters and the full topic should be retrieved by using - * topicLen. - * @param message The address of a pointer to the received message. This - * function allocates the memory for the message and returns it to the - * application by setting message to point to the received message. - * The pointer is set to NULL if the timeout expires. - * @param timeout The length of time to wait for a message in milliseconds. - * @return ::MQTTCLIENT_SUCCESS or ::MQTTCLIENT_TOPICNAME_TRUNCATED if a - * message is received. ::MQTTCLIENT_SUCCESS can also indicate that the - * timeout expired, in which case message is NULL. An error code is - * returned if there was a problem trying to receive a message. - */ -LIBMQTT_API int MQTTClient_receive(MQTTClient handle, char** topicName, int* topicLen, MQTTClient_message** message, - unsigned long timeout); - -/** - * This function frees memory allocated to an MQTT message, including the - * additional memory allocated to the message payload. The client application - * calls this function when the message has been fully processed. Important - * note: This function does not free the memory allocated to a message - * topic string. It is the responsibility of the client application to free - * this memory using the MQTTClient_free() library function. - * @param msg The address of a pointer to the ::MQTTClient_message structure - * to be freed. - */ -LIBMQTT_API void MQTTClient_freeMessage(MQTTClient_message** msg); - -/** - * This function frees memory allocated by the MQTT C client library, especially the - * topic name. This is needed on Windows when the client libary and application - * program have been compiled with different versions of the C compiler. It is - * thus good policy to always use this function when freeing any MQTT C client- - * allocated memory. - * @param ptr The pointer to the client library storage to be freed. - */ -LIBMQTT_API void MQTTClient_free(void* ptr); - -/** - * This function is used to allocate memory to be used or freed by the MQTT C client library, - * especially the data in user persistence. This is needed on Windows when the client library - * and application program have been compiled with different versions of the C compiler. - * @param size The size of the memory to be allocated. - */ -LIBMQTT_API void* MQTTClient_malloc(size_t size); - -/** - * This function frees the memory allocated to an MQTT client (see - * MQTTClient_create()). It should be called when the client is no longer - * required. - * @param handle A pointer to the handle referring to the ::MQTTClient - * structure to be freed. - */ -LIBMQTT_API void MQTTClient_destroy(MQTTClient* handle); - - -enum MQTTCLIENT_TRACE_LEVELS -{ - MQTTCLIENT_TRACE_MAXIMUM = 1, - MQTTCLIENT_TRACE_MEDIUM, - MQTTCLIENT_TRACE_MINIMUM, - MQTTCLIENT_TRACE_PROTOCOL, - MQTTCLIENT_TRACE_ERROR, - MQTTCLIENT_TRACE_SEVERE, - MQTTCLIENT_TRACE_FATAL, -}; - - -/** - * This function sets the level of trace information which will be - * returned in the trace callback. - * @param level the trace level required - */ -LIBMQTT_API void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level); - - -/** - * This is a callback function prototype which must be implemented if you want - * to receive trace information. Do not invoke any other Paho API calls in this - * callback function - unpredictable behavior may result. - * @param level the trace level of the message returned - * @param message the trace message. This is a pointer to a static buffer which - * will be overwritten on each call. You must copy the data if you want to keep - * it for later. - */ -typedef void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char* message); - -/** - * This function sets the trace callback if needed. If set to NULL, - * no trace information will be returned. The default trace level is - * MQTTASYNC_TRACE_MINIMUM. - * @param callback a pointer to the function which will handle the trace information - */ -LIBMQTT_API void MQTTClient_setTraceCallback(MQTTClient_traceCallback* callback); - -/** - * Sets the timeout value for un/subscribe commands when waiting for the un/suback response from - * the server. Values less than 5000 are not allowed. - * @param handle A valid client handle from a successful call to MQTTClient_create(). - * @param milliSeconds the maximum number of milliseconds to wait - * @return MQTTCLIENT_SUCCESS or MQTTCLIENT_FAILURE - */ -LIBMQTT_API int MQTTClient_setCommandTimeout(MQTTClient handle, unsigned long milliSeconds); - -/** - * Returns a pointer to the string representation of the error or NULL. - * - * Do not free after use. Returns NULL if the error code is unknown. - */ -LIBMQTT_API const char* MQTTClient_strerror(int code); - -#if defined(__cplusplus) - } -#endif - -#endif - -/*! - * @cond MQTTClient_main - * @page async Asynchronous vs synchronous client applications - * This client library supports two modes of operation. These are referred to - * as synchronous and asynchronous modes. If your application - * calls MQTTClient_setCallbacks(), this puts the client into asynchronous - * mode, otherwise it operates in synchronous mode. - * - * In synchronous mode, the client application runs on a single thread. - * Messages are published using the MQTTClient_publish() and - * MQTTClient_publishMessage() functions. To determine that a QoS1 or QoS2 - * (see @ref qos) message has been successfully delivered, the application - * must call the MQTTClient_waitForCompletion() function. An example showing - * synchronous publication is shown in @ref pubsync. Receiving messages in - * synchronous mode uses the MQTTClient_receive() function. Client applications - * must call either MQTTClient_receive() or MQTTClient_yield() relatively - * frequently in order to allow processing of acknowledgements and the MQTT - * "pings" that keep the network connection to the server alive. - * - * In asynchronous mode, the client application runs on several threads. The - * main program calls functions in the client library to publish and subscribe, - * just as for the synchronous mode. Processing of handshaking and maintaining - * the network connection is performed in the background, however. - * Notifications of status and message reception are provided to the client - * application using callbacks registered with the library by the call to - * MQTTClient_setCallbacks() (see MQTTClient_messageArrived(), - * MQTTClient_connectionLost() and MQTTClient_deliveryComplete()). - * This API is not thread safe however - it is not possible to call it from multiple - * threads without synchronization. You can use the MQTTAsync API for that. - * - * @page callbacks Callbacks - * You must not call a function from this API from within a callback otherwise - * a deadlock might result. The only exception to this is the ability to call - * connect within the connection lost callback, to allow a reconnect. - * - * When using MQTT 5.0, you can also call connect from within the disconnected - * callback, which is invoked when the MQTT server sends a disconnect packet. - * This server behaviour is allowed in MQTT 5.0, but not in MQTT 3.1.1, so the - * disconnected callback will never be invoked if you use MQTT 3.1.1. - * - * In particular, you must make a publish call within the message arrived callback. - * These restrictions are all lifted in the - * MQTTAsync API. - * - * If no callbacks are assigned, this will include the message arrived callback. - * This could be done if the application is a pure publisher, and does - * not subscribe to any topics. If however messages are received, and no message - * arrived callback is set, or receive not called, then those messages will accumulate - * and take up memory, as there is no place for them to be delivered. - * It is up to the application to protect against this situation. - * - * @page wildcard Subscription wildcards - * Every MQTT message includes a topic that classifies it. MQTT servers use - * topics to determine which subscribers should receive messages published to - * the server. - * - * Consider the server receiving messages from several environmental sensors. - * Each sensor publishes its measurement data as a message with an associated - * topic. Subscribing applications need to know which sensor originally - * published each received message. A unique topic is thus used to identify - * each sensor and measurement type. Topics such as SENSOR1TEMP, - * SENSOR1HUMIDITY, SENSOR2TEMP and so on achieve this but are not very - * flexible. If additional sensors are added to the system at a later date, - * subscribing applications must be modified to receive them. - * - * To provide more flexibility, MQTT supports a hierarchical topic namespace. - * This allows application designers to organize topics to simplify their - * management. Levels in the hierarchy are delimited by the '/' character, - * such as SENSOR/1/HUMIDITY. Publishers and subscribers use these - * hierarchical topics as already described. - * - * For subscriptions, two wildcard characters are supported: - *
    - *
  • A '#' character represents a complete sub-tree of the hierarchy and - * thus must be the last character in a subscription topic string, such as - * SENSOR/#. This will match any topic starting with SENSOR/, such as - * SENSOR/1/TEMP and SENSOR/2/HUMIDITY.
  • - *
  • A '+' character represents a single level of the hierarchy and is - * used between delimiters. For example, SENSOR/+/TEMP will match - * SENSOR/1/TEMP and SENSOR/2/TEMP.
  • - *
- * Publishers are not allowed to use the wildcard characters in their topic - * names. - * - * Deciding on your topic hierarchy is an important step in your system design. - * - * @page qos Quality of service - * The MQTT protocol provides three qualities of service for delivering - * messages between clients and servers: "at most once", "at least once" and - * "exactly once". - * - * Quality of service (QoS) is an attribute of an individual message being - * published. An application sets the QoS for a specific message by setting the - * MQTTClient_message.qos field to the required value. - * - * A subscribing client can set the maximum quality of service a server uses - * to send messages that match the client subscriptions. The - * MQTTClient_subscribe() and MQTTClient_subscribeMany() functions set this - * maximum. The QoS of a message forwarded to a subscriber thus might be - * different to the QoS given to the message by the original publisher. - * The lower of the two values is used to forward a message. - * - * The three levels are: - * - * QoS0, At most once: The message is delivered at most once, or it - * may not be delivered at all. Its delivery across the network is not - * acknowledged. The message is not stored. The message could be lost if the - * client is disconnected, or if the server fails. QoS0 is the fastest mode of - * transfer. It is sometimes called "fire and forget". - * - * The MQTT protocol does not require servers to forward publications at QoS0 - * to a client. If the client is disconnected at the time the server receives - * the publication, the publication might be discarded, depending on the - * server implementation. - * - * QoS1, At least once: The message is always delivered at least once. - * It might be delivered multiple times if there is a failure before an - * acknowledgment is received by the sender. The message must be stored - * locally at the sender, until the sender receives confirmation that the - * message has been published by the receiver. The message is stored in case - * the message must be sent again. - * - * QoS2, Exactly once: The message is always delivered exactly once. - * The message must be stored locally at the sender, until the sender receives - * confirmation that the message has been published by the receiver. The - * message is stored in case the message must be sent again. QoS2 is the - * safest, but slowest mode of transfer. A more sophisticated handshaking - * and acknowledgement sequence is used than for QoS1 to ensure no duplication - * of messages occurs. - * @page pubsync Synchronous publication example -@code -#include -#include -#include -#include "MQTTClient.h" - -#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" -#define CLIENTID "ExampleClientPub" -#define TOPIC "MQTT Examples" -#define PAYLOAD "Hello World!" -#define QOS 1 -#define TIMEOUT 10000L - -int main(int argc, char* argv[]) -{ - MQTTClient client; - MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; - MQTTClient_message pubmsg = MQTTClient_message_initializer; - MQTTClient_deliveryToken token; - int rc; - - if ((rc = MQTTClient_create(&client, ADDRESS, CLIENTID, - MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to create client, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to connect, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - pubmsg.payload = PAYLOAD; - pubmsg.payloadlen = (int)strlen(PAYLOAD); - pubmsg.qos = QOS; - pubmsg.retained = 0; - if ((rc = MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to publish message, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - printf("Waiting for up to %d seconds for publication of %s\n" - "on topic %s for client with ClientID: %s\n", - (int)(TIMEOUT/1000), PAYLOAD, TOPIC, CLIENTID); - rc = MQTTClient_waitForCompletion(client, token, TIMEOUT); - printf("Message with delivery token %d delivered\n", token); - - if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) - printf("Failed to disconnect, return code %d\n", rc); - MQTTClient_destroy(&client); - return rc; -} - - * @endcode - * - * @page pubasync Asynchronous publication example -@code{.c} -#include -#include -#include -#include "MQTTClient.h" - -#if !defined(_WIN32) -#include -#else -#include -#endif - -#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" -#define CLIENTID "ExampleClientPub" -#define TOPIC "MQTT Examples" -#define PAYLOAD "Hello World!" -#define QOS 1 -#define TIMEOUT 10000L - -MQTTClient_deliveryToken deliveredtoken; - -void delivered(void *context, MQTTClient_deliveryToken dt) -{ - printf("Message with token value %d delivery confirmed\n", dt); - deliveredtoken = dt; -} - -int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message) -{ - printf("Message arrived\n"); - printf(" topic: %s\n", topicName); - printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); - MQTTClient_freeMessage(&message); - MQTTClient_free(topicName); - return 1; -} - -void connlost(void *context, char *cause) -{ - printf("\nConnection lost\n"); - printf(" cause: %s\n", cause); -} - -int main(int argc, char* argv[]) -{ - MQTTClient client; - MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; - MQTTClient_message pubmsg = MQTTClient_message_initializer; - MQTTClient_deliveryToken token; - int rc; - - if ((rc = MQTTClient_create(&client, ADDRESS, CLIENTID, - MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to create client, return code %d\n", rc); - rc = EXIT_FAILURE; - goto exit; - } - - if ((rc = MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to set callbacks, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to connect, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - - pubmsg.payload = PAYLOAD; - pubmsg.payloadlen = (int)strlen(PAYLOAD); - pubmsg.qos = QOS; - pubmsg.retained = 0; - deliveredtoken = 0; - if ((rc = MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to publish message, return code %d\n", rc); - rc = EXIT_FAILURE; - } - else - { - printf("Waiting for publication of %s\n" - "on topic %s for client with ClientID: %s\n", - PAYLOAD, TOPIC, CLIENTID); - while (deliveredtoken != token) - { - #if defined(_WIN32) - Sleep(100); - #else - usleep(10000L); - #endif - } - } - - if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to disconnect, return code %d\n", rc); - rc = EXIT_FAILURE; - } - -destroy_exit: - MQTTClient_destroy(&client); - -exit: - return rc; -} - - * @endcode - * @page subasync Asynchronous subscription example -@code -#include -#include -#include -#include "MQTTClient.h" - -#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" -#define CLIENTID "ExampleClientSub" -#define TOPIC "MQTT Examples" -#define PAYLOAD "Hello World!" -#define QOS 1 -#define TIMEOUT 10000L - -volatile MQTTClient_deliveryToken deliveredtoken; - -void delivered(void *context, MQTTClient_deliveryToken dt) -{ - printf("Message with token value %d delivery confirmed\n", dt); - deliveredtoken = dt; -} - -int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message) -{ - printf("Message arrived\n"); - printf(" topic: %s\n", topicName); - printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); - MQTTClient_freeMessage(&message); - MQTTClient_free(topicName); - return 1; -} - -void connlost(void *context, char *cause) -{ - printf("\nConnection lost\n"); - printf(" cause: %s\n", cause); -} - -int main(int argc, char* argv[]) -{ - MQTTClient client; - MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; - int rc; - - if ((rc = MQTTClient_create(&client, ADDRESS, CLIENTID, - MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to create client, return code %d\n", rc); - rc = EXIT_FAILURE; - goto exit; - } - - if ((rc = MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to set callbacks, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to connect, return code %d\n", rc); - rc = EXIT_FAILURE; - goto destroy_exit; - } - - printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" - "Press Q to quit\n\n", TOPIC, CLIENTID, QOS); - if ((rc = MQTTClient_subscribe(client, TOPIC, QOS)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to subscribe, return code %d\n", rc); - rc = EXIT_FAILURE; - } - else - { - int ch; - do - { - ch = getchar(); - } while (ch!='Q' && ch != 'q'); - - if ((rc = MQTTClient_unsubscribe(client, TOPIC)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to unsubscribe, return code %d\n", rc); - rc = EXIT_FAILURE; - } - } - - if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) - { - printf("Failed to disconnect, return code %d\n", rc); - rc = EXIT_FAILURE; - } -destroy_exit: - MQTTClient_destroy(&client); -exit: - return rc; -} - - * @endcode - * @page tracing Tracing - * - * Runtime tracing is controlled by environment variables. - * - * Tracing is switched on by setting MQTT_C_CLIENT_TRACE. A value of ON, or stdout, prints to - * stdout, any other value is interpreted as a file name to use. - * - * The amount of trace detail is controlled with the MQTT_C_CLIENT_TRACE_LEVEL environment - * variable - valid values are ERROR, PROTOCOL, MINIMUM, MEDIUM and MAXIMUM - * (from least to most verbose). - * - * The variable MQTT_C_CLIENT_TRACE_MAX_LINES limits the number of lines of trace that are output - * to a file. Two files are used at most, when they are full, the last one is overwritten with the - * new trace entries. The default size is 1000 lines. - * - * ### MQTT Packet Tracing - * - * A feature that can be very useful is printing the MQTT packets that are sent and received. To - * achieve this, use the following environment variable settings: - * @code - MQTT_C_CLIENT_TRACE=ON - MQTT_C_CLIENT_TRACE_LEVEL=PROTOCOL - * @endcode - * The output you should see looks like this: - * @code - 20130528 155936.813 3 stdout-subscriber -> CONNECT cleansession: 1 (0) - 20130528 155936.813 3 stdout-subscriber <- CONNACK rc: 0 - 20130528 155936.813 3 stdout-subscriber -> SUBSCRIBE msgid: 1 (0) - 20130528 155936.813 3 stdout-subscriber <- SUBACK msgid: 1 - 20130528 155941.818 3 stdout-subscriber -> DISCONNECT (0) - * @endcode - * where the fields are: - * 1. date - * 2. time - * 3. socket number - * 4. client id - * 5. direction (-> from client to server, <- from server to client) - * 6. packet details - * - * ### Default Level Tracing - * - * This is an extract of a default level trace of a call to connect: - * @code - 19700101 010000.000 (1152206656) (0)> MQTTClient_connect:893 - 19700101 010000.000 (1152206656) (1)> MQTTClient_connectURI:716 - 20130528 160447.479 Connecting to serverURI localhost:1883 - 20130528 160447.479 (1152206656) (2)> MQTTProtocol_connect:98 - 20130528 160447.479 (1152206656) (3)> MQTTProtocol_addressPort:48 - 20130528 160447.479 (1152206656) (3)< MQTTProtocol_addressPort:73 - 20130528 160447.479 (1152206656) (3)> Socket_new:599 - 20130528 160447.479 New socket 4 for localhost, port 1883 - 20130528 160447.479 (1152206656) (4)> Socket_addSocket:163 - 20130528 160447.479 (1152206656) (5)> Socket_setnonblocking:73 - 20130528 160447.479 (1152206656) (5)< Socket_setnonblocking:78 (0) - 20130528 160447.479 (1152206656) (4)< Socket_addSocket:176 (0) - 20130528 160447.479 (1152206656) (4)> Socket_error:95 - 20130528 160447.479 (1152206656) (4)< Socket_error:104 (115) - 20130528 160447.479 Connect pending - 20130528 160447.479 (1152206656) (3)< Socket_new:683 (115) - 20130528 160447.479 (1152206656) (2)< MQTTProtocol_connect:131 (115) - * @endcode - * where the fields are: - * 1. date - * 2. time - * 3. thread id - * 4. function nesting level - * 5. function entry (>) or exit (<) - * 6. function name : line of source code file - * 7. return value (if there is one) - * - * ### Memory Allocation Tracing - * - * Setting the trace level to maximum causes memory allocations and frees to be traced along with - * the default trace entries, with messages like the following: - * @code - 20130528 161819.657 Allocating 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 177 ptr 0x179f930 - - 20130528 161819.657 Freeing 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 201, heap use now 896 bytes - * @endcode - * When the last MQTT client object is destroyed, if the trace is being recorded - * and all memory allocated by the client library has not been freed, an error message will be - * written to the trace. This can help with fixing memory leaks. The message will look like this: - * @code - 20130528 163909.208 Some memory not freed at shutdown, possible memory leak - 20130528 163909.208 Heap scan start, total 880 bytes - 20130528 163909.208 Heap element size 32, line 354, file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c, ptr 0x260cb00 - 20130528 163909.208 Content - 20130528 163909.209 Heap scan end - * @endcode - * @endcond - */ diff --git a/MQTTClientPersistence.h b/MQTTClientPersistence.h deleted file mode 100644 index d3caae4..0000000 --- a/MQTTClientPersistence.h +++ /dev/null @@ -1,277 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2020 IBM Corp. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Ian Craggs - initial API and implementation and/or initial documentation - *******************************************************************************/ - -/** - * @file - * \brief This structure represents a persistent data store, used to store - * outbound and inbound messages, in order to achieve reliable messaging. - * - * The MQTT Client persists QoS1 and QoS2 messages in order to meet the - * assurances of delivery associated with these @ref qos levels. The messages - * are saved in persistent storage - * The type and context of the persistence implementation are specified when - * the MQTT client is created (see MQTTClient_create()). The default - * persistence type (::MQTTCLIENT_PERSISTENCE_DEFAULT) uses a file system-based - * persistence mechanism. The persistence_context argument passed to - * MQTTClient_create() when using the default peristence is a string - * representing the location of the persistence directory. If the context - * argument is NULL, the working directory will be used. - * - * To use memory-based persistence, an application passes - * ::MQTTCLIENT_PERSISTENCE_NONE as the persistence_type to - * MQTTClient_create(). This can lead to message loss in certain situations, - * but can be appropriate in some cases (see @ref qos). - * - * Client applications can provide their own persistence mechanism by passing - * ::MQTTCLIENT_PERSISTENCE_USER as the persistence_type. To implement a - * custom persistence mechanism, the application must pass an initialized - * ::MQTTClient_persistence structure as the persistence_context - * argument to MQTTClient_create(). - * - * If the functions defined return an ::MQTTCLIENT_PERSISTENCE_ERROR then the - * state of the persisted data should remain as it was prior to the function - * being called. For example, if Persistence_put() returns - * ::MQTTCLIENT_PERSISTENCE_ERROR, then it is assumed tha tthe persistent store - * does not contain the data that was passed to the function. Similarly, if - * Persistence_remove() returns ::MQTTCLIENT_PERSISTENCE_ERROR then it is - * assumed that the data to be removed is still held in the persistent store. - * - * It is up to the persistence implementation to log any error information that - * may be required to diagnose a persistence mechanism failure. - */ - -/* -/// @cond EXCLUDE -*/ -#if !defined(MQTTCLIENTPERSISTENCE_H) -#define MQTTCLIENTPERSISTENCE_H -/* -/// @endcond -*/ - -/** - * This persistence_type value specifies the default file system-based - * persistence mechanism (see MQTTClient_create()). - */ -#define MQTTCLIENT_PERSISTENCE_DEFAULT 0 -/** - * This persistence_type value specifies a memory-based - * persistence mechanism (see MQTTClient_create()). - */ -#define MQTTCLIENT_PERSISTENCE_NONE 1 -/** - * This persistence_type value specifies an application-specific - * persistence mechanism (see MQTTClient_create()). - */ -#define MQTTCLIENT_PERSISTENCE_USER 2 - -/** - * Application-specific persistence functions must return this error code if - * there is a problem executing the function. - */ -#define MQTTCLIENT_PERSISTENCE_ERROR -2 - -/** - * @brief Initialize the persistent store. - * - * Either open the existing persistent store for this client ID or create a new - * one if one doesn't exist. If the persistent store is already open, return - * without taking any action. - * - * An application can use the same client identifier to connect to many - * different servers. The clientid in conjunction with the - * serverURI uniquely identifies the persistence store required. - * - * @param handle The address of a pointer to a handle for this persistence - * implementation. This function must set handle to a valid reference to the - * persistence following a successful return. - * The handle pointer is passed as an argument to all the other - * persistence functions. It may include the context parameter and/or any other - * data for use by the persistence functions. - * @param clientID The client identifier for which the persistent store should - * be opened. - * @param serverURI The connection string specified when the MQTT client was - * created (see MQTTClient_create()). - * @param context A pointer to any data required to initialize the persistent - * store (see ::MQTTClient_persistence). - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_open)(void** handle, const char* clientID, const char* serverURI, void* context); - -/** - * @brief Close the persistent store referred to by the handle. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_close)(void* handle); - -/** - * @brief Put the specified data into the persistent store. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @param key A string used as the key for the data to be put in the store. The - * key is later used to retrieve data from the store with Persistence_get(). - * @param bufcount The number of buffers to write to the persistence store. - * @param buffers An array of pointers to the data buffers associated with - * this key. - * @param buflens An array of lengths of the data buffers. buflen[n] - * gives the length of buffer[n]. - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_put)(void* handle, char* key, int bufcount, char* buffers[], int buflens[]); - -/** - * @brief Retrieve the specified data from the persistent store. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @param key A string that is the key for the data to be retrieved. This is - * the same key used to save the data to the store with Persistence_put(). - * @param buffer The address of a pointer to a buffer. This function sets the - * pointer to point at the retrieved data, if successful. - * @param buflen The address of an int that is set to the length of - * buffer by this function if successful. - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_get)(void* handle, char* key, char** buffer, int* buflen); - -/** - * @brief Remove the data for the specified key from the store. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @param key A string that is the key for the data to be removed from the - * store. This is the same key used to save the data to the store with - * Persistence_put(). - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_remove)(void* handle, char* key); - -/** - * @brief Returns the keys in this persistent data store. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @param keys The address of a pointer to pointers to strings. Assuming - * successful execution, this function allocates memory to hold the returned - * keys (strings used to store the data with Persistence_put()). It also - * allocates memory to hold an array of pointers to these strings. keys - * is set to point to the array of pointers to strings. - * @param nkeys A pointer to the number of keys in this persistent data store. - * This function sets the number of keys, if successful. - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_keys)(void* handle, char*** keys, int* nkeys); - -/** - * @brief Clears the persistence store, so that it no longer contains any - * persisted data. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @return Return 0 if the function completes successfully, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_clear)(void* handle); - -/** - * @brief Returns whether any data has been persisted using the specified key. - * - * @param handle The handle pointer from a successful call to - * Persistence_open(). - * @param key The string to be tested for existence in the store. - * @return Return 0 if the key was found in the store, otherwise return - * ::MQTTCLIENT_PERSISTENCE_ERROR. - */ -typedef int (*Persistence_containskey)(void* handle, char* key); - -/** - * @brief A structure containing the function pointers to a persistence - * implementation and the context or state that will be shared across all - * the persistence functions. - */ -typedef struct { - /** - * A pointer to any data required to initialize the persistent store. - */ - void* context; - /** - * A function pointer to an implementation of Persistence_open(). - */ - Persistence_open popen; - /** - * A function pointer to an implementation of Persistence_close(). - */ - Persistence_close pclose; - /** - * A function pointer to an implementation of Persistence_put(). - */ - Persistence_put pput; - /** - * A function pointer to an implementation of Persistence_get(). - */ - Persistence_get pget; - /** - * A function pointer to an implementation of Persistence_remove(). - */ - Persistence_remove premove; - /** - * A function pointer to an implementation of Persistence_keys(). - */ - Persistence_keys pkeys; - /** - * A function pointer to an implementation of Persistence_clear(). - */ - Persistence_clear pclear; - /** - * A function pointer to an implementation of Persistence_containskey(). - */ - Persistence_containskey pcontainskey; -} MQTTClient_persistence; - - -/** - * A callback which is invoked just before a write to persistence. This can be - * used to transform the data, for instance to encrypt it. - * @param context The context as set in ::MQTTAsync_setBeforePersistenceWrite - * @param bufcount The number of buffers to write to the persistence store. - * @param buffers An array of pointers to the data buffers. - * @param buflens An array of lengths of the data buffers. - * @return Return 0 if the function completes successfully, otherwise non 0. - */ -typedef int MQTTPersistence_beforeWrite(void* context, int bufcount, char* buffers[], int buflens[]); - - -/** - * A callback which is invoked just after a read from persistence. This can be - * used to transform the data, for instance to decrypt it. - * @param context The context as set in ::MQTTAsync_setAfterPersistenceRead - * @param buffer The address of a pointer to a buffer. - * @param buflen The address of an int that is the length of the buffer. - * @return Return 0 if the function completes successfully, otherwise non 0. - */ -typedef int MQTTPersistence_afterRead(void* context, char** buffer, int* buflen); - -#endif diff --git a/MQTTExportDeclarations.h b/MQTTExportDeclarations.h deleted file mode 100644 index d492ef1..0000000 --- a/MQTTExportDeclarations.h +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2020, 2020 Andreas Walter - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Andreas Walter - initially moved export declarations into separate fle - *******************************************************************************/ - -#if !defined(EXPORTDECLARATIONS_H) -#define EXPORTDECLARATIONS_H - -#if defined(_WIN32) || defined(_WIN64) -# if defined(PAHO_MQTT_EXPORTS) -# define LIBMQTT_API __declspec(dllexport) -# elif defined(PAHO_MQTT_IMPORTS) -# define LIBMQTT_API __declspec(dllimport) -# else -# define LIBMQTT_API -# endif -#else -# if defined(PAHO_MQTT_EXPORTS) -# define LIBMQTT_API __attribute__ ((visibility ("default"))) -# else -# define LIBMQTT_API extern -# endif -#endif - -#endif diff --git a/MQTTProperties.h b/MQTTProperties.h deleted file mode 100644 index bbfd732..0000000 --- a/MQTTProperties.h +++ /dev/null @@ -1,222 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017, 2023 IBM Corp. and others - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Ian Craggs - initial API and implementation and/or initial documentation - *******************************************************************************/ - -#if !defined(MQTTPROPERTIES_H) -#define MQTTPROPERTIES_H - -#include "MQTTExportDeclarations.h" - -#define MQTT_INVALID_PROPERTY_ID -2 - -/** The one byte MQTT V5 property indicator */ -enum MQTTPropertyCodes { - MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR = 1, /**< The value is 1 */ - MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL = 2, /**< The value is 2 */ - MQTTPROPERTY_CODE_CONTENT_TYPE = 3, /**< The value is 3 */ - MQTTPROPERTY_CODE_RESPONSE_TOPIC = 8, /**< The value is 8 */ - MQTTPROPERTY_CODE_CORRELATION_DATA = 9, /**< The value is 9 */ - MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER = 11, /**< The value is 11 */ - MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL = 17, /**< The value is 17 */ - MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER = 18,/**< The value is 18 */ - MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE = 19, /**< The value is 19 */ - MQTTPROPERTY_CODE_AUTHENTICATION_METHOD = 21, /**< The value is 21 */ - MQTTPROPERTY_CODE_AUTHENTICATION_DATA = 22, /**< The value is 22 */ - MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION = 23,/**< The value is 23 */ - MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL = 24, /**< The value is 24 */ - MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION = 25,/**< The value is 25 */ - MQTTPROPERTY_CODE_RESPONSE_INFORMATION = 26, /**< The value is 26 */ - MQTTPROPERTY_CODE_SERVER_REFERENCE = 28, /**< The value is 28 */ - MQTTPROPERTY_CODE_REASON_STRING = 31, /**< The value is 31 */ - MQTTPROPERTY_CODE_RECEIVE_MAXIMUM = 33, /**< The value is 33*/ - MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM = 34, /**< The value is 34 */ - MQTTPROPERTY_CODE_TOPIC_ALIAS = 35, /**< The value is 35 */ - MQTTPROPERTY_CODE_MAXIMUM_QOS = 36, /**< The value is 36 */ - MQTTPROPERTY_CODE_RETAIN_AVAILABLE = 37, /**< The value is 37 */ - MQTTPROPERTY_CODE_USER_PROPERTY = 38, /**< The value is 38 */ - MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE = 39, /**< The value is 39 */ - MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE = 40,/**< The value is 40 */ - MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE = 41,/**< The value is 41 */ - MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE = 42/**< The value is 241 */ -}; - -/** - * Returns a printable string description of an MQTT V5 property code. - * @param value an MQTT V5 property code. - * @return the printable string description of the input property code. - * NULL if the code was not found. - */ -LIBMQTT_API const char* MQTTPropertyName(enum MQTTPropertyCodes value); - -/** The one byte MQTT V5 property type */ -enum MQTTPropertyTypes { - MQTTPROPERTY_TYPE_BYTE, - MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER, - MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER, - MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER, - MQTTPROPERTY_TYPE_BINARY_DATA, - MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING, - MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR -}; - -/** - * Returns the MQTT V5 type code of an MQTT V5 property. - * @param value an MQTT V5 property code. - * @return the MQTT V5 type code of the input property. -1 if the code was not found. - */ -LIBMQTT_API int MQTTProperty_getType(enum MQTTPropertyCodes value); - -/** - * The data for a length delimited string - */ -typedef struct -{ - int len; /**< the length of the string */ - char* data; /**< pointer to the string data */ -} MQTTLenString; - - -/** - * Structure to hold an MQTT version 5 property of any type - */ -typedef struct -{ - enum MQTTPropertyCodes identifier; /**< The MQTT V5 property id. A multi-byte integer. */ - /** The value of the property, as a union of the different possible types. */ - union { - unsigned char byte; /**< holds the value of a byte property type */ - unsigned short integer2; /**< holds the value of a 2 byte integer property type */ - unsigned int integer4; /**< holds the value of a 4 byte integer property type */ - struct { - MQTTLenString data; /**< The value of a string property, or the name of a user property. */ - MQTTLenString value; /**< The value of a user property. */ - }; - } value; -} MQTTProperty; - -/** - * MQTT version 5 property list - */ -typedef struct MQTTProperties -{ - int count; /**< number of property entries in the array */ - int max_count; /**< max number of properties that the currently allocated array can store */ - int length; /**< mbi: byte length of all properties */ - MQTTProperty *array; /**< array of properties */ -} MQTTProperties; - -#define MQTTProperties_initializer {0, 0, 0, NULL} - -/** - * Returns the length of the properties structure when serialized ready for network transmission. - * @param props an MQTT V5 property structure. - * @return the length in bytes of the properties when serialized. - */ -int MQTTProperties_len(MQTTProperties* props); - -/** - * Add a property pointer to the property array. Memory is allocated in this function, - * so MQTTClient_create or MQTTAsync_create must be called first to initialize the - * internal heap tracking. Alternatively MQTTAsync_global_init() can be called first - * or build with the HIGH_PERFORMANCE option which disables the heap tracking. - * @param props The property list to add the property to. - * @param prop The property to add to the list. - * @return 0 on success, -1 on failure. - */ -LIBMQTT_API int MQTTProperties_add(MQTTProperties* props, const MQTTProperty* prop); - -/** - * Serialize the given property list to a character buffer, e.g. for writing to the network. - * @param pptr pointer to the buffer - move the pointer as we add data - * @param properties pointer to the property list, can be NULL - * @return whether the write succeeded or not: number of bytes written, or < 0 on failure. - */ -int MQTTProperties_write(char** pptr, const MQTTProperties* properties); - -/** - * Reads a property list from a character buffer into an array. - * @param properties pointer to the property list to be filled. Should be initalized but empty. - * @param pptr pointer to the character buffer. - * @param enddata pointer to the end of the character buffer so we don't read beyond. - * @return 1 if the properties were read successfully. - */ -int MQTTProperties_read(MQTTProperties* properties, char** pptr, char* enddata); - -/** - * Free all memory allocated to the property list, including any to individual properties. - * @param properties pointer to the property list. - */ -LIBMQTT_API void MQTTProperties_free(MQTTProperties* properties); - -/** - * Copy the contents of a property list, allocating additional memory if needed. - * @param props pointer to the property list. - * @return the duplicated property list. - */ -LIBMQTT_API MQTTProperties MQTTProperties_copy(const MQTTProperties* props); - -/** - * Checks if property list contains a specific property. - * @param props pointer to the property list. - * @param propid the property id to check for. - * @return 1 if found, 0 if not. - */ -LIBMQTT_API int MQTTProperties_hasProperty(MQTTProperties *props, enum MQTTPropertyCodes propid); - -/** - * Returns the number of instances of a property id. Most properties can exist only once. - * User properties and subscription ids can exist more than once. - * @param props pointer to the property list. - * @param propid the property id to check for. - * @return the number of times found. Can be 0. - */ -LIBMQTT_API int MQTTProperties_propertyCount(MQTTProperties *props, enum MQTTPropertyCodes propid); - -/** - * Returns the integer value of a specific property. The property given must be a numeric type. - * @param props pointer to the property list. - * @param propid the property id to check for. - * @return the integer value of the property. -9999999 on failure. - */ -LIBMQTT_API int MQTTProperties_getNumericValue(MQTTProperties *props, enum MQTTPropertyCodes propid); - -/** - * Returns the integer value of a specific property when it's not the only instance. - * The property given must be a numeric type. - * @param props pointer to the property list. - * @param propid the property id to check for. - * @param index the instance number, starting at 0. - * @return the integer value of the property. -9999999 on failure. - */ -LIBMQTT_API int MQTTProperties_getNumericValueAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index); - -/** - * Returns a pointer to the property structure for a specific property. - * @param props pointer to the property list. - * @param propid the property id to check for. - * @return the pointer to the property structure if found. NULL if not found. - */ -LIBMQTT_API MQTTProperty* MQTTProperties_getProperty(MQTTProperties *props, enum MQTTPropertyCodes propid); - -/** - * Returns a pointer to the property structure for a specific property when it's not the only instance. - * @param props pointer to the property list. - * @param propid the property id to check for. - * @param index the instance number, starting at 0. - * @return the pointer to the property structure if found. NULL if not found. - */ -LIBMQTT_API MQTTProperty* MQTTProperties_getPropertyAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index); - -#endif /* MQTTPROPERTIES_H */ diff --git a/MQTTReasonCodes.h b/MQTTReasonCodes.h deleted file mode 100644 index 2dc08ea..0000000 --- a/MQTTReasonCodes.h +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017, 2020 IBM Corp. and others - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Ian Craggs - initial API and implementation and/or initial documentation - *******************************************************************************/ - -#if !defined(MQTTREASONCODES_H) -#define MQTTREASONCODES_H - -#include "MQTTExportDeclarations.h" - -/** The MQTT V5 one byte reason code */ -enum MQTTReasonCodes { - MQTTREASONCODE_SUCCESS = 0, - MQTTREASONCODE_NORMAL_DISCONNECTION = 0, - MQTTREASONCODE_GRANTED_QOS_0 = 0, - MQTTREASONCODE_GRANTED_QOS_1 = 1, - MQTTREASONCODE_GRANTED_QOS_2 = 2, - MQTTREASONCODE_DISCONNECT_WITH_WILL_MESSAGE = 4, - MQTTREASONCODE_NO_MATCHING_SUBSCRIBERS = 16, - MQTTREASONCODE_NO_SUBSCRIPTION_FOUND = 17, - MQTTREASONCODE_CONTINUE_AUTHENTICATION = 24, - MQTTREASONCODE_RE_AUTHENTICATE = 25, - MQTTREASONCODE_UNSPECIFIED_ERROR = 128, - MQTTREASONCODE_MALFORMED_PACKET = 129, - MQTTREASONCODE_PROTOCOL_ERROR = 130, - MQTTREASONCODE_IMPLEMENTATION_SPECIFIC_ERROR = 131, - MQTTREASONCODE_UNSUPPORTED_PROTOCOL_VERSION = 132, - MQTTREASONCODE_CLIENT_IDENTIFIER_NOT_VALID = 133, - MQTTREASONCODE_BAD_USER_NAME_OR_PASSWORD = 134, - MQTTREASONCODE_NOT_AUTHORIZED = 135, - MQTTREASONCODE_SERVER_UNAVAILABLE = 136, - MQTTREASONCODE_SERVER_BUSY = 137, - MQTTREASONCODE_BANNED = 138, - MQTTREASONCODE_SERVER_SHUTTING_DOWN = 139, - MQTTREASONCODE_BAD_AUTHENTICATION_METHOD = 140, - MQTTREASONCODE_KEEP_ALIVE_TIMEOUT = 141, - MQTTREASONCODE_SESSION_TAKEN_OVER = 142, - MQTTREASONCODE_TOPIC_FILTER_INVALID = 143, - MQTTREASONCODE_TOPIC_NAME_INVALID = 144, - MQTTREASONCODE_PACKET_IDENTIFIER_IN_USE = 145, - MQTTREASONCODE_PACKET_IDENTIFIER_NOT_FOUND = 146, - MQTTREASONCODE_RECEIVE_MAXIMUM_EXCEEDED = 147, - MQTTREASONCODE_TOPIC_ALIAS_INVALID = 148, - MQTTREASONCODE_PACKET_TOO_LARGE = 149, - MQTTREASONCODE_MESSAGE_RATE_TOO_HIGH = 150, - MQTTREASONCODE_QUOTA_EXCEEDED = 151, - MQTTREASONCODE_ADMINISTRATIVE_ACTION = 152, - MQTTREASONCODE_PAYLOAD_FORMAT_INVALID = 153, - MQTTREASONCODE_RETAIN_NOT_SUPPORTED = 154, - MQTTREASONCODE_QOS_NOT_SUPPORTED = 155, - MQTTREASONCODE_USE_ANOTHER_SERVER = 156, - MQTTREASONCODE_SERVER_MOVED = 157, - MQTTREASONCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED = 158, - MQTTREASONCODE_CONNECTION_RATE_EXCEEDED = 159, - MQTTREASONCODE_MAXIMUM_CONNECT_TIME = 160, - MQTTREASONCODE_SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED = 161, - MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162 -}; - -/** - * Returns a printable string description of an MQTT V5 reason code. - * @param value an MQTT V5 reason code. - * @return the printable string description of the input reason code. - * NULL if the code was not found. - */ -LIBMQTT_API const char* MQTTReasonCode_toString(enum MQTTReasonCodes value); - -#endif diff --git a/MQTTSubscribeOpts.h b/MQTTSubscribeOpts.h deleted file mode 100644 index 264e4d0..0000000 --- a/MQTTSubscribeOpts.h +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 IBM Corp. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v2.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * https://www.eclipse.org/legal/epl-2.0/ - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Ian Craggs - initial API and implementation and/or initial documentation - *******************************************************************************/ - -#if !defined(SUBOPTS_H) -#define SUBOPTS_H - -/** The MQTT V5 subscribe options, apart from QoS which existed before V5. */ -typedef struct MQTTSubscribe_options -{ - /** The eyecatcher for this structure. Must be MQSO. */ - char struct_id[4]; - /** The version number of this structure. Must be 0. - */ - int struct_version; - /** To not receive our own publications, set to 1. - * 0 is the original MQTT behaviour - all messages matching the subscription are received. - */ - unsigned char noLocal; - /** To keep the retain flag as on the original publish message, set to 1. - * If 0, defaults to the original MQTT behaviour where the retain flag is only set on - * publications sent by a broker if in response to a subscribe request. - */ - unsigned char retainAsPublished; - /** 0 - send retained messages at the time of the subscribe (original MQTT behaviour) - * 1 - send retained messages on subscribe only if the subscription is new - * 2 - do not send retained messages at all - */ - unsigned char retainHandling; -} MQTTSubscribe_options; - -#define MQTTSubscribe_options_initializer { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 } - -#endif diff --git a/XAprs b/XAprs deleted file mode 100644 index 7dc9a42840480f210012502e66e010d074b95c1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174928 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 z 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%0Dn>u z24gT6N4r!}f<_|V> zi6`v#Kq(45)O-jEf6jwptbz}DGYG++@&!W92=-FIqG8G;x}w)wXgckSN+_qM9kEag z>;)7wlgeN-NEkpE@Q887RoxW_UpE~fJJ{cmhR%=@*$zS~oWesQ3_2zmOaA6`VdZVJ zXuAmtlWSx*SBM!F`$-|TtNVNv(q;iF*j}lt*_J?9s2~!a;S5UUX@`24bw-V}#mBbW zZ5y*R^i)`tD}g5H!`+m8C)F=%5j+s=)HPuy+L>=mD0lP$*lZxUXLE2*WyZBn)YYa7DxE*7_2W~s)GV?4=bjSlM(z`5xl7css3_(Tpcdj2 zaFWYjYgpB%k=jgUp3pA27Z_Aoww9=bnX`iD&P0mrTX>*yTO=wB1@c)Wse)KOSxG<> zw#8Dmz+i*%14_xJ!*KUi=1~D?s~8Z9{mjdKWa46BNui}F3)^8R8!pvTw;8c$PXHfz z5&%Q3SvM=HVPa-spgJ@(aD4FU!J`AiM~ALGdd<-Bf#+}c_IKJZ4m%feX?JDg#d__@ z!1IX%1bGLdp9?}?5t)ym`Y09IFjJX6s0f>Gt}0;J|K22~haKB$4q1d?u6E@P*2aid zs-jDL(}n1^J@NVVVFI4?Y7$Ec)+&rTNRE=2020F?ZL==~JBfXrof-p}kKkQ2-}+K4 zRtotFSAh>#0tD+J*%sY^P(aEOw&CmC7nlP=K>}Kdh1Hh7dco!dAXt%ApxRX4vHUYP zk}L_wDk9WoEs->M-GxRbIV^0KQSHgQObZl2* zIzdGuxR>>7yotqw?ngZ^>J|u&_p(bUlt{l2Uxa=if&cH&L&(C~EFCm4}76%4D)C>bK+~EMb-g@G-ik0oqmbW(WafkZy4NH*KYg zoz(TNi=4+!$#tx;ld(ZfD@h->tD}cWY=@h=Pt-VCGkW}814Eo5YPSV6<6%W(F$pV| zWx&I5`n7jaWn6=1^DCOdJ0wWO5q@`yiNW{^SDUoTWylf}r?N1mYzRk-o0RhXdB!1t|9VF|Bj;4vkkR0ygA!T8(WJd3?BwrIMRi{?CH zD$nVqmn~Klp&2s2(6!z34fq6eUb6TmiB^CLn-r-^o+$<{?4=*3>?Jai1@kLzH>86R zx#A{>h%X^8&X(gZW<)I=Ae*D_&#)6TNJWgg(dSimvaKzxbCt?k%hvYwT9`g}xL}zi zUtt6JB8l83(a)c3zHE9U&>xE)?_FzRN*!$$sEDr^ITs=rMf#;&1$vqSRJ7`BpXY8= z88HhpW=iBLnTPBmpD4*lPCqdgIO_5q3KF%QC|iU*uEIfMHtB9dT8^Q6|2%0MOjSVw z2P-i>JuU}apbfdYvNfy3;4r_8LB?}`3%%H}#G()JLYb}!*zI0p{D>@Sb`t*5!0Xk_ z(OPACc4jnq%g(w@V8DY7CTxzkQ7I)GQ8cR}RC+Gil`%WYg3K5K#A{#47KT4)*XdP^ z7lTDB6qT2&ogvvPH^BQ)={jcP^^2ZDYRqLgL}0BKfC-9m;=eOjBuc)zSD&>&e=i@X zRVQr=9+4>Ndn1Q9gGp^L*OTgIEnCxYvq}XSu>bmC$q^7Eg
+Qvr6v%ShFYg*8X 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%0DZ3HXm+!;(x?yl zz6glyBR>oqNAErj`fWMHJ>(D%>7utCLVqpN@i`hC@hqyzr&O$ zfw7)W`@`~XQ^}EfSbEbJtA2xByL>24ke+5k=|UNQ@59tORv_9YbEpAr(%0} zS$rL0ckd|t9H=Em8&y@k^aB|qVF|q_a4zFS%TYRH&g+j!fbG-(`ye_MrzOR@#+Pq)_3*?m-m4=o=;)wK~WT$*~kW0 z4|lkq|HjR0N8+o&QliB%ik|Cy|I*#+WrN1=2KhQjCE{$*l+Z!jhl9HvGjRvo8^Kk+ zLFJU3@=M)kp4k=g`zuyBji)SOL(rT~Pq*hUDmXWY0+J1~PtoM`H+x+*$RD-B`MZz?&Tc)oa8%U9`@0B`kCQJDN{P{ zYn-E>uM@*WxTCdA=O{Mq27U-Rw)0ePL_cdf5I$UHpO^9f_rr5Xo|$F(Q4NClTs=oW zr}_C_I8XIStVRjv>ACvRbM?8IAEor^nt^Be&-?iv@2B$=>-B1WblwO*s%K&~O&BPh zr;xyS9-&3nFFiwX^ZL=)$B)j_=XLzh9BYduA79BhC`d7U)ODTvMtG^z$JR;S>A&LFjm%>apnO{wKt3(lr zI?wiFJTu-;zmsK|-N$*iGJYDupXNvNaS=b-;~L}mIr?*4b$O(UekfM2?>qtuoAF^B Hi(mgQKA4?4 diff --git a/igd_desc_parse.h b/igd_desc_parse.h deleted file mode 100644 index 0de546b..0000000 --- a/igd_desc_parse.h +++ /dev/null @@ -1,49 +0,0 @@ -/* $Id: igd_desc_parse.h,v 1.12 2014/11/17 17:19:13 nanard Exp $ */ -/* Project : miniupnp - * http://miniupnp.free.fr/ - * Author : Thomas Bernard - * Copyright (c) 2005-2014 Thomas Bernard - * This software is subject to the conditions detailed in the - * LICENCE file provided in this distribution. - * */ -#ifndef IGD_DESC_PARSE_H_INCLUDED -#define IGD_DESC_PARSE_H_INCLUDED - -/* Structure to store the result of the parsing of UPnP - * descriptions of Internet Gateway Devices */ -#define MINIUPNPC_URL_MAXSIZE (128) -struct IGDdatas_service { - char controlurl[MINIUPNPC_URL_MAXSIZE]; - char eventsuburl[MINIUPNPC_URL_MAXSIZE]; - char scpdurl[MINIUPNPC_URL_MAXSIZE]; - char servicetype[MINIUPNPC_URL_MAXSIZE]; - /*char devicetype[MINIUPNPC_URL_MAXSIZE];*/ -}; - -struct IGDdatas { - char cureltname[MINIUPNPC_URL_MAXSIZE]; - char urlbase[MINIUPNPC_URL_MAXSIZE]; - char presentationurl[MINIUPNPC_URL_MAXSIZE]; - int level; - /*int state;*/ - /* "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1" */ - struct IGDdatas_service CIF; - /* "urn:schemas-upnp-org:service:WANIPConnection:1" - * "urn:schemas-upnp-org:service:WANPPPConnection:1" */ - struct IGDdatas_service first; - /* if both WANIPConnection and WANPPPConnection are present */ - struct IGDdatas_service second; - /* "urn:schemas-upnp-org:service:WANIPv6FirewallControl:1" */ - struct IGDdatas_service IPv6FC; - /* tmp */ - struct IGDdatas_service tmp; -}; - -void IGDstartelt(void *, const char *, int); -void IGDendelt(void *, const char *, int); -void IGDdata(void *, const char *, int); -#ifdef DEBUG -void printIGD(struct IGDdatas *); -#endif /* DEBUG */ - -#endif /* IGD_DESC_PARSE_H_INCLUDED */ diff --git a/mailapi.c b/mailapi.c index fad0897..c1f60d8 100644 --- a/mailapi.c +++ b/mailapi.c @@ -871,8 +871,9 @@ void SendBBSDataToPktMap() { char Return[4096]; char Request[64]; - char Params[50000]; - char * ptr = Params; + char * Params; + char * ptr; + int paramLen; struct MsgInfo * Msg; struct UserInfo * ourBBSRec = LookupCall(BBSName); @@ -1067,6 +1068,17 @@ int unroutableCount = 0; tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); + paramLen = strlen(Peers) + strlen(MsgQueues) + strlen(Messages) + strlen(Unroutables); + + Params = malloc(paramLen + 1000); + + if (Params == 0) + { + free(Messages); + free(Unroutables); + return; + } + ptr = Params; sprintf(Request, "/api/bbsdata/%s", BBSName); @@ -1092,4 +1104,5 @@ int unroutableCount = 0; SendWebRequest("packetnodes.spots.radio", Request, Params, Return); free(Messages); free(Unroutables); + free(Params); } diff --git a/miniupnpc.h b/miniupnpc.h deleted file mode 100644 index 5a9b7c5..0000000 --- a/miniupnpc.h +++ /dev/null @@ -1,153 +0,0 @@ -/* $Id: miniupnpc.h,v 1.56 2020/12/20 18:07:35 nanard Exp $ */ -/* vim: tabstop=4 shiftwidth=4 noexpandtab - * Project: miniupnp - * http://miniupnp.free.fr/ - * Author: Thomas Bernard - * Copyright (c) 2005-2018 Thomas Bernard - * This software is subjects to the conditions detailed - * in the LICENCE file provided within this distribution */ -#ifndef MINIUPNPC_H_INCLUDED -#define MINIUPNPC_H_INCLUDED - -#include "miniupnpc_declspec.h" -#include "igd_desc_parse.h" -#include "upnpdev.h" - -/* error codes : */ -#define UPNPDISCOVER_SUCCESS (0) -#define UPNPDISCOVER_UNKNOWN_ERROR (-1) -#define UPNPDISCOVER_SOCKET_ERROR (-101) -#define UPNPDISCOVER_MEMORY_ERROR (-102) - -/* versions : */ -#define MINIUPNPC_VERSION "2.2.2" -#define MINIUPNPC_API_VERSION 17 - -/* Source port: - Using "1" as an alias for 1900 for backwards compatibility - (presuming one would have used that for the "sameport" parameter) */ -#define UPNP_LOCAL_PORT_ANY 0 -#define UPNP_LOCAL_PORT_SAME 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* Structures definitions : */ -struct UPNParg { const char * elt; const char * val; }; - -char * -simpleUPnPcommand(int, const char *, const char *, - const char *, struct UPNParg *, - int *); - -/* upnpDiscover() - * discover UPnP devices on the network. - * The discovered devices are returned as a chained list. - * It is up to the caller to free the list with freeUPNPDevlist(). - * delay (in millisecond) is the maximum time for waiting any device - * response. - * If available, device list will be obtained from MiniSSDPd. - * Default path for minissdpd socket will be used if minissdpdsock argument - * is NULL. - * If multicastif is not NULL, it will be used instead of the default - * multicast interface for sending SSDP discover packets. - * If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent - * from the source port 1900 (same as destination port), if set to - * UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will - * be attempted as the source port. - * "searchalltypes" parameter is useful when searching several types, - * if 0, the discovery will stop with the first type returning results. - * TTL should default to 2. */ -MINIUPNP_LIBSPEC struct UPNPDev * -upnpDiscover(int delay, const char * multicastif, - const char * minissdpdsock, int localport, - int ipv6, unsigned char ttl, - int * error); - -MINIUPNP_LIBSPEC struct UPNPDev * -upnpDiscoverAll(int delay, const char * multicastif, - const char * minissdpdsock, int localport, - int ipv6, unsigned char ttl, - int * error); - -MINIUPNP_LIBSPEC struct UPNPDev * -upnpDiscoverDevice(const char * device, int delay, const char * multicastif, - const char * minissdpdsock, int localport, - int ipv6, unsigned char ttl, - int * error); - -MINIUPNP_LIBSPEC struct UPNPDev * -upnpDiscoverDevices(const char * const deviceTypes[], - int delay, const char * multicastif, - const char * minissdpdsock, int localport, - int ipv6, unsigned char ttl, - int * error, - int searchalltypes); - -/* parserootdesc() : - * parse root XML description of a UPnP device and fill the IGDdatas - * structure. */ -MINIUPNP_LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *); - -/* structure used to get fast access to urls - * controlURL: controlURL of the WANIPConnection - * ipcondescURL: url of the description of the WANIPConnection - * controlURL_CIF: controlURL of the WANCommonInterfaceConfig - * controlURL_6FC: controlURL of the WANIPv6FirewallControl - */ -struct UPNPUrls { - char * controlURL; - char * ipcondescURL; - char * controlURL_CIF; - char * controlURL_6FC; - char * rootdescURL; -}; - -/* UPNP_GetValidIGD() : - * return values : - * 0 = NO IGD found - * 1 = A valid connected IGD has been found - * 2 = A valid IGD has been found but it reported as - * not connected - * 3 = an UPnP device has been found but was not recognized as an IGD - * - * In any non zero return case, the urls and data structures - * passed as parameters are set. Donc forget to call FreeUPNPUrls(urls) to - * free allocated memory. - */ -MINIUPNP_LIBSPEC int -UPNP_GetValidIGD(struct UPNPDev * devlist, - struct UPNPUrls * urls, - struct IGDdatas * data, - char * lanaddr, int lanaddrlen); - -/* UPNP_GetIGDFromUrl() - * Used when skipping the discovery process. - * When succeding, urls, data, and lanaddr arguments are set. - * return value : - * 0 - Not ok - * 1 - OK */ -MINIUPNP_LIBSPEC int -UPNP_GetIGDFromUrl(const char * rootdescurl, - struct UPNPUrls * urls, - struct IGDdatas * data, - char * lanaddr, int lanaddrlen); - -MINIUPNP_LIBSPEC void -GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, - const char *, unsigned int); - -MINIUPNP_LIBSPEC void -FreeUPNPUrls(struct UPNPUrls *); - -/* return 0 or 1 */ -MINIUPNP_LIBSPEC int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/miniupnpctypes.h b/miniupnpctypes.h deleted file mode 100644 index 591c32f..0000000 --- a/miniupnpctypes.h +++ /dev/null @@ -1,19 +0,0 @@ -/* $Id: miniupnpctypes.h,v 1.2 2012/09/27 15:42:10 nanard Exp $ */ -/* Miniupnp project : http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org - * Author : Thomas Bernard - * Copyright (c) 2011 Thomas Bernard - * This software is subject to the conditions detailed in the - * LICENCE file provided within this distribution */ -#ifndef MINIUPNPCTYPES_H_INCLUDED -#define MINIUPNPCTYPES_H_INCLUDED - -#if (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) -#define UNSIGNED_INTEGER unsigned long long -#define STRTOUI strtoull -#else -#define UNSIGNED_INTEGER unsigned int -#define STRTOUI strtoul -#endif - -#endif - diff --git a/pcap.h b/pcap.h deleted file mode 100644 index fa67dba..0000000 --- a/pcap.h +++ /dev/null @@ -1,257 +0,0 @@ -/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */ -/* - * Copyright (c) 1993, 1994, 1995, 1996, 1997 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the Computer Systems - * Engineering Group at Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#) $Header: /tcpdump/master/libpcap/pcap.h,v 1.45.2.3 2003/11/21 10:20:50 guy Exp $ (LBL) - */ - -#ifndef lib_pcap_h -#define lib_pcap_h - -#ifdef WIN32 -//#include "pcap-stdinc.h" -#else /* WIN32 */ -#include -#include -#endif /* WIN32 */ - -#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H -#include "pcap-bpf.h" -#endif - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define PCAP_VERSION_MAJOR 2 -#define PCAP_VERSION_MINOR 4 - -#define PCAP_ERRBUF_SIZE 256 - -/* - * Compatibility for systems that have a bpf.h that - * predates the bpf typedefs for 64-bit support. - */ -#if BPF_RELEASE - 0 < 199406 -typedef int bpf_int32; -typedef u_int bpf_u_int32; -#endif - -typedef struct pcap pcap_t; -typedef struct pcap_dumper pcap_dumper_t; -typedef struct pcap_if pcap_if_t; -typedef struct pcap_addr pcap_addr_t; - -/* - * The first record in the file contains saved values for some - * of the flags used in the printout phases of tcpdump. - * Many fields here are 32 bit ints so compilers won't insert unwanted - * padding; these files need to be interchangeable across architectures. - * - * Do not change the layout of this structure, in any way (this includes - * changes that only affect the length of fields in this structure). - * - * Also, do not change the interpretation of any of the members of this - * structure, in any way (this includes using values other than - * LINKTYPE_ values, as defined in "savefile.c", in the "linktype" - * field). - * - * Instead: - * - * introduce a new structure for the new format, if the layout - * of the structure changed; - * - * send mail to "tcpdump-workers@tcpdump.org", requesting a new - * magic number for your new capture file format, and, when - * you get the new magic number, put it in "savefile.c"; - * - * use that magic number for save files with the changed file - * header; - * - * make the code in "savefile.c" capable of reading files with - * the old file header as well as files with the new file header - * (using the magic number to determine the header format). - * - * Then supply the changes to "patches@tcpdump.org", so that future - * versions of libpcap and programs that use it (such as tcpdump) will - * be able to read your new capture file format. - */ -struct pcap_file_header { - bpf_u_int32 magic; - u_short version_major; - u_short version_minor; - bpf_int32 thiszone; /* gmt to local correction */ - bpf_u_int32 sigfigs; /* accuracy of timestamps */ - bpf_u_int32 snaplen; /* max length saved portion of each pkt */ - bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */ -}; - -/* - * Each packet in the dump file is prepended with this generic header. - * This gets around the problem of different headers for different - * packet interfaces. - */ -struct pcap_pkthdr { - struct timeval ts; /* time stamp */ - bpf_u_int32 caplen; /* length of portion present */ - bpf_u_int32 len; /* length this packet (off wire) */ -}; - -/* - * As returned by the pcap_stats() - */ -struct pcap_stat { - u_int ps_recv; /* number of packets received */ - u_int ps_drop; /* number of packets dropped */ - u_int ps_ifdrop; /* drops by interface XXX not yet supported */ -#ifdef WIN32 - u_int bs_capt; /* number of packets that reach the application */ -#endif /* WIN32 */ -}; - -/* - * Item in a list of interfaces. - */ -struct pcap_if { - struct pcap_if *next; - char *name; /* name to hand to "pcap_open_live()" */ - char *description; /* textual description of interface, or NULL */ - struct pcap_addr *addresses; - bpf_u_int32 flags; /* PCAP_IF_ interface flags */ -}; - -#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */ - -/* - * Representation of an interface address. - */ -struct pcap_addr { - struct pcap_addr *next; - struct sockaddr *addr; /* address */ - struct sockaddr *netmask; /* netmask for that address */ - struct sockaddr *broadaddr; /* broadcast address for that address */ - struct sockaddr *dstaddr; /* P2P destination address for that address */ -}; - -typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *, - const u_char *); - -char *pcap_lookupdev(char *); -int pcap_lookupnet(const char *, bpf_u_int32 *, bpf_u_int32 *, char *); -pcap_t *pcap_open_live(const char *, int, int, int, char *); -pcap_t *pcap_open_dead(int, int); -pcap_t *pcap_open_offline(const char *, char *); -void pcap_close(pcap_t *); -int pcap_loop(pcap_t *, int, pcap_handler, u_char *); -int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *); -const u_char* - pcap_next(pcap_t *, struct pcap_pkthdr *); -int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **); -void pcap_breakloop(pcap_t *); -int pcap_stats(pcap_t *, struct pcap_stat *); -int pcap_setfilter(pcap_t *, struct bpf_program *); -int pcap_getnonblock(pcap_t *, char *); -int pcap_setnonblock(pcap_t *, int, char *); -void pcap_perror(pcap_t *, char *); -char *pcap_strerror(int); -char *pcap_geterr(pcap_t *); -int pcap_compile(pcap_t *, struct bpf_program *, char *, int, - bpf_u_int32); -int pcap_compile_nopcap(int, int, struct bpf_program *, - char *, int, bpf_u_int32); -void pcap_freecode(struct bpf_program *); -int pcap_datalink(pcap_t *); -int pcap_list_datalinks(pcap_t *, int **); -int pcap_set_datalink(pcap_t *, int); -int pcap_datalink_name_to_val(const char *); -const char *pcap_datalink_val_to_name(int); -const char *pcap_datalink_val_to_description(int); -int pcap_snapshot(pcap_t *); -int pcap_is_swapped(pcap_t *); -int pcap_major_version(pcap_t *); -int pcap_minor_version(pcap_t *); - -/* XXX */ -FILE *pcap_file(pcap_t *); -int pcap_fileno(pcap_t *); - -pcap_dumper_t *pcap_dump_open(pcap_t *, const char *); -int pcap_dump_flush(pcap_dumper_t *); -void pcap_dump_close(pcap_dumper_t *); -void pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *); -FILE *pcap_dump_file(pcap_dumper_t *); - -int pcap_findalldevs(pcap_if_t **, char *); -void pcap_freealldevs(pcap_if_t *); - -const char *pcap_lib_version(void); - -/* XXX this guy lives in the bpf tree */ -u_int bpf_filter(struct bpf_insn *, u_char *, u_int, u_int); -int bpf_validate(struct bpf_insn *f, int len); -char *bpf_image(struct bpf_insn *, int); -void bpf_dump(struct bpf_program *, int); - -#ifdef WIN32 -/* - * Win32 definitions - */ - -int pcap_setbuff(pcap_t *p, int dim); -int pcap_setmode(pcap_t *p, int mode); -int pcap_sendpacket(pcap_t *p, u_char *buf, int size); -int pcap_setmintocopy(pcap_t *p, int size); - -#ifdef WPCAP -/* Include file with the wpcap-specific extensions */ -#include -#endif - -#define MODE_CAPT 0 -#define MODE_STAT 1 - -#else -/* - * UN*X definitions - */ - -int pcap_get_selectable_fd(pcap_t *); - -#endif /* WIN32 */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/upnpcommands.h b/upnpcommands.h deleted file mode 100644 index 994104e..0000000 --- a/upnpcommands.h +++ /dev/null @@ -1,348 +0,0 @@ -/* $Id: upnpcommands.h,v 1.33 2019/02/10 12:29:25 nanard Exp $ */ -/* Miniupnp project : http://miniupnp.free.fr/ - * Author : Thomas Bernard - * Copyright (c) 2005-2018 Thomas Bernard - * This software is subject to the conditions detailed in the - * LICENCE file provided within this distribution */ -#ifndef UPNPCOMMANDS_H_INCLUDED -#define UPNPCOMMANDS_H_INCLUDED - -#include "miniupnpc_declspec.h" -#include "miniupnpctypes.h" - -/* MiniUPnPc return codes : */ -#define UPNPCOMMAND_SUCCESS (0) -#define UPNPCOMMAND_UNKNOWN_ERROR (-1) -#define UPNPCOMMAND_INVALID_ARGS (-2) -#define UPNPCOMMAND_HTTP_ERROR (-3) -#define UPNPCOMMAND_INVALID_RESPONSE (-4) -#define UPNPCOMMAND_MEM_ALLOC_ERROR (-5) - -#ifdef __cplusplus -extern "C" { -#endif - -struct PortMappingParserData; - -MINIUPNP_LIBSPEC UNSIGNED_INTEGER -UPNP_GetTotalBytesSent(const char * controlURL, - const char * servicetype); - -MINIUPNP_LIBSPEC UNSIGNED_INTEGER -UPNP_GetTotalBytesReceived(const char * controlURL, - const char * servicetype); - -MINIUPNP_LIBSPEC UNSIGNED_INTEGER -UPNP_GetTotalPacketsSent(const char * controlURL, - const char * servicetype); - -MINIUPNP_LIBSPEC UNSIGNED_INTEGER -UPNP_GetTotalPacketsReceived(const char * controlURL, - const char * servicetype); - -/* UPNP_GetStatusInfo() - * status and lastconnerror are 64 byte buffers - * Return values : - * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR - * or a UPnP Error code */ -MINIUPNP_LIBSPEC int -UPNP_GetStatusInfo(const char * controlURL, - const char * servicetype, - char * status, - unsigned int * uptime, - char * lastconnerror); - -/* UPNP_GetConnectionTypeInfo() - * argument connectionType is a 64 character buffer - * Return Values : - * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR - * or a UPnP Error code */ -MINIUPNP_LIBSPEC int -UPNP_GetConnectionTypeInfo(const char * controlURL, - const char * servicetype, - char * connectionType); - -/* UPNP_GetExternalIPAddress() call the corresponding UPNP method. - * if the third arg is not null the value is copied to it. - * at least 16 bytes must be available - * - * Return values : - * 0 : SUCCESS - * NON ZERO : ERROR Either an UPnP error code or an unknown error. - * - * possible UPnP Errors : - * 402 Invalid Args - See UPnP Device Architecture section on Control. - * 501 Action Failed - See UPnP Device Architecture section on Control. */ -MINIUPNP_LIBSPEC int -UPNP_GetExternalIPAddress(const char * controlURL, - const char * servicetype, - char * extIpAdd); - -/* UPNP_GetLinkLayerMaxBitRates() - * call WANCommonInterfaceConfig:1#GetCommonLinkProperties - * - * return values : - * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR - * or a UPnP Error Code. */ -MINIUPNP_LIBSPEC int -UPNP_GetLinkLayerMaxBitRates(const char* controlURL, - const char* servicetype, - unsigned int * bitrateDown, - unsigned int * bitrateUp); - -/* UPNP_AddPortMapping() - * if desc is NULL, it will be defaulted to "libminiupnpc" - * remoteHost is usually NULL because IGD don't support it. - * - * Return values : - * 0 : SUCCESS - * NON ZERO : ERROR. Either an UPnP error code or an unknown error. - * - * List of possible UPnP errors for AddPortMapping : - * errorCode errorDescription (short) - Description (long) - * 402 Invalid Args - See UPnP Device Architecture section on Control. - * 501 Action Failed - See UPnP Device Architecture section on Control. - * 606 Action not authorized - The action requested REQUIRES authorization and - * the sender was not authorized. - * 715 WildCardNotPermittedInSrcIP - The source IP address cannot be - * wild-carded - * 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded - * 718 ConflictInMappingEntry - The port mapping entry specified conflicts - * with a mapping assigned previously to another client - * 724 SamePortValuesRequired - Internal and External port values - * must be the same - * 725 OnlyPermanentLeasesSupported - The NAT implementation only supports - * permanent lease times on port mappings - * 726 RemoteHostOnlySupportsWildcard - RemoteHost must be a wildcard - * and cannot be a specific IP address or DNS name - * 727 ExternalPortOnlySupportsWildcard - ExternalPort must be a wildcard and - * cannot be a specific port value - * 728 NoPortMapsAvailable - There are not enough free ports available to - * complete port mapping. - * 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed - * due to conflict with other mechanisms. - * 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded - */ -MINIUPNP_LIBSPEC int -UPNP_AddPortMapping(const char * controlURL, const char * servicetype, - const char * extPort, - const char * inPort, - const char * inClient, - const char * desc, - const char * proto, - const char * remoteHost, - const char * leaseDuration); - -/* UPNP_AddAnyPortMapping() - * if desc is NULL, it will be defaulted to "libminiupnpc" - * remoteHost is usually NULL because IGD don't support it. - * - * Return values : - * 0 : SUCCESS - * NON ZERO : ERROR. Either an UPnP error code or an unknown error. - * - * List of possible UPnP errors for AddPortMapping : - * errorCode errorDescription (short) - Description (long) - * 402 Invalid Args - See UPnP Device Architecture section on Control. - * 501 Action Failed - See UPnP Device Architecture section on Control. - * 606 Action not authorized - The action requested REQUIRES authorization and - * the sender was not authorized. - * 715 WildCardNotPermittedInSrcIP - The source IP address cannot be - * wild-carded - * 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded - * 728 NoPortMapsAvailable - There are not enough free ports available to - * complete port mapping. - * 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed - * due to conflict with other mechanisms. - * 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded - */ -MINIUPNP_LIBSPEC int -UPNP_AddAnyPortMapping(const char * controlURL, const char * servicetype, - const char * extPort, - const char * inPort, - const char * inClient, - const char * desc, - const char * proto, - const char * remoteHost, - const char * leaseDuration, - char * reservedPort); - -/* UPNP_DeletePortMapping() - * Use same argument values as what was used for AddPortMapping(). - * remoteHost is usually NULL because IGD don't support it. - * Return Values : - * 0 : SUCCESS - * NON ZERO : error. Either an UPnP error code or an undefined error. - * - * List of possible UPnP errors for DeletePortMapping : - * 402 Invalid Args - See UPnP Device Architecture section on Control. - * 606 Action not authorized - The action requested REQUIRES authorization - * and the sender was not authorized. - * 714 NoSuchEntryInArray - The specified value does not exist in the array */ -MINIUPNP_LIBSPEC int -UPNP_DeletePortMapping(const char * controlURL, const char * servicetype, - const char * extPort, const char * proto, - const char * remoteHost); - -/* UPNP_DeletePortRangeMapping() - * Use same argument values as what was used for AddPortMapping(). - * remoteHost is usually NULL because IGD don't support it. - * Return Values : - * 0 : SUCCESS - * NON ZERO : error. Either an UPnP error code or an undefined error. - * - * List of possible UPnP errors for DeletePortMapping : - * 606 Action not authorized - The action requested REQUIRES authorization - * and the sender was not authorized. - * 730 PortMappingNotFound - This error message is returned if no port - * mapping is found in the specified range. - * 733 InconsistentParameters - NewStartPort and NewEndPort values are not consistent. */ -MINIUPNP_LIBSPEC int -UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype, - const char * extPortStart, const char * extPortEnd, - const char * proto, - const char * manage); - -/* UPNP_GetPortMappingNumberOfEntries() - * not supported by all routers */ -MINIUPNP_LIBSPEC int -UPNP_GetPortMappingNumberOfEntries(const char * controlURL, - const char * servicetype, - unsigned int * numEntries); - -/* UPNP_GetSpecificPortMappingEntry() - * retrieves an existing port mapping - * params : - * in extPort - * in proto - * in remoteHost - * out intClient (16 bytes) - * out intPort (6 bytes) - * out desc (80 bytes) - * out enabled (4 bytes) - * out leaseDuration (16 bytes) - * - * return value : - * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR - * or a UPnP Error Code. - * - * List of possible UPnP errors for _GetSpecificPortMappingEntry : - * 402 Invalid Args - See UPnP Device Architecture section on Control. - * 501 Action Failed - See UPnP Device Architecture section on Control. - * 606 Action not authorized - The action requested REQUIRES authorization - * and the sender was not authorized. - * 714 NoSuchEntryInArray - The specified value does not exist in the array. - */ -MINIUPNP_LIBSPEC int -UPNP_GetSpecificPortMappingEntry(const char * controlURL, - const char * servicetype, - const char * extPort, - const char * proto, - const char * remoteHost, - char * intClient, - char * intPort, - char * desc, - char * enabled, - char * leaseDuration); - -/* UPNP_GetGenericPortMappingEntry() - * params : - * in index - * out extPort (6 bytes) - * out intClient (16 bytes) - * out intPort (6 bytes) - * out protocol (4 bytes) - * out desc (80 bytes) - * out enabled (4 bytes) - * out rHost (64 bytes) - * out duration (16 bytes) - * - * return value : - * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR - * or a UPnP Error Code. - * - * Possible UPNP Error codes : - * 402 Invalid Args - See UPnP Device Architecture section on Control. - * 606 Action not authorized - The action requested REQUIRES authorization - * and the sender was not authorized. - * 713 SpecifiedArrayIndexInvalid - The specified array index is out of bounds - */ -MINIUPNP_LIBSPEC int -UPNP_GetGenericPortMappingEntry(const char * controlURL, - const char * servicetype, - const char * index, - char * extPort, - char * intClient, - char * intPort, - char * protocol, - char * desc, - char * enabled, - char * rHost, - char * duration); - -/* UPNP_GetListOfPortMappings() Available in IGD v2 - * - * - * Possible UPNP Error codes : - * 606 Action not Authorized - * 730 PortMappingNotFound - no port mapping is found in the specified range. - * 733 InconsistantParameters - NewStartPort and NewEndPort values are not - * consistent. - */ -MINIUPNP_LIBSPEC int -UPNP_GetListOfPortMappings(const char * controlURL, - const char * servicetype, - const char * startPort, - const char * endPort, - const char * protocol, - const char * numberOfPorts, - struct PortMappingParserData * data); - -/* IGD:2, functions for service WANIPv6FirewallControl:1 */ -MINIUPNP_LIBSPEC int -UPNP_GetFirewallStatus(const char * controlURL, - const char * servicetype, - int * firewallEnabled, - int * inboundPinholeAllowed); - -MINIUPNP_LIBSPEC int -UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype, - const char * remoteHost, - const char * remotePort, - const char * intClient, - const char * intPort, - const char * proto, - int * opTimeout); - -MINIUPNP_LIBSPEC int -UPNP_AddPinhole(const char * controlURL, const char * servicetype, - const char * remoteHost, - const char * remotePort, - const char * intClient, - const char * intPort, - const char * proto, - const char * leaseTime, - char * uniqueID); - -MINIUPNP_LIBSPEC int -UPNP_UpdatePinhole(const char * controlURL, const char * servicetype, - const char * uniqueID, - const char * leaseTime); - -MINIUPNP_LIBSPEC int -UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char * uniqueID); - -MINIUPNP_LIBSPEC int -UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype, - const char * uniqueID, int * isWorking); - -MINIUPNP_LIBSPEC int -UPNP_GetPinholePackets(const char * controlURL, const char * servicetype, - const char * uniqueID, int * packets); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/upnpdev.h b/upnpdev.h deleted file mode 100644 index 9b2cb43..0000000 --- a/upnpdev.h +++ /dev/null @@ -1,44 +0,0 @@ -/* $Id: upnpdev.h,v 1.3 2020/05/29 15:57:42 nanard Exp $ */ -/* Project : miniupnp - * Web : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/ - * Author : Thomas BERNARD - * copyright (c) 2005-2020 Thomas Bernard - * This software is subjet to the conditions detailed in the - * provided LICENSE file. */ -#ifndef UPNPDEV_H_INCLUDED -#define UPNPDEV_H_INCLUDED - -#include "miniupnpc_declspec.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct UPNPDev { - struct UPNPDev * pNext; - char * descURL; - char * st; - char * usn; - unsigned int scope_id; -#if defined(__STDC_VERSION) && __STDC_VERSION__ >= 199901L - /* C99 flexible array member */ - char buffer[]; -#elif defined(__GNUC__) - char buffer[0]; -#else - /* Fallback to a hack */ - char buffer[1]; -#endif -}; - -/* freeUPNPDevlist() - * free list returned by upnpDiscover() */ -MINIUPNP_LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist); - - -#ifdef __cplusplus -} -#endif - - -#endif /* UPNPDEV_H_INCLUDED */ diff --git a/upnperrors.h b/upnperrors.h deleted file mode 100644 index 3115aee..0000000 --- a/upnperrors.h +++ /dev/null @@ -1,26 +0,0 @@ -/* $Id: upnperrors.h,v 1.6 2015/07/21 13:16:55 nanard Exp $ */ -/* (c) 2007-2015 Thomas Bernard - * All rights reserved. - * MiniUPnP Project. - * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ - * This software is subjet to the conditions detailed in the - * provided LICENCE file. */ -#ifndef UPNPERRORS_H_INCLUDED -#define UPNPERRORS_H_INCLUDED - -#include "miniupnpc_declspec.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* strupnperror() - * Return a string description of the UPnP error code - * or NULL for undefinded errors */ -MINIUPNP_LIBSPEC const char * strupnperror(int err); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/zconf.h b/zconf.h deleted file mode 100644 index a359cd1..0000000 --- a/zconf.h +++ /dev/null @@ -1,333 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - */ -#ifdef Z_PREFIX -# define deflateInit_ z_deflateInit_ -# define deflate z_deflate -# define deflateEnd z_deflateEnd -# define inflateInit_ z_inflateInit_ -# define inflate z_inflate -# define inflateEnd z_inflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateSetDictionary z_deflateSetDictionary -# define deflateCopy z_deflateCopy -# define deflateReset z_deflateReset -# define deflateParams z_deflateParams -# define deflateBound z_deflateBound -# define deflatePrime z_deflatePrime -# define inflateInit2_ z_inflateInit2_ -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateCopy z_inflateCopy -# define inflateReset z_inflateReset -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# define uncompress z_uncompress -# define adler32 z_adler32 -# define crc32 z_crc32 -# define get_crc_table z_get_crc_table -# define zError z_zError - -# define alloc_func z_alloc_func -# define free_func z_free_func -# define in_func z_in_func -# define out_func z_out_func -# define Byte z_Byte -# define uInt z_uInt -# define uLong z_uLong -# define Bytef z_Bytef -# define charf z_charf -# define intf z_intf -# define uIntf z_uIntf -# define uLongf z_uLongf -# define voidpf z_voidpf -# define voidp z_voidp -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ -# include /* for off_t */ -# include /* for SEEK_* and off_t */ -# ifdef VMS -# include /* for off_t */ -# endif -# define z_off_t off_t -#endif -#ifndef SEEK_SET -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif -#ifndef z_off_t -# define z_off_t long -#endif - -#if defined(__OS400__) -# define NO_vsnprintf -#endif - -#if defined(__MVS__) -# define NO_vsnprintf -# ifdef FAR -# undef FAR -# endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) -# pragma map(deflateInit_,"DEIN") -# pragma map(deflateInit2_,"DEIN2") -# pragma map(deflateEnd,"DEEND") -# pragma map(deflateBound,"DEBND") -# pragma map(inflateInit_,"ININ") -# pragma map(inflateInit2_,"ININ2") -# pragma map(inflateEnd,"INEND") -# pragma map(inflateSync,"INSY") -# pragma map(inflateSetDictionary,"INSEDI") -# pragma map(compressBound,"CMBND") -# pragma map(inflate_table,"INTABL") -# pragma map(inflate_fast,"INFA") -# pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/zlib.h b/zlib.h deleted file mode 100644 index 10eb981..0000000 --- a/zlib.h +++ /dev/null @@ -1,1358 +0,0 @@ -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.3, July 18th, 2005 - - Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - - - The data format used by the zlib library is described by RFCs (Request for - Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt - (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). -*/ - -#ifndef ZLIB_H -#define ZLIB_H - -#include "zconf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define ZLIB_VERSION "1.2.3" -#define ZLIB_VERNUM 0x1230 - -/* - The 'zlib' compression library provides in-memory compression and - decompression functions, including integrity checks of the uncompressed - data. This version of the library supports only one compression method - (deflation) but other algorithms will be added later and will have the same - stream interface. - - Compression can be done in a single step if the buffers are large - enough (for example if an input file is mmap'ed), or can be done by - repeated calls of the compression function. In the latter case, the - application must provide more input and/or consume the output - (providing more output space) before each call. - - The compressed data format used by default by the in-memory functions is - the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped - around a deflate stream, which is itself documented in RFC 1951. - - The library also supports reading and writing files in gzip (.gz) format - with an interface similar to that of stdio using the functions that start - with "gz". The gzip format is different from the zlib format. gzip is a - gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. - - This library can optionally read and write gzip streams in memory as well. - - The zlib format was designed to be compact and fast for use in memory - and on communications channels. The gzip format was designed for single- - file compression on file systems, has a larger header than zlib to maintain - directory information, and uses a different, slower check method than zlib. - - The library does not install any signal handler. The decoder checks - the consistency of the compressed data, so the library should never - crash even in case of corrupted input. -*/ - -typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); -typedef void (*free_func) OF((voidpf opaque, voidpf address)); - -struct internal_state; - -typedef struct z_stream_s { - Bytef *next_in; /* next input byte */ - uInt avail_in; /* number of bytes available at next_in */ - uLong total_in; /* total nb of input bytes read so far */ - - Bytef *next_out; /* next output byte should be put there */ - uInt avail_out; /* remaining free space at next_out */ - uLong total_out; /* total nb of bytes output so far */ - - char *msg; /* last error message, NULL if no error */ - struct internal_state FAR *state; /* not visible by applications */ - - alloc_func zalloc; /* used to allocate the internal state */ - free_func zfree; /* used to free the internal state */ - voidpf opaque; /* private data object passed to zalloc and zfree */ - - int data_type; /* best guess about the data type: binary or text */ - uLong adler; /* adler32 value of the uncompressed data */ - uLong reserved; /* reserved for future use */ -} z_stream; - -typedef z_stream FAR *z_streamp; - -/* - gzip header information passed to and from zlib routines. See RFC 1952 - for more details on the meanings of these fields. -*/ -typedef struct gz_header_s { - int text; /* true if compressed data believed to be text */ - uLong time; /* modification time */ - int xflags; /* extra flags (not used when writing a gzip file) */ - int os; /* operating system */ - Bytef *extra; /* pointer to extra field or Z_NULL if none */ - uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ - uInt extra_max; /* space at extra (only when reading header) */ - Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ - uInt name_max; /* space at name (only when reading header) */ - Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ - uInt comm_max; /* space at comment (only when reading header) */ - int hcrc; /* true if there was or will be a header crc */ - int done; /* true when done reading gzip header (not used - when writing a gzip file) */ -} gz_header; - -typedef gz_header FAR *gz_headerp; - -/* - The application must update next_in and avail_in when avail_in has - dropped to zero. It must update next_out and avail_out when avail_out - has dropped to zero. The application must initialize zalloc, zfree and - opaque before calling the init function. All other fields are set by the - compression library and must not be updated by the application. - - The opaque value provided by the application will be passed as the first - parameter for calls of zalloc and zfree. This can be useful for custom - memory management. The compression library attaches no meaning to the - opaque value. - - zalloc must return Z_NULL if there is not enough memory for the object. - If zlib is used in a multi-threaded application, zalloc and zfree must be - thread safe. - - On 16-bit systems, the functions zalloc and zfree must be able to allocate - exactly 65536 bytes, but will not be required to allocate more than this - if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, - pointers returned by zalloc for objects of exactly 65536 bytes *must* - have their offset normalized to zero. The default allocation function - provided by this library ensures this (see zutil.c). To reduce memory - requirements and avoid any allocation of 64K objects, at the expense of - compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h). - - The fields total_in and total_out can be used for statistics or - progress reports. After compression, total_in holds the total size of - the uncompressed data and may be saved for use in the decompressor - (particularly if the decompressor wants to decompress everything in - a single step). -*/ - - /* constants */ - -#define Z_NO_FLUSH 0 -#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */ -#define Z_SYNC_FLUSH 2 -#define Z_FULL_FLUSH 3 -#define Z_FINISH 4 -#define Z_BLOCK 5 -/* Allowed flush values; see deflate() and inflate() below for details */ - -#define Z_OK 0 -#define Z_STREAM_END 1 -#define Z_NEED_DICT 2 -#define Z_ERRNO (-1) -#define Z_STREAM_ERROR (-2) -#define Z_DATA_ERROR (-3) -#define Z_MEM_ERROR (-4) -#define Z_BUF_ERROR (-5) -#define Z_VERSION_ERROR (-6) -/* Return codes for the compression/decompression functions. Negative - * values are errors, positive values are used for special but normal events. - */ - -#define Z_NO_COMPRESSION 0 -#define Z_BEST_SPEED 1 -#define Z_BEST_COMPRESSION 9 -#define Z_DEFAULT_COMPRESSION (-1) -/* compression levels */ - -#define Z_FILTERED 1 -#define Z_HUFFMAN_ONLY 2 -#define Z_RLE 3 -#define Z_FIXED 4 -#define Z_DEFAULT_STRATEGY 0 -/* compression strategy; see deflateInit2() below for details */ - -#define Z_BINARY 0 -#define Z_TEXT 1 -#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ -#define Z_UNKNOWN 2 -/* Possible values of the data_type field (though see inflate()) */ - -#define Z_DEFLATED 8 -/* The deflate compression method (the only one supported in this version) */ - -#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ - -#define zlib_version zlibVersion() -/* for compatibility with versions < 1.0.2 */ - - /* basic functions */ - -ZEXTERN const char * ZEXPORT zlibVersion OF((void)); -/* The application can compare zlibVersion and ZLIB_VERSION for consistency. - If the first character differs, the library code actually used is - not compatible with the zlib.h header file used by the application. - This check is automatically made by deflateInit and inflateInit. - */ - -/* -ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); - - Initializes the internal stream state for compression. The fields - zalloc, zfree and opaque must be initialized before by the caller. - If zalloc and zfree are set to Z_NULL, deflateInit updates them to - use default allocation functions. - - The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: - 1 gives best speed, 9 gives best compression, 0 gives no compression at - all (the input data is simply copied a block at a time). - Z_DEFAULT_COMPRESSION requests a default compromise between speed and - compression (currently equivalent to level 6). - - deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if level is not a valid compression level, - Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible - with the version assumed by the caller (ZLIB_VERSION). - msg is set to null if there is no error message. deflateInit does not - perform any compression: this will be done by deflate(). -*/ - - -ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); -/* - deflate compresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce some - output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. deflate performs one or both of the - following actions: - - - Compress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in and avail_in are updated and - processing will resume at this point for the next call of deflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. This action is forced if the parameter flush is non zero. - Forcing flush frequently degrades the compression ratio, so this parameter - should be set only when necessary (in interactive applications). - Some output may be provided even if flush is not set. - - Before the call of deflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming - more output, and updating avail_in or avail_out accordingly; avail_out - should never be zero before the call. The application can consume the - compressed output when it wants, for example when the output buffer is full - (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK - and with zero avail_out, it must be called again after making room in the - output buffer because there might be more output pending. - - Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to - decide how much data to accumualte before producing output, in order to - maximize compression. - - If the parameter flush is set to Z_SYNC_FLUSH, all pending output is - flushed to the output buffer and the output is aligned on a byte boundary, so - that the decompressor can get all input data available so far. (In particular - avail_in is zero after the call if enough output space has been provided - before the call.) Flushing may degrade compression for some compression - algorithms and so it should be used only when necessary. - - If flush is set to Z_FULL_FLUSH, all output is flushed as with - Z_SYNC_FLUSH, and the compression state is reset so that decompression can - restart from this point if previous compressed data has been damaged or if - random access is desired. Using Z_FULL_FLUSH too often can seriously degrade - compression. - - If deflate returns with avail_out == 0, this function must be called again - with the same value of the flush parameter and more output space (updated - avail_out), until the flush is complete (deflate returns with non-zero - avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that - avail_out is greater than six to avoid repeated flush markers due to - avail_out == 0 on return. - - If the parameter flush is set to Z_FINISH, pending input is processed, - pending output is flushed and deflate returns with Z_STREAM_END if there - was enough output space; if deflate returns with Z_OK, this function must be - called again with Z_FINISH and more output space (updated avail_out) but no - more input data, until it returns with Z_STREAM_END or an error. After - deflate has returned Z_STREAM_END, the only possible operations on the - stream are deflateReset or deflateEnd. - - Z_FINISH can be used immediately after deflateInit if all the compression - is to be done in a single step. In this case, avail_out must be at least - the value returned by deflateBound (see below). If deflate does not return - Z_STREAM_END, then it must be called again as described above. - - deflate() sets strm->adler to the adler32 checksum of all input read - so far (that is, total_in bytes). - - deflate() may update strm->data_type if it can make a good guess about - the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered - binary. This field is only for information purposes and does not affect - the compression algorithm in any manner. - - deflate() returns Z_OK if some progress has been made (more input - processed or more output produced), Z_STREAM_END if all input has been - consumed and all output has been produced (only when flush is set to - Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example - if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible - (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not - fatal, and deflate() can be called again with more input and more output - space to continue compressing. -*/ - - -ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any - pending output. - - deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the - stream state was inconsistent, Z_DATA_ERROR if the stream was freed - prematurely (some input or output was discarded). In the error case, - msg may be set but then points to a static string (which must not be - deallocated). -*/ - - -/* -ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); - - Initializes the internal stream state for decompression. The fields - next_in, avail_in, zalloc, zfree and opaque must be initialized before by - the caller. If next_in is not Z_NULL and avail_in is large enough (the exact - value depends on the compression method), inflateInit determines the - compression method from the zlib header and allocates all data structures - accordingly; otherwise the allocation will be deferred to the first call of - inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to - use default allocation functions. - - inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller. msg is set to null if there is no error - message. inflateInit does not perform any decompression apart from reading - the zlib header if present: this will be done by inflate(). (So next_in and - avail_in may be modified, but next_out and avail_out are unchanged.) -*/ - - -ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); -/* - inflate decompresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. inflate performs one or both of the - following actions: - - - Decompress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in is updated and processing - will resume at this point for the next call of inflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. inflate() provides as much output as possible, until there - is no more input data or no more space in the output buffer (see below - about the flush parameter). - - Before the call of inflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming - more output, and updating the next_* and avail_* values accordingly. - The application can consume the uncompressed output when it wants, for - example when the output buffer is full (avail_out == 0), or after each - call of inflate(). If inflate returns Z_OK and with zero avail_out, it - must be called again after making room in the output buffer because there - might be more output pending. - - The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, - Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much - output as possible to the output buffer. Z_BLOCK requests that inflate() stop - if and when it gets to the next deflate block boundary. When decoding the - zlib or gzip format, this will cause inflate() to return immediately after - the header and before the first block. When doing a raw inflate, inflate() - will go ahead and process the first block, and will return when it gets to - the end of that block, or when it runs out of data. - - The Z_BLOCK option assists in appending to or combining deflate streams. - Also to assist in this, on return inflate() will set strm->data_type to the - number of unused bits in the last byte taken from strm->next_in, plus 64 - if inflate() is currently decoding the last block in the deflate stream, - plus 128 if inflate() returned immediately after decoding an end-of-block - code or decoding the complete header up to just before the first byte of the - deflate stream. The end-of-block will not be indicated until all of the - uncompressed data from that block has been written to strm->next_out. The - number of unused bits may in general be greater than seven, except when - bit 7 of data_type is set, in which case the number of unused bits will be - less than eight. - - inflate() should normally be called until it returns Z_STREAM_END or an - error. However if all decompression is to be performed in a single step - (a single call of inflate), the parameter flush should be set to - Z_FINISH. In this case all pending input is processed and all pending - output is flushed; avail_out must be large enough to hold all the - uncompressed data. (The size of the uncompressed data may have been saved - by the compressor for this purpose.) The next operation on this stream must - be inflateEnd to deallocate the decompression state. The use of Z_FINISH - is never required, but can be used to inform inflate that a faster approach - may be used for the single inflate() call. - - In this implementation, inflate() always flushes as much output as - possible to the output buffer, and always uses the faster approach on the - first call. So the only effect of the flush parameter in this implementation - is on the return value of inflate(), as noted below, or when it returns early - because Z_BLOCK is used. - - If a preset dictionary is needed after this call (see inflateSetDictionary - below), inflate sets strm->adler to the adler32 checksum of the dictionary - chosen by the compressor and returns Z_NEED_DICT; otherwise it sets - strm->adler to the adler32 checksum of all output produced so far (that is, - total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described - below. At the end of the stream, inflate() checks that its computed adler32 - checksum is equal to that saved by the compressor and returns Z_STREAM_END - only if the checksum is correct. - - inflate() will decompress and check either zlib-wrapped or gzip-wrapped - deflate data. The header type is detected automatically. Any information - contained in the gzip header is not retained, so applications that need that - information should instead use raw inflate, see inflateInit2() below, or - inflateBack() and perform their own processing of the gzip header and - trailer. - - inflate() returns Z_OK if some progress has been made (more input processed - or more output produced), Z_STREAM_END if the end of the compressed data has - been reached and all uncompressed output has been produced, Z_NEED_DICT if a - preset dictionary is needed at this point, Z_DATA_ERROR if the input data was - corrupted (input stream not conforming to the zlib format or incorrect check - value), Z_STREAM_ERROR if the stream structure was inconsistent (for example - if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory, - Z_BUF_ERROR if no progress is possible or if there was not enough room in the - output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and - inflate() can be called again with more input and more output space to - continue decompressing. If Z_DATA_ERROR is returned, the application may then - call inflateSync() to look for a good compression block if a partial recovery - of the data is desired. -*/ - - -ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any - pending output. - - inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state - was inconsistent. In the error case, msg may be set but then points to a - static string (which must not be deallocated). -*/ - - /* Advanced functions */ - -/* - The following functions are needed only in some special applications. -*/ - -/* -ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, - int level, - int method, - int windowBits, - int memLevel, - int strategy)); - - This is another version of deflateInit with more compression options. The - fields next_in, zalloc, zfree and opaque must be initialized before by - the caller. - - The method parameter is the compression method. It must be Z_DEFLATED in - this version of the library. - - The windowBits parameter is the base two logarithm of the window size - (the size of the history buffer). It should be in the range 8..15 for this - version of the library. Larger values of this parameter result in better - compression at the expense of memory usage. The default value is 15 if - deflateInit is used instead. - - windowBits can also be -8..-15 for raw deflate. In this case, -windowBits - determines the window size. deflate() will then generate raw deflate data - with no zlib header or trailer, and will not compute an adler32 check value. - - windowBits can also be greater than 15 for optional gzip encoding. Add - 16 to windowBits to write a simple gzip header and trailer around the - compressed data instead of a zlib wrapper. The gzip header will have no - file name, no extra data, no comment, no modification time (set to zero), - no header crc, and the operating system will be set to 255 (unknown). If a - gzip stream is being written, strm->adler is a crc32 instead of an adler32. - - The memLevel parameter specifies how much memory should be allocated - for the internal compression state. memLevel=1 uses minimum memory but - is slow and reduces compression ratio; memLevel=9 uses maximum memory - for optimal speed. The default value is 8. See zconf.h for total memory - usage as a function of windowBits and memLevel. - - The strategy parameter is used to tune the compression algorithm. Use the - value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a - filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no - string match), or Z_RLE to limit match distances to one (run-length - encoding). Filtered data consists mostly of small values with a somewhat - random distribution. In this case, the compression algorithm is tuned to - compress them better. The effect of Z_FILTERED is to force more Huffman - coding and less string matching; it is somewhat intermediate between - Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as - Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy - parameter only affects the compression ratio but not the correctness of the - compressed output even if it is not set appropriately. Z_FIXED prevents the - use of dynamic Huffman codes, allowing for a simpler decoder for special - applications. - - deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid - method). msg is set to null if there is no error message. deflateInit2 does - not perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the compression dictionary from the given byte sequence - without producing any compressed output. This function must be called - immediately after deflateInit, deflateInit2 or deflateReset, before any - call of deflate. The compressor and decompressor must use exactly the same - dictionary (see inflateSetDictionary). - - The dictionary should consist of strings (byte sequences) that are likely - to be encountered later in the data to be compressed, with the most commonly - used strings preferably put towards the end of the dictionary. Using a - dictionary is most useful when the data to be compressed is short and can be - predicted with good accuracy; the data can then be compressed better than - with the default empty dictionary. - - Depending on the size of the compression data structures selected by - deflateInit or deflateInit2, a part of the dictionary may in effect be - discarded, for example if the dictionary is larger than the window size in - deflate or deflate2. Thus the strings most likely to be useful should be - put at the end of the dictionary, not at the front. In addition, the - current implementation of deflate will use at most the window size minus - 262 bytes of the provided dictionary. - - Upon return of this function, strm->adler is set to the adler32 value - of the dictionary; the decompressor may later use this value to determine - which dictionary has been used by the compressor. (The adler32 value - applies to the whole dictionary even if only a subset of the dictionary is - actually used by the compressor.) If a raw deflate was requested, then the - adler32 value is not computed and strm->adler is not set. - - deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a - parameter is invalid (such as NULL dictionary) or the stream state is - inconsistent (for example if deflate has already been called for this stream - or if the compression method is bsort). deflateSetDictionary does not - perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when several compression strategies will be - tried, for example when there are several ways of pre-processing the input - data with a filter. The streams that will be discarded should then be freed - by calling deflateEnd. Note that deflateCopy duplicates the internal - compression state which can be quite large, so this strategy is slow and - can consume lots of memory. - - deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); -/* - This function is equivalent to deflateEnd followed by deflateInit, - but does not free and reallocate all the internal compression state. - The stream will keep the same compression level and any other attributes - that may have been set by deflateInit2. - - deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being NULL). -*/ - -ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, - int level, - int strategy)); -/* - Dynamically update the compression level and compression strategy. The - interpretation of level and strategy is as in deflateInit2. This can be - used to switch between compression and straight copy of the input data, or - to switch to a different kind of input data requiring a different - strategy. If the compression level is changed, the input available so far - is compressed with the old level (and may be flushed); the new level will - take effect only at the next call of deflate(). - - Before the call of deflateParams, the stream state must be set as for - a call of deflate(), since the currently available input may have to - be compressed and flushed. In particular, strm->avail_out must be non-zero. - - deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source - stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR - if strm->avail_out was zero. -*/ - -ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, - int good_length, - int max_lazy, - int nice_length, - int max_chain)); -/* - Fine tune deflate's internal compression parameters. This should only be - used by someone who understands the algorithm used by zlib's deflate for - searching for the best matching string, and even then only by the most - fanatic optimizer trying to squeeze out the last compressed bit for their - specific input data. Read the deflate.c source code for the meaning of the - max_lazy, good_length, nice_length, and max_chain parameters. - - deflateTune() can be called after deflateInit() or deflateInit2(), and - returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. - */ - -ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, - uLong sourceLen)); -/* - deflateBound() returns an upper bound on the compressed size after - deflation of sourceLen bytes. It must be called after deflateInit() - or deflateInit2(). This would be used to allocate an output buffer - for deflation in a single pass, and so would be called before deflate(). -*/ - -ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - deflatePrime() inserts bits in the deflate output stream. The intent - is that this function is used to start off the deflate output with the - bits leftover from a previous deflate stream when appending to it. As such, - this function can only be used for raw deflate, and must be used before the - first deflate() call after a deflateInit2() or deflateReset(). bits must be - less than or equal to 16, and that many of the least significant bits of - value will be inserted in the output. - - deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, - gz_headerp head)); -/* - deflateSetHeader() provides gzip header information for when a gzip - stream is requested by deflateInit2(). deflateSetHeader() may be called - after deflateInit2() or deflateReset() and before the first call of - deflate(). The text, time, os, extra field, name, and comment information - in the provided gz_header structure are written to the gzip header (xflag is - ignored -- the extra flags are set according to the compression level). The - caller must assure that, if not Z_NULL, name and comment are terminated with - a zero byte, and that if extra is not Z_NULL, that extra_len bytes are - available there. If hcrc is true, a gzip header crc is included. Note that - the current versions of the command-line version of gzip (up through version - 1.3.x) do not support header crc's, and will report that it is a "multi-part - gzip file" and give up. - - If deflateSetHeader is not used, the default gzip header has text false, - the time set to zero, and os set to 255, with no extra, name, or comment - fields. The gzip header is returned to the default state by deflateReset(). - - deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, - int windowBits)); - - This is another version of inflateInit with an extra parameter. The - fields next_in, avail_in, zalloc, zfree and opaque must be initialized - before by the caller. - - The windowBits parameter is the base two logarithm of the maximum window - size (the size of the history buffer). It should be in the range 8..15 for - this version of the library. The default value is 15 if inflateInit is used - instead. windowBits must be greater than or equal to the windowBits value - provided to deflateInit2() while compressing, or it must be equal to 15 if - deflateInit2() was not used. If a compressed stream with a larger window - size is given as input, inflate() will return with the error code - Z_DATA_ERROR instead of trying to allocate a larger window. - - windowBits can also be -8..-15 for raw inflate. In this case, -windowBits - determines the window size. inflate() will then process raw deflate data, - not looking for a zlib or gzip header, not generating a check value, and not - looking for any check values for comparison at the end of the stream. This - is for use with other formats that use the deflate compressed data format - such as zip. Those formats provide their own check values. If a custom - format is developed using the raw deflate format for compressed data, it is - recommended that a check value such as an adler32 or a crc32 be applied to - the uncompressed data as is done in the zlib, gzip, and zip formats. For - most applications, the zlib format should be used as is. Note that comments - above on the use in deflateInit2() applies to the magnitude of windowBits. - - windowBits can also be greater than 15 for optional gzip decoding. Add - 32 to windowBits to enable zlib and gzip decoding with automatic header - detection, or add 16 to decode only the gzip format (the zlib format will - return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is - a crc32 instead of an adler32. - - inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg - is set to null if there is no error message. inflateInit2 does not perform - any decompression apart from reading the zlib header if present: this will - be done by inflate(). (So next_in and avail_in may be modified, but next_out - and avail_out are unchanged.) -*/ - -ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the decompression dictionary from the given uncompressed byte - sequence. This function must be called immediately after a call of inflate, - if that call returned Z_NEED_DICT. The dictionary chosen by the compressor - can be determined from the adler32 value returned by that call of inflate. - The compressor and decompressor must use exactly the same dictionary (see - deflateSetDictionary). For raw inflate, this function can be called - immediately after inflateInit2() or inflateReset() and before any call of - inflate() to set the dictionary. The application must insure that the - dictionary that was used for compression is provided. - - inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a - parameter is invalid (such as NULL dictionary) or the stream state is - inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the - expected one (incorrect adler32 value). inflateSetDictionary does not - perform any decompression: this will be done by subsequent calls of - inflate(). -*/ - -ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); -/* - Skips invalid compressed data until a full flush point (see above the - description of deflate with Z_FULL_FLUSH) can be found, or until all - available input is skipped. No output is provided. - - inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR - if no more input was provided, Z_DATA_ERROR if no flush point has been found, - or Z_STREAM_ERROR if the stream structure was inconsistent. In the success - case, the application may save the current current value of total_in which - indicates where valid compressed data was found. In the error case, the - application may repeatedly call inflateSync, providing more input each time, - until success or end of the input data. -*/ - -ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when randomly accessing a large stream. The - first pass through the stream can periodically record the inflate state, - allowing restarting inflate at those points when randomly accessing the - stream. - - inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); -/* - This function is equivalent to inflateEnd followed by inflateInit, - but does not free and reallocate all the internal decompression state. - The stream will keep attributes that may have been set by inflateInit2. - - inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being NULL). -*/ - -ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - This function inserts bits in the inflate input stream. The intent is - that this function is used to start inflating at a bit position in the - middle of a byte. The provided bits will be used before any bytes are used - from next_in. This function should only be used with raw inflate, and - should be used before the first inflate() call after inflateInit2() or - inflateReset(). bits must be less than or equal to 16, and that many of the - least significant bits of value will be inserted in the input. - - inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, - gz_headerp head)); -/* - inflateGetHeader() requests that gzip header information be stored in the - provided gz_header structure. inflateGetHeader() may be called after - inflateInit2() or inflateReset(), and before the first call of inflate(). - As inflate() processes the gzip stream, head->done is zero until the header - is completed, at which time head->done is set to one. If a zlib stream is - being decoded, then head->done is set to -1 to indicate that there will be - no gzip header information forthcoming. Note that Z_BLOCK can be used to - force inflate() to return immediately after header processing is complete - and before any actual data is decompressed. - - The text, time, xflags, and os fields are filled in with the gzip header - contents. hcrc is set to true if there is a header CRC. (The header CRC - was valid if done is set to one.) If extra is not Z_NULL, then extra_max - contains the maximum number of bytes to write to extra. Once done is true, - extra_len contains the actual extra field length, and extra contains the - extra field, or that field truncated if extra_max is less than extra_len. - If name is not Z_NULL, then up to name_max characters are written there, - terminated with a zero unless the length is greater than name_max. If - comment is not Z_NULL, then up to comm_max characters are written there, - terminated with a zero unless the length is greater than comm_max. When - any of extra, name, or comment are not Z_NULL and the respective field is - not present in the header, then that field is set to Z_NULL to signal its - absence. This allows the use of deflateSetHeader() with the returned - structure to duplicate the header. However if those fields are set to - allocated memory, then the application will need to save those pointers - elsewhere so that they can be eventually freed. - - If inflateGetHeader is not used, then the header information is simply - discarded. The header is always checked for validity, including the header - CRC if present. inflateReset() will reset the process to discard the header - information. The application would need to call inflateGetHeader() again to - retrieve the header from the next gzip stream. - - inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, - unsigned char FAR *window)); - - Initialize the internal stream state for decompression using inflateBack() - calls. The fields zalloc, zfree and opaque in strm must be initialized - before the call. If zalloc and zfree are Z_NULL, then the default library- - derived memory allocation routines are used. windowBits is the base two - logarithm of the window size, in the range 8..15. window is a caller - supplied buffer of that size. Except for special applications where it is - assured that deflate was used with small window sizes, windowBits must be 15 - and a 32K byte window must be supplied to be able to decompress general - deflate streams. - - See inflateBack() for the usage of these routines. - - inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of - the paramaters are invalid, Z_MEM_ERROR if the internal state could not - be allocated, or Z_VERSION_ERROR if the version of the library does not - match the version of the header file. -*/ - -typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); -typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); - -ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -/* - inflateBack() does a raw inflate with a single call using a call-back - interface for input and output. This is more efficient than inflate() for - file i/o applications in that it avoids copying between the output and the - sliding window by simply making the window itself the output buffer. This - function trusts the application to not change the output buffer passed by - the output function, at least until inflateBack() returns. - - inflateBackInit() must be called first to allocate the internal state - and to initialize the state with the user-provided window buffer. - inflateBack() may then be used multiple times to inflate a complete, raw - deflate stream with each call. inflateBackEnd() is then called to free - the allocated state. - - A raw deflate stream is one with no zlib or gzip header or trailer. - This routine would normally be used in a utility that reads zip or gzip - files and writes out uncompressed files. The utility would decode the - header and process the trailer on its own, hence this routine expects - only the raw deflate stream to decompress. This is different from the - normal behavior of inflate(), which expects either a zlib or gzip header and - trailer around the deflate stream. - - inflateBack() uses two subroutines supplied by the caller that are then - called by inflateBack() for input and output. inflateBack() calls those - routines until it reads a complete deflate stream and writes out all of the - uncompressed data, or until it encounters an error. The function's - parameters and return types are defined above in the in_func and out_func - typedefs. inflateBack() will call in(in_desc, &buf) which should return the - number of bytes of provided input, and a pointer to that input in buf. If - there is no input available, in() must return zero--buf is ignored in that - case--and inflateBack() will return a buffer error. inflateBack() will call - out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() - should return zero on success, or non-zero on failure. If out() returns - non-zero, inflateBack() will return with an error. Neither in() nor out() - are permitted to change the contents of the window provided to - inflateBackInit(), which is also the buffer that out() uses to write from. - The length written by out() will be at most the window size. Any non-zero - amount of input may be provided by in(). - - For convenience, inflateBack() can be provided input on the first call by - setting strm->next_in and strm->avail_in. If that input is exhausted, then - in() will be called. Therefore strm->next_in must be initialized before - calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called - immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in - must also be initialized, and then if strm->avail_in is not zero, input will - initially be taken from strm->next_in[0 .. strm->avail_in - 1]. - - The in_desc and out_desc parameters of inflateBack() is passed as the - first parameter of in() and out() respectively when they are called. These - descriptors can be optionally used to pass any information that the caller- - supplied in() and out() functions need to do their job. - - On return, inflateBack() will set strm->next_in and strm->avail_in to - pass back any unused input that was provided by the last in() call. The - return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR - if in() or out() returned an error, Z_DATA_ERROR if there was a format - error in the deflate stream (in which case strm->msg is set to indicate the - nature of the error), or Z_STREAM_ERROR if the stream was not properly - initialized. In the case of Z_BUF_ERROR, an input or output error can be - distinguished using strm->next_in which will be Z_NULL only if in() returned - an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to - out() returning non-zero. (in() will always be called before out(), so - strm->next_in is assured to be defined if out() returns non-zero.) Note - that inflateBack() cannot return Z_OK. -*/ - -ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); -/* - All memory allocated by inflateBackInit() is freed. - - inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream - state was inconsistent. -*/ - -ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); -/* Return flags indicating compile-time options. - - Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: - 1.0: size of uInt - 3.2: size of uLong - 5.4: size of voidpf (pointer) - 7.6: size of z_off_t - - Compiler, assembler, and debug options: - 8: DEBUG - 9: ASMV or ASMINF -- use ASM code - 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention - 11: 0 (reserved) - - One-time table building (smaller code, but not thread-safe if true): - 12: BUILDFIXED -- build static block decoding tables when needed - 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed - 14,15: 0 (reserved) - - Library content (indicates missing functionality): - 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking - deflate code when not needed) - 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect - and decode gzip streams (to avoid linking crc code) - 18-19: 0 (reserved) - - Operation variations (changes in library functionality): - 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate - 21: FASTEST -- deflate algorithm with only one, lowest compression level - 22,23: 0 (reserved) - - The sprintf variant used by gzprintf (zero is best): - 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format - 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! - 26: 0 = returns value, 1 = void -- 1 means inferred string length returned - - Remainder: - 27-31: 0 (reserved) - */ - - - /* utility functions */ - -/* - The following utility functions are implemented on top of the - basic stream-oriented functions. To simplify the interface, some - default options are assumed (compression level and memory usage, - standard memory allocation functions). The source code of these - utility functions can easily be modified if you need special options. -*/ - -ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Compresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be at least the value returned - by compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - This function can be used to compress a whole file at once if the - input file is mmap'ed. - compress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer. -*/ - -ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen, - int level)); -/* - Compresses the source buffer into the destination buffer. The level - parameter has the same meaning as in deflateInit. sourceLen is the byte - length of the source buffer. Upon entry, destLen is the total size of the - destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_BUF_ERROR if there was not enough room in the output buffer, - Z_STREAM_ERROR if the level parameter is invalid. -*/ - -ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); -/* - compressBound() returns an upper bound on the compressed size after - compress() or compress2() on sourceLen bytes. It would be used before - a compress() or compress2() call to allocate the destination buffer. -*/ - -ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be large enough to hold the - entire uncompressed data. (The size of the uncompressed data must have - been saved previously by the compressor and transmitted to the decompressor - by some mechanism outside the scope of this compression library.) - Upon exit, destLen is the actual size of the compressed buffer. - This function can be used to decompress a whole file at once if the - input file is mmap'ed. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. -*/ - - -typedef voidp gzFile; - -ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); -/* - Opens a gzip (.gz) file for reading or writing. The mode parameter - is as in fopen ("rb" or "wb") but can also include a compression level - ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for - Huffman only compression as in "wb1h", or 'R' for run-length encoding - as in "wb1R". (See the description of deflateInit2 for more information - about the strategy parameter.) - - gzopen can be used to read a file which is not in gzip format; in this - case gzread will directly read from the file without decompression. - - gzopen returns NULL if the file could not be opened or if there was - insufficient memory to allocate the (de)compression state; errno - can be checked to distinguish the two cases (if errno is zero, the - zlib error is Z_MEM_ERROR). */ - -ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); -/* - gzdopen() associates a gzFile with the file descriptor fd. File - descriptors are obtained from calls like open, dup, creat, pipe or - fileno (in the file has been previously opened with fopen). - The mode parameter is as in gzopen. - The next call of gzclose on the returned gzFile will also close the - file descriptor fd, just like fclose(fdopen(fd), mode) closes the file - descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode). - gzdopen returns NULL if there was insufficient memory to allocate - the (de)compression state. -*/ - -ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); -/* - Dynamically update the compression level or strategy. See the description - of deflateInit2 for the meaning of these parameters. - gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not - opened for writing. -*/ - -ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); -/* - Reads the given number of uncompressed bytes from the compressed file. - If the input file was not in gzip format, gzread copies the given number - of bytes into the buffer. - gzread returns the number of uncompressed bytes actually read (0 for - end of file, -1 for error). */ - -ZEXTERN int ZEXPORT gzwrite OF((gzFile file, - voidpc buf, unsigned len)); -/* - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of uncompressed bytes actually written - (0 in case of error). -*/ - -ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...)); -/* - Converts, formats, and writes the args to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of - uncompressed bytes actually written (0 in case of error). The number of - uncompressed bytes written is limited to 4095. The caller should assure that - this limit is not exceeded. If it is exceeded, then gzprintf() will return - return an error (0) with nothing written. In this case, there may also be a - buffer overflow with unpredictable consequences, which is possible only if - zlib was compiled with the insecure functions sprintf() or vsprintf() - because the secure snprintf() or vsnprintf() functions were not available. -*/ - -ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); -/* - Writes the given null-terminated string to the compressed file, excluding - the terminating null character. - gzputs returns the number of characters written, or -1 in case of error. -*/ - -ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); -/* - Reads bytes from the compressed file until len-1 characters are read, or - a newline character is read and transferred to buf, or an end-of-file - condition is encountered. The string is then terminated with a null - character. - gzgets returns buf, or Z_NULL in case of error. -*/ - -ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); -/* - Writes c, converted to an unsigned char, into the compressed file. - gzputc returns the value that was written, or -1 in case of error. -*/ - -ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); -/* - Reads one byte from the compressed file. gzgetc returns this byte - or -1 in case of end of file or error. -*/ - -ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); -/* - Push one character back onto the stream to be read again later. - Only one character of push-back is allowed. gzungetc() returns the - character pushed, or -1 on failure. gzungetc() will fail if a - character has been pushed but not read yet, or if c is -1. The pushed - character will be discarded if the stream is repositioned with gzseek() - or gzrewind(). -*/ - -ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); -/* - Flushes all pending output into the compressed file. The parameter - flush is as in the deflate() function. The return value is the zlib - error number (see function gzerror below). gzflush returns Z_OK if - the flush parameter is Z_FINISH and all output could be flushed. - gzflush should be called only when strictly necessary because it can - degrade compression. -*/ - -ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, - z_off_t offset, int whence)); -/* - Sets the starting position for the next gzread or gzwrite on the - given compressed file. The offset represents a number of bytes in the - uncompressed data stream. The whence parameter is defined as in lseek(2); - the value SEEK_END is not supported. - If the file is opened for reading, this function is emulated but can be - extremely slow. If the file is opened for writing, only forward seeks are - supported; gzseek then compresses a sequence of zeroes up to the new - starting position. - - gzseek returns the resulting offset location as measured in bytes from - the beginning of the uncompressed stream, or -1 in case of error, in - particular if the file is opened for writing and the new starting position - would be before the current position. -*/ - -ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); -/* - Rewinds the given file. This function is supported only for reading. - - gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) -*/ - -ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); -/* - Returns the starting position for the next gzread or gzwrite on the - given compressed file. This position represents a number of bytes in the - uncompressed data stream. - - gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) -*/ - -ZEXTERN int ZEXPORT gzeof OF((gzFile file)); -/* - Returns 1 when EOF has previously been detected reading the given - input stream, otherwise zero. -*/ - -ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); -/* - Returns 1 if file is being read directly without decompression, otherwise - zero. -*/ - -ZEXTERN int ZEXPORT gzclose OF((gzFile file)); -/* - Flushes all pending output if necessary, closes the compressed file - and deallocates all the (de)compression state. The return value is the zlib - error number (see function gzerror below). -*/ - -ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); -/* - Returns the error message for the last error which occurred on the - given compressed file. errnum is set to zlib error number. If an - error occurred in the file system and not in the compression library, - errnum is set to Z_ERRNO and the application may consult errno - to get the exact error code. -*/ - -ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); -/* - Clears the error and end-of-file flags for file. This is analogous to the - clearerr() function in stdio. This is useful for continuing to read a gzip - file that is being written concurrently. -*/ - - /* checksum functions */ - -/* - These functions are not related to compression but are exported - anyway because they might be useful in applications using the - compression library. -*/ - -ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); -/* - Update a running Adler-32 checksum with the bytes buf[0..len-1] and - return the updated checksum. If buf is NULL, this function returns - the required initial value for the checksum. - An Adler-32 checksum is almost as reliable as a CRC32 but can be computed - much faster. Usage example: - - uLong adler = adler32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - adler = adler32(adler, buffer, length); - } - if (adler != original_adler) error(); -*/ - -ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, - z_off_t len2)); -/* - Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 - and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for - each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of - seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. -*/ - -ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); -/* - Update a running CRC-32 with the bytes buf[0..len-1] and return the - updated CRC-32. If buf is NULL, this function returns the required initial - value for the for the crc. Pre- and post-conditioning (one's complement) is - performed within this function so it shouldn't be done by the application. - Usage example: - - uLong crc = crc32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - crc = crc32(crc, buffer, length); - } - if (crc != original_crc) error(); -*/ - -ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); - -/* - Combine two CRC-32 check values into one. For two sequences of bytes, - seq1 and seq2 with lengths len1 and len2, CRC-32 check values were - calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 - check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. -*/ - - - /* various hacks, don't look :) */ - -/* deflateInit and inflateInit are macros to allow checking the zlib version - * and the compiler's view of z_stream: - */ -ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, - int windowBits, int memLevel, - int strategy, const char *version, - int stream_size)); -ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, - unsigned char FAR *window, - const char *version, - int stream_size)); - -#define deflateInit(strm, level) \ - deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) -#define inflateInit(strm) \ - inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) -#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ - deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ - (strategy), ZLIB_VERSION, sizeof(z_stream)) -#define inflateInit2(strm, windowBits) \ - inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) -#define inflateBackInit(strm, windowBits, window) \ - inflateBackInit_((strm), (windowBits), (window), \ - ZLIB_VERSION, sizeof(z_stream)) - - -#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) - struct internal_state {int dummy;}; /* hack for buggy compilers */ -#endif - -ZEXTERN const char * ZEXPORT zError OF((int)); -ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); -ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); - -#ifdef __cplusplus -} -#endif - -#endif /* ZLIB_H */ From f62edf7675f8930f39f1eb45239a674b1c3a237a Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Sat, 30 Nov 2024 11:20:57 +0000 Subject: [PATCH 4/5] New upstream version 6.0.24.51.2+repack+really.50 From 93a10a982d3fcab0c469e2805b2034bba4e59a55 Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Sat, 30 Nov 2024 11:27:28 +0000 Subject: [PATCH 5/5] New upstream version 6.0.24.51.3+repack+really50 --- AGWAPI.c | 125 +- APRSCode.c | 3 +- BBSUtilities.c | 80 +- BPQMail.c | 18 +- Bpq32.c | 18 +- CHeaders.h | 1 - Cmd-skigdebian.c | 5989 ------------------------------------------- CommonCode.c | 33 +- L2Code-skigdebian.c | 4143 ------------------------------ L4Code-skigdebian.c | 2416 ----------------- LinBPQ.c | 12 - MailDataDefs.c | 1 - MailTCP.c | 3 +- Versions.h | 6 +- adif.c | 1 + bpqmail.h | 3 - cMain.c | 17 +- config.c | 17 +- datadefs.c | 4 - lzhuf32.c | 3 - mailapi.c | 402 +-- 21 files changed, 89 insertions(+), 13206 deletions(-) delete mode 100644 Cmd-skigdebian.c delete mode 100644 L2Code-skigdebian.c delete mode 100644 L4Code-skigdebian.c diff --git a/AGWAPI.c b/AGWAPI.c index 80c1ce4..0f2d86c 100644 --- a/AGWAPI.c +++ b/AGWAPI.c @@ -1017,7 +1017,6 @@ int AGWDataSocket_Read(struct AGWSocketConnectionInfo * sockptr, SOCKET sock) { int i; int DataLength; - struct AGWHeader * AGW = &sockptr->AGWRXHeader; ioctlsocket(sock,FIONREAD,&DataLength); @@ -1029,83 +1028,18 @@ int AGWDataSocket_Read(struct AGWSocketConnectionInfo * sockptr, SOCKET sock) return 0; } - if (DataLength < 36) // A header - { - // If we don't get a header within a few ms assume a rogue connection and close it - int n = 50; - - while (n--) - { - Sleep(10); - ioctlsocket(sock,FIONREAD,&DataLength); - - if (DataLength >= 36) - break; - } - - if (n < 1) - { - Debugprintf("Corrupt AGW Packet Received"); - AGWDataSocket_Disconnect(sockptr); - return 0; - } - } - - // Have a header - - i=recv(sock,(char *)&sockptr->AGWRXHeader, 36, 0); - - if (i == SOCKET_ERROR) - { - i=WSAGetLastError(); - AGWDataSocket_Disconnect(sockptr); - } - - sockptr->MsgDataLength = sockptr->AGWRXHeader.DataLength; - - // Validate packet to protect against accidental (or malicious!) connects from a non-agw application - - if (AGW->Port > 64 || AGW->filler2 != 0 || AGW->filler3 != 0 || AGW->DataLength > 400) - { - Debugprintf("Corrupt AGW Packet Received"); - AGWDataSocket_Disconnect(sockptr); - return 0; - } - - if (sockptr->MsgDataLength == 0) - ProcessAGWCommand (sockptr); - else - sockptr->GotHeader = TRUE; // Wait for data - - ioctlsocket(sock,FIONREAD,&DataLength); // See if more data - if (sockptr->GotHeader) { // Received a header, without sufficient data bytes if (DataLength < sockptr->MsgDataLength) { - // Fiddle - seem to be problems somtimes with un-Neagled hosts so wait a few ms - // if we don't get a full packet assume a rogue connection and close it + // Fiddle - seem to be problems somtimes with un-Neagled hosts + + Sleep(500); - int n = 50; - - while (n--) - { - Sleep(10); - ioctlsocket(sock,FIONREAD,&DataLength); - - if (DataLength >= sockptr->MsgDataLength) - break; - } - - if (n < 1) - { - Debugprintf("Corrupt AGW Packet Received"); - AGWDataSocket_Disconnect(sockptr); - return 0; - } + ioctlsocket(sock,FIONREAD,&DataLength); } if (DataLength >= sockptr->MsgDataLength) @@ -1118,9 +1052,60 @@ int AGWDataSocket_Read(struct AGWSocketConnectionInfo * sockptr, SOCKET sock) ProcessAGWCommand (sockptr); free(sockptr->MsgData); + sockptr->GotHeader = FALSE; } + + // Not Enough Data - wait + } + else // Not got header + { + if (DataLength > 35)// A header + { + struct AGWHeader * AGW = &sockptr->AGWRXHeader; + + i=recv(sock,(char *)&sockptr->AGWRXHeader, 36, 0); + + if (i == SOCKET_ERROR) + { + i=WSAGetLastError(); + + AGWDataSocket_Disconnect(sockptr); + } + + + sockptr->MsgDataLength = sockptr->AGWRXHeader.DataLength; + + // Validate packet to protect against accidental (or malicious!) connects from a non-agw application + + + if (AGW->Port > 64 || AGW->filler2 != 0 || AGW->filler3 != 0 || AGW->DataLength > 400) + { + Debugprintf("Corrupt AGW Packet Received"); + AGWDataSocket_Disconnect(sockptr); + return 0; + } + + if (sockptr->MsgDataLength > 500) + OutputDebugString("Corrupt AGW message"); + + + if (sockptr->MsgDataLength == 0) + { + ProcessAGWCommand (sockptr); + } + else + { + sockptr->GotHeader = TRUE; // Wait for data + } + + } + + // not got 36 bytes + + } + return 0; } diff --git a/APRSCode.c b/APRSCode.c index b8f02f0..ff1e322 100644 --- a/APRSCode.c +++ b/APRSCode.c @@ -88,7 +88,7 @@ double myDistance(double laa, double loa, BOOL KM); struct STATIONRECORD * FindStation(char * Call, BOOL AddIfNotFound); int DecodeAPRSPayload(char * Payload, struct STATIONRECORD * Station); BOOL KillOldTNC(char * Path); - +int FromLOC(char * Locator, double * pLat, double * pLon); BOOL ToLOC(double Lat, double Lon , char * Locator); BOOL InternalSendAPRSMessage(char * Text, char * Call); void UndoTransparency(char * input); @@ -104,7 +104,6 @@ void ClearSavedMessages(); void GetSavedAPRSMessages(); static VOID GPSDConnect(void * unused); int CanPortDigi(int Port); -int FromLOC(char * Locator, double * pLat, double * pLon); extern int SemHeldByAPI; extern int APRSMONDECODE(); diff --git a/BBSUtilities.c b/BBSUtilities.c index 56e08a0..82344bd 100644 --- a/BBSUtilities.c +++ b/BBSUtilities.c @@ -5566,19 +5566,14 @@ BOOL CreateMessage(CIRCUIT * conn, char * From, char * ToCall, char * ATBBS, cha { if (_memicmp(ToCall, "rms:", 4) == 0) { - // Could be ampr.org message - - if (!isAMPRMsg(ToCall)) + if (!FindRMS()) { - if (!FindRMS()) - { - nodeprintf(conn, "*** Error - Forwarding via RMS is not configured on this BBS\r"); - return FALSE; - } + nodeprintf(conn, "*** Error - Forwarding via RMS is not configured on this BBS\r"); + return FALSE; } + via=strlop(ToCall, ':'); _strupr(ToCall); - } else if (_memicmp(ToCall, "rms/", 4) == 0) { @@ -6882,7 +6877,7 @@ int CountMessagestoForward (struct UserInfo * user) if ((Msg->status != 'H') && (Msg->status != 'D') && Msg->type && check_fwd_bit(Msg->fbbs, BBSNumber)) { n++; - continue; // So we dont count twice if Flag set and NTS MPS + continue; // So we dont count twice in Flag set and NTS MPS } // if an NTS MPS, also check for any matches @@ -6923,66 +6918,6 @@ int CountMessagestoForward (struct UserInfo * user) return n; } -int CountBytestoForward (struct UserInfo * user) -{ - // See if any messages are queued for this BBS. If so return total bytes queued - - int m, n=0; - struct MsgInfo * Msg; - int BBSNumber = user->BBSNumber; - int FirstMessage = FirstMessageIndextoForward; - - if ((user->flags & F_NTSMPS)) - FirstMessage = 1; - - for (m = FirstMessage; m <= NumberofMessages; m++) - { - Msg=MsgHddrPtr[m]; - - if ((Msg->status != 'H') && (Msg->status != 'D') && Msg->type && check_fwd_bit(Msg->fbbs, BBSNumber)) - { - n += Msg->length; - continue; // So we dont count twice if Flag set and NTS MPS - } - - // if an NTS MPS, also check for any matches - - if (Msg->type == 'T' && (user->flags & F_NTSMPS)) - { - struct BBSForwardingInfo * ForwardingInfo = user->ForwardingInfo; - int depth; - - if (Msg->status == 'N' && ForwardingInfo) - { - depth = CheckBBSToForNTS(Msg, ForwardingInfo); - - if (depth > -1 && Msg->Locked == 0) - { - n += Msg->length; - continue; - } - depth = CheckBBSAtList(Msg, ForwardingInfo, Msg->via); - - if (depth && Msg->Locked == 0) - { - n += Msg->length; - continue; - } - - depth = CheckBBSATListWildCarded(Msg, ForwardingInfo, Msg->via); - - if (depth > -1 && Msg->Locked == 0) - { - n += Msg->length; - continue; - } - } - } - } - - return n; -} - int ListMessagestoForward(CIRCUIT * conn, struct UserInfo * user) { // See if any messages are queued for this BBS @@ -15888,11 +15823,6 @@ void SendMessageReadEvent(char * call, struct MsgInfo * Msg) } } -void SendMessageForwardedToM0LTE(char * call, struct MsgInfo * Msg) -{ -} - - void SendNewMessageEvent(char * call, struct MsgInfo * Msg) { if (reportMailEvents) diff --git a/BPQMail.c b/BPQMail.c index 5d26cd5..08d5818 100644 --- a/BPQMail.c +++ b/BPQMail.c @@ -1143,8 +1143,6 @@ // Semaphore calls to SaveConfig // Include SERVIC as valid from call (for Winlink Service messages) (49) // Attempt to detect line draw characters in Webmail (50) -// Fix sending ampr.org mail when RMS is not enabled (51) -// Send forwarding info tp packetnodes.spots.radio database (51) #include "bpqmail.h" #include "winstdint.h" @@ -1163,8 +1161,6 @@ FARPROCZ pGetLOC; FARPROCX pRefreshWebMailIndex; FARPROCX pRunEventProgram; FARPROCX pGetPortFrequency; -FARPROCX pSendWebRequest; -FARPROCX pGetLatLon; BOOL WINE = FALSE; @@ -1389,7 +1385,6 @@ char * CheckToAddress(CIRCUIT * conn, char * Addr); BOOL CheckifPacket(char * Via); int GetHTMLForms(); VOID GetPGConfig(); -void SendBBSDataToPktMap(); struct _EXCEPTION_POINTERS exinfox; @@ -1941,8 +1936,6 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) pRefreshWebMailIndex = GetProcAddress(ExtDriver,"_RefreshWebMailIndex@0"); pRunEventProgram = GetProcAddress(ExtDriver,"_RunEventProgram@8"); pGetPortFrequency = GetProcAddress(ExtDriver,"_GetPortFrequency@8"); - pSendWebRequest = GetProcAddress(ExtDriver,"_SendWebRequest@16"); - pGetLatLon = GetProcAddress(ExtDriver,"_GetLatLon@8"); if (pGetLOC) @@ -2190,13 +2183,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) Debugprintf("|Enter HouseKeeping"); DoHouseKeeping(FALSE); } - - if (APIClock < NOW) - { - SendBBSDataToPktMap(); - APIClock = NOW + 7200; // Every 2 hours - } - tm = gmtime(&NOW); if (tm->tm_wday == 0) // Sunday @@ -3071,6 +3057,7 @@ static PSOCKADDR_IN psin; SOCKET sock; + BOOL Initialise() { int i, len; @@ -3396,9 +3383,6 @@ BOOL Initialise() CreatePipeThread(); GetPGConfig(); - - APIClock = 0; - return TRUE; } diff --git a/Bpq32.c b/Bpq32.c index 1125b31..f7e1f59 100644 --- a/Bpq32.c +++ b/Bpq32.c @@ -1086,7 +1086,7 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses // Add ? and * wildcards to NODES command (74) // Add Port RADIO config parameter (74) -// Version 6.0.24.1 August 2023 +// Version 6.0.24.1 August 2024 // Apply NODES command wildcard to alias as well a call (2) // Add STOPPORT/STARTPORT to VARA Driver (2) @@ -1234,7 +1234,6 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses // Add optional ATTACH time limit for VARA (48) // API format fixes (48) // AGWAPI Add protection against accidental connects from a non-agw application (50) -// Save MH and NODES every hour (51) #define CKernel @@ -1375,9 +1374,6 @@ extern struct _LINKTABLE * LINKS; extern int LINK_TABLE_LEN; extern int MAXLINKS; -extern double LatFromLOC; -extern double LonFromLOC; - extern int BPQHOSTAPI(); extern int INITIALISEPORTS(); @@ -3072,7 +3068,7 @@ SkipInit: if (AttachedProcesses < 2) { - if (AUTOSAVE) + if (AUTOSAVE == 1) SaveNodes(); if (AUTOSAVEMH) SaveMH(); @@ -6625,19 +6621,11 @@ int GetListeningPortsPID(int Port) return 0; // Not found } -DllExport char * APIENTRY GetLOC() +DllExport char * APIENTRY GetLOC() { return LOC; } -DllExport void APIENTRY GetLatLon(double * lat, double * lon) -{ - *lat = LatFromLOC; - *lon = LonFromLOC; - return; -} - - // UZ7HO Dll PTT interface // 1 ext_PTT_info diff --git a/CHeaders.h b/CHeaders.h index aeef69c..13cb99d 100644 --- a/CHeaders.h +++ b/CHeaders.h @@ -398,7 +398,6 @@ extern int REALTIMETICKS; extern time_t CurrentSecs; extern time_t lastSlowSecs; -extern time_t lastSaveSecs; // SNMP Variables diff --git a/Cmd-skigdebian.c b/Cmd-skigdebian.c deleted file mode 100644 index 88189b1..0000000 --- a/Cmd-skigdebian.c +++ /dev/null @@ -1,5989 +0,0 @@ -/* -Copyright 2001-2022 John Wiseman G8BPQ - -This file is part of LinBPQ/BPQ32. - -LinBPQ/BPQ32 is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -LinBPQ/BPQ32 is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. S"paclenee the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses -*/ - -// -// C replacement for cmd.asm -// -#define Kernel - -#define _CRT_SECURE_NO_DEPRECATE -#pragma data_seg("_BPQDATA") - -//#include "windows.h" -//#include "winerror.h" - - -#include "time.h" -#include "stdio.h" -#include -//#include "vmm.h" -//#include "SHELLAPI.H" - -#include "CHeaders.h" -#include "bpqaprs.h" -#include "kiss.h" - -#pragma pack() - -#include "tncinfo.h" -#include "telnetserver.h" - -//#include "GetVersion.h" - -//#define DllImport __declspec( dllimport ) -//#define DllExport __declspec( dllexport ) - -BOOL DecodeCallString(char * Calls, BOOL * Stay, BOOL * Spy, UCHAR *AXCalls); -VOID Send_AX_Datagram(PDIGIMESSAGE Block, DWORD Len, UCHAR Port); -int APIENTRY ClearNodes(); -VOID GetJSONValue(char * _REPLYBUFFER, char * Name, char * Value); -VOID SendHTTPRequest(SOCKET sock, char * Host, int Port, char * Request, char * Params, int Len, char * Return); -SOCKET OpenWL2KHTTPSock(); -VOID FormatTime3(char * Time, time_t cTime); -VOID Format_Addr(unsigned char * Addr, char * Output, BOOL IPV6); -VOID Tel_Format_Addr(struct ConnectionInfo * sockptr, char * dst); -VOID FindLostBuffers(); -BOOL CheckCMS(struct TNCINFO * TNC); -VOID L2SENDXID(struct _LINKTABLE * LINK); -int CountBits(unsigned long in); -VOID SaveMH(); -BOOL RestartTNC(struct TNCINFO * TNC); -void GetPortCTEXT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID WriteMiniDump(); -int CheckKissInterlock(struct PORTCONTROL * PORT, int Exclusive); -int seeifInterlockneeded(struct PORTCONTROL * PORT); - -extern VOID KISSTX(); - -char COMMANDBUFFER[81] = ""; // Command Hander input buffer -char OrigCmdBuffer[81] = ""; // Command Hander input buffer before toupper - -struct DATAMESSAGE * REPLYBUFFER = NULL; -UINT APPLMASK = 0; -UCHAR SAVEDAPPLFLAGS = 0; - -UCHAR ALIASINVOKED = 0; - - -VOID * CMDPTR = 0; - -short CMDPACLEN = 0; - -char OKMSG[] = "Ok\r"; - -char CMDERRMSG[] = "Invalid command - Enter ? for command list\r"; -#define CMDERRLEN sizeof(CMDERRMSG) - 1 - -char PASSWORDMSG[] = "Command requires SYSOP status - enter password\r"; -#define LPASSMSG sizeof(PASSWORDMSG) - 1 - -char CMDLIST[] = "CONNECT BYE INFO NODES PORTS ROUTES USERS MHEARD"; - -#define CMDLISTLEN sizeof(CMDLIST) - 1 - -char BADMSG[] = "Bad Parameter\r"; -char BADPORT[] = "Invalid Port Number\r"; -char NOTEXTPORT[] = "Only valid on EXT ports\r"; -char NOVALCALLS[] = "No Valid Calls defined on this port\r"; - -char BADVALUEMSG[] = "Invalid parameter\r"; - -char BADCONFIGMSG[] = "Configuration File check falled - will continue with old config\r"; -#ifdef LINBPQ -char REBOOTOK[] = "Rebooting\r"; -#else -char REBOOTOK[] = "Rebooting in 20 secs\r"; -#endif -char REBOOTFAILED[] = "Shutdown failed\r"; - -char RESTARTOK[] = "Restarting\r"; -char RESTARTFAILED[] = "Restart failed\r"; - -UCHAR ARDOP[7] = {'A'+'A','R'+'R','D'+'D','O'+'O','P'+'P',' '+' '}; // ARDOP IN AX25 -UCHAR VARA[7] = {'V'+'V','A'+'A','R'+'R','A'+'A',' '+' ',' '+' '}; // VARA IN AX25 - -int STATSTIME = 0; -int MAXBUFFS = 0; -int QCOUNT = 0; -int MINBUFFCOUNT = 65535; -int NOBUFFCOUNT = 0; -int BUFFERWAITS = 0; -int MAXDESTS = 0; -int NUMBEROFNODES = 0; -int L4CONNECTSOUT = 0; -int L4CONNECTSIN = 0; -int L4FRAMESTX = 0; -int L4FRAMESRX = 0; -int L4FRAMESRETRIED = 0; -int OLDFRAMES = 0; -int L3FRAMES = 0; - -VOID SENDSABM(); -VOID RESET2(); - -int APPL1 = 0; -int PASSCMD = 0; - -#pragma pack(1) - -struct _EXTPORTDATA DP; // Only way I can think of to get offets to port data into cmd table - -char CMDALIAS[ALIASLEN][NumberofAppls] = {0}; -char * ALIASPTR = &CMDALIAS[0][0]; - -extern int RigReconfigFlag; - -CMDX COMMANDS[]; - -int CMDXLEN = sizeof (CMDX); - -VOID SENDNODESMSG(); -VOID KISSCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID STOPCMS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID STARTCMS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID STOPPORT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID STARTPORT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID FINDBUFFS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID WL2KSYSOP(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID AXRESOLVER(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID AXMHEARD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID SHOWTELNET(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID SHOWAGW(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID SHOWARP(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID SHOWNAT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID PING(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID SHOWIPROUTE(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID FLMSG(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD); -void ListExcludedCalls(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID APRSCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID RECONFIGTELNET (TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID HELPCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); -VOID UZ7HOCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD); -VOID QTSMCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD); -void hookL2SessionAttempt(int Port, char * fromCall, char * toCall, struct _LINKTABLE * LINK); - - - -char * __cdecl Cmdprintf(TRANSPORTENTRY * Session, char * Bufferptr, const char * format, ...) -{ - // Send Command response checking PACLEN - - char Mess[4096]; - va_list(arglist); - int OldLen; - int MsgLen; - struct DATAMESSAGE * Buffer; - char * Messptr = Mess; - int Paclen = Session->SESSPACLEN; - - if (Paclen == 0) - Paclen = 255; - - va_start(arglist, format); - - MsgLen = vsprintf(Mess, format, arglist); - - OldLen = (int)(Bufferptr - (char *)REPLYBUFFER->L2DATA); - - while ((OldLen + MsgLen) > Paclen) - { - // Have to send Paclen then get a new buffer - - int ThisBit = Paclen - OldLen; // What we can send this time - - if (ThisBit < 0) - ThisBit = 0; // How can this happen?? - - memcpy(Bufferptr, Messptr, ThisBit); - Messptr += ThisBit; - MsgLen -= ThisBit; - - // QUEUE IT AND GET ANOTHER BUFFER - - Buffer = (struct DATAMESSAGE *)GetBuff(); - - if (Buffer == NULL) - - // No buffers, so just reuse the old one (better than crashing !!) - - Buffer = REPLYBUFFER; - else - SendCommandReply(Session, REPLYBUFFER, Paclen + (4 + sizeof(void *))); - - - REPLYBUFFER = Buffer; - Buffer->PID = 0xf0; - - Bufferptr = &Buffer->L2DATA[0]; - OldLen = 0; - } - - // Add last bit to buffer - - memcpy(Bufferptr, Messptr, MsgLen); - - return Bufferptr + MsgLen; -} - - -VOID SENDNODES(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - SENDNODESMSG(); - - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID SAVEMHCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - SaveMH(); - - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID SAVENODES(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - SaveNodes(); - - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID DUMPCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - WriteMiniDump(); - - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID RIGRECONFIG(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - if (!ProcessConfig()) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Configuration File check falled - will continue with old config"); - } - else - { - RigReconfigFlag = TRUE; - Bufferptr = Cmdprintf(Session, Bufferptr, "Rigcontrol Reconfig requested"); - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID REBOOT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - if (Reboot()) - { - strcpy(Bufferptr, REBOOTOK); - Bufferptr += (int)strlen(REBOOTOK); - } - else - { - strcpy(Bufferptr, REBOOTFAILED); - Bufferptr += (int)strlen(REBOOTFAILED); - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID RESTART(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - if (Restart()) - { - strcpy(Bufferptr, RESTARTOK); - Bufferptr += (int)strlen(RESTARTOK); - } - else - { - strcpy(Bufferptr, RESTARTFAILED); - Bufferptr += (int)strlen(RESTARTFAILED); - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID RESTARTTNC(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char * ptr, *Context; - int portno; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - - if (portno && portno < 33) - { - struct TNCINFO * TNC = TNCInfo[portno]; - - if (TNC == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - } - else - { - if (TNC->ProgramPath) - { - if (RestartTNC(TNC)) - Bufferptr = Cmdprintf(Session, Bufferptr, "Restart %s Ok\r", TNC->ProgramPath); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Restart %s Failed\r", TNC->ProgramPath); - } - else - { - Bufferptr = Cmdprintf(Session, Bufferptr, "PATH not defined so can't restart TNC\r"); - } - } - } - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -UCHAR VALNODESFLAG = 0, EXTONLY = 0; - -VOID PORTVAL (TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD); - -VOID VALNODES(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - VALNODESFLAG = 1; - PORTVAL(Session, Bufferptr, CmdTail, CMD); -} - -VOID EXTPORTVAL(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - EXTONLY = 1; - PORTVAL(Session, Bufferptr, CmdTail, CMD); -} -VOID PORTVAL(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS PORT VALUE COMMANDS - - char * ptr, *Context, * ptr1; - int portno; - UCHAR oldvalue, newvalue; - struct PORTCONTROL * PORT = PORTTABLE; - int n = NUMBEROFPORTS; - UCHAR * valueptr; - - // Get port number - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - - if (portno) - { - while (n--) - { - if (PORT->PORTNUMBER == portno) - { - if (VALNODESFLAG) - { - char * VNPtr = PORT->PERMITTEDCALLS; - char Normcall[10]; - - VALNODESFLAG = 0; - - if (VNPtr) - { - while (VNPtr[0]) - { - Normcall[ConvFromAX25(VNPtr, Normcall)] = 0; - Bufferptr = Cmdprintf(Session, Bufferptr, "%s ", Normcall); - VNPtr += 7; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - } - else - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", NOVALCALLS); - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - return; - - } - - if (EXTONLY) - { - // Make sure an Extenal Port - - EXTONLY = 0; - - if (PORT->PORTTYPE != 0x10) - { - strcpy(Bufferptr, NOTEXTPORT); - Bufferptr += (int)strlen(NOTEXTPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - - valueptr = (UCHAR *)PORT + CMD->CMDFLAG; - oldvalue = *valueptr; - - // Display Param Namee - - ptr1 = &CMD->String[0]; - n = 12; - - while (*(ptr1) != ' ' && n--) - *(Bufferptr++) = *(ptr1++); - - // See if another param - if not, just display current value - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr && ptr[0]) - { - // Get new value - - newvalue = atoi(ptr); - *valueptr = newvalue; - - Bufferptr = Cmdprintf(Session, Bufferptr, " was %d now %d\r", oldvalue, newvalue); - } - - else - Bufferptr = Cmdprintf(Session, Bufferptr, " %d\r", oldvalue); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - - } - PORT = PORT->PORTPOINTER; - } - } - } - - // Bad port - - strcpy(Bufferptr, BADPORT); - Bufferptr += (int)strlen(BADPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - -} - -VOID SWITCHVAL (TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // Update switch 8 bit value - - char * ptr, *Context, * ptr1; - UCHAR oldvalue, newvalue; - int n; - UCHAR * valueptr; - - valueptr = (UCHAR *)CMD->CMDFLAG; - - oldvalue = *valueptr; - - // Display Param Name - - ptr1 = &CMD->String[0]; - n = 12; - - while (*(ptr1) != ' ' && n--) - *(Bufferptr++) = *(ptr1++); - - // See if a param - if not, just display current value - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - { - // Get new value - - newvalue = atoi(ptr); - *valueptr = newvalue; - - Bufferptr = Cmdprintf(Session, Bufferptr, " was %d now %d\r", oldvalue, newvalue); - - if (memcmp(CMD->String, "NODESINT ", 8) == 0) - L3TIMER = L3INTERVAL; - } - else - Bufferptr = Cmdprintf(Session, Bufferptr, " %d\r", oldvalue); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - -} - -VOID SWITCHVALW (TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // Update switch 16 bit value - - char * ptr, *Context, * ptr1; - USHORT oldvalue, newvalue; - int n; - USHORT * valueptr; - - valueptr = (USHORT *)CMD->CMDFLAG; - - oldvalue = (USHORT)*valueptr; - - // Display Param Name - - ptr1 = &CMD->String[0]; - n = 12; - - while (*(ptr1) != ' ' && n--) - *(Bufferptr++) = *(ptr1++); - - // See if a param - if not, just display current value - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - { - // Get new value - - newvalue = atoi(ptr); - *valueptr = newvalue; - - Bufferptr = Cmdprintf(Session, Bufferptr, " was %d now %d\r", oldvalue, newvalue); - } - else - Bufferptr = Cmdprintf(Session, Bufferptr, " %d\r", oldvalue); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - -} - -TRANSPORTENTRY * SetupSessionFromSession(TRANSPORTENTRY * Session, PBPQVECSTRUC HOSTSESS, UINT APPLMASK) -{ - // Create a Transport (L4) session linked to an incoming Session - - TRANSPORTENTRY * NewSess = L4TABLE; - int Index = 0; - - while (Index < MAXCIRCUITS) - { - if (NewSess->L4USER[0] == 0) - { - // Got One - - UCHAR * ourcall = &MYCALL[0]; - - Session->L4CROSSLINK = NewSess; - NewSess->L4CROSSLINK = Session; - - if (APPLMASK) - { - // Circuit for APPL - look for an APPLCALL - - APPLCALLS * APPL = APPLCALLTABLE; - - while ((APPLMASK & 1) == 0) - { - APPLMASK >>= 1; - APPL++; - } - if (APPL->APPLCALL[0] > 0x40) // We have an applcall - ourcall = &APPL->APPLCALL[0]; - } - - memcpy(NewSess->L4USER, ourcall, 7); - memcpy(NewSess->L4MYCALL, Session->L4MYCALL, 7); - - NewSess->CIRCUITINDEX = Index; //OUR INDEX - NewSess->CIRCUITID = NEXTID; - - NEXTID++; - if (NEXTID == 0) - NEXTID++; // kEEP nON-ZERO - - NewSess->SESSIONT1 = Session->SESSIONT1; - NewSess->L4WINDOW = (UCHAR)L4DEFAULTWINDOW; - NewSess->SESSPACLEN = PACLEN; // Default; - - NewSess->L4TARGET.HOST = HOSTSESS; - NewSess->L4STATE = 5; - return NewSess; - } - Index++; - NewSess++; - } - return NULL; -} - -extern int GETCONNECTIONINFO(); - - -BOOL cATTACHTOBBS(TRANSPORTENTRY * Session, UINT Mask, int Paclen, int * AnySessions) -{ - PBPQVECSTRUC HOSTSESS = BPQHOSTVECTOR; - TRANSPORTENTRY * NewSess; - int ApplNum; - int n = BPQHOSTSTREAMS; - int ConfigedPorts = 0; - - // LOOK FOR A FREE HOST SESSION - - while (n--) - { - if (HOSTSESS->HOSTAPPLMASK & Mask) - { - // Right appl - - ConfigedPorts++; - - if (HOSTSESS->HOSTSESSION == NULL && (HOSTSESS->HOSTFLAGS & 3) == 0) // Not attached and no report outstanding - { - // WEVE GOT A FREE BPQ HOST PORT - USE IT - - NewSess = SetupSessionFromSession(Session, HOSTSESS, Mask); - - if (NewSess == NULL) - return FALSE; // Appl not available - - HOSTSESS->HOSTSESSION = NewSess; - - // Convert APPLMASK to APPLNUM - - ApplNum = 1; - - while (APPLMASK && (APPLMASK & 1) == 0) - { - ApplNum++; - APPLMASK >>= 1; - } - - HOSTSESS->HOSTAPPLNUM = ApplNum; - - HOSTSESS->HOSTFLAGS |= 2; // Indicate State Change - - NewSess->L4CIRCUITTYPE = BPQHOST | DOWNLINK; - - PostStateChange(NewSess); - - NewSess->SESS_APPLFLAGS = HOSTSESS->HOSTAPPLFLAGS; - - NewSess->SESSPACLEN = Paclen; - - return TRUE; - } - } - HOSTSESS++; - } - - *AnySessions = ConfigedPorts; // to distinguish between none and all in use - return FALSE; -} - -VOID APPLCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - BOOL CONFAILED = 0; - UINT CONERROR ; - char APPName[13]; - char * ptr1, *ptr2; - int n = 12; - BOOL Stay = FALSE; - - // Copy Appl and Null Terminate - - ptr1 = &CMD->String[0]; - ptr2 = APPName; - - while (*(ptr1) != ' ' && n--) - *(ptr2++) = *(ptr1++); - - *(ptr2) = 0; - - if (Session->LISTEN) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Can't use %s while listening\r", APPName); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - if (CmdTail[0] == 'S') - Stay = TRUE; - - Session->STAYFLAG = Stay; - - memcpy(Session->APPL, CMD->String, 12); - - // SEE IF THERE IS AN ALIAS DEFINDED FOR THIS COMMAND - - if (ALIASPTR[0] > ' ') - { - // COPY ALIAS TO COMMAND BUFFER, THEN REENTER COMMAND HANDLER - - int SaveSecure = Session->Secure_Session; - - memcpy(COMMANDBUFFER, ALIASPTR, ALIASLEN); - _strupr(COMMANDBUFFER); - memcpy(OrigCmdBuffer, ALIASPTR, ALIASLEN); // In case original case version needed - - ALIASINVOKED = 1; // To prevent Alias Loops - - // Set secure session for application alias in case telnet outward connect - - Session->Secure_Session = 1; - DoTheCommand(Session); - Session->Secure_Session = SaveSecure; - - return; - } - - if (cATTACHTOBBS(Session, APPLMASK, CMDPACLEN, &CONERROR) == 0) - { - // No Streams - - if (CONERROR) - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, All %s Ports are in use - Please try later\r", APPName); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, Application %s is not running - Please try later\r", APPName); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // IF CMD_TO_APPL SET IN APPLFLAGS, SEND INPUT MSG TO APPL - - if (Session->L4CROSSLINK->SESS_APPLFLAGS & CMD_TO_APPL) - { - struct DATAMESSAGE * Msg = (struct DATAMESSAGE *)GetBuff(); - TRANSPORTENTRY * XSession = Session->L4CROSSLINK; - - if (Msg) - { - COMMANDBUFFER[72] = 13; - memcpy(Msg->L2DATA, COMMANDBUFFER, 73); - Msg->LENGTH = 73 + 4 + sizeof(void *); - Msg->PID = 0xf0; - - C_Q_ADD(&XSession->L4TX_Q, (UINT *)Msg); - PostDataAvailable(XSession); - } - } - - if (Stay) - Session->L4CROSSLINK->L4TARGET.HOST->HOSTFLAGS |= 0x20; - - // IF MSG_TO_USER SET, SEND 'CONNECTED' MESSAGE TO USER - - Session->SESS_APPLFLAGS = Session->L4CROSSLINK->SESS_APPLFLAGS; - - if (Session->L4CROSSLINK->SESS_APPLFLAGS & MSG_TO_USER) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Connected to %s\r", APPName); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - // DONT NEED BUFFER ANY MORE - - ReleaseBuffer((UINT *)REPLYBUFFER); - return; -} - - -VOID CMDI00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", INFOMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID CMDV00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - if (sizeof(void *) == 4) - Bufferptr = Cmdprintf(Session, Bufferptr, "Version %s\r", VersionString); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Version %s (64 bit)\r", VersionString); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID BYECMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - CLOSECURRENTSESSION(Session); // Kills any crosslink, plus local link - ReleaseBuffer((UINT *)REPLYBUFFER); - return; -} - -VOID CMDPAC(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // SET PACLEN FOR THIS SESSION - - char * ptr, *Context; - int newvalue; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - { - // Get new value - - newvalue = atoi(ptr); - if (newvalue > 29 && newvalue < 256) - Session->SESSPACLEN = newvalue & 0xff; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "PACLEN - %d\r", Session->SESSPACLEN); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID CMDIDLE(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // SET IDLETIME FOR THIS SESSION - - char * ptr, *Context; - int newvalue; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - { - // Get new value - - newvalue = atoi(ptr); - if (newvalue > 59 && newvalue < 901) - Session->L4LIMIT = newvalue; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "IDLETIME - %d\r", Session->L4LIMIT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - -} -VOID CMDT00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // SET L4 TIMEOUT FOR CONNECTS ON THIS SESSION - - char * ptr, *Context; - int newvalue; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - { - // Get new value - - newvalue = atoi(ptr); - if (newvalue > 20) - Session->SESSIONT1 = newvalue; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "L4TIMEOUT - %d\r", Session->SESSIONT1); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -UCHAR PWLen; -char PWTEXT[80]; - -VOID PWDCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char * ptr, *Context; - USHORT pwsum = 0; - int n = 5, p1, p2, p3, p4, p5; - - if (Session->Secure_Session) // HOST - SET AUTHORISED REGARDLESS - { - Session->PASSWORD = 0xFFFF; // SET AUTHORISED - Session->Secure_Session = 1; - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - { - // Check Password - - n = 5; - - while (n--) - pwsum += *(ptr++); - - if (Session->PASSWORD == pwsum) - { - Session->PASSWORD = 0xFFFF; // SET AUTHORISED - Session->Secure_Session = 1; - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - ReleaseBuffer((UINT *)REPLYBUFFER); - return; - } - - // SEND PASSWORD PROMPT - - if (PWLen == 0) - PWLen = 1; - - p1 = rand() % PWLen; - pwsum += PWTEXT[p1++]; - - p2 = rand() % PWLen; - pwsum += PWTEXT[p2++]; - - p3 = rand() % PWLen; - pwsum += PWTEXT[p3++]; - - p4 = rand() % PWLen; - pwsum += PWTEXT[p4++]; - - p5 = rand() % PWLen; - pwsum += PWTEXT[p5++]; - - Session->PASSWORD = pwsum; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%d %d %d %d %d\r", p1, p2, p3, p4, p5); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - -VOID CMDSTATS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char * ptr, *Context; - int Port = 0, cols = NUMBEROFPORTS, i; - char * uptime; - struct PORTCONTROL * PORT = PORTTABLE; - struct PORTCONTROL * STARTPORT; - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - // SEE IF ANY PARAM - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && ptr[0]) - Port = atoi(ptr); - - // IF ASKING FOR PORT STATS, DONT DO SYSTEM ONES - - if (Port == 0) - { - uptime = FormatUptime(STATSTIME); - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", uptime); - - Bufferptr = Cmdprintf(Session, Bufferptr, "Semaphore Get-Rel/Clashes %9d%9d\r", - Semaphore.Gets - Semaphore.Rels, Semaphore.Clashes); - - Bufferptr = Cmdprintf(Session, Bufferptr, "Buffers:Max/Cur/Min/Out/Wait%9d%9d%9d%9d%9d\r", - MAXBUFFS, QCOUNT, MINBUFFCOUNT, NOBUFFCOUNT, BUFFERWAITS); - - Bufferptr = Cmdprintf(Session, Bufferptr, "Known Nodes/Max Nodes %9d%9d\r", - NUMBEROFNODES, MAXDESTS); - - Bufferptr = Cmdprintf(Session, Bufferptr, "L4 Connects Sent/Rxed %9d%9d\r", - L4CONNECTSOUT, L4CONNECTSIN); - - Bufferptr = Cmdprintf(Session, Bufferptr, "L4 Frames TX/RX/Resent/Reseq%9d%9d%9d%9d\r", - L4FRAMESTX, L4FRAMESRX, L4FRAMESRETRIED, OLDFRAMES); - - Bufferptr = Cmdprintf(Session, Bufferptr, "L3 Frames Relayed %9d\r", L3FRAMES); - - if (ptr && ptr[0] == 'S') - { - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - - // POSITION TO REQUESTED PORT - - if (Port) - { - while (PORT && PORT->PORTNUMBER != Port) - { - PORT = PORT->PORTPOINTER; - cols--; - } - } - - if (PORT == NULL) // REQUESTED PORT NOT FOUND - { - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - STARTPORT = PORT; - - if (cols > 7) - cols = 7; - - Bufferptr = Cmdprintf(Session, Bufferptr, " "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Port %02d ", PORT->PORTNUMBER); - PORT = PORT->PORTPOINTER; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "L2 Frames Digied"); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2DIGIED); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "L2 Frames Heard "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2FRAMES); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "L2 Frames Rxed "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2FRAMESFORUS); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "L2 Frames Sent "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2FRAMESSENT); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "L2 Timeouts "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2TIMEOUTS); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "REJ Frames Rxed "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2REJCOUNT); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "RX out of Seq "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2OUTOFSEQ); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "L2 Resequenced "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2RESEQ); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "Undrun/Poll T/o "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2URUNC); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "RX Overruns "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2ORUNC); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "RX CRC Errors "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->RXERRORS); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "FRMRs Sent "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2FRMRTX); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "FRMRs Received "); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L2FRMRRX); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; - Bufferptr = Cmdprintf(Session, Bufferptr, "Frames abandoned"); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%9d", PORT->L1DISCARD); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - PORT = STARTPORT; -// Bufferptr = Cmdprintf(Session, Bufferptr, "Link Active %% "); - Bufferptr = Cmdprintf(Session, Bufferptr, "Active(TX/Busy) %%"); - - for (i = 0; i < cols; i++) - { - Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %3d ", PORT->AVSENDING, PORT->AVACTIVE); - PORT = PORT->PORTPOINTER; - } - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID CMDL00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS 'LINKS' MESSAGE - - struct _LINKTABLE * LINK = LINKS; - int n = MAXLINKS; - int len; - char Normcall[11] = ""; - - Bufferptr = Cmdprintf(Session, Bufferptr, "Links\r"); - - while (n--) - { - if (LINK->LINKCALL[0]) - { - len = ConvFromAX25(LINK->LINKCALL, Normcall); - - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", Normcall); - - len = ConvFromAX25(LINK->OURCALL, Normcall); - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", Normcall); - - if (LINK->Ver2point2) - Bufferptr = Cmdprintf(Session, Bufferptr, " S=%d P=%d T=%d V=2.2\r", - LINK->L2STATE, LINK->LINKPORT->PORTNUMBER, LINK->LINKTYPE); - else - Bufferptr = Cmdprintf(Session, Bufferptr, " S=%d P=%d T=%d V=%d\r", - LINK->L2STATE, LINK->LINKPORT->PORTNUMBER, LINK->LINKTYPE, 2 - LINK->VER1FLAG); - } - LINK++; - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - - -VOID CMDS00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS 'USERS' - - int n = MAXCIRCUITS; - TRANSPORTENTRY * L4 = L4TABLE; - TRANSPORTENTRY * Partner; - int MaxLinks = MAXLINKS; - char State[12] = "", Type[12] = "Uplink"; - char LHS[50] = "", MID[10] = "", RHS[50] = ""; - char Line[100]; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%s%d)\r", SESSIONHDDR, QCOUNT); - - while (n--) - { - if (L4->L4USER[0]) - { - RHS[0] = MID[0] = 0; - - if ((L4->L4CIRCUITTYPE & UPLINK) == 0) //SHORT CMDS10A ; YES - { - // IF DOWNLINK, ONLY DISPLAY IF NO CROSSLINK - - if (L4->L4CROSSLINK == 0) //jne CMDS60 ; WILL PROCESS FROM OTHER END - { - // ITS A DOWNLINK WITH NO PARTNER - MUST BE A CLOSING SESSION - // DISPLAY TO THE RIGHT FOR NOW - - strcpy(LHS, "(Closing) "); - DISPLAYCIRCUIT(L4, RHS); - goto CMDS50; - } - else - goto CMDS60; // WILL PROCESS FROM OTHER END - } - - if (L4->L4CROSSLINK == 0) - { - // Single Entry - - DISPLAYCIRCUIT(L4, LHS); - } - else - { - DISPLAYCIRCUIT(L4, LHS); - - Partner = L4->L4CROSSLINK; - - if (Partner->L4STATE == 5) - strcpy(MID, "<-->"); - else - strcpy(MID, "<~~>"); - - DISPLAYCIRCUIT(Partner, RHS); - } -CMDS50: - memset(Line, 32, 100); - memcpy(Line, LHS, (int)strlen(LHS)); - memcpy(&Line[35], MID, (int)strlen(MID)); - strcpy(&Line[40], RHS); - strcat(&Line[40], "\r"); - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", Line); - } -CMDS60: - L4++; - } - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -extern int MasterPort[MAXBPQPORTS+1]; // Pointer to first BPQ port for a specific MPSK or UZ7HO host - -VOID CMDP00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // Process PORTS Message - - // If extended show state of TNC (Open, Active, etc) - - struct PORTCONTROL * PORT = PORTTABLE; - char Extended = CmdTail[0]; - struct PORTCONTROL * SAVEPORT; - - Bufferptr = Cmdprintf(Session, Bufferptr, "Ports\r"); - - while (PORT) - { - char Status[32] = "???????"; - int Portno = PORT->PORTNUMBER; - - if (PORT->Hide) - { - PORT = PORT->PORTPOINTER; - continue; - } - - if (Extended != 'E') - { - Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %s\r", PORT->PORTNUMBER, PORT->PORTDESCRIPTION); - - PORT = PORT->PORTPOINTER; - continue; - } - - // Try to get port status - may not be possible with some - - if (PORT->PortStopped) - { - strcpy(Status, "Stopped"); - Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %-7s %s\r", PORT->PORTNUMBER, Status, PORT->PORTDESCRIPTION); - - PORT = PORT->PORTPOINTER; - continue; - } - - if (PORT->PORTTYPE == 0) - { - struct KISSINFO * KISS = (struct KISSINFO *)PORT; - NPASYINFO Port; - - SAVEPORT = PORT; - - if (KISS->FIRSTPORT && KISS->FIRSTPORT != KISS) - { - // Not first port on device - - PORT = (struct PORTCONTROL *)KISS->FIRSTPORT; - Port = KISSInfo[Portno]; - } - - Port = KISSInfo[PORT->PORTNUMBER]; - - if (Port) - { - // KISS like - see if connected - - if (PORT->PORTIPADDR.s_addr || PORT->KISSSLAVE) - { - // KISS over UDP or TCP - - if (PORT->KISSTCP) - { - if (Port->Connected) - strcpy(Status, "Open "); - else - if (PORT->KISSSLAVE) - strcpy(Status, "Listen"); - else - strcpy(Status, "Closed"); - } - else - strcpy(Status, "UDP"); - } - else - if (Port->idComDev) // Serial port Open - strcpy(Status, "Open "); - else - strcpy(Status, "Closed"); - - PORT = SAVEPORT; - } - } - else if (PORT->PORTTYPE == 14) // Loopback - strcpy(Status, "Open "); - - else if (PORT->PORTTYPE == 16) // External - { - if (PORT->PROTOCOL == 10) // 'HF' Port - { - struct TNCINFO * TNC = TNCInfo[Portno]; - - if (TNC == NULL) - { - PORT = PORT->PORTPOINTER; - continue; - } - - switch (TNC->Hardware) // Hardware Type - { - case H_SCS: - case H_KAM: - case H_AEA: - case H_HAL: - case H_TRK: - case H_SERIAL: - - // Serial - - if (TNC->hDevice) - strcpy(Status, "Open "); - else - strcpy(Status, "Closed"); - - break; - - case H_UZ7HO: - - if (TNCInfo[MasterPort[Portno]]->CONNECTED) - strcpy(Status, "Open "); - else - strcpy(Status, "Closed"); - - break; - - case H_WINMOR: - case H_V4: - - case H_MPSK: - case H_FLDIGI: - case H_UIARQ: - case H_ARDOP: - case H_VARA: - case H_KISSHF: - case H_WINRPR: - case H_FREEDATA: - - // TCP - - if (TNC->CONNECTED) - { - if (TNC->Streams[0].Attached) - strcpy(Status, "In Use"); - else - strcpy(Status, "Open "); - } - else - strcpy(Status, "Closed"); - - break; - - case H_TELNET: - - strcpy(Status, "Open "); - } - } - else - { - // External but not HF - AXIP, BPQETHER VKISS, ?? - - struct _EXTPORTDATA * EXTPORT = (struct _EXTPORTDATA *)PORT; - - strcpy(Status, "Open "); - } - } - - Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %-7s %s\r", PORT->PORTNUMBER, Status, PORT->PORTDESCRIPTION); - - PORT = PORT->PORTPOINTER; - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -char * DisplayRoute(TRANSPORTENTRY * Session, char * Bufferptr, struct ROUTE * Routes, char Verbose) -{ - char Normcall[10]; - char locked[] = " ! "; - int NodeCount; - int Percent = 0; - char PercentString[20]; - int Iframes, Retries; - char Active[10]; - int Queued; - - int Port = 0; - - int len = ConvFromAX25(Routes->NEIGHBOUR_CALL, Normcall); - - Normcall[9]=0; - - if ((Routes->NEIGHBOUR_FLAG & 1) == 1) - strcpy(locked, "!"); - else - strcpy(locked, " "); - - NodeCount = COUNTNODES(Routes); - - if (Routes->NEIGHBOUR_LINK && Routes->NEIGHBOUR_LINK->L2STATE >= 5) - strcpy(Active, ">"); - else - strcpy(Active, " "); - - if (Verbose) - { - if (Routes->NEIGHBOUR_LINK) - Queued = COUNT_AT_L2(Routes->NEIGHBOUR_LINK); // SEE HOW MANY QUEUED - else - Queued = 0; - - Iframes = Routes->NBOUR_IFRAMES; - Retries = Routes->NBOUR_RETRIES; - - if (Iframes) - { - Percent = (Retries * 100) / Iframes; - sprintf(PercentString, "%3d%%", Percent); - } - else - strcpy(PercentString, " "); - - - Bufferptr = Cmdprintf(Session, Bufferptr, "%s%2d %s %3d %3d%s%4d %4d %s %d %d %02d:%02d %d %d", - Active, Routes->NEIGHBOUR_PORT, Normcall, - Routes->NEIGHBOUR_QUAL, NodeCount, locked, Iframes, Retries, PercentString, Routes->NBOUR_MAXFRAME, Routes->NBOUR_FRACK, - Routes->NEIGHBOUR_TIME >> 8, (Routes->NEIGHBOUR_TIME) & 0xff, Queued, Routes->OtherendsRouteQual); - - // IF INP3 DISPLAY SRTT - - if (Routes->INP3Node) // INP3 Enabled? - { - double srtt = Routes->SRTT/1000.0; - double nsrtt = Routes->NeighbourSRTT/1000.0; - - Bufferptr = Cmdprintf(Session, Bufferptr, " %4.2fs %4.2fs", srtt, nsrtt); - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - } - else - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s %d %s %d %d%s\r", - Active, Routes->NEIGHBOUR_PORT, Normcall, Routes->NEIGHBOUR_QUAL, NodeCount, locked); - } - - return Bufferptr; -} - - -VOID CMDR00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - struct ROUTE * Routes = NEIGHBOURS; - int MaxRoutes = MAXNEIGHBOURS; - char locked[] = " ! "; - int Percent = 0; - char * ptr, * Context; - char Verbose = 0; - int Port = 0; - char AXCALL[7]; - BOOL Found; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr && (int)strlen(ptr) > 1) - { - // Route Update - - goto ROUTEUPDATE; - } - - if (ptr) - { - Verbose = ptr[0]; - ptr = strtok_s(NULL, " ", &Context); - if (ptr) - Port = atoi(ptr); - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "Routes\r"); - - while (MaxRoutes--) - { - if (Routes->NEIGHBOUR_CALL[0] != 0) - if (Port == 0 || Port == Routes->NEIGHBOUR_PORT) - Bufferptr = DisplayRoute(Session, Bufferptr, Routes, Verbose); - - Routes++; - } - goto SendReply; - -ROUTEUPDATE: - - if (Session->PASSWORD != 0xFFFF) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", PASSWORDMSG); - goto SendReply; - } - - // Line is - - // ROUTES G8BPQ-2 2 100 - Set quality to 100 - // ROUTES G8BPQ-2 2 ! - Toggle 'Locked Route' flag - // ROUTES G8BPQ-2 2 100 ! - Set quality and toggle 'locked' flag - - - ConvToAX25(ptr, AXCALL); - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr) - Port = atoi(ptr); - - if (Port == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Number Missing \r"); - goto SendReply; - } - - Found = FindNeighbour(AXCALL, Port, &Routes); - - if (Context && Context[0] > 32) - { - // More Params - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr) - { - // Adding - - memcpy(Routes->NEIGHBOUR_CALL, AXCALL, 7); // In case Add - Routes->NEIGHBOUR_PORT = Port; - Found = TRUE; - } - - if (strcmp(ptr, "!") == 0) - { - // Toggle Lock - - Routes->NEIGHBOUR_FLAG ^= 1; // FLIP LOCKED BIT - goto Displayit; - } - - if (strcmp(ptr, "Z") == 0) - { - // Clear Counts - - Routes->NBOUR_IFRAMES = 0; - Routes->NBOUR_RETRIES = 0; - goto Displayit; - } - - Routes->NEIGHBOUR_QUAL = atoi(ptr); - - if (Context && Context[0] == '!') - { - // Toggle Lock - - Routes->NEIGHBOUR_FLAG ^= 1; // FLIP LOCKED BIT - goto Displayit; - } - } - -Displayit: - - // Just display - - if (Found) - Bufferptr = DisplayRoute(Session, Bufferptr, Routes, 1); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Not Found\r"); - - - -/* MOV ROUTEDISP,1 - - CMP BYTE PTR [ESI],20H - JE SHORT JUSTDISPLAY - - MOV ZAPFLAG,0 - - CMP BYTE PTR [ESI],'Z' - JNE SHORT NOTZAP - - MOV ZAPFLAG,1 - JMP SHORT JUSTDISPLAY - - PUBLIC NOTZAP -NOTZAP: - - MOV ROUTEDISP,2 ; LOCK UPDATE - - CMP BYTE PTR [ESI],'!' - JE SHORT JUSTDISPLAY -; -; LOOK FOR V FOR ADDING A DIGI -; - CMP WORD PTR [ESI],' V' ; V [SPACE] - JE ADDDIGI - - CALL GETVALUE ; GET NUMBER, UP TO SPACE , CR OR OFFH - JC SHORT BADROUTECMD ; INVALID DIGITS - - MOV NEWROUTEVAL,AL - - MOV ROUTEDISP,0 - - CALL SCAN ; SEE IF ! - MOV AH,[ESI] - - - PUBLIC JUSTDISPLAY -JUSTDISPLAY: - - - MOV ESI,OFFSET32 AX25CALL - CALL _FINDNEIGHBOUR - JZ SHORT FOUNDROUTE ; IN LIST - OK - - CMP EBX,0 - JE SHORT BADROUTECMD ; TABLE FULL?? - - MOV ECX,7 - MOV EDI,EBX - REP MOVSB ; PUT IN CALL - - MOV AL,SAVEPORT - MOV NEIGHBOUR_PORT[EBX],AL - - JMP SHORT FOUNDROUTE - - - PUBLIC BADROUTECMD -BADROUTECMD: - - POP EDI - - JMP PBADVALUE - - PUBLIC FOUNDROUTE -FOUNDROUTE: - - CMP ZAPFLAG,1 - JNE SHORT NOTCLEARCOUNTS - - XOR AX,AX - MOV ES:WORD PTR NBOUR_IFRAMES[EDI],AX - MOV ES:WORD PTR NBOUR_IFRAMES+2[EDI],AX - MOV ES:WORD PTR NBOUR_RETRIES[EDI],AX - MOV ES:WORD PTR NBOUR_RETRIES+2[EDI],AX - - JMP SHORT NOUPDATE - - PUBLIC NOTCLEARCOUNTS -NOTCLEARCOUNTS: - - CMP ROUTEDISP,1 - JE SHORT NOUPDATE - - CMP ROUTEDISP,2 - JE SHORT LOCKUPDATE - - MOV AL,NEWROUTEVAL - MOV NEIGHBOUR_QUAL[EBX],AL - - CMP AH,'!' - JNE SHORT NOUPDATE - - PUBLIC LOCKUPDATE -LOCKUPDATE: - - XOR NEIGHBOUR_FLAG[EBX],1 ; FLIP LOCKED BIT - - PUBLIC NOUPDATE -NOUPDATE: - - MOV ESI,EBX - POP EDI - - POP EBX - CALL DISPLAYROUTE - - JMP SENDCOMMANDREPLY - - PUBLIC ADDDIGI -ADDDIGI: - - ADD ESI,2 - PUSH ESI ; SAVE INPUT BUFFER - - MOV ESI,OFFSET32 AX25CALL - CALL _FINDNEIGHBOUR - - POP ESI - - JZ SHORT ADD_FOUND ; IN LIST - OK - - JMP BADROUTECMD - - PUBLIC ADD_FOUND -ADD_FOUND: - - CALL CONVTOAX25 ; GET DIGI CALLSIGN - - PUSH ESI - - MOV ESI,OFFSET32 AX25CALL - LEA EDI,NEIGHBOUR_DIGI[EBX] - MOV ECX,7 - REP MOVSB - - POP ESI ; MSG BUFFER -; -; SEE IF ANOTHER DIGI -; - CMP BYTE PTR [ESI],20H - JE SHORT NOMORE - - CALL CONVTOAX25 ; GET DIGI CALLSIGN - MOV ESI,OFFSET32 AX25CALL - LEA EDI,NEIGHBOUR_DIGI+7[EBX] - MOV ECX,7 - REP MOVSB - - PUBLIC NOMORE -NOMORE: - - JMP NOUPDATE - - - -*/ - -SendReply: - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - - -VOID LISTENCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS LISTEN COMMAND - - // for monitoring a remote ax.25 port - - int Port = 0, index =0; - uint64_t ListenMask = 0; - char * ptr, *Context; - struct PORTCONTROL * PORT = NULL; - char ListenPortList[128] = ""; - - ptr = strtok_s(CmdTail, " ,", &Context); - - // Now accepts a list of ports - - if (ptr == 0 || memcmp(ptr, "OFF", 3) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Listening disabled\r"); - Session->LISTEN = 0; - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - while (ptr) - { - Port = atoi(ptr); - - if (Port == 0 && NUMBEROFPORTS == 1) - Port = 1; - - ptr = strtok_s(NULL, ", ", &Context); // Get port String - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port %d\r", Port); - continue; - } - - if (PORT->PROTOCOL == 10 && PORT->UICAPABLE == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port %d is not an ax.25 port\r", Port); - continue; - } - - if (PORT->PORTL3FLAG) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port %d is for internode traffic only\r", Port); - continue; - } - - if (Session->L4CIRCUITTYPE == L2LINK + UPLINK) - { - if (Session->L4TARGET.LINK->LINKPORT->PORTNUMBER == Port) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "You can't Listen to the port you are connected on\r"); - continue; - } - } - - sprintf(ListenPortList, "%s %d", ListenPortList, Port); - - ListenMask |= ((uint64_t)1 << (Port - 1)); - } - - Session->LISTEN = ListenMask; - - if (ListenMask) - { - if (CountBits64(ListenMask) == 1) - Bufferptr = Cmdprintf(Session, Bufferptr, "Listening on port%s. Use CQ to send a beacon, LIS to disable\r", ListenPortList); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Listening on ports%s. Use LIS to disable\r", ListenPortList); - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - -VOID UNPROTOCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS UNPROTO COMMAND - - int Port = 0, index =0; - char * ptr, *Context; - struct PORTCONTROL * PORT = NULL; - UCHAR axcalls[64]; - BOOL Stay, Spy; - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - Port = atoi(ptr); - - if (Port == 0 && NUMBEROFPORTS == 1) - Port = 1; - else - ptr = strtok_s(NULL, " ", &Context); // Get Unproto String - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (ptr == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Destination missing\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - ptr[strlen(ptr)] = ' '; // Put param back together - - if (DecodeCallString(ptr, &Stay, &Spy, &axcalls[0]) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Call\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (PORT->PROTOCOL == 10 && PORT->UICAPABLE == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port is not an ax.25 port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (PORT->PORTL3FLAG) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port is for internode traffic only\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // Copy Address Info to Session Record - - Session->UNPROTO = Port; - Session->UAddrLen = (int)strlen(axcalls); - memcpy(Session->UADDRESS, axcalls, 63); - - Bufferptr = Cmdprintf(Session, Bufferptr, "Unproto Mode - enter ctrl/z or /ex to exit\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - -VOID CALCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS CAL COMMAND - - int Port = 0, index = 0, Count = 0; - char * ptr, *Context; - struct PORTCONTROL * PORT = NULL; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - Port = atoi(ptr); - - if (Port == 0 && NUMBEROFPORTS == 1) - Port = 1; - else - ptr = strtok_s(NULL, " ", &Context); // Get Unproto String - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (PORT->PROTOCOL == 10 && PORT->UICAPABLE == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port is not an ax.25 port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (ptr == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Count Missing\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Count = atoi(ptr); - - ptr = strtok_s(NULL, " ", &Context); // Get Unproto String - - Bufferptr = Cmdprintf(Session, Bufferptr, "Ok\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - - -VOID CQCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // Send a CQ Beacon on a radio port. Must be in LISTEN state - - DIGIMESSAGE Msg; - int Port = 0; - int OneBits = 0; - uint64_t MaskCopy = Session->LISTEN; - int Len; - UCHAR CQCALL[7]; - char Empty[] = ""; - char * ptr1 = &OrigCmdBuffer[3]; - UCHAR * axptr = &Msg.DIGIS[0][0]; - char * ptr2, *Context; - - while (MaskCopy) - { - if (MaskCopy & 1) - OneBits++; - - Port++; - MaskCopy = MaskCopy >> 1; - } - - if (OneBits == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "You must enter LISTEN before calling CQ\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (OneBits > 1) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "You can't call CQ if LISTENing on more than one port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - Len = (int)strlen(OrigCmdBuffer) - 3; - - if (Len < 0) - Len = 0; - - memset(&Msg, 0, sizeof(Msg)); - - Msg.PORT = Port; - Msg.CTL = 3; // UI - - // see if a Via specified - - if (_memicmp(ptr1, "via ", 4) == 0) - { - ptr2 = strtok_s(ptr1 + 4, ",", &Context); - - while (ptr2) - { - if (ConvToAX25(ptr2, axptr) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid via string\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - axptr += 7; - - if (axptr == &Msg.DIGIS[7][0]) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Too many digis\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - ptr1 = ptr2; - ptr2 = strtok_s(NULL, ",", &Context); - } - - // ptr1 is start of last digi call. We need to position to data - - ptr1 = strchr(ptr1, ' '); - - if (ptr1 == NULL) - ptr1 = Empty; - else - ptr1++ ; // to message - - Len = (int)strlen(ptr1); - - } - - ConvToAX25("CQ", CQCALL); - memcpy(Msg.DEST, CQCALL, 7); - Msg.DEST[6] |= 0x80; // set Command Bit - memcpy(Msg.ORIGIN, Session->L4USER, 7); - Msg.ORIGIN[6] ^= 0x1e; // Flip SSID - Msg.PID = 0xf0; // Data PID - memcpy(&Msg.L2DATA, ptr1, Len); - - Send_AX_Datagram(&Msg, Len + 2, Port); // Len is Payload ie CTL, PID and Data - - Bufferptr = Cmdprintf(Session, Bufferptr, "CQ sent\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - -} - - -TRANSPORTENTRY * SetupNewSession(TRANSPORTENTRY * Session, char * Bufferptr) -{ - TRANSPORTENTRY * NewSess = L4TABLE; - int Index = 0; - - while (Index < MAXCIRCUITS) - { - if (NewSess->L4USER[0] == 0) - { - // Got One - - Session->L4CROSSLINK = NewSess; - NewSess->L4CROSSLINK = Session; - - memcpy(NewSess->L4USER, Session->L4USER, 7); - memcpy(NewSess->L4MYCALL, Session->L4MYCALL, 7); - - - NewSess->CIRCUITINDEX = Index; //OUR INDEX - NewSess->CIRCUITID = NEXTID; - - NEXTID++; - if (NEXTID == 0) - NEXTID++; // kEEP nON-ZERO - - NewSess->SESSIONT1 = Session->SESSIONT1; - NewSess->L4WINDOW = (UCHAR)L4DEFAULTWINDOW; - - return NewSess; - } - Index++; - NewSess++; - } - - if (Bufferptr) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry - System Tables Full\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - } - - return NULL; -} - - -VOID DoNetromConnect(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * Dest, BOOL Spy) -{ - TRANSPORTENTRY * NewSess; - - NewSess = SetupNewSession(Session, Bufferptr); - - if (NewSess == NULL) - return; // Tables Full - - NewSess->L4CIRCUITTYPE = SESSION + DOWNLINK; - - NewSess->L4TARGET.DEST = Dest; - NewSess->L4STATE = 2; // CONNECTING - - NewSess->SPYFLAG = Spy; - - ReleaseBuffer((UINT *)REPLYBUFFER); - - SENDL4CONNECT(NewSess); - - L4CONNECTSOUT++; - - return; -} - -BOOL FindLink(UCHAR * LinkCall, UCHAR * OurCall, int Port, struct _LINKTABLE ** REQLINK) -{ - struct _LINKTABLE * LINK = LINKS; - struct _LINKTABLE * FIRSTSPARE = NULL; - int n = MAXLINKS; - - while (n--) - { - if (LINK->LINKCALL[0] == 0) // Spare - { - if (FIRSTSPARE == NULL) - FIRSTSPARE = LINK; - - LINK++; - continue; - } - - if ((LINK->LINKPORT->PORTNUMBER == Port) && CompareCalls(LINK->LINKCALL, LinkCall) && CompareCalls(LINK->OURCALL, OurCall)) - { - *REQLINK = LINK; - return TRUE; - } - - LINK++; - } - // ENTRY NOT FOUND - FIRSTSPARE HAS FIRST FREE ENTRY, OR ZERO IF TABLE FULL - - *REQLINK = FIRSTSPARE; - return FALSE; -} - -VOID ATTACHCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD); - -VOID CMDC00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS CONNECT COMMAND - - TRANSPORTENTRY * NewSess; - - int CONNECTPORT, Port; - BOOL CallEvenIfInNodes = FALSE; - char * ptr, *Context; - UCHAR axcalls[64]; - UCHAR ourcall[7]; // Call we are using (may have SSID bits inverted - int ret; - struct PORTCONTROL * PORT = PORTTABLE; - struct _LINKTABLE * LINK; - int CQFLAG = 0; // NOT CQ CALL - BOOL Stay, Spy; - int n; - char TextCall[10]; - int TextCallLen; - char PortString[10]; - char cmdCopy[256]; - struct _EXTPORTDATA * EXTPORT = (struct _EXTPORTDATA *)PORT; - char toCall[12], fromCall[12]; - -#ifdef EXCLUDEBITS - - if (CheckExcludeList(Session->L4USER) == FALSE) - { - // CONNECTS FROM THIS STATION ARE NOT ALLOWED - - ReleaseBuffer((UINT *)REPLYBUFFER); - return; - } - -#endif - - if (Session->LISTEN) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Can't connect while listening\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - CONNECTPORT = 0; // NO PORT SPECIFIED - - ptr = strtok_s(CmdTail, " ", &Context); - - strcpy(cmdCopy, Context); // Save in case Telnet Connect - - if (ptr == 0) - { - // No param - - if (CFLAG) // C Command Disabled ? - { - // Convert to HOST (appl 32) command - - //MOV _CMDPTR,OFFSET32 _HOSTCMD - //MOV _ALIASPTR,OFFSET32 _HOSTCMD + 32 * 31 - - //MOV _APPLMASK, 80000000H ; Internal Term - - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Call\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Port = atoi(ptr); - - if (Port) - { - // IF THERE IS NOTHING FOLLOWING THE NUMBER, ASSUME IT IS A - // NUMERIC ALIAS INSTEAD OF A PORT - - sprintf(PortString, "%d", Port); - - if (strlen(PortString) < (int)strlen(ptr)) - goto NoPort; - - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - EXTPORT = (struct _EXTPORTDATA *)PORT; - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr == 0) - { - // No param - - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Call\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - CONNECTPORT = Port; - - if (strcmp(ptr, "CMS") == 0 || strcmp(ptr, "HOST") == 0) // In case someeone has CMS or HOST as an alias - goto Downlink; - - } - -NoPort: - - ptr[strlen(ptr)] = ' '; // Put param back together - - if (ptr[0] == '!') - { - CallEvenIfInNodes = TRUE; - ptr++; - } - - if (memcmp(ptr, "RELAY ", 5) == 0 || memcmp(ptr, "SYNC ", 5) == 0) - { - // c p relay with extra parms - - goto Downlink; - } - - // Skip call validation if using a ptc to allow 1:call, 2:call format - - if (Port && PORT->PROTOCOL == 10 && memcmp(EXTPORT->PORT_DLL_NAME, "SCSPACTOR", 9) == 0) - { - char * p; - - if (p = strstr(cmdCopy, " S ")) - { - Stay = TRUE; - p++; - *p = ' '; - } - - if (p = strstr(cmdCopy, " Z ")) - { - Spy = TRUE; - p++; - *p = ' '; - } - - goto Downlink; - } - else - { - if (DecodeCallString(ptr, &Stay, &Spy, &axcalls[0]) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Call\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - - Session->STAYFLAG = Stay; - - TextCallLen = ConvFromAX25(axcalls, TextCall); - - if (CallEvenIfInNodes) - goto Downlink; - - // SEE IF CALL TO ANY OF OUR HOST SESSIONS - UNLESS DIGIS SPECIFIED - - if (axcalls[7] == 0) - { - // If this connect is as a result of a command alias, don't check appls or we will loop - - if (ALIASINVOKED == 0) - { - APPLCALLS * APPL = APPLCALLTABLE; - int n = NumberofAppls; - APPLMASK = 1; - - while (n--) - { - if (memcmp(axcalls, APPL->APPLALIAS, 6) == 0 || CompareCalls(axcalls, APPL->APPLCALL)) - { - // Call to an appl - - // Convert to an APPL command, so any alias is actioned - - // SEE IF THERE IS AN ALIAS DEFINDED FOR THIS COMMAND - - if (APPL->APPLHASALIAS && APPL->APPLALIASVAL[0] != 0x20) - { - // COPY ALIAS TO COMMAND _BUFFER, THEN REENTER COMMAND HANDLER - - memcpy(COMMANDBUFFER, APPL->APPLALIASVAL, ALIASLEN); - COMMANDBUFFER[80] = 0; - _strupr(COMMANDBUFFER); - memcpy(OrigCmdBuffer, APPL->APPLALIASVAL, ALIASLEN); // In case original case version needed - - ALIASINVOKED = TRUE; // To prevent Alias Loops - } - else - { - - // Copy Appl Command to Command Buffer. Ensure doesn't contain old command - - memset(COMMANDBUFFER, ' ', 72); - memcpy(COMMANDBUFFER, APPL->APPLCMD, 12); - } - DoTheCommand(Session); - return; - } - APPL++; - APPLMASK <<= 1; - } - } - } - - if (axcalls[7] == 0) - { - // SEE IF CALL TO ANOTHER NODE - - struct DEST_LIST * Dest = DESTS; - int n = MAXDESTS; - - if (axcalls[6] == 0x60) // if SSID, dont check aliases - { - while (n--) - { - if (memcmp(Dest->DEST_ALIAS, TextCall, 6) == 0) - { - DoNetromConnect(Session, Bufferptr, Dest, Spy); - return; - } - Dest++; - } - } - - Dest = DESTS; - n = MAXDESTS; - - while (n--) - { - if (CompareCalls(Dest->DEST_CALL, axcalls)) - { - DoNetromConnect(Session, Bufferptr, Dest, Spy); - return; - } - Dest++; - } - } - - // Must be Downlink Connect - -Downlink: - - if (CONNECTPORT == 0 && NUMBEROFPORTS > 1) - { - // L2 NEEDS PORT NUMBER - - Bufferptr = Cmdprintf(Session, Bufferptr, "Downlink connect needs port number - C P CALLSIGN\r"); - - // Send Port List - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // ENSURE PORT IS AVAILABLE FOR L2 USE - - if (PORT->PROTOCOL >= 10) // Pactor=-style port? - { - int count; - - // if Via PACTOR ARDOP WINMOR or VARA, convert to attach and call = Digi's are in AX25STRING (+7) - - if (memcmp(&axcalls[7], &WINMOR[0], 6) == 0 || - memcmp(&axcalls[7], &ARDOP[0], 6) == 0 || - memcmp(&axcalls[7], &VARA[0], 6) == 0 || - memcmp(&axcalls[7], &PACTORCALL[0], 6) == 0) - { - char newcmd[80]; - - TextCall[TextCallLen] = 0; - sprintf(newcmd, "%s %s", CmdTail, TextCall); - - ATTACHCMD(Session, Bufferptr, newcmd, NULL); - return; - } - - // If on a KAM or SCS with ax.25 on port 2, do an Attach command, then pass on connect - - if (EXTPORT->MAXHOSTMODESESSIONS <= 1) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port is not an ax.25 port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // Only Allow Attach VHF from Secure Applications or if PERMITGATEWAY is set - - if (EXTPORT->PERMITGATEWAY == 0 && Session->Secure_Session == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, you are not allowed to use this port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - count = EXTPORT->MAXHOSTMODESESSIONS; - count--; // First is Pactor Stream, count is now last ax.25 session - - while (count) - { - if (EXTPORT->ATTACHEDSESSIONS[count] == 0) - { - int Paclen, PortPaclen; - struct DATAMESSAGE * Buffer; - struct DATAMESSAGE Message = {0}; - char Callstring[80]; - int len; - - // Found a free one - use it - - // See if TNC is OK - - Message.PORT = count; - - ret = PORT->PORTTXCHECKCODE(PORT, Message.PORT); - - if ((ret & 0xff00) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - TNC Not Ready\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // GET CIRCUIT TABLE ENTRY FOR OTHER END OF LINK - - NewSess = SetupNewSession(Session, Bufferptr); - if (NewSess == NULL) - return; - - // if a UZ7HO port, and the uplink is L2 or Uz7HO invert SSID bits - - // We only get here if multisession - - if (memcmp(EXTPORT->PORT_DLL_NAME, "UZ7HO", 5) != 0) - goto noFlip; - - if ((Session->L4CIRCUITTYPE & BPQHOST))// host - goto noFlip; - - if ((Session->L4CIRCUITTYPE & PACTOR)) - { - // incoming is Pactorlike - see if UZ7HO - - if (memcmp(Session->L4TARGET.EXTPORT->PORT_DLL_NAME, "UZ7HO", 5) != 0) - goto noFlip; - else - NewSess->L4USER[6] ^= 0x1e; // UZ7HO Uplink - flip - } - else - - // Must be L2 uplink - flip - - NewSess->L4USER[6] ^= 0x1e; // Flip SSID -noFlip: - EXTPORT->ATTACHEDSESSIONS[count] = NewSess; - - NewSess->KAMSESSION = count; - - // Set paclen to lower of incoming and outgoing - - Paclen = Session->SESSPACLEN; // Incoming PACLEN - - if (Paclen == 0) - Paclen = 256; // 0 = 256 - - PortPaclen = PORT->PORTPACLEN; - - if (PortPaclen == 0) - PortPaclen = 256; // 0 = 256 - - if (PortPaclen < Paclen) - Paclen = PortPaclen; - - NewSess->SESSPACLEN = Paclen; - Session->SESSPACLEN = Paclen; - - NewSess->L4STATE = 5; - NewSess->L4CIRCUITTYPE = DOWNLINK + PACTOR; - NewSess->L4TARGET.PORT = PORT; - - // Send the connect command to the TNC - - Buffer = REPLYBUFFER; - - Buffer->PORT = count; - Buffer->PID = 0xf0; - - // if on Telnet Port convert use original cmd tail - - // Why just on telnet - what not all ports?? - - if (memcmp(EXTPORT->PORT_DLL_NAME, "TELNET", 6) == 0 || memcmp(EXTPORT->PORT_DLL_NAME, "SCSPACTOR", 9) == 0) - { - NewSess->Secure_Session = Session->Secure_Session; - len = sprintf(Callstring,"C %s", cmdCopy); - } - else - { - TextCall[TextCallLen] = 0; - - len = sprintf(Callstring,"C %s", TextCall); - - if (axcalls[7]) - { - int digi = 7; - - // we have digis - - len += sprintf(&Callstring[len], " via"); - - while (axcalls[digi]) - { - TextCall[ConvFromAX25(&axcalls[digi], TextCall)] = 0; - len += sprintf(&Callstring[len], " %s", TextCall); - digi += 7; - } - } - } - Callstring[len++] = 13; - Callstring[len] = 0; - - Buffer->LENGTH = len + MSGHDDRLEN + 1; - memcpy(Buffer->L2DATA, Callstring, len); - C_Q_ADD(&PORT->PORTTX_Q, (UINT *)Buffer); - - return; - } - count--; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - No free streams on this port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if ((Session->L4CIRCUITTYPE & BPQHOST) == 0 && PORT->PORTL3FLAG) - { - //Port only for L3 - - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port is for internode traffic only\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (PORT->PortUIONLY) - { - //Port only for UI - - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, port is for UI traffic only\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - ret = CheckKissInterlock(PORT, TRUE); - - if (ret) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, Interlocked port %d is in use\r", ret); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - if (Session->L4USER[6] == 0x42 || Session->L4USER[6] == 0x44) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry - Can't make ax.25 calls with SSID of T or R\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // Get Session Entry for Downlink - - NewSess = SetupNewSession(Session, Bufferptr); - if (NewSess == NULL) - return; - - NewSess->L4CIRCUITTYPE = L2LINK + DOWNLINK; - - // FORMAT LINK TABLE ENTRY FOR THIS CONNECTION - - memcpy(ourcall, NewSess->L4USER, 7); - - // SSID SWAP TEST - LEAVE ALONE FOR HOST or Pactor like (unless UZ7HO) - - if ((Session->L4CIRCUITTYPE & BPQHOST))// host - goto noFlip3; - - if ((Session->L4CIRCUITTYPE & PACTOR)) - { - // incoming is Pactorlike - see if UZ7HO - - if (memcmp(Session->L4TARGET.EXTPORT->PORT_DLL_NAME, "UZ7HO", 5) != 0) - goto noFlip3; - - if (Session->L4TARGET.EXTPORT->MAXHOSTMODESESSIONS < 2) // Not multisession - goto noFlip3; - - ourcall[6] ^= 0x1e; // UZ7HO Uplink - flip - } - else - - // Must be L2 uplink - flip - - ourcall[6] ^= 0x1e; // Flip SSID - -noFlip3: - - // SET UP NEW SESSION (OR RESET EXISTING ONE) - - FindLink(axcalls, ourcall, Port, &LINK); - - if (LINK == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry - System Tables Full\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - // Should release NewSess - - return; - } - - memcpy(LINK->LINKCALL, axcalls, 7); - memcpy(LINK->OURCALL, ourcall, 7); - - LINK->LINKPORT = PORT; - - LINK->L2TIME = PORT->PORTT1; - - // Copy Digis - - n = 7; - ptr = &LINK->DIGIS[0]; - - while (axcalls[n]) - { - memcpy(ptr, &axcalls[n], 7); - n += 7; - ptr += 7; - - LINK->L2TIME += 2 * PORT->PORTT1; // ADJUST TIMER VALUE FOR 1 DIGI - } - - LINK->LINKTYPE = 2; // DOWNLINK - LINK->LINKWINDOW = PORT->PORTWINDOW; - - RESET2(LINK); // RESET ALL FLAGS - - toCall[ConvFromAX25(LINK->LINKCALL, toCall)] = 0; - fromCall[ConvFromAX25(LINK->OURCALL, fromCall)] = 0; - - hookL2SessionAttempt(CONNECTPORT, fromCall, toCall, LINK); - - - if (CMD->String[0] == 'N' && SUPPORT2point2) - LINK->L2STATE = 1; // New (2.2) send XID - else - LINK->L2STATE = 2; // Send SABM - - LINK->CIRCUITPOINTER = NewSess; - - NewSess->L4TARGET.LINK = LINK; - - if (PORT->PORTPACLEN) - NewSess->SESSPACLEN = Session->SESSPACLEN = PORT->PORTPACLEN; - - if (CQFLAG == 0) // if a CQ CALL DONT SEND SABM - { - seeifInterlockneeded(PORT); - - if (LINK->L2STATE == 1) - L2SENDXID(LINK); - else - SENDSABM(LINK); - } - ReleaseBuffer((UINT *)REPLYBUFFER); - return; -} - -BOOL DecodeCallString(char * Calls, BOOL * Stay, BOOL * Spy, UCHAR * AXCalls) -{ - // CONVERT CALL + OPTIONAL DIGI STRING TO AX25, RETURN - // CONVERTED STRING IN AXCALLS. Return FALSE if invalied - - char * axptr = AXCalls; - char * ptr, *Context; - int CQFLAG = 0; // NOT CQ CALL - int n = 8; // Max digis - - *Stay = 0; - *Spy = 0; - - memset(AXCalls, 0, 64); - - ptr = strtok_s(Calls, " ,", &Context); - - if (ptr == NULL) - return FALSE; - - // First field is Call - - if (ConvToAX25(ptr, axptr) == 0) - return FALSE; - - axptr += 7; - - ptr = strtok_s(NULL, " ,", &Context); - - while (ptr && n--) - { - // NEXT FIELD = COULD BE CALLSIGN, VIA, OR S (FOR STAY) - - if (strcmp(ptr, "S") == 0) - *Stay = TRUE; - else if (strcmp(ptr, "Z") == 0) - *Spy = TRUE; - else if (memcmp(ptr, "VIA", (int)strlen(ptr)) == 0) - { - } //skip via - else - { - // Convert next digi - - if (ConvToAX25(ptr, axptr) == 0) - return FALSE; - - axptr += 7; - } - - ptr = strtok_s(NULL, " ,", &Context); - } - - return TRUE; -} - - -VOID LINKCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // PROCESS *** LINKED to CALLSIGN - - char * ptr, *Context; - UCHAR axcall[7]; - int ret; - - if (LINKEDFLAG == 'Y' || // UNCONDITIONAL? - (LINKEDFLAG == 'A' && - ((Session->L4CIRCUITTYPE & BPQHOST) || Session->Secure_Session || Session->PASSWORD == 0xffff))) - { - ptr = strtok_s(CmdTail, " ", &Context); - if (ptr) - ptr = strtok_s(NULL, " ", &Context); - - if (ptr) - { - ret = ConvToAX25Ex(ptr, axcall); - - if (ret) - { - memcpy(Session->L4USER, axcall, 7); - strcpy(Bufferptr, OKMSG); - Bufferptr += (int)strlen(OKMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - - strcpy(Bufferptr, BADMSG); - Bufferptr += (int)strlen(BADMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - memcpy(Bufferptr, PASSWORDMSG, LPASSMSG); - Bufferptr += LPASSMSG; - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -int CompareNode(const void *a, const void *b); -int CompareAlias(const void *a, const void *b); - -char * DoOneNode(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * Dest) -{ - char Normcall[10]; - char Alias[10]; - struct NR_DEST_ROUTE_ENTRY * NRRoute; - struct DEST_ROUTE_ENTRY * Route; - struct ROUTE * Neighbour; - int i, Active, len; - - Alias[6] = 0; - - memcpy(Alias, Dest->DEST_ALIAS, 6); - strlop(Alias, ' '); - - Normcall[ConvFromAX25(Dest->DEST_CALL, Normcall)] = 0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "Routes to: %s:%s", Alias, Normcall); - - if (Dest->DEST_COUNT) - Bufferptr = Cmdprintf(Session, Bufferptr, " RTT=%4.2f FR=%d %c %.1d\r", - Dest->DEST_RTT /1000.0, Dest->DEST_COUNT, - (Dest->DEST_STATE & 0x40)? 'B':' ', (Dest->DEST_STATE & 63)); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - NRRoute = &Dest->NRROUTE[0]; - - Active = Dest->DEST_ROUTE; - - for (i = 1; i < 4; i++) - { - Neighbour = NRRoute->ROUT_NEIGHBOUR; - - if (Neighbour) - { - len = ConvFromAX25(Neighbour->NEIGHBOUR_CALL, Normcall); - Normcall[len] = 0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%c %d %d %d %s\r", - (Active == i)?'>':' ',NRRoute->ROUT_QUALITY, NRRoute->ROUT_OBSCOUNT, Neighbour->NEIGHBOUR_PORT, Normcall); - } - NRRoute++; - } - - // DISPLAY INP3 ROUTES - - Route = &Dest->ROUTE[0]; - - Active = Dest->DEST_ROUTE; - - for (i = 1; i < 4; i++) - { - Neighbour = Route->ROUT_NEIGHBOUR; - - if (Neighbour) - { - double srtt = Route->SRTT/1000.0; - - len = ConvFromAX25(Neighbour->NEIGHBOUR_CALL, Normcall); - Normcall[len] = 0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%c %d %4.2fs %d %s\r", - (Active == i + 3)?'>':' ',Route->Hops, srtt, Neighbour->NEIGHBOUR_PORT, Normcall); - } - Route++; - } - - return Bufferptr; -} - - -int DoViaEntry(struct DEST_LIST * Dest, int n, char * line, int cursor) -{ - char Portcall[10]; - int len; - - if (Dest->NRROUTE[n].ROUT_NEIGHBOUR != 0 && Dest->NRROUTE[n].ROUT_NEIGHBOUR->INP3Node == 0) - { - len=ConvFromAX25(Dest->NRROUTE[n].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, Portcall); - Portcall[len]=0; - - len=sprintf(&line[cursor],"%s %d %d ", - Portcall, - Dest->NRROUTE[n].ROUT_NEIGHBOUR->NEIGHBOUR_PORT, - Dest->NRROUTE[n].ROUT_QUALITY); - - cursor+=len; - - if (Dest->NRROUTE[n].ROUT_OBSCOUNT > 127) - { - len=sprintf(&line[cursor],"! "); - cursor+=len; - } - } - return cursor; -} - -int DoINP3ViaEntry(struct DEST_LIST * Dest, int n, char * line, int cursor) -{ - char Portcall[10]; - int len; - double srtt; - - if (Dest->ROUTE[n].ROUT_NEIGHBOUR != 0) - { - srtt = Dest->ROUTE[n].SRTT/1000.0; - - len=ConvFromAX25(Dest->ROUTE[n].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, Portcall); - Portcall[len]=0; - - len=sprintf(&line[cursor],"%s %d %d %4.2fs ", - Portcall, - Dest->ROUTE[n].ROUT_NEIGHBOUR->NEIGHBOUR_PORT, - Dest->ROUTE[n].Hops, srtt); - - cursor+=len; - - if (Dest->NRROUTE[n].ROUT_OBSCOUNT > 127) - { - len=sprintf(&line[cursor],"! "); - cursor+=len; - } - } - return cursor; -} - -int WildCmp(char * pattern, char * string) -{ - // Check if string is at end or not. - - if (*pattern == '\0') - return *string == '\0'; - - // Check for single character missing or match - - if (*pattern == '?' || *pattern == *string) - return *string != '\0' && WildCmp(pattern + 1, string + 1); - - if (*pattern == '*') - { - // Check for multiple character missing - - return WildCmp(pattern + 1, string) || (*string != '\0' && WildCmp(pattern, string + 1)); - } - - return 0; -} - -VOID CMDN00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - struct DEST_LIST * Dest = DESTS; - int count = MAXDESTS, i; - char Normcall[10]; - char Alias[10]; - int Width = 4; - int x = 0, n = 0; - struct DEST_LIST * List[1000]; - char Param = 0; - char * ptr, * param2,* Context; - char Nodeline[21]; - char AXCALL[7]; - char * Call; - char * Qualptr; - int Qual; - char line[160]; - int cursor, len; - UCHAR axcall[7]; - int SavedOBSINIT = OBSINIT; - struct ROUTE * ROUTE = NULL; - char Pattern[80] = ""; - char * firststar; - int minqual = 0; - - ptr = strtok_s(CmdTail, " ", &Context); - param2 = strtok_s(NULL, " ", &Context); - - if (ptr) - { - if (strcmp(ptr, "ADD") == 0) - goto NODE_ADD; - - if (strcmp(ptr, "DEL") == 0) - goto NODE_DEL; - - if (strcmp(ptr, "VIA") == 0) - goto NODE_VIA; - } - - if (ptr) - { - // Could be C or a pattern. Accept C pattern or pattern C - - if ((int)strlen(ptr) > 1) - { - strcpy(Pattern, ptr); - if (param2 && param2[0] == 'C') - Param = 'C'; - } - else - { - Param = ptr[0]; - if (param2) - strcpy(Pattern, param2); - } - } - - // Pattern >nnn selects nodes with at least that quality - - if (Pattern[0] == '>') - { - minqual = atoi(&Pattern[1]); - Pattern[0] = 0; - } - - // We need to pick out CALL or CALL* from other patterns (as call use detail display) - - firststar = strchr(Pattern, '*'); - - if ((firststar && *(firststar + 1) != 0)|| strchr(Pattern, '?')) //(* not on end) - - // definitely pattern - - goto DoNodePattern; - - // If it works as CALL*, process, else drop through - - if (Pattern[0]) - { - UCHAR AXCall[8]; - int count; - int paramlen = (int)strlen(ptr); - char parampadded[20]; - int n = 0; - - Alias[8] = 0; - strcpy(parampadded, Pattern); - strcat(parampadded, " "); - - ConvToAX25(Pattern, AXCall); - - // if * on end, list all ssids - - if (firststar) - { - AXCall[6] = 0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - while (AXCall[6] < 32) - { - Dest = DESTS; - - for (count = 0; count < MAXDESTS; count++) - { - if (memcmp(Dest->DEST_ALIAS, parampadded, 6) == 0 || CompareCalls(Dest->DEST_CALL, AXCall)) - { - break; - } - Dest++; - } - - if (count < MAXDESTS) - { - Bufferptr = DoOneNode(Session, Bufferptr, Dest); - n++; - } - - AXCall[6] += 2; - } - - if (n) // Found Some - { - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Dest = DESTS; // Reset - - // Drop through to try as pattern - } - else - { - // process as just call - - for (count = 0; count < MAXDESTS; count++) - { - if (memcmp(Dest->DEST_ALIAS, parampadded, 6) == 0 || CompareCalls(Dest->DEST_CALL, AXCall)) - { - break; - } - Dest++; - } - - if (count == MAXDESTS) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not found\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Bufferptr = DoOneNode(Session, Bufferptr, Dest); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - -DoNodePattern: - - Bufferptr = Cmdprintf(Session, Bufferptr, "Nodes\r"); - - while (count--) - { - if (Dest->DEST_CALL[0] != 0) - { - if (Dest->NRROUTE->ROUT_QUALITY >= minqual) - if (Param != 'T' || Dest->DEST_COUNT) - List[n++] = Dest; - - if (n > 999) - break; - } - Dest++; - } - - if (Param == 'C') - qsort(List, n, sizeof(void *), CompareNode); - else - qsort(List, n, sizeof(void *), CompareAlias); - - - for (i = 0; i < n; i++) - { - int len = ConvFromAX25(List[i]->DEST_CALL, Normcall); - Normcall[len]=0; - - memcpy(Alias, List[i]->DEST_ALIAS, 6); - Alias[6] = 0; - strlop(Alias, ' '); - - if (strlen(Alias)) - strcat(Alias, ":"); - - if (Alias[0] == '#' && HIDENODES == 1 && Param != '*') // Hidden Node and not N * command - continue; - - if (Pattern[0]) - if (!WildCmp(Pattern, Normcall) && !WildCmp(Pattern, Alias)) - continue; - - if (Param == 'T') - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s%s RTT=%4.2f Frames = %d %c %.1d\r", - Alias, Normcall, List[i]->DEST_RTT /1000.0, List[i]->DEST_COUNT, - (List[i]->DEST_STATE & 0x40)? 'B':' ', (List[i]->DEST_STATE & 63)); - } - else - { - len = sprintf(Nodeline, "%s%s", Alias, Normcall); - memset(&Nodeline[len], ' ', 20 - len); - Nodeline[20] = 0; - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", Nodeline); - - if (++x == Width) - { - x = 0; - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - } - } - } - - if (x) - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - goto SendReply; - - -NODE_VIA: - - // List Nodes reachable via a neighbour - - ptr = param2; - - if (ptr == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Missing Call\r"); - goto SendReply; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - ConvToAX25(ptr, AXCALL); - - Dest = DESTS; - - Dest-=1; - - for (count=0; countNRROUTE[0].ROUT_NEIGHBOUR == 0 && Dest->ROUTE[0].ROUT_NEIGHBOUR == 0) - continue; - - - if ((Dest->NRROUTE[0].ROUT_NEIGHBOUR && CompareCalls(Dest->NRROUTE[0].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, AXCALL)) - || (Dest->NRROUTE[1].ROUT_NEIGHBOUR && CompareCalls(Dest->NRROUTE[1].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, AXCALL)) - || (Dest->NRROUTE[2].ROUT_NEIGHBOUR && CompareCalls(Dest->NRROUTE[2].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, AXCALL)) - - || (Dest->ROUTE[0].ROUT_NEIGHBOUR && CompareCalls(Dest->ROUTE[0].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, AXCALL)) - || (Dest->ROUTE[1].ROUT_NEIGHBOUR && CompareCalls(Dest->ROUTE[1].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, AXCALL)) - || (Dest->ROUTE[2].ROUT_NEIGHBOUR && CompareCalls(Dest->ROUTE[2].ROUT_NEIGHBOUR->NEIGHBOUR_CALL, AXCALL))) - { - len=ConvFromAX25(Dest->DEST_CALL,Normcall); - - Normcall[len]=0; - - memcpy(Alias,Dest->DEST_ALIAS,6); - - Alias[6]=0; - - for (i=0;i<6;i++) - { - if (Alias[i] == ' ') - Alias[i] = 0; - } - - cursor=sprintf(line,"%s:%s ", Alias,Normcall); - - cursor = DoViaEntry(Dest, 0, line, cursor); - cursor = DoViaEntry(Dest, 1, line, cursor); - cursor = DoViaEntry(Dest, 2, line, cursor); - cursor = DoINP3ViaEntry(Dest, 0, line, cursor); - cursor = DoINP3ViaEntry(Dest, 1, line, cursor); - cursor = DoINP3ViaEntry(Dest, 2, line, cursor); - - line[cursor++]='\r'; - line[cursor++]=0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", line); - } - } - - - goto SendReply; - -NODE_ADD: - - // FORMAT IS NODE ADD ALIAS:CALL QUAL ROUTE PORT - - - if (Session->PASSWORD != 0xFFFF) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", PASSWORDMSG); - goto SendReply; - } - - ptr = param2; - - if (ptr == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Missing Alias:Call\r"); - goto SendReply; - } - - Call = strlop(ptr, ':'); - - if (Call == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Missing Alias:Call\r"); - goto SendReply; - } - - - ConvToAX25(Call, AXCALL); - - Qualptr = strtok_s(NULL, " ", &Context); - - if (Qualptr == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Quality missing\r"); - goto SendReply; - } - - Qual = atoi(Qualptr); - - if (Qual < MINQUAL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Quality is below MINQUAL\r"); - goto SendReply; - } - - if (FindDestination(AXCALL, &Dest)) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Node already in Table\r"); - goto SendReply; - } - - if (Dest == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Node Table Full\r"); - goto SendReply; - } - - memcpy(Dest->DEST_CALL, AXCALL, 7); - memcpy(Dest->DEST_ALIAS, ptr, 6); - - NUMBEROFNODES++; - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr == NULL || ptr[0] == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Neighbour missing\r"); - goto SendReply; - } - - if (ConvToAX25(ptr, axcall) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Neighbour\r"); - goto SendReply; - } - else - { - int Port; - - ptr = strtok_s(NULL, " ", &Context); - if (ptr == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Port missing\r"); - goto SendReply; - } - - Port = atoi(ptr); - - if (Context[0] == '!') - { - OBSINIT = 255; //; SPECIAL FOR LOCKED - } - - if (FindNeighbour(axcall, Port, &ROUTE)) - { - PROCROUTES(Dest, ROUTE, Qual); - } - - OBSINIT = SavedOBSINIT; - - Bufferptr = Cmdprintf(Session, Bufferptr, "Node Added\r"); - goto SendReply; - } - - - - -/* -PNODE48: - - -; GET NEIGHBOURS FOR THIS DESTINATION -; - CALL CONVTOAX25 - JNZ SHORT BADROUTE -; - CALL GETVALUE - MOV SAVEPORT,AL ; SET PORT FOR _FINDNEIGHBOUR - - CALL GETVALUE - MOV ROUTEQUAL,AL -; - MOV ESI,OFFSET32 AX25CALL - - PUSH EBX ; SAVE DEST - CALL _FINDNEIGHBOUR - MOV EAX,EBX ; ROUTE TO AX - POP EBX - - JZ SHORT NOTBADROUTE - - JMP SHORT BADROUTE - -NOTBADROUTE: -; -; UPDATE ROUTE LIST FOR THIS DEST -; - MOV ROUT1_NEIGHBOUR[EBX],EAX - MOV AL,ROUTEQUAL - MOV ROUT1_QUALITY[EBX],AL - MOV ROUT1_OBSCOUNT[EBX],255 ; LOCKED -; - POP EDI - POP EBX - - INC _NUMBEROFNODES - - JMP SENDOK - -BADROUTE: -; -; KILL IT -; - MOV ECX,TYPE DEST_LIST - MOV EDI,EBX - MOV AL,0 - REP STOSB - - JMP BADROUTECMD - -*/ - - goto SendReply; - - -NODE_DEL: - - if (Session->PASSWORD != 0xFFFF) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", PASSWORDMSG); - goto SendReply; - } - - ptr = param2; - - if (ptr == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Missing Call\r"); - goto SendReply; - } - - if (strcmp(ptr, "ALL") == 0) - { - struct DEST_LIST * DEST = DESTS; - int n = MAXDESTS; - - while (n--) - { - if (DEST->DEST_CALL[0] && ((DEST->DEST_STATE & 0x80) == 0)) // Don't delete appl node - REMOVENODE(DEST); - - DEST++; - } - - ClearNodes(); - - Bufferptr = Cmdprintf(Session, Bufferptr, "All Nodes Deleted\r"); - goto SendReply; - } - - ConvToAX25(ptr, AXCALL); - - if (FindDestination(AXCALL, &Dest) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not Found\r"); - goto SendReply; - } - - if (Dest->DEST_STATE & 0x80) - Bufferptr = Cmdprintf(Session, Bufferptr, "APPL Node - Can't delete\r"); - else - { - REMOVENODE(Dest); - Bufferptr = Cmdprintf(Session, Bufferptr, "Node Deleted\r"); - } - Bufferptr = Cmdprintf(Session, Bufferptr, "Node Deleted\r"); - -SendReply: - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID CMDQUERY(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD) -{ - // DISPLAY AVAILABLE COMMANDS - - int n; - char * ptr; - char ApplList[2048]; - char * out = ApplList; - - CMDX * CMD = &COMMANDS[APPL1]; - - for (n = 0; n < NumberofAppls; n++) - { - ptr = &CMD->String[0]; - if (*(ptr) != '*') - { - while (*ptr != ' ') - { - *(out++) = *(ptr++); - } - *(out++) = ' '; - } - CMD++; - } - - *(out) = 0; - - n = CMDLISTLEN; - - if (NEEDMH == 0) - n -= 7; // Dont show MH - - Bufferptr = Cmdprintf(Session, Bufferptr, "%s%s\r", ApplList, CMDLIST); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -char * FormatMH(MHSTRUC * MH, char Format); - -VOID MHCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // DISPLAY HEARD LIST - - int Port = 0, sess = 0; - char * ptr, *Context, *pattern; - struct PORTCONTROL * PORT = NULL; - MHSTRUC * MH; - int count = MHENTRIES; - int n; - char Normcall[20]; - char From[10]; - char DigiList[100]; - char * Output; - int len; - char Digi = 0; - - - // Note that the MHDIGIS field may contain rubbish. You have to check End of Address bit to find - // how many digis there are - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr == NULL || ptr[0] == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Number needed eg MH 1\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (ptr) - Port = atoi(ptr); - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - pattern = strtok_s(NULL, " ", &Context); - - if (pattern) - _strupr(pattern); // Optional filter - - MH = PORT->PORTMHEARD; - - if (MH == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "MHEARD not enabled on that port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (pattern && strstr(pattern, "CLEAR")) - { - if (Session->Secure_Session) - { - memset(MH, 0, MHENTRIES * sizeof(MHSTRUC)); - SaveMH(); - Bufferptr = Cmdprintf(Session, Bufferptr, "Heard List for Port %d Cleared\r", Port); - } - else - { - Bufferptr = Cmdprintf(Session, Bufferptr, "MH Clear needs SYSOP status\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - else - { - if (CMD->String[2] == 'V') // MHV - { - Bufferptr = Cmdprintf(Session, Bufferptr, "MHeard List %s for Port %d\r", MYNODECALL, Port); - Bufferptr = Cmdprintf(Session, Bufferptr, "Callsign Last heard Pkts RX via Digi ;) \r"); - Bufferptr = Cmdprintf(Session, Bufferptr, "--------- ----------- ------- ------------------------------------------\r"); - } - else - if (pattern) - Bufferptr = Cmdprintf(Session, Bufferptr, "Heard List for Port %d filtered by %s\r", Port, pattern); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Heard List for Port %d\r", Port); - } - while (count--) - { - if (MH->MHCALL[0] == 0) - break; - - Digi = 0; - - len = ConvFromAX25(MH->MHCALL, Normcall); - - Normcall[len++] = MH->MHDIGI; - Normcall[len++] = 0; - - if (pattern && strstr(Normcall, pattern) == 0) - { - MH++; - continue; - } - - n = 8; // Max number of digi-peaters - - ptr = &MH->MHCALL[6]; // End of Address bit - - Output = &DigiList[0]; - - if ((*ptr & 1) == 0) - { - // at least one digi - - strcpy(Output, "via "); - Output += 4; - - while ((*ptr & 1) == 0) - { - // MORE TO COME - - From[ConvFromAX25(ptr + 1, From)] = 0; - Output += sprintf((char *)Output, "%s", From); - - ptr += 7; - n--; - - if (n == 0) - break; - - // See if digi actioned - put a * on last actioned - - if (*ptr & 0x80) - { - if (*ptr & 1) // if last address, must need * - { - *(Output++) = '*'; - Digi = '*'; - } - - else - if ((ptr[7] & 0x80) == 0) // Repeased by next? - { - *(Output++) = '*'; // No, so need * - Digi = '*'; - } - -} - *(Output++) = ','; - } - *(--Output) = 0; // remove last comma - } - else - *(Output) = 0; - - // if we used a digi set * on call and display via string - - - if (Digi) - Normcall[len++] = Digi; - else - DigiList[0] = 0; // Dont show list if not used - - Normcall[len++] = 0; - - - ptr = FormatMH(MH, CMD->String[2]); - - if (CMD->String[2] == 'V') // MHV - Bufferptr = Cmdprintf(Session, Bufferptr, "%-10s %-10s %-10d %-30s\r", - Normcall, ptr, MH->MHCOUNT, DigiList); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "%-10s %s %s\r", Normcall, ptr, DigiList); - - MH++; - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -int Rig_Command(TRANSPORTENTRY * Session, char * Command); - -VOID RADIOCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD) -{ - char * ptr; - - if (Rig_Command(Session, CmdTail)) - { - ReleaseBuffer((UINT *)REPLYBUFFER); - return; - } - - // Error Message is in buffer - - ptr = strchr(CmdTail, 13); - - if (ptr) - { - int len = (int)(++ptr - CmdTail); - - memcpy(Bufferptr, CmdTail, len); - Bufferptr += len; - } - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - - -VOID SendNRRecordRoute(struct DEST_LIST * DEST, TRANSPORTENTRY * Session); - - -VOID NRRCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD) -{ - // PROCESS 'NRR - Netrom Record Route' COMMAND - - char * ptr, *Context; - struct DEST_LIST * Dest = DESTS; - int count = MAXDESTS; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - UCHAR AXCall[8]; - int count; - - ConvToAX25(ptr, AXCall); - strcat(ptr, " "); - - for (count = 0; count < MAXDESTS; count++) - { - if (memcmp(Dest->DEST_ALIAS, ptr, 6) == 0 || CompareCalls(Dest->DEST_CALL, AXCall)) - { - SendNRRecordRoute(Dest, Session); - memcpy(Bufferptr, OKMSG, 3); - Bufferptr += 3; - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - return; - } - Dest++; - } - } - Bufferptr = Cmdprintf(Session, Bufferptr, "Not found\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - -int CHECKINTERLOCK(struct PORTCONTROL * OURPORT) -{ - // See if any Interlocked ports are Busy - - struct PORTCONTROL * PORT = PORTTABLE; - struct _EXTPORTDATA * EXTPORT; - - int n = NUMBEROFPORTS; - int ourgroup = OURPORT->PORTINTERLOCK; - - while (PORT) - { - if (PORT != OURPORT) - { - if (PORT->PORTINTERLOCK == ourgroup) - { - // Same Group - is it busy - - int i = 0; - - EXTPORT = (struct _EXTPORTDATA *)PORT; - - while (i < 27) - if (EXTPORT->ATTACHEDSESSIONS[i++]) - return PORT->PORTNUMBER; - } - } - PORT = PORT->PORTPOINTER; - } - - return 0; -} - -VOID ATTACHCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD) -{ - // ATTACH to a PACTOR or similar port - - TRANSPORTENTRY * NewSess; - struct _EXTPORTDATA * EXTPORT; - struct TNCINFO * TNC = 0; - - int Port = 0, sess = 0; - char * ptr, *Context; - int ret; - struct PORTCONTROL * PORT = NULL; - struct DATAMESSAGE Message = {0}; - int Paclen, PortPaclen; - struct DATAMESSAGE * Buffer; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - Port = atoi(ptr); - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL || PORT->PROTOCOL < 10) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // If attach on telnet port, find a free stream - - EXTPORT = (struct _EXTPORTDATA *)PORT; - - if (strstr(EXTPORT->PORT_DLL_NAME, "TELNET")) - { - int count = EXTPORT->MAXHOSTMODESESSIONS; - count--; // First is Pactor Stream, count is now last ax.25 session - - while (count) - { - if (EXTPORT->ATTACHEDSESSIONS[count] == 0) - { - int Paclen, PortPaclen; - struct DATAMESSAGE Message = {0}; - - // Found a free one - use it - - // See if TNC is OK - - Message.PORT = count; - - ret = PORT->PORTTXCHECKCODE(PORT, Message.PORT); - - if ((ret & 0xff00) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - TNC Not Ready\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // GET CIRCUIT TABLE ENTRY FOR OTHER END OF LINK - - NewSess = SetupNewSession(Session, Bufferptr); - - if (NewSess == NULL) - return; - - EXTPORT->ATTACHEDSESSIONS[count] = NewSess; - - NewSess->Secure_Session = Session->Secure_Session; - - NewSess->KAMSESSION = count; - - // Set paclen to lower of incoming and outgoing - - Paclen = Session->SESSPACLEN; // Incoming PACLEN - - if (Paclen == 0) - Paclen = 256; // 0 = 256 - - PortPaclen = PORT->PORTPACLEN; - - if (PortPaclen == 0) - PortPaclen = 256; // 0 = 256 - - if (PortPaclen < Paclen) - Paclen = PortPaclen; - - NewSess->SESSPACLEN = Paclen; - Session->SESSPACLEN = Paclen; - - NewSess->L4STATE = 5; - NewSess->L4CIRCUITTYPE = DOWNLINK + PACTOR; - NewSess->L4TARGET.PORT = PORT; - - ptr = strtok_s(NULL, " ", &Context); - sess = count; - - // Replace command tail with original (before conversion to upper case - - Context = Context + (OrigCmdBuffer - COMMANDBUFFER); - - goto checkattachandcall; - - - memcpy(Bufferptr, OKMSG, 3); - Bufferptr += 3; - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - return; - } - count--; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - No free streams on this port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Message.PORT = 0; - - ret = PORT->PORTTXCHECKCODE(PORT, Message.PORT); - - if ((ret & 0xff00) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - TNC Not Ready\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // See if "Attach and Call" (for VHF ports) - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr && strcmp(ptr, "S") == 0) - { - Session->STAYFLAG = TRUE; - ptr = strtok_s(NULL, " ", &Context); - } - - if (ptr) - { - // we have another param - - // if it is a single char it is a channel number for vhf attach - - if (strlen(ptr) == 1) - { - // Only Allow Attach VHF from Secure Applications or if PERMITGATEWAY is set - - if (EXTPORT->PERMITGATEWAY == 0 && Session->Secure_Session == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, you are not allowed to use this port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - sess = ptr[0] - '@'; - - if (sess < 1 || sess > EXTPORT->MAXHOSTMODESESSIONS) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - Invalid Channel\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - ptr = strtok_s(NULL, " ", &Context); - - if (ptr && strcmp(ptr, "S") == 0) - { - Session->STAYFLAG = TRUE; - ptr = strtok_s(NULL, " ", &Context); - } - } - } - - if (ret & 0x8000) // Disconnecting - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - Port in use\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // Check Interlock. Only ports with a TNC record can be interlocked - - TNC = PORT->TNC; - - if (TNC) - { - // See if any interlocked ports are in use - - struct TNCINFO * OtherTNC; - int i; - int rxInterlock = TNC->RXRadio; - int txInterlock = TNC->TXRadio; - - if (rxInterlock || txInterlock) - { - for (i=1; i <= MAXBPQPORTS; i++) - { - OtherTNC = TNCInfo[i]; - - if (OtherTNC == NULL) - continue; - - if (OtherTNC == TNC) - continue; - - if (rxInterlock && rxInterlock == OtherTNC->RXRadio || txInterlock && txInterlock == OtherTNC->TXRadio) // Same Group - { - int n; - - for (n = 0; n <= 26; n++) - { - if (OtherTNC->PortRecord->ATTACHEDSESSIONS[n]) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Sorry, interlocked port %d is in use\r", i); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - } - } - } - } - } - - - - - if (EXTPORT->ATTACHEDSESSIONS[sess] || PORT->PortSuspended) - { - // In use - - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - Port in use\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - // GET CIRCUIT TABLE ENTRY FOR OTHER END OF LINK - - NewSess = SetupNewSession(Session, Bufferptr); - - if (NewSess == NULL) - return; - - // if a UZ7HO port, and the uplink is L2 or Uz7HO and multisession, - // invert SSID bits - - if (memcmp(EXTPORT->PORT_DLL_NAME, "UZ7HO", 5) != 0) - goto noFlip1; - - if (EXTPORT->MAXHOSTMODESESSIONS < 2) // Not multisession - goto noFlip1; - - if ((Session->L4CIRCUITTYPE & BPQHOST)) // host - goto noFlip1; - - if ((Session->L4CIRCUITTYPE & PACTOR)) - { - // incoming is Pactorlike - see if UZ7HO - - if (memcmp(Session->L4TARGET.EXTPORT->PORT_DLL_NAME, "UZ7HO", 5) != 0) - goto noFlip1; - else - NewSess->L4USER[6] ^= 0x1e; // UZ7HO Uplink - flip - } - else - - // Must be L2 uplink - flip - - NewSess->L4USER[6] ^= 0x1e; // Flip SSID -noFlip1: - - EXTPORT->ATTACHEDSESSIONS[sess] = NewSess; - - NewSess->KAMSESSION = sess; - - // Set paclen to lower of incoming and outgoing - - Paclen = Session->SESSPACLEN; // Incoming PACLEN - - if (Paclen == 0) - Paclen = 256; // 0 = 256 - - PortPaclen = PORT->PORTPACLEN; - - if (PortPaclen == 0) - PortPaclen = 256; // 0 = 256 - - if (PortPaclen < Paclen) - Paclen = PortPaclen; - - NewSess->SESSPACLEN = Paclen; - Session->SESSPACLEN = Paclen; - NewSess->L4STATE = 5; - NewSess->L4CIRCUITTYPE = DOWNLINK + PACTOR; - NewSess->L4TARGET.PORT = PORT; - -checkattachandcall: - - // If set freq on attach is defined, do it - - if (TNC && TNC->ActiveRXFreq && TNC->RXRadio) - { - char Msg[128]; - - sprintf(Msg, "R%d %f", TNC->RXRadio, TNC->ActiveRXFreq); - Rig_Command( (TRANSPORTENTRY *) -1, Msg); - } - - if (TNC && TNC->ActiveTXFreq && TNC->TXRadio && TNC->TXRadio != TNC->RXRadio) - { - char Msg[128]; - - sprintf(Msg, "R%d %f", TNC->TXRadio, TNC->ActiveTXFreq); - Rig_Command( (TRANSPORTENTRY *) -1, Msg); - } - - if (ptr) - { - // we have a call to connect to - - char Callstring[80]; - int len; - - Buffer = REPLYBUFFER; - Buffer->PORT = sess; - Buffer->PID = 0xf0; - - len = sprintf(Callstring,"C %s", ptr); - - ptr = strtok_s(NULL, " ", &Context); - - while (ptr) // if any other params (such as digis) copy them - { - if (strcmp(ptr, "S") == 0) - { - Session->STAYFLAG = TRUE; - } - else - len += sprintf(&Callstring[len], " %s", ptr); - - ptr = strtok_s(NULL, " ", &Context); - } - - Callstring[len++] = 13; - Callstring[len] = 0; - - Buffer->LENGTH = len + MSGHDDRLEN + 1; - memcpy(Buffer->L2DATA, Callstring, len); - C_Q_ADD(&PORT->PORTTX_Q, (UINT *)Buffer); - - return; - } - - memcpy(Bufferptr, OKMSG, 3); - Bufferptr += 3; - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - return; -} - -// SYSOP COMMANDS - -CMDX COMMANDS[] = -{ - "SAVENODES ",8, SAVENODES, 0, - "TELRECONFIG ",4, RECONFIGTELNET, 0, - "SAVEMH ",6, SAVEMHCMD, 0, - "REBOOT ",6, REBOOT, 0, - "RIGRECONFIG ",8 , RIGRECONFIG, 0, - "RESTART ",7,RESTART,0, - "RESTARTTNC ",10,RESTARTTNC,0, - "SENDNODES ",8,SENDNODES,0, - "EXTRESTART ",10, EXTPORTVAL, offsetof(EXTPORTDATA, EXTRESTART), - "TXDELAY ",3, PORTVAL, offsetof(PORTCONTROLX, PORTTXDELAY), - "MAXFRAME ",3, PORTVAL, offsetof(PORTCONTROLX, PORTWINDOW), - "RETRIES ",3, PORTVAL, offsetof(PORTCONTROLX, PORTN2), - "FRACK ",3,PORTVAL, offsetof(PORTCONTROLX, PORTT1), - "RESPTIME ",3,PORTVAL, offsetof(PORTCONTROLX, PORTT2), - "PPACLEN ",3,PORTVAL, offsetof(PORTCONTROLX, PORTPACLEN), - "QUALITY ",3,PORTVAL, offsetof(PORTCONTROLX, PORTQUALITY), - "PERSIST ",2,PORTVAL, offsetof(PORTCONTROLX, PORTPERSISTANCE), - "TXTAIL ",3,PORTVAL, offsetof(PORTCONTROLX, PORTTAILTIME), - "XMITOFF ",7,PORTVAL, offsetof(PORTCONTROLX, PORTDISABLED), - "DIGIFLAG ",5,PORTVAL, offsetof(PORTCONTROLX, DIGIFLAG), - "DIGIPORT ",5,PORTVAL, offsetof(PORTCONTROLX, DIGIPORT), - "MAXUSERS ",4,PORTVAL, offsetof(PORTCONTROLX, USERS), - "L3ONLY ",6,PORTVAL, offsetof(PORTCONTROLX, PORTL3FLAG), - "BBSALIAS ",4,PORTVAL, offsetof(PORTCONTROLX, PORTBBSFLAG), - "VALIDCALLS ",5,VALNODES,0, - "WL2KSYSOP ",5,WL2KSYSOP,0, - "STOPPORT ",4,STOPPORT,0, - "STARTPORT ",5,STARTPORT,0, - "STOPCMS ",7,STOPCMS,0, - "STARTCMS ",8,STARTCMS,0, - - "FINDBUFFS ",4,FINDBUFFS,0, - "KISS ",4,KISSCMD,0, - "GETPORTCTEXT",9,GetPortCTEXT, 0, - -#ifdef EXCLUDEBITS - - "EXCLUDE ",4,ListExcludedCalls,0, - -#endif - - "FULLDUP ",4,PORTVAL, offsetof(PORTCONTROLX, FULLDUPLEX), - "SOFTDCD ",4,PORTVAL, offsetof(PORTCONTROLX, SOFTDCDFLAG), - "OBSINIT ",7,SWITCHVAL,(size_t)&OBSINIT, - "OBSMIN ",6,SWITCHVAL,(size_t)&OBSMIN, - "NODESINT ",8,SWITCHVAL,(size_t)&L3INTERVAL, - "L3TTL ",5,SWITCHVAL,(size_t)&L3LIVES, - "L4RETRIES ",5,SWITCHVAL,(size_t)&L4N2, - "L4TIMEOUT ",5,SWITCHVALW,(size_t)&L4T1, - "T3 ",2,SWITCHVALW,(size_t)&T3, - "NODEIDLETIME",8,SWITCHVALW,(size_t)&L4LIMIT, - "LINKEDFLAG ",10,SWITCHVAL,(size_t)&LINKEDFLAG, - "IDINTERVAL ",5,SWITCHVAL,(size_t)&IDINTERVAL, - "MINQUAL ",7,SWITCHVAL,(size_t)&MINQUAL, - "FULLCTEXT ",6,SWITCHVAL,(size_t)&FULL_CTEXT, - "HIDENODES ",8,SWITCHVAL,(size_t)&HIDENODES, - "L4DELAY ",7,SWITCHVAL,(size_t)&L4DELAY, - "L4WINDOW ",6,SWITCHVAL,(size_t)&L4DEFAULTWINDOW, - "BTINTERVAL ",5,SWITCHVAL,(size_t)&BTINTERVAL, - "PASSWORD ", 8, PWDCMD, 0, - - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, - "************", 12, APPLCMD, 0, // Apppl 32 is internal Terminal - "*** LINKED ",10,LINKCMD,0, - "CQ ",2,CQCMD,0, - "CONNECT ",1,CMDC00,0, - "NC ",2,CMDC00,0, - "BYE ",1,BYECMD,0, - "QUIT ",1,BYECMD,0, - "INFO ",1,CMDI00,0, - "HELP ",1,HELPCMD,0, - "VERSION ",1,CMDV00,0, - "NODES ",1,CMDN00,0, - "LINKS ",1,CMDL00,0, - "LISTEN ",3,LISTENCMD,0, - "L4T1 ",2,CMDT00,0, - "PORTS ",1,CMDP00,0, - "PACLEN ",3,CMDPAC,0, - "IDLETIME ",4,CMDIDLE,0, - "ROUTES ",1,CMDR00,0, - "STATS ",1,CMDSTATS,0, - "USERS ",1,CMDS00,0, - "UNPROTO ",2,UNPROTOCMD,0, - "? ",1,CMDQUERY,0, - "DUMP ",4,DUMPCMD,0, - "MHU ",3,MHCMD,0, // UTC Times - "MHL ",3,MHCMD,0, // Local Times - "MHV ",3,MHCMD,0, - "MHEARD ",1,MHCMD,0, - "APRS ",2,APRSCMD,0, - "ATTACH ",1,ATTACHCMD,0, - "RADIO ",3,RADIOCMD,0, - "AXRESOLVER ",3,AXRESOLVER,0, - "AXMHEARD ",3,AXMHEARD,0, - "TELSTATUS ",3,SHOWTELNET,0, - "NRR ",1,NRRCMD,0, - "PING ",2,PING,0, - "AGWSTATUS ",3,SHOWAGW,0, - "ARP ",3,SHOWARP,0, - "NAT ",3,SHOWNAT,0, - "IPROUTE ",3,SHOWIPROUTE,0, - "UZ7HO ",5,UZ7HOCMD,0, - "QTSM ",4,QTSMCMD,0, - - "..FLMSG ",7,FLMSG,0 -}; - -CMDX * CMD = NULL; - -int NUMBEROFCOMMANDS = sizeof(COMMANDS)/sizeof(CMDX); - -char * ReplyPointer; // Pointer into reply buffer - -int DecodeNodeName(char * NodeName, char * ptr) -{ - // NodeName is TABLE ENTRY WITH AX25 CALL AND ALIAS - - // Copyies 20 byte 20 DECODED NAME IN FORM ALIAS:CALL to ptr - // Returns significant length of string - - int len; - char Normcall[10]; - char * alias = &NodeName[7]; - int n = 6; - char * start = ptr; - - memset(ptr, ' ', 20); - - len = ConvFromAX25(NodeName, Normcall); - - if (*(alias) > ' ') // Does alias start with a null or a space ? - { - while (*(alias) > ' ' && n--) - { - *ptr++ = *alias++; - } - *ptr++ = ':'; - } - - memcpy(ptr, Normcall, len); - ptr += len; - - return (int)(ptr - start); -} - -char * SetupNodeHeader(struct DATAMESSAGE * Buffer) -{ - char Header[20]; - int len; - - char * ptr = &Buffer->L2DATA[0]; - - len = DecodeNodeName(MYCALLWITHALIAS, Header); - - memcpy (ptr, Header, len); - ptr += len; - - (*ptr++) = HEADERCHAR; - (*ptr++) = ' '; - - return ptr; -} - -VOID SendCommandReply(TRANSPORTENTRY * Session, struct DATAMESSAGE * Buffer, int Len) -{ - if (Len == (4 + sizeof(void *))) // Null Packet - { - ReleaseBuffer((UINT *)Buffer); - return; - } - - Buffer->LENGTH = Len; - - C_Q_ADD(&Session->L4TX_Q, (UINT *)Buffer); - - PostDataAvailable(Session); -} - - -VOID CommandHandler(TRANSPORTENTRY * Session, struct DATAMESSAGE * Buffer) -{ - // ignore frames with single NULL (Keepalive) - - if (Buffer->LENGTH == sizeof(void *) + 5 && Buffer->L2DATA[0] == 0) - { - ReleaseBuffer(Buffer); - return; - } - - if (Buffer->LENGTH > 100) - { -// Debugprintf("BPQ32 command too long %s", Buffer->L2DATA); - ReleaseBuffer(Buffer); - return; - } - -InnerLoop: - - InnerCommandHandler(Session, Buffer); - -// See if any more commands in buffer - - if (Session->PARTCMDBUFFER) - { - char * ptr1, * ptr2; - int len; - - Buffer = Session->PARTCMDBUFFER; - - // Check that message has a CR, if not save buffer and exit - - len = Buffer->LENGTH - (4 + sizeof(void *)); - ptr1 = &Buffer->L2DATA[0]; - - ptr2 = memchr(ptr1, 13, len); - - if (ptr2 == NULL) - return; - - Session->PARTCMDBUFFER = NULL; - - goto InnerLoop; - } -} - - -VOID InnerCommandHandler(TRANSPORTENTRY * Session, struct DATAMESSAGE * Buffer) -{ - char * ptr1, * ptr2, *ptr3; - int len, oldlen, newlen, rest, n; - struct DATAMESSAGE * OldBuffer; - struct DATAMESSAGE * SaveBuffer; - char c; - - // If a partial command is stored, append this data to it. - - if (Session->PARTCMDBUFFER) - { - len = Buffer->LENGTH - (sizeof(void *) + 4); - ptr1 = &Buffer->L2DATA[0]; - - OldBuffer = Session->PARTCMDBUFFER; // Old Data - - if (OldBuffer == Buffer) - { - // something has gone horribly wrong - - Session->PARTCMDBUFFER = NULL; - return; - } - - oldlen = OldBuffer->LENGTH; - - newlen = len + oldlen; - - if (newlen > 200) - { - // Command far too long - ignore previous - - OldBuffer->LENGTH = oldlen = sizeof(void *) + 4; - } - - OldBuffer->LENGTH += len; - memcpy(&OldBuffer->L2DATA[oldlen - (sizeof(void *) + 4)], Buffer->L2DATA, len); - - ReleaseBuffer((UINT *)Buffer); - - Buffer = OldBuffer; - - Session->PARTCMDBUFFER = NULL; - } - - // Check that message has a CR, if not save buffer and exit - - len = Buffer->LENGTH - (sizeof(void *) + 4); - ptr1 = &Buffer->L2DATA[0]; - - // Check for sending YAPP to Node - - if (len == 2 && ptr1[0] == 5 && ptr1[1] == 1) - { - ptr1[0] = 0x15; // NAK - - ptr1[1] = sprintf(&ptr1[2], "Node doesn't support YAPP Transfers"); - - Buffer->LENGTH += ptr1[1]; - - C_Q_ADD(&Session->L4TX_Q, (UINT *)Buffer); - PostDataAvailable(Session); - return; - } - - - ptr2 = memchr(ptr1, ';', len); - - if (ptr2 == 0) - { - ptr2 = memchr(ptr1, 13, len); - - if (ptr2 == 0) - { - // No newline - - Session->PARTCMDBUFFER = Buffer; - return; - } - } - - ptr2++; - - rest = len - (int)(ptr2 - ptr1); - - if (rest) - { - // there are chars beyond the cr in the buffer - - // see if LF after CR - - if ((*ptr2) == 10) // LF - { - ptr2++; - rest--; - } - - if (rest) // May only have had LF - { - // Get a new buffer, and copy extra data to it. - - SaveBuffer = (struct DATAMESSAGE *)GetBuff(); - - if (SaveBuffer) //`Just ignore if no buffers - { - SaveBuffer->LENGTH = rest + MSGHDDRLEN + 1; - SaveBuffer->PID = 0xf0; - memcpy(&SaveBuffer->L2DATA[0], ptr2, rest); - Session->PARTCMDBUFFER = SaveBuffer; - } - } - } - - // GET PACLEN FOR THIS CONNECTION - - CMDPACLEN = Session->SESSPACLEN; - - if (CMDPACLEN == 0) - CMDPACLEN = PACLEN; // Use default if no Session PACLEN - - // If sesion is in UNPROTO Mode, send message as a UI message - - if (Session->UNPROTO) - { -// char LongMsg[512] = -// "VeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessage" -// "VeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessageVeryLongMessage"; - - DIGIMESSAGE Msg; - int Port = Session->UNPROTO; - int Len = Buffer->LENGTH - (MSGHDDRLEN -1); // Need PID - - // First check for UNPROTO exit - ctrl/z or /ex - - if (Buffer->L2DATA[0] == 26 || (Len == 6 && _memicmp(&Buffer->L2DATA[0], "/ex", 3) == 0)) // CTRL/Z or /ex - { - REPLYBUFFER = Buffer; - - Session->UNPROTO = 0; - memset(Session->UADDRESS, 0, 64); - - // SET UP HEADER - - Buffer->PID = 0xf0; - ptr1 = SetupNodeHeader(Buffer); - memcpy(ptr1, OKMSG, 3); - ptr1 += 3; - SendCommandReply(Session, Buffer, (int)(ptr1 - (char *)Buffer)); - - return; - } - - memset(&Msg, 0, sizeof(Msg)); - - Msg.PORT = Port; - Msg.CTL = 3; // UI - memcpy(Msg.DEST, Session->UADDRESS, 7); - Msg.DEST[6] |= 0x80; // set Command Bit - memcpy(Msg.ORIGIN, Session->L4USER, 7); - memcpy(Msg.DIGIS, &Session->UADDRESS[7], Session->UAddrLen - 7); - memcpy(&Msg.PID, &Buffer->PID, Len); - Send_AX_Datagram(&Msg, Len, Port); // Len is Payload - CTL, PID and Data - -// memcpy(&Msg.PID + 1, LongMsg, 260); -// Send_AX_Datagram(&Msg, 241, Port); // Len is Payload - CTL, PID and Data - - -// SendUIModeFrame(Session, (PMESSAGE)Buffer, Session->UNPROTO); - - ReleaseBuffer((UINT *)Buffer); // Not using buffer for reply - - // Assume we don't allow multiple lines in buffer with UI - - if (Session->PARTCMDBUFFER) - { - Buffer = Session->PARTCMDBUFFER; - ReleaseBuffer((UINT *)Buffer); // Not using buffer for reply - Session->PARTCMDBUFFER = NULL; - } - return; - } - - memset(COMMANDBUFFER, 32, 80); // Clear to spaces - - ptr1 = &Buffer->L2DATA[0]; - ptr2 = &COMMANDBUFFER[0]; - ptr3 = &OrigCmdBuffer[0]; - - memset(OrigCmdBuffer, 0, 80); - n = 80; - - while (n--) - { - c = *(ptr1++) & 0x7f; // Mask paritu - - if (c == 13 || c == ';') - break; // CR - - *(ptr3++) = c; // Original Case - - c = toupper(c); - *(ptr2++) = c; - } - - - // USE INPUT MESSAGE _BUFFER FOR REPLY - - REPLYBUFFER = Buffer; - - // SET UP HEADER - - Buffer->PID = 0xf0; - ptr1 = SetupNodeHeader(Buffer); - - ReplyPointer = ptr1; - - ALIASINVOKED = 0; // Clear "Invoked by APPL ALIAS flag" - - DoTheCommand(Session); // We also call DotheCommand when we need to reprocess - eg for alias handling -} - -VOID DoTheCommand(TRANSPORTENTRY * Session) -{ - struct DATAMESSAGE * Buffer = REPLYBUFFER; - char * ptr1, * ptr2; - int n; - - ptr1 = &COMMANDBUFFER[0]; // - - n = 10; - - while ((*ptr1 == ' ' || *ptr1 == 0) && n--) - ptr1++; // STRIP LEADING SPACES and nulls (from keepalive) - - if (n == -1) - { - // Null command - - ReleaseBuffer((UINT *)Buffer); - return; - } - - ptr2 = ptr1; // Save - - - CMD = &COMMANDS[0]; - n = 0; - - for (n = 0; n < NUMBEROFCOMMANDS; n++) - { - int CL = CMD->CMDLEN; - - ptr1 = ptr2; - - CMDPTR = CMD; - - if (n == APPL1) // First APPL command - { - APPLMASK = 1; // FOR APPLICATION ATTACH REQUESTS - ALIASPTR = &CMDALIAS[0][0]; - } - - // ptr1 is input command - - if (memcmp(CMD->String, ptr1, CL) == 0) - { - // Found match so far - check rest - - char * ptr2 = &CMD->String[CL]; - - ptr1 += CL; - - if (*(ptr1) != ' ') - { - while(*(ptr1) == *ptr2 && *(ptr1) != ' ') - { - ptr1++; - ptr2++; - } - } - - if (*(ptr1) == ' ') - { - Session->BADCOMMANDS = 0; // RESET ERROR COUNT - - // SEE IF SYSOP COMMAND, AND IF SO IF PASSWORD HAS BEEN ENTERED - - if (n < PASSCMD) - { - //NEEDS PASSWORD FOR SYSOP COMMANDS - - if (Session->PASSWORD != 0xFFFF) - { - ptr1 = ReplyPointer; - - memcpy(ptr1, PASSWORDMSG, LPASSMSG); - ptr1 += LPASSMSG; - - SendCommandReply(Session, Buffer, (int)(ptr1 - (char *)Buffer)); - return; - } - } -// VALNODESFLAG = 0; // NOT VALID NODES COMMAND - - ptr1++; // Skip space - - CMD->CMDPROC(Session, ReplyPointer, ptr1, CMD); - return; - } - } - - APPLMASK <<= 1; - ALIASPTR += ALIASLEN; - - CMD++; - - } - Session->BADCOMMANDS++; - - if (Session->BADCOMMANDS > 6) // TOO MANY ERRORS - { - ReleaseBuffer((UINT *)Buffer); - Session->STAYFLAG = 0; - CLOSECURRENTSESSION(Session); - return; - } - - ptr1 = ReplyPointer; - - memcpy(ptr1, CMDERRMSG, CMDERRLEN); - ptr1 += CMDERRLEN; - - SendCommandReply(Session, Buffer, (int)(ptr1 - (char *)Buffer)); -} - - -VOID StatsTimer() -{ - struct PORTCONTROL * PORT = PORTTABLE; - uint64_t sum, sum2; - - // Interval is 60 secs - - while(PORT) - { - int index = PORT->StatsPointer++; - - if (index == 1439) - PORT->StatsPointer = 0; // Cyclic through 24 hours (1440 Mins) - - if (PORT->TNC) - { - struct TNCINFO * TNC = PORT->TNC; - if (TNC->Hardware == H_ARDOP || TNC->Hardware == H_VARA) - { - sum = TNC->PTTActivemS / 600; // ms but want % - PORT->AVSENDING = (UCHAR)sum; - TNC->PTTActivemS = 0; - - sum2 = TNC->BusyActivemS / 600; // ms but want % - PORT->AVACTIVE = (UCHAR)(sum + sum2); - TNC->BusyActivemS = 0; - } - } - else - { - // if KISS port using QtSM Average is already updated - - struct KISSINFO * KISS = (struct KISSINFO *)PORT; - - if (PORT->PORTNUMBER == 17) - { - int x = 17; - } - - if (PORT->PORTTXROUTINE == KISSTX && (KISS->QtSMStats || KISS->FIRSTPORT->PORT.QtSMPort)) // KISS Port QtSM Stats - { - } - else - { - sum = PORT->SENDING / 11; - PORT->AVSENDING = (UCHAR)sum; - - sum = (PORT->SENDING + PORT->ACTIVE) /11; - PORT->AVACTIVE = (UCHAR)sum; - } - } - - if (PORT->TX == NULL && PORT->AVACTIVE) - { - PORT->TX = zalloc(1440); // Keep 1 day history - PORT->BUSY = zalloc(1440); - } - if (PORT->TX) - { - PORT->TX[index] = PORT->AVSENDING; - PORT->BUSY[index] = PORT->AVACTIVE; - } - - PORT->SENDING = 0; - PORT->ACTIVE = 0; - - PORT = PORT->PORTPOINTER; - } -} - - - -extern struct AXIPPORTINFO * Portlist[]; - -#define TCPConnected 4 - - -VOID AXRESOLVER(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // DISPLAY AXIP Resolver info - - int Port = 0, index =0; - char * ptr, *Context; - struct PORTCONTROL * PORT = NULL; - struct AXIPPORTINFO * AXPORT; - char Normcall[11]; - char Flags[10]; - struct arp_table_entry * arp; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - Port = atoi(ptr); - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - AXPORT = Portlist[Port]; - - if (AXPORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not an AXIP port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "AXIP Resolver info for Port %d\r", Port); - - while (index < AXPORT->arp_table_len) - { - arp = &AXPORT->arp_table[index]; - - if (arp->ResolveFlag && arp->error != 0) - { - // resolver error - Display Error Code - sprintf(AXPORT->hostaddr, "Error %d", arp->error); - } - else - { - if (arp->IPv6) - Format_Addr((unsigned char *)&arp->destaddr6.sin6_addr, AXPORT->hostaddr, TRUE); - else - Format_Addr((unsigned char *)&arp->destaddr.sin_addr, AXPORT->hostaddr, FALSE); - } - - ConvFromAX25(arp->callsign, Normcall); - - Flags[0] = 0; - - if (arp->BCFlag) - strcat(Flags, "B "); - - if (arp->TCPState == TCPConnected) - strcat(Flags, "C "); - - if (arp->AutoAdded) - strcat(Flags, "A"); - - if (arp->port == arp->SourcePort) - Bufferptr = Cmdprintf(Session, Bufferptr,"%.10s = %.64s %d = %-.42s %s\r", - Normcall, - arp->hostname, - arp->port, - AXPORT->hostaddr, - Flags); - - else - Bufferptr = Cmdprintf(Session, Bufferptr,"%.10s = %.64s %d<%d = %-.42s %s\r", - Normcall, - arp->hostname, - arp->port, - arp->SourcePort, - AXPORT->hostaddr, - Flags); - - index++; - } - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID AXMHEARD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - // DISPLAY AXIP Mheard info - - int Port = 0, index = 0; - char * ptr, *Context; - struct PORTCONTROL * PORT = NULL; - struct AXIPPORTINFO * AXPORT; - int n = MHENTRIES; - char Normcall[11]; - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - Port = atoi(ptr); - - if (Port) - PORT = GetPortTableEntryFromPortNum(Port); - - if (PORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - AXPORT = Portlist[Port]; - - if (AXPORT == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not an AXIP port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "AXIP Mheard for Port %d\r", Port); - - while (index < MaxMHEntries) - { - if (AXPORT->MHTable[index].proto != 0) - { - char Addr[80]; - - Format_Addr((unsigned char *)&AXPORT->MHTable[index].ipaddr6, Addr, AXPORT->MHTable[index].IPv6); - - Normcall[ConvFromAX25(AXPORT->MHTable[index].callsign, Normcall)] = 0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%-10s%-15s %c %-6d %-25s%c\r", Normcall, - Addr, - AXPORT->MHTable[index].proto, - AXPORT->MHTable[index].port, - asctime(gmtime( &AXPORT->MHTable[index].LastHeard )), - (AXPORT->MHTable[index].Keepalive == 0) ? ' ' : 'K'); - - Bufferptr[-3] = ' '; // Clear CR returned by asctime - } - - index++; - } - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -#pragma pack() - -extern char WL2KCall[10]; -extern char WL2KLoc[7]; - -BOOL GetWL2KSYSOPInfo(char * Call, char * _REPLYBUFFER); -BOOL UpdateWL2KSYSOPInfo(char * Call, char * SQL); - -VOID WL2KSYSOP(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char _REPLYBUFFER[1000] = ""; - - char LastUpdated[100]; - char Name[100] = ""; - char Addr1[100] = ""; - char Addr2[100] = ""; - char City[100] = ""; - char State[100] = ""; - char Country[100] = ""; - char PostCode[100] = ""; - char Email[100] = ""; - char Website[100] = ""; - char Phone[100] = ""; - char Data[100] = ""; - char LOC[100] = ""; - BOOL Exists = TRUE; - time_t LastUpdateSecs = 0; - char * ptr1, * ptr2; - - SOCKET sock; - - int Len; - char Message[2048]; - - if (WL2KCall[0] < 33) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Winlink reporting is not configured\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - if (GetWL2KSYSOPInfo(WL2KCall, _REPLYBUFFER) == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Failed to connect to WL2K Database\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (strstr(_REPLYBUFFER, "\"ErrorMessage\":")) - Exists = FALSE; - - GetJSONValue(_REPLYBUFFER, "\"SysopName\":", Name); - GetJSONValue(_REPLYBUFFER, "\"StreetAddress1\":", Addr1); - GetJSONValue(_REPLYBUFFER, "\"StreetAddress2\":", Addr2); - GetJSONValue(_REPLYBUFFER, "\"City\":", City); - GetJSONValue(_REPLYBUFFER, "\"State\":", State); - GetJSONValue(_REPLYBUFFER, "\"Country\":", Country); - GetJSONValue(_REPLYBUFFER, "\"PostalCode\":", PostCode); - GetJSONValue(_REPLYBUFFER, "\"Email\":", Email); - GetJSONValue(_REPLYBUFFER, "\"Website\":", Website); - GetJSONValue(_REPLYBUFFER, "\"Phones\":", Phone); - GetJSONValue(_REPLYBUFFER, "\"Comments\":", Data); - GetJSONValue(_REPLYBUFFER, "\"GridSquare\":", LOC); - GetJSONValue(_REPLYBUFFER, "\"Timestamp\":", LastUpdated); - - ptr1 = strchr(LastUpdated, '('); - - if (ptr1) - { - ptr2 = strchr(++ptr1, ')'); - - if (ptr2) - { - *(ptr2 - 3) = 0; // remove millisecs - LastUpdateSecs = atoi(ptr1); - - FormatTime3(LastUpdated, LastUpdateSecs); - } - } - - if (_memicmp(CmdTail, "SET ", 4) == 0) - { - if (Exists) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Record already exists in WL2K Database\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // Set New Values. Any other params are values to set, separated by | - -// ptr1 = strtok_s(&CmdTail[4], ",", &Context); - -// if (ptr1 == NULL) -// goto DoReplace; - -// strcpy(Name, ptr1); - -//DoReplace: - - Len = sprintf(Message, - "\"Callsign\":\"%s\"," - "\"GridSquare\":\"%s\"," - "\"SysopName\":\"%s\"," - "\"StreetAddress1\":\"%s\"," - "\"StreetAddress2\":\"%s\"," - "\"City\":\"%s\"," - "\"State\":\"%s\"," - "\"Country\":\"%s\"," - "\"PostalCode\":\"%s\"," - "\"Email\":\"%s\"," - "\"Phones\":\"%s\"," - "\"Website\":\"%s\"," - "\"Comments\":\"%s\",", - - WL2KCall, WL2KLoc, Name, Addr1, Addr2, City, State, Country, PostCode, Email, Phone, Website, Data); - - Debugprintf("Sending %s", Message); - - sock = OpenWL2KHTTPSock(); - - if (sock) - SendHTTPRequest(sock, "api.winlink.org", 80, - "/sysop/add", Message, Len, NULL); - - closesocket(sock); - - Bufferptr = Cmdprintf(Session, Bufferptr, "Database Updated\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (Exists) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "\rWL2K SYSOP Info for %s\r", WL2KCall); - Bufferptr = Cmdprintf(Session, Bufferptr, "Grid Square: %s\r", LOC); - Bufferptr = Cmdprintf(Session, Bufferptr, "Name: %s\r", Name); - Bufferptr = Cmdprintf(Session, Bufferptr, "Addr Line 1: %s\r", Addr1); - Bufferptr = Cmdprintf(Session, Bufferptr, "Addr Line 2: %s\r", Addr2); - Bufferptr = Cmdprintf(Session, Bufferptr, "City: %s\r", City); - Bufferptr = Cmdprintf(Session, Bufferptr, "State: %s\r", State); - Bufferptr = Cmdprintf(Session, Bufferptr, "Country: %s\r", Country); - Bufferptr = Cmdprintf(Session, Bufferptr, "PostCode: %s\r", PostCode); - Bufferptr = Cmdprintf(Session, Bufferptr, "Email Address: %s\r", Email); - Bufferptr = Cmdprintf(Session, Bufferptr, "Website: %s\r", Website); - Bufferptr = Cmdprintf(Session, Bufferptr, "Phone: %s\r", Phone); - Bufferptr = Cmdprintf(Session, Bufferptr, "Additional Data: %s\r", Data); - Bufferptr = Cmdprintf(Session, Bufferptr, "Last Updated: %s\r", LastUpdated); - } - else - Bufferptr = Cmdprintf(Session, Bufferptr, "No SYSOP record for %s\r", WL2KCall); - - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - -VOID CloseKISSPort(struct PORTCONTROL * PortVector); - -VOID STOPCMS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char _REPLYBUFFER[1000] = ""; - char * ptr, * Context; - - int portno; - - struct TNCINFO * TNC; - struct TCPINFO * TCP; - struct PORTCONTROL * PORT = PORTTABLE; - int n = NUMBEROFPORTS; - - // Get port number - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - - if (portno) - { - while (n--) - { - if (PORT->PORTNUMBER == portno) - { - TNC = TNCInfo[portno]; - - if (!TNC || !TNC->TCPInfo) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a Telnet Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - TCP = TNC->TCPInfo; - - TCP->CMS = 0; - TCP->CMSOK = FALSE; -#ifndef LINBPQ - CheckMenuItem(TCP->hActionMenu, 3, MF_BYPOSITION | TCP->CMS<<3); - SetWindowText(TCP->hCMSWnd, "CMS Off"); -#endif - Bufferptr = Cmdprintf(Session, Bufferptr, "CMS Server Disabled\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - PORT = PORT->PORTPOINTER; - } - } - } - - // Bad port - - strcpy(Bufferptr, BADPORT); - Bufferptr += (int)strlen(BADPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - -VOID STARTCMS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char _REPLYBUFFER[1000] = ""; - char * ptr, * Context; - - int portno; - - struct TNCINFO * TNC; - struct TCPINFO * TCP; - struct PORTCONTROL * PORT = PORTTABLE; - int n = NUMBEROFPORTS; - - // Get port number - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - - if (portno) - { - while (n--) - { - if (PORT->PORTNUMBER == portno) - { - TNC = TNCInfo[portno]; - - if (!TNC || !TNC->TCPInfo) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a Telnet Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - TCP = TNC->TCPInfo; - TCP->CMS = 1; -#ifndef LINBPQ - CheckMenuItem(TCP->hActionMenu, 3, MF_BYPOSITION | TCP->CMS<<3); -#endif - CheckCMS(TNC); - - Bufferptr = Cmdprintf(Session, Bufferptr, "CMS Server Enabled\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - PORT = PORT->PORTPOINTER; - } - } - } - - // Bad port - - strcpy(Bufferptr, BADPORT); - Bufferptr += (int)strlen(BADPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - -VOID STOPPORT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char _REPLYBUFFER[1000] = ""; - char * ptr, * Context; - - int portno; - struct PORTCONTROL * PORT = PORTTABLE; - int n = NUMBEROFPORTS; - - // Get port number - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - - if (portno) - { - while (n--) - { - if (PORT->PORTNUMBER == portno) - { - struct KISSINFO * KISS; - - if (PORT->PORTSTOPCODE) - { - // Port has Close Routine - - PORT->PortStopped = TRUE; - - if (PORT->PORTSTOPCODE(PORT)) - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Closed\r"); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Close Failed\r"); - - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - if (PORT->PORTTYPE != 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a KISS Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (PORT->PORTIPADDR.s_addr || PORT->KISSSLAVE) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a serial port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - KISS = (struct KISSINFO *) PORT; - - if (KISS->FIRSTPORT != KISS) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not first port of a Multidrop Set\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - CloseKISSPort(PORT); - PORT->PortStopped = TRUE; - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Closed\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - return; - } - PORT = PORT->PORTPOINTER; - } - } - } - - // Bad port - - strcpy(Bufferptr, BADPORT); - Bufferptr += (int)strlen(BADPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - -VOID STARTPORT(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char _REPLYBUFFER[1000] = ""; - char * ptr, * Context; - - int portno; - struct PORTCONTROL * PORT = PORTTABLE; - int n = NUMBEROFPORTS; - - // Get port number - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - - if (portno) - { - while (n--) - { - if (PORT->PORTNUMBER == portno) - { - struct KISSINFO * KISS; - - if (PORT->PORTSTARTCODE) - { - // Port has Open Routine - - PORT->PortStopped = FALSE; - - if (PORT->PORTSTARTCODE(PORT)) - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Opened\r"); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Open Failed\r"); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - if (PORT->PORTTYPE != 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a KISS Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (PORT->PORTIPADDR.s_addr || PORT->KISSSLAVE) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a serial port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - KISS = (struct KISSINFO *) PORT; - - if (KISS->FIRSTPORT != KISS) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not first port of a Multidrop Set\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (OpenConnection(PORT)) - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Opened\r"); - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Port Open Failed\r"); - - PORT->PortStopped = FALSE; - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - PORT = PORT->PORTPOINTER; - } - } - } - - // Bad port - - strcpy(Bufferptr, BADPORT); - Bufferptr += (int)strlen(BADPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - - -int ASYSEND(struct PORTCONTROL * PortVector, char * buffer, int count); -int KissEncode(UCHAR * inbuff, UCHAR * outbuff, int len); - -VOID KISSCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char _REPLYBUFFER[1000] = ""; - char * ptr, * Context; - - int portno = 0; - struct PORTCONTROL * PORT = PORTTABLE; - int n = NUMBEROFPORTS; - UCHAR KissString[128]; - UCHAR ENCBUFF[256]; - int KissLen = 0; - unsigned char * Kissptr = KissString; - - // Send KISS Command to TNC - - // Get port number - - ptr = strtok_s(CmdTail, " ", &Context); - - if (ptr) - { - portno = atoi (ptr); - ptr = strtok_s(NULL, " ", &Context); - - while (ptr && ptr[0] && KissLen < 120) - { - *(Kissptr++) = atoi (ptr); - KissLen++; - ptr = strtok_s(NULL, " ", &Context); - - } - } - - if (portno == 0 || KissLen == 0) - { - strcpy(Bufferptr, BADMSG); - Bufferptr += (int)strlen(BADMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - while (n--) - { - if (PORT->PORTNUMBER == portno) - { - struct KISSINFO * KISS; - - if (PORT->PORTTYPE != 0 && PORT->PORTTYPE != 22) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not a KISS Port\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - KISS = (struct KISSINFO *) PORT; - - if (KISS->FIRSTPORT != KISS) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Not first port of a Multidrop Set\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - // Send Command - - KissLen = KissEncode(KissString, ENCBUFF, KissLen); - - PORT = (struct PORTCONTROL *)KISS->FIRSTPORT; // ALL FRAMES GO ON SAME Q - - PORT->Session = Session; - PORT->LastKISSCmdTime = time(NULL); - - ASYSEND(PORT, ENCBUFF, KissLen); - - Bufferptr = Cmdprintf(Session, Bufferptr, "Command Sent\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - PORT = PORT->PORTPOINTER; - } - - - // Bad port - - strcpy(Bufferptr, BADPORT); - Bufferptr += (int)strlen(BADPORT); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - -VOID FINDBUFFS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - FindLostBuffers(); - -#ifdef WIN32 - Bufferptr = Cmdprintf(Session, Bufferptr, "Lost buffer info dumped to Debugview\r"); -#else - Bufferptr = Cmdprintf(Session, Bufferptr, "Lost buffer info dumped to syslog\r"); -#endif - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -VOID FLMSG(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * UserCMD) -{ - // Telnet Connection from FLMSG - CLOSECURRENTSESSION(Session); // Kills any crosslink, plus local link - ReleaseBuffer((UINT *)REPLYBUFFER); -} - -BOOL CheckExcludeList(UCHAR * Call) -{ - UCHAR * ptr1 = ExcludeList; - - while (*ptr1) - { - if (memcmp(Call, ptr1, 6) == 0) - return FALSE; - - ptr1 += 7; - } - - return TRUE; -} - - -void ListExcludedCalls(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - - UCHAR * ptr = ExcludeList; - char Normcall[10] = ""; - UCHAR AXCall[8] = ""; - - if (*CmdTail == ' ') - goto DISPLIST; - - if (*CmdTail == 'Z') - { - // CLEAR LIST - - memset(ExcludeList, 0, 70); - goto DISPLIST; - } - - ConvToAX25(CmdTail, AXCall); - - if (strlen(ExcludeList) < 70) - strcat(ExcludeList, AXCall); - -DISPLIST: - - while (*ptr) - { - Normcall[ConvFromAX25(ptr, Normcall)] = 0; - Bufferptr = Cmdprintf(Session, Bufferptr, "%s ", Normcall); - ptr += 7; - } - - *(Bufferptr++) = '\r'; - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -BOOL isSYSOP(TRANSPORTENTRY * Session, char * Bufferptr) -{ - if (Session->PASSWORD != 0xFFFF) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "%s", PASSWORDMSG); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - - return FALSE; - } - - return TRUE; -} - -VOID HELPCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - int FileSize; - char MsgFile[MAX_PATH]; - FILE * hFile; - char * MsgBytes; - struct stat STAT; - char * ptr1, * ptr, * ptr2; - - sprintf_s(MsgFile, sizeof(MsgFile), "%s/%s", BPQDirectory, "NodeHelp.txt"); - - if (stat(MsgFile, &STAT) == -1) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Help file not found\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - FileSize = STAT.st_size; - - hFile = fopen(MsgFile, "rb"); - - if (hFile == NULL) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Help file not found\r"); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - MsgBytes = malloc(FileSize+1); - - fread(MsgBytes, 1, FileSize, hFile); - - fclose(hFile); - - MsgBytes[FileSize] = 0; - - ptr1 = MsgBytes; - - // Replace LF or CRLF with CR - - // First remove cr from crlf - - while(ptr2 = strstr(ptr1, "\r\n")) - { - memmove(ptr2, ptr2 + 1, strlen(ptr2)); - } - - // Now replace lf with cr - - ptr1 = MsgBytes; - - while (*ptr1) - { - if (*ptr1 == '\n') - *(ptr1) = '\r'; - - ptr1++; - } - - ptr = ptr1 = MsgBytes; - - Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); - - // Read and send a line at a time, converting any line endings into CR - - while (*ptr1) - { - if (*ptr1 == '\r') - { - *(ptr1++) = 0; - - Bufferptr = Cmdprintf(Session, Bufferptr, "%s\r", ptr); - - ptr = ptr1; - } - else - ptr1++; - } - - free(MsgBytes); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); -} - -int UZ7HOSetFreq(int port, struct TNCINFO * TNC, struct AGWINFO * AGW, PDATAMESSAGE buff, PMSGWITHLEN buffptr); -int UZ7HOSetModem(int port, struct TNCINFO * TNC, struct AGWINFO * AGW, PDATAMESSAGE buff, PMSGWITHLEN buffptr); -int UZ7HOSetFlags(int port, struct TNCINFO * TNC, struct AGWINFO * AGW, PDATAMESSAGE buff, PMSGWITHLEN buffptr); - - -VOID UZ7HOCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - char * Cmd; - int port; - struct TNCINFO * TNC; - struct AGWINFO * AGW = 0; - PDATAMESSAGE buff; - PMSGWITHLEN buffptr; - - CmdTail = CmdTail + (OrigCmdBuffer - COMMANDBUFFER); // Replace with original case version - - Cmd = strlop(CmdTail, ' '); - port = atoi(CmdTail); - - // remove trailing spaces - - while(strlen(Cmd) && Cmd[strlen(Cmd) - 1] == ' ') - Cmd[strlen(Cmd) - 1] = 0; - - TNC = TNCInfo[port]; - - if (TNC) - AGW = TNC->AGWInfo; - - if (TNC == 0 || AGW == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - %d is not UZ7HO port\r", port); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - if (_memicmp(Cmd, "FREQ", 4) == 0 || _memicmp(Cmd, "MODEM", 5) == 0 || _memicmp(Cmd, "FLAGS", 5) == 0) - { - // Pass to procesing code in UZ7HO driver. This expects command in a PDATAMESSAGE amd places response in a PMSGWITHLEN buffer - - buff = (PDATAMESSAGE)GetBuff(); - buffptr = (PMSGWITHLEN)GetBuff(); - - if (buffptr == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "UZ7HO Command Failed - no buffers\r"); - if (buff) - ReleaseBuffer(buff); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - - - buff->LENGTH = sprintf(buff->L2DATA, "%s\r", Cmd) + MSGHDDRLEN + 1; - - if (_memicmp(Cmd, "FREQ", 4) == 0) - UZ7HOSetFreq(port, TNC, AGW, buff, buffptr); - else if (_memicmp(Cmd, "FLAGS", 5) == 0) - UZ7HOSetFlags(port, TNC, AGW, buff, buffptr); - else - UZ7HOSetModem(port, TNC, AGW, buff, buffptr); - - - Bufferptr = Cmdprintf(Session, Bufferptr, buffptr->Data); - - ReleaseBuffer(buff); - ReleaseBuffer(buffptr); - } - else - Bufferptr = Cmdprintf(Session, Bufferptr, "Invalid UZ7HO Command (not Freq Modem or FLAGS)\r"); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - -VOID QTSMCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) -{ - int port; - struct PORTCONTROL * PORT; - struct KISSINFO * KISS; - - CmdTail = CmdTail + (OrigCmdBuffer - COMMANDBUFFER); // Replace with original case version - - port = atoi(CmdTail); - - PORT = GetPortTableEntryFromPortNum(port); - - if (PORT == NULL || PORT->PORTTXROUTINE != KISSTX) // Must be a kiss like port - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - Port %d is not a KISS port\r", port); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - KISS = (struct KISSINFO *)PORT; - - if (KISS->QtSMModem == 0) - { - Bufferptr = Cmdprintf(Session, Bufferptr, "Error - Port %d has no QtSM information\r", port); - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; - } - - Bufferptr = Cmdprintf(Session, Bufferptr, "Modem %s Centre frequency %d\r", - (KISS->QtSMModem) ? KISS->QtSMModem : "Not Available", KISS->QtSMFreq); - - SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); - return; -} - - - - - - - - - - - - - diff --git a/CommonCode.c b/CommonCode.c index e3504d1..a392b17 100644 --- a/CommonCode.c +++ b/CommonCode.c @@ -4912,7 +4912,7 @@ SOCKET OpenHTTPSock(char * Host) { err = WSAGetLastError(); - Debugprintf("Resolve Failed for %s %d %x", Host, err, err); + Debugprintf("Resolve Failed for %s %d %x", "api.winlink.org", err, err); return 0 ; // Resolve failed } @@ -4945,7 +4945,7 @@ SOCKET OpenHTTPSock(char * Host) } static char HeaderTemplate[] = "POST %s HTTP/1.1\r\n" - "Accept: app N B lication/json\r\n" + "Accept: application/json\r\n" // "Accept-Encoding: gzip,deflate,gzip, deflate\r\n" "Content-Type: application/json\r\n" "Host: %s:%d\r\n" @@ -4955,24 +4955,14 @@ static char HeaderTemplate[] = "POST %s HTTP/1.1\r\n" "\r\n"; -DllExport VOID WINAPI SendWebRequest(char * Host, char * Request, char * Params, char * Return) +VOID SendWebRequest(SOCKET sock, char * Host, char * Request, char * Params, int Len, char * Return) { - SOCKET sock; int InputLen = 0; int inptr = 0; char Buffer[4096]; char Header[256]; char * ptr, * ptr1; int Sent; - int Len = strlen(Params); - - if (M0LTEMap == 0) - return; - - sock = OpenHTTPSock(Host); - - if (sock == 0) - return; #ifdef LINBPQ sprintf(Header, HeaderTemplate, Request, Host, 80, Len, "linbpq/", VersionString, Params); @@ -4986,7 +4976,6 @@ DllExport VOID WINAPI SendWebRequest(char * Host, char * Request, char * Params, { int Err = WSAGetLastError(); Debugprintf("Error %d from Web Update send()", Err); - closesocket(sock); return; } @@ -4998,10 +4987,12 @@ DllExport VOID WINAPI SendWebRequest(char * Host, char * Request, char * Params, { int Err = WSAGetLastError(); Debugprintf("Error %d from Web Update recv()", Err); - closesocket(sock); return; } + // As we are using a persistant connection, can't look for close. Check + // for complete message + inptr += InputLen; Buffer[inptr] = 0; @@ -5044,7 +5035,6 @@ DllExport VOID WINAPI SendWebRequest(char * Host, char * Request, char * Params, Debugprintf("Map Update failed - %s", Buffer); } - closesocket(sock); return; } } @@ -5056,7 +5046,6 @@ DllExport VOID WINAPI SendWebRequest(char * Host, char * Request, char * Params, { // Just accept anything until I've sorted things with Lee Debugprintf("%s", ptr1); - closesocket(sock); Debugprintf("Web Database update ok"); return; } @@ -5595,11 +5584,19 @@ void SendDataToPktMap(char *Msg) } ], + + */ // "contact": "string", // "neighbours": [{"node": "G7TAJ","port": "30"}] - SendWebRequest("packetnodes.spots.radio", Request, Params, Return); + sock = OpenHTTPSock("packetnodes.spots.radio"); + + if (sock == 0) + return; + + SendWebRequest(sock, "packetnodes.spots.radio", Request, Params, strlen(Params), Return); + closesocket(sock); } // ="{\"neighbours\": [{\"node\": \"G7TAJ\",\"port\": \"30\"}]}"; diff --git a/L2Code-skigdebian.c b/L2Code-skigdebian.c deleted file mode 100644 index a36854d..0000000 --- a/L2Code-skigdebian.c +++ /dev/null @@ -1,4143 +0,0 @@ -/* -Copyright 2001-2022 John Wiseman G8BPQ - -This file is part of LinBPQ/BPQ32. - -LinBPQ/BPQ32 is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -LinBPQ/BPQ32 is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses -*/ - -// -// C replacement for L2Code.asm -// -#define Kernel - -#define _CRT_SECURE_NO_DEPRECATE - - -#pragma data_seg("_BPQDATA") - -#include "time.h" -#include "stdio.h" - -#include "CHeaders.h" -#include "tncinfo.h" - -#define PFBIT 0x10 // POLL/FINAL BIT IN CONTROL BYTE - -#define REJSENT 1 // SET WHEN FIRST REJ IS SENT IN REPLY - // TO AN I(P) -#define RNRSET 0x2 // RNR RECEIVED FROM OTHER END -#define DISCPENDING 8 // SEND DISC WHEN ALL DATA ACK'ED -#define RNRSENT 0x10 // WE HAVE SEND RNR -#define POLLSENT 0x20 // POLL BIT OUTSTANDING - -#define ONEMINUTE 60*3 -#define TENSECS 10*3 -#define THREESECS 3*3 - - -VOID L2SENDCOMMAND(); -VOID L2ROUTINE(); -MESSAGE * SETUPL2MESSAGE(struct _LINKTABLE * LINK, UCHAR CMD); -VOID SendSupervisCmd(struct _LINKTABLE * LINK); -void SEND_RR_RESP(struct _LINKTABLE * LINK, UCHAR PF); -VOID L2SENDRESPONSE(struct _LINKTABLE * LINK, int CMD); -VOID L2SENDCOMMAND(struct _LINKTABLE * LINK, int CMD); -VOID ACKMSG(struct _LINKTABLE * LINK); -VOID InformPartner(struct _LINKTABLE * LINK, int Reason); -UINT RR_OR_RNR(struct _LINKTABLE * LINK); -VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT); -VOID CLEAROUTLINK(struct _LINKTABLE * LINK); -VOID SENDFRMR(struct _LINKTABLE * LINK); -char * SetupNodeHeader(struct DATAMESSAGE * Buffer); -VOID CLEARSESSIONENTRY(TRANSPORTENTRY * Session); -VOID SDFRMR(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT); -VOID SDNRCHK(struct _LINKTABLE * LINK, UCHAR CTL); -VOID RESETNS(struct _LINKTABLE * LINK, UCHAR NS); -VOID PROC_I_FRAME(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer); -VOID RESET2X(struct _LINKTABLE * LINK); -VOID RESET2(struct _LINKTABLE * LINK); -VOID CONNECTREFUSED(struct _LINKTABLE * LINK); -VOID SDUFRM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR CTL); -VOID SFRAME(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, UCHAR CTL, UCHAR MSGFLAG); -VOID SDIFRM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR CTL, UCHAR MSGFLAG); -VOID SENDCONNECTREPLY(struct _LINKTABLE * LINK); -VOID SETUPNEWL2SESSION(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR MSGFLAG); -BOOL FindNeighbour(UCHAR * Call, int Port, struct ROUTE ** REQROUTE); -VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR MSGFLAG); -VOID L2SENDUA(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER); -VOID L2SENDDM(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER); -VOID L2SENDRESP(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL); -int COUNTLINKS(int Port); -VOID L2_PROCESS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR CTL, UCHAR MSGFLAG); -TRANSPORTENTRY * SetupSessionForL2(struct _LINKTABLE * LINK); -BOOL cATTACHTOBBS(TRANSPORTENTRY * Session, UINT Mask, int Paclen, int * AnySessions); -VOID PUT_ON_PORT_Q(struct PORTCONTROL * PORT, MESSAGE * Buffer); -VOID L2SWAPADDRESSES(MESSAGE * Buffer); -BOOL FindLink(UCHAR * LinkCall, UCHAR * OurCall, int Port, struct _LINKTABLE ** REQLINK); -VOID SENDSABM(struct _LINKTABLE * LINK); -VOID L2SENDXID(struct _LINKTABLE * LINK); -VOID __cdecl Debugprintf(const char * format, ...); -VOID Q_IP_MSG(MESSAGE * Buffer); -VOID PROCESSNODEMESSAGE(MESSAGE * Msg, struct PORTCONTROL * PORT); -VOID L2LINKACTIVE(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL, UCHAR MSGFLAG); -BOOL CompareAliases(UCHAR * c1, UCHAR * c2); -VOID L2FORUS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL, UCHAR MSGFLAG); -VOID Digipeat(struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR * OurCall, int toPort, int UIOnly); -VOID DigiToMultiplePorts(struct PORTCONTROL * PORTVEC, PMESSAGE Msg); -VOID MHPROC(struct PORTCONTROL * PORT, MESSAGE * Buffer); -BOOL CheckForListeningSession(struct PORTCONTROL * PORT, MESSAGE * Msg); -VOID L2SENDINVALIDCTRL(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL); -UCHAR * SETUPADDRESSES(struct _LINKTABLE * LINK, PMESSAGE Msg); -VOID ProcessXIDCommand(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL, UCHAR MSGFLAG); -int CountBits(uint32_t in); -void AttachKISSHF(struct PORTCONTROL * PORT, MESSAGE * Buffer); -void DetachKISSHF(struct PORTCONTROL * PORT); -void KISSHFConnected(struct PORTCONTROL * PORT, struct _LINKTABLE * LINK); -void WriteConnectLog(char * fromcall, char * tocall, UCHAR * Mode); -int seeifInterlockneeded(struct PORTCONTROL * PORT); -int seeifUnlockneeded(struct _LINKTABLE * LINK); -int CheckKissInterlock(struct PORTCONTROL * MYPORT, int Exclusive); -void hookL2SessionAccepted(int Port, char * fromCall, char * toCall, struct _LINKTABLE * LINK); -void hookL2SessionDeleted(int Port, char * fromCall, char * toCall, struct _LINKTABLE * LINK); -void hookL2SessionAttempt(int Port, char * fromCall, char * toCall, struct _LINKTABLE * LINK); - - -extern int REALTIMETICKS; - -// MSGFLAG contains CMD/RESPONSE BITS - -#define CMDBIT 4 // CURRENT MESSAGE IS A COMMAND -#define RESP 2 // CURRENT MSG IS RESPONSE -#define VER1 1 // CURRENT MSG IS VERSION 1 - -// FRMR REJECT FLAGS - -#define SDINVC 1 // INVALID COMMAND -#define SDNRER 8 // INVALID N(R) - - - -UCHAR NO_CTEXT = 0; -UCHAR ALIASMSG = 0; -extern UINT APPLMASK; -static UCHAR ISNETROMMSG = 0; -UCHAR MSGFLAG = 0; -extern char * ALIASPTR; - -UCHAR QSTCALL[7] = {'Q'+'Q','S'+'S','T'+'T',0x40,0x40,0x40,0xe0}; // QST IN AX25 -UCHAR NODECALL[7] = {0x9C, 0x9E, 0x88, 0x8A, 0xA6, 0x40, 0xE0}; // 'NODES' IN AX25 FORMAT - -extern BOOL LogAllConnects; - -APPLCALLS * APPL; - -VOID L2Routine(struct PORTCONTROL * PORT, PMESSAGE Buffer) -{ - // LEVEL 2 PROCESSING - - MESSAGE * ADJBUFFER; - struct _LINKTABLE * LINK; - UCHAR * ptr; - int n; - UCHAR CTL; - uintptr_t Work; - UCHAR c; - - // Check for invalid length (< 22 7Header + 7Addr + 7Addr + CTL - - if (Buffer->LENGTH < (18 + sizeof(void *))) - { - Debugprintf("BPQ32 Bad L2 Msg Port %d Len %d", PORT->PORTNUMBER, Buffer->LENGTH); - ReleaseBuffer(Buffer); - return; - } - - PORT->L2FRAMES++; - - ALIASMSG = 0; - APPLMASK = 0; - ISNETROMMSG = 0; - - MSGFLAG = 0; // CMD/RESP UNDEFINED - - // Check for Corrupted Callsign in Origin (to keep MH list clean) - - ptr = &Buffer->ORIGIN[0]; - n = 6; - - c = *(ptr) >> 1; - - if (c == ' ') // Blank Call - { - Debugprintf("BPQ32 Blank Call Port %d", PORT->PORTNUMBER); - ReleaseBuffer(Buffer); - return; - } - - while(n--) - { - // Try a bit harder to detect corruption - - c = *(ptr++); - - if (c & 1) - { - ReleaseBuffer(Buffer); - return; - } - - c = c >> 1; - - if (!isalnum(c) && !(c == '#') && !(c == ' ')) - { - ReleaseBuffer(Buffer); - return; - } - } - - // Check Digis if present - - if ((Buffer->ORIGIN[6] & 1) == 0) // Digis - { - ptr = &Buffer->CTL; - n = 6; - - while(n--) - { - c = *(ptr++); - - if (c & 1) - { - ReleaseBuffer(Buffer); - return; - } - - c = c >> 1; - - if (!isalnum(c) && !(c == '#') && !(c == ' ')) - { - ReleaseBuffer(Buffer); - return; - } - } - } - - BPQTRACE(Buffer, TRUE); // TRACE - RX frames to APRS - - if (PORT->PORTMHEARD) - MHPROC(PORT, Buffer); - - /// TAJ added 07/12/2020 for 'all RX traffic as IfinOctects - - InOctets[PORT->PORTNUMBER] += Buffer->LENGTH - MSGHDDRLEN; - - // CHECK THAT ALL DIGIS HAVE BEEN ACTIONED, - // AND ADJUST FOR DIGIPEATERS IF PRESENT - - n = 8; // MAX DIGIS - ptr = &Buffer->ORIGIN[6]; // End of Address bit - - while ((*ptr & 1) == 0) - { - // MORE TO COME - - ptr += 7; - - if ((*ptr & 0x80) == 0) // Digi'd bit - { - // FRAME HAS NOT BEEN REPEATED THROUGH CURRENT DIGI - - // SEE IF WE ARE MEANT TO DIGI IT - - struct XDIGI * XDigi = PORT->XDIGIS; // Cross port digi setup - - ptr -= 6; // To start of Call - - if (CompareCalls(ptr, MYCALL) || CompareAliases(ptr, MYALIAS) || - CompareCalls(ptr, PORT->PORTALIAS) || CompareCalls(ptr, PORT->PORTALIAS2)) - { - Digipeat(PORT, Buffer, ptr, 0, 0); // Digi it (if enabled) - return; - } - - while (XDigi) - { - if (CompareCalls(ptr, XDigi->Call)) - { - Digipeat(PORT, Buffer, ptr, XDigi->Port, XDigi->UIOnly); // Digi it (if enabled) - return; - } - XDigi = XDigi->Next; - } - - ReleaseBuffer(Buffer); - return; // not complete and not for us - } - n--; - - if (n == 0) - { - ReleaseBuffer(Buffer); - return; // Corrupt - no end of address bit - } - } - - // Reached End of digis, and all actioned, so can process it - - Work = (uintptr_t)&Buffer->ORIGIN[6]; - ptr -= Work; // ptr is now length of digis - - Work = (uintptr_t)Buffer; - ptr += Work; - - ADJBUFFER = (MESSAGE * )ptr; // ADJBUFFER points to CTL, etc. allowing for digis - - // GET CMD/RESP BITS - - if (Buffer->DEST[6] & 0x80) - { - if (Buffer->ORIGIN[6] & 0x80) // Both set, assume V1 - MSGFLAG |= VER1; - else - MSGFLAG |= CMDBIT; - } - else - { - if (Buffer->ORIGIN[6] & 0x80) // Only Dest Set - MSGFLAG |= RESP; - else - MSGFLAG |= VER1; // Neither, assume V1 - } - - // SEE IF FOR AN ACTIVE LINK SESSION - - CTL = ADJBUFFER->CTL; - - // IF A UI, THERE IS NO SESSION - - if (FindLink(Buffer->ORIGIN, Buffer->DEST, PORT->PORTNUMBER, &LINK)) - { - L2LINKACTIVE(LINK, PORT, Buffer,ADJBUFFER, CTL, MSGFLAG); - return; - } - - // NOT FOR ACTIVE LINK - SEE IF ADDRESSED TO OUR ADDRESSES - - // FIRST TRY PORT ADDR/ALIAS - - if(PORT->PORTBBSFLAG == 1) - goto PORTCALLISBBS; // PORT CALL/ALIAS ARE FOR BBS - - if (NODE) - goto USING_NODE; - -PORTCALLISBBS: - - // NODE IS NOT ACTIVE, SO PASS CALLS TO PORTCALL/ALIAS TO BBS - - APPLMASK = 1; - - if (CompareCalls(Buffer->DEST, NETROMCALL)) - { - ISNETROMMSG = 1; - goto FORUS; - } - if (PORT->PORTL3FLAG) // L3 Only Port? - goto NOTFORUS; // If L3ONLY, only accept calls to NETROMCALL - - ISNETROMMSG = 0; - -USING_NODE: - - if (CompareCalls(Buffer->DEST, PORT->PORTCALL)) - goto FORUS; - - ALIASMSG = 1; - - if (CompareAliases(Buffer->DEST, PORT->PORTALIAS)) // only compare 6 bits - allow any ssid - goto FORUS; - - if (NODE == 0) - goto TRYBBS; // NOT USING NODE SYSTEM - - ALIASMSG = 0; - - if (CompareCalls(Buffer->DEST, MYCALL)) - goto FORUS; - - ALIASMSG = 1; - - if (CompareAliases(Buffer->DEST, MYALIAS)) // only compare 6 bits - allow any ssid - goto FORUS; - -TRYBBS: - - if (BBS == 0) - goto NOWTRY_NODES; // NOT USING BBS CALLS - - // TRY APPLICATION CALLSIGNS/ALIASES - - - APPLMASK = 1; - ALIASPTR = &CMDALIAS[0][0]; - - n = NumberofAppls; - - APPL = APPLCALLTABLE; - - while (n--) - { - if (APPL->APPLCALL[0] > 0x40) // Valid ax.25 addr - { - // WE MAY NOT BE ALLOWED TO USE THE BBS CALL ON SOME BANDS DUE TO - // THE RATHER ODD UK LICENCING RULES! - // For backward compatibility only apply to appl 1 - - if ((PORT->PERMITTEDAPPLS & APPLMASK) != 0) - { - ALIASMSG = 0; - - if (CompareCalls(Buffer->DEST, APPL->APPLCALL)) - goto FORUS; - - ALIASMSG = 1; - - if (CompareAliases(Buffer->DEST, APPL->APPLALIAS)) // only compare 6 bits - allow any ssid - goto FORUS; - - if (CompareAliases(Buffer->DEST, APPL->L2ALIAS)) // only compare 6 bits - allow any ssid - goto FORUS; - } - } - APPLMASK <<= 1; - ALIASPTR += ALIASLEN; - APPL++; - } - - // NOT FOR US - SEE IF 'NODES' OR IP/ARP BROADCAST MESSAGE - -NOWTRY_NODES: - - if (CompareCalls(Buffer->DEST, QSTCALL)) - { - Q_IP_MSG(Buffer); // IP BROADCAST - return; - } - - if (ADJBUFFER->PID != 0xCF) // NETROM MSG? - goto NOTFORUS; // NO - - if (CompareCalls(Buffer->DEST, NODECALL)) - { - if (Buffer->L2DATA[0] == 0xff) // Valid NODES Broadcast - { - PROCESSNODEMESSAGE(Buffer, PORT); - } - } - - ReleaseBuffer(Buffer); - return; - -NOTFORUS: - // - // MAY JUST BE A REPLY TO A 'PRIMED' CQ CALL - // - if ((CTL & ~PFBIT) == SABM) - if (CheckForListeningSession(PORT, Buffer)) - return; // Used buffer to send UA - - ReleaseBuffer(Buffer); - return; - -FORUS: - - // if a UI frame and UIHook Specified, call it - - if (PORT->UIHook && CTL == 3) - PORT->UIHook(LINK, PORT, Buffer, ADJBUFFER, CTL, MSGFLAG); - - L2FORUS(LINK, PORT, Buffer, ADJBUFFER, CTL, MSGFLAG); -} - - -VOID MHPROC(struct PORTCONTROL * PORT, MESSAGE * Buffer) -{ - PMHSTRUC MH = PORT->PORTMHEARD; - PMHSTRUC MHBASE = MH; - int i; - int OldCount = 0; - char Freq[64] = ""; - char DIGI = '*'; - double ReportFreq = 0; - - // if port has a freq associated with it use it - - GetPortFrequency(PORT->PORTNUMBER, Freq); - - // if (Buffer->ORIGIN[6] & 1) - DIGI = 0; // DOn't think we want to do this - - // See if in list - - for (i = 0; i < MHENTRIES; i++) - { - if ((MH->MHCALL[0] == 0) || (CompareCalls(Buffer->ORIGIN, MH->MHCALL) && MH->MHDIGI == DIGI)) // Spare or our entry - { - OldCount = MH->MHCOUNT; - goto DoMove; - } - MH++; - } - - // TABLE FULL AND ENTRY NOT FOUND - MOVE DOWN ONE, AND ADD TO TOP - - i = MHENTRIES - 1; - - // Move others down and add at front -DoMove: - if (i != 0) // First - memmove(MHBASE + 1, MHBASE, i * sizeof(MHSTRUC)); - - memcpy (MHBASE->MHCALL, Buffer->ORIGIN, 7 * 9); // Save Digis - MHBASE->MHDIGI = DIGI; - MHBASE->MHTIME = time(NULL); - MHBASE->MHCOUNT = ++OldCount; - strcpy(MHBASE->MHFreq, Freq); - MHBASE->MHLocator[0] = 0; - - return; -} - - -int CountFramesQueuedOnSession(TRANSPORTENTRY * Session) -{ - // COUNT NUMBER OF FRAMES QUEUED ON A SESSION - - if (Session == 0) - return 0; - - if (Session->L4CIRCUITTYPE & BPQHOST) - { - return C_Q_COUNT(&Session->L4TX_Q); - } - - if (Session->L4CIRCUITTYPE & SESSION) - { - // L4 SESSION - GET NUMBER UNACKED, AND ADD NUMBER ON TX QUEUE - - int Count = C_Q_COUNT(&Session->L4TX_Q); - UCHAR Unacked = Session->TXSEQNO - Session->L4WS; - - return Count + Unacked; - } - - if (Session->L4CIRCUITTYPE & PACTOR) - { - // PACTOR Type - Frames are queued on the Port Entry - - struct PORTCONTROL * PORT = Session->L4TARGET.PORT; - EXTPORTDATA * EXT = (EXTPORTDATA *)PORT; - - int ret = EXT->FramesQueued; - - // Check L4 Queue as messages can stay there briefly - - ret += C_Q_COUNT(&Session->L4RX_Q); - - return ret + C_Q_COUNT(&PORT->PORTTX_Q); - } - - // L2 CIRCUIT - - { - int SessCount = C_Q_COUNT(&Session->L4TX_Q); - struct _LINKTABLE * LINK = Session->L4TARGET.LINK; - int L2 = COUNT_AT_L2(LINK); - - return SessCount + L2; - } -} - -int CHECKIFBUSYL2(TRANSPORTENTRY * Session) -{ - // RETURN TOP BIT OF AL SET IF SESSION PARTNER IS BUSY - - if (Session->L4CROSSLINK) // CONNECTED? - { - Session = Session->L4CROSSLINK; - - if (CountFramesQueuedOnSession(Session) > 10) - return L4BUSY;; - } - return 0; -} - -VOID L2FORUS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL, UCHAR MSGFLAG) -{ - // MESSAGE ADDRESSED TO OUR CALL OR ALIAS, BUT NOT FOR AN ACTIVE SESSION - - // LINK points to an empty link table entry - - struct ROUTE * ROUTE; - int CTLlessPF = CTL & ~PFBIT; - - PORT->L2FRAMESFORUS++; - - NO_CTEXT = 0; - - // ONLY SABM or UI ALLOWED IF NO SESSION - // Plus XID/TEST/SABME if V2.2 support enabled - - if (CTLlessPF == 3) // UI - { - // A UI ADDRESSED TO US - SHOULD ONLY BE FOR IP, or possibly addressed NODES - - switch(ADJBUFFER->PID) - { - case 0xcf: // Netrom - - if (Buffer->L2DATA[0] == 0xff) // NODES - PROCESSNODEMESSAGE(Buffer, PORT); - - break; - - case 0xcc: // TCP - case 0xcd: // ARP - case 0x08: // NOS FRAGMENTED AX25 TCP/IP - - Q_IP_MSG( Buffer); - return; - } - - ReleaseBuffer(Buffer); - return; - } - - if (PORT->PortUIONLY) // Port is for UI only - { - ReleaseBuffer(Buffer); - return; - } - - if (CTLlessPF == SABME) - { - // Although some say V2.2 requires SABME I don't agree! - - // Reject until we support Mod 128 - - L2SENDINVALIDCTRL(PORT, Buffer, ADJBUFFER, CTL); - return; - } - - if (CTLlessPF == SREJ) // Used to see if other end supports SREJ on 2.0 - { - // Send FRMR if dont support SREJ - // Send DM if we do - - if (SUPPORT2point2) - L2SENDRESP(PORT, Buffer, ADJBUFFER, DM); - else - L2SENDINVALIDCTRL(PORT, Buffer, ADJBUFFER, CTL); - - return; - } - - if (CTLlessPF == XID) - { - // Send FRMR if we only support V 2.0 - - if (SUPPORT2point2 == FALSE) - { - L2SENDINVALIDCTRL(PORT, Buffer, ADJBUFFER, CTL); - return; - } - // if Support 2.2 drop through - } - - if (CTLlessPF == TEST) - { - // I can't see amy harm in replying to TEST - - L2SENDRESP(PORT, Buffer, ADJBUFFER, TEST); - return; - } - - -// if (CTLlessPF != SABM && CTLlessPF != SABME) - if (CTLlessPF != SABM && CTLlessPF != XID) - { - if ((MSGFLAG & CMDBIT) && (CTL & PFBIT)) // Command with P? - L2SENDDM(PORT, Buffer, ADJBUFFER); - else - ReleaseBuffer(Buffer); // Ignore if not - - return; - } - - // Exclude and limit tests are done for XID and SABM - - if (NODE == 0 && BBS == 0) // Don't want any calls - { - ReleaseBuffer(Buffer); - return; - } - -#ifdef EXCLUDEBITS - - // CHECK ExcludeList - - if (CheckExcludeList(Buffer->ORIGIN) == 0) - { - ReleaseBuffer(Buffer); - return; - } -#endif - - // IF WE HAVE A PERMITTED CALLS LIST, SEE IF HE IS IN IT - - if (PORT->PERMITTEDCALLS) - { - UCHAR * ptr = PORT->PERMITTEDCALLS; - - while (TRUE) - { - if (memcmp(Buffer->ORIGIN, ptr, 6) == 0) // Ignore SSID - break; - - ptr += 7; - - if ((*ptr) == 0) // Not in list - { - ReleaseBuffer(Buffer); - return; - } - } - } - - // IF CALL REQUEST IS FROM A LOCKED NODE WITH QUALITY ZERO, IGNORE IT - - if (FindNeighbour(Buffer->ORIGIN, PORT->PORTNUMBER, &ROUTE)) - { - // From a known node - - NO_CTEXT = 1; - - if (ROUTE->NEIGHBOUR_FLAG == 1 && ROUTE->NEIGHBOUR_QUAL == 0) // Locked, qual 0 - { - ReleaseBuffer(Buffer); - return; - } - } - - // CHECK PORT CONNECT LIMITS - - if (PORT->USERS) - { - if (COUNTLINKS(PORT->PORTNUMBER) >= PORT->USERS) - { - L2SENDDM(PORT, Buffer, ADJBUFFER); - return; - } - } - - // if KISSHF, check if attached. If so, reject. If not, attach. - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - { - struct TNCINFO * TNC = PORT->TNC; - - if (TNC->PortRecord->ATTACHEDSESSIONS[0]) - { - L2SENDDM(PORT, Buffer, ADJBUFFER); - return; - } - } - - // OK to accept SABM or XID - - if (CTLlessPF == XID) - { - ProcessXIDCommand(LINK, PORT, Buffer, ADJBUFFER, CTL, MSGFLAG); - return; - } - - // Not XID, so must be SABM - - L2SABM(LINK, PORT, Buffer, ADJBUFFER, MSGFLAG); // Process the SABM -} - - -VOID ProcessXIDCommand(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL, UCHAR MSGFLAG) -{ - // I think it is fairly safe to accept XID as soon as we - // can process SREJ, but only accept Mod 8 and 256 Byte frames - - // I think the only way to run 2.2 Mod 8 is to preceed a - // SABM with XID, but others don't seem to agree! - - // Run through XID fields, changing any we don't like, - // then return an XID response - - // Decode and process XID - - UCHAR * ptr = &ADJBUFFER->PID; - UCHAR * ptr1, * ptr2; - UCHAR TEMPDIGI[57]; - int n; - - // Check Interlock - should we also check exclude etc?. No, checked in L2FORUS - - if (CheckKissInterlock(PORT, TRUE)) // Interlock with ARDOP/VARA etc - { - L2SENDDM(PORT, Buffer, ADJBUFFER); - return; - } - - if (*ptr++ == 0x82 && *ptr++ == 0x80) - { - int Type; - int Len; - unsigned int value; - int xidlen = *(ptr++) << 8; - xidlen += *ptr++; - - // XID is set of Type, Len, Value n-tuples - - while (xidlen > 0) - { - Type = *ptr++; - Len = *ptr++; - - value = 0; - xidlen -= (Len + 2); - - while (Len--) - { - value <<=8; - value += *ptr++; - } - switch(Type) - { - case 2: //Bin fields - - break; - - case 3: - - if ((value & OPMustHave) != OPMustHave) - goto BadXID; - - if ((value & OPMod8) == 0) - goto BadXID; - - if ((value & OPSREJMult) == 0) - goto BadXID; - - - // Reply Mod 8 SREJMULTI - - value = OPMustHave | OPSREJMult | OPMod8; - ptr -=3; - *ptr++ = value >> 16; - *ptr++ = value >> 8; - *ptr++ = value; - - - break; - - case 6: //RX Size - - break; - - case 8: //RX Window - - break; - } - } - - // Send back as XID response - - LINK->L2STATE = 1; // XID received - LINK->Ver2point2 = TRUE; // Must support 2.2 if sent XID - LINK->L2TIME = PORT->PORTT1; - - LINK->LINKPORT = PORT; - - // save calls so we can match up SABM when it comes - - memcpy(LINK->LINKCALL, Buffer->ORIGIN, 7); - LINK->LINKCALL[6] &= 0x1e; // Mask SSID - - memcpy(LINK->OURCALL, Buffer->DEST, 7); - - LINK->OURCALL[6] &= 0x1e; // Mask SSID - - memset(LINK->DIGIS, 0, 56); // CLEAR DIGI FIELD IN CASE RECONNECT - - if ((Buffer->ORIGIN[6] & 1) == 0) // End of Address - { - // THERE ARE DIGIS TO PROCESS - COPY TO WORK AREA reversed, THEN COPY BACK - - memset(TEMPDIGI, 0, 57); // CLEAR DIGI FIELD IN CASE RECONNECT - - ptr1 = &Buffer->ORIGIN[6]; // End of add - ptr2 = &TEMPDIGI[7 * 7]; // Last Temp Digi - - while((*ptr1 & 1) == 0) // End of address bit - { - ptr1++; - memcpy(ptr2, ptr1, 7); - ptr2[6] &= 0x1e; // Mask Repeated and Last bits - ptr2 -= 7; - ptr1 += 6; - } - - // LIST OF DIGI CALLS COMPLETE - COPY TO LINK CONTROL ENTRY - - n = PORT->PORTMAXDIGIS; - - ptr1 = ptr2 + 7; // First in TEMPDIGIS - ptr2 = &LINK->DIGIS[0]; - - while (*ptr1) - { - if (n == 0) - { - // Too many for us - - CLEAROUTLINK(LINK); - ReleaseBuffer(Buffer); - return; - } - - memcpy(ptr2, ptr1, 7); - ptr1 += 7; - ptr2 += 7; - n--; - } - } - - ADJBUFFER->CTL = CTL | PFBIT; - - // Buffer->LENGTH = (UCHAR *)ADJBUFFER - (UCHAR *)Buffer + MSGHDDRLEN + 15; // SET UP BYTE COUNT - - L2SWAPADDRESSES(Buffer); // SWAP ADDRESSES AND SET RESP BITS - - // We need to save APPLMASK and ALIASPTR so following SABM connects to application - - LINK->APPLMASK = APPLMASK; - LINK->ALIASPTR = ALIASPTR; - - PUT_ON_PORT_Q(PORT, Buffer); - return; - } -BadXID: - L2SENDINVALIDCTRL(PORT, Buffer, ADJBUFFER, CTL); - return; -} - - - -int COUNTLINKS(int Port) -{ - //COUNT LINKS ON PORT - - int i = MAXLINKS, n = 0; - struct _LINKTABLE * LINK = LINKS; - - while (i--) - { - if (LINK->LINKPORT && LINK->LINKPORT->PORTNUMBER == Port) - n++; - - LINK++; - } - - return n; -} - - -VOID L2LINKACTIVE(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL, UCHAR MSGFLAG) -{ - // MESSAGE ON AN ACTIVE LINK - - int CTLlessPF = CTL & ~PFBIT; - - PORT->L2FRAMESFORUS++; - - // ONLY SABM or UI ALLOWED IF NO SESSION - - if (CTLlessPF == 3) // UI - { - // A UI ADDRESSED TO US - SHOULD ONLY BE FOR IP, or possibly addressed NODES - - switch(ADJBUFFER->PID) - { - case 0xcf: // Netrom - - if (Buffer->L2DATA[0] == 0xff) // NODES - PROCESSNODEMESSAGE(Buffer, PORT); - - break; - - case 0xcc: // TCP - case 0xcd: // ARP - case 0x08: // NOS FRAGMENTED AX25 TCP/IP - - Q_IP_MSG( Buffer); - return; - } - - ReleaseBuffer(Buffer); - return; - } - - if (CTLlessPF == DISC) - { - InformPartner(LINK, NORMALCLOSE); // SEND DISC TO OTHER END - CLEAROUTLINK(LINK); - L2SENDUA(PORT, Buffer, ADJBUFFER); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - DetachKISSHF(PORT); - - return; - } - - - if (LINK->L2STATE == 1) - { - // XID State. Should be XID response if 2.2 ok or DM/FRMR if not - - if (MSGFLAG & RESP) - { - if (CTLlessPF == DM || CTLlessPF == FRMR) - { - // Doesn't support XID - Send SABM - - LINK->L2STATE = 2; - LINK->Ver2point2 = FALSE; - LINK->L2TIMER = 1; // USe retry to send SABM - } - else if (CTLlessPF == XID) - { - // Process response to make sure ok, Send SABM or DISC - - LINK->L2STATE = 2; - LINK->Ver2point2 = TRUE;// Must support 2.2 if responded to XID - LINK->L2TIMER = 1; // USe retry to send SABM - } - - ReleaseBuffer(Buffer); - return; - } - - // Command on existing session. Could be due to other end missing - // the XID response, so if XID just resend response - - } - - if (CTLlessPF == XID && (MSGFLAG & CMDBIT)) - { - // XID Command on active session. Other end may be restarting. Send Response - - ProcessXIDCommand(LINK, PORT, Buffer, ADJBUFFER, CTL, MSGFLAG); - return; - } - - - if (CTLlessPF == SABM) - { - // SABM ON EXISTING SESSION - IF DISCONNECTING, REJECT - - if (LINK->L2STATE == 1) // Sent XID? - { - APPLMASK = LINK->APPLMASK; - ALIASPTR = LINK->ALIASPTR; - - L2SABM(LINK, PORT, Buffer, ADJBUFFER, MSGFLAG); // Process the SABM - return; - } - - if (LINK->L2STATE == 4) // DISCONNECTING? - { - L2SENDDM(PORT, Buffer, ADJBUFFER); - return; - } - - // THIS IS A SABM ON AN EXISTING SESSION - - // THERE ARE SEVERAL POSSIBILITIES: - - // 1. RECONNECT COMMAND TO TNC - // 2. OTHER END THINKS LINK HAS DIED - // 3. RECOVERY FROM FRMR CONDITION - // 4. REPEAT OF ORIGINAL SABM COS OTHER END MISSED UA - - // FOR 1-3 IT IS REASONABLE TO FULLY RESET THE CIRCUIT, BUT IN 4 - // SUCH ACTION WILL LOSE THE INITIAL SIGNON MSG IF CONNECTING TO A - // BBS. THE PROBLEM IS TELLING THE DIFFERENCE. I'M GOING TO SET A FLAG - // WHEN FIRST INFO RECEIVED - IF SABM REPEATED BEFORE THIS, I'LL ASSUME - // CONDITION 4, AND JUST RESEND THE UA - - - if (LINK->SESSACTIVE == 0) // RESET OF ACTIVE CIRCUIT? - { - L2SENDUA(PORT, Buffer, ADJBUFFER); // No, so repeat UA - return; - } - - InformPartner(LINK, NORMALCLOSE); // SEND DISC TO OTHER END - LINK->CIRCUITPOINTER = 0; - - L2SABM(LINK, PORT, Buffer, ADJBUFFER, MSGFLAG); // Process the SABM - return; - } - - L2_PROCESS(LINK, PORT, Buffer, CTL, MSGFLAG); -} - - -VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR MSGFLAG) -{ - // SET UP NEW SESSION (OR RESET EXISTING ONE) - - TRANSPORTENTRY * Session; - int CONERROR; - - char toCall[12], fromCall[12]; - - - if (LINK == 0) // NO LINK ENTRIES - SEND DM RESPONSE - { - L2SENDDM(PORT, Buffer, ADJBUFFER); - return; - } - - if (CheckKissInterlock(PORT, TRUE)) // Interlock with ARDOP/VARA etc - { - L2SENDDM(PORT, Buffer, ADJBUFFER); - return; - } - - SETUPNEWL2SESSION(LINK, PORT, Buffer, MSGFLAG); - - if (LINK->L2STATE != 5) // Setup OK? - { - L2SENDDM(PORT, Buffer, ADJBUFFER); // Failed - return; - } - - // See if need to Interlock non-sharable modes, eg ARDOP and VARA - - seeifInterlockneeded(PORT); - - toCall[ConvFromAX25(ADJBUFFER->DEST, toCall)] = 0; - fromCall[ConvFromAX25(ADJBUFFER->ORIGIN, fromCall)] = 0; - - - // IF CONNECT TO APPL ADDRESS, SET UP APPL SESSION - - if (APPLMASK == 0) - { - // Not ATTACH TO APPL - - // Send CTEXT if connect to NODE/Port Alias, or NODE/Port Call, and FULL_CTEXT set - // Dont sent to known NODEs, or appl connects - - struct DATAMESSAGE * Msg; - int Totallen = 0; - int Paclen= PORT->PORTPACLEN; - UCHAR * ptr; - - if (LogAllConnects) - { - char toCall[12], fromCall[12]; - toCall[ConvFromAX25(ADJBUFFER->DEST, toCall)] = 0; - fromCall[ConvFromAX25(ADJBUFFER->ORIGIN, fromCall)] = 0; - WriteConnectLog(fromCall, toCall, "AX.25"); - } - - hookL2SessionAccepted(PORT->PORTNUMBER, fromCall, toCall, LINK); - - L2SENDUA(PORT, Buffer, ADJBUFFER); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - AttachKISSHF(PORT, Buffer); - - if (NO_CTEXT == 1) - return; - - if (FULL_CTEXT == 0 && !ALIASMSG) // Any connect, or call to alias - return; - - // if Port CTEXT defined, use it - - if (PORT->CTEXT) - { - Totallen = strlen(PORT->CTEXT); - ptr = PORT->CTEXT; - } - else if (CTEXTLEN) - { - Totallen = CTEXTLEN; - ptr = CTEXTMSG; - } - else - return; - - if (Paclen == 0) - Paclen = PACLEN; - - while(Totallen) - { - Msg = GetBuff(); - - if (Msg == NULL) - break; // No Buffers - - Msg->PID = 0xf0; - - if (Paclen > Totallen) - Paclen = Totallen; - - memcpy(Msg->L2DATA, ptr, Paclen); - Msg->LENGTH = Paclen + MSGHDDRLEN + 1; - - C_Q_ADD(&LINK->TX_Q, Msg); - - ptr += Paclen; - Totallen -= Paclen; - } - return; - } - - - // Connnect to APPL - - if (LINK->LINKTYPE != 1) - { - L2SENDUA(PORT, Buffer, ADJBUFFER); // RESET OF DOWN/CROSSLINK - return; - } - - if (LINK->CIRCUITPOINTER) - { - L2SENDUA(PORT, Buffer, ADJBUFFER); // ALREADY SET UP - MUST BE REPEAT OF SABM OR LINK RESET - return; - } - - // IF RUNNING ONLY BBS (NODE=0), THIS MAY BE EITHER A USER OR NODE - // TRYING TO SET UP A L4 CIRCUIT - WE DONT WANT TO ATTACH A NODE TO - // THE BBS! - - if (NODE == 0) - { - // NOW THINGS GET DIFICULT - WE MUST EITHER WAIT TO SEE IF A PID CF MSG - // ARRIVES, OR ASSUME ALL NODES ARE IN NEIGHBOURS - I'LL TRY THE LATTER - // AND SEE HOW IT GOES. tHIS MEANS THAT YOU MUST DEFINE ALL ROUTES - // IN CONFIG FILE - - struct ROUTE * ROUTE; - - if (FindNeighbour(Buffer->ORIGIN, PORT->PORTNUMBER, &ROUTE)) - { - // It's a node - - L2SENDUA(PORT, Buffer, ADJBUFFER); // ALREADY SET UP - MUST BE REPEAT OF SABM OR LINK RESET - return; - } - } - - - Session = SetupSessionForL2(LINK); // CREATE INCOMING L4 SESSION - - if (Session == NULL) - { - CLEAROUTLINK(LINK); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - DetachKISSHF(PORT); - L2SENDDM(PORT, Buffer, ADJBUFFER); - - return; - } - - // NOW TRY A BBS CONNECT - // IF APPL CONNECT, SEE IF APPL HAS AN ALIAS - - if (ALIASPTR[0] > ' ') - { - struct DATAMESSAGE * Msg; - - // ACCEPT THE CONNECT, THEN INVOKE THE ALIAS - - L2SENDUA(PORT, Buffer, ADJBUFFER); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - { - struct DATAMESSAGE * Msg; - int Totallen = 0; - int Paclen= PORT->PORTPACLEN; - UCHAR * ptr; - - AttachKISSHF(PORT, Buffer); - - // if Port CTEXT defined, use it - - if (PORT->CTEXT) - { - Totallen = strlen(PORT->CTEXT); - ptr = PORT->CTEXT; - } - else if (HFCTEXTLEN) - { - Totallen = HFCTEXTLEN; - ptr = HFCTEXT; - } - - if (Paclen == 0) - Paclen = PACLEN; - - while(Totallen) - { - Msg = GetBuff(); - - if (Msg == NULL) - break; // No Buffers - - Msg->PID = 0xf0; - - if (Paclen > Totallen) - Paclen = Totallen; - - memcpy(Msg->L2DATA, ptr, Paclen); - Msg->LENGTH = Paclen + MSGHDDRLEN + 1; - - C_Q_ADD(&LINK->TX_Q, Msg); - - ptr += Paclen; - Totallen -= Paclen; - } - - } - - if (LogAllConnects) - { - char toCall[12], fromCall[12]; - toCall[ConvFromAX25(ADJBUFFER->DEST, toCall)] = 0; - fromCall[ConvFromAX25(ADJBUFFER->ORIGIN, fromCall)] = 0; - WriteConnectLog(fromCall, toCall, "AX.25"); - } - - Msg = GetBuff(); - - if (Msg) - { - Msg->PID = 0xf0; - - memcpy(Msg->L2DATA, ALIASPTR, 12); - Msg->L2DATA[12] = 13; - - Msg->LENGTH = MSGHDDRLEN + 12 + 2; // 2 for PID and CR - - C_Q_ADD(&LINK->RX_Q, Msg); - } - - return; - } - - if (cATTACHTOBBS(Session, APPLMASK, PORT->PORTPACLEN, &CONERROR) == 0) - { - // NO BBS AVAILABLE - - CLEARSESSIONENTRY(Session); - CLEAROUTLINK(LINK); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - DetachKISSHF(PORT); - - L2SENDDM(PORT, Buffer, ADJBUFFER); - - return; - } - - if (LogAllConnects) - { - char toCall[12], fromCall[12]; - toCall[ConvFromAX25(ADJBUFFER->DEST, toCall)] = 0; - fromCall[ConvFromAX25(ADJBUFFER->ORIGIN, fromCall)] = 0; - WriteConnectLog(fromCall, toCall, "AX.25"); - } - - L2SENDUA(PORT, Buffer, ADJBUFFER); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - { - struct DATAMESSAGE * Msg; - int Totallen = 0; - int Paclen= PORT->PORTPACLEN; - UCHAR * ptr; - - AttachKISSHF(PORT, Buffer); - - // if Port CTEXT defined, use it - - if (PORT->CTEXT) - { - Totallen = strlen(PORT->CTEXT); - ptr = PORT->CTEXT; - } - else if (HFCTEXTLEN) - { - Totallen = HFCTEXTLEN; - ptr = HFCTEXT; - } - else - return; - - if (Paclen == 0) - Paclen = PACLEN; - - while(Totallen) - { - Msg = GetBuff(); - - if (Msg == NULL) - break; // No Buffers - - Msg->PID = 0xf0; - - if (Paclen > Totallen) - Paclen = Totallen; - - memcpy(Msg->L2DATA, ptr, Paclen); - Msg->LENGTH = Paclen + MSGHDDRLEN + 1; - - C_Q_ADD(&LINK->TX_Q, Msg); - - ptr += Paclen; - Totallen -= Paclen; - } - return; - } -} - -VOID SETUPNEWL2SESSION(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR MSGFLAG) -{ - // COPY ADDRESS INFO TO LINK TABLE - - UCHAR * ptr1, * ptr2; - UCHAR TEMPDIGI[57]; - int n; - - memcpy(LINK->LINKCALL, Buffer->ORIGIN, 7); - LINK->LINKCALL[6] &= 0x1e; // Mask SSID - - memcpy(LINK->OURCALL, Buffer->DEST, 7); - LINK->OURCALL[6] &= 0x1e; // Mask SSID - - memset(LINK->DIGIS, 0, 56); // CLEAR DIGI FIELD IN CASE RECONNECT - - LINK->L2TIME = PORT->PORTT1; // Set tomeoiut for no digis - - if ((Buffer->ORIGIN[6] & 1) == 0) // End of Address - { - // THERE ARE DIGIS TO PROCESS - COPY TO WORK AREA reversed, THEN COPY BACK - - memset(TEMPDIGI, 0, 57); // CLEAR DIGI FIELD IN CASE RECONNECT - - ptr1 = &Buffer->ORIGIN[6]; // End of add - ptr2 = &TEMPDIGI[7 * 7]; // Last Temp Digi - - while((*ptr1 & 1) == 0) // End of address bit - { - ptr1++; - memcpy(ptr2, ptr1, 7); - ptr2[6] &= 0x1e; // Mask Repeated and Last bits - ptr2 -= 7; - ptr1 += 6; - } - - // LIST OF DIGI CALLS COMPLETE - COPY TO LINK CONTROL ENTRY - - n = PORT->PORTMAXDIGIS; - - ptr1 = ptr2 + 7; // First in TEMPDIGIS - ptr2 = &LINK->DIGIS[0]; - - while (*ptr1) - { - if (n == 0) - { - // Too many for us - - CLEAROUTLINK(LINK); - return; - } - - memcpy(ptr2, ptr1, 7); - ptr1 += 7; - ptr2 += 7; - n--; - - LINK->L2TIME += PORT->PORTT1; // Adjust timeout for digis - } - } - - // THIS MAY BE RESETTING A LINK - BEWARE OF CONVERTING A CROSSLINK TO - // AN UPLINK AND CONFUSING EVERYTHING - - LINK->LINKPORT = PORT; - - if (LINK->LINKTYPE == 0) - { - if (ISNETROMMSG && NODE == 0) // Only allow crosslink if node = 0 - LINK->LINKTYPE = 3; // Crosslink - else - LINK->LINKTYPE = 1; // Uplink - } - LINK->L2TIMER = 0; // CANCEL TIMER - - LINK->L2SLOTIM = T3; // SET FRAME SENT RECENTLY - - LINK->LINKWINDOW = PORT->PORTWINDOW; - - RESET2(LINK); // RESET ALL FLAGS - - LINK->L2STATE = 5; - - // IF VERSION 1 MSG, SET FLAG - - if (MSGFLAG & VER1) - LINK->VER1FLAG |= 1; - -} - -VOID L2SENDUA(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER) -{ - L2SENDRESP(PORT, Buffer, ADJBUFFER, UA); -} - -VOID L2SENDDM(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER) -{ - if (CheckExcludeList(Buffer->ORIGIN) == 0) // if in exclude, don't send DM - { - ReleaseBuffer(Buffer); // not sure that this is the right place for releasing? - return; - } - - L2SENDRESP(PORT, Buffer, ADJBUFFER, DM); -} - -VOID L2SENDRESP(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL) -{ - // QUEUE RESPONSE TO PORT CONTROL - MAY NOT HAVE A LINK ENTRY - - // SET APPROPRIATE P/F BIT - - ADJBUFFER->CTL = CTL | PFBIT; - - Buffer->LENGTH = (int)((UCHAR *)ADJBUFFER - (UCHAR *)Buffer) + MSGHDDRLEN + 15; // SET UP BYTE COUNT - - L2SWAPADDRESSES(Buffer); // SWAP ADDRESSES AND SET RESP BITS - - PUT_ON_PORT_Q(PORT, Buffer); - - return; -} - - -VOID L2SENDINVALIDCTRL(struct PORTCONTROL * PORT, MESSAGE * Buffer, MESSAGE * ADJBUFFER, UCHAR CTL) -{ - // Send FRMR Invalid Control field - - // QUEUE RESPONSE TO PORT CONTROL - MAY NOT HAVE A LINK ENTRY - - // SET APPROPRIATE P/F BIT - - UCHAR * ptr; - - ADJBUFFER->CTL = FRMR | PFBIT; - - ptr = &ADJBUFFER->PID; - - *(ptr++) = CTL; // MOVE REJECT C-BYTE - *(ptr++) = 0; - *(ptr++) = SDINVC; // MOVE REJECT FLAGS - - Buffer->LENGTH = (int)((UCHAR *)ADJBUFFER - (UCHAR *)Buffer) + MSGHDDRLEN + 18; // SET UP BYTE COUNT - - L2SWAPADDRESSES(Buffer); // SWAP ADDRESSES AND SET RESP BITS - - PUT_ON_PORT_Q(PORT, Buffer); - - return; -} - -VOID L2SWAPADDRESSES(MESSAGE * Buffer) -{ - // EXCHANGE ORIGIN AND DEST, AND REVERSE DIGIS (IF PRESENT) - - char TEMPFIELD[7]; - UCHAR * ptr1, * ptr2; - UCHAR TEMPDIGI[57]; - - memcpy(TEMPFIELD, Buffer->ORIGIN, 7); - memcpy(Buffer->ORIGIN, Buffer->DEST, 7); - memcpy(Buffer->DEST, TEMPFIELD, 7); - - Buffer->ORIGIN[6] &= 0x1e; // Mask SSID - Buffer->ORIGIN[6] |= 0xe0; // Reserved and Response - - Buffer->DEST[6] &= 0x1e; // Mask SSID - Buffer->DEST[6] |= 0x60; // Reserved - - if ((TEMPFIELD[6] & 1) == 0) - { - // THERE ARE DIGIS TO PROCESS - COPY TO WORK AREA reversed, THEN COPY BACK - - memset(TEMPDIGI, 0, 57); // CLEAR DIGI FIELD IN CASE RECONNECT - - ptr1 = &Buffer->ORIGIN[6]; // End of add - ptr2 = &TEMPDIGI[7 * 7]; // Last Temp Digi - - while((*ptr1 & 1) == 0) // End of address bit - { - ptr1++; - memcpy(ptr2, ptr1, 7); - ptr2[6] &= 0x1e; // Mask Repeated and Last bits - ptr2 -= 7; - ptr1 += 6; - } - - // LIST OF DIGI CALLS COMPLETE - copy back - - ptr1 = ptr2 + 7; // First in TEMPDIGIS - ptr2 = &Buffer->CTL; - - while (*ptr1) - { - memcpy(ptr2, ptr1, 7); - ptr1 += 7; - ptr2 += 7; - } - - *(ptr2 - 1) |= 1; // End of addresses - } - else - { - Buffer->ORIGIN[6] |= 1; // End of address - } -} - -BOOL InternalL2SETUPCROSSLINK(PROUTE ROUTE, int Retries) -{ - // ROUTE POINTS TO A NEIGHBOUR - FIND AN L2 SESSION FROM US TO IT, OR INITIATE A NEW ONE - - struct _LINKTABLE * LINK; - struct PORTCONTROL * PORT; - int FRACK; - - if (FindLink(ROUTE->NEIGHBOUR_CALL, NETROMCALL, ROUTE->NEIGHBOUR_PORT, &LINK)) - { - // SESSION ALREADY EXISTS - - LINK->LINKTYPE = 3; // MAKE SURE IT KNOWS ITS A CROSSLINK - ROUTE->NEIGHBOUR_LINK = LINK; - LINK->NEIGHBOUR = ROUTE; - - return TRUE; - } - - // SET UP NEW SESSION (OR RESET EXISTING ONE) - - if (LINK == NULL) - return FALSE; // No free links - - - ROUTE->NEIGHBOUR_LINK = LINK; - LINK->NEIGHBOUR = ROUTE; - - LINK->LINKPORT = PORT = GetPortTableEntryFromPortNum(ROUTE->NEIGHBOUR_PORT); - - if (PORT == NULL) - return FALSE; // maybe port has been deleted - - // IF ROUTE HAS A FRACK, SET IT - - if (ROUTE->NBOUR_FRACK) - FRACK = ROUTE->NBOUR_FRACK; - else - FRACK = PORT->PORTT1; - - LINK->L2TIME = FRACK; // SET TIMER VALUE - - // IF ROUTE HAS A WINDOW, SET IT - - if (ROUTE->NBOUR_MAXFRAME) - LINK->LINKWINDOW = ROUTE->NBOUR_MAXFRAME; - else - LINK->LINKWINDOW = PORT->PORTWINDOW; - -// if (SUPPORT2point2) -// LINK->L2STATE = 1; // Send XID -// else - LINK->L2STATE = 2; - - memcpy(LINK->LINKCALL, ROUTE->NEIGHBOUR_CALL, 7); - memcpy(LINK->OURCALL, NETROMCALL, 7); - - if (ROUTE->NEIGHBOUR_DIGI1[0]) - { - memcpy(LINK->DIGIS, ROUTE->NEIGHBOUR_DIGI1, 7); - LINK->L2TIME += FRACK; - } - - if (ROUTE->NEIGHBOUR_DIGI2[0]) - { - memcpy(&LINK->DIGIS[7], ROUTE->NEIGHBOUR_DIGI1, 7); - LINK->L2TIME += FRACK; - } - - LINK->LINKTYPE = 3; // CROSSLINK - - if (Retries) - LINK->L2RETRIES = PORT->PORTN2 - Retries; - - if (LINK->L2STATE == 1) - L2SENDXID(LINK); - else - SENDSABM(LINK); - - return TRUE; -} - - - -BOOL L2SETUPCROSSLINKEX(PROUTE ROUTE, int Retries) -{ - // Allows caller to specify number of times SABM should be sent - - return InternalL2SETUPCROSSLINK(ROUTE, Retries); -} - -BOOL L2SETUPCROSSLINK(PROUTE ROUTE) -{ - return InternalL2SETUPCROSSLINK(ROUTE, 0); -} - -VOID L2_PROCESS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR CTL, UCHAR MSGFLAG) -{ - // PROCESS LEVEL 2 PROTOCOL STUFF - - // SEE IF COMMAND OR RESPONSE - - if ((MSGFLAG & CMDBIT) == 0) - { - - // RESPONSE OR VERSION 1 - - // IF RETRYING, MUST ONLY ACCEPT RESPONSES WITH F SET (UNLESS RUNNING V1) - - if ((CTL & PFBIT) || LINK->VER1FLAG == 1) - { - // F SET or V1 - CAN CANCEL TIMER - - LINK->L2TIMER = 0; // CANCEL LINK TIMER - } - } - - if (LINK->L2STATE == 3) - { - - // FRMR STATE - IF C(P) SEND FRMR, ELSE IGNORE - - if (CTL & PFBIT) - { - if (CTL == (FRMR | PFBIT)) // if both ends in FRMR state, reset link - { - RESET2(LINK); - - LINK->L2STATE = 2; // INITIALISING - LINK->L2ACKREQ = 0; // DONT SEND ANYTHING ELSE - LINK->L2RETRIES = 0; // ALLOW FULL RETRY COUNT FOR SABM - - L2SENDCOMMAND(LINK, SABM | PFBIT); - } - } - - if (MSGFLAG & CMDBIT) - { - // SEND FRMR AGAIN - - SENDFRMR(LINK); - } - - ReleaseBuffer(Buffer); - return; - } - - if (LINK->L2STATE >= 5) - { - // LINK IN STATE 5 OR ABOVE - LINK RUNNING - - if ((CTL & 1) == 0) // I frame - { - SDIFRM(LINK, PORT, Buffer, CTL, MSGFLAG); // consumes buffer - return; - } - - if ((CTL & 2)) // U frame - { - SDUFRM(LINK, PORT, Buffer, CTL); //consumes buffer - return; - } - - // ELSE SUPERVISORY, MASK OFF N(R) AND P-BIT - - switch (CTL & 0x0f) - { - // is there any harm in accepting SREJ even if we don't - // otherwise support 2.2? - - case REJ: - case SREJ: - - PORT->L2REJCOUNT++; - - case RR: - case RNR: - - SFRAME(LINK, PORT, CTL, MSGFLAG); - break; - - default: - - // UNRECOGNISABLE COMMAND - - LINK->SDRBYTE = CTL; // SAVE FOR FRMR RESPONSE - LINK->SDREJF |= SDINVC; // SET INVALID COMMAND REJECT - SDFRMR(LINK, PORT); // PROCESS FRAME REJECT CONDITION - } - - ReleaseBuffer(Buffer); - return; - } - - // NORMAL DISCONNECT MODE - - // COULD BE UA, DM - SABM AND DISC HANDLED ABOVE - - switch (CTL & ~PFBIT) - { - case UA: - - // UA RECEIVED - - if (LINK->L2STATE == 2) - { - // RESPONSE TO SABM - SET LINK UP - - RESET2X(LINK); // LEAVE QUEUED STUFF - - LINK->L2STATE = 5; - LINK->L2TIMER = 0; // CANCEL TIMER - LINK->L2RETRIES = 0; - LINK->L2SLOTIM, T3; // SET FRAME SENT RECENTLY - - // IF VERSION 1 MSG, SET FLAG - - if (MSGFLAG & VER1) - LINK->VER1FLAG |= 1; - - // TELL PARTNER CONNECTION IS ESTABLISHED - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - KISSHFConnected(PORT, LINK); - - SENDCONNECTREPLY(LINK); - ReleaseBuffer(Buffer); - return; - } - - if (LINK->L2STATE == 4) // DISCONNECTING? - { - InformPartner(LINK, NORMALCLOSE); // SEND DISC TO OTHER END - CLEAROUTLINK(LINK); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - DetachKISSHF(PORT); - } - - // UA, BUT NOT IN STATE 2 OR 4 - IGNORE - - ReleaseBuffer(Buffer); - return; - - case DM: - - // DM RESPONSE - IF TO SABM, SEND BUSY MSG - - if (LINK->L2STATE == 2) - { - CONNECTREFUSED(LINK); // SEND MESSAGE IF DOWNLINK - return; - } - - // DM RESP TO DISC RECEIVED - OTHER END HAS LOST SESSION - - // CLEAR OUT TABLE ENTRY - IF INTERNAL TNC, SHOULD SEND *** DISCONNECTED - - InformPartner(LINK, LINKLOST); // SEND DISC TO OTHER END - CLEAROUTLINK(LINK); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - DetachKISSHF(PORT); - - ReleaseBuffer(Buffer); - return; - - case FRMR: - - // FRAME REJECT RECEIVED - LOG IT AND RESET LINK - - RESET2(LINK); - - LINK->L2STATE = 2; // INITIALISING - LINK->L2ACKREQ = 0; // DONT SEND ANYTHING ELSE - LINK->L2RETRIES = 0; // ALLOW FULL RETRY COUNT FOR SABM - - PORT->L2FRMRRX++; - - L2SENDCOMMAND(LINK, SABM | PFBIT); - return; - - default: - - // ANY OTHER - IGNORE - - ReleaseBuffer(Buffer); - } -} - -VOID SDUFRM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR CTL) -{ - // PROCESS AN UNSEQUENCED COMMAND (IN LINK UP STATES) - - switch (CTL & ~PFBIT) - { - case UA: - - // DISCARD - PROBABLY REPEAT OF ACK OF SABM - - break; - - case FRMR: - - // FRAME REJECT RECEIVED - LOG IT AND RESET LINK - - RESET2(LINK); - - LINK->L2STATE = 2; // INITIALISING - LINK->L2ACKREQ = 0; // DONT SEND ANYTHING ELSE - LINK->L2RETRIES = 0; // ALLOW FULL RETRY COUNT FOR SABM - - PORT->L2FRMRRX++; - - L2SENDCOMMAND(LINK, SABM | PFBIT); - break; - - case DM: - - // DM RESPONSE - SESSION MUST HAVE GONE - - // SEE IF CROSSLINK ACTIVE - - InformPartner(LINK, LINKLOST); // SEND DISC TO OTHER END - CLEAROUTLINK(LINK); - - if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF) - DetachKISSHF(PORT); - - break; - - default: - - // UNDEFINED COMMAND - - LINK->SDRBYTE = CTL; // SAVE FOR FRMR RESPONSE - LINK->SDREJF |= SDINVC; - SDFRMR(LINK, PORT); // PROCESS FRAME REJECT CONDITION - - } - - ReleaseBuffer(Buffer); -} - - -VOID SFRAME(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, UCHAR CTL, UCHAR MSGFLAG) -{ - // CHECK COUNTS, AND IF RNR INDICATE _BUFFER SHORTAGE AT OTHER END - - if (LINK->SDREJF) // ARE ANY REJECT FLAGS SET? - { - SDFRMR(LINK, PORT); // PROCESS FRAME REJECT CONDITION - return; - } - - SDNRCHK(LINK, CTL); // CHECK RECEIVED N(R) - - if (LINK->SDREJF) // ARE ANY REJECT FLAGS SET NOW? - { - SDFRMR(LINK, PORT); // PROCESS FRAME REJECT CONDITION - return; - } - - if ((CTL & 0xf) == SREJ) - { - // Probably safer to handle SREJ completely separately - - // Can we get SREJ Command with P??(Yes) - - // Can we just resend missing frame ?? (Think so!) - - // We support MultiSREJ (can gave additional missing frame - // numbers in the Info field - - // I don't see the point of Multi unless we wait fot an F bit, - // bur maybe not safe to assume others do the same - - // So if I get SREJ(F) I can send missing frame(s) - - if (MSGFLAG & RESP) - { - // SREJ Response - - if (CTL & PFBIT) - { - // SREJ(F). Send Frames() - - UCHAR NS = (CTL >> 5) & 7; // Frame to resend - - struct PORTCONTROL * PORT; - UCHAR * ptr1, * ptr2; - UCHAR CTL; - int count; - MESSAGE * Msg; - MESSAGE * Buffer; - - Msg = LINK->FRAMES[NS]; // is frame available? - - if (Msg == NULL) - return; // Wot!! - - // send the frame - - // GET BUFFER FOR COPY OF MESSAGE - HAVE TO KEEP ORIGINAL FOR RETRIES - - Buffer = GetBuff(); - - if (Buffer == NULL) - return; - - ptr2 = SETUPADDRESSES(LINK, Buffer); // copy addresses - - // ptr2 NOW POINTS TO COMMAND BYTE - - // GOING TO SEND I FRAME - WILL ACK ANY RECEIVED FRAMES - - LINK->L2ACKREQ = 0; // CLEAR ACK NEEDED - LINK->L2SLOTIM = T3 + rand() % 15; // SET FRAME SENT RECENTLY - LINK->KILLTIMER = 0; // RESET IDLE CIRCUIT TIMER - - CTL = LINK->LINKNR << 5; // GET CURRENT N(R), SHIFT IT TO TOP 3 BITS - CTL |= NS << 1; // BITS 1-3 OF CONTROL BYTE - - // SET P BIT IF NO MORE TO SEND (only more if Multi SREJ) - - if (LINK->VER1FLAG == 0) // NO POLL BIT IF V1 - { - CTL |= PFBIT; - LINK->L2FLAGS |= POLLSENT; - LINK->L2TIMER = ONEMINUTE; // (RE)SET TIMER - - // FLAG BUFFER TO CAUSE TIMER TO BE RESET AFTER SEND (or ACK if ACKMODE) - - Buffer->Linkptr = LINK; - } - - *(ptr2++) = CTL; // TO DATA (STARTING WITH PID) - - count = Msg->LENGTH - MSGHDDRLEN; - - if (count > 0) // SHOULD ALWAYS BE A PID, BUT BETTER SAFE THAN SORRY - { - ptr1 = (UCHAR *)Msg; - ptr1 += MSGHDDRLEN; - memcpy(ptr2, ptr1, count); - } - - Buffer->DEST[6] |= 0x80; // SET COMMAND - - Buffer->LENGTH = (int)(ptr2 - (UCHAR *)Buffer) + count; // SET NEW LENGTH - - LINK->L2TIMER = ONEMINUTE; // (RE)SET TIMER - - PORT = LINK->LINKPORT; - - if (PORT) - { - Buffer->PORT = PORT->PORTNUMBER; - PUT_ON_PORT_Q(PORT, Buffer); - } - else - { - Buffer->Linkptr = 0; - ReleaseBuffer(Buffer); - } - } - } - - return; - } - - // VALID RR/RNR RECEIVED - - LINK->L2FLAGS &= ~RNRSET; //CLEAR RNR - - if ((CTL & 0xf) == RNR) - LINK->L2FLAGS |= RNRSET; //Set RNR - - if (MSGFLAG & CMDBIT) - { - // ALWAYS REPLY TO RR/RNR/REJ COMMAND (even if no P bit ??) - - // FIRST PROCESS RESEQ QUEUE - - //; CALL PROCESS_RESEQ - - // IGNORE IF AN 'F' HAS BEEN SENT RECENTLY - - if (LINK->LAST_F_TIME + 15 > REALTIMETICKS) - return; // DISCARD - - CTL = RR_OR_RNR(LINK); - - CTL |= LINK->LINKNR << 5; // SHIFT N(R) TO TOP 3 BITS - CTL |= PFBIT; - - L2SENDRESPONSE(LINK, CTL); - - LINK->L2SLOTIM = T3 + rand() % 15; // SET FRAME SENT RECENTLY - - LINK->L2ACKREQ = 0; // CANCEL DELAYED ACKL2 - - // SAVE TIME IF 'F' SENT' - - LINK->LAST_F_TIME = REALTIMETICKS; - - return; - } - - // Response - - if ((CTL & PFBIT) == 0 && LINK->VER1FLAG == 0) - { - // RESPONSE WITHOUT P/F DONT RESET N(S) (UNLESS V1) - - return; - - } - - // RESPONSE WITH P/F - MUST BE REPLY TO POLL FOLLOWING TIMEOUT OR I(P) - - // THERE IS A PROBLEM WITH REPEATED RR(F), SAY CAUSED BY DELAY AT L1 - - // AS FAR AS I CAN SEE, WE SHOULD ONLY RESET N(S) IF AN RR(F) FOLLOWS - // AN RR(P) AFTER A TIMEOUT - AN RR(F) FOLLOWING AN I(P) CANT POSSIBLY - // INDICATE A LOST FRAME. ON THE OTHER HAND, A REJ(F) MUST INDICATE - // A LOST FRAME. So dont reset NS if not retrying, unless REJ - - - // someone (probably WLE KISS Driver) is sending REJ followed by RR(F) - // after lost frame and i(p) - -/* -1:Fm W4DHW-10 To W4DHW [17:08:03R] [+++] -úJƒÑZKÀ)x@DÖBÉrNôÝ4XÔ;i‹#CäM³,ïнҼüÕrÞùOË N¿XæâïÀÄ5Ð(È|©¸ì#íÿÈUþïÒcYÞÍl—çûž)Àú璘oÑȼö>©Ï9¨*ÎG²£ëðû(6À5C‹!áL±Ÿîßì÷³ÙQð»pƒËIH”Š;ØÚi¯Ò>â9p¶B¬õ<ÌcŠEPž«<ŸÊ{0aŽ(’­YÕ–´M¢†—N£+<ÇIÐ[–áÛPw–[^]6ƒ2\ù¿9äÆov{‹¥Å¸mm [17:08:03T] -1:Fm W4DHW To W4DHW-10 [17:08:03T] -1:Fm W4DHW To W4DHW-10 [17:08:03T] - - is there a problem with restting on RR(F) following I(P)? - - I think the problem is restting NS twice if you get delayed responses to - I or RR (P). So lets try only resetting NS once for each P sent - -*/ -// if ((CTL & 0xf) == REJ || LINK->L2RETRIES) - if ((LINK->L2FLAGS & POLLSENT)) - { - RESETNS(LINK, (CTL >> 5) & 7); // RESET N(S) AND COUNT RETRIED FRAMES - - LINK->L2RETRIES = 0; - LINK->L2TIMER = 0; // WILL RESTART TIMER WHEN RETRY SENT - } - - LINK->L2FLAGS &= ~POLLSENT; // CLEAR I(P) or RR(P) SET - - if ((CTL & 0xf) == RNR) - { - // Dont Clear timer on receipt of RNR(F), spec says should poll for clearing of busy, - // and loss of subsequent RR will cause hang. Perhaps should set slightly longer time?? - // Timer may have been cleared earlier, so restart it - - LINK->L2TIMER = LINK->L2TIME; - } -} - -//*** PROCESS AN INFORMATION FRAME - -VOID SDIFRM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR CTL, UCHAR MSGFLAG) -{ - int NS; - - if (LINK->SDREJF) // ARE ANY REJECT FLAGS SET? - { - SDFRMR(LINK, PORT); // PROCESS FRAME REJECT CONDITION - ReleaseBuffer(Buffer); - return; - } - - SDNRCHK(LINK, CTL); // CHECK RECEIVED N(R) - - if (LINK->SDREJF) // ARE ANY REJECT FLAGS SET NOW? - { - SDFRMR(LINK, PORT); // PROCESS FRAME REJECT CONDITION - ReleaseBuffer(Buffer); - return; - } - - LINK->SESSACTIVE = 1; // SESSION IS DEFINITELY SET UP - - NS = (CTL >> 1) & 7; // ISOLATE RECEIVED N(S) - - // IPOLL (sending an I(P) frame following timeout instead of RR(P)) - // is a problem. We need to send REJ(F), but shouldn't add to collector. - // We also need to handle repeated I(P), so shouldn't set REJSENT in - // this state. - - if ((((NS + 1) & 7) == LINK->LINKNR) && (CTL & PFBIT)) - { - // Previous Frame and P set - Assume IPOLL - - PORT->L2OUTOFSEQ++; - LINK->L2STATE = 6; - - LINK->L2ACKREQ = 0; // CANCEL RR NEEDED - - // We need to protect against sending multiple REJ(F) if channel - // delays mean we get two I(P) close together (how close is close ??) - // SM has default IPOLL limit of 30 bytes or about a second at 300 - // ACKMODE should avoid this anyway, and resptime of under 3 secs - // is unlikely so say 2.5 secs ?? - - if (LINK->LAST_F_TIME + 25 > REALTIMETICKS) - { - ReleaseBuffer(Buffer); - return; - } - - SEND_RR_RESP(LINK, PFBIT); - LINK->LAST_F_TIME = REALTIMETICKS; - - ReleaseBuffer(Buffer); - return; - } - -CheckNSLoop: - - if (NS != LINK->LINKNR) // EQUAL TO OUR N(R)? - { - // There is a frame missing. - // if we have just sent a REJ we have at least one out - // of sequence frame in RXFRAMES - - // so if we have frame LINK->LINKNR we can process it - // and remove it from RXFRAMES. If we are then back - // in sequence we just carry on. - - if (LINK->RXFRAMES[LINK->LINKNR]) - { - // We have the first missing frame. Process it. - - MESSAGE * OldBuffer = Q_REM(&LINK->RXFRAMES[LINK->LINKNR]); - - Debugprintf("L2 process saved Frame %d", LINK->LINKNR); - PROC_I_FRAME(LINK, PORT, OldBuffer); // Passes on or releases Buffer - - // NR has been updated. - - goto CheckNSLoop; // See if OK or we have another saved frame - } - - // BAD FRAME, SEND REJ (AFTER RESPTIME - OR WE MAY SEND LOTS!) - - // ALSO SAVE THE FRAME - NEXT TIME WE MAY GET A DIFFERENT SUBSET - // AND SOON WE WILL HANDLE SREJ - - PORT->L2OUTOFSEQ++; - - LINK->L2STATE = 6; - - // IF RUNNING VER1, AND OTHER END MISSES THIS REJ, LINK WILL FAIL - // SO TIME OUT REJ SENT STATE (MUST KEEP IT FOR A WHILE TO AVOID - // 'MULTIPLE REJ' PROBLEM) - - if (LINK->VER1FLAG == 1) - LINK->REJTIMER = TENSECS; - - // SET ACK REQUIRED TIMER - REJ WILL BE SENT WHEN IT EXPIRES - - // if configured RESPTIME is longer than 3 secs use it (may be longer on HF) - - if (PORT->PORTT2 > THREESECS) - LINK->L2ACKREQ = PORT->PORTT2; - else - LINK->L2ACKREQ = THREESECS; // EXTRA LONG RESPTIME, AS SENDING TOO MANY REJ'S IS SERIOUS - - if (LINK->RXFRAMES[NS]) - { - // Already have a copy, so discard old and keep this - - Debugprintf ("Frame %d out of seq but already have copy - release it", NS); - ReleaseBuffer(Q_REM(&LINK->RXFRAMES[NS])); - } - else - { - Debugprintf ("Frame %d out of seq - save", NS); - } - - Buffer->CHAIN = 0; - LINK->RXFRAMES[NS] = Buffer; - goto CheckPF; - } - - // IN SEQUENCE FRAME - - // Remove any stored frame with this seq - - if (LINK->RXFRAMES[NS]) - ReleaseBuffer(Q_REM(&LINK->RXFRAMES[NS])); - - if (LINK->L2STATE == 6) // REJ? - { - // If using REJ we can cancel REJ state. - // If using SREJ we only cancel REJ if we have no stored frames - - if (LINK->Ver2point2) - { - // see if any frames saved. - - int i; - - for (i = 0; i < 8; i++) - { - if (LINK->RXFRAMES[i]) - goto stayinREJ; - } - // Drop through if no stored frames - } - - // CANCEL REJ - - LINK->L2STATE = 5; - LINK->L2FLAGS &= ~REJSENT; - } - -stayinREJ: - - PROC_I_FRAME(LINK, PORT, Buffer); // Passes on or releases Buffer - - -CheckPF: - - if (LINK->Ver2point2 == 0) // Unless using SREJ - { - if (LINK->L2FLAGS & REJSENT) - { - return; // DONT SEND ANOTHER TILL REJ IS CANCELLED - } - } - - if (CTL & PFBIT) - { - if (LINK->L2STATE == 6) - LINK->L2FLAGS |= REJSENT; // Set "REJ Sent" - else - { - // we have all frames. Clear anything in RXFRAMES - - int n = 0; - - while (n < 8) - { - if (LINK->RXFRAMES[n]) - ReleaseBuffer(Q_REM(&LINK->RXFRAMES[n])); - - n++; - } - } - LINK->L2ACKREQ = 0; // CANCEL RR NEEDED - - SEND_RR_RESP(LINK, PFBIT); - - // RECORD TIME - - LINK->LAST_F_TIME = REALTIMETICKS; - } - else - if (LINK->L2ACKREQ == 0) // Resptime is zero so send RR now - SEND_RR_RESP(LINK, 0); - -} - - -VOID PROC_I_FRAME(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffer) -{ - int Length; - char * Info; - UCHAR PID; - struct DATAMESSAGE * Msg = (struct DATAMESSAGE *)Buffer; - UCHAR * EOA; - int n = 8; // Max Digis - - LINK->LINKNR++; // INCREMENT OUR N(R) - LINK->LINKNR &= 7; // MODULO 8 - - // ATTACH I FRAMES TO LINK TABLE RX QUEUE - ONLY DATA IS ADDED (NOT ADDRESSES) - - // IF DISC PENDING SET, IGNORE FRAME - - if (LINK->L2FLAGS & DISCPENDING) - { - ReleaseBuffer(Buffer); - return; - } - - // Copy data down the buffer so PID comes after Header (DATAMESSAGE format) - - Length = Buffer->LENGTH - (MSGHDDRLEN + 15); // Buffer Header + addrs + CTL - Info = &Buffer->PID; - - // Adjust for DIGIS - - EOA = &Buffer->ORIGIN[6]; // End of address Bit - - while (((*EOA & 1) == 0) && n--) - { - Length -= 7; - Info += 7; - EOA += 7; - } - - PID = EOA[2]; - - switch(PID) - { - case 0xcc: - case 0xcd: - - // IP Message - - if (n < 8) // If digis, move data back down buffer - { - memmove(&Buffer->PID, &EOA[2], Length); - Buffer->LENGTH -= (int)(&EOA[2] - &Buffer->PID); - } - - Q_IP_MSG( Buffer); - break; - - case 8: - - // NOS FRAGMENTED IP - - if (n < 8) // If digis, move data back down buffer - { - memmove(&Buffer->PID, &EOA[2], Length); - Buffer->LENGTH -= (int)(&EOA[2] - &Buffer->PID); - } - - C_Q_ADD(&LINK->L2FRAG_Q, Buffer); - - if (Buffer->L2DATA[0] == 0) - { - // THERE IS A WHOLE MESSAGE ON FRAG_Q - PASS TO IP - - while(LINK->L2FRAG_Q) - { - Buffer = Q_REM(&LINK->L2FRAG_Q); - Q_IP_MSG( Buffer); - } - } - break; - - default: - - if (Length < 1 || Length > 257) - { - ReleaseBuffer(Buffer); - return; - } - - // Copy Data back over - - memmove(&Msg->PID, Info, Length); - - Buffer->LENGTH = Length + MSGHDDRLEN; - - C_Q_ADD(&LINK->RX_Q, Buffer); - } - - LINK->L2ACKREQ = PORT->PORTT2; // SET RR NEEDED - LINK->KILLTIMER = 0; // RESET IDLE LINK TIMER -} - -//*** CHECK RECEIVED N(R) COUNT - -VOID SDNRCHK(struct _LINKTABLE * LINK, UCHAR CTL) -{ - UCHAR NR = (CTL >> 5) & 7; - - if (NR >= LINK->LINKWS) // N(R) >= WINDOW START? - { - // N(R) ABOVE OR EQUAL TO WINDOW START - OK IF NOT ABOVE N(S), OR N(S) BELOW WS - - if (NR > LINK->LINKNS) // N(R) <= WINDOW END? - { - // N(R) ABOVE N(S) - DOES COUNT WRAP? - - if (LINK->LINKNS >= LINK->LINKWS) // Doesnt wrap - goto BadNR; - } - -GoodNR: - - if ((CTL & 0x0f) == SREJ) - if ((CTL & PFBIT) == 0) - return; // SREJ without F doesn't ACK anything - - LINK->LINKWS = NR; // NEW WINDOW START = RECEIVED N(R) - ACKMSG(LINK); // Remove any acked messages - return; - } - - // N(R) LESS THAN WINDOW START - ONLY OK IF WINDOW WRAPS - - if (NR <= LINK->LINKNS) // N(R) <= WINDOW END? - goto GoodNR; - -BadNR: - - // RECEIVED N(R) IS INVALID - - LINK->SDREJF |= SDNRER; // FLAG A REJECT CONDITION - LINK->SDRBYTE = CTL; // SAVE FOR FRMR RESPONSE -} - -VOID RESETNS(struct _LINKTABLE * LINK, UCHAR NS) -{ - int Resent = (LINK->LINKNS - NS) & 7; // FRAMES TO RESEND - - LINK->LINKNS = NS; // RESET N(S) - - if (LINK->LINKTYPE == 3) // mode-Node - { - if (LINK->NEIGHBOUR) - LINK->NEIGHBOUR->NBOUR_RETRIES += Resent; - } -} - -int COUNT_AT_L2(struct _LINKTABLE * LINK) -{ - // COUNTS FRAMES QUEUED ON AN L2 SESSION (IN BX) - - int count = 0, abovelink = 0; - int n = 0; - - if (LINK == NULL) - return 0; - - abovelink = C_Q_COUNT((UINT *)&LINK->TX_Q); - - // COUNT FRAMES IN TSLOTS - - while (n < 8) - { - if (LINK->FRAMES[n]) - count++; - n++; - } - -// ADD AL,AH ; TOTAL IN AL, NUMBER ABOVE LINK IN AH - - return abovelink + count; -} - -//*** RESET HDLC AND PURGE ALL QUEUES ETC. - -VOID RESET2X(struct _LINKTABLE * LINK) -{ - LINK->SDREJF = 0; // CLEAR FRAME REJECT FLAGS - LINK->LINKWS = 0; // CLEAR WINDOW POINTERS - LINK->LINKOWS = 0; - LINK->LINKNR = 0; // CLEAR N(R) - LINK->LINKNS = 0; // CLEAR N(S) - LINK->SDTSLOT= 0; - LINK->L2STATE = 5; // RESET STATE - LINK->L2FLAGS = 0; -} - - -VOID CLEARL2QUEUES(struct _LINKTABLE * LINK) -{ - // GET RID OF ALL FRAMES THAT ARE QUEUED - - int n = 0; - - while (n < 8) - { - while (LINK->FRAMES[n]) - ReleaseBuffer(Q_REM(&LINK->FRAMES[n])); - while (LINK->RXFRAMES[n]) - ReleaseBuffer(Q_REM(&LINK->RXFRAMES[n])); - n++; - } - - // GET RID OF ALL FRAMES THAT ARE - // QUEUED ON THE TX HOLDING QUEUE, RX QUEUE AND LEVEL 3 QUEUE - - - while (LINK->TX_Q) - ReleaseBuffer(Q_REM(&LINK->TX_Q)); - - while (LINK->RX_Q) - ReleaseBuffer(Q_REM(&LINK->RX_Q)); - -} - -VOID RESET2(struct _LINKTABLE * LINK) -{ - CLEARL2QUEUES(LINK); - RESET2X(LINK); -} - -VOID SENDSABM(struct _LINKTABLE * LINK) -{ - L2SENDCOMMAND(LINK, SABM | PFBIT); -} - - -VOID PUT_ON_PORT_Q(struct PORTCONTROL * PORT, MESSAGE * Buffer) -{ - // TIME STAMP IT - - time(&Buffer->Timestamp); - - if (PORT->TXPORT) - { - Buffer->PORT = PORT->TXPORT; // update port no in header - - PORT = GetPortTableEntryFromPortNum(PORT->TXPORT); - - if (PORT == NULL) - { - ReleaseBuffer(Buffer); - return; - } - } - C_Q_ADD(&PORT->PORTTX_Q, (UINT *)Buffer); -} - - -UCHAR * SETUPADDRESSES(struct _LINKTABLE * LINK, PMESSAGE Msg) -{ - // COPY ADDRESSES FROM LINK TABLE TO MESSAGE _BUFFER - - UCHAR * ptr1 = &LINK->DIGIS[0]; - UCHAR * ptr2 = &Msg->CTL; - int Digis = 8; - - memcpy(&Msg->DEST[0], &LINK->LINKCALL[0], 14); // COPY DEST AND ORIGIN - - Msg->DEST[6] |= 0x60; - Msg->ORIGIN[6] |= 0x60; - - while (Digis) - { - if (*(ptr1)) // any more to copy? - { - memcpy(ptr2, ptr1, 7); - ptr1 += 7; - ptr2 += 7; - Digis--; - } - else - break; - } - - *(ptr2 - 1) |= 1; // SET END OF ADDRESSES - - return ptr2; // Pointer to CTL -} - -VOID SDETX(struct _LINKTABLE * LINK) -{ - // Start sending frsmes if possible - - struct PORTCONTROL * PORT; - int Outstanding; - UCHAR * ptr1, * ptr2; - UCHAR CTL; - int count; - MESSAGE * Msg; - MESSAGE * Buffer; - - // DONT SEND IF RESEQUENCING RECEIVED FRAMES - CAN CAUSE FRMR PROBLEMS - -// if (LINK->L2RESEQ_Q) -// return; - - if (LINK->LINKPORT->PORTNUMBER == 19) - { - int i = 0; - } - - Outstanding = LINK->LINKNS - LINK->LINKOWS; // Was WS not NS - - if (Outstanding < 0) - Outstanding += 8; // allow for wrap - - if (Outstanding >= LINK->LINKWINDOW) // LIMIT - return; - - // See if we can load any more frames into the frame holding q - - while (LINK->TX_Q && LINK->FRAMES[LINK->SDTSLOT] == NULL) - { - Msg = Q_REM(&LINK->TX_Q); - Msg->CHAIN = NULL; - LINK->FRAMES[LINK->SDTSLOT] = Msg; - LINK->SDTSLOT ++; - LINK->SDTSLOT &= 7; - } - - // dont send while poll outstanding - - while ((LINK->L2FLAGS & POLLSENT) == 0) - { - Msg = LINK->FRAMES[LINK->LINKNS]; // is next frame available? - - if (Msg == NULL) - return; - - // send the frame - - // GET BUFFER FOR COPY OF MESSAGE - HAVE TO KEEP ORIGINAL FOR RETRIES - - Buffer = GetBuff(); - - if (Buffer == NULL) - return; - - ptr2 = SETUPADDRESSES(LINK, Buffer); // copy addresses - - // ptr2 NOW POINTS TO COMMAND BYTE - - // GOING TO SEND I FRAME - WILL ACK ANY RECEIVED FRAMES - - LINK->L2ACKREQ = 0; // CLEAR ACK NEEDED - LINK->L2SLOTIM = T3 + rand() % 15; // SET FRAME SENT RECENTLY - LINK->KILLTIMER = 0; // RESET IDLE CIRCUIT TIMER - - CTL = LINK->LINKNR << 5; // GET CURRENT N(R), SHIFT IT TO TOP 3 BITS - CTL |= LINK->LINKNS << 1; // BITS 1-3 OF CONTROL BYTE - - LINK->LINKNS++; // INCREMENT NS - LINK->LINKNS &= 7; // mod 8 - - // SET P BIT IF END OF WINDOW OR NO MORE TO SEND - - if (LINK->VER1FLAG == 0) // NO POLL BIT IF V1 - { - Outstanding = LINK->LINKNS - LINK->LINKOWS; - - if (Outstanding < 0) - Outstanding += 8; // allow for wrap - - // if at limit, or no more to send, set P) - - if (Outstanding >= LINK->LINKWINDOW || LINK->FRAMES[LINK->LINKNS] == NULL) - { - CTL |= PFBIT; - LINK->L2FLAGS |= POLLSENT; - LINK->L2TIMER = ONEMINUTE; // (RE)SET TIMER - - // FLAG BUFFER TO CAUSE TIMER TO BE RESET AFTER SEND (or ACK if ACKMODE) - - Buffer->Linkptr = LINK; - } - } - - *(ptr2++) = CTL; // TO DATA (STARTING WITH PID) - - count = Msg->LENGTH - MSGHDDRLEN; - - if (count > 0) // SHOULD ALWAYS BE A PID, BUT BETTER SAFE THAN SORRY - { - ptr1 = (UCHAR *)Msg; - ptr1 += MSGHDDRLEN; - memcpy(ptr2, ptr1, count); - } - - Buffer->DEST[6] |= 0x80; // SET COMMAND - - Buffer->LENGTH = (int)(ptr2 - (UCHAR *)Buffer) + count; // SET NEW LENGTH - - LINK->L2TIMER = ONEMINUTE; // (RE)SET TIMER - - PORT = LINK->LINKPORT; - - if (PORT) - { - Buffer->PORT = PORT->PORTNUMBER; - PUT_ON_PORT_Q(PORT, Buffer); - } - else - { - Buffer->Linkptr = 0; - ReleaseBuffer(Buffer); - } - - } -} - -VOID L2TimerProc() -{ - int i = MAXLINKS; - struct _LINKTABLE * LINK = LINKS; - struct PORTCONTROL * PORT = PORTTABLE; - - while (i--) - { - if (LINK->LINKCALL[0] == 0) - { - LINK++; - continue; - } - - // CHECK FOR TIMER EXPIRY OR BUSY CLEARED - - PORT = LINK->LINKPORT; - - if (PORT == NULL) - { - LINK++; - continue; // just ion case!! - } - - if (LINK->L2TIMER) - { - LINK->L2TIMER--; - if (LINK->L2TIMER == 0) - { - L2TIMEOUT(LINK, PORT); - LINK++; - continue; - } - } - else - { - // TIMER NOT RUNNING - MAKE SURE STATE NOT BELOW 5 - IF - // IT IS, SOMETHING HAS GONE WRONG, AND LINK WILL HANG FOREVER - - if (LINK->L2STATE < 5 && LINK->L2STATE != 2 && LINK->L2STATE != 1) // 2 = CONNECT - PROBABLY TO CQ - LINK->L2TIMER = 2; // ARBITRARY VALUE - } - - // TEST FOR RNR SENT, AND NOT STILL BUSY - - if (LINK->L2FLAGS & RNRSENT) - { - // Was busy - - if (RR_OR_RNR(LINK) != RNR) // SEE IF STILL BUSY - { - // Not still busy - tell other end - - // Just sending RR will hause a hang of RR is missed, and other end does not poll on Busy - // Try sending RR CP, so we will retry if not acked - - LINK->L2ACKREQ = 0; // CLEAR ANY DELAYED ACK TIMER - - if (LINK->L2RETRIES == 0) // IF RR(P) OUTSTANDING WILl REPORT ANYWAY - { - SendSupervisCmd(LINK); - LINK++; - continue; - } - } - } - else - { - // NOT BUSY - - if (LINK->L2ACKREQ) // DELAYED ACK TIMER - { - if (LINK->L2RETRIES == 0) // DONT SEND RR RESPONSE WHILEST RR(P) OUTSTANDING - { - LINK->L2ACKREQ--; - if (LINK->L2ACKREQ == 0) - { - SEND_RR_RESP(LINK, 0); // NO F BIT - LINK++; - continue; - } - } - } - } - - // CHECK FOR REJ TIMEOUT - - if (LINK->REJTIMER) - { - LINK->REJTIMER--; - if (LINK->REJTIMER == 0) // {REJ HAS TIMED OUT (THIS MUST BE A VERSION 1 SESSION) - { - // CANCEL REJ STATE - - if (LINK->L2STATE == 6) // REJ? - LINK->L2STATE = 5; // CLEAR REJ - } - } - - // See if time for link validation poll - - if (LINK->L2SLOTIM) - { - LINK->L2SLOTIM--; - if (LINK->L2SLOTIM == 0) // Time to poll - { - SendSupervisCmd(LINK); - LINK++; - continue; - } - } - - // See if idle too long - - LINK->KILLTIMER++; - - if (L2KILLTIME && LINK->KILLTIMER > L2KILLTIME) - { - // CIRCUIT HAS BEEN IDLE TOO LONG - SHUT IT DOWN - - LINK->KILLTIMER = 0; - LINK->L2TIMER = 1; // TO FORCE DISC - LINK->L2STATE = 4; // DISCONNECTING - - // TELL OTHER LEVELS - - InformPartner(LINK, NORMALCLOSE); - } - LINK++; - } -} - -VOID SendSupervisCmd(struct _LINKTABLE * LINK) -{ - // Send Super Command RR/RNR/REJ(P) - - UCHAR CTL; - - if (LINK->VER1FLAG == 1) - { - // VERSION 1 TIMEOUT - - // RESET TO RESEND I FRAMES - - LINK->LINKNS = LINK->LINKOWS; - - SDETX(LINK); // PREVENT FRMR (I HOPE) - } - - // SEND RR COMMAND - EITHER AS LINK VALIDATION POLL OR FOLLOWING TIMEOUT - - LINK->L2ACKREQ = 0; // CLEAR ACK NEEDED - - CTL = RR_OR_RNR(LINK); - -// MOV L2STATE[EBX],5 ; CANCEL REJ - ACTUALLY GOING TO 'PENDING ACK' - - CTL |= LINK->LINKNR << 5; // SHIFT N(R) TO TOP 3 BITS - CTL |= PFBIT; - - LINK->L2FLAGS |= POLLSENT; - - L2SENDCOMMAND(LINK, CTL); - - LINK->L2SLOTIM = T3 + rand() % 15; // SET FRAME SENT RECENTLY -} - -void SEND_RR_RESP(struct _LINKTABLE * LINK, UCHAR PF) -{ - UCHAR CTL; - - CTL = RR_OR_RNR(LINK); - -// MOV L2STATE[EBX],5 ; CANCEL REJ - ACTUALLY GOING TO 'PENDING ACK' - - CTL |= LINK->LINKNR << 5; // SHIFT N(R) TO TOP 3 BITS - CTL |= PF; - - L2SENDRESPONSE(LINK, CTL); - - ACKMSG(LINK); // SEE IF STILL WAITING FOR ACK -} - -VOID ACKMSG(struct _LINKTABLE * LINK) -{ - // RELEASE ANY ACKNOWLEDGED FRAMES - - while (LINK->LINKOWS != LINK->LINKWS) // is OLD WINDOW START EQUAL TO NEW WINDOW START? - { - // No, so frames to ack - - if (LINK->FRAMES[LINK->LINKOWS]) - ReleaseBuffer(Q_REM(&LINK->FRAMES[LINK->LINKOWS])); - else - { - char Call1[12], Call2[12]; - - Call1[ConvFromAX25(LINK->LINKCALL, Call1)] = 0; - Call2[ConvFromAX25(LINK->OURCALL, Call2)] = 0; - - Debugprintf("Missing frame to ack Seq %d Calls %s %s", LINK->LINKOWS, Call1, Call2); - } - - LINK->IFrameRetryCounter = 0; - - LINK->LINKOWS++; // INCREMENT OLD WINDOW START - LINK->LINKOWS &= 7; // MODULO 8 - - // SOMETHING HAS BEEN ACKED - RESET RETRY COUNTER - - if (LINK->L2RETRIES) - LINK->L2RETRIES = 1; // MUSTN'T SET TO ZERO - COULD CAUSE PREMATURE RETRANSMIT - - } - - if (LINK->LINKWS != LINK->LINKNS) // IS N(S) = NEW WINDOW START? - { - // NOT ALL I-FRAMES HAVE BEEN ACK'ED - RESTART TIMER - - // Need to kill link if we are getting repeated RR(F) after timeout - // (Indicating other station is seeing our RR(P) but not the resent I frame) - - if (LINK->IFrameRetryCounter++ > LINK->LINKPORT->PORTN2) - { - Debugprintf("Too many repeats of same I frame - closing connection"); - LINK->L2TIMER = 1; // USE TIMER TO SEND DISC - LINK->L2STATE = 4; // DISCONNECTING - return; - } - - - LINK->L2TIMER = LINK->L2TIME; - return; - } - - // ALL FRAMES HAVE BEEN ACKED - CANCEL TIMER UNLESS RETRYING - // IF RETRYING, MUST ONLY CANCEL WHEN RR(F) RECEIVED - - if (LINK->VER1FLAG == 1 || LINK->L2RETRIES == 0) // STOP TIMER IF LEVEL 1 or not retrying - { - LINK->L2TIMER = 0; - LINK->L2FLAGS &= ~POLLSENT; // CLEAR I(P) SET (IN CASE TALKING TO OLD BPQ!) - } - - // IF DISCONNECT REQUEST OUTSTANDING, AND NO FRAMES ON TX QUEUE, SEND DISC - - if ((LINK->L2FLAGS & DISCPENDING) && LINK->TX_Q == 0) - { - LINK->L2FLAGS &= ~DISCPENDING; - - LINK->L2TIMER = 1; // USE TIMER TO SEND DISC - LINK->L2STATE = 4; // DISCONNECTING - } -} - -VOID CONNECTFAILED(); - -VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT) -{ - // TIMER EXPIRED - - // IF LINK UP (STATE 5 OR ABOVE) SEND RR/RNR AS REQUIRED - // IF S2, REPEAT SABM - // IF S3, REPEAT FRMR - // IF S4, REPEAT DISC - - - PORT->L2TIMEOUTS++; // FOR STATS - - if (LINK->L2STATE == 0) - return; - - if (LINK->L2STATE == 1) - { - // XID - - LINK->L2RETRIES++; - if (LINK->L2RETRIES >= PORT->PORTN2) - { - // 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; - } - - L2SENDXID(LINK); - return; - } - - - if (LINK->L2STATE == 2) - { - // CONNECTING - - LINK->L2RETRIES++; - if (LINK->L2RETRIES >= PORT->PORTN2) - { - // 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; - } - - SENDSABM(LINK); - return; - } - - if (LINK->L2STATE == 4) - { - // 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; - } - - L2SENDCOMMAND(LINK, DISC | PFBIT); - return; - } - - if (LINK->L2STATE == 3) - { - // FRMR - - LINK->L2RETRIES++; - if (LINK->L2RETRIES >= PORT->PORTN2) - { - // RETRIED N2 TIMES - RESET LINK - - LINK->L2RETRIES = 0; - LINK->L2STATE = 2; - SENDSABM(LINK); - return; - } - } - - // STATE 5 OR ABOVE - - // SEND RR(P) UP TO N2 TIMES - - LINK->L2RETRIES++; - - if (LINK->L2RETRIES >= PORT->PORTN2) - { - // RETRIED N TIMES SEND A COUPLE OF DISCS AND THEN CLOSE - - InformPartner(LINK, RETRIEDOUT); // TELL OTHER END ITS GONE - - LINK->L2RETRIES -= 1; // Just send one DISC - LINK->L2STATE = 4; // CLOSING - - L2SENDCOMMAND(LINK, DISC | PFBIT); - return; - } - - SendSupervisCmd(LINK); -} - -VOID SDFRMR(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT) -{ - PORT->L2FRMRTX++; - - LINK->L2STATE = 3; // ENTER FRMR STATE - - LINK->L2TIMER = LINK->L2TIME; //SET TIMER - - SENDFRMR(LINK); -} - -VOID SENDFRMR(struct _LINKTABLE * LINK) -{ - // RESEND FRMR - - struct PORTCONTROL * PORT; - MESSAGE * Buffer; - UCHAR * ptr; - - Buffer = SETUPL2MESSAGE(LINK, FRMR); - - if (Buffer == NULL) - return; - - Buffer->ORIGIN[6] |= 0x80; // SET RESPONSE - - ptr = &Buffer->PID; - - *(ptr++) = LINK->SDRBYTE; // MOVE REJECT C-BYTE - - *(ptr++) = LINK->LINKNR << 5 | LINK->LINKNS << 1; - - *(ptr++) = LINK->SDREJF; // MOVE REJECT FLAGS - - Buffer->LENGTH += 3; - - PORT = LINK->LINKPORT; - Buffer->PORT = PORT->PORTNUMBER; - - if (PORT) - PUT_ON_PORT_Q(PORT, Buffer); - else - ReleaseBuffer(Buffer); - - return; -} - -VOID CLEAROUTLINK(struct _LINKTABLE * LINK) -{ - char toCall[12], fromCall[12]; - - toCall[ConvFromAX25(LINK->LINKCALL, toCall)] = 0; - fromCall[ConvFromAX25(LINK->OURCALL, fromCall)] = 0; - - hookL2SessionDeleted(LINK->LINKPORT->PORTNUMBER, fromCall, toCall, LINK); - - seeifUnlockneeded(LINK); - - CLEARL2QUEUES(LINK); // TO RELEASE ANY BUFFERS - - memset(LINK, 0, sizeof(struct _LINKTABLE)); -} - -VOID L2SENDXID(struct _LINKTABLE * LINK) -{ - // Set up and send XID - - struct PORTCONTROL * PORT; - UCHAR * ptr; - unsigned int xidval; - MESSAGE * Buffer; - - if (LINK->LINKPORT == 0) - return; //??? has been zapped - - Buffer = SETUPL2MESSAGE(LINK, XID | PFBIT); - - if (Buffer == NULL) - { - // NO BUFFERS - SET TIMER TO FORCE RETRY - - LINK->L2TIMER = 10*3; // SET TIMER - return; - } - - Buffer->DEST[6] |= 0x80; // SET COMMAND - - ptr = &Buffer->PID; - - // Set up default XID Mod 8 - - *ptr++ = 0x82; // FI - *ptr++ = 0x80; // GI - *ptr++ = 0x0; - *ptr++ = 0x10; // Length 16 - - *ptr++ = 0x02; // Classes of Procedures - *ptr++ = 0x02; // Length - *ptr++ = 0x00; // - *ptr++ = 0x21; // ABM Half Duplex - - // We offer REJ, SREJ and SREJ Multiframe - - *ptr++ = 0x03; // Optional Functions - *ptr++ = 0x03; // Len - - // Sync TX, SREJ Multiframe 16 bit FCS, Mod 8, TEST, - // Extended Addressing, REJ, SREJ - - xidval = OPMustHave | OPSREJ | OPSREJMult | OPREJ | OPMod8; - *ptr++ = xidval >> 16; - *ptr++ = xidval >> 8; - *ptr++ = xidval; - - - *ptr++ = 0x06; // RX Packet Len - *ptr++ = 0x02; // Len - *ptr++ = 0x08; // - *ptr++ = 0x00; // 2K bits (256) Bytes - - *ptr++ = 0x08; // RX Window - *ptr++ = 0x01; // Len - *ptr++ = 0x07; // 7 - - Buffer->LENGTH = (int)(ptr - (UCHAR *)Buffer); // SET LENGTH - - LINK->L2TIMER = ONEMINUTE; // (RE)SET TIMER - - // FLAG BUFFER TO CAUSE TIMER TO BE RESET AFTER SEND - - Buffer->Linkptr = LINK; - - PORT = LINK->LINKPORT; - - if (PORT) - { - Buffer->PORT = PORT->PORTNUMBER; - PUT_ON_PORT_Q(PORT, Buffer); - } - else - { - Buffer->Linkptr = 0; - ReleaseBuffer(Buffer); - } -} - - - - - - -VOID L2SENDCOMMAND(struct _LINKTABLE * LINK, int CMD) -{ - // SEND COMMAND IN CMD - - struct PORTCONTROL * PORT; - MESSAGE * Buffer; - - if (LINK->LINKPORT == 0) - return; //??? has been zapped - - Buffer = SETUPL2MESSAGE(LINK, CMD); - - if (Buffer == NULL) - { - // NO BUFFERS - SET TIMER TO FORCE RETRY - - if (CMD & PFBIT) // RESPONSE EXPECTED? - LINK->L2TIMER = 10*3; // SET TIMER - - return; - } - - Buffer->DEST[6] |= 0x80; // SET COMMAND - - if (CMD & PFBIT) // RESPONSE EXPECTED? - { - LINK->L2TIMER = ONEMINUTE; // (RE)SET TIMER - - // FLAG BUFFER TO CAUSE TIMER TO BE RESET AFTER SEND - - Buffer->Linkptr = LINK; - } - - PORT = LINK->LINKPORT; - - if (PORT) - { - Buffer->PORT = PORT->PORTNUMBER; - PUT_ON_PORT_Q(PORT, Buffer); - } - else - { - Buffer->Linkptr = 0; - ReleaseBuffer(Buffer); - } -} - - - - - - -VOID L2SENDRESPONSE(struct _LINKTABLE * LINK, int CMD) -{ - // SEND Response IN CMD - - struct PORTCONTROL * PORT; - MESSAGE * Buffer; - - Buffer = SETUPL2MESSAGE(LINK, CMD); - - if (Buffer == NULL) - { - // NO BUFFERS - SET TIMER TO FORCE RETRY - - if (CMD & PFBIT) // RESPONSE EXPECTED? - LINK->L2TIMER = 10*3; // SET TIMER - - return; - } - - Buffer->ORIGIN[6] |= 0x80; // SET RESPONSE - - LINK->L2SLOTIM = T3 + rand() % 15; // SET FRAME SENT RECENTLY - - PORT = LINK->LINKPORT; - Buffer->PORT = PORT->PORTNUMBER; - - if (PORT) - PUT_ON_PORT_Q(PORT, Buffer); - else - ReleaseBuffer(Buffer); - -} - - -MESSAGE * SETUPL2MESSAGE(struct _LINKTABLE * LINK, UCHAR CMD) -{ - MESSAGE * Buffer; - UCHAR * ptr; - - Buffer = GetBuff(); - - if (Buffer == NULL) - return NULL; - - ptr = SETUPADDRESSES(LINK, Buffer); // copy addresses - - // ptr NOW POINTS TO COMMAND BYTE - - *(ptr)++ = CMD; - - Buffer->LENGTH = (int)(ptr - (UCHAR *)Buffer); // SET LENGTH - - return Buffer; -} - - -VOID L3LINKCLOSED(struct _LINKTABLE * LINK, int Reason); - -VOID InformPartner(struct _LINKTABLE * LINK, int Reason) -{ - // LINK IS DISCONNECTING - IF THERE IS A CROSSLINK, SEND DISC TO IT - - if (LINK->LINKTYPE == 3) - { - L3LINKCLOSED(LINK, Reason); - return; - } - - if (LINK->CIRCUITPOINTER) - { - CloseSessionPartner(LINK->CIRCUITPOINTER); - CLEARSESSIONENTRY(LINK->CIRCUITPOINTER); - } -} - - -UINT RR_OR_RNR(struct _LINKTABLE * LINK) -{ - UCHAR Temp; - TRANSPORTENTRY * Session; - - LINK->L2FLAGS &= ~RNRSENT; - - // SET UP APPROPRIATE SUPER COMMAND - - if (LINK->LINKTYPE == 3) - - // Node to Node - only busy if short of buffers - - goto CHKBUFFS; - -// UP OR DOWN LINK - SEE IF SESSION IS BUSY - - if (LINK->CIRCUITPOINTER == 0) - goto CHKBUFFS; // NOT CONNECTED - - Session = LINK->CIRCUITPOINTER; // TO CIRCUIT ENTRY - - Temp = CHECKIFBUSYL2(Session); //TARGET SESSION BUSY? - - if (Temp & L4BUSY) - goto SENDRNR; // BUSY - -CHKBUFFS: - - if (QCOUNT < 20) - goto SENDRNR; // NOT ENOUGH - - // SEND REJ IF IN REJ STATE - - if (LINK->L2STATE == 6) - { - - // We may have the needed frame in RXFRAMES - -CheckNSLoop2: - - if (LINK->RXFRAMES[LINK->LINKNR]) - { - // We have the first missing frame. Process it. - - struct PORTCONTROL * PORT = LINK->LINKPORT; - MESSAGE * OldBuffer = Q_REM(&LINK->RXFRAMES[LINK->LINKNR]); - - Debugprintf("L2 about to send REJ - process saved Frame %d", LINK->LINKNR); - PROC_I_FRAME(LINK, PORT, OldBuffer); // Passes on or releases Buffer - - // NR has been updated. - - // Clear REJ if we have no more saved - - if (LINK->Ver2point2) // Using SREJ? - { - // see if any frames saved. - - int i; - - for (i = 0; i < 8; i++) - { - if (LINK->RXFRAMES[i]) - goto stayinREJ2; - } - // Drop through if no stored frames - } - - LINK->L2STATE = 5; - LINK->L2FLAGS &= ~REJSENT; -stayinREJ2: - LINK->L2ACKREQ = 0; // Cancel Resptime (Set by PROC_I_FRAME) - - goto CheckNSLoop2; // See if OK or we have another saved frame - } - if (LINK->L2STATE == 6) - - // if we support SREJ send that instesd or REJ - - if (LINK->Ver2point2) // We only allow 2.2 with SREJ Multi - return SREJ; - else - return REJ; - } - return RR; - -SENDRNR: - - LINK->L2FLAGS |= RNRSENT; // REMEMBER - - return RNR; -} - - -VOID ConnectFailedOrRefused(struct _LINKTABLE * LINK, char * Msg); - -VOID CONNECTFAILED(struct _LINKTABLE * LINK) -{ - ConnectFailedOrRefused(LINK, "Failure with"); -} -VOID CONNECTREFUSED(struct _LINKTABLE * LINK) -{ - ConnectFailedOrRefused(LINK, "Busy from"); -} - -VOID L3CONNECTFAILED(); - -VOID ConnectFailedOrRefused(struct _LINKTABLE * LINK, char * Msg) -{ - // IF DOWNLINK, TELL PARTNER - // IF CROSSLINK, TELL ROUTE CONTROL - - struct DATAMESSAGE * Buffer; - UCHAR * ptr1; - char Normcall[10]; - TRANSPORTENTRY * Session; - TRANSPORTENTRY * InSession; - - if (LINK->LINKTYPE == 3) - { - L3CONNECTFAILED(LINK); // REPORT TO LEVEL 3 - return; - } - - if (LINK->CIRCUITPOINTER == 0) // No crosslink?? - return; - - Buffer = GetBuff(); - - if (Buffer == NULL) - return; - - // SET UP HEADER - - Buffer->PID = 0xf0; - - ptr1 = SetupNodeHeader(Buffer); - - Normcall[ConvFromAX25(LINK->LINKCALL, Normcall)] = 0; - - ptr1 += sprintf(ptr1, "%s %s\r", Msg, Normcall); - - Buffer->LENGTH = (int)(ptr1 - (UCHAR *)Buffer); - - Session = LINK->CIRCUITPOINTER; // GET CIRCUIT TABLE ENTRY - InSession = Session->L4CROSSLINK; // TO INCOMMING SESSION - - CLEARSESSIONENTRY(Session); - - if (InSession) - { - InSession->L4CROSSLINK = NULL; // CLEAR REVERSE LINK - C_Q_ADD(&InSession->L4TX_Q, Buffer); - PostDataAvailable(InSession); - } - else - ReleaseBuffer(Buffer); -} - -VOID SENDCONNECTREPLY(struct _LINKTABLE * LINK) -{ - // LINK SETUP COMPLETE - - struct DATAMESSAGE * Buffer; - UCHAR * ptr1; - char Normcall[10]; - TRANSPORTENTRY * Session; - TRANSPORTENTRY * InSession; - - if (LINK->LINKTYPE == 3) - return; - - // UP/DOWN LINK - - if (LINK->CIRCUITPOINTER == 0) // No crosslink?? - return; - - Buffer = GetBuff(); - - if (Buffer == NULL) - return; - - // SET UP HEADER - - Buffer->PID = 0xf0; - - ptr1 = SetupNodeHeader(Buffer); - - Normcall[ConvFromAX25(LINK->LINKCALL, Normcall)] = 0; - - ptr1 += sprintf(ptr1, "Connected to %s\r", Normcall); - - Buffer->LENGTH = (int)(ptr1 - (UCHAR *)Buffer); - - Session = LINK->CIRCUITPOINTER; // GET CIRCUIT TABLE ENTRY - Session->L4STATE = 5; - InSession = Session->L4CROSSLINK; // TO INCOMMONG SESSION - - if (InSession) - { - C_Q_ADD(&InSession->L4TX_Q, Buffer); - PostDataAvailable(InSession); - } -} - - -TRANSPORTENTRY * SetupSessionForL2(struct _LINKTABLE * LINK) -{ - TRANSPORTENTRY * NewSess = L4TABLE; - int Index = 0; - - while (Index < MAXCIRCUITS) - { - if (NewSess->L4USER[0] == 0) - { - // Got One - - LINK->CIRCUITPOINTER = NewSess; // SETUP LINK-CIRCUIT CONNECTION - - memcpy(NewSess->L4USER, LINK->LINKCALL, 7); - memcpy(NewSess->L4MYCALL, MYCALL, 7); // ALWAYS USE _NODE CALL - - NewSess->CIRCUITINDEX = Index; //OUR INDEX - NewSess->CIRCUITID = NEXTID; - - NEXTID++; - if (NEXTID == 0) - NEXTID++; // kEEP nON-ZERO - - NewSess->L4TARGET.LINK = LINK; - - NewSess->L4CIRCUITTYPE = L2LINK | UPLINK; - - NewSess->L4STATE = 5; // SET LINK ACTIVE - - NewSess->SESSPACLEN = LINK->LINKPORT->PORTPACLEN; - - - NewSess->SESSIONT1 = L4T1; // Default - NewSess->L4WINDOW = (UCHAR)L4DEFAULTWINDOW; - - return NewSess; - } - Index++; - NewSess++; - } - - return NULL; -} - - -VOID Digipeat(struct PORTCONTROL * PORT, MESSAGE * Buffer, UCHAR * OurCall, int toPort, int UIOnly) // Digi it (if enabled) -{ - // WE MAY HAVE DISABLED DIGIPEAT ALTOGETHER, (DIGIFLAG=0), - // OR ALLOW ALLOW ONLY UI FRAMES TO BE DIGIED (DIGIFLAG=-1) - - // toPort and UIOnly are used for Cross Port digi feature - - int n; - - if (PORT->DIGIFLAG == 0 && toPort == 0) - { - ReleaseBuffer(Buffer); - return; - } - - OurCall[6] |= 0x80; // SET HAS BEEN REPEATED - - // SEE IF UI FRAME - scan forward for end of address bit - - n = 8; - - while ((OurCall[6] & 1) == 0) - { - OurCall += 7; - - if ((OurCall - &Buffer->CTL) > 56) - { - // Run off end before findin end of address - - ReleaseBuffer(Buffer); - return; - } - } - - if (toPort) // Cross port digi - { - if (((OurCall[7] & ~PFBIT) == 3) || UIOnly == 0) - { - // UI or Digi all - - Buffer->PORT = toPort; // update port no in header - PORT = GetPortTableEntryFromPortNum(toPort); - - if (PORT == NULL) - ReleaseBuffer(Buffer); - else - PUT_ON_PORT_Q(PORT, Buffer); - return; - } - else - { - ReleaseBuffer(Buffer); - return; - } - } - - if ((OurCall[7] & ~PFBIT) == 3) - { - // UI - - // UI FRAME. IF DIGIMASK IS NON-ZERO, SEND TO ALL PORTS SET, OTHERWISE SEND TO DIGIPORT - - PORT->L2DIGIED++; - - if (toPort) - { - // Cross port digi - - PORT = GetPortTableEntryFromPortNum(toPort); - Buffer->PORT = PORT->DIGIPORT; // update port no in header - - if (PORT == NULL) - ReleaseBuffer(Buffer); - else - PUT_ON_PORT_Q(PORT, Buffer); - - return; - } - - if (PORT->DIGIMASK == 0) - { - if (PORT->DIGIPORT) // Cross Band Digi? - { - Buffer->PORT = PORT->DIGIPORT; // update port no in header - - PORT = GetPortTableEntryFromPortNum(PORT->DIGIPORT); - - if (PORT == NULL) - { - ReleaseBuffer(Buffer); - return; - } - } - PUT_ON_PORT_Q(PORT, Buffer); - } - else - { - DigiToMultiplePorts(PORT, Buffer); - ReleaseBuffer(Buffer); - } - return; - } - - // Not UI - Only Digi if Digiflag not -1 - - if (PORT->DIGIFLAG == -1) - { - ReleaseBuffer(Buffer); - return; - } - - PORT->L2DIGIED++; - - if (PORT->DIGIPORT) // Cross Band Digi? - { - Buffer->PORT = PORT->DIGIPORT; // update port no in header - - PORT = GetPortTableEntryFromPortNum(PORT->DIGIPORT); - - if (PORT == NULL) - { - ReleaseBuffer(Buffer); - return; - } - } - PUT_ON_PORT_Q(PORT, Buffer); -} - -BOOL CheckForListeningSession(struct PORTCONTROL * PORT, MESSAGE * Msg) -{ - TRANSPORTENTRY * L4 = L4TABLE; - struct DATAMESSAGE * Buffer; - int i = MAXCIRCUITS; - UCHAR * ptr; - - while (i--) - { - if ((CountBits64(L4->LISTEN) == 1) && ((1 << ((Msg->PORT & 0x7f) - 1) && L4->LISTEN))) - { - // See if he is calling our call - - UCHAR ourcall[7]; // Call we are using (may have SSID bits inverted - memcpy(ourcall, L4->L4USER, 7); - ourcall[6] ^= 0x1e; // Flip SSID - - if (CompareCalls(Msg->DEST, ourcall)) - { - // Get Session Entry for Downlink - - TRANSPORTENTRY * NewSess = L4TABLE; - struct _LINKTABLE * LINK; - char Normcall[10]; - - int Index = 0; - - while (Index < MAXCIRCUITS) - { - if (NewSess->L4USER[0] == 0) - { - // Got One - - L4->L4CROSSLINK = NewSess; - NewSess->L4CROSSLINK = L4; - - memcpy(NewSess->L4USER, L4->L4USER, 7); - memcpy(NewSess->L4MYCALL, L4->L4USER, 7); - - NewSess->CIRCUITINDEX = Index; //OUR INDEX - NewSess->CIRCUITID = NEXTID; - NewSess->L4STATE = 5; - NewSess->L4CIRCUITTYPE = L2LINK+UPLINK; - - NEXTID++; - if (NEXTID == 0) - NEXTID++; // kEEP nON-ZERO - - NewSess->SESSIONT1 = L4->SESSIONT1; - NewSess->L4WINDOW = (UCHAR)L4DEFAULTWINDOW; - - // SET UP NEW SESSION (OR RESET EXISTING ONE) - - FindLink(Msg->ORIGIN, ourcall, PORT->PORTNUMBER, &LINK); - - if (LINK == NULL) - return FALSE; - - memcpy(LINK->LINKCALL, Msg->ORIGIN, 7); - LINK->LINKCALL[6] &= 0xFE; - memcpy(LINK->OURCALL, ourcall, 7); - - LINK->LINKPORT = PORT; - - LINK->L2TIME = PORT->PORTT1; -/* - // Copy Digis - - n = 7; - ptr = &LINK->DIGIS[0]; - - while (axcalls[n]) - { - memcpy(ptr, &axcalls[n], 7); - n += 7; - ptr += 7; - - LINK->L2TIME += 2 * PORT->PORTT1; // ADJUST TIMER VALUE FOR 1 DIGI - } -*/ - LINK->LINKTYPE = 2; // DOWNLINK - LINK->LINKWINDOW = PORT->PORTWINDOW; - - RESET2(LINK); // RESET ALL FLAGS - - LINK->L2STATE = 5; // CONNECTED - - LINK->CIRCUITPOINTER = NewSess; - - NewSess->L4TARGET.LINK = LINK; - - if (PORT->PORTPACLEN) - NewSess->SESSPACLEN = L4->SESSPACLEN = PORT->PORTPACLEN; - - L2SENDUA(PORT, Msg, Msg); // RESET OF DOWN/CROSSLINK - - L4->LISTEN = FALSE; // Take out of listen mode - - // Tell User - - Buffer = GetBuff(); - - if (Buffer == NULL) - return TRUE; - - // SET UP HEADER - - Buffer->PID = 0xf0; - - ptr = &Buffer->L2DATA[0]; - - Normcall[ConvFromAX25(LINK->LINKCALL, Normcall)] = 0; - - ptr += sprintf(ptr, "Incoming call from %s\r", Normcall); - - Buffer->LENGTH = (int)(ptr - (UCHAR *)Buffer); - - C_Q_ADD(&L4->L4TX_Q, Buffer); - PostDataAvailable(L4); - - return TRUE; - - } - Index++; - NewSess++; - } - return FALSE; - } - } - L4++; - } - return FALSE; -} - - -int COUNTLINKS(int Port); -VOID SuspendOtherPorts(struct TNCINFO * ThisTNC); -VOID ReleaseOtherPorts(struct TNCINFO * ThisTNC); - - -int CheckKissInterlock(struct PORTCONTROL * PORT, int Exclusive) -{ - // This checks for interlocked kiss and other ports. Returns 1 if attach/connect not allowed - - // If Exclusive is not set allow connects on specified port up to l2limit, - - // If Exclusive is set also don't allow any connects on specified port. - - // Generally use Exclusive if locking a port that doesn't allow shared access, eg ARDOP, VARAus - - // Maybe only Exclusive is needed, and just check session mode ports. Sharing of KISS ports is controlled by USERS - - int Interlock = PORT->PORTINTERLOCK; - - if (Interlock == 0) - return 0; // No locking - - PORT = PORTTABLE; - - if (Exclusive) - { - while(PORT) - { - if (PORT->TNC) - { - struct TNCINFO * TNC = PORT->TNC; - - if (Interlock == TNC->RXRadio || Interlock == TNC->TXRadio) // Same Group - { - // See if port in use - - int n; - - for (n = 0; n <= 26; n++) - { - if (TNC->PortRecord->ATTACHEDSESSIONS[n]) - { - return TNC->Port; ; // Refuse Connect - } - } - } - } - PORT = PORT->PORTPOINTER; - } - } - return 0; // ok to connect -} - -int seeifInterlockneeded(struct PORTCONTROL * PORT) -{ - // Can we just call SuspendOtherPorts - it won't do any harm if already suspended - // No, at that needs a TNC Record, so duplicate code here - - int i; - int Interlock = PORT->PORTINTERLOCK; - struct TNCINFO * TNC; - - if (Interlock == 0) - return 0; // No locking - - for (i = 1; i <= MAXBPQPORTS; i++) - { - TNC = TNCInfo[i]; - - if (TNC) - if (Interlock == TNC->RXRadio || Interlock == TNC->TXRadio) // Same Group - if (TNC->SuspendPortProc && TNC->PortRecord->PORTCONTROL.PortSuspended == FALSE) - TNC->SuspendPortProc(TNC, TNC); - } - - return 0; -} - -int seeifUnlockneeded(struct _LINKTABLE * LINK) -{ - // We need to see if any other links are active on any interlocked KISS ports. If not, release the lock - - int i; - int links = 0; - - int Interlock; - struct TNCINFO * TNC; - struct PORTCONTROL * PORT = LINK->LINKPORT; - - if (PORT == NULL) - return 0; - - // Should only be called for KISS links, but just in case - - if (PORT->PORTTYPE > 12) // INTERNAL or EXTERNAL? - return 0; // Not KISS Port - - Interlock = PORT->PORTINTERLOCK; - - if (Interlock == 0) - return 0; // No locking - - - // Count all L2 links on interlocked KISS ports - - PORT = PORTTABLE; - - while(PORT) - { - if (PORT->PORTTYPE <= 12) // INTERNAL or EXTERNAL? - if (Interlock == PORT->PORTINTERLOCK) - links += COUNTLINKS(PORT->PORTNUMBER); - - PORT = PORT->PORTPOINTER; - } - - if (links > 1) // must be the one we are closing - return 0; // Keep lock - - - for (i = 1; i <= MAXBPQPORTS; i++) - { - TNC = TNCInfo[i]; - - if (TNC) - if (Interlock == TNC->RXRadio || Interlock == TNC->TXRadio) // Same Group - if (TNC->ReleasePortProc && TNC->PortRecord->PORTCONTROL.PortSuspended == TRUE) - TNC->ReleasePortProc(TNC, TNC); - } - - return 0; -} - - - - diff --git a/L4Code-skigdebian.c b/L4Code-skigdebian.c deleted file mode 100644 index 59fc0e2..0000000 --- a/L4Code-skigdebian.c +++ /dev/null @@ -1,2416 +0,0 @@ -/* -Copyright 2001-2022 John Wiseman G8BPQ - -This file is part of LinBPQ/BPQ32. - -LinBPQ/BPQ32 is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -LinBPQ/BPQ32 is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses -*/ - -// -// C replacement for L4Code.asm -// -#define Kernel - -#define _CRT_SECURE_NO_DEPRECATE - - -#pragma data_seg("_BPQDATA") - -#include "time.h" -#include "stdio.h" -#include - -#include "CHeaders.h" -#include "tncinfo.h" - -extern BPQVECSTRUC BPQHOSTVECTOR[]; -#define BPQHOSTSTREAMS 64 -#define IPHOSTVECTOR BPQHOSTVECTOR[BPQHOSTSTREAMS + 3] - -VOID CLOSECURRENTSESSION(TRANSPORTENTRY * Session); -VOID SENDL4DISC(TRANSPORTENTRY * Session); -int C_Q_COUNT(VOID * Q); -TRANSPORTENTRY * SetupSessionForL2(struct _LINKTABLE * LINK); -VOID InformPartner(struct _LINKTABLE * LINK, int Reason); -VOID IFRM150(TRANSPORTENTRY * Session, PDATAMESSAGE Buffer); -VOID SendConNAK(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG); -BOOL FINDCIRCUIT(L3MESSAGEBUFFER * L3MSG, TRANSPORTENTRY ** REQL4, int * NewIndex); -int GETBUSYBIT(TRANSPORTENTRY * L4); -BOOL cATTACHTOBBS(TRANSPORTENTRY * Session, UINT Mask, int Paclen, int * AnySessions); -VOID SETUPNEWCIRCUIT(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG, - TRANSPORTENTRY * L4, char * BPQPARAMS, int ApplMask, int * BPQNODE); -extern char * ALIASPTR; -VOID SendConACK(struct _LINKTABLE * LINK, TRANSPORTENTRY * L4, L3MESSAGEBUFFER * L3MSG, BOOL BPQNODE, UINT Applmask, UCHAR * ApplCall); -VOID L3SWAPADDRESSES(L3MESSAGEBUFFER * L3MSG); -VOID L4TIMEOUT(TRANSPORTENTRY * L4); -struct DEST_LIST * CHECKL3TABLES(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * Msg); -int CHECKIFBUSYL4(TRANSPORTENTRY * L4); -VOID AUTOTIMER(); -VOID NRRecordRoute(UCHAR * Buff, int Len); -VOID REFRESHROUTE(TRANSPORTENTRY * Session); -VOID ACKFRAMES(L3MESSAGEBUFFER * L3MSG, TRANSPORTENTRY * L4, int NR); -VOID SENDL4IACK(TRANSPORTENTRY * Session); -VOID CHECKNEIGHBOUR(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * Msg); -VOID ProcessINP3RIF(struct ROUTE * Route, UCHAR * ptr1, int msglen, int Port); -VOID ProcessRTTMsg(struct ROUTE * Route, struct _L3MESSAGEBUFFER * Buff, int Len, int Port); -VOID FRAMEFORUS(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG, int ApplMask, UCHAR * ApplCall); -void WriteConnectLog(char * fromCall, char * toCall, UCHAR * Mode); -void SendVARANetromMsg(struct TNCINFO * TNC, PL3MESSAGEBUFFER MSG); - -extern UINT APPLMASK; - -extern BOOL LogL4Connects; -extern BOOL LogAllConnects; - -// L4 Flags Values - -#define DISCPENDING 8 // SEND DISC WHEN ALL DATA ACK'ED - -extern APPLCALLS * APPL; - -VOID NETROMMSG(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG) -{ - // MAKE SURE PID IS 0CF - IN CASE SOMEONE IS SENDING L2 STUFF ON WHAT - // WE THINK IS A _NODE-_NODE LINK - - struct DEST_LIST * DEST; - - int n; - - if (L3MSG->L3PID != 0xCF) - { - ReleaseBuffer(L3MSG); - return; - } - - if (LINK->NEIGHBOUR == 0) - { - // NO ROUTE ASSOCIATED WITH THIS CIRCUIT - SET ONE UP - - CHECKNEIGHBOUR(LINK, L3MSG); - - if (LINK->NEIGHBOUR == 0) - { - // COULDNT SET UP NEIGHBOUR - CAN ONLY THROW IT AWAY - - ReleaseBuffer(L3MSG); - return; - } - } - - // See if a INP3 RIF (first Byte 0xFF) - - if (L3MSG->L3SRCE[0] == 0xff) - { - // INP3 - - ProcessINP3RIF(LINK->NEIGHBOUR, &L3MSG->L3SRCE[1], L3MSG->LENGTH - (MSGHDDRLEN + 2), L3MSG->Port); // = 2 = PID + FF Flag - ReleaseBuffer(L3MSG); - return; - } - - APPLMASK = 0; // NOT APPLICATION - - if (NODE) // _NODE SUPPORT INCLUDED? - { - - if (CompareCalls(L3MSG->L3DEST, MYCALL)) - { - FRAMEFORUS(LINK, L3MSG, APPLMASK, MYCALL); - return; - } - } - - // CHECK ALL L4 CALLS - - APPLMASK = 1; - ALIASPTR = &CMDALIAS[0][0]; - - n = NumberofAppls; - - APPL = APPLCALLTABLE; - - while (n--) - { - if (APPL->APPLCALL[0] > 0x40) // Valid ax.25 addr - { - if (CompareCalls(L3MSG->L3DEST, APPL->APPLCALL)) - { - FRAMEFORUS(LINK, L3MSG, APPLMASK, APPL->APPLCALL); - return; - } - } - APPLMASK <<= 1; - ALIASPTR += ALIASLEN; - APPL++; - } - - // IS IT INP3 (L3RTT) - - if (CompareCalls(L3MSG->L3DEST, L3RTT)) - { - ProcessRTTMsg(LINK->NEIGHBOUR, L3MSG, L3MSG->LENGTH, L3MSG->Port); - return; - } - - L3MSG->L3TTL--; - - if (L3MSG->L3TTL == 0) - { - ReleaseBuffer(L3MSG); - return; - } - - // If it is a record route frame we should add our call to the list before sending on - - if (L3MSG->L4FLAGS == 0 && L3MSG->L4ID == 1 && L3MSG->L4INDEX == 0) - { - // Add our call on end, and increase count - - int Len = L3MSG->LENGTH; - int Count; - - UCHAR * ptr = (UCHAR *)L3MSG; - - if (Len < 248) - { - ptr += (Len - 1); - - Count = (*(ptr++)) & 0x7F; // Mask End of Route - - memcpy(ptr, MYCALL, 7); - - ptr += 7; - - Count--; - *(ptr) = Count; - - if (Count) - L3MSG->LENGTH += 8; - } - } - - if (L3MSG->L3TTL > L3LIVES) - L3MSG->L3TTL = L3LIVES; // ENFORCE LIMIT ON ALL FRAMES SENT - - if (FindDestination(L3MSG->L3DEST, &DEST) == 0) - { - ReleaseBuffer(L3MSG); // CANT FIND DESTINATION - return; - } - - // IF MESSAGE ORIGINTED HERE, THERE MUST BE A ROUTING LOOP - - // THERE IS LITTLE POINT SENDING IT OVER THE SAME ROUTE AGAIN, - // SO SET ANOTHER ROUTE ACTIVE IF POSSIBLE - - if (CompareCalls(L3MSG->L3SRCE, MYCALL) || CompareCalls(L3MSG->L3SRCE, APPLCALLTABLE->APPLCALL)) - { - // MESSAGE HAS COME BACK TO ITS STARTING POINT - ACTIVATE ANOTHER ROUTE, - // UNLESS THERE IS ONLY ONE, IN WHICH CASE DISCARD IT - - if (DEST->NRROUTE[1].ROUT_NEIGHBOUR == 0) // No more routes - { - ReleaseBuffer(L3MSG); - return; - } - - DEST->DEST_ROUTE++; - - if (DEST->DEST_ROUTE == 4) // TO NEXT - DEST->DEST_ROUTE = 1; // TRY TO ACTIVATE FIRST - } - - // IF CURRENT ROUTE IS BACK THE WAY WE CAME, THEN ACTIVATE - //ANOTHER (IF POSSIBLE). - - if (DEST->DEST_ROUTE) - { - if (DEST->NRROUTE[DEST->DEST_ROUTE -1].ROUT_NEIGHBOUR == LINK->NEIGHBOUR) - { - // Current ROUTE IS BACK THE WAY WE CAME - ACTIVATE ANOTHER IF POSSIBLE - - DEST->DEST_ROUTE++; - if (DEST->DEST_ROUTE == 4) - DEST->DEST_ROUTE =1; - } - goto NO_PROBLEM; - } - else - { - // DONT HAVE AN ACTIVE ROUTE - - if (DEST->NRROUTE[0].ROUT_NEIGHBOUR == LINK->NEIGHBOUR) - { - // FIRST ROUTE IS BACK THE WAY WE CAME - ACTIVATE ANOTHER IF POSSIBLE - - DEST->DEST_ROUTE = 2; // WILL BE RESET BY L3 CODE IF THERE IS NOT OTHER ROUTE - } - } - -NO_PROBLEM: - - CHECKL3TABLES(LINK, L3MSG); - -// EVEN IF WE CANT PUT ORIGINATING NODE INTO OUR TABLES, PASS MSG ON -// ANYWAY - THE FINAL TARGET MAY HAVE ANOTHER WAY BACK - - - C_Q_ADD(&DEST->DEST_Q, L3MSG); - - L3FRAMES++; -} - -VOID SENDL4MESSAGE(TRANSPORTENTRY * L4, struct DATAMESSAGE * Msg) -{ - L3MESSAGEBUFFER * L3MSG; - struct DEST_LIST * DEST; - struct DATAMESSAGE * Copy; - int FRAGFLAG = 0; - int Len; - - // These make it simpler to understand code - -#define NullPKTLen 4 + sizeof(void *) // 4 is Port, Len, PID -#define MaxL4Len 236 + 4 + sizeof(void *) // Max NETROM Size - - - if (Msg->LENGTH == NullPKTLen) - { - // NO DATA - DISCARD IT - - ReleaseBuffer(Msg); - return; - } - - L3MSG = GetBuff(); - - if (L3MSG == 0) - { - // DONT THINK WE SHOULD GET HERE, UNLESS _QCOUNT IS CORRUPT, - // BUT IF WE DO, SHOULD RETURN MSG TO FREE Q - START TIMER, AND - // DROP THROUGH TO RELBUFF - - L4->L4TIMER = L4->SESSIONT1; - - ReleaseBuffer(Msg); - return; - } - - L3MSG->L3PID = 0xCF; // NET MESSAGE - - memcpy(L3MSG->L3SRCE, L4->L4MYCALL, 7); - - DEST = L4->L4TARGET.DEST; - memcpy(L3MSG->L3DEST, DEST->DEST_CALL, 7); - - L3MSG->L3TTL = L3LIVES; - - L3MSG->L4ID = L4->FARID; - L3MSG->L4INDEX = L4->FARINDEX; - - L3MSG->L4TXNO = L4->TXSEQNO; - - // SET UP RTT TIMER - - if (L4->RTT_TIMER == 0) - { - L4->RTT_SEQ = L4->TXSEQNO; - - L4->RTT_TIMER = GetTickCount(); - } - - L4->TXSEQNO++; - - - L4->L4LASTACKED = L3MSG->L4RXNO = L4->RXSEQNO; // SAVE LAST NUMBER ACKED - - // SEE IF CROSSSESSION IS BUSY - - GETBUSYBIT(L4); // Sets BUSY in NAKBITS if Busy - - L3MSG->L4FLAGS = L4INFO | L4->NAKBITS; - - L4->L4TIMER = L4->SESSIONT1; // SET TIMER - L4->L4ACKREQ = 0; // CANCEL ACK NEEDED - - Len = Msg->LENGTH; - - if (Len > MaxL4Len) // 236 DATA + 8 HEADER - { - // MUST FRAGMENT MESSAGE - - L3MSG->L4FLAGS |= L4MORE; - FRAGFLAG = 1; - - Len = MaxL4Len; - } - - Len += 20; // L3/4 Header - - L3MSG->LENGTH = Len; - - Len -= (20 + NullPKTLen); // Actual Data - - memcpy(L3MSG->L4DATA, Msg->L2DATA, Len); - - // CREATE COPY FOR POSSIBLE RETRY - - Copy = GetBuff(); - - if (Copy == 0) - { - // SHOULD NEVER HAPPEN - - ReleaseBuffer(Msg); - return; - } - - memcpy(Copy, L3MSG, L3MSG->LENGTH); - - // If we have fragmented, we should adjust length, or retry will send too much - // (bug in .asm code) - - if (FRAGFLAG) - Copy->LENGTH = MaxL4Len; - - C_Q_ADD(&L4->L4HOLD_Q, Copy); - - C_Q_ADD(&DEST->DEST_Q, L3MSG); - - DEST->DEST_COUNT++; // COUNT THEM - - L4FRAMESTX++; - - if (FRAGFLAG) - { - // MESSAGE WAS TOO BIG - ADJUST IT AND LOOP BACK - - Msg->LENGTH -= 236; - - memmove(Msg->L2DATA, &Msg->L2DATA[236], Msg->LENGTH - NullPKTLen); - - SENDL4MESSAGE(L4, Msg); - } -} - - -int GETBUSYBIT(TRANSPORTENTRY * L4) -{ - // SEE IF CROSSSESSION IS BUSY - - L4->NAKBITS &= ~L4BUSY; // Clear busy - - L4->NAKBITS |= CHECKIFBUSYL4(L4); // RETURNS AL WITH BUSY BIT SET IF CROSSSESSION IS BUSY - - return L4->NAKBITS; -} - -VOID Q_IP_MSG(MESSAGE * Buffer) -{ - if (IPHOSTVECTOR.HOSTAPPLFLAGS & 0x80) - { - // CHECK WE ARENT USING TOO MANY BUFFERS - - if (C_Q_COUNT(&IPHOSTVECTOR.HOSTTRACEQ) > 20) - ReleaseBuffer(Q_REM((void *)&IPHOSTVECTOR.HOSTTRACEQ)); - - C_Q_ADD(&IPHOSTVECTOR.HOSTTRACEQ, Buffer); - return; - } - - ReleaseBuffer(Buffer); -} - -VOID SENDL4CONNECT(TRANSPORTENTRY * Session) -{ - PL3MESSAGEBUFFER MSG = (PL3MESSAGEBUFFER)GetBuff(); - struct DEST_LIST * DEST = Session->L4TARGET.DEST; - - if (MSG == NULL) - return; - - if (DEST->DEST_CALL[0] == 0) - { - Debugprintf("Trying to send L4CREQ to NULL Destination"); - ReleaseBuffer(MSG); - return; - } - - MSG->L3PID = 0xCF; // NET MESSAGE - - memcpy(MSG->L3SRCE, Session->L4MYCALL, 7); - memcpy(MSG->L3DEST, DEST->DEST_CALL, 7); - - MSG->L3TTL = L3LIVES; - - MSG->L4INDEX = Session->CIRCUITINDEX; - MSG->L4ID = Session->CIRCUITID; - MSG->L4TXNO = 0; - MSG->L4RXNO = 0; - MSG->L4FLAGS = L4CREQ; - - MSG->L4DATA[0] = L4DEFAULTWINDOW; // PROPOSED WINDOW - - memcpy(&MSG->L4DATA[1], Session->L4USER, 7); // ORIG CALL - memcpy(&MSG->L4DATA[8], Session->L4MYCALL, 7); - - Session->L4TIMER = Session->SESSIONT1; // START TIMER - memcpy(&MSG->L4DATA[15], &Session->SESSIONT1, 2); // AND PUT IN MSG - - MSG->LENGTH = (int)(&MSG->L4DATA[17] - (UCHAR *)MSG); - - if (Session->SPYFLAG) - { - MSG->L4DATA[17] = 'Z'; // ADD SPY ON BBS FLAG - MSG->LENGTH++; - } - C_Q_ADD(&DEST->DEST_Q, (UINT *)MSG); -} - -void RETURNEDTONODE(TRANSPORTENTRY * Session) -{ - // SEND RETURNED TO ALIAS:CALL - - struct DATAMESSAGE * Msg = (struct DATAMESSAGE *)GetBuff(); - char Nodename[20]; - - if (Msg) - { - Msg->PID = 0xf0; - - Nodename[DecodeNodeName(MYCALLWITHALIAS, Nodename)] = 0; // null terminate - - Msg->LENGTH = (USHORT)sprintf(&Msg->L2DATA[0], "Returned to Node %s\r", Nodename) + 4 + sizeof(void *); - C_Q_ADD(&Session->L4TX_Q, (UINT *)Msg); - PostDataAvailable(Session); - } -} - - -extern void * BUFFER; - -VOID L4BG() -{ - // PROCESS DATA QUEUED ON SESSIONS - - int n = MAXCIRCUITS; - TRANSPORTENTRY * L4 = L4TABLE; - int MaxLinks = MAXLINKS; - UCHAR Outstanding; - struct DATAMESSAGE * Msg; - struct PORTCONTROL * PORT; - struct _LINKTABLE * LINK; - int Msglen, Paclen; - - while (n--) - { - if (L4->L4USER[0] == 0) - { - L4++; - continue; - } - while (L4->L4TX_Q) - { - if (L4->L4CIRCUITTYPE & BPQHOST) - break; // Leave on TXQ - - // SEE IF BUSY - NEED DIFFERENT TESTS FOR EACH SESSION TYPE - - if (L4->L4CIRCUITTYPE & SESSION) - { - // L4 SESSION - WILL NEED BUFFERS FOR SAVING COPY, - // AND POSSIBLY FRAGMENTATION - - if (QCOUNT < 15) - break; - - if (L4->FLAGS & L4BUSY) - { - // CHOKED - MAKE SURE TIMER IS RUNNING - - if (L4->L4TIMER == 0) - L4->L4TIMER = L4->SESSIONT1; - - break; - } - - // CHECK WINDOW - - Outstanding = L4->TXSEQNO - L4->L4WS; // LAST FRAME ACKED - GIVES NUMBER OUTSTANING - - // MOD 256, SO SHOULD HANDLE WRAP?? - - if (Outstanding > L4->L4WINDOW) - break; - - } - else if (L4->L4CIRCUITTYPE & L2LINK) - { - // L2 LINK - - LINK = L4->L4TARGET.LINK; - - if (COUNT_AT_L2(LINK) > 8) - break; - } - - // Not busy, so continue - - L4->L4KILLTIMER = 0; //RESET SESSION TIMEOUTS - - if(L4->L4CROSSLINK) - L4->L4CROSSLINK->L4KILLTIMER = 0; - - Msg = Q_REM((void *)&L4->L4TX_Q); - - if (L4->L4CIRCUITTYPE & PACTOR) - { - // PACTOR-like - queue to Port - - // Stream Number is in KAMSESSION - - Msg->PORT = L4->KAMSESSION; - PORT = L4->L4TARGET.PORT; - - C_Q_ADD(&PORT->PORTTX_Q, Msg); - - continue; - } - // non-pactor - - // IF CROSSLINK, QUEUE TO NEIGHBOUR, ELSE QUEUE ON LINK ENTRY - - if (L4->L4CIRCUITTYPE & SESSION) - { - SENDL4MESSAGE(L4, Msg); - ReleaseBuffer(Msg); - continue; - } - - LINK = L4->L4TARGET.LINK; - - // If we want to enforce PACLEN this may be a good place to do it - - Msglen = Msg->LENGTH - (MSGHDDRLEN + 1); //Dont include PID - Paclen = L4->SESSPACLEN; - - if (Paclen == 0) - Paclen = 256; - - if (Msglen > Paclen) - { - // Fragment it. - // Is it best to send Paclen packets then short or equal length? - // I think equal length; - - int Fragments = (Msglen + Paclen - 1) / Paclen; - int Fraglen = Msglen / Fragments; - - if ((Msglen & 1)) // Odd - Fraglen ++; - - while (Msglen > Fraglen) - { - PDATAMESSAGE Fragment = GetBuff(); - - if (Fragment == NULL) - break; // Cant do much else - - Fragment->PORT = Msg->PORT; - Fragment->PID = Msg->PID; - Fragment->LENGTH = Fraglen + (MSGHDDRLEN + 1); - - memcpy(Fragment->L2DATA, Msg->L2DATA, Fraglen); - - C_Q_ADD(&LINK->TX_Q, Fragment); - - memcpy(Msg->L2DATA, &Msg->L2DATA[Fraglen], Msglen - Fraglen); - Msglen -= Fraglen; - Msg->LENGTH -= Fraglen; - } - - // Drop through to send last bit - - } - - C_Q_ADD(&LINK->TX_Q, Msg); - } - - // if nothing on TX Queue If there is stuff on hold queue, timer must be running - -// if (L4->L4TX_Q == 0 && L4->L4HOLD_Q) - if (L4->L4HOLD_Q) - { - if (L4->L4TIMER == 0) - { - L4->L4TIMER = L4->SESSIONT1; - } - } - - // now check for rxed frames - - while(L4->L4RX_Q) - { - Msg = Q_REM((void *)&L4->L4RX_Q); - - IFRM150(L4, Msg); - - if (L4->L4USER[0] == 0) // HAVE JUST CLOSED SESSION! - goto NextSess; - } - - // IF ACK IS PENDING, AND WE ARE AT RX WINDOW, SEND ACK NOW - - Outstanding = L4->RXSEQNO - L4->L4LASTACKED; - if (Outstanding >= L4->L4WINDOW) - SENDL4IACK(L4); -NextSess: - L4++; - } -} - -VOID CLEARSESSIONENTRY(TRANSPORTENTRY * Session) -{ - - // RETURN ANY QUEUED BUFFERS TO FREE QUEUE - - while (Session->L4TX_Q) - ReleaseBuffer(Q_REM((void *)&Session->L4TX_Q)); - - while (Session->L4RX_Q) - ReleaseBuffer(Q_REM((void *)&Session->L4RX_Q)); - - while (Session->L4HOLD_Q) - ReleaseBuffer(Q_REM((void *)&Session->L4HOLD_Q)); - - if (C_Q_COUNT(&Session->L4RESEQ_Q) > Session->L4WINDOW) - { - Debugprintf("Corrupt RESEQ_Q Q Len %d Free Buffs %d", C_Q_COUNT(&Session->L4RESEQ_Q), QCOUNT); - Session->L4RESEQ_Q = 0; - } - - while (Session->L4RESEQ_Q) - ReleaseBuffer(Q_REM((void *)&Session->L4RESEQ_Q)); - - if (Session->PARTCMDBUFFER) - ReleaseBuffer(Session->PARTCMDBUFFER); - - memset(Session, 0, sizeof(TRANSPORTENTRY)); -} - -VOID CloseSessionPartner(TRANSPORTENTRY * Session) -{ - // SEND CLOSE TO CROSSLINKED SESSION AND CLEAR LOCAL SESSION - - if (Session == NULL) - return; - - if (Session->L4CROSSLINK) - CLOSECURRENTSESSION(Session->L4CROSSLINK); - - CLEARSESSIONENTRY(Session); -} - - -VOID CLOSECURRENTSESSION(TRANSPORTENTRY * Session) -{ - MESSAGE * Buffer; - struct _LINKTABLE * LINK; - -// SHUT DOWN SESSION AND UNLINK IF CROSSLINKED - - if (Session == NULL) - return; - - Session->L4CROSSLINK = NULL; - - // IF STAY FLAG SET, KEEP SESSION, AND SEND MESSAGE - - if (Session->STAYFLAG) - { - RETURNEDTONODE(Session); - Session->STAYFLAG = 0; // Only do it once - return; - } - - if (Session->L4CIRCUITTYPE & BPQHOST) - { - // BPQ HOST MODE SESSION - INDICATE STATUS CHANGE - - PBPQVECSTRUC HOST = Session->L4TARGET.HOST; - HOST->HOSTSESSION = 0; - HOST->HOSTFLAGS |= 3; /// State Change - - PostStateChange(Session); - CLEARSESSIONENTRY(Session); - return; - } - - if (Session->L4CIRCUITTYPE & PACTOR) - { - // PACTOR-type (Session linked to Port) - - struct _EXTPORTDATA * EXTPORT = Session->L4TARGET.EXTPORT; - - // If any data is queued, move it to the port entry, so it can be sent before the disconnect - - while (Session->L4TX_Q) - { - Buffer = Q_REM((void *)&Session->L4TX_Q); - EXTPORT->PORTCONTROL.PORTTXROUTINE(EXTPORT, Buffer); - } - - EXTPORT->ATTACHEDSESSIONS[Session->KAMSESSION] = NULL; - - CLEARSESSIONENTRY(Session); - return; - } - - if (Session->L4CIRCUITTYPE & SESSION) - { - // L4 SESSION TO CLOSE - - if (Session->L4HOLD_Q || Session->L4TX_Q) // WAITING FOR ACK or MORE TO SEND - SEND DISC LATER - { - Session->FLAGS |= DISCPENDING; // SEND DISC WHEN ALL DATA ACKED - return; - } - - SENDL4DISC(Session); - return; - } - - // Must be LEVEL 2 SESSION TO CLOSE - - // COPY ANY PENDING DATA TO L2 TX Q, THEN GET RID OF SESSION - - LINK = Session->L4TARGET.LINK; - - if (LINK == NULL) // just in case! - { - CLEARSESSIONENTRY(Session); - return; - } - - while (Session->L4TX_Q) - { - Buffer = Q_REM((void *)&Session->L4TX_Q); - C_Q_ADD(&LINK->TX_Q, Buffer); - } - - // NOTHING LEFT AT SESSION LEVEL - - LINK->CIRCUITPOINTER = NULL; // CLEAR REVERSE LINK - - if ((LINK->LINKWS != LINK->LINKNS) || LINK->TX_Q) - { - // STILL MORE TO SEND - SEND DISC LATER - - LINK->L2FLAGS |= DISCPENDING; // SEND DISC WHEN ALL DATA ACKED - } - else - { - // NOTHING QUEUED - CAN SEND DISC NOW - - LINK->L2STATE = 4; // DISCONNECTING - LINK->L2TIMER = 1; // USE TIMER TO KICK OFF DISC - } - - CLEARSESSIONENTRY(Session); - -} - -VOID L4TimerProc() -{ - // CHECK FOR TIMER EXPIRY - - int n = MAXCIRCUITS; - TRANSPORTENTRY * L4 = L4TABLE; - TRANSPORTENTRY * Partner; - int MaxLinks = MAXLINKS; - - while (n--) - { - if (L4->L4USER[0] == 0) - { - L4++; - continue; - } - - // CHECK FOR L4BUSY SET AND NO LONGER BUSY - - if (L4->NAKBITS & L4BUSY) - { - if ((CHECKIFBUSYL4(L4) & L4BUSY) == 0) - { - // no longer busy - - L4->NAKBITS &= ~L4BUSY; // Clear busy - L4->L4ACKREQ = 1; // SEND ACK - } - } - - if (L4->L4TIMER) // Timer Running? - { - L4->L4TIMER--; - if (L4->L4TIMER == 0) // Expired - L4TIMEOUT(L4); - } - - if (L4->L4ACKREQ) // DELAYED ACK Timer Running? - { - L4->L4ACKREQ--; - if (L4->L4ACKREQ == 0) // Expired - SENDL4IACK(L4); - } - - L4->L4KILLTIMER++; - - // IF BIT 6 OF APPLFLAGS SET, SEND MSG EVERY 11 MINS TO KEEP SESSION OPEN - - if (L4->L4CROSSLINK) // CONNECTED? - if (L4->SESS_APPLFLAGS & 0x40) - if (L4->L4KILLTIMER > 11 * 60) - AUTOTIMER(L4); - - if (L4->L4LIMIT == 0) - L4->L4LIMIT = L4LIMIT; - else - { - if (L4->L4KILLTIMER > L4->L4LIMIT) - { - L4->L4KILLTIMER = 0; - - // CLOSE THIS SESSION, AND ITS PARTNER (IF ANY) - - L4->STAYFLAG = 0; - - Partner = L4->L4CROSSLINK; - CLOSECURRENTSESSION(L4); - - if (Partner) - { - Partner->L4KILLTIMER = 0; //ITS TIMES IS ALSO ABOUT TO EXPIRE - CLOSECURRENTSESSION(Partner); // CLOSE THIS ONE - } - } - } - L4++; - } -} - -VOID L4TIMEOUT(TRANSPORTENTRY * L4) -{ - // TIMER EXPIRED - - // IF LINK UP REPEAT TEXT - // IF S2, REPEAT CONNECT REQUEST - // IF S4, REPEAT DISCONNECT REQUEST - - struct DATAMESSAGE * Msg; - struct DATAMESSAGE * Copy; - struct DEST_LIST * DEST; - - if (L4->L4STATE < 2) - return; - - if (L4->L4STATE == 2) - { - // RETRY CONNECT - - L4->L4RETRIES++; - - if (L4->L4RETRIES > L4N2) - { - // RETRIED N2 TIMES - FAIL LINK - - L4CONNECTFAILED(L4); // TELL OTHER PARTNER IT FAILED - CLEARSESSIONENTRY(L4); - return; - } - - Debugprintf("Retrying L4 Connect Request"); - - SENDL4CONNECT(L4); // Resend connect - return; - } - - if (L4->L4STATE == 4) - { - // RETRY DISCONNECT - - L4->L4RETRIES++; - - if (L4->L4RETRIES > L4N2) - { - // RETRIED N2 TIMES - FAIL LINK - - - CLEARSESSIONENTRY(L4); - return; - } - - SENDL4DISC(L4); // Resend connect - return; - } - // STATE 5 OR ABOVE - RETRY INFO - - - L4->FLAGS &= ~L4BUSY; // CANCEL CHOKE - - L4->L4RETRIES++; - - if (L4->L4RETRIES > L4N2) - { - // RETRIED N2 TIMES - FAIL LINK - - CloseSessionPartner(L4); // SEND CLOSE TO PARTNER (IF PRESENT) - return; - } - - // RESEND ALL OUTSTANDING FRAMES - - L4->FLAGS &= 0x7F; // CLEAR CHOKED - - Msg = L4->L4HOLD_Q; - - while (Msg) - { - Copy = GetBuff(); - - if (Copy == 0) - return; - - memcpy(Copy, Msg, Msg->LENGTH); - - DEST = L4->L4TARGET.DEST; - - C_Q_ADD(&DEST->DEST_Q, Copy); - - L4FRAMESRETRIED++; - - Msg = Msg->CHAIN; - } -} - -VOID AUTOTIMER(TRANSPORTENTRY * L4) -{ - // SEND MESSAGE TO USER TO KEEP CIRCUIT OPEN - - struct DATAMESSAGE * Msg = GetBuff(); - - if (Msg == 0) - return; - - Msg->PID = 0xf0; - Msg->L2DATA[0] = 0; - Msg->L2DATA[1] = 0; - - Msg->LENGTH = MSGHDDRLEN + 3; - - C_Q_ADD(&L4->L4TX_Q, Msg); - - PostDataAvailable(L4); - - L4->L4KILLTIMER = 0; - - if (L4->L4CROSSLINK) - L4->L4CROSSLINK->L4KILLTIMER = 0; -} - -VOID L4CONNECTFAILED(TRANSPORTENTRY * L4) -{ - // CONNECT HAS TIMED OUT - SEND MESSAGE TO OTHER END - - struct DATAMESSAGE * Msg; - TRANSPORTENTRY * Partner; - UCHAR * ptr1; - char Nodename[20]; - struct DEST_LIST * DEST; - - Partner = L4->L4CROSSLINK; - - if (Partner == 0) - return; - - Msg = GetBuff(); - - if (Msg == 0) - return; - - Msg->PID = 0xf0; - - ptr1 = SetupNodeHeader(Msg); - - DEST = L4->L4TARGET.DEST; - Nodename[DecodeNodeName(DEST->DEST_CALL, Nodename)] = 0; // null terminate - - ptr1 += sprintf(ptr1, "Failure with %s\r", Nodename); - - Msg->LENGTH = (int)(ptr1 - (UCHAR *)Msg); - - C_Q_ADD(&Partner->L4TX_Q, Msg); - - PostDataAvailable(Partner); - - Partner->L4CROSSLINK = 0; // Back to command lewel -} - - -VOID ProcessIframe(struct _LINKTABLE * LINK, PDATAMESSAGE Buffer) -{ - // IF UP/DOWN LINK, AND CIRCUIT ESTABLISHED, ADD LEVEL 3/4 HEADERS - // (FRAGMENTING IF NECESSARY), AND PASS TO TRANSPORT CONTROL - // FOR ESTABLISHED ROUTE - - // IF INTERNODE MESSAGE, PASS TO ROUTE CONTROL - - // IF UP/DOWN, AND NO CIRCUIT, PASS TO COMMAND HANDLER - - TRANSPORTENTRY * Session; - - // IT IS POSSIBLE TO MULTIPLEX NETROM AND IP STUFF ON THE SAME LINK - - if (Buffer->PID == 0xCC || Buffer->PID == 0xCD) - { - Q_IP_MSG((MESSAGE *)Buffer); - return; - } - - if (Buffer->PID == 0xCF) - { - // INTERNODE frame - - // IF LINKTYPE IS NOT 3, MUST CHECK IF WE HAVE ACCIDENTALLY ATTACHED A BBS PORT TO THE NODE - - if (LINK->LINKTYPE != 3) - { - if (LINK->CIRCUITPOINTER) - { - // MUST KILL SESSION - - InformPartner(LINK, NORMALCLOSE); // CLOSE IT - LINK->CIRCUITPOINTER = NULL; // AND UNHOOK - } - LINK->LINKTYPE = 3; // NOW WE KNOW ITS A CROSSLINK - } - - NETROMMSG(LINK, (L3MESSAGEBUFFER *)Buffer); - return; - } - - if (LINK->LINKTYPE == 3) - { - // Weve receved a non- netrom frame on an inernode link - - ReleaseBuffer(Buffer); - return; - } - - if (LINK->CIRCUITPOINTER) - { - // Pass to Session - - IFRM150(LINK->CIRCUITPOINTER, Buffer); - return; - } - - // UPLINK MESSAGE WITHOUT LEVEL 4 ENTRY - CREATE ONE - - Session = SetupSessionForL2(LINK); - - if (Session == NULL) - return; - - CommandHandler(Session, Buffer); - return; -} - - -VOID IFRM100(struct _LINKTABLE * LINK, PDATAMESSAGE Buffer) -{ - TRANSPORTENTRY * Session; - - if (LINK->CIRCUITPOINTER) - { - // Pass to Session - - IFRM150(LINK->CIRCUITPOINTER, Buffer); - return; - } - - // UPLINK MESSAGE WITHOUT LEVEL 4 ENTRY - CREATE ONE - - Session = SetupSessionForL2(LINK); - - if (Session == NULL) - return; - - CommandHandler(Session, Buffer); - return; -} - - -VOID IFRM150(TRANSPORTENTRY * Session, PDATAMESSAGE Buffer) -{ - TRANSPORTENTRY * Partner; - struct _LINKTABLE * LINK; - - Session->L4KILLTIMER = 0; // RESET SESSION TIMEOUT - - if (Session->L4CROSSLINK == NULL) // CONNECTED? - { - // NO, SO PASS TO COMMAND HANDLER - - CommandHandler(Session, Buffer); - return; - } - - Partner = Session->L4CROSSLINK; // TO SESSION PARTNER - - if (Partner->L4STATE == 5) - { - C_Q_ADD(&Partner->L4TX_Q, Buffer); - PostDataAvailable(Partner); - return; - } - - - - // MESSAGE RECEIVED BEFORE SESSION IS UP - CANCEL SESSION - // AND PASS MESSAGE TO COMMAND HANDLER - - if (Partner->L4CIRCUITTYPE & L2LINK) // L2 SESSION? - { - // MUST CANCEL L2 SESSION - - LINK = Partner->L4TARGET.LINK; - LINK->CIRCUITPOINTER = NULL; // CLEAR REVERSE LINK - - LINK->L2STATE = 4; // DISCONNECTING - LINK->L2TIMER = 1; // USE TIMER TO KICK OFF DISC - - LINK->L2RETRIES = LINK->LINKPORT->PORTN2 - 2; //ONLY SEND DISC ONCE - } - - CLEARSESSIONENTRY(Partner); - - Session->L4CROSSLINK = 0; // CLEAR CROSS LINK - CommandHandler(Session, Buffer); - return; -} - - -VOID SENDL4DISC(TRANSPORTENTRY * Session) -{ - L3MESSAGEBUFFER * MSG; - struct DEST_LIST * DEST = Session->L4TARGET.DEST; - - if (Session->L4STATE < 4) - { - // CIRCUIT NOT UP OR CLOSING - PROBABLY NOT YET SET UP - JUST ZAP IT - - CLEARSESSIONENTRY(Session); - return; - } - - Session->L4TIMER = Session->SESSIONT1; // START TIMER - Session->L4STATE = 4; // SET DISCONNECTING - Session->L4ACKREQ = 0; // CANCEL ACK NEEDED - - MSG = GetBuff(); - - if (MSG == NULL) - return; - - MSG->L3PID = 0xCF; // NET MESSAGE - - memcpy(MSG->L3SRCE, Session->L4MYCALL, 7); - memcpy(MSG->L3DEST, DEST->DEST_CALL, 7); - MSG->L3TTL = L3LIVES; - MSG->L4INDEX = Session->FARINDEX; - MSG->L4ID = Session->FARID; - MSG->L4TXNO = 0; - MSG->L4FLAGS = L4DREQ; - - MSG->LENGTH = (int)(&MSG->L4DATA[0] - (UCHAR *)MSG); - - C_Q_ADD(&DEST->DEST_Q, (UINT *)MSG); -} - - -void WriteL4LogLine(UCHAR * mycall, UCHAR * call, UCHAR * node) -{ - UCHAR FN[MAX_PATH]; - FILE * L4LogHandle; - time_t T; - struct tm * tm; - - char Call1[12], Call2[12], Call3[12]; - - char LogMsg[256]; - int MsgLen; - - Call1[ConvFromAX25(mycall, Call1)] = 0; - Call2[ConvFromAX25(call, Call2)] = 0; - Call3[ConvFromAX25(node, Call3)] = 0; - - - T = time(NULL); - tm = gmtime(&T); - - sprintf(FN,"%s/L4Log_%02d%02d.txt", BPQDirectory, tm->tm_mon + 1, tm->tm_mday); - - L4LogHandle = fopen(FN, "ab"); - - if (L4LogHandle == NULL) - return; - - MsgLen = sprintf(LogMsg, "%02d:%02d:%02d Call to %s from %s at Node %s\r\n", tm->tm_hour, tm->tm_min, tm->tm_sec, Call1, Call2, Call3); - - fwrite(LogMsg , 1, MsgLen, L4LogHandle); - - fclose(L4LogHandle); -} - -VOID CONNECTREQUEST(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG, UINT ApplMask, UCHAR * ApplCall) -{ - // CONNECT REQUEST - SEE IF EXISTING SESSION - // IF NOT, GET AND FORMAT SESSION TABLE ENTRY - // SEND CONNECT ACK - - // EDI = _BUFFER, EBX = LINK - - TRANSPORTENTRY * L4; - int BPQNODE = 0; // NOT ONE OF MINE - char BPQPARAMS[10]; // Extended Connect Params from BPQ Node - int CONERROR; - int Index; - - memcpy(BPQPARAMS, &L4T1, 2); // SET DEFAULT T1 IN CASE NOT FROM ANOTHER BPQ NODE - - BPQPARAMS[2] = 0; // 'SPY' NOT SET - - if (CheckExcludeList(&L3MSG->L4DATA[1]) == 0) - { - SendConNAK(LINK, L3MSG); - return; - } - - if (FINDCIRCUIT(L3MSG, &L4, &Index)) - { - // SESSION EXISTS - ASSUME RETRY AND SEND ACK - - SendConACK(LINK, L4, L3MSG, BPQNODE, ApplMask, ApplCall); - return; - } - - - if (L4 == 0) - { - SendConNAK(LINK, L3MSG); - return; - } - - L4->CIRCUITINDEX = Index; - - SETUPNEWCIRCUIT(LINK, L3MSG, L4, BPQPARAMS, ApplMask, &BPQNODE); - - if (L4->L4TARGET.DEST == 0) - { - // NODE NOT IN TABLE, AND TABLE FULL - CANCEL IT - - memset(L4, 0, sizeof (TRANSPORTENTRY)); - SendConNAK(LINK, L3MSG); - return; - } - // IF CONNECT TO APPL, ALLOCATE BBS PORT - - if (ApplMask == 0 || BPQPARAMS[2] == 'Z') // Z is "Spy" Connect - { - SendConACK(LINK, L4, L3MSG, BPQNODE, ApplMask, ApplCall); - - return; - } - - // IF APPL CONNECT, SEE IF APPL HAS AN ALIAS - - - if (ALIASPTR[0] > ' ') - { - struct DATAMESSAGE * Msg; - - // ACCEPT THE CONNECT, THEN INVOKE THE ALIAS - - SendConACK(LINK, L4, L3MSG, BPQNODE, ApplMask, ApplCall); - - Msg = GetBuff(); - - if (Msg) - { - Msg->PID = 0xf0; - memcpy(Msg->L2DATA, APPL->APPLCMD, 12); - Msg->L2DATA[12] = 13; - Msg->LENGTH = MSGHDDRLEN + 12 + 2; // 2 for PID and CR - - C_Q_ADD(&L4->L4RX_Q, Msg); - return; - } - } - - if (cATTACHTOBBS(L4, ApplMask, PACLEN, &CONERROR)) - { - SendConACK(LINK, L4, L3MSG, BPQNODE, ApplMask, ApplCall); - return; - } - - // NO BBS AVAILABLE - - CLEARSESSIONENTRY(L4); - SendConNAK(LINK, L3MSG); - return; -} - -VOID SendConACK(struct _LINKTABLE * LINK, TRANSPORTENTRY * L4, L3MESSAGEBUFFER * L3MSG, BOOL BPQNODE, UINT Applmask, UCHAR * ApplCall) -{ - // SEND CONNECT ACK - - struct TNCINFO * TNC; - - L4CONNECTSIN++; - - L3MSG->L4TXNO = L4->CIRCUITINDEX; - L3MSG->L4RXNO = L4->CIRCUITID; - - L3MSG->L4DATA[0] = L4->L4WINDOW; //WINDOW - - L3MSG->L4FLAGS = L4CACK; - - if (LogL4Connects) - WriteL4LogLine(ApplCall, L4->L4USER, L3MSG->L3SRCE); - - if (LogAllConnects) - { - char From[64]; - char toCall[12], fromCall[12], atCall[12]; - - toCall[ConvFromAX25(ApplCall, toCall)] = 0; - fromCall[ConvFromAX25(L4->L4USER, fromCall)] = 0; - atCall[ConvFromAX25(L3MSG->L3SRCE, atCall)] = 0; - - sprintf(From, "%s at Node %s", fromCall, atCall); - WriteConnectLog(From, toCall, "NETROM"); - } - - - if (CTEXTLEN && Applmask == 0) // Connects to Node (not application) - { - struct DATAMESSAGE * Msg; - int Totallen = CTEXTLEN; - int Paclen= PACLEN; - UCHAR * ptr = CTEXTMSG; - - if (Paclen == 0) - Paclen = PACLEN; - - while(Totallen) - { - Msg = GetBuff(); - - if (Msg == NULL) - break; // No Buffers - - Msg->PID = 0xf0; - - if (Paclen > Totallen) - Paclen = Totallen; - - memcpy(Msg->L2DATA, ptr, Paclen); - Msg->LENGTH = Paclen + MSGHDDRLEN + 1; - - C_Q_ADD(&L4->L4TX_Q, Msg); // SEND MESSAGE TO CALLER - PostDataAvailable(L4); - ptr += Paclen; - Totallen -= Paclen; - } - } - - L3SWAPADDRESSES(L3MSG); - - L3MSG->L3TTL = L3LIVES; - - L3MSG->LENGTH = MSGHDDRLEN + 22; // CTL 20 BYTE Header Window - - if (BPQNODE) - { - L3MSG->L4DATA[1] = L3LIVES; // Our TTL - L3MSG->LENGTH++; - } - - TNC = LINK->LINKPORT->TNC; - - if (TNC && TNC->NetRomMode) - SendVARANetromMsg(TNC, L3MSG); - else - C_Q_ADD(&LINK->TX_Q, L3MSG); -} - -int FINDCIRCUIT(L3MESSAGEBUFFER * L3MSG, TRANSPORTENTRY ** REQL4, int * NewIndex) -{ - // FIND CIRCUIT FOR AN INCOMING MESSAGE - - TRANSPORTENTRY * L4 = L4TABLE; - TRANSPORTENTRY * FIRSTSPARE = NULL; - struct DEST_LIST * DEST; - - int Index = 0; - - while (Index < MAXCIRCUITS) - { - if (L4->L4USER[0] == 0) // Spare - { - if (FIRSTSPARE == NULL) - { - FIRSTSPARE = L4; - *NewIndex = Index; - } - - L4++; - Index++; - continue; - } - - DEST = L4->L4TARGET.DEST; - - if (DEST == NULL) - { - // L4 entry without a Dest shouldn't happen. (I don't think!) - - char Call1[12], Call2[12]; - - Call1[ConvFromAX25(L4->L4USER, Call1)] = 0; - Call2[ConvFromAX25(L4->L4MYCALL, Call2)] = 0; - - Debugprintf("L4 entry without Target. Type = %02x Calls %s %s", - L4->L4CIRCUITTYPE, Call1, Call2); - - L4++; - Index++; - continue; - } - - if (CompareCalls(L3MSG->L3SRCE, DEST->DEST_CALL)) - { - if (L4->FARID == L3MSG->L4ID && L4->FARINDEX == L3MSG->L4INDEX) - { - // Found it - - *REQL4 = L4; - return TRUE; - } - } - L4++; - Index++; - } - - // ENTRY NOT FOUND - FIRSTSPARE HAS FIRST FREE ENTRY, OR ZERO IF TABLE FULL - - *REQL4 = FIRSTSPARE; - return FALSE; -} - -VOID L3SWAPADDRESSES(L3MESSAGEBUFFER * L3MSG) -{ - // EXCHANGE ORIGIN AND DEST - - char Temp[7]; - - memcpy(Temp, L3MSG->L3SRCE, 7); - memcpy(L3MSG->L3SRCE, L3MSG->L3DEST, 7); - memcpy(L3MSG->L3DEST, Temp, 7); - - L3MSG->L3DEST[6] &= 0x1E; // Mack EOA and CMD - L3MSG->L3SRCE[6] &= 0x1E; - L3MSG->L3SRCE[6] |= 1; // Set Last Call -} - -VOID SendConNAK(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG) -{ - L3MSG->L4FLAGS = L4CACK | L4BUSY; // REJECT - L3MSG->L4DATA[0] = 0; // WINDOW - - L3SWAPADDRESSES(L3MSG); - L3MSG->L3TTL = L3LIVES; - - C_Q_ADD(&LINK->TX_Q, L3MSG); -} - -VOID SETUPNEWCIRCUIT(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG, - TRANSPORTENTRY * L4, char * BPQPARAMS, int ApplMask, int * BPQNODE) -{ - struct DEST_LIST * DEST; - int Maxtries = 2; // Just in case - - L4->FARINDEX = L3MSG->L4INDEX; - L4->FARID = L3MSG->L4ID; - - // Index set by caller - - L4->CIRCUITID = NEXTID; - - NEXTID++; - if (NEXTID == 0) - NEXTID++; // kEEP nON-ZERO - - L4->SESSIONT1 = L4T1; - - L4->L4WINDOW = (UCHAR)L4DEFAULTWINDOW; - - if (L3MSG->L4DATA[0] > L4DEFAULTWINDOW) - L4->L4WINDOW = L3MSG->L4DATA[0]; - - memcpy(L4->L4USER, &L3MSG->L4DATA[1], 7); // Originator's call from Call Request - - if (ApplMask) - { - // Should get APPLCALL if set ( maybe ??????????????? - } - -// MOV ESI,APPLCALLTABLEPTR -// LEA ESI,APPLCALL[ESI] - - memcpy(L4->L4MYCALL, MYCALL, 7); - - // GET BPQ EXTENDED CONNECT PARAMS IF PRESENT - - if (L3MSG->LENGTH == MSGHDDRLEN + 38 || L3MSG->LENGTH == MSGHDDRLEN + 39) - { - *BPQNODE = 1; - memcpy(BPQPARAMS, &L3MSG->L4DATA[15],L3MSG->LENGTH - (MSGHDDRLEN + 36)); - } - - L4->L4CIRCUITTYPE = SESSION | UPLINK; - L4->L4STATE = 5; - -TryAgain: - - DEST = CHECKL3TABLES(LINK, L3MSG); - - L4->L4TARGET.DEST = DEST; - - if (DEST == 0) - { - int WorstQual = 256; - struct DEST_LIST * WorstDest = NULL; - int n = MAXDESTS; - - // Node not it table and table full - - // Replace worst quality node with session counts of zero - - // But could have been excluded, so check - - if (CheckExcludeList(L3MSG->L3SRCE) == 0) - return; - - DEST = DESTS; - - while (n--) - { - if (DEST->DEST_COUNT == 0 && DEST->DEST_RTT == 0) // Not used and not INP3 - { - if (DEST->NRROUTE[0].ROUT_QUALITY < WorstQual) - { - WorstQual = DEST->NRROUTE[0].ROUT_QUALITY; - WorstDest = DEST; - } - } - DEST++; - } - - if (WorstDest) - { - REMOVENODE(WorstDest); - if (Maxtries--) - goto TryAgain; // We now have a spare (but protect against loop if something amiss) - } - - // Nothing to delete, so just ignore connect - - return; - } - - if (*BPQNODE) - { - SHORT T1; - - DEST->DEST_STATE |= 0x40; // SET BPQ _NODE BIT - memcpy((char *)&T1, BPQPARAMS, 2); - - if (T1 > 300) - L4->SESSIONT1 = L4T1; - else - L4->SESSIONT1 = T1; - } - else - L4->SESSIONT1 = L4T1; // DEFAULT TIMEOUT - - L4->SESSPACLEN = PACLEN; // DEFAULT -} - - -int CHECKIFBUSYL4(TRANSPORTENTRY * L4) -{ - // RETURN TOP BIT OF AL SET IF SESSION PARTNER IS BUSY - - int Count; - - if (L4->L4CROSSLINK) // CONNECTED? - Count = CountFramesQueuedOnSession(L4->L4CROSSLINK); - else - Count = CountFramesQueuedOnSession(L4); - - if (Count < L4->L4WINDOW) - return 0; - else - return L4BUSY; -} - -VOID FRAMEFORUS(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG, int ApplMask, UCHAR * ApplCall) -{ - // INTERNODE LINK - - TRANSPORTENTRY * L4; - struct DEST_LIST * DEST; - int Opcode; - char Nodename[20]; - char ReplyText[20]; - struct DATAMESSAGE * Msg; - TRANSPORTENTRY * Partner; - UCHAR * ptr1; - int FramesMissing; - L3MESSAGEBUFFER * Saved; - L3MESSAGEBUFFER ** Prev; - char Call[10]; - struct TNCINFO * TNC; - - L4FRAMESRX++; - - Opcode = L3MSG->L4FLAGS & 15; - - switch (Opcode) - { - case 0: - - // OPCODE 0 is used for a variety of functions, using L4INDEX and L4ID as qualifiers - // 0c0c is used for IP - - if (L3MSG->L4ID == 0x0C && L3MSG->L4INDEX == 0x0C) - { - Q_IP_MSG((MESSAGE *)L3MSG); - return; - } - - // 00 01 Seesm to be Netrom Record Route - - if (L3MSG->L4ID == 1 && L3MSG->L4INDEX == 0) - { - NRRecordRoute((UCHAR *)L3MSG, L3MSG->LENGTH); - return; - } - - ReleaseBuffer(L3MSG); - return; - - case L4CREQ: - - CONNECTREQUEST(LINK, L3MSG, ApplMask, ApplCall); - return; - } - - // OTHERS NEED A SESSION - - L4 = &L4TABLE[L3MSG->L4INDEX]; - - if (L4->CIRCUITID!= L3MSG->L4ID) - { - ReleaseBuffer(L3MSG); - return; - } - - if ((L4->L4CIRCUITTYPE & SESSION) == 0) - { - // Not an L4 Session - must be an old connection - - ReleaseBuffer(L3MSG); - return; - } - - // HAVE FOUND CORRECT SESSION ENTRY - - switch (Opcode) - { - case L4CACK: - - // CONNECT ACK - - DEST = L4->L4TARGET.DEST; - - // EXTRACT EXTENDED PARAMS IF PRESENT - - if (L3MSG->LENGTH > MSGHDDRLEN + 22) // Standard Msg - { - DEST->DEST_STATE &= 0x80; - DEST->DEST_STATE |= (L3MSG->L4DATA[1] - L3MSG->L3TTL) + 0x41; // Hops to dest + x40 - } - - Partner = L4->L4CROSSLINK; - - if (L3MSG->L4FLAGS & L4BUSY) - { - // Refused - - CLEARSESSIONENTRY(L4); - if (Partner) - Partner->L4CROSSLINK = NULL; // CLEAR CROSSLINK - - strcpy(ReplyText, "Busy from"); - } - else - { - // Connect OK - - if (L4->L4STATE == 5) - { - // MUST BE REPEAT MSG - DISCARD - - ReleaseBuffer(L3MSG); - return; - } - - L4->FARINDEX = L3MSG->L4TXNO; - L4->FARID = L3MSG->L4RXNO; - - L4->L4STATE = 5; // ACTIVE - L4->L4TIMER = 0; - L4->L4RETRIES = 0; - - L4->L4WINDOW = L3MSG->L4DATA[0]; - - strcpy(ReplyText, "Connected to"); - } - - if (Partner == 0) - { - ReleaseBuffer(L3MSG); - return; - } - - Msg = (PDATAMESSAGE)L3MSG; // reuse input buffer - - Msg->PID = 0xf0; - ptr1 = SetupNodeHeader(Msg); - - Nodename[DecodeNodeName(DEST->DEST_CALL, Nodename)] = 0; // null terminate - - ptr1 += sprintf(ptr1, "%s %s\r", ReplyText, Nodename); - - Msg->LENGTH = (int)(ptr1 - (UCHAR *)Msg); - - C_Q_ADD(&Partner->L4TX_Q, Msg); - - PostDataAvailable(Partner); - return; - - case L4DREQ: - - // DISCONNECT REQUEST - - L3MSG->L4INDEX = L4->FARINDEX; - L3MSG->L4ID = L4->FARID; - - L3MSG->L4FLAGS = L4DACK; - - L3SWAPADDRESSES(L3MSG); // EXCHANGE SOURCE AND DEST - L3MSG->L3TTL = L3LIVES; - - TNC = LINK->LINKPORT->TNC; - - if (TNC && TNC->NetRomMode) - SendVARANetromMsg(TNC, L3MSG); - else - C_Q_ADD(&LINK->TX_Q, L3MSG); - - CloseSessionPartner(L4); // SEND CLOSE TO PARTNER (IF PRESENT) - return; - - case L4DACK: - - CLEARSESSIONENTRY(L4); - ReleaseBuffer(L3MSG); - return; - - case L4INFO: - - //MAKE SURE SESSION IS UP - FIRST I FRAME COULD ARRIVE BEFORE CONNECT ACK - - if (L4->L4STATE == 2) - { - ReleaseBuffer(L3MSG); // SHOULD SAVE - WILL AVOID NEED TO RETRANSMIT - return; - } - - ACKFRAMES(L3MSG, L4, L3MSG->L4RXNO); - - // If DISCPENDING or STATE IS 4, THEN SESSION IS CLOSING - IGNORE ANY I FRAMES - - if ((L4->FLAGS & DISCPENDING) || L4->L4STATE == 4) - { - ReleaseBuffer(L3MSG); - return; - } - - // CHECK RECEIVED SEQUENCE - - FramesMissing = L3MSG->L4TXNO - L4->RXSEQNO; // WHAT WE GOT - WHAT WE WANT - - if (FramesMissing > 128) - FramesMissing -= 256; - - // if NUMBER OF FRAMES MISSING is -VE, THEN IN FACT IT INDICATES A REPEAT - - if (FramesMissing < 0) - { - // FRAME IS A REPEAT - - Call[ConvFromAX25(L3MSG->L3SRCE, Call)] = 0; - Debugprintf("Discarding repeated frame seq %d from %s", L3MSG->L4TXNO, Call); - - L4->L4ACKREQ = 1; - ReleaseBuffer(L3MSG); - return; - } - - if (FramesMissing > 0) - { - // EXPECTED FRAME HAS BEEN MISSED - ASK FOR IT AGAIN, - // AND KEEP THIS FRAME UNTIL MISSING ONE ARRIVES - - L4->NAKBITS |= L4NAK; // SET NAK REQUIRED - - SENDL4IACK(L4); // SEND DATA ACK COMMAND TO ACK OUTSTANDING FRAMES - - // SEE IF WE ALREADY HAVE A COPY OF THIS ONE -/* - Saved = L4->L4RESEQ_Q; - - Call[ConvFromAX25(L3MSG->L3SRCE, Call)] = 0; - Debugprintf("saving seq %d from %s", L3MSG->L4TXNO, Call); - - while (Saved) - { - if (Saved->L4TXNO == L3MSG->L4TXNO) - { - // ALREADY HAVE A COPY - DISCARD IT - - Debugprintf("Already have seq %d - discarding", L3MSG->L4TXNO); - ReleaseBuffer(L3MSG); - return; - } - - Saved = Saved->Next; - } - - C_Q_ADD(&L4->L4RESEQ_Q, L3MSG); // ADD TO CHAIN - return; -*/ - } - - // Frame is OK - -L4INFO_OK: - - if (L3MSG == 0) - { - Debugprintf("Trying to Process NULL L3 Message"); - return; - } - - L4->NAKBITS &= ~L4NAK; // CLEAR MESSAGE LOST STATE - - L4->RXSEQNO++; - - // REMOVE HEADERS, AND QUEUE INFO - - L3MSG->LENGTH -= 20; // L3/L4 Header - - if (L3MSG->LENGTH < (4 + sizeof(void *))) // No PID - { - ReleaseBuffer(L3MSG); - return; - } - - L3MSG->L3PID = 0xF0; // Normal Data PID - - memmove(L3MSG->L3SRCE, L3MSG->L4DATA, L3MSG->LENGTH - (4 + sizeof(void *))); - - REFRESHROUTE(L4); - - L4->L4ACKREQ = L4DELAY; // SEND INFO ACK AFTER L4DELAY (UNLESS I FRAME SENT) - - IFRM150(L4, (PDATAMESSAGE)L3MSG); // CHECK IF SETTING UP AND PASS ON - - // See if anything on reseq Q to process - - if (L4->L4RESEQ_Q == 0) - return; - - Prev = &L4->L4RESEQ_Q; - Saved = L4->L4RESEQ_Q; - - while (Saved) - { - if (Saved->L4TXNO == L4->RXSEQNO) // The one we want - { - // REMOVE IT FROM QUEUE,AND PROCESS IT - - *Prev = Saved->Next; // CHAIN NEXT IN CHAIN TO PREVIOUS - - OLDFRAMES++; // COUNT FOR STATS - - L3MSG = Saved; - Debugprintf("Processing Saved Message %d Address %x", L4->RXSEQNO, L3MSG); - goto L4INFO_OK; - } - - Debugprintf("Message %d %x still on Reseq Queue", Saved->L4TXNO, Saved); - - Prev = &Saved; - Saved = Saved->Next; - } - - return; - - case L4IACK: - - ACKFRAMES(L3MSG, L4, L3MSG->L4RXNO); - REFRESHROUTE(L4); - - // Drop Through - } - - // Unrecognised - Ignore - - ReleaseBuffer(L3MSG); - return; -} - - -VOID ACKFRAMES(L3MESSAGEBUFFER * L3MSG, TRANSPORTENTRY * L4, int NR) -{ - // SEE HOW MANY FRAMES ARE ACKED - IF NEGATIVE, THAN THIS MUST BE A - // DELAYED REPEAT OF AN ACK ALREADY PROCESSED - - int Count = NR - L4->L4WS; - L3MESSAGEBUFFER * Saved; - struct DEST_LIST * DEST; - struct DATAMESSAGE * Msg; - struct DATAMESSAGE * Copy; - int RTT; - - - if (Count < -128) - Count += 256; - - if (Count < 0) - { - // THIS MAY BE A DELAYED REPEAT OF AN ACK ALREADY PROCESSED - - return; // IGNORE COMPLETELY - } - - while (Count > 0) - { - // new ACK - - // FRAME L4WS HAS BEED ACKED - IT SHOULD BE FIRST ON HOLD QUEUE - - Saved = Q_REM((void *)&L4->L4HOLD_Q); - - if (Saved) - ReleaseBuffer(Saved); - - // CHECK RTT SEQUENCE - - if (L4->L4WS == L4->RTT_SEQ) - { - if (L4->RTT_TIMER) - { - // FRAME BEING TIMED HAS BEEN ACKED - UPDATE DEST RTT TIMER - - DEST = L4->L4TARGET.DEST; - - RTT = GetTickCount() - L4->RTT_TIMER; - - if (DEST->DEST_RTT == 0) - DEST->DEST_RTT = RTT; - else - DEST->DEST_RTT = ((DEST->DEST_RTT * 9) + RTT) /10; // 90% Old + New - } - } - - L4->L4WS++; - Count--; - } - - L4->L4TIMER = 0; - L4->L4RETRIES = 0; - - if (NR != L4->TXSEQNO) - { - // Not all Acked - - L4->L4TIMER = L4->SESSIONT1; // RESTART TIMER - } - else - { - if ((L4->FLAGS & DISCPENDING) && L4->L4TX_Q == 0) - { - // All Acked and DISC Pending, so send it - - SENDL4DISC(L4); - return; - } - } - - // SEE IF CHOKE SET - - L4->FLAGS &= ~L4BUSY; - - if (L3MSG->L4FLAGS & L4BUSY) - { - L4->FLAGS |= L3MSG->L4FLAGS & L4BUSY; // Get Busy flag from message - - if ((L3MSG->L4FLAGS & L4NAK) == 0) - return; // Dont send while biust unless NAC received - } - - if (L3MSG->L4FLAGS & L4NAK) - { - // RETRANSMIT REQUESTED MESSAGE - WILL BE FIRST ON HOLD QUEUE - - Msg = L4->L4HOLD_Q; - - if (Msg == 0) - return; - - Copy = GetBuff(); - - if (Copy == 0) - return; - - memcpy(Copy, Msg, Msg->LENGTH); - - DEST = L4->L4TARGET.DEST; - - C_Q_ADD(&DEST->DEST_Q, Copy); - } -} - - - - - - - - - - - - - - - -VOID SENDL4IACK(TRANSPORTENTRY * Session) -{ - // SEND INFO ACK - - PL3MESSAGEBUFFER MSG = (PL3MESSAGEBUFFER)GetBuff(); - struct DEST_LIST * DEST = Session->L4TARGET.DEST; - - if (MSG == NULL) - return; - - MSG->L3PID = 0xCF; // NET MESSAGE - - memcpy(MSG->L3SRCE, Session->L4MYCALL, 7); - memcpy(MSG->L3DEST, DEST->DEST_CALL, 7); - - MSG->L3TTL = L3LIVES; - - MSG->L4INDEX = Session->FARINDEX; - MSG->L4ID = Session->FARID; - - MSG->L4TXNO = 0; - - - MSG->L4RXNO = Session->RXSEQNO; - Session->L4LASTACKED = Session->RXSEQNO; // SAVE LAST NUMBER ACKED - - MSG->L4FLAGS = L4IACK | GETBUSYBIT(Session) | Session->NAKBITS; - - MSG->LENGTH = MSGHDDRLEN + 22; - - C_Q_ADD(&DEST->DEST_Q, (UINT *)MSG); -} - - - - -/* - PUBLIC KILLSESSION -KILLSESSION: - - pushad - push ebx - CALL _CLEARSESSIONENTRY - pop ebx - popad - - JMP L4CONN90 ; REJECT - - PUBLIC CONNECTACK -CONNECTACK: -; -; EXTRACT EXTENDED PARAMS IF PRESENT -; - - CMP BYTE PTR MSGLENGTH[EDI],L4DATA+1 - JE SHORT NOTBPQ - - MOV AL,L4DATA+1[EDI] - SUB AL,L3MONR[EDI] - ADD AL,41H ; HOPS TO DEST + 40H - - MOV ESI,L4TARGET[EBX] - AND DEST_STATE[ESI],80H - OR DEST_STATE[ESI],AL ; SAVE - - PUBLIC NOTBPQ -NOTBPQ: -; -; SEE IF SUCCESS OR FAIL -; - PUSH EDI - - MOV ESI,L4TARGET[EBX] ; ADDR OF LINK/DEST ENTRY - LEA ESI,DEST_CALL[ESI] - - CALL DECODENODENAME ; CONVERT TO ALIAS:CALL - - MOV EDI,OFFSET32 CONACKCALL - MOV ECX,17 - REP MOVSB - - - POP EDI - - TEST L4FLAGS[EDI],L4BUSY - JNZ SHORT L4CONNFAILED - - CMP L4STATE[EBX],5 - JE SHORT CONNACK05 ; MUST BE REPEAT MSG - DISCARD - - MOV AX,WORD PTR L4TXNO[EDI] ; HIS INDEX - MOV WORD PTR FARINDEX[EBX],AX - - MOV L4STATE[EBX],5 ; ACTIVE - MOV L4TIMER[EBX],0 ; CANCEL TIMER - MOV L4RETRIES[EBX],0 ; CLEAR RETRY COUNT - - MOV AL,L4DATA[EDI] ; WINDOW - MOV L4WINDOW[EBX],AL ; SET WINDOW - - MOV EDX,L4CROSSLINK[EBX] ; POINT TO PARTNER -; - MOV ESI,OFFSET32 CONNECTEDMSG - MOV ECX,LCONNECTEDMSG - - JMP SHORT L4CONNCOMM - - PUBLIC L4CONNFAILED -L4CONNFAILED: -; - MOV EDX,L4CROSSLINK[EBX] ; SAVE PARTNER - pushad - push ebx - CALL _CLEARSESSIONENTRY - pop ebx - popad - - PUSH EBX - - MOV EBX,EDX - MOV L4CROSSLINK[EBX],0 ; CLEAR CROSSLINK - POP EBX - - MOV ESI,OFFSET32 BUSYMSG ; ?? BUSY - MOV ECX,LBUSYMSG - - PUBLIC L4CONNCOMM -L4CONNCOMM: - - OR EDX,EDX - JNZ SHORT L4CONNOK10 -; -; CROSSLINK HAS GONE?? - JUST CHUCK MESSAGE -; - PUBLIC CONNACK05 -CONNACK05: - - JMP L4DISCARD - - PUBLIC L4CONNOK10 -L4CONNOK10: - - PUSH EBX - PUSH ESI - PUSH ECX - - MOV EDI,_BUFFER - - ADD EDI,7 - MOV AL,0F0H - STOSB ; PID - - CALL _SETUPNODEHEADER ; PUT IN _NODE ID - - - POP ECX - POP ESI - REP MOVSB - - MOV ESI,OFFSET32 CONACKCALL - MOV ECX,17 ; MAX LENGTH ALIAS:CALL - REP MOVSB - - MOV AL,0DH - STOSB - - MOV ECX,EDI - MOV EDI,_BUFFER - SUB ECX,EDI - - MOV MSGLENGTH[EDI],CX - - MOV EBX,EDX ; CALLER'S SESSION - - LEA ESI,L4TX_Q[EBX] - CALL _Q_ADD ; SEND MESSAGE TO CALLER - - CALL _POSTDATAAVAIL - - POP EBX ; ORIGINAL CIRCUIT TABLE - RET - - - PUBLIC SENDCONNECTREPLY -SENDCONNECTREPLY: -; -; LINK SETUP COMPLETE - EBX = LINK, EDI = _BUFFER -; - CMP LINKTYPE[EBX],3 - JNE SHORT CONNECTED00 -; -; _NODE - _NODE SESSION SET UP - DONT NEED TO DO ANYTHING (I THINK!) -; - CALL RELBUFF - RET - -; -; UP/DOWN LINK -; - PUBLIC CONNECTED00 -CONNECTED00: - CMP CIRCUITPOINTER[EBX],0 - JNE SHORT CONNECTED01 - - CALL RELBUFF ; UP/DOWN WITH NO SESSION - NOONE TO TELL - RET ; NO CROSS LINK - PUBLIC CONNECTED01 -CONNECTED01: - MOV _BUFFER,EDI - PUSH EBX - PUSH ESI - PUSH ECX - - ADD EDI,7 - MOV AL,0F0H - STOSB ; PID - - CALL _SETUPNODEHEADER ; PUT IN _NODE ID - - LEA ESI,LINKCALL[EBX] - - PUSH EDI - CALL CONVFROMAX25 ; ADDR OF CALLED STATION - POP EDI - - MOV EBX,CIRCUITPOINTER[EBX] - - MOV L4STATE[EBX],5 ; SET LINK UP - - MOV EBX,L4CROSSLINK[EBX] ; TO INCOMING LINK - cmp ebx,0 - jne xxx -; -; NO LINK ??? -; - MOV EDI,_BUFFER - CALL RELBUFF - - POP ECX - POP ESI - POP EBX - - RET - - PUBLIC xxx -xxx: - - POP ECX - POP ESI - REP MOVSB - - MOV ESI,OFFSET32 _NORMCALL - MOVZX ECX,_NORMLEN - REP MOVSB - - MOV AL,0DH - STOSB - - MOV ECX,EDI - MOV EDI,_BUFFER - SUB ECX,EDI - - MOV MSGLENGTH[EDI],CX - - LEA ESI,L4TX_Q[EBX] - CALL _Q_ADD ; SEND MESSAGE TO CALLER - - CALL _POSTDATAAVAIL - - POP EBX - RET -*/ \ No newline at end of file diff --git a/LinBPQ.c b/LinBPQ.c index d25dfb7..eba6b31 100644 --- a/LinBPQ.c +++ b/LinBPQ.c @@ -76,7 +76,6 @@ void SaveAIS(); void initAIS(); void DRATSPoll(); VOID GetPGConfig(); -void SendBBSDataToPktMap(); extern uint64_t timeLoadedMS; @@ -1282,10 +1281,6 @@ int main(int argc, char * argv[]) printf("Mail Started\n"); Logprintf(LOG_BBS, NULL, '!', "Mail Starting"); - APIClock = 0; - - SendBBSDataToPktMap(); - } } @@ -1584,13 +1579,6 @@ int main(int argc, char * argv[]) DoHouseKeeping(FALSE); } - if (APIClock < NOW) - { - SendBBSDataToPktMap(); - APIClock = NOW + 7200; // Every 2 hours - } - - tm = gmtime(&NOW); if (tm->tm_wday == 0) // Sunday diff --git a/MailDataDefs.c b/MailDataDefs.c index abfbac2..883963a 100644 --- a/MailDataDefs.c +++ b/MailDataDefs.c @@ -205,7 +205,6 @@ int MailForInterval = 0; char zeros[NBMASK]; // For forward bitmask tests time_t MaintClock; // Time to run housekeeping -time_t APIClock; // Time to sent to MOLTE's Database struct MsgInfo * MsgnotoMsg[100000]; // Message Number to Message Slot List. diff --git a/MailTCP.c b/MailTCP.c index 91ddc3f..49478e1 100644 --- a/MailTCP.c +++ b/MailTCP.c @@ -2897,8 +2897,6 @@ SocketConn * SMTPConnect(char * Host, int Port, BOOL AMPR, struct MsgInfo * Msg, sinx.sin_addr.s_addr = INADDR_ANY; sinx.sin_port = 0; - sockptr->Timeout = 0; - if (bind(sockptr->socket, (LPSOCKADDR) &sinx, addrlen) != 0 ) { // @@ -3592,6 +3590,7 @@ VOID ProcessPOP3ClientMessage(SocketConn * sockptr, char * Buffer, int Len) if (sockptr->POP3MsgCount > sockptr->POP3MsgNum++) { sockprintf(sockptr, "RETR %d", sockptr->POP3MsgNum); + sockptr->State = WaitingForRETRResponse; } else diff --git a/Versions.h b/Versions.h index df74f46..5f0f730 100644 --- a/Versions.h +++ b/Versions.h @@ -10,14 +10,14 @@ #endif -#define KVers 6,0,24,51 -#define KVerstring "6.0.24.51\0" +#define KVers 6,0,24,50 +#define KVerstring "6.0.24.50\0" #ifdef CKernel #define Vers KVers #define Verstring KVerstring -#define Datestring "November 2024" +#define Datestring "October 2024" #define VerComments "G8BPQ Packet Switch (C Version)" KVerstring #define VerCopyright "Copyright © 2001-2024 John Wiseman G8BPQ\0" #define VerDesc "BPQ32 Switch\0" diff --git a/adif.c b/adif.c index 040942e..4e221e6 100644 --- a/adif.c +++ b/adif.c @@ -609,6 +609,7 @@ VOID ADIFWriteFreqList() fprintf(Handle, "[Channels]\r\n"); + for (i = 0; i < freqCount; i++) fprintf(Handle, "Frequency %d=%lld\r\n" , i + 1, Freqs[i]); diff --git a/bpqmail.h b/bpqmail.h index 78a1831..4ee6628 100644 --- a/bpqmail.h +++ b/bpqmail.h @@ -1191,7 +1191,6 @@ BOOL FBBDoForward(CIRCUIT * conn); BOOL FindMessagestoForward(CIRCUIT * conn); BOOL SeeifMessagestoForward(int BBSNumber, CIRCUIT * Conn); int CountMessagestoForward(struct UserInfo * user); -int CountBytestoForward(struct UserInfo * user); VOID * GetMultiLineDialogParam(HWND hDialog, int DLGItem); @@ -1634,8 +1633,6 @@ extern char ** SendWPAddrs; // Replacers WP To and VIA extern BOOL DontCheckFromCall; -extern time_t APIClock;; - // YAPP stuff #define SOH 1 diff --git a/cMain.c b/cMain.c index 4f9dc9b..b63a69c 100644 --- a/cMain.c +++ b/cMain.c @@ -50,7 +50,6 @@ VOID SendSmartID(struct PORTCONTROL * PORT); int CanPortDigi(int Port); int KissEncode(UCHAR * inbuff, UCHAR * outbuff, int len); void MQTTTimer(); -void SaveMH(); #include "configstructs.h" @@ -1508,7 +1507,7 @@ BOOL Start() upnpInit(); - lastSaveSecs = CurrentSecs = lastSlowSecs = time(NULL); + CurrentSecs = lastSlowSecs = time(NULL); return 0; } @@ -2106,19 +2105,7 @@ VOID TIMERINTERRUPT() } */ } - - // Check Autosave Nodes and MH timer - - if (CurrentSecs - lastSaveSecs >= 3600) // 1 per hour - { - lastSaveSecs = CurrentSecs; - - if (AUTOSAVE == 1) - SaveNodes(); - if (AUTOSAVEMH == 1) - SaveMH(); - } - + if (L4TIMERFLAG >= 10) // 1 PER SEC { L4TIMERFLAG -= 10; diff --git a/config.c b/config.c index 818e24d..6408e25 100644 --- a/config.c +++ b/config.c @@ -174,16 +174,11 @@ extern BOOL Loopflag; extern char NodeMapServer[80]; extern char ChatMapServer[80]; -double LatFromLOC; -double LonFromLOC; - - VOID * zalloc(int len); int WritetoConsoleLocal(char * buff); char * stristr (char *ch1, char *ch2); -int FromLOC(char * Locator, double * pLat, double * pLon); VOID Consoleprintf(const char * format, ...) { @@ -347,7 +342,7 @@ static int routine[] = 14, 14, 14, 14, 14, 14 ,14, 14, 15, 0, 2, 9, 9, -2, 2, 1, 2, 2, 2, +2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 20, 20} ; // Routine to process param int PARAMLIM = sizeof(routine)/sizeof(int); @@ -929,21 +924,11 @@ NextAPRS: strcat(LOCATOR, ":"); strcat(LOCATOR, ptr2); ToLOC(atof(ptr1), atof(ptr2), LOC); - LatFromLOC = atof(ptr1); - LonFromLOC = atof(ptr2); - } else { if (strlen(ptr1) == 6) - { strcpy(LOC, ptr1); - FromLOC(LOC, &LatFromLOC, &LonFromLOC); - // Randomise in square - LatFromLOC += ((rand() / 24.0) / RAND_MAX); - LonFromLOC += ((rand() / 12.0) / RAND_MAX); - - } } } return 0; diff --git a/datadefs.c b/datadefs.c index f68c1c4..44d1fd0 100644 --- a/datadefs.c +++ b/datadefs.c @@ -49,9 +49,6 @@ char MAPCOMMENT[250] = ""; char LOC[7] = ""; // Must be in shared mem// Maidenhead Locator for Reporting char ReportDest[7]; -double LatFromLOC = 0; -double LonFromLOC = 0; - UCHAR BPQDirectory[260] = "."; UCHAR ConfigDirectory[260] = "."; UCHAR LogDirectory[260] = ""; @@ -65,7 +62,6 @@ UCHAR L3KEEP[7] = {'K'+'K','E'+'E','E'+'E','P'+'P','L'+'L','I'+'I', 0xe0}; // K time_t CurrentSecs; time_t lastSlowSecs; -time_t lastSaveSecs; char WL2KCall[10] = ""; char WL2KLoc[7] = ""; diff --git a/lzhuf32.c b/lzhuf32.c index a6828ca..3482b30 100644 --- a/lzhuf32.c +++ b/lzhuf32.c @@ -768,9 +768,6 @@ BOOL CheckifPacket(char * Via) if (FindContinent(ptr1)) return TRUE; // Packet - if (FindCountry(ptr1)) - return TRUE; // Packet - if ((_stricmp(ptr1, "MARS") == 0) || (_stricmp(ptr1, "USA") == 0)) // MARS used both return TRUE; // Packet diff --git a/mailapi.c b/mailapi.c index c1f60d8..f447e7b 100644 --- a/mailapi.c +++ b/mailapi.c @@ -705,404 +705,4 @@ packetmail_queue_length{partner="GB7NOT"} 0 1729090716916 packetmail_queue_length{partner="GB7NWL"} 0 1729090716916 packetmail_queue_length{partner="GM8BPQ"} 0 1729090716916 -*/ - - -// Stuff send to packetnodes.spots.radio/api/bbsdata/{bbsCall} -//https://nodes.ukpacketradio.network/swagger/index.html - - -/* -BbsData{ -callsign* [...] -time* [...] -hroute* [...] -peers [...] -software* [...] -version* [...] -mailQueues [...] -messages [...] -latitude [...] -longitude [...] -locator [...] -location [...] -unroutable [...] -} - -[ - -{ - "callsign": "GE8PZT", - "time": "2024-11-25T10:07:41+00:00", - "hroute": ".#24.GBR.EU", - "peers": [ - "GB7BBS", - "VE2PKT", - "GB7NXT", - "VA2OM" - ], - "software": "XrLin", - "version": "504a", - "mailQueues": [], - "messages": [ - { - "to": "TECH@WW", - "mid": "20539_GB7CIP", - "rcvd": "2024-11-24T09:27:59+00:00", - "routing": [ - "R:241124/0927Z @:GE8PZT.#24.GBR.EU [Lamanva] #:2315 XrLin504a", - - - { - "to": "TNC@WW", - "mid": "37_PA2SNK", - "rcvd": "2024-11-18T21:56:55+00:00", - "routing": [ - "R:241118/2156Z @:GE8PZT.#24.GBR.EU [] #:2215 XrLin504a", - "R:241118/2156Z 12456@VE2PKT.#TRV.QC.CAN.NOAM BPQ6.0.24", - "R:241118/2130Z 51539@VE3KPG.#ECON.ON.CAN.NOAM BPQK6.0.23", - "R:241118/2130Z 26087@VE3CGR.#SCON.ON.CAN.NOAM LinBPQ6.0.24", - "R:241118/2130Z 37521@PA8F.#ZH1.NLD.EURO LinBPQ6.0.24", - "R:241118/2129Z 48377@PI8LAP.#ZLD.NLD.EURO LinBPQ6.0.24", - "R:241118/2129Z @:PD0LPM.FRL.EURO.NLD #:33044 [Joure] $:37_PA2SNK" - ] - } - ], - "latitude": 50.145832, - "longitude": -5.125, - "locator": "IO70KD", - "location": "Lamanva", - "unroutable": [ - { - "type": "P", - "at": "WW" - }, - { - "type": "P", - "at": "G8PZT-2" - }, - { - "type": "P", - "at": "g8pzt._24.gbr.eu" - }, - { - "type": "P", - "at": "G8PZT.#24.GBR.EU" - }, - { - "type": "P", - "at": "GE8PZT.#24.GBR.EU" - }, - { - "type": "P", - "at": "G8PZT.#24.GBR.EURO" - } - ] - }, - -*/ - - -// https://packetnodes.spots.radio/swagger/index.html - -// "unroutable": [{"type": "P","at": "WW"}, {"type": "P", "at": "G8PZT.#24.GBR.EURO"}] - -char * ViaList[100000]; // Pointers to the Message Header field -char TypeList[100000]; - -int unroutableCount = 0; - - -void CheckifRoutable(struct MsgInfo * Msg) -{ - char NextBBS[64]; - int n; - - if (Msg->status == 'K') - return; - - if (Msg->via[0] == 0) // No routing - return; - - strcpy(NextBBS, Msg->via); - strlop(NextBBS, '.'); - - if (strcmp(NextBBS, BBSName) == 0) // via this BBS - return; - - if ((memcmp(Msg->fbbs, zeros, NBMASK) != 0) || (memcmp(Msg->forw, zeros, NBMASK) != 0)) // Has Forwarding Info - return; - - // See if we already have it - - for (n = 0; n < unroutableCount; n++) - { - if ((TypeList[n] == Msg->type) && strcmp(ViaList[n], Msg->via) == 0) - return; - - } - - // Add to list - - TypeList[unroutableCount] = Msg->type; - ViaList[unroutableCount] = Msg->via; - - unroutableCount++; -} - - -extern char LOC[7]; - - -DllExport VOID WINAPI SendWebRequest(char * Host, char * Request, char * Params, char * Return); - -#ifdef LINBPQ -extern double LatFromLOC; -extern double LonFromLOC; -#else -typedef int (WINAPI FAR *FARPROCX)(); -extern FARPROCX pSendWebRequest; -extern FARPROCX pGetLatLon; -double LatFromLOC = 0; -double LonFromLOC = 0; -#endif - -void SendBBSDataToPktMap() -{ - char Return[4096]; - char Request[64]; - char * Params; - char * ptr; - int paramLen; - struct MsgInfo * Msg; - - struct UserInfo * ourBBSRec = LookupCall(BBSName); - struct UserInfo * USER; - char Time[64]; - struct tm * tm; - time_t Date = time(NULL); - char Peers[2048] = "[]"; - char MsgQueues[16000] = "[]"; - char * Messages = malloc(1000000); - char * Unroutables; - int m; - char * MsgBytes; - char * Rlineptr; - char * Rlineend; - char * RLines; - char * ptr1, * ptr2; - int n; - -#ifndef LINBPQ - if (pSendWebRequest == 0) - return; // Old Version of bpq32.dll - - pGetLatLon(&LatFromLOC, &LonFromLOC); - -#endif - if (ourBBSRec == 0) - return; // Wot!! - - // Get peers and Mail Queues - - ptr = &Peers[1]; - ptr1 = &MsgQueues[1]; - - for (USER = BBSChain; USER; USER = USER->BBSNext) - { - if (strcmp(USER->Call, BBSName) != 0) - { - int Bytes; - - int Count = CountMessagestoForward(USER); - - ptr += sprintf(ptr, "\"%s\",", USER->Call); - - if (Count) - { - Bytes = CountBytestoForward(USER); - - ptr1 += sprintf(ptr1, "{\"peerCall\": \"%s\", \"numQueued\": %d, \"bytesQueued\": %d},", - USER->Call, Count, Bytes); - } - } - } - - if ((*ptr) != ']') // Have some entries - { - ptr--; // over trailing comms - *(ptr++) = ']'; - *(ptr) = 0; - } - - if ((*ptr1) != ']') // Have some entries - { - ptr1--; // over trailing comms - *(ptr1++) = ']'; - *(ptr1) = 0; - } - - // Get Messages - - strcpy(Messages, "[]"); - ptr = &Messages[1]; - - for (m = LatestMsg; m >= 1; m--) - { - if (ptr > &Messages[999000]) - break; // protect buffer - - Msg = GetMsgFromNumber(m); - - if (Msg == 0 || Msg->type == 0 || Msg->status == 0) - continue; // Protect against corrupt messages - - // Paula suggests including H and K but limit it to the last 30 days or the last 100 messages, whichever is the smaller. - -// if (Msg->status == 'K' || Msg->status == 'H') -// continue; - - if ((Date - Msg->datereceived) > 30 * 86400) // Too old - continue; - - CheckifRoutable(Msg); - - tm = gmtime(&Msg->datereceived); - - sprintf(Time, "%04d-%02d-%02dT%02d:%02d:%02d+00:00", - tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); - - // Get Routing - - MsgBytes = ReadMessageFile(Msg->number); - RLines = malloc(Msg->length * 2); // Very unlikely to need so much but better safe.. - - strcpy(RLines, "[]"); - - ptr2 = &RLines[1]; - - // Need to skip B2 header if B2 Message - - Rlineptr = MsgBytes; - - // If it is a B2 Message, Must Skip B2 Header - - if (Msg->B2Flags & B2Msg) - { - Rlineptr = strstr(Rlineptr, "\r\n\r\n"); - if (Rlineptr) - Rlineptr += 4; - else - Rlineptr = MsgBytes; - } - - // We have to process R: lines one at a time as we need to send each one as a separate string - - while (memcmp(Rlineptr, "R:", 2) == 0) - { - // Have R Lines - - Rlineend = strstr(Rlineptr, "\r\n"); - Rlineend[0] = 0; - ptr2 += sprintf(ptr2, "\"%s\",", Rlineptr); - - Rlineptr = Rlineend + 2; // over crlf - } - - if ((*ptr2) == ']') // no entries - continue; - - ptr2--; // over trailing comms - *(ptr2++) = ']'; - *(ptr2) = 0; - - ptr += sprintf(ptr, "{\"to\": \"%s\", \"mid\": \"%s\", \"rcvd\": \"%s\", \"routing\": %s},", - Msg->to, Msg->bid, Time, RLines); - - free(MsgBytes); - free(RLines); - - } - - if ((*ptr) != ']') // Have some entries? - { - ptr--; // over trailing comms - *(ptr++) = ']'; - *(ptr) = 0; - } - - // Get unroutables - - Unroutables = malloc((unroutableCount + 1) * 100); - - strcpy(Unroutables, "[]"); - ptr = &Unroutables[1]; - - - for (n = 0; n < unroutableCount; n++) - { - ptr += sprintf(ptr, "{\"type\": \"%c\",\"at\": \"%s\"},", TypeList[n], ViaList[n]); - } - - if ((*ptr) != ']') // Have some entries? - { - ptr--; // over trailing comms - *(ptr++) = ']'; - *(ptr) = 0; - } - - - - /* -char * ViaList[100000]; // Pointers to the Message Header field -char TypeList[100000]; - -int unroutableCount = 0; - "unroutable": [{"type": "P","at": "WW"}, {"type": "P", "at": "G8PZT.#24.GBR.EURO"}] - */ - - - tm = gmtime(&Date); - - sprintf(Time, "%04d-%02d-%02dT%02d:%02d:%02d+00:00", - tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); - - - paramLen = strlen(Peers) + strlen(MsgQueues) + strlen(Messages) + strlen(Unroutables); - - Params = malloc(paramLen + 1000); - - if (Params == 0) - { - free(Messages); - free(Unroutables); - return; - } - - ptr = Params; - - sprintf(Request, "/api/bbsdata/%s", BBSName); - - ptr += sprintf(ptr, "{\"callsign\": \"%s\",\r\n", BBSName); - ptr += sprintf(ptr, "\"time\": \"%s\",\r\n", Time); - ptr += sprintf(ptr, "\"hroute\": \"%s\",\r\n", HRoute); - ptr += sprintf(ptr, "\"peers\": %s,\r\n", Peers); -#ifdef LINBPQ - ptr += sprintf(ptr, "\"software\": \"%s\",\r\n", "linbpq"); -#else - ptr += sprintf(ptr, "\"software\": \"%s\",\r\n", "BPQMail"); -#endif - ptr += sprintf(ptr, "\"version\": \"%s\",\r\n", VersionString); - ptr += sprintf(ptr, "\"mailQueues\": %s,\r\n", MsgQueues); - ptr += sprintf(ptr, "\"messages\": %s,\r\n", Messages); - ptr += sprintf(ptr, "\"latitude\": %1.6f,\r\n", LatFromLOC); - ptr += sprintf(ptr, "\"longitude\": %.6f,\r\n", LonFromLOC); - ptr += sprintf(ptr, "\"locator\": \"%s\",\r\n", LOC); - ptr += sprintf(ptr, "\"location\": \"%s\",\r\n", ourBBSRec->Address); - ptr += sprintf(ptr, "\"unroutable\": %s\r\n}\r\n", Unroutables); - - SendWebRequest("packetnodes.spots.radio", Request, Params, Return); - free(Messages); - free(Unroutables); - free(Params); -} +*/ \ No newline at end of file

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