Commit Graph

259 Commits

Author SHA1 Message Date
Jérôme Charaoui e9f60d5221
fix typo 2023-01-28 12:02:31 -05:00
Fufu Fang e6b5688e45
Modified Funkwhale sanitiser scheme 2022-11-06 23:45:13 +00:00
Fufu Fang 3acc093cdd
Merge pull request #106 from rdelaage/funkwhale_ioerror
Fix IO error with funkwhale subsonic API
2022-11-06 23:39:00 +00:00
Nathaniel Wesley Filardo 12abb7d8ad Add --cacert and --proxy-cacert
Fixes https://github.com/fangfufu/httpdirfs/issues/108
2022-11-01 02:13:27 +00:00
Nathaniel Wesley Filardo ff5f566dd9 Link_download_full: don't FREE(NULL)
It's entirely possible that `ts.data` is `NULL` on an error path, so
handing it to `FREE()`, which bails on a `NULL` argument, is not ideal.
Just pass it to `free()` instead, which is required to no-op if given
`NULL`.
2022-11-01 01:59:03 +00:00
Nathaniel Wesley Filardo 833cbf9d67 Correct error message in FREE().
`FREE()` checks for a `NULL` pointer, but generally httpdirfs does not
`NULL` out pointers it attempts to `FREE()` (or `free()`).  As such, the
error message is misleading; make it less so in a trivial way.

Possibly a better, more invasive, change would be for `FREE()` to take a
`void** pp`, check that `*p != NULL`, `free(*p)`, and then `*p = NULL;`.
Were that done, then there would be some plausibility to the current
diagnostic message.
2022-11-01 01:59:03 +00:00
Romain de Laage abef0c9406
Fix IO error with funkwhale subsonic API 2022-09-23 07:49:36 +02:00
Nathaniel Wesley Filardo 72d15ab6c7 fs_open: return EROFS for non-RO opens
The use of EACCES leads to slightly confusing error messages in
downstream consumers, so prefer EROFS to better articulate what's
actually happening.

While here, use O_RDWR to mask the open flags while testing for
non-RO access.  This is at least encouraged by POSIX with their
suggestion that "O_RDONLY | O_WRONLY == O_RDWR".
2022-06-28 15:00:48 +01:00
Nathaniel Wesley Filardo ffb2658abb getopt_long returns an int, not a char
On platforms with an unsigned char, such as Arm, this results in
always taking error paths around initialization.

Fixes https://github.com/fangfufu/httpdirfs/issues/103
2022-06-28 14:45:31 +01:00
Fufu Fang 3b25cf31ef
Merge pull request #101 from moschlar/patch-1
Fix --insecure-tls in help and README
2022-04-23 02:49:50 +01:00
Fufu Fang d2207e7a4e
fixed --version switch 2022-04-23 02:49:16 +01:00
Moritz Schlarb 4d45525c64
Update main.c 2022-04-04 15:37:36 +02:00
Fufu Fang 40c750fac9 moved the location of error string 2021-09-04 13:37:45 +01:00
Fufu Fang 67edcc906f Clean up for the master branch 2021-09-04 12:41:33 +01:00
Fufu Fang cbe8c83195 stable version for master 2021-09-04 03:15:26 +01:00
Fufu Fang ebcfb0a79e periodic backup 2021-09-04 03:00:25 +01:00
Fufu Fang 5d539c30b1 started writing the ramcache 2021-09-04 01:28:01 +01:00
Fufu Fang 939e287c87 adjusted includes 2021-09-03 21:39:31 +01:00
Fufu Fang 6819ad09e4 removed unnecessary includes 2021-09-03 21:23:52 +01:00
Fufu Fang 7c6433f0cd more refactoring 2021-09-03 17:00:32 +01:00
Fufu Fang 1efe5932cf more refactoring 2021-09-03 16:58:08 +01:00
Fufu Fang ee32ddebc9 simplified network code 2021-09-03 16:36:50 +01:00
Fufu Fang dd8d887f94 more refactoring 2021-09-03 16:29:00 +01:00
Fufu Fang d403fa339b minor refactoring 2021-09-03 15:41:22 +01:00
Fufu Fang cd6bb5bee8 more refactoring 2021-09-03 14:56:11 +01:00
Fufu Fang bc88a681e3 check return for curl_easy_setopt, also new libcurl debug level 2021-09-03 12:57:52 +01:00
Fufu Fang 08eb04fb0e refactoring - now check return code from curl_easy_getinfo 2021-09-03 12:47:48 +01:00
Fufu Fang c64a139b46 refactoring transfer_blocking 2021-09-03 12:40:35 +01:00
Fufu Fang 177b738522 removed ts_ptr from Link 2021-09-02 16:52:39 +01:00
Fufu Fang d7086c6ecf Now clear the link->cache_ptr after closing the cache 2021-09-02 16:24:55 +01:00
Fufu Fang b96ed88bec improved debug statements 2021-09-02 16:07:39 +01:00
Fufu Fang 2d42313e8f compiles, but not running properly 2021-09-02 15:36:53 +01:00
Fufu Fang 31f8509f42 moved the *sonic related fields into a separate struct 2021-09-01 21:29:13 +01:00
Fufu Fang e7f06285df improved Makefile, fixed potential memory leak at Data_create 2021-09-01 12:34:53 +01:00
Fufu Fang 86003d2b6a Meta_create() now calls fclose itself 2021-09-01 12:19:20 +01:00
Fufu Fang 464c8e4863 Merged transfer status struct and transfer data struct 2021-09-01 11:56:18 +01:00
Fufu Fang a76366c481 improved error handling in path_download 2021-09-01 11:03:27 +01:00
Fufu Fang 8f9935ee5d moved cache_opened to cache.h 2021-09-01 10:39:33 +01:00
Fufu Fang 95b86825ed Added minimum transfer size in TransferDataStruct 2021-09-01 03:53:19 +01:00
Fufu Fang 08c1eeba49 added initial debug statements 2021-08-31 21:30:24 +01:00
Fufu Fang 3c7e79089b
changed error handling for empty file 2021-08-31 18:54:58 +01:00
Fufu Fang 5e87ac92b0
Change error handling in cache.c, Updated Changelog.md 2021-08-31 18:49:49 +01:00
Fufu Fang 1e98b16602
Now prints version number at startup 2021-08-31 14:00:47 +01:00
Fufu Fang f42264d3c3
Added single file mode
Implemented feature request
https://github.com/fangfufu/httpdirfs/issues/86
2021-08-31 13:52:25 +01:00
Fufu Fang af45bcfa19
replaced strlen with strnlen 2021-08-31 12:31:02 +01:00
Fufu Fang 07603c36ba
improved log out, fixed help message output, Makefile now generates man page 2021-08-31 12:23:43 +01:00
Fufu Fang 6713362a5f
improved error handling 2021-08-31 11:59:28 +01:00
Fufu Fang 04212c3d55
added double free detection 2021-08-31 11:54:42 +01:00
Fufu Fang e02042cade
improved logging 2021-08-31 11:50:59 +01:00
Fufu Fang 45d8cb8136
changed indentation style 2021-08-31 11:18:39 +01:00