QWK networking (bbs side) complete. Now onto MIS...

This commit is contained in:
mysticbbs 2013-08-28 23:28:53 -04:00
parent 3868c9b4dc
commit 1c3dfaff3a
16 changed files with 97 additions and 27 deletions

View File

@ -483,6 +483,8 @@ Var
List.Add(strPadR(strAddr2Str(bbsCfg.NetAddress[A]), 23, ' ') + ' ' + strPadR(bbsCfg.NetDomain[A], 8, ' ') + ' ' + strPadR(strYN(bbsCfg.NetPrimary[A]), 3, ' ') + ' ' + bbsCfg.NetDesc[A], 0); List.Add(strPadR(strAddr2Str(bbsCfg.NetAddress[A]), 23, ' ') + ' ' + strPadR(bbsCfg.NetDomain[A], 8, ' ') + ' ' + strPadR(strYN(bbsCfg.NetPrimary[A]), 3, ' ') + ' ' + bbsCfg.NetDesc[A], 0);
End; End;
Var
Count : Byte;
Begin Begin
Result := 0; Result := 0;
@ -512,6 +514,12 @@ Begin
End; End;
Until False; Until False;
For Count := 1 to 30 Do Begin
If bbsCfg.NetPrimary[Count] Then Break;
If Count = 30 Then ShowMsgBox(0, 'WARNING: No address is set to primary');
End;
List.Close; List.Close;
Box.Close; Box.Close;

View File

@ -215,7 +215,6 @@ Begin
Form.AddNone ('4', ' 4 SMTP Server Options', 26, 9, 26, 9, 27, ''); Form.AddNone ('4', ' 4 SMTP Server Options', 26, 9, 26, 9, 27, '');
Form.AddNone ('5', ' 5 NNTP Server Options', 26, 10, 26, 10, 27, ''); Form.AddNone ('5', ' 5 NNTP Server Options', 26, 10, 26, 10, 27, '');
Form.AddNone ('6', ' 6 BINKP Server Options', 26, 11, 26, 11, 27, ''); Form.AddNone ('6', ' 6 BINKP Server Options', 26, 11, 26, 11, 27, '');
Form.AddNone ('7', ' 7 FTN-FTP Server Options', 26, 12, 26, 12, 27, '');
Res := Form.Execute; Res := Form.Execute;
MenuPos[2] := Form.ItemPos; MenuPos[2] := Form.ItemPos;
@ -236,7 +235,6 @@ Begin
'4' : Configuration_SMTPServer; '4' : Configuration_SMTPServer;
'5' : Configuration_NNTPServer; '5' : Configuration_NNTPServer;
'6' : Configuration_BINKPServer; '6' : Configuration_BINKPServer;
// '7' : Configuration_FTNFTPServer;
'X' : Break; 'X' : Break;
Else Else
MenuPtr := 0; MenuPtr := 0;

View File

@ -31,7 +31,7 @@ Type
End; End;
Const Const
Num_Cmds = 102; Num_Cmds = 101;
MenuCmds : Array[1..Num_Cmds] of CmdRec = ( MenuCmds : Array[1..Num_Cmds] of CmdRec = (
// AUTOSIG MENU COMMANDS // AUTOSIG MENU COMMANDS
( Name: 'AE'; Desc: 'Autosig editor' ), ( Name: 'AE'; Desc: 'Autosig editor' ),
@ -112,7 +112,6 @@ Const
// OFFLINE MAIL MENU COMMANDS // OFFLINE MAIL MENU COMMANDS
( Name: 'OS'; Desc: 'Set QWK scanned bases' ), ( Name: 'OS'; Desc: 'Set QWK scanned bases' ),
( Name: 'OD'; Desc: 'Download QWK packet' ), ( Name: 'OD'; Desc: 'Download QWK packet' ),
( Name: 'OE'; Desc: 'Download QWKE packet' ),
( Name: 'OU'; Desc: 'Upload REP packet' ), ( Name: 'OU'; Desc: 'Upload REP packet' ),
// DOWNLOAD QUEUE MENU COMMANDS // DOWNLOAD QUEUE MENU COMMANDS

View File

@ -114,7 +114,7 @@ Begin
Box.Open (3, 4, 77, 22); Box.Open (3, 4, 77, 22);
VerticalLine (17, 5, 20); VerticalLine (17, 5, 21);
VerticalLine (66, 5, 21); VerticalLine (66, 5, 21);
Form.AddStr ('N', ' Name' , 11, 5, 19, 5, 6, 30, 40, @MBase.Name, Topic + 'Message base description'); Form.AddStr ('N', ' Name' , 11, 5, 19, 5, 6, 30, 40, @MBase.Name, Topic + 'Message base description');
@ -133,6 +133,7 @@ Begin
Form.AddStr ('S', ' Sponsor' , 8, 18, 19, 18, 9, 30, 30, @MBase.Sponsor, Topic + 'User name of base''s sponser'); Form.AddStr ('S', ' Sponsor' , 8, 18, 19, 18, 9, 30, 30, @MBase.Sponsor, Topic + 'User name of base''s sponser');
Form.AddStr ('T', ' R Template' , 5, 19, 19, 19, 12, 20, 20, @MBase.RTemplate, Topic + 'Template for full screen reader'); Form.AddStr ('T', ' R Template' , 5, 19, 19, 19, 12, 20, 20, @MBase.RTemplate, Topic + 'Template for full screen reader');
Form.AddStr ('M', ' L Template' , 5, 20, 19, 20, 12, 20, 20, @MBase.ITemplate, Topic + 'Template for lightbar message list'); Form.AddStr ('M', ' L Template' , 5, 20, 19, 20, 12, 20, 20, @MBase.ITemplate, Topic + 'Template for lightbar message list');
Form.AddBits ('0', ' QWK Network' , 4, 21, 19, 21, 13, MBAllowQWKNet, @MBase.Flags, Topic + 'Is this base a QWK network base?');
Form.AddAttr ('Q', ' Quote Color' , 53, 5, 68, 5, 13, @MBase.ColQuote, Topic + 'Color for quoted text'); Form.AddAttr ('Q', ' Quote Color' , 53, 5, 68, 5, 13, @MBase.ColQuote, Topic + 'Color for quoted text');
Form.AddAttr ('X', ' Text Color' , 54, 6, 68, 6, 12, @MBase.ColText, Topic + 'Color for message text'); Form.AddAttr ('X', ' Text Color' , 54, 6, 68, 6, 12, @MBase.ColText, Topic + 'Color for message text');

View File

@ -83,7 +83,7 @@ Begin
Box.Open (5, 5, 75, 18); Box.Open (5, 5, 75, 18);
VerticalLine (24, 7, 16); VerticalLine (24, 7, 17);
VerticalLine (67, 7, 12); VerticalLine (67, 7, 12);
Form.AddStr ('B', ' BBS Name', 14, 7, 26, 7, 10, 25, 30, @bbsCfg.BBSName, Topic); Form.AddStr ('B', ' BBS Name', 14, 7, 26, 7, 10, 25, 30, @bbsCfg.BBSName, Topic);
@ -93,9 +93,10 @@ Begin
Form.AddStr ('O', ' Sysop ACS', 13, 11, 26, 11, 11, 25, 30, @bbsCfg.ACSSysop, Topic); Form.AddStr ('O', ' Sysop ACS', 13, 11, 26, 11, 11, 25, 30, @bbsCfg.ACSSysop, Topic);
Form.AddStr ('F', ' Feedback To', 11, 12, 26, 12, 13, 25, 30, @bbsCfg.FeedbackTo, Topic); Form.AddStr ('F', ' Feedback To', 11, 12, 26, 12, 13, 25, 30, @bbsCfg.FeedbackTo, Topic);
Form.AddStr ('A', ' Start Menu', 12, 13, 26, 13, 12, 20, 20, @bbsCfg.DefStartMenu, Topic); Form.AddStr ('A', ' Start Menu', 12, 13, 26, 13, 12, 20, 20, @bbsCfg.DefStartMenu, Topic);
Form.AddStr ('H', ' Theme', 17, 14, 26, 14, 7, 20, 20, @bbsCfg.DefThemeFile, Topic); Form.AddStr ('Q', ' QWK Net Menu', 10, 14, 26, 14, 14, 20, 20, @bbsCfg.QwkNetMenu, Topic + 'QWK menu for QWK network users');
Form.AddBol ('K', ' Ask Theme', 13, 15, 26, 15, 11, 3, @bbsCfg.ThemeOnStart, Topic + 'Ask theme each connection'); Form.AddStr ('H', ' Theme', 17, 15, 26, 15, 7, 20, 20, @bbsCfg.DefThemeFile, Topic);
Form.AddTog ('E', ' Terminal', 14, 16, 26, 16, 10, 10, 0, 3, 'Ask Detect Detect/Ask ANSI', @bbsCfg.DefTermMode, Topic); Form.AddBol ('K', ' Ask Theme', 13, 16, 26, 16, 11, 3, @bbsCfg.ThemeOnStart, Topic + 'Ask theme each connection');
Form.AddTog ('E', ' Terminal', 14, 17, 26, 17, 10, 10, 0, 3, 'Ask Detect Detect/Ask ANSI', @bbsCfg.DefTermMode, Topic);
Form.AddBol ('L', ' Chat Logging', 53, 7, 69, 7, 14, 3, @bbsCfg.ChatLogging, Topic); Form.AddBol ('L', ' Chat Logging', 53, 7, 69, 7, 14, 3, @bbsCfg.ChatLogging, Topic);
Form.AddByte ('R', ' Hours Start', 54, 8, 69, 8, 13, 2, 0, 24, @bbsCfg.ChatStart, Topic); Form.AddByte ('R', ' Hours Start', 54, 8, 69, 8, 13, 2, 0, 24, @bbsCfg.ChatStart, Topic);

View File

@ -152,6 +152,7 @@ Begin
Form.AddBol ('I', ' Mail Index' , 7, 12, 23, 12, 14, 3, @U.UseLBMIdx, Topic + 'Start reading email at message index'); Form.AddBol ('I', ' Mail Index' , 7, 12, 23, 12, 14, 3, @U.UseLBMIdx, Topic + 'Start reading email at message index');
Form.AddTog ('N', ' Node Chat' , 7, 13, 23, 13, 14, 8, 0, 1, 'Standard Full', @U.UseFullChat, Topic + 'User''s node chat type'); Form.AddTog ('N', ' Node Chat' , 7, 13, 23, 13, 14, 8, 0, 1, 'Standard Full', @U.UseFullChat, Topic + 'User''s node chat type');
Form.AddTog ('C', ' Code Page' , 7, 14, 23, 14, 14, 5, 0, 1, 'CP437 UTF-8', @U.CodePage, Topic + 'User''s character translation'); Form.AddTog ('C', ' Code Page' , 7, 14, 23, 14, 14, 5, 0, 1, 'CP437 UTF-8', @U.CodePage, Topic + 'User''s character translation');
Form.AddBol ('Q', ' QWKE Packet' , 7, 15, 23, 15, 14, 3, @U.QwkExtended, Topic + 'Use QWKE (instead of QWK)');
End; End;
4 : Begin 4 : Begin
Form.Clear; Form.Clear;
@ -190,6 +191,7 @@ Begin
Form.AddBits ('P', ' No PW Change', 7, 10, 23, 10, 14, UserNoPWChange, @U.Flags, Topic + 'Exclude from forced password change'); Form.AddBits ('P', ' No PW Change', 7, 10, 23, 10, 14, UserNoPWChange, @U.Flags, Topic + 'Exclude from forced password change');
Form.AddBits ('H', ' No History' , 7, 11, 23, 11, 14, UserNoHistory, @U.Flags, Topic + 'Exclude from BBS history stats'); Form.AddBits ('H', ' No History' , 7, 11, 23, 11, 14, UserNoHistory, @U.Flags, Topic + 'Exclude from BBS history stats');
Form.AddBits ('T', ' No Timeout' , 7, 12, 23, 12, 14, UserNoTimeout, @U.Flags, Topic + 'Exclude from inactivity timeout'); Form.AddBits ('T', ' No Timeout' , 7, 12, 23, 12, 14, UserNoTimeout, @U.Flags, Topic + 'Exclude from inactivity timeout');
Form.AddBits ('Q', ' QWK Network' , 7, 13, 23, 13, 14, UserQWKNetwork, @U.Flags, Topic + 'User is a QWK network account');
End; End;
End; End;

View File

@ -246,7 +246,7 @@ Procedure TBBSCore.SystemLog (Str: String);
Var Var
tLOG : Text; tLOG : Text;
Begin Begin
Assign (tLOG, bbsCfg.LogsPath + 'sysop.' + strI2S(NodeNum)); Assign (tLOG, bbsCfg.LogsPath + 'node' + strI2S(NodeNum) + '.log');
{$I-} Append(tLOG); {$I+} {$I-} Append(tLOG); {$I+}
If IoResult <> 0 Then ReWrite (tLOG); If IoResult <> 0 Then ReWrite (tLOG);

View File

@ -458,7 +458,8 @@ Begin
While Not Eof(Session.User.UserFile) Do Begin While Not Eof(Session.User.UserFile) Do Begin
Read (Session.User.UserFile, TempUser); Read (Session.User.UserFile, TempUser);
If TempUser.Flags AND UserDeleted <> 0 Then Continue; If (TempUser.Flags AND UserDeleted <> 0) and
(TempUser.Flags AND UserQWKNetwork <> 0) Then Continue;
Session.io.PromptInfo[1] := TempUser.Handle; Session.io.PromptInfo[1] := TempUser.Handle;
Session.io.PromptInfo[2] := TempUser.City; Session.io.PromptInfo[2] := TempUser.City;

View File

@ -704,6 +704,7 @@ Begin
End; End;
'Q' : Case Code[2] of 'Q' : Case Code[2] of
'A' : LastMCIValue := TBBSCore(Core).User.ThisUser.Archive; 'A' : LastMCIValue := TBBSCore(Core).User.ThisUser.Archive;
'E' : LastMCIValue := OutYN (TBBSCore(Core).User.ThisUser.QwkExtended);
'L' : LastMCIValue := OutYN (TBBSCore(Core).User.ThisUser.QwkFiles); 'L' : LastMCIValue := OutYN (TBBSCore(Core).User.ThisUser.QwkFiles);
'O' : ShowRandomQuote; 'O' : ShowRandomQuote;
End; End;

View File

@ -258,7 +258,7 @@ Begin
'M' : Case Cmd[2] of 'M' : Case Cmd[2] of
'A' : Session.Msgs.ChangeArea(CmdData); 'A' : Session.Msgs.ChangeArea(CmdData);
'C' : Session.Msgs.CheckEMail(CmdData); 'C' : Session.Msgs.CheckEMail(CmdData);
'D' : Session.Msgs.SetMessagePointers; 'D' : Session.Msgs.SetMessagePointers (Pos('/ALL', strUpper(CmdData)) > 0);
'G' : Session.Msgs.MessageGroupChange (CmdData, True, True); 'G' : Session.Msgs.MessageGroupChange (CmdData, True, True);
'L' : Session.Msgs.NetMailLookup (True, '', ''); 'L' : Session.Msgs.NetMailLookup (True, '', '');
'M' : Session.Msgs.SendMassEmail; 'M' : Session.Msgs.SendMassEmail;
@ -285,8 +285,7 @@ Begin
End; End;
'O' : Case Cmd[2] of 'O' : Case Cmd[2] of
'S' : Session.Msgs.ToggleNewScan(True, CmdData); 'S' : Session.Msgs.ToggleNewScan(True, CmdData);
'D' : Session.Msgs.DownloadQWK(False, CmdData); 'D' : Session.Msgs.DownloadQWK(Session.User.ThisUser.QwkExtended, CmdData);
'E' : Session.Msgs.DownloadQWK(True, CmdData);
'U' : Session.Msgs.UploadREP; 'U' : Session.Msgs.UploadREP;
End; End;
'Q' : Case Cmd[2] of 'Q' : Case Cmd[2] of

View File

@ -64,7 +64,7 @@ Type
Procedure MessageNewScan (Data: String); Procedure MessageNewScan (Data: String);
Procedure MessageQuickScan (Data: String); Procedure MessageQuickScan (Data: String);
Procedure GlobalMessageSearch (Mode: Char); Procedure GlobalMessageSearch (Mode: Char);
Procedure SetMessagePointers; Procedure SetMessagePointers (ForceGlobal: Boolean);
Procedure ViewSentEmail; Procedure ViewSentEmail;
Function ResolveOrigin (Var mArea: RecMessageBase) : String; Function ResolveOrigin (Var mArea: RecMessageBase) : String;
// QWK and QWKE goodies // QWK and QWKE goodies
@ -779,7 +779,8 @@ End;
Procedure TMsgBase.ToggleNewScan (QWK: Boolean; Data: String); Procedure TMsgBase.ToggleNewScan (QWK: Boolean; Data: String);
Var Var
Total: LongInt; Total : LongInt;
QwkNet : Boolean;
Procedure List_Bases; Procedure List_Bases;
Begin Begin
@ -801,6 +802,8 @@ Var
While Not Eof(MBaseFile) Do Begin While Not Eof(MBaseFile) Do Begin
Read (MBaseFile, MBase); Read (MBaseFile, MBase);
If QwkNet And (MBase.Flags AND MBAllowQWKNet = 0) Then Continue;
If Session.User.Access(MBase.ListACS) Then Begin If Session.User.Access(MBase.ListACS) Then Begin
Inc (Total); Inc (Total);
@ -923,6 +926,8 @@ Begin
Session.User.IgnoreGroup := Pos('/ALLGROUP', strUpper(Data)) > 0; Session.User.IgnoreGroup := Pos('/ALLGROUP', strUpper(Data)) > 0;
QwkNet := Pos('/QWKNET', strUpper(Data)) > 0;
List_Bases; List_Bases;
If Total = 0 Then Begin If Total = 0 Then Begin
@ -3281,7 +3286,7 @@ Begin
MBase := TempBase; MBase := TempBase;
End; End;
Procedure TMsgBase.SetMessagePointers; Procedure TMsgBase.SetMessagePointers (ForceGlobal: Boolean);
Var Var
NewDate : LongInt; NewDate : LongInt;
@ -3322,7 +3327,6 @@ Var
End; End;
Var Var
Global : Boolean;
InDate : String[8]; InDate : String[8];
Begin Begin
Session.io.OutFull (Session.GetPrompt(458)); Session.io.OutFull (Session.GetPrompt(458));
@ -3332,11 +3336,13 @@ Begin
If Not DateValid(InDate) Then Exit; If Not DateValid(InDate) Then Exit;
NewDate := DateStr2Dos(InDate); NewDate := DateStr2Dos(InDate);
Global := Session.io.GetYN(Session.GetPrompt(459), False);
If Not ForceGlobal Then
ForceGlobal := Session.io.GetYN(Session.GetPrompt(459), False);
Session.io.OutFullLn (Session.GetPrompt(460)); Session.io.OutFullLn (Session.GetPrompt(460));
If Global Then Begin If ForceGlobal Then Begin
ioReset (MBaseFile, SizeOf(RecMessageBase), fmRWDN); ioReset (MBaseFile, SizeOf(RecMessageBase), fmRWDN);
ioRead (MBaseFile, MBase); ioRead (MBaseFile, MBase);
@ -3532,7 +3538,10 @@ Begin
While Not Eof(Session.User.UserFile) Do Begin While Not Eof(Session.User.UserFile) Do Begin
Read (Session.User.UserFile, Session.User.ThisUser); Read (Session.User.UserFile, Session.User.ThisUser);
If (Session.User.ThisUser.Flags AND UserDeleted = 0) and Session.User.Access(ACS) Then Begin If (Session.User.ThisUser.Flags AND UserDeleted = 0) and
(Session.User.ThisUser.Flags AND UserQWKNetwork = 0) and
Session.User.Access(ACS) Then Begin
Session.io.PromptInfo[1] := Session.User.ThisUser.Handle; Session.io.PromptInfo[1] := Session.User.ThisUser.Handle;
Session.io.OutFullLn (Session.GetPrompt(392)); Session.io.OutFullLn (Session.GetPrompt(392));

View File

@ -310,7 +310,10 @@ Begin
While Not Eof(UserFile) Do Begin While Not Eof(UserFile) Do Begin
Read (UserFile, TempUser); Read (UserFile, TempUser);
If TempUser.Flags AND UserDeleted <> 0 Then Continue; If (TempUser.Flags AND UserDeleted <> 0) Then Continue;
// If (TempUser.Flags AND UserDeleted <> 0) or
// (TempUser.Flags AND UserQWKNetwork <> 0) Then Continue;
If Pos(Str, strUpper(TempUser.Handle)) > 0 Then Begin If Pos(Str, strUpper(TempUser.Handle)) > 0 Then Begin
If First Then Begin If First Then Begin
@ -356,6 +359,8 @@ Begin
Read (UserFile, TempUser); Read (UserFile, TempUser);
If (((RecNum > 0) And (TempUser.PermIdx = RecNum)) or (strUpper(TempUser.RealName) = Str) or (strUpper(TempUser.Handle) = Str)) and (TempUser.Flags And UserDeleted = 0) Then Begin If (((RecNum > 0) And (TempUser.PermIdx = RecNum)) or (strUpper(TempUser.RealName) = Str) or (strUpper(TempUser.Handle) = Str)) and (TempUser.Flags And UserDeleted = 0) Then Begin
//If ExcludeQWK and (TempUser.Flags AND UserQWKNetwork <> 0) Then Continue;
If Adjust Then UserNum := FilePos(UserFile); If Adjust Then UserNum := FilePos(UserFile);
Result := True; Result := True;
@ -1047,6 +1052,8 @@ Var
Count : Byte; Count : Byte;
Ch : Char; Ch : Char;
Begin Begin
If ThisUser.Flags and UserQWKNetwork <> 0 Then Exit;
{$IFDEF LOGGING} Session.SystemLog('Logon3'); {$ENDIF} {$IFDEF LOGGING} Session.SystemLog('Logon3'); {$ENDIF}
Chat.Available := True; Chat.Available := True;
@ -1207,6 +1214,7 @@ Begin
If Session.User.ThisUser.Security = 0 Then Begin If Session.User.ThisUser.Security = 0 Then Begin
Session.io.OutFullLn(Session.GetPrompt(477)); Session.io.OutFullLn(Session.GetPrompt(477));
Session.User.ThisUser.Flags := Session.User.ThisUser.Flags AND UserDeleted; Session.User.ThisUser.Flags := Session.User.ThisUser.Flags AND UserDeleted;
Exit; Exit;
End Else End Else
Session.io.OutFullLn(Session.GetPrompt(476)); Session.io.OutFullLn(Session.GetPrompt(476));
@ -1437,6 +1445,7 @@ Begin
30 : ThisUser.QwkFiles := Not ThisUser.QwkFiles; 30 : ThisUser.QwkFiles := Not ThisUser.QwkFiles;
31 : Session.FileBase.SelectArchive; 31 : Session.FileBase.SelectArchive;
32 : ThisUser.Protocol := Session.FileBase.SelectProtocol(False, True); 32 : ThisUser.Protocol := Session.FileBase.SelectProtocol(False, True);
33 : ThisUser.QwkExtended := Not ThisUser.QwkExtended;
End; End;
End; End;

View File

@ -187,7 +187,8 @@ Begin
While Not EOF(UserFile) Do Begin While Not EOF(UserFile) Do Begin
Read (UserFile, User); Read (UserFile, User);
If User.Flags And UserDeleted <> 0 Then Continue; If (User.Flags And UserDeleted <> 0) or
(User.Flags And UserQWKNetwork <> 0) Then Continue;
BarOne.Update(FilePos(UserFile), FileSize(UserFile)); BarOne.Update(FilePos(UserFile), FileSize(UserFile));

View File

@ -492,6 +492,9 @@ Begin
If Session.TimeOffset > 0 Then If Session.TimeOffset > 0 Then
Session.TimeSaved := Session.User.ThisUser.TimeLeft; Session.TimeSaved := Session.User.ThisUser.TimeLeft;
If (Session.User.ThisUser.Flags AND UserQWKNetwork <> 0) and (bbsCfg.QwkNetMenu <> '') Then
Session.Menu.MenuName := bbsCfg.QwkNetMenu
Else
If Session.User.ThisUser.StartMenu <> '' Then If Session.User.ThisUser.StartMenu <> '' Then
Session.Menu.MenuName := Session.User.ThisUser.StartMenu Session.Menu.MenuName := Session.User.ThisUser.StartMenu
Else Else

View File

@ -342,7 +342,8 @@ Type
inetBINKPDupes : Byte; inetBINKPDupes : Byte;
inetBINKPTimeOut: Word; inetBINKPTimeOut: Word;
inetBINKPCram5 : Boolean; inetBINKPCram5 : Boolean;
Reserved : Array[1..778] of Char; QwkNetMenu : String[20];
Reserved : Array[1..757] of Char;
End; End;
Const Const
@ -354,6 +355,7 @@ Const
UserNoPWChange = $00000020; UserNoPWChange = $00000020;
UserNoHistory = $00000040; UserNoHistory = $00000040;
UserNoTimeout = $00000080; UserNoTimeout = $00000080;
UserQWKNetwork = $00000100;
Type Type
RecUser = Record // USERS.DAT RecUser = Record // USERS.DAT
@ -422,7 +424,8 @@ Type
Credits : LongInt; Credits : LongInt;
Protocol : Char; Protocol : Char;
CodePage : Byte; // 0 = CP437, 1 = UTF8 CodePage : Byte; // 0 = CP437, 1 = UTF8
Reserved : Array[1..388] of Byte; QwkExtended : Boolean;
Reserved : Array[1..387] of Byte;
End; End;
RecEvent = Record RecEvent = Record
@ -493,6 +496,7 @@ Const
MBNoAttach = $00000008; // 4 MBNoAttach = $00000008; // 4
MBPrivate = $00000010; // 5 MBPrivate = $00000010; // 5
MBPrivReply = $00000020; // 6 MBPrivReply = $00000020; // 6
MBAllowQWKNet = $00000040; // 7
Type Type
RecMessageBase = Record // MBASES.DAT RecMessageBase = Record // MBASES.DAT

View File

@ -3554,4 +3554,38 @@
directory, assuming "Server Logging" is turned on in Internet Server directory, assuming "Server Logging" is turned on in Internet Server
Options. Options.
+ In order to maintain consistancy and for easier file association, telnet
node logs have changed from "sysop.nodenumber" to "node<nodenumber>.log"
in the logs directory.
+ Users can now be flaged as "QWK Network Account" in the User editor.
Account names should be the same as their QWK Network BBSID. These users
will bypass a majority of the login procedures and can have their own
distinct start menu (found in General Settings). A new default menu called
"qwknetwork.mnu" has been included as an example of how one should likely
be setup.
+ Message bases can now be flagged as "Allow QWK Networking" which means that
the message base will be allowed to be selected for scanning by QWK network
scans.
+ The OS menu command (Set QWK scan settings) now has the /QWKNET option
available in command data. This limits the message bases listed to ONLY
show bases flagged for QWK networking.
+ The OE menu command has been removed. Instead, a setting now saves the
users preference of QWK or QWKE packets. You will need to update your
QWK menu to remove this command and to add the toggle of the QWKE packet,
or you can optionally use the new qwk.mnu included as a guide/replacement.
+ New Menu command GE (edit user preferences) optional data: 33. This
toggles the user's preference for QWKE style packets on or off.
+ New MCI code QE returns Yes/No based on the users QWK Extended setting.
+ The MD menu command (set message lastread pointers) now has the optional
data option of /ALL. If this is used, Mystic will NOT has if the user
wants to update their current base, and will instead force the update for
all message bases.
<ALPHA 37 RELEASED> <ALPHA 37 RELEASED>