stuff
This commit is contained in:
parent
5a9badaf1c
commit
ce0e8b8180
|
@ -136,6 +136,7 @@ Begin
|
||||||
PrintStatus (NIL, 1, 'Sending ' + Queue.QData[Count]^.FileNew);
|
PrintStatus (NIL, 1, 'Sending ' + Queue.QData[Count]^.FileNew);
|
||||||
|
|
||||||
If FTP.SendFile(EchoNode.ftpPassive, Queue.QData[Count]^.FilePath + Queue.QData[Count]^.FileName, Queue.QData[Count]^.FileNew) = ftpResOK Then Begin
|
If FTP.SendFile(EchoNode.ftpPassive, Queue.QData[Count]^.FilePath + Queue.QData[Count]^.FileName, Queue.QData[Count]^.FileNew) = ftpResOK Then Begin
|
||||||
|
// only remove by markings... or move to removefilesfromflo
|
||||||
FileErase (Queue.QData[Count]^.FilePath + Queue.QData[Count]^.FileName);
|
FileErase (Queue.QData[Count]^.FilePath + Queue.QData[Count]^.FileName);
|
||||||
RemoveFilesFromFLO (GetFTNOutPath(EchoNode), TempPath, Queue.QData[Count]^.FilePath + Queue.QData[Count]^.FileName);
|
RemoveFilesFromFLO (GetFTNOutPath(EchoNode), TempPath, Queue.QData[Count]^.FilePath + Queue.QData[Count]^.FileName);
|
||||||
End Else
|
End Else
|
||||||
|
|
|
@ -665,8 +665,10 @@ Begin
|
||||||
If RxCommand = M_GOT Then Begin
|
If RxCommand = M_GOT Then Begin
|
||||||
FileList.QData[FileList.QPos]^.Status := QueueSuccess;
|
FileList.QData[FileList.QPos]^.Status := QueueSuccess;
|
||||||
|
|
||||||
|
// only erase if certain markings OR move
|
||||||
|
// this to removefilesfromflow
|
||||||
FileErase (FileList.QData[FileList.QPos]^.FilePath + FileList.QData[FileList.QPos]^.FileName);
|
FileErase (FileList.QData[FileList.QPos]^.FilePath + FileList.QData[FileList.QPos]^.FileName);
|
||||||
RemoveFilesFromFLO (SetOutPath, TempPath, FileList.QData[FileList.QPos]^.FilePath + FileList.QData[FileList.QPos]^.FileName);
|
RemoveFilesFromFLO (FileList.QData[FileList.QPos]^.Extra, TempPath, FileList.QData[FileList.QPos]^.FilePath + FileList.QData[FileList.QPos]^.FileName);
|
||||||
|
|
||||||
HaveHeader := False;
|
HaveHeader := False;
|
||||||
NeedHeader := True;
|
NeedHeader := True;
|
||||||
|
@ -774,6 +776,19 @@ Begin;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure RemoveFilesFromFLO (OutPath, TP, FN: String);
|
Procedure RemoveFilesFromFLO (OutPath, TP, FN: String);
|
||||||
|
(*
|
||||||
|
procedure tlog (s: string);
|
||||||
|
var
|
||||||
|
t : text;
|
||||||
|
begin
|
||||||
|
assign (t, bbscfg.logspath + 'flo.log');
|
||||||
|
{$I-}Append(t);{$I+}
|
||||||
|
if ioresult <> 0 then rewrite(t);
|
||||||
|
|
||||||
|
writeln(t, s);
|
||||||
|
close(t);
|
||||||
|
end;
|
||||||
|
*)
|
||||||
Var
|
Var
|
||||||
Str : String;
|
Str : String;
|
||||||
DirInfo : SearchRec;
|
DirInfo : SearchRec;
|
||||||
|
@ -788,9 +803,13 @@ Begin
|
||||||
// Need to review the code and figure out why I did it this way to
|
// Need to review the code and figure out why I did it this way to
|
||||||
// begin with.
|
// begin with.
|
||||||
|
|
||||||
|
// tlog('begin removefilesfromflo ' + outpath + '*.?lo');
|
||||||
|
|
||||||
FindFirst (OutPath + '*.?lo', AnyFile, DirInfo);
|
FindFirst (OutPath + '*.?lo', AnyFile, DirInfo);
|
||||||
|
|
||||||
While DosError = 0 Do Begin
|
While DosError = 0 Do Begin
|
||||||
|
// tlog ('renaming ' + outpath + dirinfo.name + ' to ' + tp + dirinfo.name);
|
||||||
|
|
||||||
FileRename (OutPath + DirInfo.Name, TP + DirInfo.Name);
|
FileRename (OutPath + DirInfo.Name, TP + DirInfo.Name);
|
||||||
|
|
||||||
Assign (NewFile, OutPath + DirInfo.Name);
|
Assign (NewFile, OutPath + DirInfo.Name);
|
||||||
|
@ -803,6 +822,8 @@ Begin
|
||||||
While Not Eof (OrigFile) Do Begin
|
While Not Eof (OrigFile) Do Begin
|
||||||
ReadLn (OrigFile, Str);
|
ReadLn (OrigFile, Str);
|
||||||
|
|
||||||
|
// tlog('got orig str: '+ str);
|
||||||
|
|
||||||
If (Str = '') or (Str[1] = '!') Then
|
If (Str = '') or (Str[1] = '!') Then
|
||||||
WriteLn (NewFile, Str)
|
WriteLn (NewFile, Str)
|
||||||
Else Begin
|
Else Begin
|
||||||
|
@ -814,6 +835,8 @@ Begin
|
||||||
Matched := (strUpper(FN) = strUpper(Str));
|
Matched := (strUpper(FN) = strUpper(Str));
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
// tlog ('matching: ' + fn + ' with ' + str);
|
||||||
|
|
||||||
If Not Matched Then
|
If Not Matched Then
|
||||||
WriteLn (NewFile, Str);
|
WriteLn (NewFile, Str);
|
||||||
End;
|
End;
|
||||||
|
@ -873,11 +896,11 @@ Begin
|
||||||
FN := JustFile(Str);
|
FN := JustFile(Str);
|
||||||
Path := JustPath(Str);
|
Path := JustPath(Str);
|
||||||
|
|
||||||
Queue.Add (True, Path, FN, '');
|
If Queue.Add (True, Path, FN, '') Then
|
||||||
|
Queue.QData[Queue.QSize]^.Extra := OutPath;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Close (FLOFile);
|
Close (FLOFile);
|
||||||
|
|
||||||
FindNext (DirInfo);
|
FindNext (DirInfo);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
@ -901,7 +924,8 @@ Begin
|
||||||
Continue;
|
Continue;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Queue.Add (True, OutPath, DirInfo.Name, FileNewExt(DirInfo.Name, 'pkt'));
|
If Queue.Add(True, OutPath, DirInfo.Name, FileNewExt(DirInfo.Name, 'pkt')) Then
|
||||||
|
Queue.QData[Queue.QSize]^.Extra := OutPath;
|
||||||
|
|
||||||
FindNext (DirInfo);
|
FindNext (DirInfo);
|
||||||
End;
|
End;
|
||||||
|
@ -954,6 +978,10 @@ Begin
|
||||||
QueueByNode(Queue, False, BinkP.EchoNode);
|
QueueByNode(Queue, False, BinkP.EchoNode);
|
||||||
|
|
||||||
Server.Status (ProcessID, 'Queued ' + strI2S(Queue.QSize - Before) + ' files for ' + Addr2Str(BinkP.EchoNode.Address));
|
Server.Status (ProcessID, 'Queued ' + strI2S(Queue.QSize - Before) + ' files for ' + Addr2Str(BinkP.EchoNode.Address));
|
||||||
|
|
||||||
|
BinkP.SetBlockSize := BinkP.EchoNode.binkBlock;
|
||||||
|
BinkP.UseMD5 := BinkP.EchoNode.binkMD5 > 0;
|
||||||
|
BinkP.ForceMD5 := BinkP.EchoNode.binkMD5 = 2;
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
|
|
@ -571,6 +571,7 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
(*
|
(*
|
||||||
|
// works with google chrome auth, not IE
|
||||||
Procedure TFTPServer.cmdUSER;
|
Procedure TFTPServer.cmdUSER;
|
||||||
Begin
|
Begin
|
||||||
ResetSession;
|
ResetSession;
|
||||||
|
@ -580,10 +581,10 @@ Begin
|
||||||
|
|
||||||
UserName := Data;
|
UserName := Data;
|
||||||
End Else
|
End Else
|
||||||
Client.WriteLine(re_UserUnknown);
|
Client.WriteLine(re_BadPW);
|
||||||
End;
|
End;
|
||||||
*)
|
*)
|
||||||
|
// works with IE for auth prompt, not chrome
|
||||||
Procedure TFTPServer.cmdUSER;
|
Procedure TFTPServer.cmdUSER;
|
||||||
Begin
|
Begin
|
||||||
ResetSession;
|
ResetSession;
|
||||||
|
@ -595,7 +596,6 @@ Begin
|
||||||
|
|
||||||
Client.WriteLine(re_UserOkay);
|
Client.WriteLine(re_UserOkay);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
(*
|
(*
|
||||||
Procedure TFTPServer.cmdPASS;
|
Procedure TFTPServer.cmdPASS;
|
||||||
Begin
|
Begin
|
||||||
|
@ -620,7 +620,7 @@ End;
|
||||||
Procedure TFTPServer.cmdPASS;
|
Procedure TFTPServer.cmdPASS;
|
||||||
Begin
|
Begin
|
||||||
If UserName = '' Then Begin
|
If UserName = '' Then Begin
|
||||||
Client.WriteLine ('332 Need account');
|
Client.WriteLine ('332 No account');
|
||||||
Exit;
|
Exit;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
@ -667,6 +667,8 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TFTPServer.cmdPASV;
|
Procedure TFTPServer.cmdPASV;
|
||||||
|
Var
|
||||||
|
WaitSock : TIOSocket;
|
||||||
Begin
|
Begin
|
||||||
If LoggedIn Then Begin
|
If LoggedIn Then Begin
|
||||||
If Not bbsCfg.inetFTPPassive Then Begin
|
If Not bbsCfg.inetFTPPassive Then Begin
|
||||||
|
@ -685,6 +687,17 @@ Begin
|
||||||
Client.WriteLine(re_PassiveOK + '(' + strReplace(Client.HostIP, '.', ',') + ',' + strI2S(WordRec(DataPort).Hi) + ',' + strI2S(WordRec(DataPort).Lo) + ').');
|
Client.WriteLine(re_PassiveOK + '(' + strReplace(Client.HostIP, '.', ',') + ',' + strI2S(WordRec(DataPort).Hi) + ',' + strI2S(WordRec(DataPort).Lo) + ').');
|
||||||
|
|
||||||
IsPassive := True;
|
IsPassive := True;
|
||||||
|
|
||||||
|
WaitSock := TIOSocket.Create;
|
||||||
|
|
||||||
|
WaitSock.FTelnetServer := False;
|
||||||
|
WaitSock.FTelnetClient := False;
|
||||||
|
|
||||||
|
WaitSock.WaitInit(bbsCfg.inetInterface, DataPort);
|
||||||
|
|
||||||
|
DataSocket := WaitSock.WaitConnection(10000);
|
||||||
|
|
||||||
|
WaitSock.Free;
|
||||||
End Else
|
End Else
|
||||||
Client.WriteLine(re_BadCommand);
|
Client.WriteLine(re_BadCommand);
|
||||||
End;
|
End;
|
||||||
|
@ -1020,7 +1033,7 @@ Var
|
||||||
Begin
|
Begin
|
||||||
If LoggedIn Then Begin
|
If LoggedIn Then Begin
|
||||||
|
|
||||||
If strUpper(Data) = strUpper(bbsCfg.QwkBBSID + '.qwk') Then Begin
|
If strUpper(JustFile(Data)) = strUpper(bbsCfg.QwkBBSID + '.qwk') Then Begin
|
||||||
QWKCreatePacket;
|
QWKCreatePacket;
|
||||||
|
|
||||||
Exit;
|
Exit;
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
IMMEDIATE PRIORITIES (IN ORDER) FOR 1.10 AS OF Sept 22, 2013
|
||||||
|
|
||||||
|
1. Netmail/echomail pass-through and HUB stuff
|
||||||
|
1. FTP FTN server
|
||||||
|
2. AreaFix
|
||||||
|
3. TIC processing
|
||||||
|
4. FileFix
|
||||||
|
5. Netmail attachments/File hatching
|
||||||
|
6. Gating
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
|
||||||
This file showcases the direction of where this software wants to go as it
|
This file showcases the direction of where this software wants to go as it
|
||||||
continues to expand. Some things that will probably be mentioned will be
|
continues to expand. Some things that will probably be mentioned will be
|
||||||
vague, and serve mostly to remind me of my own ideas.
|
vague, and serve mostly to remind me of my own ideas.
|
||||||
|
@ -44,6 +56,8 @@ BUGS AND POSSIBLE ISSUES
|
||||||
|
|
||||||
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
||||||
=========================================
|
=========================================
|
||||||
|
- MIS escape confirmation
|
||||||
|
- Prompts for CONFIG editors
|
||||||
- matrix disconnect if they use the XL command too many times
|
- matrix disconnect if they use the XL command too many times
|
||||||
- index00.html or whatever in FTP server
|
- index00.html or whatever in FTP server
|
||||||
- buffer echomail export and use mailer LR pointers
|
- buffer echomail export and use mailer LR pointers
|
||||||
|
|
Loading…
Reference in New Issue