Commit Graph

51 Commits

Author SHA1 Message Date
Fufu Fang 0f3cc61875
relabelled all log outputs 2021-08-30 11:24:32 +01:00
Fufu Fang 7813487c50
improved error message, removed unnecessary locks 2021-08-30 02:50:03 +01:00
Fufu Fang 14c4b3b486
updated logging facility 2021-08-29 22:46:24 +01:00
Fufu Fang f37cdefa47
Various changes
- Rather than using a flag to indicate operating mode, now we use
a variable.
- Change log printing level names
- Change the return for Cache_exist
2021-08-29 14:07:22 +01:00
Fufu Fang 6d5267089f
improved debug messages 2021-08-22 02:26:09 +01:00
Fufu Fang 67ec1ad7e5
Separated out config.c and config.h 2021-08-22 00:51:37 +01:00
Fufu Fang 4b02980380
Added --config flag, updated CHANGELOG.md 2019-10-28 01:45:13 +00:00
Fufu Fang 5062f511bd
Finished writing the code to generate Subsonic LinkTable
- Also refactored various bits and pieces
2019-10-23 21:04:25 +01:00
Fufu Fang b7c63f4418
renamed MemoryStruct to DataStruct, removed spurious link type detection logic 2019-10-22 20:26:21 +01:00
Fufu Fang ed8452a4a3
factored out network / root link table initialisation code 2019-10-22 01:49:53 +01:00
Fufu Fang 1a9c10f783
more changes to the subsonic module
completed sonic_gen_auth_str()

completed sonic_gen_url_first_part()

change calloc to CALLOC (the wrapper function with error handling)
2019-10-21 23:12:02 +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 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 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 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 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 1a44a4d960
Wrapped mutex locking and unlocking functions in error checking macro 2019-09-01 01:21:40 +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 d6fbcb4113 fixed issue #40
curl handles should NOT be added when there are transfers going on!!!
2019-08-31 08:10:36 +01:00
Fufu Fang 600f3c3fe5 added more documentation 2019-08-27 10:52:46 +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 6aa180db5e updated some error message 2019-07-21 17:08:25 +01:00
Fufu Fang ed37aa5ca0 removed CURL_LOCK_DATA_CONNECT to solve #36 without disabling HTTP2 2019-07-21 08:41:02 +01:00
Fufu Fang 4491377f64 forces HTTP1.1 to fix issue #36 2019-07-20 19:25:25 +01:00
Fufu Fang 283520136c Closing issue #33, now set a default cache directory 2019-04-30 08:06:09 +01:00
Fufu Fang f1c7e6e97e setting CURLMOPT_MAX_HOST_CONNECTIONS just in case 2019-04-28 01:24:35 +01:00
Fufu Fang 4acf91a2b8 added --max-seg-count command line option 2019-04-27 04:52:39 +01:00
Fufu Fang ba8c7232e2 HTTP 429, LinkTable_print(), variable shadowing
changed the way HTTP 429 gets handled while querying for file stats
fixed LinkTable_print(), added variable shawdowing warning in Makefile
2019-04-27 02:42:29 +01:00
Fufu Fang 2a2ac2dce2 rewrote curl_multi_perform_once() 2019-04-27 01:53:09 +01:00
Fufu Fang 3c0a5fdf65 removed excess #include directive 2019-04-26 23:10:09 +01:00
Fufu Fang 040092b8bb improved error message during sleeping 2019-04-26 20:39:29 +01:00
Fufu Fang 7c1c1d2195 added retry-wait command line option 2019-04-26 20:37:49 +01:00
Fufu Fang 3f41aba125 remove unnecessary lock 2019-04-26 18:09:39 +01:00
Fufu Fang 39820e3814 improved performance when encountering HTTP 429 2019-04-26 16:20:01 +01:00
Fufu Fang 15cbe8a693 removed some locks 2019-04-26 14:36:54 +01:00
Fufu Fang 7d81d742d3 more error messages in curl_process_msgs() for handling HTTP 429 2019-04-26 14:25:52 +01:00
Fufu Fang 04c0499fae added HTTP 429 handling for file stat query 2019-04-26 14:14:42 +01:00
Fufu Fang 85d66adf6c added command line switch to configure user agent and the maximum number of network connections allowed 2019-04-26 11:39:03 +01:00
Fufu Fang f4fd419528 added command line option to change the number of the maximum number of network connection allowed 2019-04-26 11:27:39 +01:00
Fufu Fang 9a5f37d91f replaced strndupcat with path_append, added LinkTable_disk_*() functions 2019-04-26 07:39:45 +01:00
Fufu Fang 97ea20ef89 updated comment 2019-04-24 04:28:54 +01:00
Fufu Fang 3a0c431bba Stability improvement
Metadata corruption still occasionally happens when it gets read in.
I suspect it is due to some sort of race condition.
2019-04-24 04:28:54 +01:00
Fufu Fang 692ad3f00c Cache dataset creation is working, time write the function to fill in the cache 2019-04-24 04:27:40 +01:00
Fufu Fang b6bdf15ad1 removed a bunch of function prototypes 2019-04-24 04:27:38 +01:00
Fufu Fang d9cdc20b42 moved NETWORK_MAX_CONNS from network.h to network.c 2019-04-24 04:21:37 +01:00
Fufu Fang 7b75e1ea41 enable http pipelining, changed max connection limit to 10 2019-04-24 04:21:37 +01:00
Fufu Fang b4554233dc fixed issue #24 2019-04-24 04:21:10 +01:00