You are not logged in.

#1 2024-08-07 05:30:36

Theylanh
Member
Registered: 2024-08-06
Posts: 4

Problem with curlftpfs

I'm really lost, I don't know why this program doesn't work on my Arch PC. I have tried it on the same PC with an Arch Live USB and on another PC with Debian and it works perfectly to connect to the same server.

No matter what I put, everything gives me the same output: "Error setting curl:"

theylanh@MPG-X570: Documentos$ curlftpfs -V
curlftpfs 0.9.2 libcurl/8.9.1 fuse/2.9
theylanh@MPG-X570: Documentos$ curlftpfs 192.168.1.123:1234 /home/theylanh/ftp/
Error setting curl: 
theylanh@MPG-X570: Documentos$ curlftpfs -f -v -o debug,ftpfs_debug=3 192.168.1.123:1234 /home/theylanh/ftp/
Error setting curl:

Curl works perfectly fine:

theylanh@MPG-X570: ~$ curl ftp://192.168.1.123:1234 
-rw-------   0 user group            0 Aug  7 07:24 HiWorld

Here's the strace file:

execve("/usr/bin/curlftpfs", ["curlftpfs", "192.168.1.123:1234", "/home/theylanh/ftp/"], 0x7fff1b137990 /* 40 vars */) = 0
brk(NULL)                               = 0x654476614000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No existe el fichero o el directorio)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=184023, ...}) = 0
mmap(NULL, 184023, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7d5a9ddc1000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1359192, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9ddbf000
mmap(NULL, 1364552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9dc71000
mmap(0x7d5a9dc8f000, 671744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e000) = 0x7d5a9dc8f000
mmap(0x7d5a9dd33000, 561152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc2000) = 0x7d5a9dd33000
mmap(0x7d5a9ddbc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14a000) = 0x7d5a9ddbc000
mmap(0x7d5a9ddbe000, 584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d5a9ddbe000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libfuse.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=252056, ...}) = 0
mmap(NULL, 250136, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9dc33000
mmap(0x7d5a9dc39000, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7d5a9dc39000
mmap(0x7d5a9dc55000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7d5a9dc55000
mmap(0x7d5a9dc5e000, 77824, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x7d5a9dc5e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libcurl.so.4", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=831624, ...}) = 0
mmap(NULL, 830832, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9db68000
mmap(0x7d5a9db73000, 626688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7d5a9db73000
mmap(0x7d5a9dc0c000, 131072, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa4000) = 0x7d5a9dc0c000
mmap(0x7d5a9dc2c000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc4000) = 0x7d5a9dc2c000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340_\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
fstat(3, {st_mode=S_IFREG|0755, st_size=2014520, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 2034616, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d977000
mmap(0x7d5a9d99b000, 1511424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7d5a9d99b000
mmap(0x7d5a9db0c000, 319488, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x195000) = 0x7d5a9db0c000
mmap(0x7d5a9db5a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e3000) = 0x7d5a9db5a000
mmap(0x7d5a9db60000, 31672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d5a9db60000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=645072, ...}) = 0
mmap(NULL, 647416, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d8d8000
mmap(0x7d5a9d8da000, 466944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9d8da000
mmap(0x7d5a9d94c000, 167936, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x74000) = 0x7d5a9d94c000
mmap(0x7d5a9d975000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9c000) = 0x7d5a9d975000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libnghttp3.so.9", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=140216, ...}) = 0
mmap(NULL, 142464, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d8b5000
mmap(0x7d5a9d8b7000, 77824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9d8b7000
mmap(0x7d5a9d8ca000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7d5a9d8ca000
mmap(0x7d5a9d8d5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7d5a9d8d5000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libnghttp2.so.14", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=165928, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9d8b3000
mmap(NULL, 168048, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d889000
mmap(0x7d5a9d88d000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7d5a9d88d000
mmap(0x7d5a9d8a3000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7d5a9d8a3000
mmap(0x7d5a9d8af000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7d5a9d8af000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libidn2.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=132992, ...}) = 0
mmap(NULL, 135184, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d867000
mmap(0x7d5a9d869000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9d869000
mmap(0x7d5a9d86d000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7d5a9d86d000
mmap(0x7d5a9d887000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7d5a9d887000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libssh2.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=293288, ...}) = 0
mmap(NULL, 295488, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d81e000
mmap(0x7d5a9d826000, 196608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7d5a9d826000
mmap(0x7d5a9d856000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0x7d5a9d856000
mmap(0x7d5a9d864000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x45000) = 0x7d5a9d864000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libpsl.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=75640, ...}) = 0
mmap(NULL, 77840, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d80a000
mmap(0x7d5a9d80c000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9d80c000
mmap(0x7d5a9d80e000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7d5a9d80e000
mmap(0x7d5a9d81c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7d5a9d81c000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libssl.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=888632, ...}) = 0
mmap(NULL, 890736, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d730000
mmap(0x7d5a9d743000, 602112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7d5a9d743000
mmap(0x7d5a9d7d6000, 151552, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa6000) = 0x7d5a9d7d6000
mmap(0x7d5a9d7fb000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xca000) = 0x7d5a9d7fb000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libcrypto.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=5026736, ...}) = 0
mmap(NULL, 5037280, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d200000
mmap(0x7d5a9d24c000, 3485696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4c000) = 0x7d5a9d24c000
mmap(0x7d5a9d59f000, 823296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x39f000) = 0x7d5a9d59f000
mmap(0x7d5a9d668000, 405504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x468000) = 0x7d5a9d668000
mmap(0x7d5a9d6cb000, 11488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d5a9d6cb000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=340256, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9d72e000
mmap(NULL, 338736, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d6db000
mmap(0x7d5a9d6e4000, 249856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7d5a9d6e4000
mmap(0x7d5a9d721000, 40960, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x46000) = 0x7d5a9d721000
mmap(0x7d5a9d72b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x50000) = 0x7d5a9d72b000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libzstd.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=911304, ...}) = 0
mmap(NULL, 909384, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d121000
mmap(0x7d5a9d12d000, 786432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7d5a9d12d000
mmap(0x7d5a9d1ed000, 69632, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xcc000) = 0x7d5a9d1ed000
mmap(0x7d5a9d1fe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xdd000) = 0x7d5a9d1fe000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libbrotlidec.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=55168, ...}) = 0
mmap(NULL, 57360, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d112000
mmap(0x7d5a9d113000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7d5a9d113000
mmap(0x7d5a9d11c000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7d5a9d11c000
mmap(0x7d5a9d11f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7d5a9d11f000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=100368, ...}) = 0
mmap(NULL, 98320, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d0f9000
mmap(0x7d5a9d0fc000, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7d5a9d0fc000
mmap(0x7d5a9d10a000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7d5a9d10a000
mmap(0x7d5a9d110000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7d5a9d110000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libunistring.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1767472, ...}) = 0
mmap(NULL, 1767688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9cf49000
mmap(0x7d5a9cf58000, 229376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7d5a9cf58000
mmap(0x7d5a9cf90000, 1458176, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) = 0x7d5a9cf90000
mmap(0x7d5a9d0f4000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ab000) = 0x7d5a9d0f4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=804920, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9d6d9000
mmap(NULL, 803664, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9ce84000
mmap(0x7d5a9ce95000, 434176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7d5a9ce95000
mmap(0x7d5a9ceff000, 237568, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7b000) = 0x7d5a9ceff000
mmap(0x7d5a9cf39000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb5000) = 0x7d5a9cf39000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=178224, ...}) = 0
mmap(NULL, 180264, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9ce57000
mmap(0x7d5a9ce5a000, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7d5a9ce5a000
mmap(0x7d5a9ce76000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7d5a9ce76000
mmap(0x7d5a9ce81000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0x7d5a9ce81000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18376, ...}) = 0
mmap(NULL, 20552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9d6d3000
mmap(0x7d5a9d6d5000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9d6d5000
mmap(0x7d5a9d6d6000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7d5a9d6d6000
mmap(0x7d5a9d6d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7d5a9d6d7000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=55544, ...}) = 0
mmap(NULL, 53872, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9ce49000
mmap(0x7d5a9ce4c000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7d5a9ce4c000
mmap(0x7d5a9ce53000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7d5a9ce53000
mmap(0x7d5a9ce55000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7d5a9ce55000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libkeyutils.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=22480, ...}) = 0
mmap(NULL, 24592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9ce42000
mmap(0x7d5a9ce44000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9ce44000
mmap(0x7d5a9ce46000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7d5a9ce46000
mmap(0x7d5a9ce47000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7d5a9ce47000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=63736, ...}) = 0
mmap(NULL, 71816, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9ce30000
mmap(0x7d5a9ce33000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7d5a9ce33000
mmap(0x7d5a9ce3c000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7d5a9ce3c000
mmap(0x7d5a9ce3e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7d5a9ce3e000
mmap(0x7d5a9ce40000, 6280, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d5a9ce40000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libbrotlicommon.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=141264, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9d6d1000
mmap(NULL, 139280, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d5a9ce0d000
mmap(0x7d5a9ce0e000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7d5a9ce0e000
mmap(0x7d5a9ce0f000, 126976, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7d5a9ce0f000
mmap(0x7d5a9ce2e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x21000) = 0x7d5a9ce2e000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9d6cf000
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d5a9ce0a000
arch_prctl(ARCH_SET_FS, 0x7d5a9ce0a740) = 0
set_tid_address(0x7d5a9ce0aa10)         = 27020
set_robust_list(0x7d5a9ce0aa20, 24)     = 0
rseq(0x7d5a9ce0b060, 0x20, 0, 0x53053053) = 0
mprotect(0x7d5a9db5a000, 16384, PROT_READ) = 0
mprotect(0x7d5a9ce2e000, 4096, PROT_READ) = 0
mprotect(0x7d5a9ce3e000, 4096, PROT_READ) = 0
mprotect(0x7d5a9ce47000, 4096, PROT_READ) = 0
mprotect(0x7d5a9ce55000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d6d7000, 4096, PROT_READ) = 0
mprotect(0x7d5a9ce81000, 8192, PROT_READ) = 0
mprotect(0x7d5a9cf39000, 57344, PROT_READ) = 0
mprotect(0x7d5a9d0f4000, 16384, PROT_READ) = 0
mprotect(0x7d5a9d110000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d11f000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d1fe000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d72b000, 8192, PROT_READ) = 0
mprotect(0x7d5a9d668000, 393216, PROT_READ) = 0
mprotect(0x7d5a9d7fb000, 45056, PROT_READ) = 0
mprotect(0x7d5a9d887000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d81c000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d864000, 8192, PROT_READ) = 0
mprotect(0x7d5a9d8af000, 12288, PROT_READ) = 0
mprotect(0x7d5a9d8d5000, 4096, PROT_READ) = 0
mprotect(0x7d5a9d975000, 4096, PROT_READ) = 0
mprotect(0x7d5a9dc2c000, 16384, PROT_READ) = 0
mprotect(0x7d5a9dc5e000, 73728, PROT_READ) = 0
mprotect(0x7d5a9ddbc000, 4096, PROT_READ) = 0
mprotect(0x654471ef5000, 4096, PROT_READ) = 0
mprotect(0x7d5a9de28000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7d5a9ddc1000, 184023)          = 0
getrandom("\x0d\xb0\x45\x42\x20\xfd\x03\x66", 8, GRND_NONBLOCK) = 8
brk(NULL)                               = 0x654476614000
brk(0x654476635000)                     = 0x654476635000
futex(0x7d5a9d6cb208, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb204, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb200, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb610, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb1f8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb1f4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cabc8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cae00, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb0e0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cae10, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb1fc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/etc/ssl/openssl.cnf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=12328, ...}) = 0
read(3, "#\n# OpenSSL example configuratio"..., 4096) = 4096
read(3, "d attributes must be the same, a"..., 4096) = 4096
read(3, "coding of an extension: beware e"..., 4096) = 4096
read(3, "cert = $insta::certout # insta.c"..., 4096) = 40
read(3, "", 4096)                       = 0
close(3)                                = 0
futex(0x7d5a9d6cad74, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cada8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cafe0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb1e4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb1e0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cadb0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d6cb1f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d809740, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7d5a9d809754, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, "Error setting curl: \n", 21)  = 21
exit_group(1)                           = ?
+++ exited with 1 +++

Thank you in advance.

Offline

#2 2024-08-07 08:04:44

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,834

Re: Problem with curlftpfs

Wild guess: "-o ssl,no_verify_peer,no_verify_hostname" ? or "-o ssl_try"?
(Because it errors our after reading openssl.cnf)

You'd expect to see some error message after the colon, but don't - strace cannot really help here, you'll have to gdb curlftpfs, maybe

curl -v ftp://192.168.1.123:1234

can help to see what curl wants to do when left alone.

Online

#3 2024-08-07 10:01:59

Theylanh
Member
Registered: 2024-08-06
Posts: 4

Re: Problem with curlftpfs

seth wrote:

Wild guess: "-o ssl,no_verify_peer,no_verify_hostname" ? or "-o ssl_try"?
(Because it errors our after reading openssl.cnf)

You'd expect to see some error message after the colon, but don't - strace cannot really help here, you'll have to gdb curlftpfs, maybe

curl -v ftp://192.168.1.123:1234

can help to see what curl wants to do when left alone.

This happens with --verbose and curl:

theylanh@MPG-X570: ~$ curl -v ftp://192.168.1.123:1234
*   Trying 192.168.1.123:1234...
* Connected to 192.168.1.123 (192.168.1.123) port 1234
< 220 Service ready for new user.
> USER anonymous
< 331 Guest login okay, send your complete e-mail address as password.
> PASS ftp@example.com
< 230 User logged in, proceed.
> PWD
< 257 "/" is current directory.
* Entry path is '/'
* Request has same path as previous transfer
> EPSV
* Connect data stream passively
< 229 Entering Passive Mode (|||37771|)
* Connecting to 192.168.1.123 (192.168.1.123) port 37771
*   Trying 192.168.1.123:37771...
* Connected 2nd connection to 192.168.1.123 port 37771
> TYPE A
< 200 Command TYPE okay.
> LIST
< 150 File status okay; about to open data connection.
* Maxdownload = -1
-rw-------   0 user group            0 Aug  7 07:24 HiWorld
* Remembering we are in dir ""
< 226 Closing data connection.
* Connection #0 to host 192.168.1.123 left intact

And here's what I got with gdb:

theylanh@MPG-X570: curlftpfs$ gdb --args curlftpfs -f -v -o debug,ftpfs_debug=3,curldebug=1 192.168.1.123:1234 /home/theylanh/ftp/
GNU gdb (GDB) 15.1
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from curlftpfs...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/theylanh/.cache/debuginfod_client/29e02dfe648ab04b1ecfcb752d7f5216a4119d59/debuginfo...
(gdb) set follow-fork-mode child
(gdb) break main
Downloading source file /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c
Breakpoint 1 at 0x2020: file /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c, line 1722.
(gdb) run
Starting program: /usr/bin/curlftpfs -f -v -o debug,ftpfs_debug=3,curldebug=1 192.168.1.123:1234 /home/theylanh/ftp/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Breakpoint 1, main (argc=7, argv=0x7fffffffe5e8)
    at /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c:1722
1722	int main(int argc, char** argv) {
(gdb) next
1732	  memset(&ftpfs, 0, sizeof(ftpfs));
(gdb) next
1724	  struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
(gdb) next
1730	  curl_global_init(CURL_GLOBAL_ALL);
(gdb) next
1732	  memset(&ftpfs, 0, sizeof(ftpfs));
(gdb) next
1735	  ftpfs.curl_version = curl_version_info(CURLVERSION_NOW);
(gdb) next
1736	  ftpfs.safe_nobody = ftpfs.curl_version->version_num > CURLFTPFS_BAD_NOBODY;
(gdb) next
1739	  ftpfs.multiconn = 1;
(gdb) next
1740	  ftpfs.attached_to_multi = 0;
(gdb) next
1742	  if (fuse_opt_parse(&args, &ftpfs, ftpfs_opts, ftpfs_opt_proc) == -1)
(gdb) next
1745	  if (!ftpfs.host) {
(gdb) next
1751	  if (!ftpfs.iocharset) {
(gdb) next
1752	    ftpfs.iocharset = "UTF8";
(gdb) next
1755	  if (ftpfs.codepage) {
(gdb) next
1759	  easy = curl_easy_init();
(gdb) next
1760	  if (easy == NULL) {
(gdb) next
1765	  res = cache_parse_options(&args);
(gdb) next
1766	  if (res == -1)
(gdb) next
1769	  checkpasswd("host", &ftpfs.user);
(gdb) next
1770	  checkpasswd("proxy", &ftpfs.proxy_user);
(gdb) next
1772	  if (ftpfs.transform_symlinks && !ftpfs.mountpoint) {
(gdb) next
1785	  set_common_curl_stuff(easy);
(gdb) next
Error setting curl: 
[Inferior 1 (process 8602) exited with code 01]
(gdb) bt
No stack.

Offline

#4 2024-08-07 13:43:59

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,834

Re: Problem with curlftpfs

Set a breakpoint at for exit to get a backtrace or step into the function, set_common_curl_stuff calls a lot of curl_easy_setopt and w/o the error buffer actually holding any data it's impossible to tell which call might be the culprit here.

Online

#5 2024-08-07 16:02:09

kionez
Member
Registered: 2012-06-08
Posts: 9

Re: Problem with curlftpfs

I'm in the same situation, downgrading curl to curl-8.8.0-1-x86_64 I can mount a remote FTP with curlftpfs.
Maybe there is something new in curl version or something changed in build.
Sorry, but I don't have time at the moment to go into this in depth.

Offline

#6 2024-08-07 20:33:06

Theylanh
Member
Registered: 2024-08-06
Posts: 4

Re: Problem with curlftpfs

kionez wrote:

I'm in the same situation, downgrading curl to curl-8.8.0-1-x86_64 I can mount a remote FTP with curlftpfs.
Maybe there is something new in curl version or something changed in build.
Sorry, but I don't have time at the moment to go into this in depth.

Downgrading works for me too, there is probably something in the new version that causes the error.

seth wrote:

Set a breakpoint at for exit to get a backtrace or step into the function, set_common_curl_stuff calls a lot of curl_easy_setopt and w/o the error buffer actually holding any data it's impossible to tell which call might be the culprit here.

Hi, I don't know if I'm doing it correctly, as my knowledge is very limited and it's the first time I'm using gdb. This is what I have got so far, I hope it can be of help:

theylanh@MPG-X570: ~$ gdb --args curlftpfs -f -v -o debug,ftpfs_debug=3,curldebug=1 192.168.1.123:1234 /home/theylanh/ftp/
GNU gdb (GDB) 15.1
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from curlftpfs...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/theylanh/.cache/debuginfod_client/29e02dfe648ab04b1ecfcb752d7f5216a4119d59/debuginfo...
(gdb) break exit
Function "exit" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (exit) pending.
(gdb) run
Starting program: /usr/bin/curlftpfs -f -v -o debug,ftpfs_debug=3,curldebug=1 192.168.1.123:1234 /home/theylanh/ftp/
Downloading separate debug info for system-supplied DSO at 0x7ffff7fc5000
[Thread debugging using libthread_db enabled]                                   
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Error setting curl: 

Breakpoint 1, __GI_exit (status=status@entry=1) at exit.c:137
137	{
(gdb) bt
#0  __GI_exit (status=status@entry=1) at exit.c:137
#1  0x0000555555557f71 in set_common_curl_stuff (
    easy=easy@entry=0x555555584230)
    at /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c:1662
#2  0x00005555555561b2 in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c:1785
(gdb) break set_common_curl_stuff
Breakpoint 2 at 0x555555557a00: file /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c, line 1519.
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/curlftpfs -f -v -o debug,ftpfs_debug=3,curldebug=1 192.168.1.123:1234 /home/theylanh/ftp/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Breakpoint 2, set_common_curl_stuff (easy=easy@entry=0x555555584230)
    at /usr/src/debug/curlftpfs/curlftpfs-0.9.2/ftpfs.c:1519
1519	  curl_easy_setopt_or_die(easy, CURLOPT_WRITEFUNCTION, read_data);
(gdb) next
1520	  curl_easy_setopt_or_die(easy, CURLOPT_READFUNCTION, write_data);
(gdb) next
1521	  curl_easy_setopt_or_die(easy, CURLOPT_ERRORBUFFER, error_buf);
(gdb) next
1522	  curl_easy_setopt_or_die(easy, CURLOPT_URL, ftpfs.host);
(gdb) next
1523	  curl_easy_setopt_or_die(easy, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
(gdb) next
1524	  curl_easy_setopt_or_die(easy, CURLOPT_NOSIGNAL, 1);
(gdb) next
1525	  curl_easy_setopt_or_die(easy, CURLOPT_CUSTOMREQUEST, "LIST -a");
(gdb) next
1527	  if (ftpfs.custom_list) {
(gdb) next
1531	  if (ftpfs.tryutf8) {
(gdb) next
1544	  if (ftpfs.verbose) {
(gdb) next
1545	    curl_easy_setopt_or_die(easy, CURLOPT_VERBOSE, TRUE);
(gdb) next
1548	  if (ftpfs.disable_epsv) {
(gdb) next
1549	    curl_easy_setopt_or_die(easy, CURLOPT_FTP_USE_EPSV, FALSE);
(gdb) next
1552	  if (ftpfs.skip_pasv_ip) {
(gdb) next
1556	  if (ftpfs.ftp_port) {
(gdb) next
1560	  if (ftpfs.disable_eprt) {
(gdb) next
1564	  if (ftpfs.ftp_method) {
(gdb) next
1569	  if (ftpfs.tcp_nodelay) {
(gdb) next
1574	  curl_easy_setopt_or_die(easy, CURLOPT_CONNECTTIMEOUT, ftpfs.connect_timeout);
(gdb) next
1579	  if (ftpfs.use_ssl > CURLFTPSSL_TRY &&
(gdb) next
1596	  curl_easy_setopt_or_die(easy, CURLOPT_FTP_SSL, ftpfs.use_ssl);
(gdb) next
1598	  curl_easy_setopt_or_die(easy, CURLOPT_SSLCERT, ftpfs.cert);
(gdb) next
1599	  curl_easy_setopt_or_die(easy, CURLOPT_SSLCERTTYPE, ftpfs.cert_type);
(gdb) next
1600	  curl_easy_setopt_or_die(easy, CURLOPT_SSLKEY, ftpfs.key);
(gdb) next
1601	  curl_easy_setopt_or_die(easy, CURLOPT_SSLKEYTYPE, ftpfs.key_type);
(gdb) next
1602	  curl_easy_setopt_or_die(easy, CURLOPT_SSLKEYPASSWD, ftpfs.key_password);
(gdb) next
1604	  if (ftpfs.engine) {
(gdb) next
1609	  curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYPEER, TRUE);
(gdb) next
1610	  if (ftpfs.no_verify_peer) {
(gdb) next
1614	  if (ftpfs.cacert || ftpfs.capath) {
(gdb) next
1618	    if (ftpfs.capath) {
(gdb) next
1623	  if (ftpfs.ciphers) {
(gdb) next
1627	  if (ftpfs.no_verify_hostname) {
(gdb) next
1631	  curl_easy_setopt_or_die(easy, CURLOPT_INTERFACE, ftpfs.interface);
(gdb) next
1662	  curl_easy_setopt_or_die(easy, CURLOPT_IPRESOLVE, ftpfs.ip_version);
(gdb) next
Error setting curl: 

Breakpoint 1, __GI_exit (status=status@entry=1) at exit.c:137
137	{
(gdb) next
138	  __run_exit_handlers (status, &__exit_funcs, true, true);
(gdb) next
[Inferior 1 (process 13069) exited with code 01]

Offline

#7 2024-08-07 20:45:48

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,834

Re: Problem with curlftpfs

Perfect.

curl_easy_setopt_or_die(easy, CURLOPT_IPRESOLVE, ftpfs.ip_version);

But I don't buy that this has been withdrawn from curl or someone discarded "4" or added "8" here. Also it's the last call in that function.

Gut feeling, rebuild curlftpfs against the latest libcurl: https://wiki.archlinux.org/title/Arch_b … t_directly

Edit: feel free to try an explicit "-o ipv4" first, though.

Last edited by seth (2024-08-07 20:47:05)

Online

#8 2024-08-08 06:26:40

kionez
Member
Registered: 2012-06-08
Posts: 9

Re: Problem with curlftpfs

I try to rebuild from PKGBUILD downloaded from Arch git or using curlftpfs-ng from AUR, but without success.
Since I needed an urgent solution I am using rclone in my scripts, as soon as I have time I will try to figure out why curlftpfs doesn't work anymore with the new versions of curl.

Offline

Board footer

Powered by FluxBB