diff options
author | Milan P. Stanić <mps@arvanta.net> | 2018-12-11 19:08:00 +0100 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2019-02-05 08:28:58 +0000 |
commit | f04039399781204786e376f730b8849aea59dcd2 (patch) | |
tree | 9b8a9c3a0e690d8ae57888e8f7c054c4c50301c4 /testing/curlftpfs | |
parent | 20380256b171efa7c66a16fbf75d842922e46f27 (diff) | |
download | aports-f04039399781204786e376f730b8849aea59dcd2.tar.bz2 aports-f04039399781204786e376f730b8849aea59dcd2.tar.xz |
testing/curlftpfs: new aport
Diffstat (limited to 'testing/curlftpfs')
-rw-r--r-- | testing/curlftpfs/001-uclibc_mod.patch | 37 | ||||
-rw-r--r-- | testing/curlftpfs/500-fix-CURLOPT_INFILESIZE.patch | 11 | ||||
-rw-r--r-- | testing/curlftpfs/510-free_ftpfs_file-memleak-fix.patch | 13 | ||||
-rw-r--r-- | testing/curlftpfs/520-nocache-memleak-fix.patch | 58 | ||||
-rw-r--r-- | testing/curlftpfs/530-curlftpfs__no_verify_hostname.patch | 21 | ||||
-rw-r--r-- | testing/curlftpfs/540-consistent-feature-flag.patch | 60 | ||||
-rw-r--r-- | testing/curlftpfs/550-getpass-prototype.patch | 20 | ||||
-rw-r--r-- | testing/curlftpfs/APKBUILD | 44 |
8 files changed, 264 insertions, 0 deletions
diff --git a/testing/curlftpfs/001-uclibc_mod.patch b/testing/curlftpfs/001-uclibc_mod.patch new file mode 100644 index 0000000000..8eb155618a --- /dev/null +++ b/testing/curlftpfs/001-uclibc_mod.patch @@ -0,0 +1,37 @@ +diff -cr curlftpfs-0.9.2/ftpfs-ls.c curlftpfs-0.9.2-1/ftpfs-ls.c +*** curlftpfs-0.9.2/ftpfs-ls.c 2008-04-23 12:55:41.000000000 +0200 +--- curlftpfs-0.9.2-1/ftpfs-ls.c 2009-09-24 23:19:03.000000000 +0200 +*************** +*** 58,64 **** + "%5s" "%*c" + "%1023c", + mode, &nlink, user, group, &size, month, day, year, file); +! if (res < 9) { + res = sscanf(line, + "%11s" + "%32s" SPACES +--- 58,64 ---- + "%5s" "%*c" + "%1023c", + mode, &nlink, user, group, &size, month, day, year, file); +! if (res < 8) { + res = sscanf(line, + "%11s" + "%32s" SPACES +*************** +*** 69,75 **** + "%5s" "%*c" + "%1023c", + mode, user, group, &size, month, day, year, file); +! if (res < 8) { + return 0; + } + } +--- 69,75 ---- + "%5s" "%*c" + "%1023c", + mode, user, group, &size, month, day, year, file); +! if (res < 7) { + return 0; + } + } diff --git a/testing/curlftpfs/500-fix-CURLOPT_INFILESIZE.patch b/testing/curlftpfs/500-fix-CURLOPT_INFILESIZE.patch new file mode 100644 index 0000000000..bd14184b0b --- /dev/null +++ b/testing/curlftpfs/500-fix-CURLOPT_INFILESIZE.patch @@ -0,0 +1,11 @@ +CURLOPT_INFILESIZE does not support -1 arg. This fix bug #556012. +--- curlftpfs-0.9.2/ftpfs.c.old 2009-12-13 14:12:25.000000000 +0100 ++++ curlftpfs-0.9.2/ftpfs.c 2009-12-13 14:12:32.000000000 +0100 +@@ -503,7 +503,6 @@ + + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1); +- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1); diff --git a/testing/curlftpfs/510-free_ftpfs_file-memleak-fix.patch b/testing/curlftpfs/510-free_ftpfs_file-memleak-fix.patch new file mode 100644 index 0000000000..38a77ac9a6 --- /dev/null +++ b/testing/curlftpfs/510-free_ftpfs_file-memleak-fix.patch @@ -0,0 +1,13 @@ +Fix a memory leak. See Bug #587250. + +--- a/ftpfs.c 2008-04-30 01:05:47.000000000 +0200 ++++ a/ftpfs.c.slesimple 2010-01-01 22:12:10.000000000 +0100 +@@ -614,6 +614,8 @@ static void free_ftpfs_file(struct ftpfs + sem_destroy(&fh->data_need); + sem_destroy(&fh->data_written); + sem_destroy(&fh->ready); ++ if (fh->buf.size) { buf_free(&fh->buf); } ++ if (fh->stream_buf.size) { buf_free(&fh->stream_buf); } + free(fh); + } + diff --git a/testing/curlftpfs/520-nocache-memleak-fix.patch b/testing/curlftpfs/520-nocache-memleak-fix.patch new file mode 100644 index 0000000000..2c351a42b3 --- /dev/null +++ b/testing/curlftpfs/520-nocache-memleak-fix.patch @@ -0,0 +1,58 @@ +Fix a memory leak when cache is disabled. Closes: #614347. + +diff -ur curlftpfs-0.9.2/cache.c curlftpfs-0.9.2-olexat/cache.c +--- curlftpfs-0.9.2/cache.c 2008-04-30 01:03:09.000000000 +0200 ++++ curlftpfs-0.9.2-olexat/cache.c 2011-02-04 16:43:05.000000000 +0100 +@@ -25,7 +25,7 @@ + time_t last_cleaned; + }; + +-static struct cache cache; ++struct cache cache; + + struct node { + struct stat stat; +diff -ur curlftpfs-0.9.2/ftpfs-ls.c curlftpfs-0.9.2-olexat/ftpfs-ls.c +--- curlftpfs-0.9.2/ftpfs-ls.c 2008-04-23 12:55:41.000000000 +0200 ++++ curlftpfs-0.9.2-olexat/ftpfs-ls.c 2011-02-07 17:23:37.000000000 +0100 +@@ -25,6 +25,13 @@ + #include "charset_utils.h" + #include "ftpfs-ls.h" + ++struct cache { ++ int on; ++ char incomplete[]; ++}; ++ ++extern struct cache cache; ++ + static int parse_dir_unix(const char *line, + struct stat *sbuf, + char *file, +@@ -243,8 +256,10 @@ + reallink = g_strdup(link); + } + int linksize = strlen(reallink); +- cache_add_link(full_path, reallink, linksize+1); +- DEBUG(1, "cache_add_link: %s %s\n", full_path, reallink); ++ if (cache.on) { ++ cache_add_link(full_path, reallink, linksize+1); ++ DEBUG(1, "cache_add_link: %s %s\n", full_path, reallink); ++ } + if (linkbuf && linklen) { + if (linksize > linklen) linksize = linklen - 1; + strncpy(linkbuf, reallink, linksize); +@@ -257,8 +272,10 @@ + DEBUG(1, "filler: %s\n", file); + filler(h, file, &stat_buf); + } else { +- DEBUG(1, "cache_add_attr: %s\n", full_path); +- cache_add_attr(full_path, &stat_buf); ++ if (cache.on) { ++ DEBUG(1, "cache_add_attr: %s\n", full_path); ++ cache_add_attr(full_path, &stat_buf); ++ } + } + + DEBUG(2, "comparing %s %s\n", name, file); + diff --git a/testing/curlftpfs/530-curlftpfs__no_verify_hostname.patch b/testing/curlftpfs/530-curlftpfs__no_verify_hostname.patch new file mode 100644 index 0000000000..578eaa7b96 --- /dev/null +++ b/testing/curlftpfs/530-curlftpfs__no_verify_hostname.patch @@ -0,0 +1,21 @@ +Author: Georg Oechsler +Subject: Fix no_verify_hostname option with recent versions of curl + +Index: curlftpfs-0.9.2/ftpfs.c +=================================================================== +--- curlftpfs-0.9.2.orig/ftpfs.c ++++ curlftpfs-0.9.2/ftpfs.c +@@ -1626,9 +1626,10 @@ static void set_common_curl_stuff(CURL* + } + + if (ftpfs.no_verify_hostname) { +- /* The default is 2 which verifies even the host string. This sets to 1 +- * which means verify the host but not the string. */ +- curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYHOST, 1); ++ /* The default is 2 which verifies even the host string. This sets ++ * to 0 which means the connection succeeds regardless of the names ++ * in the certificate. */ ++ curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYHOST, 0); + } + + curl_easy_setopt_or_die(easy, CURLOPT_INTERFACE, ftpfs.interface); diff --git a/testing/curlftpfs/540-consistent-feature-flag.patch b/testing/curlftpfs/540-consistent-feature-flag.patch new file mode 100644 index 0000000000..71a37fecd0 --- /dev/null +++ b/testing/curlftpfs/540-consistent-feature-flag.patch @@ -0,0 +1,60 @@ +Author: Vincent Bernat +Subject: ensure consistent use of _XOPEN_SOURCE + +See bug #748143 + +Index: curlftpfs-0.9.2/Makefile.am +=================================================================== +--- curlftpfs-0.9.2.orig/Makefile.am ++++ curlftpfs-0.9.2/Makefile.am +@@ -5,7 +5,7 @@ DIST_SUBDIRS = $(SUBDIRS) tests + + LIBICONV = @LIBICONV@ + +-AM_CPPFLAGS = -DFUSE_USE_VERSION=26 ++AM_CPPFLAGS = -DFUSE_USE_VERSION=26 -D_XOPEN_SOURCE=600 + AM_LDFLAGS = $(LIBICONV) + + bin_PROGRAMS = curlftpfs +Index: curlftpfs-0.9.2/ftpfs-ls.c +=================================================================== +--- curlftpfs-0.9.2.orig/ftpfs-ls.c ++++ curlftpfs-0.9.2/ftpfs-ls.c +@@ -6,12 +6,6 @@ + See the file COPYING. + */ + +-#ifndef __FreeBSD__ +-#define _XOPEN_SOURCE 600 +-#else +-#define _XOPEN_SOURCE +-#endif +- + #include <time.h> + #include <string.h> + #include <sys/types.h> +Index: curlftpfs-0.9.2/tests/Makefile.am +=================================================================== +--- curlftpfs-0.9.2.orig/tests/Makefile.am ++++ curlftpfs-0.9.2/tests/Makefile.am +@@ -2,7 +2,7 @@ EXTRA_DIST = run_tests.sh + + noinst_PROGRAMS = ftpfs-ls_unittest + +-AM_CPPFLAGS = -DFUSE_USE_VERSION=25 ++AM_CPPFLAGS = -DFUSE_USE_VERSION=25 -D_XOPEN_SOURCE=600 + + ftpfs_ls_unittest_SOURCES = ftpfs-ls_unittest.c + if FUSE_OPT_COMPAT +Index: curlftpfs-0.9.2/tests/ftpfs-ls_unittest.c +=================================================================== +--- curlftpfs-0.9.2.orig/tests/ftpfs-ls_unittest.c ++++ curlftpfs-0.9.2/tests/ftpfs-ls_unittest.c +@@ -6,7 +6,6 @@ + See the file COPYING. + */ + +-#define _XOPEN_SOURCE 600 /* glibc2 needs this */ + #include <time.h> + #include <stdlib.h> + #include <stdio.h> diff --git a/testing/curlftpfs/550-getpass-prototype.patch b/testing/curlftpfs/550-getpass-prototype.patch new file mode 100644 index 0000000000..6ec55eff58 --- /dev/null +++ b/testing/curlftpfs/550-getpass-prototype.patch @@ -0,0 +1,20 @@ +Description: add getpass() prototype + This function has been deprecated and is not declared with + _XOPEN_SOURCE>=600. To avoid fiddling too much with feature flags, we + just add its prototype to ensure a correct declaration. +Forwarded: no (dead upstream) +Bug: #795879 + +Index: curlftpfs-0.9.2/ftpfs.c +=================================================================== +--- curlftpfs-0.9.2.orig/ftpfs.c ++++ curlftpfs-0.9.2/ftpfs.c +@@ -36,6 +36,8 @@ + + #define MAX_BUFFER_LEN (300*1024) + ++extern char *getpass(const char *prompt); ++ + struct ftpfs ftpfs; + static char error_buf[CURL_ERROR_SIZE]; + diff --git a/testing/curlftpfs/APKBUILD b/testing/curlftpfs/APKBUILD new file mode 100644 index 0000000000..1e13c16969 --- /dev/null +++ b/testing/curlftpfs/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Milan P. Stanić <mps@arvanta.net> +# Maintainer: Milan P. Stanić <mps@arvanta.net> +pkgname=curlftpfs +pkgver=0.9.2 +pkgrel=0 +pkgdesc="Fuse mount FTP server" +url="https://sourceforge.net/projects/curlftpfs/" +arch="all" +license="GPL-2.0-only" +depends="libcurl glib" +makedepends="curl-dev glib-dev fuse-dev" +install="" +subpackages="$pkgname-doc" +source="https://downloads.sourceforge.net/project/curlftpfs/curlftpfs/0.9.2/curlftpfs-0.9.2.tar.gz + 001-uclibc_mod.patch + 500-fix-CURLOPT_INFILESIZE.patch + 510-free_ftpfs_file-memleak-fix.patch + 520-nocache-memleak-fix.patch + 530-curlftpfs__no_verify_hostname.patch + 540-consistent-feature-flag.patch + 550-getpass-prototype.patch + " +builddir="$srcdir/${pkgname}-${pkgver}" +patch_args="-p1" + +build() { + cd "$builddir" + ./configure --prefix=/usr + make CFLAGS="-I/usr/include/fuse -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D__off_t=off_t -D_FILE_OFFSET_BITS=64" +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="df07c418d175f766c89525017fc56e79726061eee0c3a6607ded0e1bf24f64f1475ba0e546157b65892194e3c4414c120822bf8fb175437e68366f82de216067 curlftpfs-0.9.2.tar.gz +a5705945c04382db2f82b6f8c34e9367b6ee3d442d11744403c78f7a9236d5117fbb0a94824dc5c5572bcda701104f2769264764ab4b5d24017ff58f6a3fa3d1 001-uclibc_mod.patch +ee0055cb2271da9ed5251800a4d0a7bc64b68482d6f221127d1dbe3df6bdda22a45a9e9ea7f0c938d1eac484a86920c9a76dbd160deb87f78da1515373309f57 500-fix-CURLOPT_INFILESIZE.patch +e37011cfcb60004d68a4cb76da3a811349166063057e7af5d75d9f982ffab6093cda648f07ee1dfc30abfc8ef19894ae7cb6f90b3d3ca4b1a4affe3a19a95f08 510-free_ftpfs_file-memleak-fix.patch +ffef57586e2023c3257bfa1d48c5dd318c17e80867b2c467ee99a538813d459568260daf23caf84a751a7d1c18fd05b54d967a5d8e740adbd1bac1af1effe74c 520-nocache-memleak-fix.patch +f3478952ef8667ac808d0a1c97c7211da8a091ef27fe2fc87cb2a685060c479af1422e2a8cfaea6d3cd3014758cbb4cc25a3dbec4d9b50da03195cd294efb296 530-curlftpfs__no_verify_hostname.patch +4448ee5ebb79e404cc0eb37ef39c510015ef9b8901724c396ffee52bc45ba8c2636f6f3e6ec2dc4390b37c5662b54c72a13df32807dabfc523a0f65f484a8540 540-consistent-feature-flag.patch +5657e2261012b81fda02488a0aa083d88c3d9ea2b435b38a46dc1e04afc34824aa452dd903f1ac956a37c9c2fa19f65c4021d531450abbe47e074dbad5819a63 550-getpass-prototype.patch" |