A37
This commit is contained in:
parent
a8e615dd49
commit
98f8944909
|
@ -204,7 +204,7 @@ Begin
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
2 : Begin
|
2 : Begin
|
||||||
BoxOpen (25, 4, 53, 11);
|
BoxOpen (25, 4, 53, 13);
|
||||||
CoolBoxOpen (24, 'Servers');
|
CoolBoxOpen (24, 'Servers');
|
||||||
|
|
||||||
Form.AddNone ('I', ' I Internet Server Options', 26, 5, 26, 5, 27, '');
|
Form.AddNone ('I', ' I Internet Server Options', 26, 5, 26, 5, 27, '');
|
||||||
|
@ -213,6 +213,8 @@ Begin
|
||||||
Form.AddNone ('3', ' 3 POP3 Server Options', 26, 8, 26, 8, 27, '');
|
Form.AddNone ('3', ' 3 POP3 Server Options', 26, 8, 26, 8, 27, '');
|
||||||
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 ('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;
|
||||||
|
@ -232,6 +234,8 @@ Begin
|
||||||
'3' : Configuration_POP3Server;
|
'3' : Configuration_POP3Server;
|
||||||
'4' : Configuration_SMTPServer;
|
'4' : Configuration_SMTPServer;
|
||||||
'5' : Configuration_NNTPServer;
|
'5' : Configuration_NNTPServer;
|
||||||
|
'6' : Configuration_BINKPServer;
|
||||||
|
// '7' : Configuration_FTNFTPServer;
|
||||||
'X' : Break;
|
'X' : Break;
|
||||||
Else
|
Else
|
||||||
MenuPtr := 0;
|
MenuPtr := 0;
|
||||||
|
|
|
@ -16,6 +16,7 @@ Procedure Configuration_TelnetServer;
|
||||||
Procedure Configuration_POP3Server;
|
Procedure Configuration_POP3Server;
|
||||||
Procedure Configuration_SMTPServer;
|
Procedure Configuration_SMTPServer;
|
||||||
Procedure Configuration_NNTPServer;
|
Procedure Configuration_NNTPServer;
|
||||||
|
Procedure Configuration_BINKPServer;
|
||||||
Procedure Configuration_MessageSettings;
|
Procedure Configuration_MessageSettings;
|
||||||
Procedure Configuration_NewUser1Settings;
|
Procedure Configuration_NewUser1Settings;
|
||||||
Procedure Configuration_NewUser2Settings;
|
Procedure Configuration_NewUser2Settings;
|
||||||
|
@ -387,6 +388,37 @@ Begin
|
||||||
Box.Free;
|
Box.Free;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
Procedure Configuration_BINKPServer;
|
||||||
|
Var
|
||||||
|
Box : TAnsiMenuBox;
|
||||||
|
Form : TAnsiMenuForm;
|
||||||
|
Topic : String[80];
|
||||||
|
Begin
|
||||||
|
Topic := '|03(|09BINKP Server|03) |01-|09> |15';
|
||||||
|
|
||||||
|
Box := TAnsiMenuBox.Create;
|
||||||
|
Form := TAnsiMenuForm.Create;
|
||||||
|
|
||||||
|
Box.Header := ' BINKP Server ';
|
||||||
|
|
||||||
|
Box.Open (27, 8, 53, 17);
|
||||||
|
|
||||||
|
VerticalLine (45, 10, 15);
|
||||||
|
|
||||||
|
Form.AddBol ('U', ' Use Server', 33, 10, 47, 10, 12, 3, @Config.inetBINKPUse, Topic + 'Enable BINKP server');
|
||||||
|
Form.AddWord ('P', ' Server Port', 32, 11, 47, 11, 13, 5, 0, 65535, @Config.inetBINKPPort, Topic + 'BINKP Server port');
|
||||||
|
Form.AddByte ('N', ' Max Connections', 28, 12, 47, 12, 17, 3, 1, 255, @Config.inetBINKPMax, Topic + 'Max Connections');
|
||||||
|
Form.AddByte ('I', ' Dupe IP Limit', 30, 13, 47, 13, 15, 3, 1, 255, @Config.inetBINKPDupes, Topic + 'Max connections with same IP');
|
||||||
|
Form.AddWord ('T', ' Timeout', 36, 14, 47, 14, 9, 5, 0, 65535, @Config.inetBINKPTimeout, Topic + 'Connection timeout (seconds)');
|
||||||
|
Form.AddBol ('F', ' Force CRAM-MD5', 29, 15, 47, 15, 16, 3, @Config.inetBINKPCram5, Topic + 'Force CRAM-MD5 auth');
|
||||||
|
|
||||||
|
Form.Execute;
|
||||||
|
Form.Free;
|
||||||
|
|
||||||
|
Box.Close;
|
||||||
|
Box.Free;
|
||||||
|
End;
|
||||||
|
|
||||||
Procedure Configuration_SMTPServer;
|
Procedure Configuration_SMTPServer;
|
||||||
Var
|
Var
|
||||||
Box : TAnsiMenuBox;
|
Box : TAnsiMenuBox;
|
||||||
|
|
|
@ -48,7 +48,8 @@ Uses
|
||||||
MIS_Client_SMTP,
|
MIS_Client_SMTP,
|
||||||
MIS_Client_POP3,
|
MIS_Client_POP3,
|
||||||
MIS_Client_FTP,
|
MIS_Client_FTP,
|
||||||
MIS_Client_NNTP;
|
MIS_Client_NNTP,
|
||||||
|
MIS_Client_BINKP;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
FocusTelnet = 0;
|
FocusTelnet = 0;
|
||||||
|
@ -56,7 +57,8 @@ Const
|
||||||
FocusPOP3 = 2;
|
FocusPOP3 = 2;
|
||||||
FocusFTP = 3;
|
FocusFTP = 3;
|
||||||
FocusNNTP = 4;
|
FocusNNTP = 4;
|
||||||
FocusMax = 4;
|
FocusBINKP = 5;
|
||||||
|
FocusMax = 5;
|
||||||
|
|
||||||
Var
|
Var
|
||||||
Keyboard : TInput;
|
Keyboard : TInput;
|
||||||
|
@ -65,6 +67,7 @@ Var
|
||||||
POP3Server : TServerManager;
|
POP3Server : TServerManager;
|
||||||
SMTPServer : TServerManager;
|
SMTPServer : TServerManager;
|
||||||
NNTPServer : TServerManager;
|
NNTPServer : TServerManager;
|
||||||
|
BINKPServer : TServerManager;
|
||||||
FocusPTR : TServerManager;
|
FocusPTR : TServerManager;
|
||||||
FocusCurrent : Byte;
|
FocusCurrent : Byte;
|
||||||
TopPage : Integer;
|
TopPage : Integer;
|
||||||
|
@ -122,6 +125,7 @@ Begin
|
||||||
FocusPOP3 : GetFocusPtr := POP3Server;
|
FocusPOP3 : GetFocusPtr := POP3Server;
|
||||||
FocusFTP : GetFocusPtr := FTPServer;
|
FocusFTP : GetFocusPtr := FTPServer;
|
||||||
FocusNNTP : GetFocusPtr := NNTPServer;
|
FocusNNTP : GetFocusPtr := NNTPServer;
|
||||||
|
FocusBINKP : GetFocusPtr := BINKPServer;
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
@ -160,7 +164,8 @@ Begin
|
||||||
1,
|
1,
|
||||||
2,
|
2,
|
||||||
3,
|
3,
|
||||||
4: If (Count <= FocusPtr.ClientList.Count) And (FocusPtr.ClientList[Count - 1] <> NIL) Then Begin
|
4,
|
||||||
|
5 : If (Count <= FocusPtr.ClientList.Count) And (FocusPtr.ClientList[Count - 1] <> NIL) Then Begin
|
||||||
Console.WriteXY (3, 3 + PosY, Attr,
|
Console.WriteXY (3, 3 + PosY, Attr,
|
||||||
strPadL(strI2S(Count), 3, '0') + ' ' +
|
strPadL(strI2S(Count), 3, '0') + ' ' +
|
||||||
strPadR(TFTPServer(FocusPtr.ClientList[Count - 1]).User.Handle, 31, ' ') + ' ' +
|
strPadR(TFTPServer(FocusPtr.ClientList[Count - 1]).User.Handle, 31, ' ') + ' ' +
|
||||||
|
@ -219,17 +224,19 @@ Begin
|
||||||
FocusPOP3 : If Pop3Server <> NIL Then Break;
|
FocusPOP3 : If Pop3Server <> NIL Then Break;
|
||||||
FocusFTP : If FtpServer <> NIL Then Break;
|
FocusFTP : If FtpServer <> NIL Then Break;
|
||||||
FocusNNTP : If NNTPServer <> NIL Then Break;
|
FocusNNTP : If NNTPServer <> NIL Then Break;
|
||||||
|
FocusBINKP : If BINKPServer <> NIL Then Break;
|
||||||
End;
|
End;
|
||||||
Until False;
|
Until False;
|
||||||
|
|
||||||
Console.WriteXY (50, 1, 112, 'telnet/smtp/pop3/ftp/nntp/http');
|
Console.WriteXY (49, 1, 112, 'telnet/smtp/pop3/ftp/nntp/binkp');
|
||||||
|
|
||||||
Case FocusCurrent of
|
Case FocusCurrent of
|
||||||
FocusTelnet : Console.WriteXY (50, 1, 113, 'TELNET');
|
FocusTelnet : Console.WriteXY (49, 1, 113, 'TELNET');
|
||||||
FocusSMTP : Console.WriteXY (57, 1, 113, 'SMTP');
|
FocusSMTP : Console.WriteXY (56, 1, 113, 'SMTP');
|
||||||
FocusPOP3 : Console.WriteXY (62, 1, 113, 'POP3');
|
FocusPOP3 : Console.WriteXY (61, 1, 113, 'POP3');
|
||||||
FocusFTP : Console.WriteXY (67, 1, 113, 'FTP');
|
FocusFTP : Console.WriteXY (66, 1, 113, 'FTP');
|
||||||
FocusNNTP : Console.WriteXY (71, 1, 113, 'NNTP');
|
FocusNNTP : Console.WriteXY (70, 1, 113, 'NNTP');
|
||||||
|
FocusBINKP : Console.WriteXY (75, 1, 113, 'BINKP');
|
||||||
End;
|
End;
|
||||||
|
|
||||||
FocusPtr := GetFocusPtr;
|
FocusPtr := GetFocusPtr;
|
||||||
|
@ -348,7 +355,9 @@ Begin
|
||||||
TelnetServer := NIL;
|
TelnetServer := NIL;
|
||||||
FTPServer := NIL;
|
FTPServer := NIL;
|
||||||
POP3Server := NIL;
|
POP3Server := NIL;
|
||||||
|
SMTPServer := NIL;
|
||||||
NNTPServer := NIL;
|
NNTPServer := NIL;
|
||||||
|
BINKPServer := NIL;
|
||||||
NodeData := TNodeData.Create(bbsConfig.INetTNNodes);
|
NodeData := TNodeData.Create(bbsConfig.INetTNNodes);
|
||||||
|
|
||||||
If bbsConfig.InetTNUse Then Begin
|
If bbsConfig.InetTNUse Then Begin
|
||||||
|
@ -396,6 +405,15 @@ Begin
|
||||||
Result := True;
|
Result := True;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
If bbsConfig.InetBINKPUse Then Begin
|
||||||
|
BINKPServer := TServerManager.Create(bbsConfig, bbsConfig.InetBINKPPort, bbsConfig.inetBINKPMax, NodeData, @CreateBINKP);
|
||||||
|
|
||||||
|
BINKPServer.Server.FTelnetServer := False;
|
||||||
|
BINKPServer.ClientMaxIPs := bbsConfig.inetBINKPDupes;
|
||||||
|
|
||||||
|
Result := True;
|
||||||
|
End;
|
||||||
|
|
||||||
{$IFDEF UNIX}
|
{$IFDEF UNIX}
|
||||||
SetUserOwner;
|
SetUserOwner;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
@ -451,6 +469,7 @@ Begin
|
||||||
POP3Server.Free;
|
POP3Server.Free;
|
||||||
FTPServer.Free;
|
FTPServer.Free;
|
||||||
NNTPServer.Free;
|
NNTPServer.Free;
|
||||||
|
BinkPServer.Free;
|
||||||
NodeData.Free;
|
NodeData.Free;
|
||||||
Halt(0);
|
Halt(0);
|
||||||
End;
|
End;
|
||||||
|
@ -487,6 +506,7 @@ Begin
|
||||||
|
|
||||||
Repeat
|
Repeat
|
||||||
WaitMS(60000); // Heartbeat
|
WaitMS(60000); // Heartbeat
|
||||||
|
// change to wait 45 and check for event
|
||||||
Until False;
|
Until False;
|
||||||
End;
|
End;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
@ -518,8 +538,7 @@ Begin
|
||||||
|
|
||||||
If Not ServerStartup Then Begin
|
If Not ServerStartup Then Begin
|
||||||
Console.ClearScreen;
|
Console.ClearScreen;
|
||||||
Console.WriteLine('ERROR: No servers are configured as active. Run MYSTIC -CFG to configure');
|
Console.WriteLine('ERROR: No servers are configured as active.');
|
||||||
Console.WriteLine('Internet server options.');
|
|
||||||
|
|
||||||
NodeData.Free;
|
NodeData.Free;
|
||||||
Keyboard.Free;
|
Keyboard.Free;
|
||||||
|
@ -619,6 +638,9 @@ Begin
|
||||||
Console.WriteStr (' NNTP');
|
Console.WriteStr (' NNTP');
|
||||||
NNTPServer.Free;
|
NNTPServer.Free;
|
||||||
|
|
||||||
|
Console.WriteStr (' BINKP');
|
||||||
|
BINKPServer.Free;
|
||||||
|
|
||||||
Console.WriteLine (' (DONE)');
|
Console.WriteLine (' (DONE)');
|
||||||
|
|
||||||
NodeData.Free;
|
NodeData.Free;
|
||||||
|
|
|
@ -19,6 +19,7 @@ Var
|
||||||
Function SearchForUser (UN: String; Var Rec: RecUser; Var RecPos: LongInt) : Boolean;
|
Function SearchForUser (UN: String; Var Rec: RecUser; Var RecPos: LongInt) : Boolean;
|
||||||
Function CheckAccess (User: RecUser; IgnoreGroup: Boolean; Str: String) : Boolean;
|
Function CheckAccess (User: RecUser; IgnoreGroup: Boolean; Str: String) : Boolean;
|
||||||
Function GetSecurityLevel (Level: Byte; SecLevel: RecSecurity) : Boolean;
|
Function GetSecurityLevel (Level: Byte; SecLevel: RecSecurity) : Boolean;
|
||||||
|
Function strAddr2Str (Addr : RecEchoMailAddr) : String;
|
||||||
|
|
||||||
Implementation
|
Implementation
|
||||||
|
|
||||||
|
@ -214,4 +215,16 @@ Begin
|
||||||
Result := True;
|
Result := True;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
Function strAddr2Str (Addr : RecEchoMailAddr) : String;
|
||||||
|
Var
|
||||||
|
Temp : String[20];
|
||||||
|
Begin
|
||||||
|
Temp := strI2S(Addr.Zone) + ':' + strI2S(Addr.Net) + '/' +
|
||||||
|
strI2S(Addr.Node);
|
||||||
|
|
||||||
|
If Addr.Point <> 0 Then Temp := Temp + '.' + strI2S(Addr.Point);
|
||||||
|
|
||||||
|
Result := Temp;
|
||||||
|
End;
|
||||||
|
|
||||||
End.
|
End.
|
||||||
|
|
|
@ -206,7 +206,7 @@ Begin
|
||||||
If Terminated Then Exit;
|
If Terminated Then Exit;
|
||||||
|
|
||||||
If ClientMax = 0 Then
|
If ClientMax = 0 Then
|
||||||
Status('WARNING: At least one server is configured with 0 max clients.');
|
Status('WARNING: At least one server is configured 0 max clients');
|
||||||
|
|
||||||
Status('Opening server socket on port ' + strI2S(Port));
|
Status('Opening server socket on port ' + strI2S(Port));
|
||||||
|
|
||||||
|
|
|
@ -376,7 +376,7 @@ Begin
|
||||||
AddStr ({$IFDEF MPLPARSER} 'useremail', {$ENDIF} iString, 60);
|
AddStr ({$IFDEF MPLPARSER} 'useremail', {$ENDIF} iString, 60);
|
||||||
AddStr ({$IFDEF MPLPARSER} 'userinfo', {$ENDIF} iString, 30);
|
AddStr ({$IFDEF MPLPARSER} 'userinfo', {$ENDIF} iString, 30);
|
||||||
|
|
||||||
AddStr ({$IFDEF MPLPARSER} 'useropts', {$ENDIF} iString, 10 * 60 - 1);
|
AddStr ({$IFDEF MPLPARSER} 'useropts', {$ENDIF} iString, 10 * 61 - 1);
|
||||||
CV[X]^.ArrPos := 1;
|
CV[X]^.ArrPos := 1;
|
||||||
{$IFNDEF MPLPARSER}
|
{$IFNDEF MPLPARSER}
|
||||||
CV[X]^.VarSize := 61;
|
CV[X]^.VarSize := 61;
|
||||||
|
|
|
@ -145,30 +145,54 @@ Uses
|
||||||
|
|
||||||
{$IFDEF LOGGING}
|
{$IFDEF LOGGING}
|
||||||
Procedure TInterpEngine.LogVarInformation (Num: LongInt);
|
Procedure TInterpEngine.LogVarInformation (Num: LongInt);
|
||||||
|
Var
|
||||||
|
TypeStr : String;
|
||||||
|
DimStr : String;
|
||||||
|
Count : LongInt;
|
||||||
Begin
|
Begin
|
||||||
Session.SystemLog(' DUMP VAR ' + strI2S(Num));
|
Session.SystemLog(' DUMP VAR ' + strI2S(Num));
|
||||||
|
|
||||||
|
Case VarData[Num]^.vType of
|
||||||
|
iNone : TypeStr := 'None';
|
||||||
|
iString : TypeStr := 'String';
|
||||||
|
iChar : TypeStr := 'Char';
|
||||||
|
iByte : TypeStr := 'Byte';
|
||||||
|
iShort : TypeStr := 'Short';
|
||||||
|
iWord : TypeStr := 'Word';
|
||||||
|
iInteger : TypeStr := 'Integer';
|
||||||
|
iLongInt : TypeStr := 'LongInt';
|
||||||
|
iCardinal : TypeStr := 'Cardinal';
|
||||||
|
iReal : TypeStr := 'Real';
|
||||||
|
iBool : TypeStr := 'Boolean';
|
||||||
|
iFile : TypeStr := 'File';
|
||||||
|
iRecord : TypeStr := 'Record';
|
||||||
|
iPointer : TypeStr := 'Pointer';
|
||||||
|
Else
|
||||||
|
TypeStr := 'Unknown';
|
||||||
|
End;
|
||||||
|
|
||||||
|
DimStr := '';
|
||||||
|
|
||||||
|
For Count := 1 to VarData[Num]^.ArrPos Do Begin
|
||||||
|
If DimStr <> '' Then DimStr := DimStr + ',';
|
||||||
|
DimStr := DimStr + strI2S(VarData[Num]^.ArrDim[Count]);
|
||||||
|
End;
|
||||||
|
|
||||||
With VarData[Num]^ Do Begin
|
With VarData[Num]^ Do Begin
|
||||||
Session.SystemLog(' ID: ' + strI2S(VarID));
|
Session.SystemLog(' ID: ' + strI2S(VarID));
|
||||||
Session.SystemLog(' Type: ' + strI2S(Ord(vType)));
|
Session.SystemLog(' Type: ' + strI2S(Ord(vType)) + ', ' + TypeStr);
|
||||||
Session.SystemLog(' DataSize: ' + strI2S(DataSize));
|
Session.SystemLog(' DataSize: ' + strI2S(DataSize));
|
||||||
Session.SystemLog(' VarSize: ' + strI2S(VarSize));
|
Session.SystemLog(' VarSize: ' + strI2S(VarSize));
|
||||||
Session.SystemLog(' Kill: ' + strI2S(Ord(Kill)));
|
Session.SystemLog(' Kill: ' + strI2S(Ord(Kill)));
|
||||||
|
Session.SystemLog(' ProcPos: ' + strI2S(ProcPos));
|
||||||
|
Session.SystemLog(' NumParams: ' + strI2S(NumParams));
|
||||||
|
Session.SystemLog(' ArrPos: ' + strI2S(ArrPos) + '(' + DimStr + ')');
|
||||||
|
|
||||||
If Data <> NIL Then
|
If Data <> NIL Then
|
||||||
Session.SystemLog(' Data: Assigned')
|
Session.SystemLog(' Data: Assigned')
|
||||||
Else
|
Else
|
||||||
Session.SystemLog(' Data: NIL');
|
Session.SystemLog(' Data: NIL');
|
||||||
End;
|
End;
|
||||||
|
|
||||||
// Params : Array[1..mplMaxProcParams] of Char;
|
|
||||||
// NumParams : Byte;
|
|
||||||
// pID : Array[1..mplMaxProcParams] of Word;
|
|
||||||
// ProcPos : LongInt;
|
|
||||||
// Data : PStack;
|
|
||||||
// ArrPos : Byte;
|
|
||||||
// ArrDims : TArrayInfo;
|
|
||||||
|
|
||||||
End;
|
End;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
@ -2405,8 +2429,8 @@ Begin
|
||||||
|
|
||||||
Case TTokenOpsRec(Byte(Ch)) of
|
Case TTokenOpsRec(Byte(Ch)) of
|
||||||
{0} opBlockOpen : Begin
|
{0} opBlockOpen : Begin
|
||||||
// PrevChar;
|
//PrevChar;
|
||||||
// Self.ExecuteBlock(CurVarNum);
|
//Self.ExecuteBlock(CurVarNum);
|
||||||
End;
|
End;
|
||||||
{1} opBlockClose : Break;
|
{1} opBlockClose : Break;
|
||||||
{2} opVarDeclare : DefineVariable;
|
{2} opVarDeclare : DefineVariable;
|
||||||
|
@ -2564,6 +2588,11 @@ Begin
|
||||||
Exit;
|
Exit;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
{$IFDEF LOGGING}
|
||||||
|
Session.SystemLog('-');
|
||||||
|
Session.SystemLog('[!] BEGIN EXECUTION: ' + FN);
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
InitProcedures (Owner, Self, VarData, CurVarNum, CurVarID, 0);
|
InitProcedures (Owner, Self, VarData, CurVarNum, CurVarID, 0);
|
||||||
ExecuteBlock (CurVarNum);
|
ExecuteBlock (CurVarNum);
|
||||||
|
|
||||||
|
@ -2574,6 +2603,10 @@ Begin
|
||||||
Session.io.AllowArrow := SavedArrow;
|
Session.io.AllowArrow := SavedArrow;
|
||||||
|
|
||||||
Result := Ord(ReloadMenu) + 1;
|
Result := Ord(ReloadMenu) + 1;
|
||||||
|
|
||||||
|
{$IFDEF LOGGING}
|
||||||
|
Session.SystemLog('[!] END EXECUTION: ' + FN);
|
||||||
|
{$ENDIF}
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Function ExecuteMPL (Owner: Pointer; Str: String) : Byte;
|
Function ExecuteMPL (Owner: Pointer; Str: String) : Byte;
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
Const
|
Const
|
||||||
mysSoftwareID = 'Mystic BBS';
|
mysSoftwareID = 'Mystic BBS';
|
||||||
mysCopyYear = '1997-2013'; // its been a long time!
|
mysCopyYear = '1997-2013'; // its been a long time!
|
||||||
mysVersion = '1.10 A36'; // current version
|
mysVersion = '1.10 A37'; // current version
|
||||||
mysDataChanged = '1.10 A11'; // version of last records change
|
mysDataChanged = '1.10 A11'; // version of last records change
|
||||||
|
|
||||||
{$IFDEF WIN32}
|
{$IFDEF WIN32}
|
||||||
|
@ -327,7 +327,13 @@ Type
|
||||||
//AllowEmailPWReset
|
//AllowEmailPWReset
|
||||||
ForceNodeList : Boolean;
|
ForceNodeList : Boolean;
|
||||||
inetInterface : String[23];
|
inetInterface : String[23];
|
||||||
Reserved : Array[1..787] of Char;
|
inetBINKPUse : Boolean;
|
||||||
|
inetBINKPPort : Word;
|
||||||
|
inetBINKPMax : Word;
|
||||||
|
inetBINKPDupes : Byte;
|
||||||
|
inetBINKPTimeOut: Word;
|
||||||
|
inetBINKPCram5 : Boolean;
|
||||||
|
Reserved : Array[1..778] of Char;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
|
|
|
@ -32,6 +32,9 @@ BUGS AND POSSIBLE ISSUES
|
||||||
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
||||||
=========================================
|
=========================================
|
||||||
|
|
||||||
|
- when mutil is tossing a packet and auto creates an area figure out if there
|
||||||
|
can be a way to automatically create the uplink back to the originating
|
||||||
|
node.
|
||||||
- global user editor for user flags, def protocol, etc etc
|
- global user editor for user flags, def protocol, etc etc
|
||||||
- ability to configure auto signatures (2 of them) one for handle and one
|
- ability to configure auto signatures (2 of them) one for handle and one
|
||||||
for real names
|
for real names
|
||||||
|
|
|
@ -3482,6 +3482,8 @@
|
||||||
! Mystic should now will properly display the file base "display file"
|
! Mystic should now will properly display the file base "display file"
|
||||||
before listing files.
|
before listing files.
|
||||||
|
|
||||||
|
! Date corruption with MUTIL echomail export has hopefully been fixed.
|
||||||
|
|
||||||
+ MPL now has the ability to interface directly with internal Mystic BBS
|
+ MPL now has the ability to interface directly with internal Mystic BBS
|
||||||
classes. This opens up a whole world of new possibilities in the future
|
classes. This opens up a whole world of new possibilities in the future
|
||||||
(for example) sockets, full remote ANSI screen library (boxes, listboxes)
|
(for example) sockets, full remote ANSI screen library (boxes, listboxes)
|
||||||
|
@ -3515,6 +3517,29 @@
|
||||||
! Once a default protocol was selected, the GE command (option 22) to change
|
! Once a default protocol was selected, the GE command (option 22) to change
|
||||||
the default was not working.
|
the default was not working.
|
||||||
|
|
||||||
+ MPL now supports ANSI screen class. NEED TO DOCUMENT AND SHOW EXAMPLE
|
+ MPL now supports ANSI screen class. This allows the ability to save and
|
||||||
|
restore portions of the user's screen. The example below saves the screen
|
||||||
|
coordinates defined as: X1:20, Y1:5, X2:60, Y2:10. It then clears the
|
||||||
|
screen and then restores the saved portion of the screen.
|
||||||
|
|
||||||
|
Var SavedScreen : LongInt;
|
||||||
|
|
||||||
|
ClassCreate (SavedScreen, 'image');
|
||||||
|
ImageGet (SavedScreen, 20, 5, 60, 10);
|
||||||
|
|
||||||
|
ClrScr;
|
||||||
|
WriteLn ('Press a key to restore');
|
||||||
|
|
||||||
|
Pause;
|
||||||
|
|
||||||
|
ImagePut (SavedScreen);
|
||||||
|
ClassFree (SavedScreen);
|
||||||
|
|
||||||
|
Pause;
|
||||||
|
|
||||||
<ALPHA 36 RELEASED>
|
<ALPHA 36 RELEASED>
|
||||||
|
|
||||||
|
! Fixed an issue with useropts variable in MPL which could cause memory
|
||||||
|
corruption.
|
||||||
|
|
||||||
|
<ALPHA 37 RELEASED>
|
Loading…
Reference in New Issue