BINKP auth fix for bind, better detection of SKIP files
This commit is contained in:
parent
5ceb74a3f4
commit
251e2cef37
|
@ -297,7 +297,7 @@ Begin
|
||||||
If RxBufSize > 255 Then
|
If RxBufSize > 255 Then
|
||||||
SZ := 255
|
SZ := 255
|
||||||
Else
|
Else
|
||||||
SZ := RxBufSize - 1;
|
SZ := RxBufSize;
|
||||||
|
|
||||||
Move (RxBuffer[1], Result[1], SZ);
|
Move (RxBuffer[1], Result[1], SZ);
|
||||||
|
|
||||||
|
@ -313,6 +313,8 @@ Begin
|
||||||
Client.BufWriteStr(Char(Hi(DataSize)) + Char(Lo(DataSize)) + Char(CmdType) + CmdData + #0);
|
Client.BufWriteStr(Char(Hi(DataSize)) + Char(Lo(DataSize)) + Char(CmdType) + CmdData + #0);
|
||||||
Client.BufFlush;
|
Client.BufFlush;
|
||||||
|
|
||||||
|
StatusUpdate (Owner, 'S ' + BinkCmdStr[CmdType] + ' ' + CmdData);
|
||||||
|
|
||||||
// WriteLn (' S ' + BinkCmdStr[CmdType] + ' ' + CmdData);
|
// WriteLn (' S ' + BinkCmdStr[CmdType] + ' ' + CmdData);
|
||||||
// waitms(1000);
|
// waitms(1000);
|
||||||
//WriteLn ('Put Command Frame (', BinkCmdStr[CmdType], ') Data: ', CmdData);
|
//WriteLn ('Put Command Frame (', BinkCmdStr[CmdType], ') Data: ', CmdData);
|
||||||
|
@ -370,6 +372,10 @@ Begin
|
||||||
HaveHeader := True;
|
HaveHeader := True;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
If RxFrameType = Command Then
|
||||||
|
StatusUpdate (Owner, 'R ' + BinkCmdStr[RxCommand] + ' ' + GetDataStr);
|
||||||
|
|
||||||
|
|
||||||
// Case RxFrameType of
|
// Case RxFrameType of
|
||||||
// Command : If (RxCommand = M_NUL) or (RxCommand = M_ERR) Then
|
// Command : If (RxCommand = M_NUL) or (RxCommand = M_ERR) Then
|
||||||
// WriteLn (' R ', BinkCmdStr[RxCommand], ' ', GetDataStr);
|
// WriteLn (' R ', BinkCmdStr[RxCommand], ' ', GetDataStr);
|
||||||
|
@ -517,7 +523,7 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
If AuthState <> AuthOK Then
|
If AuthState <> AuthOK Then
|
||||||
StatusUpdate(Owner, 'Auth failed');
|
StatusUpdate(Owner, 'Authorization failed');
|
||||||
End;
|
End;
|
||||||
WaitPwdOK : If HaveHeader Then Begin
|
WaitPwdOK : If HaveHeader Then Begin
|
||||||
If RxCommand <> M_OK Then
|
If RxCommand <> M_OK Then
|
||||||
|
@ -637,6 +643,15 @@ Begin
|
||||||
Case TxState of
|
Case TxState of
|
||||||
TxGetEOF : Begin
|
TxGetEOF : Begin
|
||||||
If HaveHeader Then
|
If HaveHeader Then
|
||||||
|
If RxCommand = M_SKIP Then Begin
|
||||||
|
{$I-} Close (OutFile); {$I+}
|
||||||
|
|
||||||
|
If IoResult <> 0 Then;
|
||||||
|
|
||||||
|
HaveHeader := False;
|
||||||
|
NeedHeader := True;
|
||||||
|
TxState := TxNextFile;
|
||||||
|
End Else
|
||||||
If RxCommand = M_GOT Then Begin
|
If RxCommand = M_GOT Then Begin
|
||||||
FileList.QData[FileList.QPos].Status := QueueSuccess;
|
FileList.QData[FileList.QPos].Status := QueueSuccess;
|
||||||
|
|
||||||
|
@ -666,6 +681,13 @@ Begin
|
||||||
TxState := TxDone;
|
TxState := TxDone;
|
||||||
End;
|
End;
|
||||||
TxSendData : Begin
|
TxSendData : Begin
|
||||||
|
If HaveHeader And (RxCommand = M_SKIP) Then Begin
|
||||||
|
Close (OutFile);
|
||||||
|
|
||||||
|
TxState := TxNextFile;
|
||||||
|
HaveHeader := False;
|
||||||
|
NeedHeader := True;
|
||||||
|
End Else
|
||||||
If HaveHeader And (RxCommand = M_GET) Then Begin
|
If HaveHeader And (RxCommand = M_GET) Then Begin
|
||||||
Str := strWordGet(4, GetDataStr, ' ');
|
Str := strWordGet(4, GetDataStr, ' ');
|
||||||
|
|
||||||
|
|
|
@ -535,7 +535,9 @@ Begin
|
||||||
Server.Status (ProcessID, 'Exported ' + strI2S(QWK.TotalMessages) + ' msgs@' + bbsCfg.QwkBBSID + '.qwk');
|
Server.Status (ProcessID, 'Exported ' + strI2S(QWK.TotalMessages) + ' msgs@' + bbsCfg.QwkBBSID + '.qwk');
|
||||||
ExecuteArchive (TempPath, TempPath + bbsCfg.QwkBBSID + '.qwk', User.Archive, TempPath + '*', 1);
|
ExecuteArchive (TempPath, TempPath + bbsCfg.QwkBBSID + '.qwk', User.Archive, TempPath + '*', 1);
|
||||||
|
|
||||||
If SendFile (TempPath + bbsCfg.QwkBBSID + '.qwk') Then
|
Result := SendFile (TempPath + bbsCfg.QwkBBSID + '.qwk');
|
||||||
|
|
||||||
|
If Result Then
|
||||||
QWK.UpdateLastReadPointers;
|
QWK.UpdateLastReadPointers;
|
||||||
|
|
||||||
QWK.Free;
|
QWK.Free;
|
||||||
|
@ -630,8 +632,8 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TFTPServer.cmdPASV;
|
Procedure TFTPServer.cmdPASV;
|
||||||
Var
|
//Var
|
||||||
WaitSock : TIOSocket;
|
// WaitSock : TIOSocket;
|
||||||
Begin
|
Begin
|
||||||
If LoggedIn Then Begin
|
If LoggedIn Then Begin
|
||||||
If Not bbsConfig.inetFTPPassive Then Begin
|
If Not bbsConfig.inetFTPPassive Then Begin
|
||||||
|
|
|
@ -42,6 +42,8 @@ BUGS AND POSSIBLE ISSUES
|
||||||
|
|
||||||
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
||||||
=========================================
|
=========================================
|
||||||
|
- ability when editing a posted message to be able to toggle the Private flag
|
||||||
|
if the base is Pub/Priv
|
||||||
- toutput on unix should detect XTERM settings for window size and restore
|
- toutput on unix should detect XTERM settings for window size and restore
|
||||||
them on exit.
|
them on exit.
|
||||||
- NODELIST copy function (process nodelist directory and copy+copy to data)
|
- NODELIST copy function (process nodelist directory and copy+copy to data)
|
||||||
|
|
Loading…
Reference in New Issue