6.0.23.30
This commit is contained in:
parent
e95c1f37c3
commit
ebc845ec8c
Binary file not shown.
Binary file not shown.
2
ARDOP.c
2
ARDOP.c
|
@ -4360,7 +4360,7 @@ VOID ARDOPDoTNCReinit(struct TNCINFO * TNC)
|
|||
|
||||
if (TNC->ReinitState == 2) // In Term State, Sending Initialisation Commands
|
||||
{
|
||||
Debugprintf("DOTNCReinit Complete - Entering Hostmode");
|
||||
Debugprintf("DOTNCReinit %d Complete - Entering Hostmode", TNC->Port);
|
||||
|
||||
TNC->TXBuffer[2] = 0;
|
||||
TNC->Toggle = 0;
|
||||
|
|
|
@ -1194,7 +1194,8 @@ int SendMessageDetails(struct MsgInfo * Msg, char * Reply, char * Key)
|
|||
{
|
||||
USER = UserRecPtr[n];
|
||||
|
||||
if ((USER->flags & F_BBS) && USER->BBSNumber)
|
||||
if ((USER->flags & F_BBS))
|
||||
if (USER->BBSNumber)
|
||||
bbs[i++] = USER;
|
||||
}
|
||||
|
||||
|
|
|
@ -414,7 +414,7 @@ void WriteLogLine(CIRCUIT * conn, int Flag, char * Msg, int MsgLen, int Flags)
|
|||
|
||||
// Don't close/reopen logs every time
|
||||
|
||||
if ((LT - LastLogTime[Flags]) > 60)
|
||||
// if ((LT - LastLogTime[Flags]) > 60)
|
||||
{
|
||||
LastLogTime[Flags] = LT;
|
||||
fclose(LogHandle[Flags]);
|
||||
|
@ -1005,8 +1005,13 @@ Next:
|
|||
user = UserRecPtr[i];
|
||||
|
||||
if (user->flags & F_BBS)
|
||||
{
|
||||
if (user->BBSNumber == 0)
|
||||
user->BBSNumber = FindFreeBBSNumber();
|
||||
|
||||
CheckBBSNumber(user->BBSNumber);
|
||||
}
|
||||
}
|
||||
|
||||
SortBBSChain();
|
||||
}
|
||||
|
@ -9846,7 +9851,7 @@ BOOL GetConfig(char * ConfigName)
|
|||
return(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
#ifdef FREEBSD
|
||||
#if IBCONFIG_VER_MINOR > 4
|
||||
config_set_option(&cfg, CONFIG_OPTION_AUTOCONVERT, 1);
|
||||
#else
|
||||
config_set_auto_convert (&cfg, 1);
|
||||
|
|
Binary file not shown.
179
BPQChat.rc
179
BPQChat.rc
|
@ -1,4 +1,4 @@
|
|||
// Microsoft Visual C++ generated resource script.
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "chatrc.h"
|
||||
|
||||
|
@ -19,19 +19,21 @@
|
|||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (United States) resources
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_PROPPAGE_LARGE DIALOG 0, 0, 235, 156
|
||||
STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
IDD_PROPPAGE_LARGE DIALOG DISCARDABLE 0, 0, 235, 156
|
||||
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Property Page"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
|
@ -44,7 +46,7 @@ END
|
|||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
GUIDELINES DESIGNINFO MOVEABLE PURE
|
||||
BEGIN
|
||||
IDD_PROPPAGE_LARGE, DIALOG
|
||||
BEGIN
|
||||
|
@ -56,29 +58,33 @@ BEGIN
|
|||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (United States) resources
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (United Kingdom) resources
|
||||
// English (U.K.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
BPQMAILCHAT DIALOG 120, 50, 294, 165
|
||||
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
BPQMAILCHAT DIALOG DISCARDABLE 120, 50, 294, 165
|
||||
STYLE DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "G8BPQ Chat Server 1.0.0.10 Beta July 2009"
|
||||
CLASS "BPQMailChat"
|
||||
FONT 8, "FixedSys"
|
||||
BEGIN
|
||||
LTEXT " User Callsign Stream Conf Queue RTT",101,3,4,184,10
|
||||
LTEXT " User Callsign Stream Conf Queue RTT",101,3,4,
|
||||
184,10
|
||||
LTEXT "UTC",IDC_STATIC,197,5,15,10
|
||||
LTEXT "Local",IDC_STATIC,241,5,21,10
|
||||
LTEXT "",IDC_UTC,215,5,25,10
|
||||
|
@ -96,8 +102,9 @@ BEGIN
|
|||
LTEXT "0",IDC_CONSEM,274,135,20,10
|
||||
END
|
||||
|
||||
CONSOLEWINDOW DIALOG 17, 25, 400, 301
|
||||
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
CONSOLEWINDOW DIALOG DISCARDABLE 17, 25, 400, 301
|
||||
STYLE DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "Chat Console"
|
||||
MENU CONSOLEMENU
|
||||
CLASS "CONSOLEWINDOW"
|
||||
|
@ -106,108 +113,134 @@ BEGIN
|
|||
EDITTEXT 118,24,228,348,15,ES_AUTOHSCROLL | ES_NOHIDESEL
|
||||
END
|
||||
|
||||
BPQMONWINDOW DIALOG 17, 25, 400, 300
|
||||
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
BPQMONWINDOW DIALOG DISCARDABLE 17, 25, 400, 300
|
||||
STYLE DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "Chat Monitor"
|
||||
MENU MENU_2
|
||||
CLASS "BPQMONWINDOW"
|
||||
FONT 8, "FixedSys"
|
||||
BEGIN
|
||||
LISTBOX 121,6,25,290,109,LBS_MULTIPLESEL | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL
|
||||
LISTBOX 121,6,25,290,109,LBS_MULTIPLESEL | LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_HSCROLL
|
||||
END
|
||||
|
||||
BPQDEBUGWINDOW DIALOG 17, 25, 400, 300
|
||||
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
BPQDEBUGWINDOW DIALOG DISCARDABLE 17, 25, 400, 300
|
||||
STYLE DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "Chat Debug Window"
|
||||
MENU MENU_3
|
||||
CLASS "BPQDEBUGWINDOW"
|
||||
FONT 8, "FixedSys"
|
||||
BEGIN
|
||||
LISTBOX 122,5,156,290,109,LBS_MULTIPLESEL | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL
|
||||
LISTBOX 122,5,156,290,109,LBS_MULTIPLESEL | LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_HSCROLL
|
||||
END
|
||||
|
||||
CHAT_CONFIG DIALOGEX 0, 0, 371, 296
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CHAT_CONFIG DIALOG DISCARDABLE 0, 0, 372, 318
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Configuration"
|
||||
FONT 8, "System", 0, 0, 0x0
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
LTEXT "Chat Appl Number",IDC_STATIC,91,85,61,8
|
||||
EDITTEXT ID_CHATAPPL,159,83,29,14
|
||||
LTEXT "Nodes to link to",IDC_STATIC,159,106,53,8
|
||||
EDITTEXT ID_CHATNODES,29,119,313,60,ES_MULTILINE | ES_UPPERCASE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
DEFPUSHBUTTON "Save",SAVENODES,160,183,50,14,BS_CENTER | BS_VCENTER
|
||||
LTEXT "The Application Number defines which BPQ32 Application gives access to the Chat Server. Note this is the APPLNumber (1-32) not an Application Mask, as uses in many BPQ32 programs.",IDC_STATIC,10,10,353,18
|
||||
LTEXT "The Nodes to link to box defines which other Chat Nodes should be connected to, or from which connections may be accepted. The format is ALIAS:CALL, eg BPQCHT:G8BPQ-4. Note these must be directly connectable - ie in your NODES table.",IDC_STATIC,10,30,355,25
|
||||
LTEXT "The Callsign of the Chat Node is not defined here - It is obtained from the BPQ32 APPLCALL parameter corresponding to the Chat Appl Number.",IDC_STATIC,10,60,360,25
|
||||
LTEXT "Streams",IDC_STATIC,199,85,34,8
|
||||
EDITTEXT ID_STREAMS,236,83,29,14
|
||||
LTEXT "Chat Welcome Message",IDC_STATIC,142,202,82,8
|
||||
EDITTEXT IDM_CHATUSERMSG,15,214,340,54,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
DEFPUSHBUTTON "Save Welcome Message",SAVEWELCOME,140,274,91,14,BS_CENTER | BS_VCENTER
|
||||
LTEXT "Chat Appl Number",IDC_STATIC,91,110,61,8
|
||||
EDITTEXT ID_CHATAPPL,159,108,29,14
|
||||
LTEXT "Nodes to link to",IDC_STATIC,159,126,53,8
|
||||
EDITTEXT ID_CHATNODES,29,141,313,60,ES_MULTILINE | ES_UPPERCASE |
|
||||
ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
DEFPUSHBUTTON "Save",SAVENODES,160,204,50,14,BS_CENTER | BS_VCENTER
|
||||
LTEXT "The Application Number defines which BPQ32 Application gives access to the Chat Server. Note this is the APPLNumber (1-32) not an Application Mask, as uses in many BPQ32 programs.",
|
||||
IDC_STATIC,10,10,353,18
|
||||
LTEXT "The Nodes to link to box defines which other Chat Nodes should be connected to, or from which connections may be accepted. The format is ALIAS:CALL, eg BPQCHT:G8BPQ-4.",
|
||||
IDC_STATIC,10,31,355,22
|
||||
LTEXT "The Callsign of the Chat Node is not defined here - it is obtained from the BPQ32 APPLCALL parameter corresponding to the Chat Appl Number.",
|
||||
IDC_STATIC,10,76,360,21
|
||||
LTEXT "Streams",IDC_STATIC,199,110,34,8
|
||||
EDITTEXT ID_STREAMS,236,108,29,14
|
||||
LTEXT "Chat Welcome Message",IDC_STATIC,142,222,82,8
|
||||
EDITTEXT IDM_CHATUSERMSG,15,235,340,54,ES_MULTILINE |
|
||||
ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN |
|
||||
WS_VSCROLL
|
||||
DEFPUSHBUTTON "Save Welcome Message",SAVEWELCOME,140,296,91,14,
|
||||
BS_CENTER | BS_VCENTER
|
||||
LTEXT " If the node is not directly connectable (ie is not in your NODES table) you can add a connect script. This consists of a series of commands seperared by |, eg NOTCHT:G8BPQ-4|C 3 GM8BPQ-9|CHAT",
|
||||
IDC_STATIC,9,52,355,24
|
||||
END
|
||||
|
||||
IDD_USERADDED_BOX DIALOG 176, 132, 129, 68
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME
|
||||
IDD_USERADDED_BOX DIALOG DISCARDABLE 176, 132, 129, 68
|
||||
STYLE DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Ok",0,47,48,36,17,BS_CENTER | BS_VCENTER
|
||||
LTEXT "Label0",5050,5,10,117,32
|
||||
END
|
||||
|
||||
WELCOMEMSG DIALOG 26, 5, 381, 266
|
||||
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE
|
||||
WELCOMEMSG DIALOG DISCARDABLE 26, 5, 381, 266
|
||||
STYLE WS_CHILD | WS_VISIBLE
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
LTEXT "Normal User Welcome Message",IDC_STATIC,5,7,130,8
|
||||
EDITTEXT IDM_USERMSG,5,20,340,45,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
EDITTEXT IDM_USERMSG,5,20,340,45,ES_MULTILINE | ES_AUTOVSCROLL |
|
||||
ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
LTEXT "Chat Welcome Message",IDC_STATIC,5,67,130,8
|
||||
EDITTEXT IDM_CHATUSERMSG,5,80,340,45,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
EDITTEXT IDM_CHATUSERMSG,5,80,340,45,ES_MULTILINE |
|
||||
ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
LTEXT "New User Welcome Message",IDC_STATIC,5,127,130,8
|
||||
EDITTEXT IDM_NEWUSERMSG,5,140,340,45,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
EDITTEXT IDM_NEWUSERMSG,5,140,340,45,ES_MULTILINE |
|
||||
ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
LTEXT "Expert User Welcome Message",IDC_STATIC,5,187,130,8
|
||||
EDITTEXT IDM_EXPERTUSERMSG,5,200,340,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
EDITTEXT IDM_EXPERTUSERMSG,5,200,340,25,ES_MULTILINE |
|
||||
ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
DEFPUSHBUTTON "Save",IDM_MSGSAVE,166,250,50,14,BS_CENTER | BS_VCENTER
|
||||
LTEXT "$U : Callsign of the user $I : First name of the user $X Messages for user $x Unread messages",IDC_STATIC,5,228,369,8
|
||||
LTEXT "$L : Number of the latest message $N : Number of active messages. $Z : Last message read by user",IDC_STATIC,5,238,365,10
|
||||
LTEXT "$U : Callsign of the user $I : First name of the user $X Messages for user $x Unread messages",
|
||||
IDC_STATIC,5,228,369,8
|
||||
LTEXT "$L : Number of the latest message $N : Number of active messages. $Z : Last message read by user",
|
||||
IDC_STATIC,5,238,365,10
|
||||
END
|
||||
|
||||
IDD_CHATCOLCONFIG DIALOG 0, 0, 224, 120
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
IDD_CHATCOLCONFIG DIALOG DISCARDABLE 0, 0, 224, 120
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Chat Colour Configuration"
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Save",IDOK,50,95,50,14
|
||||
PUSHBUTTON "Close",IDCANCEL,120,95,50,14
|
||||
COMBOBOX IDC_CHATCALLS,10,5,100,60,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_CHATCOLOURS,115,5,100,60,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_CHATCALLS,10,5,100,60,CBS_DROPDOWNLIST | CBS_SORT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_CHATCOLOURS,115,5,100,60,CBS_DROPDOWNLIST |
|
||||
CBS_OWNERDRAWFIXED | WS_VSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_UPDATECHATMAP DIALOG 0, 0, 274, 146
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
IDD_UPDATECHATMAP DIALOG DISCARDABLE 0, 0, 274, 146
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Update Chat Map"
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
LTEXT "Click Help for full information about the Chat Network Map",IDC_STATIC,5,10,195,15
|
||||
LTEXT "Click Help for full information about the Chat Network Map",
|
||||
IDC_STATIC,5,10,195,15
|
||||
DEFPUSHBUTTON "? Help",IDC_MAPHELP,220,10,33,11,BS_CENTER | BS_VCENTER
|
||||
LTEXT "Position",IDC_STATIC,5,30,35,10
|
||||
EDITTEXT IDC_MAPPOSITION,5,45,145,15,ES_AUTOHSCROLL
|
||||
LTEXT "Popup Box Text. ",IDC_STATIC,5,65,70,9
|
||||
EDITTEXT IDC_POPUPTEXT,5,80,200,35,ES_MULTILINE | ES_AUTOHSCROLL | WS_HSCROLL
|
||||
EDITTEXT IDC_POPUPTEXT,5,80,200,35,ES_MULTILINE | ES_AUTOHSCROLL |
|
||||
WS_HSCROLL
|
||||
LTEXT "Popup Mode",IDC_STATIC,215,80,49,10
|
||||
CONTROL "Hover",IDC_HOVER,"Button",BS_AUTORADIOBUTTON,219,92,45,10
|
||||
CONTROL "Click",IDC_CLICK,"Button",BS_AUTORADIOBUTTON,219,104,45,10
|
||||
CONTROL "Hover",IDC_HOVER,"Button",BS_AUTORADIOBUTTON,219,92,45,
|
||||
10
|
||||
CONTROL "Click",IDC_CLICK,"Button",BS_AUTORADIOBUTTON,219,104,45,
|
||||
10
|
||||
DEFPUSHBUTTON "Send to Map System",IDSENDTOMAP,5,125,90,14
|
||||
DEFPUSHBUTTON "Save",IDOK,100,125,35,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,140,125,40,14
|
||||
END
|
||||
|
||||
IDD_HRHELP DIALOG 0, 0, 415, 182
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
IDD_HRHELP DIALOG DISCARDABLE 0, 0, 415, 182
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Hierarchical Forwarding Help"
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,182,158,50,14
|
||||
EDITTEXT IDC_HRTEXT,4,4,405,150,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL | WS_HSCROLL
|
||||
EDITTEXT IDC_HRTEXT,4,4,405,150,ES_MULTILINE | ES_AUTOVSCROLL |
|
||||
ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL | WS_HSCROLL
|
||||
END
|
||||
|
||||
|
||||
|
@ -217,7 +250,7 @@ END
|
|||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
GUIDELINES DESIGNINFO MOVEABLE PURE
|
||||
BEGIN
|
||||
"BPQMAILCHAT", DIALOG
|
||||
BEGIN
|
||||
|
@ -226,6 +259,8 @@ BEGIN
|
|||
|
||||
CHAT_CONFIG, DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 371
|
||||
BOTTOMMARGIN, 296
|
||||
END
|
||||
|
||||
"IDD_USERADDED_BOX", DIALOG
|
||||
|
@ -249,7 +284,7 @@ END
|
|||
// Menu
|
||||
//
|
||||
|
||||
IDC_BPQMailChat MENU
|
||||
IDC_BPQMailChat MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Actions"
|
||||
BEGIN
|
||||
|
@ -278,7 +313,7 @@ BEGIN
|
|||
END
|
||||
END
|
||||
|
||||
CONSOLEMENU MENU
|
||||
CONSOLEMENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Options"
|
||||
BEGIN
|
||||
|
@ -298,7 +333,7 @@ BEGIN
|
|||
END
|
||||
END
|
||||
|
||||
MENU_2 MENU
|
||||
MENU_2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Monitor"
|
||||
BEGIN
|
||||
|
@ -311,7 +346,7 @@ BEGIN
|
|||
END
|
||||
END
|
||||
|
||||
MENU_3 MENU
|
||||
MENU_3 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edit"
|
||||
BEGIN
|
||||
|
@ -326,7 +361,7 @@ END
|
|||
// Accelerator
|
||||
//
|
||||
|
||||
IDC_TELNETSERVER ACCELERATORS
|
||||
IDC_TELNETSERVER ACCELERATORS MOVEABLE PURE
|
||||
BEGIN
|
||||
"?", IDM_ABOUT, ASCII, ALT
|
||||
"/", IDM_ABOUT, ASCII, ALT
|
||||
|
@ -339,12 +374,12 @@ END
|
|||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
1 TEXTINCLUDE MOVEABLE PURE
|
||||
BEGIN
|
||||
"chatrc.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
2 TEXTINCLUDE MOVEABLE PURE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
|
@ -356,18 +391,18 @@ BEGIN
|
|||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
3 TEXTINCLUDE MOVEABLE PURE
|
||||
BEGIN
|
||||
"#include ""..\\StdVer.inc""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
1 TEXTINCLUDE
|
||||
1 TEXTINCLUDE MOVEABLE PURE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
3 TEXTINCLUDE MOVEABLE PURE
|
||||
BEGIN
|
||||
"#include ""..\\StdVer.inc""\r\n"
|
||||
"\r\n"
|
||||
|
@ -382,9 +417,9 @@ END
|
|||
// AFX_DIALOG_LAYOUT
|
||||
//
|
||||
|
||||
CHAT_CONFIG AFX_DIALOG_LAYOUT
|
||||
CHAT_CONFIG AFX_DIALOG_LAYOUT MOVEABLE PURE
|
||||
BEGIN
|
||||
0
|
||||
0x0000
|
||||
END
|
||||
|
||||
|
||||
|
@ -393,13 +428,13 @@ END
|
|||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "BPQMailChat"
|
||||
IDC_BPQMailChat "BPQMailChat"
|
||||
END
|
||||
|
||||
#endif // English (United Kingdom) resources
|
||||
#endif // English (U.K.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
|
|
@ -1103,6 +1103,9 @@
|
|||
// Change web buttons to white on black when pressed (10)
|
||||
// Add auto-refresh option to Webmail index page (25)
|
||||
// Fix displaying help and info files with crlf line endings on Linux (28)
|
||||
// Impotove validation of extended FC message (32)
|
||||
// Improve WP check for SYSTEM as a callsihn (33)
|
||||
|
||||
|
||||
#include "bpqmail.h"
|
||||
#define MAIL
|
||||
|
|
6
Bpq32.c
6
Bpq32.c
|
@ -1127,7 +1127,11 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
|
|||
// Add APRS Igate RXOnly option (29)
|
||||
// Fix RMC message handling with prefixes other than GP (29)
|
||||
// Add GPSD support for APRS (30)
|
||||
// Attempt to tix Tracker/WinRPR reconnect code (30)
|
||||
// Attempt to fix Tracker/WinRPR reconnect code (30)
|
||||
// Changes to FreeDATA - Don't use deamon and add txlevel and send text commands (31)
|
||||
// Fix interactive commands in tracker driver (33)
|
||||
|
||||
|
||||
|
||||
#define CKernel
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
Name="Release|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command=""
|
||||
Command="C:\Devprogs\BPQ32\bpq32.exe"
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioUserFile
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
ShowAllFiles="false"
|
||||
>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command="C:\Devprogs\BPQ32\bpq32.exe"
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="HPLAPTOP"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command=""
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="HPLAPTOP"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioUserFile>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
6
Events.c
6
Events.c
|
@ -78,7 +78,7 @@ void RunEventProgram(char * Program, char * Param)
|
|||
|
||||
#else
|
||||
|
||||
DllExport int APIENTRY RunEventProgram(char * Program, char * Param)
|
||||
DllExport void APIENTRY RunEventProgram(char * Program, char * Param)
|
||||
{
|
||||
int n = 0;
|
||||
char cmdLine[256];
|
||||
|
@ -87,7 +87,7 @@ DllExport int APIENTRY RunEventProgram(char * Program, char * Param)
|
|||
PROCESS_INFORMATION PInfo; // pointer to PROCESS_INFORMATION
|
||||
|
||||
if (EventsEnabled == 0)
|
||||
return 0;
|
||||
return;
|
||||
|
||||
|
||||
SInfo.cb=sizeof(SInfo);
|
||||
|
@ -105,5 +105,5 @@ DllExport int APIENTRY RunEventProgram(char * Program, char * Param)
|
|||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -552,7 +552,6 @@ ok:
|
|||
|
||||
// FC EM A3EDD4P00P55 377 281 0
|
||||
|
||||
|
||||
/*
|
||||
|
||||
FC Proposal code. Requires B2 SID feature.
|
||||
|
@ -576,7 +575,7 @@ ok:
|
|||
|
||||
if (ptr == NULL) goto badparam2;
|
||||
|
||||
// Relay In RO mode adds @MPS@R to the MID. Non't know why (yet!)
|
||||
// Relay In RO mode adds @MPS@R to the MID. Don't know why (yet!)
|
||||
|
||||
MPS = strlop(ptr, '@');
|
||||
if (MPS)
|
||||
|
@ -605,7 +604,7 @@ ok:
|
|||
char * To = strtok_s(NULL, seps, &Context);
|
||||
char * Type = strtok_s(NULL, seps, &Context);
|
||||
|
||||
if (From && To && ATBBS && CheckRejFilters(From, To, ATBBS, NULL, *Type))
|
||||
if (From && To && ATBBS && Type && CheckRejFilters(From, To, ATBBS, NULL, *Type))
|
||||
{
|
||||
memset(FBBHeader, 0, sizeof(struct FBBHeaderLine)); // Clear header
|
||||
conn->FBBReplyChars[conn->FBBReplyIndex++] = '-';
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1415
FreeDATA.c
1415
FreeDATA.c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -837,9 +837,9 @@ VOID HALPoll(int Port)
|
|||
UCHAR * MsgPtr;
|
||||
unsigned char TXMsg[500];
|
||||
|
||||
buffptr = (UINT * )STREAM->BPQtoPACTOR_Q;
|
||||
datalen=buffptr->Len;
|
||||
MsgPtr = (UCHAR *)buffptr->Data;
|
||||
buffptr = (PMSGWITHLEN)STREAM->BPQtoPACTOR_Q;
|
||||
datalen = buffptr->Len;
|
||||
MsgPtr = buffptr->Data;
|
||||
|
||||
if (STREAM->Connected)
|
||||
{
|
||||
|
|
12
HFCommon.c
12
HFCommon.c
|
@ -65,6 +65,7 @@ VOID FromLOC(char * Locator, double * pLat, double * pLon);
|
|||
BOOL ToLOC(double Lat, double Lon , char * Locator);
|
||||
|
||||
int GetPosnFromAPRS(char * Call, double * Lat, double * Lon);
|
||||
char * stristr (char *ch1, char *ch2);
|
||||
|
||||
static RECT Rect;
|
||||
|
||||
|
@ -210,7 +211,8 @@ LRESULT CALLBACK PacWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara
|
|||
{
|
||||
if (TNC->ProgramPath)
|
||||
{
|
||||
if (strstr(TNC->ProgramPath, " TNC") || strstr(TNC->ProgramPath, "ARDOP") || strstr(TNC->ProgramPath, "VARA"))
|
||||
if (strstr(TNC->ProgramPath, " TNC") || strstr(TNC->ProgramPath, "ARDOP")
|
||||
|| strstr(TNC->ProgramPath, "VARA") || stristr(TNC->ProgramPath, "FREEDATA"))
|
||||
{
|
||||
EnableMenuItem(TNC->hMenu, WINMOR_RESTART, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(TNC->hMenu, WINMOR_KILL, MF_BYCOMMAND | MF_ENABLED);
|
||||
|
@ -311,7 +313,6 @@ LRESULT CALLBACK PacWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara
|
|||
|
||||
case WM_HSCROLL:
|
||||
{
|
||||
DWORD dwPos; // current position of slider
|
||||
char value[16];
|
||||
|
||||
switch (LOWORD(wParam))
|
||||
|
@ -765,10 +766,10 @@ IdTag (random alphanumeric, 12 chars)
|
|||
}
|
||||
}
|
||||
|
||||
if (ADIF == NULL || ADIF->LOC[0] == 0)
|
||||
if (ADIF == NULL || ADIF->LOC[0] == 0 || ADIF->Call[0] == 0)
|
||||
return TRUE;
|
||||
|
||||
if (ADIF->StartTime == 0 || ADIF->ServerSID[0] == 0)
|
||||
if (ADIF->StartTime == 0 || ADIF->ServerSID[0] == 0 || ADIF->CMSCall[0] == 0)
|
||||
return TRUE;
|
||||
|
||||
T = time(NULL);
|
||||
|
@ -1853,6 +1854,9 @@ int standardParams(struct TNCINFO * TNC, char * buf)
|
|||
TNC->LISTENCALLS = _strdup(&buf[8]);
|
||||
strlop(TNC->LISTENCALLS, '\r');
|
||||
}
|
||||
else if (_memicmp(buf, "MAXCONREQ", 9) == 0) // Hold Time for Busy Detect
|
||||
TNC->MaxConReq = atoi(&buf[9]);
|
||||
|
||||
else if (_memicmp(buf, "FREQUENCY", 9) == 0)
|
||||
TNC->Frequency = _strdup(&buf[10]);
|
||||
else if (_memicmp(buf, "SendTandRtoRelay", 16) == 0)
|
||||
|
|
|
@ -1259,6 +1259,7 @@ void chkctl(ChatCIRCUIT *ckt_from, char * Buffer, int Len)
|
|||
user->lastrealmsgtime = user->lastmsgtime = time(NULL);
|
||||
|
||||
text_tellu(user, f1, NULL, o_topic);
|
||||
HistoryCount = AddtoHistory(user, f1);
|
||||
|
||||
for (ckt_to = circuit_hd; ckt_to; ckt_to = ckt_to->next)
|
||||
{
|
||||
|
|
26
SCSTracker.c
26
SCSTracker.c
|
@ -857,6 +857,7 @@ static void DEDCheckRX(struct TNCINFO * TNC)
|
|||
TNC->HOSTSTATE = 0;
|
||||
TNC->Timeout = 0;
|
||||
TNC->RXLen = 0;
|
||||
TNC->TermReinitCount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1052,15 +1053,23 @@ VOID DEDPoll(int Port)
|
|||
|
||||
// Can't use retries, as we have no way of detecting lost chars. Have to re-init on timeout
|
||||
|
||||
// if (TNC->HostMode == 0 || TNC->ReinitState == 10) // 10 is Recovery Mode
|
||||
// {
|
||||
// DoTermModeTimeout(TNC);
|
||||
// return;
|
||||
// }
|
||||
if (TNC->HostMode == 0 || TNC->ReinitState == 10) // 10 is Recovery Mode
|
||||
{
|
||||
TNC->TermReinitCount++;
|
||||
|
||||
if (TNC->TermReinitCount == 10)
|
||||
goto reinit;
|
||||
|
||||
DoTermModeTimeout(TNC);
|
||||
return;
|
||||
}
|
||||
|
||||
// Timed out in host mode - Clear any connection and reinit the TNC
|
||||
|
||||
Debugprintf("DEDHOST - Link to TNC Lost Port %d", TNC->Port);
|
||||
|
||||
reinit:
|
||||
|
||||
TNC->TNCOK = FALSE;
|
||||
|
||||
sprintf(TNC->WEB_COMMSSTATE, "%s Open but TNC not responding", TNC->PortRecord->PORTCONTROL.SerialPortName);
|
||||
|
@ -1069,6 +1078,7 @@ VOID DEDPoll(int Port)
|
|||
|
||||
TNC->HostMode = 0;
|
||||
TNC->ReinitState = 0;
|
||||
TNC->TermReinitCount = 0;
|
||||
|
||||
CloseCOMPort(TNC->hDevice);
|
||||
OpenCOMMPort(TNC, TNC->PortRecord->PORTCONTROL.SerialPortName, TNC->PortRecord->PORTCONTROL.BAUDRATE, TRUE);
|
||||
|
@ -1388,7 +1398,7 @@ VOID DEDPoll(int Port)
|
|||
}
|
||||
|
||||
Poll[2] = datalen - 1;
|
||||
memcpy(&Poll[3], buffptr + 2, datalen);
|
||||
memcpy(&Poll[3], buffptr->Data, datalen);
|
||||
|
||||
ReleaseBuffer(buffptr);
|
||||
|
||||
|
@ -1612,6 +1622,7 @@ VOID DoTermModeTimeout(struct TNCINFO * TNC)
|
|||
TNC->hDevice =(HANDLE)0;
|
||||
TNC->ReopenTimer = 290;
|
||||
TNC->HostMode = FALSE;
|
||||
TNC->TermReinitCount = 0;
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -1623,6 +1634,7 @@ VOID DoTermModeTimeout(struct TNCINFO * TNC)
|
|||
|
||||
TNC->HostMode = TRUE;
|
||||
TNC->IntCmdDelay = 10;
|
||||
TNC->TermReinitCount = 0;
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -1698,6 +1710,7 @@ VOID TrkProcessTermModeResponse(struct TNCINFO * TNC)
|
|||
{
|
||||
TNC->HostMode = TRUE;
|
||||
TNC->Timeout = 0;
|
||||
TNC->TermReinitCount = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -1726,6 +1739,7 @@ VOID TrkProcessDEDFrame(struct TNCINFO * TNC)
|
|||
TNC->ReinitState = 0;
|
||||
TNC->RXLen = 0;
|
||||
TNC->HOSTSTATE = 0;
|
||||
TNC->TermReinitCount = 0;
|
||||
|
||||
Debugprintf("TRK - Resync Complete");
|
||||
return;
|
||||
|
|
4
VARA.c
4
VARA.c
|
@ -865,8 +865,8 @@ void CountRestarts(struct TNCINFO * TNC)
|
|||
sprintf_s(Time, sizeof(Time),"%04d/%02d/%02d %02d:%02dZ",
|
||||
tm->tm_year +1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min);
|
||||
|
||||
MySetWindowText(TNC->xIDC_RESTARTTIME, Time);
|
||||
strcpy(TNC->WEB_RESTARTTIME, Time);
|
||||
//MySetWindowText(TNC->xIDC_RESTARTTIME, Time);
|
||||
//strcpy(TNC->WEB_RESTARTTIME, Time);
|
||||
|
||||
sprintf_s(Time, sizeof(Time),"%d", TNC->Restarts);
|
||||
MySetWindowText(TNC->xIDC_RESTARTS, Time);
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
#endif
|
||||
|
||||
#define KVers 6,0,23,30
|
||||
#define KVerstring "6.0.23.30\0"
|
||||
#define KVers 6,0,23,33
|
||||
#define KVerstring "6.0.23.33\0"
|
||||
|
||||
#ifdef CKernel
|
||||
|
||||
|
|
22
WINMOR.c
22
WINMOR.c
|
@ -608,7 +608,7 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|||
}
|
||||
}
|
||||
|
||||
if (TNC->BusyDelay)
|
||||
if (TNC->ConnectCmd && TNC->BusyDelay)
|
||||
{
|
||||
// Still Busy?
|
||||
|
||||
|
@ -626,6 +626,8 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|||
SetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
||||
|
||||
free(TNC->ConnectCmd);
|
||||
TNC->ConnectCmd = 0;
|
||||
|
||||
TNC->BusyDelay = 0;
|
||||
}
|
||||
else
|
||||
|
@ -3013,13 +3015,13 @@ BOOL RestartTNC(struct TNCINFO * TNC)
|
|||
return TRUE;
|
||||
}
|
||||
#else
|
||||
|
||||
{
|
||||
int n = 0;
|
||||
|
||||
STARTUPINFO SInfo; // pointer to STARTUPINFO
|
||||
PROCESS_INFORMATION PInfo; // pointer to PROCESS_INFORMATION
|
||||
// char workingDirectory[256];
|
||||
char workingDirectory[256];
|
||||
int i = strlen(TNC->ProgramPath);
|
||||
|
||||
SInfo.cb=sizeof(SInfo);
|
||||
SInfo.lpReserved=NULL;
|
||||
|
@ -3031,13 +3033,23 @@ BOOL RestartTNC(struct TNCINFO * TNC)
|
|||
|
||||
Debugprintf("RestartTNC Called for %s", TNC->ProgramPath);
|
||||
|
||||
strcpy(workingDirectory, TNC->ProgramPath);
|
||||
|
||||
while (i--)
|
||||
{
|
||||
if (workingDirectory[i] == '\\' || workingDirectory[i] == '/')
|
||||
{
|
||||
workingDirectory[i] = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (KillOldTNC(TNC->ProgramPath) && n++ < 100)
|
||||
{
|
||||
Sleep(100);
|
||||
}
|
||||
|
||||
|
||||
if (CreateProcess(NULL, TNC->ProgramPath, NULL, NULL, FALSE,0 ,NULL ,NULL, &SInfo, &PInfo))
|
||||
if (CreateProcess(NULL, TNC->ProgramPath, NULL, NULL, FALSE,0, NULL, workingDirectory, &SInfo, &PInfo))
|
||||
{
|
||||
Debugprintf("Restart TNC OK");
|
||||
TNC->PID = PInfo.dwProcessId;
|
||||
|
|
171
WPRoutines.c
171
WPRoutines.c
|
@ -49,6 +49,38 @@ WPRec * AllocateWPRecord()
|
|||
return WP;
|
||||
}
|
||||
|
||||
int BadCall(char * Call)
|
||||
{
|
||||
if (_stricmp(Call, "RMS") == 0)
|
||||
return 1;
|
||||
|
||||
if (_stricmp(Call, "SYSTEM") == 0)
|
||||
return 1;
|
||||
|
||||
if (_stricmp(Call, "SWITCH") == 0)
|
||||
return 1;
|
||||
|
||||
if (_stricmp(Call, "SYSOP") == 0)
|
||||
return 1;
|
||||
|
||||
if (_memicmp(Call, "SMTP", 4) == 0)
|
||||
return 1;
|
||||
|
||||
if (_memicmp(Call, "SMTP:", 5) == 0)
|
||||
return 1;
|
||||
|
||||
if (_stricmp(Call, "AMPR") == 0)
|
||||
return 1;
|
||||
|
||||
if (_stricmp(Call, "FILE") == 0)
|
||||
return 1;
|
||||
|
||||
if (_memicmp(Call, "MCAST", 5) == 0)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern config_t cfg;
|
||||
|
||||
VOID GetWPDatabase()
|
||||
|
@ -267,31 +299,7 @@ WPOK:;
|
|||
if (strchr(WPRec.callsign, ':'))
|
||||
continue;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "RMS") == 0)
|
||||
continue;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "SYSTEM") == 0)
|
||||
continue;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "SWITCH") == 0)
|
||||
continue;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "SYSOP") == 0)
|
||||
continue;
|
||||
|
||||
if (_memicmp(WPRec.callsign, "SMTP", 4) == 0)
|
||||
continue;
|
||||
|
||||
if (_memicmp(WPRec.callsign, "SMTP:", 5) == 0)
|
||||
continue;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "AMPR") == 0)
|
||||
continue;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "FILE") == 0)
|
||||
continue;
|
||||
|
||||
if (_memicmp(WPRec.callsign, "MCAST", 5) == 0)
|
||||
if (BadCall(WPRec.callsign))
|
||||
continue;
|
||||
|
||||
WP = LookupWP(WPRec.callsign);
|
||||
|
@ -354,31 +362,7 @@ Next:
|
|||
if (strchr(WPRec.callsign, ':'))
|
||||
goto Next;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "RMS") == 0)
|
||||
goto Next;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "SYSTEM") == 0)
|
||||
goto Next;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "SWITCH") == 0)
|
||||
goto Next;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "SYSOP") == 0)
|
||||
goto Next;
|
||||
|
||||
if (_memicmp(WPRec.callsign, "SMTP", 4) == 0)
|
||||
goto Next;
|
||||
|
||||
if (_memicmp(WPRec.callsign, "SMTP:", 5) == 0)
|
||||
goto Next;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "AMPR") == 0)
|
||||
goto Next;
|
||||
|
||||
if (_stricmp(WPRec.callsign, "FILE") == 0)
|
||||
goto Next;
|
||||
|
||||
if (_memicmp(WPRec.callsign, "MCAST", 5) == 0)
|
||||
if (BadCall(WPRec.callsign))
|
||||
goto Next;
|
||||
|
||||
WP = LookupWP(WPRec.callsign);
|
||||
|
@ -800,31 +784,7 @@ VOID GetWPBBSInfo(char * Rline)
|
|||
memcpy(QTH, ptr2 + 1, ptr1 - ptr2 - 1);
|
||||
}
|
||||
|
||||
if (_stricmp(Call, "RMS") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(Call, "SYSTEM") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(Call, "SWITCH") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(Call, "SYSOP") == 0)
|
||||
return;
|
||||
|
||||
if (_memicmp(Call, "SMTP", 4) == 0)
|
||||
return;
|
||||
|
||||
if (_memicmp(Call, "SMTP:", 5) == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(Call, "AMPR") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(Call, "FILE") == 0)
|
||||
return;
|
||||
|
||||
if (_memicmp(Call, "MCAST", 5) == 0)
|
||||
if (BadCall(Call))
|
||||
return;
|
||||
|
||||
WP = LookupWP(Call);
|
||||
|
@ -898,6 +858,9 @@ VOID GetWPInfoFromRLine(char * From, char * FirstRLine, time_t RLineTime)
|
|||
char * ptr1 = strchr(FirstRLine, '@');
|
||||
char * ptr2 = strchr(FirstRLine, '\r');
|
||||
|
||||
if (BadCall(From))
|
||||
return;
|
||||
|
||||
if (!ptr1)
|
||||
return; // Duff
|
||||
|
||||
|
@ -1074,31 +1037,7 @@ it will not be replaced. This flag will be used in case the WP update messages a
|
|||
if (strchr(Call, ':'))
|
||||
break;
|
||||
|
||||
if (_stricmp(Call, "RMS") == 0)
|
||||
break;
|
||||
|
||||
if (_stricmp(Call, "SWITCH") == 0)
|
||||
break;
|
||||
|
||||
if (_stricmp(Call, "SYSTEM") == 0)
|
||||
break;
|
||||
|
||||
if (_stricmp(Call, "SYSOP") == 0)
|
||||
break;
|
||||
|
||||
if (_memicmp(Call, "SMTP", 4) == 0)
|
||||
break;
|
||||
|
||||
if (_memicmp(Call, "SMTP:", 5) == 0)
|
||||
break;
|
||||
|
||||
if (_stricmp(Call, "AMPR") == 0)
|
||||
break;
|
||||
|
||||
if (_stricmp(Call, "FILE") == 0)
|
||||
break;
|
||||
|
||||
if (_memicmp(Call, "MCAST", 5) == 0)
|
||||
if (BadCall(Call))
|
||||
break;
|
||||
|
||||
WP = LookupWP(Call);
|
||||
|
@ -1242,37 +1181,7 @@ VOID UpdateWPWithUserInfo(struct UserInfo * user)
|
|||
if (strchr(user->Call, ':'))
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "RMS") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "SYSTEM") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "SWITCH") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "SYSOP") == 0)
|
||||
return;
|
||||
|
||||
if (_memicmp(user->Call, "SMTP", 4) == 0)
|
||||
return;
|
||||
|
||||
if (_memicmp(user->Call, "SMTP:", 5) == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "AMPR") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "FILE") == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, "SYNC") == 0)
|
||||
return;
|
||||
|
||||
if (_memicmp(user->Call, "MCAST", 5) == 0)
|
||||
return;
|
||||
|
||||
if (_stricmp(user->Call, user->Name) == 0)
|
||||
if (BadCall(user->Call))
|
||||
return;
|
||||
|
||||
if (!WP)
|
||||
|
|
2
WinRPR.c
2
WinRPR.c
|
@ -245,7 +245,7 @@ static BOOL RestartTNC(struct TNCINFO * TNC)
|
|||
Sleep(100);
|
||||
}
|
||||
|
||||
if (CreateProcess(NULL, TNC->ProgramPath, NULL, NULL, FALSE,0 ,NULL ,workingDirectory, &SInfo, &PInfo))
|
||||
if (CreateProcess(NULL, TNC->ProgramPath, NULL, NULL, FALSE,0, NULL, workingDirectory, &SInfo, &PInfo))
|
||||
{
|
||||
Debugprintf("Restart TNC OK");
|
||||
TNC->PID = PInfo.dwProcessId;
|
||||
|
|
|
@ -64,6 +64,8 @@
|
|||
// Check for and remove names set to *RTL
|
||||
// Add option to run user program when chat user connects (27)
|
||||
// Add History (28)
|
||||
// Add connect scripts to config page text (31)
|
||||
// Fix History (31)
|
||||
|
||||
#include "BPQChat.h"
|
||||
#include "Dbghelp.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#define _WINSOCK_DEPRECATED_NO_WARNINGS
|
||||
|
||||
#define LIBCONFIG_STATIC
|
||||
#include "libconfig.h"
|
||||
#include <libconfig.h>
|
||||
|
||||
#include "compatbits.h"
|
||||
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
[NETWORK]
|
||||
#network settings
|
||||
tncport = 3004
|
||||
|
||||
[STATION]
|
||||
#station settings
|
||||
mycall = GM8BPQ-2
|
||||
mygrid = IO68VL
|
||||
|
||||
[AUDIO]
|
||||
#audio settings
|
||||
rx = 8
|
||||
tx = 16
|
||||
txaudiolevel = 125
|
||||
|
||||
[RADIO]
|
||||
#radio settings
|
||||
radiocontrol = disabled
|
||||
devicename = RIG_MODEL_NETRIGCTL
|
||||
deviceport = COM99
|
||||
serialspeed = 19200
|
||||
pttprotocol = USB
|
||||
pttport = COM99
|
||||
data_bits = 8
|
||||
stop_bits = 1
|
||||
handshake = None
|
||||
rigctld_ip = 127.0.0.1
|
||||
rigctld_port = 0
|
||||
|
||||
[TNC]
|
||||
#tnc settings
|
||||
scatter = False
|
||||
fft = False
|
||||
narrowband = True
|
||||
fmin = -50.0
|
||||
fmax = 50.0
|
||||
qrv = True
|
||||
rxbuffersize = 16
|
||||
explorer = False
|
||||
|
321
libconfig.h
321
libconfig.h
|
@ -1,321 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
libconfig - A library for processing structured configuration files
|
||||
Copyright (C) 2005-2010 Mark A Lindner
|
||||
|
||||
This file is part of libconfig.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public License
|
||||
as published by the Free Software Foundation; either version 2.1 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef __libconfig_h
|
||||
#define __libconfig_h
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
#if defined(LIBCONFIG_STATIC)
|
||||
#define LIBCONFIG_API
|
||||
#elif defined(LIBCONFIG_EXPORTS)
|
||||
#define LIBCONFIG_API __declspec(dllexport)
|
||||
#else /* ! LIBCONFIG_EXPORTS */
|
||||
#define LIBCONFIG_API __declspec(dllimport)
|
||||
#endif /* LIBCONFIG_STATIC */
|
||||
#else /* ! WIN32 */
|
||||
#define LIBCONFIG_API
|
||||
#endif /* WIN32 */
|
||||
|
||||
#define LIBCONFIG_VER_MAJOR 1
|
||||
#define LIBCONFIG_VER_MINOR 4
|
||||
#define LIBCONFIG_VER_REVISION 9
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define CONFIG_TYPE_NONE 0
|
||||
#define CONFIG_TYPE_GROUP 1
|
||||
#define CONFIG_TYPE_INT 2
|
||||
#define CONFIG_TYPE_INT64 3
|
||||
#define CONFIG_TYPE_FLOAT 4
|
||||
#define CONFIG_TYPE_STRING 5
|
||||
#define CONFIG_TYPE_BOOL 6
|
||||
#define CONFIG_TYPE_ARRAY 7
|
||||
#define CONFIG_TYPE_LIST 8
|
||||
|
||||
#define CONFIG_FORMAT_DEFAULT 0
|
||||
#define CONFIG_FORMAT_HEX 1
|
||||
|
||||
#define CONFIG_OPTION_AUTOCONVERT 0x01
|
||||
|
||||
#define CONFIG_TRUE (1)
|
||||
#define CONFIG_FALSE (0)
|
||||
|
||||
typedef union config_value_t
|
||||
{
|
||||
int ival;
|
||||
long long llval;
|
||||
double fval;
|
||||
char *sval;
|
||||
struct config_list_t *list;
|
||||
} config_value_t;
|
||||
|
||||
typedef struct config_setting_t
|
||||
{
|
||||
char *name;
|
||||
short type;
|
||||
short format;
|
||||
config_value_t value;
|
||||
struct config_setting_t *parent;
|
||||
struct config_t *config;
|
||||
void *hook;
|
||||
unsigned int line;
|
||||
const char *file;
|
||||
} config_setting_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CONFIG_ERR_NONE = 0,
|
||||
CONFIG_ERR_FILE_IO = 1,
|
||||
CONFIG_ERR_PARSE = 2
|
||||
} config_error_t;
|
||||
|
||||
typedef struct config_list_t
|
||||
{
|
||||
unsigned int length;
|
||||
config_setting_t **elements;
|
||||
} config_list_t;
|
||||
|
||||
typedef struct config_t
|
||||
{
|
||||
config_setting_t *root;
|
||||
void (*destructor)(void *);
|
||||
unsigned short flags;
|
||||
unsigned short tab_width;
|
||||
short default_format;
|
||||
const char *include_dir;
|
||||
const char *error_text;
|
||||
const char *error_file;
|
||||
int error_line;
|
||||
config_error_t error_type;
|
||||
const char **filenames;
|
||||
unsigned int num_filenames;
|
||||
} config_t;
|
||||
|
||||
extern LIBCONFIG_API int config_read(config_t *config, FILE *stream);
|
||||
extern LIBCONFIG_API void config_write(const config_t *config, FILE *stream);
|
||||
|
||||
extern LIBCONFIG_API void config_set_default_format(config_t *config,
|
||||
short format);
|
||||
|
||||
extern LIBCONFIG_API void config_set_auto_convert(config_t *config, int flag);
|
||||
extern LIBCONFIG_API int config_get_auto_convert(const config_t *config);
|
||||
|
||||
extern LIBCONFIG_API int config_read_string(config_t *config, const char *str);
|
||||
|
||||
extern LIBCONFIG_API int config_read_file(config_t *config,
|
||||
const char *filename);
|
||||
extern LIBCONFIG_API int config_write_file(config_t *config,
|
||||
const char *filename);
|
||||
|
||||
extern LIBCONFIG_API void config_set_destructor(config_t *config,
|
||||
void (*destructor)(void *));
|
||||
extern LIBCONFIG_API void config_set_include_dir(config_t *config,
|
||||
const char *include_dir);
|
||||
|
||||
extern LIBCONFIG_API void config_init(config_t *config);
|
||||
extern LIBCONFIG_API void config_destroy(config_t *config);
|
||||
|
||||
extern LIBCONFIG_API int config_setting_get_int(
|
||||
const config_setting_t *setting);
|
||||
extern LIBCONFIG_API long long config_setting_get_int64(
|
||||
const config_setting_t *setting);
|
||||
extern LIBCONFIG_API double config_setting_get_float(
|
||||
const config_setting_t *setting);
|
||||
extern LIBCONFIG_API int config_setting_get_bool(
|
||||
const config_setting_t *setting);
|
||||
extern LIBCONFIG_API const char *config_setting_get_string(
|
||||
const config_setting_t *setting);
|
||||
|
||||
extern LIBCONFIG_API int config_setting_lookup_int(
|
||||
const config_setting_t *setting, const char *name, int *value);
|
||||
extern LIBCONFIG_API int config_setting_lookup_int64(
|
||||
const config_setting_t *setting, const char *name, long long *value);
|
||||
extern LIBCONFIG_API int config_setting_lookup_float(
|
||||
const config_setting_t *setting, const char *name, double *value);
|
||||
extern LIBCONFIG_API int config_setting_lookup_bool(
|
||||
const config_setting_t *setting, const char *name, int *value);
|
||||
extern LIBCONFIG_API int config_setting_lookup_string(
|
||||
const config_setting_t *setting, const char *name, const char **value);
|
||||
|
||||
extern LIBCONFIG_API int config_setting_set_int(config_setting_t *setting,
|
||||
int value);
|
||||
extern LIBCONFIG_API int config_setting_set_int64(config_setting_t *setting,
|
||||
long long value);
|
||||
extern LIBCONFIG_API int config_setting_set_float(config_setting_t *setting,
|
||||
double value);
|
||||
extern LIBCONFIG_API int config_setting_set_bool(config_setting_t *setting,
|
||||
int value);
|
||||
extern LIBCONFIG_API int config_setting_set_string(config_setting_t *setting,
|
||||
const char *value);
|
||||
|
||||
extern LIBCONFIG_API int config_setting_set_format(config_setting_t *setting,
|
||||
short format);
|
||||
extern LIBCONFIG_API short config_setting_get_format(
|
||||
const config_setting_t *setting);
|
||||
|
||||
extern LIBCONFIG_API int config_setting_get_int_elem(
|
||||
const config_setting_t *setting, int idx);
|
||||
extern LIBCONFIG_API long long config_setting_get_int64_elem(
|
||||
const config_setting_t *setting, int idx);
|
||||
extern LIBCONFIG_API double config_setting_get_float_elem(
|
||||
const config_setting_t *setting, int idx);
|
||||
extern LIBCONFIG_API int config_setting_get_bool_elem(
|
||||
const config_setting_t *setting, int idx);
|
||||
extern LIBCONFIG_API const char *config_setting_get_string_elem(
|
||||
const config_setting_t *setting, int idx);
|
||||
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_set_int_elem(
|
||||
config_setting_t *setting, int idx, int value);
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_set_int64_elem(
|
||||
config_setting_t *setting, int idx, long long value);
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_set_float_elem(
|
||||
config_setting_t *setting, int idx, double value);
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_set_bool_elem(
|
||||
config_setting_t *setting, int idx, int value);
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_set_string_elem(
|
||||
config_setting_t *setting, int idx, const char *value);
|
||||
|
||||
#define /* const char * */ config_get_include_dir(/* const config_t * */ C) \
|
||||
((C)->include_dir)
|
||||
|
||||
#define /* int */ config_setting_type(/* const config_setting_t * */ S) \
|
||||
((S)->type)
|
||||
|
||||
#define /* int */ config_setting_is_group(/* const config_setting_t * */ S) \
|
||||
((S)->type == CONFIG_TYPE_GROUP)
|
||||
#define /* int */ config_setting_is_array(/* const config_setting_t * */ S) \
|
||||
((S)->type == CONFIG_TYPE_ARRAY)
|
||||
#define /* int */ config_setting_is_list(/* const config_setting_t * */ S) \
|
||||
((S)->type == CONFIG_TYPE_LIST)
|
||||
|
||||
#define /* int */ config_setting_is_aggregate( \
|
||||
/* const config_setting_t * */ S) \
|
||||
(((S)->type == CONFIG_TYPE_GROUP) || ((S)->type == CONFIG_TYPE_LIST) \
|
||||
|| ((S)->type == CONFIG_TYPE_ARRAY))
|
||||
|
||||
#define /* int */ config_setting_is_number(/* const config_setting_t * */ S) \
|
||||
(((S)->type == CONFIG_TYPE_INT) \
|
||||
|| ((S)->type == CONFIG_TYPE_INT64) \
|
||||
|| ((S)->type == CONFIG_TYPE_FLOAT))
|
||||
|
||||
#define /* int */ config_setting_is_scalar(/* const config_setting_t * */ S) \
|
||||
(((S)->type == CONFIG_TYPE_BOOL) || ((S)->type == CONFIG_TYPE_STRING) \
|
||||
|| config_setting_is_number(S))
|
||||
|
||||
#define /* const char * */ config_setting_name( \
|
||||
/* const config_setting_t * */ S) \
|
||||
((S)->name)
|
||||
|
||||
#define /* config_setting_t * */ config_setting_parent( \
|
||||
/* const config_setting_t * */ S) \
|
||||
((S)->parent)
|
||||
|
||||
#define /* int */ config_setting_is_root( \
|
||||
/* const config_setting_t * */ S) \
|
||||
((S)->parent ? CONFIG_FALSE : CONFIG_TRUE)
|
||||
|
||||
extern LIBCONFIG_API int config_setting_index(const config_setting_t *setting);
|
||||
|
||||
extern LIBCONFIG_API int config_setting_length(
|
||||
const config_setting_t *setting);
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_get_elem(
|
||||
const config_setting_t *setting, unsigned int idx);
|
||||
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_get_member(
|
||||
const config_setting_t *setting, const char *name);
|
||||
|
||||
extern LIBCONFIG_API config_setting_t *config_setting_add(
|
||||
config_setting_t *parent, const char *name, int type);
|
||||
extern LIBCONFIG_API int config_setting_remove(config_setting_t *parent,
|
||||
const char *name);
|
||||
extern LIBCONFIG_API int config_setting_remove_elem(config_setting_t *parent,
|
||||
unsigned int idx);
|
||||
extern LIBCONFIG_API void config_setting_set_hook(config_setting_t *setting,
|
||||
void *hook);
|
||||
|
||||
#define config_setting_get_hook(S) ((S)->hook)
|
||||
|
||||
extern LIBCONFIG_API config_setting_t *config_lookup(const config_t *config,
|
||||
const char *path);
|
||||
extern LIBCONFIG_API config_setting_t *config_lookup_from(
|
||||
config_setting_t *setting, const char *path);
|
||||
|
||||
extern LIBCONFIG_API int config_lookup_int(const config_t *config,
|
||||
const char *path, int *value);
|
||||
extern LIBCONFIG_API int config_lookup_int64(const config_t *config,
|
||||
const char *path,
|
||||
long long *value);
|
||||
extern LIBCONFIG_API int config_lookup_float(const config_t *config,
|
||||
const char *path, double *value);
|
||||
extern LIBCONFIG_API int config_lookup_bool(const config_t *config,
|
||||
const char *path, int *value);
|
||||
extern LIBCONFIG_API int config_lookup_string(const config_t *config,
|
||||
const char *path,
|
||||
const char **value);
|
||||
|
||||
#define /* config_setting_t * */ config_root_setting( \
|
||||
/* const config_t * */ C) \
|
||||
((C)->root)
|
||||
|
||||
#define /* void */ config_set_default_format(/* config_t * */ C, \
|
||||
/* short */ F) \
|
||||
(C)->default_format = (F)
|
||||
|
||||
#define /* short */ config_get_default_format(/* config_t * */ C) \
|
||||
((C)->default_format)
|
||||
|
||||
#define /* void */ config_set_tab_width(/* config_t * */ C, \
|
||||
/* unsigned short */ W) \
|
||||
(C)->tab_width = ((W) & 0x0F)
|
||||
|
||||
#define /* unsigned char */ config_get_tab_width(/* const config_t * */ C) \
|
||||
((C)->tab_width)
|
||||
|
||||
#define /* unsigned short */ config_setting_source_line( \
|
||||
/* const config_setting_t * */ S) \
|
||||
((S)->line)
|
||||
|
||||
#define /* const char */ config_setting_source_file( \
|
||||
/* const config_setting_t * */ S) \
|
||||
((S)->file)
|
||||
|
||||
#define /* const char * */ config_error_text(/* const config_t * */ C) \
|
||||
((C)->error_text)
|
||||
|
||||
#define /* const char * */ config_error_file(/* const config_t * */ C) \
|
||||
((C)->error_file)
|
||||
|
||||
#define /* int */ config_error_line(/* const config_t * */ C) \
|
||||
((C)->error_line)
|
||||
|
||||
#define /* config_error_t */ config_error_type(/* const config_t * */ C) \
|
||||
((C)->error_type)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __libconfig_h */
|
2
makefile
2
makefile
|
@ -28,7 +28,7 @@ noi2c: linbpq
|
|||
|
||||
|
||||
linbpq: $(OBJS)
|
||||
gcc $(OBJS) -Xlinker -Map=output.map -l:libminiupnpc.a -lcrypto -lrt -lm -lz -lpthread -lconfig -lpcap -o linbpq
|
||||
gcc $(OBJS) -Xlinker -Map=output.map -l:libminiupnpc.a -lcrypto -lrt -lm -lz -lpthread -lconfig -lpcap -lasound -o linbpq
|
||||
sudo setcap "CAP_NET_ADMIN=ep CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep" linbpq
|
||||
|
||||
-include *.d
|
||||
|
|
|
@ -13,7 +13,7 @@ OBJS = pngwtran.o pngrtran.o pngset.o pngrio.o pngwio.o pngtrans.o pngrutil.o pn
|
|||
MailCommands.o MailDataDefs.o LinBPQ.o MailRouting.o MailTCP.o MBLRoutines.o md5.o Moncode.o \
|
||||
NNTPRoutines.o RigControl.o TelnetV6.o WINMOR.o TNCCode.o UZ7HODrv.o WPRoutines.o \
|
||||
SCSTrackeMulti.o SCSPactor.o SCSTracker.o HanksRT.o UIRoutines.o AGWAPI.o AGWMoncode.o \
|
||||
DRATS.o FreeDATA.o base64.o
|
||||
DRATS.o FreeDATA.o base64.o Events.o
|
||||
|
||||
# Configuration:
|
||||
|
||||
|
@ -28,7 +28,7 @@ noi2c: linbpq
|
|||
|
||||
|
||||
linbpq: $(OBJS)
|
||||
gcc $(OBJS) -Xlinker -Map=output.map -l:libminiupnpc.a -lrt -lm -lz -lpthread -lconfig -lpcap -o linbpq
|
||||
gcc $(OBJS) -Xlinker -Map=output.map -l:libminiupnpc.a -lcrypto -lrt -lm -lz -lpthread -lconfig -lpcap -o linbpq
|
||||
sudo setcap "CAP_NET_ADMIN=ep CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep" linbpq
|
||||
|
||||
-include *.d
|
||||
|
|
|
@ -1422,7 +1422,7 @@ char * ChatConfigtxt()
|
|||
"<div style=\"text-align: center;\"><font size=\"+1\"><span\r\n"
|
||||
"style=\"font-family: monospace; font-weight: bold;\">Chat Configuration</span></font></div>\r\n"
|
||||
"<div id=\"main\"\r\n"
|
||||
"style=\"align: center; border: 2px solid ; overflow: auto; text-align: center; position: relative; top: 10px; height: 550px; width: 700px; left: 96.5px;\">\r\n"
|
||||
"style=\"align: center; border: 2px solid ; overflow: auto; text-align: center; position: relative; top: 10px; height: 600px; width: 700px; left: 96.5px;\">\r\n"
|
||||
"<form border=\"1\" style=\"font-family: monospace;\" method=\"post\"\r\n"
|
||||
"action=\"/Chat/ChatConfig?%s\">\r\n"
|
||||
"<h3> Chat Server Params<span style=\"font-family: monospace;\"></span></h3>\r\n"
|
||||
|
@ -1431,10 +1431,13 @@ char * ChatConfigtxt()
|
|||
"<span style=\"font-family: monospace;\"></span>Streams \r\n"
|
||||
" <input value=\"%d\" size=\"3\" name=\"Streams\"><br>\r\n"
|
||||
" <br>\r\n"
|
||||
" The Nodes to link to box defines which other Chat Nodes should be connected to, or from which "
|
||||
"connections may be accepted. The format is ALIAS:CALL, eg BPQCHT:G8BPQ-4. Note these must be directly "
|
||||
"connectable - ie in your NODES table.<br>\r\n"
|
||||
"<br>\r\n"
|
||||
"<div style=\"text-align: left; width: 680px; margin: auto;\">The Nodes to link to box defines which other Chat Nodes should be connected to, or from which "
|
||||
"connections may be accepted. The format is ALIAS:CALL, eg BPQCHT:G8BPQ-4. If the node is not directly "
|
||||
"connectable (ie is not in your NODES table) you can add a connect script. This consists of a series of commands "
|
||||
"seperared by |, eg NOTCHT:G8BPQ-4|C 3 GM8BPQ-9|CHAT"
|
||||
|
||||
"<br><br>The Callsign of the Chat Node is not defined here - it is obtained from the bpq32.cfg APPLICATION line corresponding to the Chat Appl Number.<br>\r\n"
|
||||
"<br></div>r\n"
|
||||
" <textarea cols=\"70\" rows=\"5\" name=\"nodes\">%s</textarea><br>\r\n"
|
||||
"<br>\r\n"
|
||||
" Map Position <input onchange=CheckLen() maxlength=\"80\" value=\"%s\" size=\"20\" name=\"Posn\" id=pos> <br>\r\n"
|
||||
|
@ -1449,7 +1452,7 @@ char * ChatConfigtxt()
|
|||
"<textarea cols=\"80\" rows=\"5\" name=\"welcome\">%s</textarea><br>\r\n"
|
||||
"<br>\r\n"
|
||||
"\r\n"
|
||||
"<div style=\"position: absolute; left: 150px; top: 500px;\">\r\n"
|
||||
"<div style=\"position: absolute; left: 150px; top: 550px;\">\r\n"
|
||||
"<input name=\"Save\" value=\"Save\" type=submit class='btn'> \r\n"
|
||||
"<input name=\"UpdateMap\" value=\"Update Map\" type=submit class='btn'> \r\n"
|
||||
"<input name=\"Restart\" value=\"Restart Links\" type=submit class='btn'> \r\n"
|
||||
|
|
|
@ -395,6 +395,9 @@ struct FreeDataINFO
|
|||
int arqstate; // 1 = Disc / 2 - connecting 3 - connected
|
||||
int TuningRange; // Must be 50, 100, 150, 200, 250
|
||||
int LimitBandWidth;
|
||||
int TXLevel;
|
||||
int Explorer; // Enable reporting to Freedata Explorer
|
||||
char SSIDList[256];
|
||||
};
|
||||
|
||||
|
||||
|
@ -512,8 +515,6 @@ typedef struct TNCINFO
|
|||
|
||||
BOOL TNCCONNECTING; // For FreeData
|
||||
BOOL TNCCONNECTED;
|
||||
BOOL DAEMONCONNECTING;
|
||||
BOOL DAEMONCONNECTED;
|
||||
|
||||
char NodeCall[10]; // Call we listen for (PORTCALL or NODECALL
|
||||
char CurrentMYC[10]; // Save current call so we don't change it unnecessarily
|
||||
|
@ -609,6 +610,7 @@ typedef struct TNCINFO
|
|||
char * InitPtr; // Next Command
|
||||
int ReinitState; // Reinit State Machine
|
||||
int ReinitCount; // Count for DED Recovery
|
||||
int TermReinitCount; // Count for DED Term Mode Recovery
|
||||
BOOL TNCOK; // TNC is reponding
|
||||
int FramesOutstanding; // Frames Queued - used for flow control
|
||||
BOOL InternalCmd; // Last Command was generated internally
|
||||
|
|
Loading…
Reference in New Issue