Commit Graph

327 Commits

Author SHA1 Message Date
Jerome Charaoui e4ae68e408 Bump version to 1.1.10 2019-09-10 15:47:01 -04:00
Steve Langasek 44150667f5 Ensure libraries linked are listed after objects using them
The Ubuntu toolchain uses -Wl,--as-needed by default, which causes
libraries to be dropped from the final binary if they aren't used.  For
portability, make sure that libraries are always listed on the linker
commandline /after/ the objects that reference them.
.
This also avoids passing -l options to the compiler when compiling .o files.
2019-09-09 21:04:11 -04:00
Fufu Fang f13d4bbcd3
modified: CHANGELOG.md 2019-09-04 20:00:34 +01:00
Fufu Fang bc23ee03a2
Fixed regression: LinkTable caching now works again. 2019-09-04 19:53:11 +01:00
Fufu Fang 1493190692
Improved HTTP temporary failure error handling
- Added HTTP response code for Cloudflare timeout
- Improved HTTP temporary failure error handling during LinkTable generation
- Now checked all HTTP response code in a single function
2019-09-04 18:42:59 +01:00
Fufu Fang ff67794b02
Now retry on HTTP 520 (Unknown error) 2019-09-04 17:57:15 +01:00
Fufu Fang 56e1095287
tidying stuff up 2019-09-04 17:43:30 +01:00
Fufu Fang aa4aae58b2
Added volatile into a variable, based on advice from andyhhp from SRCF.
[22:40] <andyhhp> curl_process_msgs()'s use of "static int slept" is dangerous and racy.  an optimising compiler can and probably will do bad things
[22:45] <ff266> with respect to "static int slept", should i just put a volatile in front of it? So "volatile static int slept"?
[22:46] <ff266> I meant "static volatile int slept;"
[22:47] <andyhhp> lets say yes for the sake of argument
[22:47] <andyhhp> "its complicated"
[22:47] <andyhhp> but that will broadly do what you want
2019-09-04 17:43:29 +01:00
Fufu Fang 79004cb7ee
andyhhp from SRCF told me to put "void" into functions that take no parameter. 2019-09-04 17:43:29 +01:00
Fufu Fang b6777c0478
Bugfix: No longer deadlock after encountering HTTP 429 while filling up a Linktable.
- Renamed some functions
- After initialise parse of the HTML file, files are no longer assigned as LINK_FILE. They are now assigned as LINK_UNINITIALISED_FILE.
- Link_req_file_stat() now crashes if the link type is other than LINK_UNINITIALISED_FILE.
2019-09-04 17:43:18 +01:00
Fufu Fang 367ce58e7f
change the maximum number of stack frames returned by backtrace() 2019-09-03 19:29:37 +01:00
Fufu Fang cf49bf86b8
improved LinkTable_fill() status message 2019-09-03 15:12:38 +01:00
Fufu Fang 656edbf578
improved error messages when mutex locking/unlocking fails 2019-09-03 14:59:30 +01:00
Fufu Fang c7dfa241d4
Backtrace will now be printed when the program crashes
- Note that static functions are not included in the printed backtrace.
2019-09-03 14:53:32 +01:00
Fufu Fang e971f9ab05
updated CHANGELOG.md 2019-09-03 14:04:53 +01:00
Fufu Fang 9ff099cd3a
added a status indicator when filling up the linktable 2019-09-03 14:02:41 +01:00
Fufu Fang 765f4e00d0
Updated Makefile, fixed issue #44
- When header files get changed, the relevant object will get recompiled.
2019-09-02 17:56:23 +01:00
Fufu Fang ee397d1513
Data_read() no longer gives warning messages when reaching the end of the cache file. 2019-09-02 16:51:42 +01:00
Fufu Fang 127c4ce651
updated changelog 2019-09-02 16:21:20 +01:00
Fufu Fang 4c0b7da34b
stop the background download thread from pre-fetching beyond EOF 2019-09-02 16:05:55 +01:00
Fufu Fang eb463478a8
The background download thread is being spawned again. 2019-09-02 15:47:10 +01:00
Fufu Fang 6c8a15d8cc
Fixed buffer over-read at the boundary.
- Say we are using a lock size of 1024k, we send a request for 128k at 1008k. It won't trigger the download, because we already download 1024k at 0. So it would read off from the empty disk space!
- This problem only occurs during the first time you download a file. During subsequent accesses, when you are only reading from the cache, this problem does not occur.
2019-09-02 15:19:41 +01:00
Fufu Fang 9e3e4747ae
fixed Cache_bgdl()
- Cache_bgdl() used to corrupt the cache file
2019-09-02 09:04:20 +01:00
Fufu Fang e06ea6dc06
Wrapped mutex lock / unlock functions into function rather than macro 2019-09-01 21:36:58 +01:00
Fufu Fang ed5457c76f
Bugfix: partially fixed the cache lock
- now when the same file is opened twice, the fread() output is consistent.
2019-09-01 11:39:47 +01:00
Fufu Fang 20f30a0e38
Tidied up some of the comments and formatting 2019-09-01 08:52:18 +01:00
Fufu Fang 378ca3363f
Merge branch 'master' of github.com:fangfufu/httpdirfs 2019-09-01 01:24:13 +01:00
Fufu Fang 044e3387e3
modified: CHANGELOG.md 2019-09-01 01:23:02 +01:00
Fufu Fang 1a44a4d960
Wrapped mutex locking and unlocking functions in error checking macro 2019-09-01 01:21:40 +01:00
Fufu Fang 67dc472fe6
Update CHANGELOG.md 2019-09-01 00:49:26 +01:00
Fufu Fang 55692cf511
Merge pull request #42 from fangfufu/cache_bug_fix
Cache system bug fix
2019-09-01 00:47:55 +01:00
Fufu Fang 92a9658c66
Cache system bug fix
- Now keep track of the number of times a file has been opened. The on-disk
cache file no longer gets opened multiple times, if a file is opened multiple
times.
2019-09-01 00:43:50 +01:00
Fufu Fang ef7630f9a8
Update CHANGELOG.md 2019-08-31 21:25:56 +01:00
Fufu Fang e447948762
Merge pull request #41 from fangfufu/cache_bug_fix
Directory listing performance improvement while file transfers are going on
2019-08-31 21:23:52 +01:00
Fufu Fang afb2a8fe6c
Directory listing performance improvement while file transfers are going on
- Added a LinkTable generation priority lock
- This allows LinkTable generation to be run exclusively. This
effectively gives LinkTable generation priority over file transfer.
2019-08-31 21:21:28 +01:00
Fufu Fang 1948bbd977
bump version number 2019-08-31 08:24:46 +01:00
Fufu Fang 3f7916e0ae
Update CHANGELOG.md 2019-08-31 08:24:21 +01:00
Fufu Fang f2549fb9e7
Update CHANGELOG.md 2019-08-31 08:23:22 +01:00
Fufu Fang d6fbcb4113 fixed issue #40
curl handles should NOT be added when there are transfers going on!!!
2019-08-31 08:10:36 +01:00
Jerome Charaoui a2587ca2c8 Update CHANGELOG, bump version 2019-08-30 13:10:12 -04:00
Jerome Charaoui 8f32c5b38f fix typo in manpage 2019-08-30 10:39:27 -04:00
Fufu Fang 600f3c3fe5 added more documentation 2019-08-27 10:52:46 +01:00
Fufu Fang 9a4a7b2c52 Updated README.md 2019-08-25 06:13:34 +01:00
Fufu Fang 242403098e
Update CHANGELOG.md 2019-08-24 18:18:53 +01:00
Fufu Fang 57044b6d6d Merge branch 'master' of github.com:fangfufu/httpdirfs 2019-08-24 18:14:48 +01:00
Fufu Fang 20577e516c updated README.me, suppress "-Wunused-function" in crypto lock function in network.c 2019-08-24 18:13:47 +01:00
Fufu Fang 97ecbffca0 Addressing linking error raised in issue #28
https://github.com/fangfufu/httpdirfs/issues/28#issuecomment-524497552
In Debian's GCC 9, the linker is senstive to the ordering of the
libraries and object files.
2019-08-24 17:42:06 +01:00
Fufu Fang 91f644b765
bumped version number in the man page. 2019-08-23 23:24:56 +01:00
Fufu Fang e409e816eb Merge branch 'master' of github.com:fangfufu/httpdirfs 2019-08-23 23:21:26 +01:00
Fufu Fang 23611b8b1c Version 1.1.7
- Now mutex associated debugging outputs are not compiled by default.
- Tagging version 1.1.7
2019-08-23 23:15:01 +01:00