summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaúl Porcel <armin76@gentoo.org>2008-01-21 20:18:50 +0000
committerRaúl Porcel <armin76@gentoo.org>2008-01-21 20:18:50 +0000
commit5cefbc58ce7d35c46609d3d0d55075c4e68e047e (patch)
treebc53dbad6e8e28794c0dcb9a1b3d40ea15072b35 /net-ftp/lftp/files
parentStable for HPPA (bug #206904). Fixed quoting issues too. (diff)
downloadhistorical-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.patch11
-rw-r--r--net-ftp/lftp/files/3.6.1-specialchars.patch67
-rw-r--r--net-ftp/lftp/files/digest-lftp-3.6.1-r13
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