diff options
author | 2008-01-21 20:18:50 +0000 | |
---|---|---|
committer | 2008-01-21 20:18:50 +0000 | |
commit | 5cefbc58ce7d35c46609d3d0d55075c4e68e047e (patch) | |
tree | bc53dbad6e8e28794c0dcb9a1b3d40ea15072b35 /net-ftp/lftp/files | |
parent | Stable for HPPA (bug #206904). Fixed quoting issues too. (diff) | |
download | historical-5cefbc58ce7d35c46609d3d0d55075c4e68e047e.tar.gz historical-5cefbc58ce7d35c46609d3d0d55075c4e68e047e.tar.bz2 historical-5cefbc58ce7d35c46609d3d0d55075c4e68e047e.zip |
Add patches from upstream to fix #203570, #203729
Package-Manager: portage-2.1.4
Diffstat (limited to 'net-ftp/lftp/files')
-rw-r--r-- | net-ftp/lftp/files/3.6.1-segfault.patch | 11 | ||||
-rw-r--r-- | net-ftp/lftp/files/3.6.1-specialchars.patch | 67 | ||||
-rw-r--r-- | net-ftp/lftp/files/digest-lftp-3.6.1-r1 | 3 |
3 files changed, 81 insertions, 0 deletions
diff --git a/net-ftp/lftp/files/3.6.1-segfault.patch b/net-ftp/lftp/files/3.6.1-segfault.patch new file mode 100644 index 000000000000..52755e351ba0 --- /dev/null +++ b/net-ftp/lftp/files/3.6.1-segfault.patch @@ -0,0 +1,11 @@ +--- src/buffer.cc 10 Sep 2007 11:45:27 -0000 1.66 ++++ src/buffer.cc 3 Jan 2008 09:07:43 -0000 +@@ -155,7 +155,7 @@ void Buffer::vFormat(const char *f, va_l + { + va_list tmp; + VA_COPY(tmp,v); +- int res=vsnprintf(GetSpace(size), size, f, v); ++ int res=vsnprintf(GetSpace(size), size, f, tmp); + va_end(tmp); + if(res>=0 && res<size) + { diff --git a/net-ftp/lftp/files/3.6.1-specialchars.patch b/net-ftp/lftp/files/3.6.1-specialchars.patch new file mode 100644 index 000000000000..5057d2dedbf6 --- /dev/null +++ b/net-ftp/lftp/files/3.6.1-specialchars.patch @@ -0,0 +1,67 @@ +--- src/GetJob.cc 23 Apr 2007 07:11:45 -0000 1.28 ++++ src/GetJob.cc 28 Dec 2007 11:12:35 -0000 +@@ -99,33 +99,44 @@ bool GetJob::IsRemoteNonURL(const Parsed + // store & put || !store & get + return (!url.proto && (mode==FA::STORE ^ !reverse)); + } ++bool GetJob::IsLocalNonURL(const ParsedURL &url,FA::open_mode mode) ++{ ++ // store & get || !store & put ++ return (!url.proto && (mode==FA::STORE ^ reverse)); ++} + bool GetJob::IsLocal(const ParsedURL &url) + { + return !url.proto || !strcasecmp(url.proto,"file"); + } ++// create copy peer from a cloned session + FileCopyPeer *GetJob::CreateCopyPeer(FileAccess *session,const char *path,FA::open_mode mode) + { + ParsedURL url(path,true); + if(IsRemoteNonURL(url,mode)) + return new FileCopyPeerFA(session,path,mode); + Delete(session); // delete cloned session. +- return CreateCopyPeer(url,mode); ++ return CreateCopyPeer(url,path,mode); + } ++// create copy peer using a session reference + FileCopyPeer *GetJob::CreateCopyPeer(const FileAccessRef& session,const char *path,FA::open_mode mode) + { + ParsedURL url(path,true); + if(IsRemoteNonURL(url,mode)) + return new FileCopyPeerFA(session,path,mode); +- return CreateCopyPeer(url,mode); ++ return CreateCopyPeer(url,path,mode); + } +-FileCopyPeer *GetJob::CreateCopyPeer(const ParsedURL &url,FA::open_mode mode) ++FileCopyPeer *GetJob::CreateCopyPeer(const ParsedURL &url,const char *path,FA::open_mode mode) + { ++ if(IsLocalNonURL(url,mode)) ++ return CreateCopyPeer(path,mode); + if(IsLocal(url)) +- return (mode==FA::STORE) +- ? DstLocal(url.path) +- : SrcLocal(url.path); ++ return CreateCopyPeer(url.path,mode); + return new FileCopyPeerFA(&url,mode); + } ++FileCopyPeer *GetJob::CreateCopyPeer(const char *path,FA::open_mode mode) ++{ ++ return mode==FA::STORE ? DstLocal(path) : SrcLocal(path); ++} + + void GetJob::NextFile() + { +--- src/GetJob.h 23 Apr 2007 07:11:46 -0000 1.15 ++++ src/GetJob.h 28 Dec 2007 11:10:07 -0000 +@@ -29,8 +29,10 @@ class GetJob : public CopyJobEnv + { + FileCopyPeer *SrcLocal(const char *src); + FileCopyPeer *DstLocal(const char *dst); +- FileCopyPeer *CreateCopyPeer(const ParsedURL &url,FA::open_mode mode); ++ FileCopyPeer *CreateCopyPeer(const ParsedURL &url,const char *path,FA::open_mode mode); ++ FileCopyPeer *CreateCopyPeer(const char *path,FA::open_mode mode); + bool IsRemoteNonURL(const ParsedURL &url,FA::open_mode mode); ++ bool IsLocalNonURL(const ParsedURL &url,FA::open_mode mode); + static bool IsLocal(const ParsedURL &url); + + protected: diff --git a/net-ftp/lftp/files/digest-lftp-3.6.1-r1 b/net-ftp/lftp/files/digest-lftp-3.6.1-r1 new file mode 100644 index 000000000000..11423e6140f5 --- /dev/null +++ b/net-ftp/lftp/files/digest-lftp-3.6.1-r1 @@ -0,0 +1,3 @@ +MD5 29e9e44474aa381029d6ae0fb79b2f2b lftp-3.6.1.tar.bz2 1332560 +RMD160 9b92c1cf1af6b14295641e2703fe44b39f9a4aa3 lftp-3.6.1.tar.bz2 1332560 +SHA256 8e65e1602c08b44c955eda228876046f3f74519200db0cb54d1102a02a50b032 lftp-3.6.1.tar.bz2 1332560 |