diff --git a/mystic/HISTORY.txt b/mystic/HISTORY.txt index 22d870d..318ec63 100644 --- a/mystic/HISTORY.txt +++ b/mystic/HISTORY.txt @@ -3583,7 +3583,7 @@ - Prompt #315 is no longer used. I can't remember why. :) - + Removed MPL Cfg Variable "CfgMaxNodes" and replaced it with "CfgINetTNMax" + + Removed MPL Cfg Variable "CfgMaxNodes" and replaced it with "CfgTNNodes" variable, which now contains the number of telnet nodes to allow. These are basically interchangable in your MPL code but it is changing to more accurately reflect what Mystic is doing. diff --git a/mystic/bbs_cfg_main.pas b/mystic/bbs_cfg_main.pas index 3e7780b..297ce14 100644 --- a/mystic/bbs_cfg_main.pas +++ b/mystic/bbs_cfg_main.pas @@ -239,6 +239,7 @@ Begin End Else Case Res of 'I' : Configuration_Internet; + '1' : Configuration_TelnetServer; '2' : Configuration_FTPServer; 'X' : Break; Else diff --git a/mystic/bbs_cfg_syscfg.pas b/mystic/bbs_cfg_syscfg.pas index de4deca..dddb2e6 100644 --- a/mystic/bbs_cfg_syscfg.pas +++ b/mystic/bbs_cfg_syscfg.pas @@ -12,6 +12,7 @@ Procedure Configuration_FileSettings; Procedure Configuration_QWKSettings; Procedure Configuration_Internet; Procedure Configuration_FTPServer; +Procedure Configuration_TelnetServer; Implementation @@ -351,4 +352,33 @@ Begin Box.Free; End; +Procedure Configuration_TelnetServer; +Var + Box : TAnsiMenuBox; + Form : TAnsiMenuForm; + Topic : String[80]; +Begin + Topic := '|03(|09Telnet Server|03) |01-|09> |15'; + + Box := TAnsiMenuBox.Create; + Form := TAnsiMenuForm.Create; + + Box.Header := ' Telnet Server '; + + Box.Open (26, 9, 54, 16); + + VerticalLine (46, 11, 14); + + Form.AddBol ('U', ' Use Telnet Server', 27, 11, 48, 11, 19, 3, @Config.inetTNUse, Topic + 'Enable Telnet server'); + Form.AddByte ('N', ' Telnet Nodes', 32, 12, 48, 12, 14, 3, 1, 255, @Config.inetTNNodes, Topic + 'Max telnet nodes to allow'); + Form.AddWord ('P', ' Server Port', 33, 13, 48, 13, 13, 5, 0, 65535, @Config.inetTNPort, Topic + 'Telnet Server port'); + Form.AddByte ('D', ' Dupe IP Limit', 31, 14, 48, 14, 15, 3, 1, 255, @Config.inetTNDupes, Topic + 'Max connections with same IP'); + + Form.Execute; + Form.Free; + + Box.Close; + Box.Free; +End; + End. diff --git a/mystic/bbs_nodechat.pas b/mystic/bbs_nodechat.pas index a78cacc..c7d349d 100644 --- a/mystic/bbs_nodechat.pas +++ b/mystic/bbs_nodechat.pas @@ -251,7 +251,7 @@ Procedure Node_Chat; Begin Session.io.OutFullLn (Session.GetPrompt(332)); - For A := 1 to Config.INetTNMax Do Begin + For A := 1 to Config.INetTNNodes Do Begin Assign (ChatFile, Config.DataPath + 'chat' + strI2S(A) + '.dat'); {$I-} Reset (ChatFile); {$I+} If IoResult = 0 Then Begin @@ -289,7 +289,7 @@ Procedure Node_Chat; If Text = '' Then Exit; - For Count := 1 to Config.INetTNMax Do Begin + For Count := 1 to Config.INetTNNodes Do Begin Assign (ChatFile, Config.DataPath + 'chat' + strI2S(Count) + '.dat'); {$I-} Reset (ChatFile); {$I+} If IoResult = 0 Then Begin diff --git a/mystic/bbs_nodeinfo.pas b/mystic/bbs_nodeinfo.pas index ceb3477..efe3102 100644 --- a/mystic/bbs_nodeinfo.pas +++ b/mystic/bbs_nodeinfo.pas @@ -25,7 +25,7 @@ Var Begin Is_User_Online := 0; - For Count := 1 to Config.INetTNMax Do Begin + For Count := 1 to Config.INetTNNodes Do Begin Assign (ChatFile, Config.DataPath + 'chat' + strI2S(Count) + '.dat'); {$I-} Reset(ChatFile); {$I+} If IoResult <> 0 Then Continue; @@ -78,7 +78,7 @@ Var Begin Session.io.OutFullLn (Session.GetPrompt(138)); - For A := 1 to Config.INetTNMax Do Begin + For A := 1 to Config.INetTNNodes Do Begin Assign (ChatFile, Config.DataPath + 'chat' + strI2S(A) + '.dat'); {$I-} Reset(ChatFile); {$I+} If IoResult <> 0 Then Continue; @@ -120,7 +120,7 @@ Begin ToNode := strS2I(Str); - If (ToNode < 0) or (ToNode > Config.INetTNMax) Then Begin + If (ToNode < 0) or (ToNode > Config.INetTNNodes) Then Begin Session.io.OutFullLn (Session.GetPrompt(147)); Exit; End; @@ -133,7 +133,7 @@ Begin Delete (Data, 1, Pos(';', Data)); If ToNode = 0 Then Begin B := 1; - C := Config.INetTNMax; + C := Config.INetTNNodes; If MsgType = 3 Then MsgType := 2; { If Not (MsgType in [1, 4..7]) Then MsgType := 2;} { used line above comment now... see if that does anything } diff --git a/mystic/mis.pas b/mystic/mis.pas index 4acfc31..f22cc2f 100644 --- a/mystic/mis.pas +++ b/mystic/mis.pas @@ -348,13 +348,13 @@ Begin Console := TOutput.Create(True); Input := TInput.Create; - NodeData := TNodeData.Create(bbsConfig.INetTNMax); + NodeData := TNodeData.Create(bbsConfig.INetTNNodes); Console.SetWindowTitle(WinTitle); {$IFDEF WINDOWS} If bbsConfig.InetTNUse Then Begin - TelnetServer := TServerManager.Create(bbsConfig, bbsConfig.InetTNPort, bbsConfig.INetTNMax, NodeData, @CreateTelnet); + TelnetServer := TServerManager.Create(bbsConfig, bbsConfig.InetTNPort, bbsConfig.INetTNNodes, NodeData, @CreateTelnet); TelnetServer.Server.FTelnetServer := True; // TelnetServer.TextPath := bbsConfig.DataPath; diff --git a/mystic/mpl_common.pas b/mystic/mpl_common.pas index bdb523a..62b5448 100644 --- a/mystic/mpl_common.pas +++ b/mystic/mpl_common.pas @@ -317,19 +317,19 @@ Begin AddVar ({$IFDEF MPLPARSER} 'userflags', {$ENDIF} iByte); End; 2 : Begin - AddPointer ({$IFDEF MPLPARSER} 'cfgsyspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.SystemPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgdatapath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.DataPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfglogspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.LogsPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgmsgspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.MsgsPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgattpath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.AttachPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgqwkpath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.QwkPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgmenupath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Session.Lang.MenuPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgtextpath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Session.Lang.TextPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgmpepath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.ScriptPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgtemppath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Session.TempPath {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgtimeout', {$ENDIF} iWord, 4, {$IFNDEF MPLPARSER} @Config.Inactivity {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfgseeinvis', {$ENDIF} iString, 20, {$IFNDEF MPLPARSER} @Config.AcsSeeInvis {$ELSE} NIL {$ENDIF}); - AddPointer ({$IFDEF MPLPARSER} 'cfginettnmax', {$ENDIF} iByte, 1, {$IFNDEF MPLPARSER} @Config.INetTNMax {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgsyspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.SystemPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgdatapath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.DataPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfglogspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.LogsPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgmsgspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.MsgsPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgattpath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.AttachPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgqwkpath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.QwkPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgmenupath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Session.Lang.MenuPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgtextpath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Session.Lang.TextPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgmpepath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.ScriptPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgtemppath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Session.TempPath {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgtimeout', {$ENDIF} iWord, 4, {$IFNDEF MPLPARSER} @Config.Inactivity {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgseeinvis', {$ENDIF} iString, 20, {$IFNDEF MPLPARSER} @Config.AcsSeeInvis {$ELSE} NIL {$ENDIF}); + AddPointer ({$IFDEF MPLPARSER} 'cfgtnnodes', {$ENDIF} iByte, 1, {$IFNDEF MPLPARSER} @Config.INetTNNodes {$ELSE} NIL {$ENDIF}); End; 3 : Begin {$IFNDEF MPLPARSER} TInterpEngine(S).IdxVarMBase := X + 1; {$ENDIF} diff --git a/mystic/records.pas b/mystic/records.pas index 2a3af88..dcd6477 100644 --- a/mystic/records.pas +++ b/mystic/records.pas @@ -221,7 +221,7 @@ Type inetPOP3Dupes : Byte; inetTNUse : Boolean; inetTNPort : Word; - inetTNMax : Byte; + inetTNNodes : Byte; inetTNDupes : Byte; inetFTPUse : Boolean; inetFTPPort : Word; diff --git a/mystic/todo.pas b/mystic/todo.pas index 00fc3de..8dae0fd 100644 --- a/mystic/todo.pas +++ b/mystic/todo.pas @@ -85,4 +85,5 @@ FUTURE / IDEAS / WORK IN PROGRESS / NOTES - MIDE version using the Lazaurs GUI editor [Spec]. Maybe he would be interested in working on that? - PCBoard-style "quickscan"? Yes? No? -- Filebase allow anonymous flag for FTP or just use FreeFiles \ No newline at end of file +- Filebase allow anonymous flag for FTP or just use FreeFiles +- Build in "telnetd" STDIO redirection into MIS in Linux/OSX