This commit is contained in:
mysticbbs 2013-03-24 05:47:36 -04:00
parent 6f4f9bb2cd
commit 330fc6c452
11 changed files with 153 additions and 61 deletions

View File

@ -30,6 +30,7 @@ Type
ItemFlags, ItemFlags,
ItemDate, ItemDate,
ItemPass, ItemPass,
ItemMask,
ItemPipe, ItemPipe,
ItemCaps, ItemCaps,
ItemBits, ItemBits,
@ -113,6 +114,7 @@ Type
Procedure AddPipe (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String); Procedure AddPipe (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
Procedure AddPath (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String); Procedure AddPath (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
Procedure AddPass (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String); Procedure AddPass (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
Procedure AddMask (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
Procedure AddBol (HK: Char; D: String; X, Y, FX, FY, DS, FS: Byte; P: Pointer; H: String); Procedure AddBol (HK: Char; D: String; X, Y, FX, FY, DS, FS: Byte; P: Pointer; H: String);
Procedure AddByte (HK: Char; D: String; X, Y, FX, FY, DS, FS: Byte; MN, MX: Byte; P: Pointer; H: String); Procedure AddByte (HK: Char; D: String; X, Y, FX, FY, DS, FS: Byte; MN, MX: Byte; P: Pointer; H: String);
Procedure AddWord (HK: Char; D: String; X, Y, FX, FY, DS, FS: Byte; MN, MX: Word; P: Pointer; H: String); Procedure AddWord (HK: Char; D: String; X, Y, FX, FY, DS, FS: Byte; MN, MX: Word; P: Pointer; H: String);
@ -338,6 +340,7 @@ Begin
ItemPass, ItemPass,
ItemDate, ItemDate,
ItemPath, ItemPath,
ItemMask,
ItemString : S := P; ItemString : S := P;
ItemBoolean : O := P; ItemBoolean : O := P;
ItemAttr, ItemAttr,
@ -398,6 +401,13 @@ Begin
AddBasic (HK, D, X, Y, FX, FY, DS, FS, MX, ItemPass, P, H); AddBasic (HK, D, X, Y, FX, FY, DS, FS, MX, ItemPass, P, H);
End; End;
Procedure TAnsiMenuForm.AddMask (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
Begin
If Items = FormMaxItems Then Exit;
AddBasic (HK, D, X, Y, FX, FY, DS, FS, MX, ItemMask, P, H);
End;
Procedure TAnsiMenuForm.AddPath (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String); Procedure TAnsiMenuForm.AddPath (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
Begin Begin
If Items = FormMaxItems Then Exit; If Items = FormMaxItems Then Exit;
@ -529,6 +539,7 @@ Procedure TAnsiMenuForm.FieldWrite (RecPos : Word);
Begin Begin
With ItemData[RecPos]^ Do Begin With ItemData[RecPos]^ Do Begin
Case ItemType of Case ItemType of
ItemMask,
ItemPass : WriteXY (FieldX, FieldY, cData, strPadR(strRep('*', Length(S^)), FieldSize, ' ')); ItemPass : WriteXY (FieldX, FieldY, cData, strPadR(strRep('*', Length(S^)), FieldSize, ' '));
ItemCaps, ItemCaps,
ItemDate, ItemDate,
@ -564,6 +575,7 @@ Begin
ItemCaps : S^ := Input.GetStr(FieldX, FieldY, FieldSize, MaxSize, 2, S^); ItemCaps : S^ := Input.GetStr(FieldX, FieldY, FieldSize, MaxSize, 2, S^);
ItemDate : S^ := Input.GetStr(FieldX, FieldY, FieldSize, MaxSize, 3, S^); ItemDate : S^ := Input.GetStr(FieldX, FieldY, FieldSize, MaxSize, 3, S^);
ItemPipe, ItemPipe,
ItemMask,
ItemString : S^ := Input.GetStr(FieldX, FieldY, FieldSize, MaxSize, 1, S^); ItemString : S^ := Input.GetStr(FieldX, FieldY, FieldSize, MaxSize, 1, S^);
ItemBoolean : Begin ItemBoolean : Begin
O^ := Not O^; O^ := Not O^;

View File

@ -130,28 +130,43 @@ Var
Box : TAnsiMenuBox; Box : TAnsiMenuBox;
Form : TAnsiMenuForm; Form : TAnsiMenuForm;
Topic : String; Topic : String;
TempB : Byte;
Begin Begin
Topic := '|03(|09Echomail Node|03) |01-|09> |15'; Topic := '|03(|09Echomail Node|03) |01-|09> |15';
Box := TAnsiMenuBox.Create; Box := TAnsiMenuBox.Create;
Form := TAnsiMenuForm.Create; Form := TAnsiMenuForm.Create;
Box.Header := ' Index ' + strI2S(Node.Index) + ' '; Box.Header := ' Index ' + strI2S(Node.Index) + ' ';
Box.Shadow := False;
Box.Open (14, 6, 66, 18); Box.Open (3, 5, 76, 21);
VerticalLine (29, 9, 12); VerticalLine (19, 7, 12);
VerticalLine (29, 14, 16); VerticalLine (19, 15, 19);
VerticalLine (53, 7, 11);
// VerticalLine (53, 14, 19);
WriteXY (21, 8, 112, 'Address'); WriteXY (13, 14, 112, 'BINKP');
// WriteXY (49, 13, 112, 'FTP');
Form.AddWord ('Z', ' Zone' , 23, 9, 31, 9, 6, 5, 0, 65535, @Node.Address.Zone, Topic + 'Network Zone'); Form.AddStr ('D', ' Description' , 6, 7, 21, 7, 13, 23, 35, @Node.Description, Topic + 'Node description');
Form.AddWord ('N', ' Net' , 24, 10, 31, 10, 5, 5, 0, 65535, @Node.Address.Net, Topic + 'Network Net'); Form.AddBol ('A', ' Active' , 11, 8, 21, 8, 8, 3, @Node.Active, Topic + 'Is node active?');
Form.AddWord ('O', ' Node' , 23, 11, 31, 11, 6, 5, 0, 65535, @Node.Address.Node, Topic + 'Network Node'); Form.AddStr ('R', ' Archive Type' , 5, 9, 21, 9, 14, 4, 4, @Node.ArcType, Topic + 'Archive type for packets');
Form.AddWord ('P', ' Point' , 22, 12, 31, 12, 7, 5, 0, 65535, @Node.Address.Point, Topic + 'Network Point'); Form.AddTog ('E', ' Network Type' , 5, 10, 21, 10, 14, 7, 0, 1, 'FidoNet QWK', @Node.NetType, Topic);
Form.AddTog ('L', ' Session Type' , 5, 11, 21, 11, 14, 5, 0, 1, 'BinkP FTP', @Node.ProtType, Topic);
Form.AddTog ('Y', ' Export Type' , 6, 12, 21, 12, 13, 6, 0, 3, 'Normal Crash Direct Hold', @Node.MailType, Topic);
Form.AddBol ('A', ' Active' , 21, 14, 31, 14, 8, 3, @Node.Active, Topic + 'Is node active?'); Form.AddStr ('H', ' Host' , 13, 15, 21, 15, 6, 20, 60, @Node.binkHost, Topic + '<hostname>:<port>');
Form.AddStr ('D', ' Description', 16, 15, 31, 15, 13, 35, 35, @Node.Description, Topic + 'Node description'); Form.AddMask ('S', ' Password' , 9, 16, 21, 16, 10, 20, 20, @Node.binkPass, Topic);
Form.AddStr ('R', ' Arc Type' , 19, 16, 31, 16, 10, 4, 4, @Node.ArcType, Topic + 'Archive type for packets'); Form.AddWord ('T', ' TimeOut' , 10, 17, 21, 17, 9, 4, 10, 9999, @Node.binkTimeOut, Topic + 'Inactive session timeout (seconds)');
Form.AddWord ('B', ' BlockSize' , 8, 18, 21, 18, 11, 5, 4096, 30720, @Node.binkBlock, Topic + 'Blocksize in bytes');
Form.AddTog ('M', ' CRAM-MD5' , 9, 19, 21, 19, 10, 6, 0, 2, 'No Yes Forced', @Node.binkMD5, Topic);
Form.AddWord ('Z', ' Zone' , 47, 7, 55, 7, 6, 5, 0, 65535, @Node.Address.Zone, Topic + 'Network Zone');
Form.AddWord ('N', ' Net' , 48, 8, 55, 8, 5, 5, 0, 65535, @Node.Address.Net, Topic + 'Network Net');
Form.AddWord ('O', ' Node' , 47, 9, 55, 9, 6, 5, 0, 65535, @Node.Address.Node, Topic + 'Network Node');
Form.AddWord ('P', ' Point' , 46, 10, 55, 10, 7, 5, 0, 65535, @Node.Address.Point, Topic + 'Network Point');
Form.AddStr ('I', ' Domain' , 45, 11, 55, 11, 8, 8, 8, @Node.Domain, Topic + 'Network Domain');
Form.Execute; Form.Execute;
@ -302,6 +317,9 @@ Var
With EchoNode Do Begin With EchoNode Do Begin
Description := 'New echomail node'; Description := 'New echomail node';
Index := GetPermanentIndex(FileSize(EchoFile)); Index := GetPermanentIndex(FileSize(EchoFile));
ArcType := 'ZIP';
BinkBlock := 16 * 1024;
BinkTimeOut := 30;
End; End;
Write (EchoFile, EchoNode); Write (EchoFile, EchoNode);

View File

@ -302,7 +302,7 @@ Begin
List.Close; List.Close;
Case List.ExitCode of Case List.ExitCode of
#13 : Begin #13 : If List.ListMax <> 0 Then Begin
UserFile.Seek (List.Picked - 1); UserFile.Seek (List.Picked - 1);
UserFile.Read (User); UserFile.Read (User);

View File

@ -362,6 +362,8 @@ Begin
End; End;
Procedure TEditorANSI.ReDrawTemplate (Reset: Boolean); Procedure TEditorANSI.ReDrawTemplate (Reset: Boolean);
Var
Count : LongInt;
Begin Begin
TBBSCore(Owner).io.AllowArrow := True; TBBSCore(Owner).io.AllowArrow := True;
@ -385,6 +387,13 @@ Begin
QuoteAttr := Session.io.ScreenInfo[2].A; QuoteAttr := Session.io.ScreenInfo[2].A;
FindLastLine; FindLastLine;
If LastLine > 1 Then
For Count := 1 to LastLine Do
If Session.Msgs.IsQuotedText(GetLineText(Count)) Then
ANSI.SetLineColor(QuoteAttr, Count)
Else
ANSI.SetLineColor(CurAttr, Count);
End; End;
DrawPage(1, WinSize, False); DrawPage(1, WinSize, False);
@ -550,7 +559,7 @@ Var
JoinBuf : Array[1..255] of RecAnsiBufferChar; JoinBuf : Array[1..255] of RecAnsiBufferChar;
Begin Begin
If CurX <= CurLength Then Begin If CurX <= CurLength Then Begin
Move (ANSI.Data[CurLine][CurX + 1], ANSI.Data[CurLine][CurX], (CurLength - 1) * SizeOf(RecAnsiBufferChar)); Move (ANSI.Data[CurLine][CurX + 1], ANSI.Data[CurLine][CurX], (CurLength - CurX + 1) * SizeOf(RecAnsiBufferChar));
ANSI.Data[CurLine][CurLength].Ch := #0; ANSI.Data[CurLine][CurLength].Ch := #0;

View File

@ -71,7 +71,7 @@
PurgeMessageBases = false PurgeMessageBases = false
PostTextFiles = false PostTextFiles = false
PackMessageBases = false PackMessageBases = false
ImportEchoMail = true ImportEchoMail = false
ExportEchoMail = false ExportEchoMail = false
; ========================================================================== ; ==========================================================================
@ -385,10 +385,6 @@
max_msgs = 500 max_msgs = 500
max_msgs_age = 365 max_msgs_age = 365
; default base type when creating (if unknown) 0=jam 1=squish
base_format = 0
; network type (0=local, 1=echomail, 2=newsgroup 3=netmail) ; network type (0=local, 1=echomail, 2=newsgroup 3=netmail)
net_type = 1 net_type = 1
@ -410,19 +406,39 @@
; If you want to save duplicated / bad messages to a certain message ; If you want to save duplicated / bad messages to a certain message
; base, then set this value to the *INDEX* of the message base (viewable ; base, then set this value to the *INDEX* of the message base (viewable
; at the top of the editor). Otherwise, set this value to -1 or leave it ; at the top of the msgbase editor). Otherwise, set this value to -1
; commented out and they will be ignored ; or leave it commented out and they will be ignored.
dupe_msg_index = 5 ; dupe_msg_index = 5
; Set this value to true if you'd like to auto create message bases when ; If you want MUTIL to auto create message bases when it finds an
; an incoming message is found for an area that does not exist. MUTIL ; echomail message for a non-existing base, set this value to true
; takes default values from the Import_MessageBase function and the system ; and use the options below to define the default values
; configuration, then uses attributes from the message itself in order to
; build a new message base profile.
auto_create = true auto_create = true
; base format 0=jam 1=squish
base_format = 0
acs_list =
acs_read =
acs_post =
acs_news =
acs_sysop = s255
header = msghead
read_template = ansimrd
index_template = ansimlst
max_msgs = 500
max_msgs_age = 365
; true/false type values 0=false 1=true (newscan 2=forced)
use_autosig = 1
use_realname = 0
kill_kludge = 1
new_scan = 1
qwk_scan = 1
; ========================================================================== ; ==========================================================================
; ========================================================================== ; ==========================================================================
; ========================================================================== ; ==========================================================================

View File

@ -203,19 +203,19 @@ Var
MBase.ColOrigin := bbsConfig.ColorOrigin; MBase.ColOrigin := bbsConfig.ColorOrigin;
MBase.ColKludge := bbsConfig.ColorKludge; MBase.ColKludge := bbsConfig.ColorKludge;
MBase.Origin := bbsConfig.Origin; MBase.Origin := bbsConfig.Origin;
MBase.BaseType := INI.ReadInteger(Header_IMPORTMB, 'base_type', 0); MBase.BaseType := INI.ReadInteger(Header_ECHOIMPORT, 'base_type', 0);
MBase.ListACS := INI.ReadString(Header_IMPORTMB, 'acs_list', ''); MBase.ListACS := INI.ReadString (Header_ECHOIMPORT, 'acs_list', '');
MBase.ReadACS := INI.ReadString(Header_IMPORTMB, 'acs_read', ''); MBase.ReadACS := INI.ReadString (Header_ECHOIMPORT, 'acs_read', '');
MBase.PostACS := INI.ReadString(Header_IMPORTMB, 'acs_post', ''); MBase.PostACS := INI.ReadString (Header_ECHOIMPORT, 'acs_post', '');
MBase.NewsACS := INI.ReadString(Header_IMPORTMB, 'acs_news', ''); MBase.NewsACS := INI.ReadString (Header_ECHOIMPORT, 'acs_news', '');
MBase.SysopACS := INI.ReadString(Header_IMPORTMB, 'acs_sysop', 's255'); MBase.SysopACS := INI.ReadString (Header_ECHOIMPORT, 'acs_sysop', 's255');
MBase.Header := INI.ReadString(Header_IMPORTMB, 'header', 'msghead'); MBase.Header := INI.ReadString (Header_ECHOIMPORT, 'header', 'msghead');
MBase.RTemplate := INI.ReadString(Header_IMPORTMB, 'read_template', 'ansimrd'); MBase.RTemplate := INI.ReadString (Header_ECHOIMPORT, 'read_template', 'ansimrd');
MBase.ITemplate := INI.ReadString(Header_IMPORTMB, 'index_template', 'ansimlst'); MBase.ITemplate := INI.ReadString (Header_ECHOIMPORT, 'index_template', 'ansimlst');
MBase.MaxMsgs := INI.ReadInteger(Header_IMPORTMB, 'max_msgs', 500); MBase.MaxMsgs := INI.ReadInteger(Header_ECHOIMPORT, 'max_msgs', 500);
MBase.MaxAge := INI.ReadInteger(Header_IMPORTMB, 'max_msgs_age', 365); MBase.MaxAge := INI.ReadInteger(Header_ECHOIMPORT, 'max_msgs_age', 365);
MBase.DefNScan := INI.ReadInteger(Header_IMPORTMB, 'new_scan', 1); MBase.DefNScan := INI.ReadInteger(Header_ECHOIMPORT, 'new_scan', 1);
MBase.DefQScan := INI.ReadInteger(Header_IMPORTMB, 'qwk_scan', 1); MBase.DefQScan := INI.ReadInteger(Header_ECHOIMPORT, 'qwk_scan', 1);
MBase.NetAddr := 1; MBase.NetAddr := 1;
For Count := 1 to 30 Do For Count := 1 to 30 Do
@ -224,13 +224,13 @@ Var
Break; Break;
End; End;
If INI.ReadString(Header_IMPORTMB, 'use_autosig', '1') = '1' Then If INI.ReadString(Header_ECHOIMPORT, 'use_autosig', '1') = '1' Then
MBase.Flags := MBase.Flags OR MBAutoSigs; MBase.Flags := MBase.Flags OR MBAutoSigs;
If INI.ReadString(Header_IMPORTMB, 'use_realname', '0') = '1' Then If INI.ReadString(Header_ECHOIMPORT, 'use_realname', '0') = '1' Then
MBase.Flags := MBase.Flags OR MBRealNames; MBase.Flags := MBase.Flags OR MBRealNames;
If INI.ReadString(Header_IMPORTMB, 'kill_kludge', '1') = '1' Then If INI.ReadString(Header_ECHOIMPORT, 'kill_kludge', '1') = '1' Then
MBase.Flags := MBase.Flags OR MBKillKludge; MBase.Flags := MBase.Flags OR MBKillKludge;
// ADD DOWNLINK INFORMATION HERE INTO ECHONODES?? // ADD DOWNLINK INFORMATION HERE INTO ECHONODES??

View File

@ -44,6 +44,7 @@ Begin
MBase.Name := BaseName; MBase.Name := BaseName;
MBase.QWKName := BaseName; MBase.QWKName := BaseName;
MBase.NewsName := strReplace(BaseName, ' ', '.'); MBase.NewsName := strReplace(BaseName, ' ', '.');
MBase.EchoTag := BaseName;
MBase.FileName := BaseName; MBase.FileName := BaseName;
MBase.Path := bbsConfig.MsgsPath; MBase.Path := bbsConfig.MsgsPath;
MBase.NetType := INI.ReadInteger(Header_IMPORTMB, 'net_type', 0); MBase.NetType := INI.ReadInteger(Header_IMPORTMB, 'net_type', 0);

View File

@ -60,6 +60,7 @@ Begin
MBase.Name := BaseName; MBase.Name := BaseName;
MBase.QWKName := TagName; MBase.QWKName := TagName;
MBase.NewsName := strReplace(BaseName, ' ', '.'); MBase.NewsName := strReplace(BaseName, ' ', '.');
MBase.EchoTag := TagName;
MBase.FileName := TagName; MBase.FileName := TagName;
MBase.Path := bbsConfig.MsgsPath; MBase.Path := bbsConfig.MsgsPath;
MBase.NetType := 1; MBase.NetType := 1;

View File

@ -96,7 +96,8 @@ Type
ArcType : String[4]; ArcType : String[4];
MailType : Byte; MailType : Byte;
binkHost : String[60]; binkHost : String[60];
binkPort : Word; NetType : Byte;
ProtType : Byte;
binkTimeout : Word; binkTimeout : Word;
binkBlock : Word; binkBlock : Word;
binkMD5 : Byte; binkMD5 : Byte;
@ -114,7 +115,8 @@ Type
InSize : Cardinal; InSize : Cardinal;
OutFiles : Cardinal; OutFiles : Cardinal;
OutSize : Cardinal; OutSize : Cardinal;
Res : Array[1..512] of Byte; binkPass : String[20];
Res : Array[1..491] of Byte;
End; End;
RecSauceInfo = Packed Record RecSauceInfo = Packed Record

View File

@ -8,6 +8,7 @@ design elements/issues.
BUGS AND POSSIBLE ISSUES BUGS AND POSSIBLE ISSUES
======================== ========================
! DUPE database needs to limit itself based on configurable size
! GE option 32 (change def protocol) might be broken ! GE option 32 (change def protocol) might be broken
! LBP menus arent scrolling correctly in Linux ! LBP menus arent scrolling correctly in Linux
! MUTIL FILESBBS import is not skipping FILES.BBS? ! MUTIL FILESBBS import is not skipping FILES.BBS?
@ -29,6 +30,8 @@ BUGS AND POSSIBLE ISSUES
FUTURE / IDEAS / WORK IN PROGRESS / NOTES FUTURE / IDEAS / WORK IN PROGRESS / NOTES
========================================= =========================================
- cut/paste needs to be added back into the FS editor
- QWK put/get per individual users via FTP
- EXCLUDE from all files list. important. - EXCLUDE from all files list. important.
- Reply to echomail via netmail. - Reply to echomail via netmail.
- Msgbase flag for AKA matching or just rewrite netmail all together. - Msgbase flag for AKA matching or just rewrite netmail all together.

View File

@ -2902,16 +2902,16 @@
Configuration. Configuration.
+ Added new Echomail node editor. This allows you to configure nodes which + Added new Echomail node editor. This allows you to configure nodes which
you are going to exchange echomail from, either an uplink or downlink. you are going to exchange echomail from, either an uplink or downlink. In
addition, you can view/edit the list of message bases configured for
export to that node.
+ Message bases now have a echomail TAG option which is intended to include + Message bases now have a echomail TAG option which is intended to include
the bases's echomail tag from the .NA files. the bases's echomail tag from .NA files.
+ Message bases now have an "Export To" option where up to 2 million + Message bases now have an "Export To" option where up to 2 million
echomail nodes can be linked to each message base. echomail nodes can be linked to each message base. This relationship with
nodes can also be edited from the Echomail node editor.
+ The echomail node editor now has an editor where message bases can be
list, linked, and unlinked from each configured node.
! Fixed a bug which would cause the file to be deleted if you tried to ! Fixed a bug which would cause the file to be deleted if you tried to
move it to the new file base. Mystic should check now and give an move it to the new file base. Mystic should check now and give an
@ -2936,24 +2936,54 @@
+ Mystic will now attempt to perform AKA matching on the origin address + Mystic will now attempt to perform AKA matching on the origin address
of netmail messages. If you have a netmail base configured as the address of netmail messages. If you have a netmail base configured as the address
of 1:111/111 but you send a Netmail to 911:111/111, Mystic will switch the of 1:111/111 but you send a Netmail to 911:111/111, Mystic will switch the
origin address to your 911 AKA if you have one configured in Network origin address to your 911 AKA (if you have one configured in Network
addresses. Translation: Use one netmail base for many networks with addresses).
tossers like FastEcho.
+ Message quoting will now indent itself by a single character to better + Message quoting will now indent itself by a single character to better
facilitate separation from regular text. The text will wrap and facilitate separation from regular text. The text will wrap and
reformat itself so no text should be lost. reformat itself so no text should be lost.
+ The full screen editor now shows a different text color for quoted text.
The attributes are defined in the template file (ansiedit.ans). The
attribute of |!1 is the standard text color, and the attribute of |!2 is
the quoted text color.
+ If you change message base's storage filename or path, Mystic will now ask + If you change message base's storage filename or path, Mystic will now ask
you if you want to physically rename them on disk too (and of course it you if you want to physically rename them on disk too upon leaving the
will rename them if you say yes). base editor.
+ MUTIL now has a full binkley-style echomail importer and exporter with a + MUTIL now has a full binkley-style echomail importer and exporter. It
bunch of features. It can autocreate new bases, perform unlimited dupe can autocreate new bases, perform dupe checking, and push duplicate msgs
checking, and store duplicate/badmsgs to name a few. to their own base. All node configuration, echos, and export info comes
from within the new editor options with Mystic's configuration.
INSERT NEW SHIT HERE WHEN NOT DRUNK AND LAZY LOL Please review MUTIL.INI for the two new added functions for import/export
+ NEW FSE/BSO FTN TOSSER AND BINKP MAILER need to type up the changes The basic setup is this:
when done
0. Set your inbound and outbound directories in the System Paths.
1. Edit echomail message bases to set their ECHOTAG value (match
whatever they are from the .NA definitions). Make sure you don't
forget to set your origin address / base type!
2. Configure any nodes that you want to import/export echomail with
using the Echomail Node editor.
3. Link each message base to the node that you want to export messages
to. You can do this either by node (using Echomail Node editor)
or by attaching nodes to a specific message base (using the Message
base editor).
4. If you want to use a base for duplicate messages, see information
inside of MUTIL.INI
5. If you want to auto-create message bases when a new echobase is
found, see information inside of MUTIL.INI
6. Turn on importing/exporting in MUTIL.INI.
7. At your own risk: Delete FastEcho, GEcho, CrashMail, etc. :)
! Fixed a bug that could cause the user editor to crash directly after a
new install if you didn't create your SysOp account first.