• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FFFTPのソースコードです。


Commit MetaInfo

Revision28c49ec2cf7accdfadcbbd8b0670ea80809e4513 (tree)
Zeit2011-11-18 00:55:30
Autors_kawamoto <s_kawamoto@user...>
Commiters_kawamoto

Log Message

Enhance routines for connections with FTPIS.
Fix bugs of parsing PASV replies.

Ändern Zusammenfassung

Diff

Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
--- a/connect.c
+++ b/connect.c
@@ -1540,6 +1540,18 @@ static SOCKET DoConnectCrypt(int CryptMode, HOSTDATA* HostData, char *Host, char
15401540 Sts = FTP_ERROR;
15411541 }
15421542
1543+ // FTPIS対応
1544+ // "PBSZ 0"と"PROT P"は黙示的に設定されているはずだが念のため
1545+ if(CryptMode == CRYPT_FTPIS)
1546+ {
1547+ if((Sts = command(ContSock, Reply, CancelCheckWork, "PBSZ 0")) == 200)
1548+ {
1549+ if((Sts = command(ContSock, Reply, CancelCheckWork, "PROT P")) == 200)
1550+ {
1551+ }
1552+ }
1553+ }
1554+
15431555 ReInPass = NO;
15441556 do
15451557 {
--- a/getput.c
+++ b/getput.c
@@ -3784,6 +3784,8 @@ static int GetAdrsAndPortIPv4(SOCKET Skt, char *Str, char *Adrs, int *Port, int
37843784 {
37853785 char *Pos;
37863786 char *Btm;
3787+ // コンマではなくドットを返すホストがあるため
3788+ char *OldBtm;
37873789 int Sts;
37883790
37893791 Sts = FFFTP_FAIL;
@@ -3799,24 +3801,30 @@ static int GetAdrsAndPortIPv4(SOCKET Skt, char *Str, char *Adrs, int *Port, int
37993801 if(Btm != NULL)
38003802 {
38013803 Btm++;
3802- Btm = strchr(Btm, ',');
38033804 // コンマではなくドットを返すホストがあるため
3805+// Btm = strchr(Btm, ',');
3806+ OldBtm = Btm;
3807+ Btm = strchr(OldBtm, ',');
38043808 if(Btm == NULL)
3805- Btm = strchr(Btm, '.');
3809+ Btm = strchr(OldBtm, '.');
38063810 if(Btm != NULL)
38073811 {
38083812 Btm++;
3809- Btm = strchr(Btm, ',');
38103813 // コンマではなくドットを返すホストがあるため
3814+// Btm = strchr(Btm, ',');
3815+ OldBtm = Btm;
3816+ Btm = strchr(OldBtm, ',');
38113817 if(Btm == NULL)
3812- Btm = strchr(Btm, '.');
3818+ Btm = strchr(OldBtm, '.');
38133819 if(Btm != NULL)
38143820 {
38153821 Btm++;
3816- Btm = strchr(Btm, ',');
38173822 // コンマではなくドットを返すホストがあるため
3823+// Btm = strchr(Btm, ',');
3824+ OldBtm = Btm;
3825+ Btm = strchr(OldBtm, ',');
38183826 if(Btm == NULL)
3819- Btm = strchr(Btm, '.');
3827+ Btm = strchr(OldBtm, '.');
38203828 if(Btm != NULL)
38213829 {
38223830 if((Btm - Pos) <= Max)