1*7304104dSAndroid Build Coastguard Worker2023-04-21 Frank Ch. Eigler <[email protected]> 2*7304104dSAndroid Build Coastguard Worker 3*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (groom): Fix -r / -X logic. 4*7304104dSAndroid Build Coastguard Worker 5*7304104dSAndroid Build Coastguard Worker2023-04-13 Frank Ch. Eigler <[email protected]> 6*7304104dSAndroid Build Coastguard Worker 7*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (archive_classify, scan_archive_file): Catch and 8*7304104dSAndroid Build Coastguard Worker propagate exceptions during archive scans. 9*7304104dSAndroid Build Coastguard Worker 10*7304104dSAndroid Build Coastguard Worker2023-03-30 Jan Alexander Steffens (heftig) <[email protected]> 11*7304104dSAndroid Build Coastguard Worker 12*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (update_atime): New function. 13*7304104dSAndroid Build Coastguard Worker (extract_section, debuginfod_query_server): Call it. 14*7304104dSAndroid Build Coastguard Worker 15*7304104dSAndroid Build Coastguard Worker2023-03-30 Jan Alexander Steffens (heftig) <[email protected]> 16*7304104dSAndroid Build Coastguard Worker 17*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Don't modify 18*7304104dSAndroid Build Coastguard Worker atime unintentionally. 19*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (extract_section, handle_buildid_r_match): Ditto. 20*7304104dSAndroid Build Coastguard Worker 21*7304104dSAndroid Build Coastguard Worker2023-03-30 Aaron Merey <[email protected]> 22*7304104dSAndroid Build Coastguard Worker 23*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Avoid sscanf on 24*7304104dSAndroid Build Coastguard Worker mixed-case component of string. 25*7304104dSAndroid Build Coastguard Worker 26*7304104dSAndroid Build Coastguard Worker2023-03-29 Jan Alexander Steffens (heftig) <[email protected]> 27*7304104dSAndroid Build Coastguard Worker 28*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): s/futimes/futimens/ 29*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (extract_section, handle_buildid_r_match): Ditto. 30*7304104dSAndroid Build Coastguard Worker 31*7304104dSAndroid Build Coastguard Worker2023-03-29 lilydjwg <[email protected]> 32*7304104dSAndroid Build Coastguard Worker 33*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Handle dl_size in 34*7304104dSAndroid Build Coastguard Worker progress to account for possible curl 8.0.1 changes to 35*7304104dSAndroid Build Coastguard Worker CURLINFO_CONTENT_LENGTH_DOWNLOAD*. 36*7304104dSAndroid Build Coastguard Worker 37*7304104dSAndroid Build Coastguard Worker2023-03-17 Aaron Merey <[email protected]> 38*7304104dSAndroid Build Coastguard Worker 39*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Do not create an 40*7304104dSAndroid Build Coastguard Worker empty file in the cache if the query was cancelled by the progressfn. 41*7304104dSAndroid Build Coastguard Worker 42*7304104dSAndroid Build Coastguard Worker2023-02-07 Aaron Merey <[email protected]> 43*7304104dSAndroid Build Coastguard Worker 44*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (cache_find_section): Avoid returning -ENOENT 45*7304104dSAndroid Build Coastguard Worker if debuginfo wasn't found. 46*7304104dSAndroid Build Coastguard Worker 47*7304104dSAndroid Build Coastguard Worker2023-02-06 Mark Wielaard <[email protected]> 48*7304104dSAndroid Build Coastguard Worker 49*7304104dSAndroid Build Coastguard Worker * debuginfod.h.in: Guard debuginfod_client typedef with 50*7304104dSAndroid Build Coastguard Worker _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF. 51*7304104dSAndroid Build Coastguard Worker 52*7304104dSAndroid Build Coastguard Worker2023-01-10 Mark Wielaard <[email protected]> 53*7304104dSAndroid Build Coastguard Worker 54*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Use 55*7304104dSAndroid Build Coastguard Worker CURL_AT_LEAST_VERSION(7.85.0) for CURLOPT_PROTOCOLS_STR. 56*7304104dSAndroid Build Coastguard Worker 57*7304104dSAndroid Build Coastguard Worker2023-01-11 Frank Ch. Eigler <[email protected]> 58*7304104dSAndroid Build Coastguard Worker 59*7304104dSAndroid Build Coastguard Worker PR29975 & PR29976 60*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (default_concurrency): New function to guess a 61*7304104dSAndroid Build Coastguard Worker reasonable default for -c/-C on large but constrained machines. 62*7304104dSAndroid Build Coastguard Worker 63*7304104dSAndroid Build Coastguard Worker2022-12-21 Mark Wielaard <[email protected]> 64*7304104dSAndroid Build Coastguard Worker 65*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c: Define CURL_AT_LEAST_VERSION. 66*7304104dSAndroid Build Coastguard Worker 67*7304104dSAndroid Build Coastguard Worker2022-12-21 Andrew Paprocki <[email protected]> 68*7304104dSAndroid Build Coastguard Worker 69*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c: Make compilable against newer curl. PR29926 70*7304104dSAndroid Build Coastguard Worker 71*7304104dSAndroid Build Coastguard Worker2022-11-15 Mark Wielaard <[email protected]> 72*7304104dSAndroid Build Coastguard Worker 73*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Initialize 74*7304104dSAndroid Build Coastguard Worker response_data early. 75*7304104dSAndroid Build Coastguard Worker 76*7304104dSAndroid Build Coastguard Worker2022-11-07 Aaron Merey <[email protected]> 77*7304104dSAndroid Build Coastguard Worker 78*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_find_section): Don't treat 0 as an 79*7304104dSAndroid Build Coastguard Worker error code. 80*7304104dSAndroid Build Coastguard Worker 81*7304104dSAndroid Build Coastguard Worker2022-11-04 Aaron Merey <[email protected]> 82*7304104dSAndroid Build Coastguard Worker 83*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_find_section): Ensure rc 84*7304104dSAndroid Build Coastguard Worker is always updated with the most recent error code. 85*7304104dSAndroid Build Coastguard Worker 86*7304104dSAndroid Build Coastguard Worker2022-11-03 Frank Ch. Eigler <[email protected]> 87*7304104dSAndroid Build Coastguard Worker 88*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid): Correctly manage lifetime 89*7304104dSAndroid Build Coastguard Worker of debuginfod_client federation callout object. 90*7304104dSAndroid Build Coastguard Worker 91*7304104dSAndroid Build Coastguard Worker2022-11-02 Mark Wielaard <[email protected]> 92*7304104dSAndroid Build Coastguard Worker 93*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (extract_section): Mark static. 94*7304104dSAndroid Build Coastguard Worker 95*7304104dSAndroid Build Coastguard Worker2022-11-01 Aaron Merey <[email protected]> 96*7304104dSAndroid Build Coastguard Worker 97*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (path_escape): Add early return. 98*7304104dSAndroid Build Coastguard Worker 99*7304104dSAndroid Build Coastguard Worker2022-10-31 Aaron Merey <[email protected]> 100*7304104dSAndroid Build Coastguard Worker 101*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdebuginfod_so_LDLIBS): Add libelf. 102*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_find_section): New function. 103*7304104dSAndroid Build Coastguard Worker (path_escape): New function. 104*7304104dSAndroid Build Coastguard Worker (extract_section): New function. 105*7304104dSAndroid Build Coastguard Worker (cache_find_section): New function. 106*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Add support for section queries. 107*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Add support for section queries. 108*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (extract_section): New function. 109*7304104dSAndroid Build Coastguard Worker (handle_buildid_f_match): Add section parameter. When non-empty, 110*7304104dSAndroid Build Coastguard Worker try to create response from section contents. 111*7304104dSAndroid Build Coastguard Worker (handle_buildid_r_match): Add section parameter. When non-empty, 112*7304104dSAndroid Build Coastguard Worker try to create response from section contents. 113*7304104dSAndroid Build Coastguard Worker (handle_buildid_match): Add section parameter. Pass to 114*7304104dSAndroid Build Coastguard Worker handle_buildid_{f,r}_match. 115*7304104dSAndroid Build Coastguard Worker (handle_buildid): Handle section name when artifacttype is set to 116*7304104dSAndroid Build Coastguard Worker "section". Query upstream servers via debuginfod_find_section 117*7304104dSAndroid Build Coastguard Worker when necessary. 118*7304104dSAndroid Build Coastguard Worker (debuginfod.h.in): Add declaration for debuginfod_find_section. 119*7304104dSAndroid Build Coastguard Worker (libdebuginfod.map): Add debuginfod_find_section. 120*7304104dSAndroid Build Coastguard Worker 121*7304104dSAndroid Build Coastguard Worker2022-10-18 Daniel Thornburgh <[email protected]> 122*7304104dSAndroid Build Coastguard Worker 123*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Add DEBUGINFOD_HEADERS_FILE 124*7304104dSAndroid Build Coastguard Worker setting to supply outgoing HTTP headers. 125*7304104dSAndroid Build Coastguard Worker 126*7304104dSAndroid Build Coastguard Worker2022-10-17 Frank Ch. Eigler <[email protected]> 127*7304104dSAndroid Build Coastguard Worker 128*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Report libmicrohttpd version. 129*7304104dSAndroid Build Coastguard Worker 130*7304104dSAndroid Build Coastguard Worker2022-09-28 Aaron Merey <[email protected]> 131*7304104dSAndroid Build Coastguard Worker 132*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Switch sign of some 133*7304104dSAndroid Build Coastguard Worker error codes from positive to negative. 134*7304104dSAndroid Build Coastguard Worker 135*7304104dSAndroid Build Coastguard Worker2022-09-08 Frank Ch. Eigler <[email protected]> 136*7304104dSAndroid Build Coastguard Worker 137*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Clear 138*7304104dSAndroid Build Coastguard Worker ->winning_headers along with ->url at the start of any new query. 139*7304104dSAndroid Build Coastguard Worker 140*7304104dSAndroid Build Coastguard Worker2022-09-08 Martin Liska <[email protected]> 141*7304104dSAndroid Build Coastguard Worker 142*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_get_headers): Add to DUMMY_LIBDEBUGINFOD. 143*7304104dSAndroid Build Coastguard Worker 144*7304104dSAndroid Build Coastguard Worker2022-09-06 Frank Ch. Eigler <[email protected]> 145*7304104dSAndroid Build Coastguard Worker 146*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (header_callback): Don't copy \r in x-d headers. 147*7304104dSAndroid Build Coastguard Worker Print all headers in verbose_fd mode. 148*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (parse_opt): Set verbose_fd only at verbosity >= 2. 149*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid): Clean up header forwarding 150*7304104dSAndroid Build Coastguard Worker string processing. 151*7304104dSAndroid Build Coastguard Worker * debuginfod.h.in: (debuginfod_get_headers): Tweak wording. 152*7304104dSAndroid Build Coastguard Worker * libdebuginfod.map: Use ELFUTILS_0.188 for new function. 153*7304104dSAndroid Build Coastguard Worker 154*7304104dSAndroid Build Coastguard Worker2022-07-15 Noah Sanci <[email protected]> 155*7304104dSAndroid Build Coastguard Worker 156*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (header_callback): Ignore headers without 157*7304104dSAndroid Build Coastguard Worker X-DEBUGINFOD prefix. 158*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Removed verbose printing headers when 159*7304104dSAndroid Build Coastguard Worker undesired. 160*7304104dSAndroid Build Coastguard Worker (debuginfod_get_headers): Created. 161*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Verbose printing headers. 162*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid): Add headers prefixed with 163*7304104dSAndroid Build Coastguard Worker X-DEBUGINFOD from federated servers to this server's response 164*7304104dSAndroid Build Coastguard Worker headers. 165*7304104dSAndroid Build Coastguard Worker * debuginfod.h.in (debuginfod_get_headers): Created. 166*7304104dSAndroid Build Coastguard Worker * libdebuginfod.map: New elfutils version added. 167*7304104dSAndroid Build Coastguard Worker 168*7304104dSAndroid Build Coastguard Worker2022-09-02 Aaron Merey <[email protected]> 169*7304104dSAndroid Build Coastguard Worker 170*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): If '-C' is given with no arg, do not 171*7304104dSAndroid Build Coastguard Worker update connection_pool since it will be done at a later point. 172*7304104dSAndroid Build Coastguard Worker (main): Use auto-sized connection_pool if '-C' isn't given with an 173*7304104dSAndroid Build Coastguard Worker arg. Do not use MHD_USE_THREAD_PER_CONNECTION. 174*7304104dSAndroid Build Coastguard Worker 175*7304104dSAndroid Build Coastguard Worker2022-08-17 Martin Liska <[email protected]> 176*7304104dSAndroid Build Coastguard Worker 177*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid): Update HTTP statistics only if 178*7304104dSAndroid Build Coastguard Worker it comes from HTTP request. 179*7304104dSAndroid Build Coastguard Worker 180*7304104dSAndroid Build Coastguard Worker2022-08-17 Martin Liska <[email protected]> 181*7304104dSAndroid Build Coastguard Worker 182*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Print filename for "cannot open archive". 183*7304104dSAndroid Build Coastguard Worker 184*7304104dSAndroid Build Coastguard Worker2022-08-15 Frank Ch. Eigler <[email protected]> 185*7304104dSAndroid Build Coastguard Worker 186*7304104dSAndroid Build Coastguard Worker PR29474 187*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid_r_match): Don't trigger false-404's 188*7304104dSAndroid Build Coastguard Worker for concurrently prefetched target files. 189*7304104dSAndroid Build Coastguard Worker 190*7304104dSAndroid Build Coastguard Worker2022-08-02 Josef Cejka <[email protected]> 191*7304104dSAndroid Build Coastguard Worker 192*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (groom): Don't evaluate regex unless needed. 193*7304104dSAndroid Build Coastguard Worker 194*7304104dSAndroid Build Coastguard Worker2022-07-29 Josef Cejka <[email protected]> 195*7304104dSAndroid Build Coastguard Worker 196*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Create db indexes for fast delete while grooming. 197*7304104dSAndroid Build Coastguard Worker 198*7304104dSAndroid Build Coastguard Worker2022-06-03 Michael Trapp <[email protected]> 199*7304104dSAndroid Build Coastguard Worker 200*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (scan_source_info): New global. 201*7304104dSAndroid Build Coastguard Worker (parse_opt, elf_classify): Use it. 202*7304104dSAndroid Build Coastguard Worker 203*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 204*7304104dSAndroid Build Coastguard Worker 205*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_clean_cache): Move utime call to 206*7304104dSAndroid Build Coastguard Worker before fts traversal. 207*7304104dSAndroid Build Coastguard Worker 208*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 209*7304104dSAndroid Build Coastguard Worker 210*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_init_cache): Remove. 211*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Don't call debuginfod_init_cache, call 212*7304104dSAndroid Build Coastguard Worker mkdir then debuginfod_clean_cache. 213*7304104dSAndroid Build Coastguard Worker 214*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 215*7304104dSAndroid Build Coastguard Worker 216*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_config_cache): Always open with 217*7304104dSAndroid Build Coastguard Worker O_CREATE first, then use fstat, only write the cache_config_default_s 218*7304104dSAndroid Build Coastguard Worker value if st_size == 0, otherwise read value from file. 219*7304104dSAndroid Build Coastguard Worker 220*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 221*7304104dSAndroid Build Coastguard Worker 222*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (conninfo): Always provide servname to getnameinfo. 223*7304104dSAndroid Build Coastguard Worker 224*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 225*7304104dSAndroid Build Coastguard Worker 226*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Add 227*7304104dSAndroid Build Coastguard Worker curl_easy_setopt_ck macro, use it for all curl_easy_setopt calls. 228*7304104dSAndroid Build Coastguard Worker 229*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 230*7304104dSAndroid Build Coastguard Worker 231*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_write_callback): Check result 232*7304104dSAndroid Build Coastguard Worker of curl_easy_getinfo. 233*7304104dSAndroid Build Coastguard Worker 234*7304104dSAndroid Build Coastguard Worker2022-05-05 Mark Wielaard <[email protected]> 235*7304104dSAndroid Build Coastguard Worker 236*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Define use_epoll. Set to MHD_USE_EPOLL 237*7304104dSAndroid Build Coastguard Worker based on MHD_VERSION. Don't use MHD_USE_THREAD_PER_CONNECTION 238*7304104dSAndroid Build Coastguard Worker when use_poll is set. 239*7304104dSAndroid Build Coastguard Worker 240*7304104dSAndroid Build Coastguard Worker2022-05-05 Mark Wielaard <[email protected]> 241*7304104dSAndroid Build Coastguard Worker 242*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Define mhd_flags. Use mhd_flags for 243*7304104dSAndroid Build Coastguard Worker MHD_start_daemon. Try again with MHD_USE_DUAL_STACK removed if 244*7304104dSAndroid Build Coastguard Worker that fails. Update clog to say either IPV4 or IPV4 and IPV6. 245*7304104dSAndroid Build Coastguard Worker stop either ithe d46 or d4 daemonr. 246*7304104dSAndroid Build Coastguard Worker 247*7304104dSAndroid Build Coastguard Worker2022-05-09 Noah Sanci <[email protected]> 248*7304104dSAndroid Build Coastguard Worker 249*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Set nonzero defaults for fdcache. 250*7304104dSAndroid Build Coastguard Worker 251*7304104dSAndroid Build Coastguard Worker2022-05-04 Frank Ch. Eigler <[email protected]> 252*7304104dSAndroid Build Coastguard Worker Mark Wielaard <[email protected]> 253*7304104dSAndroid Build Coastguard Worker 254*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Correct fd leak 255*7304104dSAndroid Build Coastguard Worker for cache negative-hit unlink case. 256*7304104dSAndroid Build Coastguard Worker (debuginfod_config_cache, debuginfod_init_cache): Correct 257*7304104dSAndroid Build Coastguard Worker minor fd leaks. 258*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Ditto. 259*7304104dSAndroid Build Coastguard Worker 260*7304104dSAndroid Build Coastguard Worker2022-04-22 Mark Wielaard <[email protected]> 261*7304104dSAndroid Build Coastguard Worker 262*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdebuginfod): Add -lpthread. 263*7304104dSAndroid Build Coastguard Worker (libdebuginfod_so_LDLIBS): Likewise. 264*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (init_control): New static pthread_once_t. 265*7304104dSAndroid Build Coastguard Worker (libcurl_init): New static function. 266*7304104dSAndroid Build Coastguard Worker (debuginfod_begin): Use ptrace_once to call libcurl_init. 267*7304104dSAndroid Build Coastguard Worker (libdebuginfod_ctor): Removed. 268*7304104dSAndroid Build Coastguard Worker (libdebuginfod_dtor): Likewise. 269*7304104dSAndroid Build Coastguard Worker 270*7304104dSAndroid Build Coastguard Worker2022-04-24 Mark Wielaard <[email protected]> 271*7304104dSAndroid Build Coastguard Worker 272*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Add MHD_USE_ITC to MHD_start_daemon flags. 273*7304104dSAndroid Build Coastguard Worker 274*7304104dSAndroid Build Coastguard Worker2022-04-13 Aaron Merey <[email protected]> 275*7304104dSAndroid Build Coastguard Worker 276*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): 277*7304104dSAndroid Build Coastguard Worker Drop st_mode check. Add st_size > 0 check. 278*7304104dSAndroid Build Coastguard Worker Save target_mtime before calling 279*7304104dSAndroid Build Coastguard Worker debuginfod_config_cache. unlink target_cache_path 280*7304104dSAndroid Build Coastguard Worker on EACCESS. Create target_cache_path with DEFFILEMODE. 281*7304104dSAndroid Build Coastguard Worker 282*7304104dSAndroid Build Coastguard Worker2022-04-03 Frank Ch. Eigler <[email protected]> 283*7304104dSAndroid Build Coastguard Worker 284*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Use single dual-stack daemon setup, 285*7304104dSAndroid Build Coastguard Worker rather than duplicate ipv4 and ipv6. 286*7304104dSAndroid Build Coastguard Worker (conninfo, handle_buildid): Represent ipv4-mapped ipv6 addresses 287*7304104dSAndroid Build Coastguard Worker in their native ipv4 form for logging and X-F-F: purposes. 288*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_add_http_header): Tolerate 289*7304104dSAndroid Build Coastguard Worker colons in http header values. 290*7304104dSAndroid Build Coastguard Worker 291*7304104dSAndroid Build Coastguard Worker2022-04-03 Frank Ch. Eigler <[email protected]> 292*7304104dSAndroid Build Coastguard Worker 293*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Use MHD_USE_EPOLL for libmicrohttpd, to 294*7304104dSAndroid Build Coastguard Worker encourage more round-robin dispatch of incoming connections. 295*7304104dSAndroid Build Coastguard Worker 296*7304104dSAndroid Build Coastguard Worker2021-12-09 Alexander Kanavin <[email protected]> 297*7304104dSAndroid Build Coastguard Worker 298*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (cache_clean_default_interval_s): Change type to 299*7304104dSAndroid Build Coastguard Worker long from time_t. 300*7304104dSAndroid Build Coastguard Worker (cache_miss_default_s): Likewise. 301*7304104dSAndroid Build Coastguard Worker (cache_default_max_unused_age_s): Likewise. 302*7304104dSAndroid Build Coastguard Worker 303*7304104dSAndroid Build Coastguard Worker2021-12-09 Mark Wielaard <[email protected]> 304*7304104dSAndroid Build Coastguard Worker 305*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (database_stats_report): Don't format clog 306*7304104dSAndroid Build Coastguard Worker using 'right' and 'setw(20)'. 307*7304104dSAndroid Build Coastguard Worker 308*7304104dSAndroid Build Coastguard Worker2021-12-08 Frank Ch. Eigler <[email protected]> 309*7304104dSAndroid Build Coastguard Worker 310*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (connection_pool): New global. 311*7304104dSAndroid Build Coastguard Worker (parse_opt): Parse & check -C option to set it. 312*7304104dSAndroid Build Coastguard Worker (error_cb): New callback for libmicrohttpd error counting. 313*7304104dSAndroid Build Coastguard Worker (main): Activate MHD_OPTION_THREAD_POOL_SIZE if appropriate. 314*7304104dSAndroid Build Coastguard Worker Activate error_cb. 315*7304104dSAndroid Build Coastguard Worker 316*7304104dSAndroid Build Coastguard Worker2021-12-04 Mark Wielaard <[email protected]> 317*7304104dSAndroid Build Coastguard Worker 318*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Call debuginfod_pool_groom before exit. 319*7304104dSAndroid Build Coastguard Worker 320*7304104dSAndroid Build Coastguard Worker2021-12-08 Mark Wielaard <[email protected]> 321*7304104dSAndroid Build Coastguard Worker 322*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (add_mhd_response_header): New function. 323*7304104dSAndroid Build Coastguard Worker (reportable_exception::mhd_send_response): Call 324*7304104dSAndroid Build Coastguard Worker MHD_add_response_header. 325*7304104dSAndroid Build Coastguard Worker (add_mhd_last_modified): Likewise. 326*7304104dSAndroid Build Coastguard Worker (handle_buildid_f_match): Likewise. 327*7304104dSAndroid Build Coastguard Worker (handle_buildid_r_match): Likewise. 328*7304104dSAndroid Build Coastguard Worker (handle_metrics): Likewise. And check MHD_Response was actually 329*7304104dSAndroid Build Coastguard Worker created. 330*7304104dSAndroid Build Coastguard Worker (handle_root): Likewise. 331*7304104dSAndroid Build Coastguard Worker 332*7304104dSAndroid Build Coastguard Worker2021-12-08 Frank Ch. Eigler <[email protected]> 333*7304104dSAndroid Build Coastguard Worker 334*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (intern): Call set_metrics() holding the fdcache mutex. 335*7304104dSAndroid Build Coastguard Worker 336*7304104dSAndroid Build Coastguard Worker2021-12-04 Mark Wielaard <[email protected]> 337*7304104dSAndroid Build Coastguard Worker 338*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Free winning_headers. 339*7304104dSAndroid Build Coastguard Worker Reset response_data_size when clearing response_data. 340*7304104dSAndroid Build Coastguard Worker 341*7304104dSAndroid Build Coastguard Worker2021-12-01 Mark Wielaard <[email protected]> 342*7304104dSAndroid Build Coastguard Worker 343*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Free tmp_url on 344*7304104dSAndroid Build Coastguard Worker realloc error. curl_free escaped_string on error. Fix error out 345*7304104dSAndroid Build Coastguard Worker goto on curl_easy_init failure. Only cleanup data[i] handle and 346*7304104dSAndroid Build Coastguard Worker response_data if it was initialized. 347*7304104dSAndroid Build Coastguard Worker 348*7304104dSAndroid Build Coastguard Worker2021-12-01 Mark Wielaard <[email protected]> 349*7304104dSAndroid Build Coastguard Worker 350*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (timestamp): Use gmtime_r instead of gmtime. 351*7304104dSAndroid Build Coastguard Worker (add_mhd_last_modified): Likewise. 352*7304104dSAndroid Build Coastguard Worker 353*7304104dSAndroid Build Coastguard Worker2021-11-10 Érico N. Rolim <[email protected]> 354*7304104dSAndroid Build Coastguard Worker 355*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: include "system.h" under 'extern "C"' block. 356*7304104dSAndroid Build Coastguard Worker 357*7304104dSAndroid Build Coastguard Worker2021-11-05 Frank Ch. Eigler <[email protected]> 358*7304104dSAndroid Build Coastguard Worker 359*7304104dSAndroid Build Coastguard Worker PR28430 360*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): Add "--passive" flag. Complain 361*7304104dSAndroid Build Coastguard Worker about inconsistent flags. 362*7304104dSAndroid Build Coastguard Worker (main): In passive mode, suppress scan/groom/traverse threads and 363*7304104dSAndroid Build Coastguard Worker other read-write database ops. 364*7304104dSAndroid Build Coastguard Worker 365*7304104dSAndroid Build Coastguard Worker2021-11-04 Frank Ch. Eigler <[email protected]> 366*7304104dSAndroid Build Coastguard Worker 367*7304104dSAndroid Build Coastguard Worker PR28514 368*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (groom): Rework into separate decision/action 369*7304104dSAndroid Build Coastguard Worker phases. Add new metrics to monitor progress. Limit indefinite 370*7304104dSAndroid Build Coastguard Worker operation times to avoid starving rescan. 371*7304104dSAndroid Build Coastguard Worker 372*7304104dSAndroid Build Coastguard Worker2021-10-23 Frank Ch. Eigler <[email protected]> 373*7304104dSAndroid Build Coastguard Worker 374*7304104dSAndroid Build Coastguard Worker PR28240 375*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Correct 376*7304104dSAndroid Build Coastguard Worker negative-hit cache check sequence for root user. 377*7304104dSAndroid Build Coastguard Worker 378*7304104dSAndroid Build Coastguard Worker2021-10-15 Mark Wielaard <[email protected]> 379*7304104dSAndroid Build Coastguard Worker 380*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Set 381*7304104dSAndroid Build Coastguard Worker CURLOPT_PROTOCOLS. 382*7304104dSAndroid Build Coastguard Worker 383*7304104dSAndroid Build Coastguard Worker2021-10-06 Di Chen <[email protected]> 384*7304104dSAndroid Build Coastguard Worker 385*7304104dSAndroid Build Coastguard Worker PR28242 386*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (inc_metrics, add_metrics): Add two-tag variants. 387*7304104dSAndroid Build Coastguard Worker (handler_cb): Call it with artifacttype for http_responses_* metrics. 388*7304104dSAndroid Build Coastguard Worker (handle_buildid): Sanitize artifacttype if necessary. 389*7304104dSAndroid Build Coastguard Worker (dwarf_extract_source_path): Pass sanitizable string param. 390*7304104dSAndroid Build Coastguard Worker 391*7304104dSAndroid Build Coastguard Worker2021-09-17 Noah Sanci <[email protected]> 392*7304104dSAndroid Build Coastguard Worker 393*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): curl_multi_perform 394*7304104dSAndroid Build Coastguard Worker now occurs before checking if response headers have arrived. 395*7304104dSAndroid Build Coastguard Worker 396*7304104dSAndroid Build Coastguard Worker2021-09-14 Frank Ch. Eigler <[email protected]> 397*7304104dSAndroid Build Coastguard Worker 398*7304104dSAndroid Build Coastguard Worker PRPR28339 399*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (waitq::fronters): New field. 400*7304104dSAndroid Build Coastguard Worker (waitq::wait_idle): Respect it. 401*7304104dSAndroid Build Coastguard Worker (waitq::done_front): New function. 402*7304104dSAndroid Build Coastguard Worker (thread_main_scanner): Call it to match wait_front(). 403*7304104dSAndroid Build Coastguard Worker 404*7304104dSAndroid Build Coastguard Worker2021-09-12 Mark Wielaard <[email protected]> 405*7304104dSAndroid Build Coastguard Worker 406*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (libarchive_fdcache::lookup): Add endl after 407*7304104dSAndroid Build Coastguard Worker obatched(clog) line. 408*7304104dSAndroid Build Coastguard Worker2021-09-13 Noah Sanci <[email protected]> 409*7304104dSAndroid Build Coastguard Worker 410*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Removed constant 411*7304104dSAndroid Build Coastguard Worker operations from a loop. curl_free memory. 412*7304104dSAndroid Build Coastguard Worker 413*7304104dSAndroid Build Coastguard Worker2021-09-06 Dmitry V. Levin <[email protected]> 414*7304104dSAndroid Build Coastguard Worker 415*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_begin): Remove cast of calloc return 416*7304104dSAndroid Build Coastguard Worker value. 417*7304104dSAndroid Build Coastguard Worker 418*7304104dSAndroid Build Coastguard Worker2021-08-28 Mark Wielaard <[email protected]> 419*7304104dSAndroid Build Coastguard Worker 420*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): Turn the -d arg ":memory:" into 421*7304104dSAndroid Build Coastguard Worker "file::memory:?cache=shared" for the db_path. 422*7304104dSAndroid Build Coastguard Worker 423*7304104dSAndroid Build Coastguard Worker2021-08-20 Di Chen <[email protected]> 424*7304104dSAndroid Build Coastguard Worker 425*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (options): Add ARGP_KEY_FORWARDED_TTL_LIMIT. 426*7304104dSAndroid Build Coastguard Worker (forwarded_ttl_limit): New static unsigned. 427*7304104dSAndroid Build Coastguard Worker (parse_opt): Handle ARGP_KEY_FORWARDED_TTL_LIMIT. 428*7304104dSAndroid Build Coastguard Worker (handle_buildid): Check forwarded_ttl_limit. 429*7304104dSAndroid Build Coastguard Worker (main): Log forwarded ttl limit. 430*7304104dSAndroid Build Coastguard Worker 431*7304104dSAndroid Build Coastguard Worker2021-08-20 Saleem Abdulrasool <[email protected]> 432*7304104dSAndroid Build Coastguard Worker 433*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Remove error.h include. 434*7304104dSAndroid Build Coastguard Worker 435*7304104dSAndroid Build Coastguard Worker2021-08-19 Frank Ch. Eigler <[email protected]> 436*7304104dSAndroid Build Coastguard Worker 437*7304104dSAndroid Build Coastguard Worker PR28249 438*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handler_cb): Fix after_you unique_set key 439*7304104dSAndroid Build Coastguard Worker to the entire incoming URL. 440*7304104dSAndroid Build Coastguard Worker 441*7304104dSAndroid Build Coastguard Worker2021-08-02 Noah Sanci <[email protected]> 442*7304104dSAndroid Build Coastguard Worker 443*7304104dSAndroid Build Coastguard Worker PR27277 444*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (struct debuginfod_client): New field 445*7304104dSAndroid Build Coastguard Worker winning_headers. 446*7304104dSAndroid Build Coastguard Worker (struct handle_data): New field response_data, response_data_size. 447*7304104dSAndroid Build Coastguard Worker (header_callback): Store received headers in response_data. 448*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Activate CURLOPT_HEADERFUNCTION. 449*7304104dSAndroid Build Coastguard Worker Save winning response_data. 450*7304104dSAndroid Build Coastguard Worker (debuginfod_end): free client winning headers. 451*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid_f_match): remove X-DEBUGINFOD-FILE 452*7304104dSAndroid Build Coastguard Worker path. Add X-DEBUGINFOD-FILE and X-DEBUGINFOD-SIZE headers. 453*7304104dSAndroid Build Coastguard Worker (handle_buildid_r_match): remove X-DEBUGINFOD-FILE path. Add 454*7304104dSAndroid Build Coastguard Worker X-DEBUGINFOD-FILE, X-DEBUGINFOD-SIZE 455*7304104dSAndroid Build Coastguard Worker headers, and X-ARCHIVE headers. 456*7304104dSAndroid Build Coastguard Worker 457*7304104dSAndroid Build Coastguard Worker2021-07-26 Noah Sanci <[email protected]> 458*7304104dSAndroid Build Coastguard Worker 459*7304104dSAndroid Build Coastguard Worker PR27982 460*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (globals): added default_maxsize and 461*7304104dSAndroid Build Coastguard Worker default_maxtime. 462*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Added DEBUGINFOD_MAXSIZE and 463*7304104dSAndroid Build Coastguard Worker DEBUGINFOD_MAXTIME envvar processing. 464*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handler_cb): If the requested file exceeds 465*7304104dSAndroid Build Coastguard Worker maxsize return code 406. 466*7304104dSAndroid Build Coastguard Worker * debuginfod.h.in: Added DEBUGINFOD_MAXSIZE_ENV_VAR and 467*7304104dSAndroid Build Coastguard Worker DEBUGINFOD_MAXTIME_ENV_VAR. 468*7304104dSAndroid Build Coastguard Worker 469*7304104dSAndroid Build Coastguard Worker2021-07-16 Noah Sanci <[email protected]> 470*7304104dSAndroid Build Coastguard Worker 471*7304104dSAndroid Build Coastguard Worker PR28034 472*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): % escape filename 473*7304104dSAndroid Build Coastguard Worker so the completed url is processed properly. 474*7304104dSAndroid Build Coastguard Worker 475*7304104dSAndroid Build Coastguard Worker2021-06-28 Noah Sanci <[email protected]> 476*7304104dSAndroid Build Coastguard Worker 477*7304104dSAndroid Build Coastguard Worker PR25978 478*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (options): Added --fdcache-prefetch-fds/mbs options. 479*7304104dSAndroid Build Coastguard Worker (set_metric): Added a condition for fdcache_mintmp to ensure no 480*7304104dSAndroid Build Coastguard Worker negative percentages or percentages larger than 100% are given. 481*7304104dSAndroid Build Coastguard Worker (globals): Added fdcache_prefetch_mbs/fdcache_prefetch_fds. 482*7304104dSAndroid Build Coastguard Worker (set_metrics): Differentiate between lru and prefetch metrics. 483*7304104dSAndroid Build Coastguard Worker (intern): Added prefetch functionality for nuking preexisting copies 484*7304104dSAndroid Build Coastguard Worker and incrementing prefetch metrics. 485*7304104dSAndroid Build Coastguard Worker (lookup): Search prefetch cache and increment associated metrics. Upon 486*7304104dSAndroid Build Coastguard Worker finding in the prefetch cache move the element to the lru cache. 487*7304104dSAndroid Build Coastguard Worker (limit): Arguments updated. Update size of prefetch cache. 488*7304104dSAndroid Build Coastguard Worker (main): Log prefetch and cache fds/mbs 489*7304104dSAndroid Build Coastguard Worker 490*7304104dSAndroid Build Coastguard Worker2021-07-06 Alice Zhang <[email protected]> 491*7304104dSAndroid Build Coastguard Worker 492*7304104dSAndroid Build Coastguard Worker PR27531 493*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Retry failed queries 494*7304104dSAndroid Build Coastguard Worker if error code is not ENOENT. 495*7304104dSAndroid Build Coastguard Worker * debuginfod.h.in: Introduce DEBUGINFOD_RETRY_LIMIT_ENV_VAR. 496*7304104dSAndroid Build Coastguard Worker 497*7304104dSAndroid Build Coastguard Worker2021-07-01 Noah Sanci <[email protected]> 498*7304104dSAndroid Build Coastguard Worker 499*7304104dSAndroid Build Coastguard Worker PR27711 500*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (options): Add --regex-groom, -r option. 501*7304104dSAndroid Build Coastguard Worker (regex_groom): New static bool defaults to false. 502*7304104dSAndroid Build Coastguard Worker (parse_opt): Handle 'r' option by setting regex_groom to true. 503*7304104dSAndroid Build Coastguard Worker (groom): Introduce and use reg_include and reg_exclude. 504*7304104dSAndroid Build Coastguard Worker 505*7304104dSAndroid Build Coastguard Worker2021-07-09 Noah Sanci <[email protected]> 506*7304104dSAndroid Build Coastguard Worker 507*7304104dSAndroid Build Coastguard Worker PR27983 508*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): As full-length 509*7304104dSAndroid Build Coastguard Worker urls are generated with standardized formats, ignore duplicates. 510*7304104dSAndroid Build Coastguard Worker Created out1 and changed out2 error gotos. Updated url creation print 511*7304104dSAndroid Build Coastguard Worker statements. 512*7304104dSAndroid Build Coastguard Worker (globals): Removed url_delim_char, as it was no longer used. 513*7304104dSAndroid Build Coastguard Worker 514*7304104dSAndroid Build Coastguard Worker2021-06-18 Mark Wielaard <[email protected]> 515*7304104dSAndroid Build Coastguard Worker 516*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_begin): Don't use client if 517*7304104dSAndroid Build Coastguard Worker calloc call failed. 518*7304104dSAndroid Build Coastguard Worker 519*7304104dSAndroid Build Coastguard Worker2021-06-03 Frank Ch. Eigler <[email protected]> 520*7304104dSAndroid Build Coastguard Worker 521*7304104dSAndroid Build Coastguard Worker PR27863 522*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (unique_set, unique_set_reserver): New classes. 523*7304104dSAndroid Build Coastguard Worker (handler_cb): Use them to implement "after-you" queueing. 524*7304104dSAndroid Build Coastguard Worker 525*7304104dSAndroid Build Coastguard Worker2021-05-14 Frank Ch. Eigler <[email protected]> 526*7304104dSAndroid Build Coastguard Worker 527*7304104dSAndroid Build Coastguard Worker PR27859 528*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_client): Retain only 529*7304104dSAndroid Build Coastguard Worker long-lived multi handle from PR27701 work. 530*7304104dSAndroid Build Coastguard Worker (debuginfo_begin,debuginfod_end): ctor/dtor for surviving field only. 531*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Rework to reuse multi handle only. 532*7304104dSAndroid Build Coastguard Worker 533*7304104dSAndroid Build Coastguard Worker2021-04-19 Martin Liska <[email protected]> 534*7304104dSAndroid Build Coastguard Worker 535*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Use startswith. 536*7304104dSAndroid Build Coastguard Worker (debuginfod_add_http_header): Likewise. 537*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Likewise. 538*7304104dSAndroid Build Coastguard Worker 539*7304104dSAndroid Build Coastguard Worker2021-05-04 Alice Zhang <[email protected]> 540*7304104dSAndroid Build Coastguard Worker 541*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (cache_miss_default_s): New static time_t, 542*7304104dSAndroid Build Coastguard Worker defaults to 600 (10 minutes). 543*7304104dSAndroid Build Coastguard Worker (cache_miss_filename): New static char pointer. 544*7304104dSAndroid Build Coastguard Worker (debuginfod_config_cache): New static function. 545*7304104dSAndroid Build Coastguard Worker (debuginfod_clean_cache): Use debuginfod_config_cache for 546*7304104dSAndroid Build Coastguard Worker interval_path and max_unused_path. 547*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Check whether target_cache_path exists 548*7304104dSAndroid Build Coastguard Worker as negative cache file and create target_cache_path when the server 549*7304104dSAndroid Build Coastguard Worker returns ENOENT. Check cache_miss_path fir cache miss time. 550*7304104dSAndroid Build Coastguard Worker 551*7304104dSAndroid Build Coastguard Worker2021-04-26 Frank Ch. Eigler <[email protected]> 552*7304104dSAndroid Build Coastguard Worker 553*7304104dSAndroid Build Coastguard Worker PR27571 554*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Chmod 0400 files 555*7304104dSAndroid Build Coastguard Worker delivered into the cache to prevent accidental modification. 556*7304104dSAndroid Build Coastguard Worker 557*7304104dSAndroid Build Coastguard Worker2021-04-26 Frank Ch. Eigler <[email protected]> 558*7304104dSAndroid Build Coastguard Worker 559*7304104dSAndroid Build Coastguard Worker PR26125 560*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_clean_cache): For directory 561*7304104dSAndroid Build Coastguard Worker rmdir, check mtime first. 562*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Try mkdir / mkstemp up to twice, 563*7304104dSAndroid Build Coastguard Worker in case of race. 564*7304104dSAndroid Build Coastguard Worker 565*7304104dSAndroid Build Coastguard Worker2021-04-23 Frank Ch. Eigler <[email protected]> 566*7304104dSAndroid Build Coastguard Worker 567*7304104dSAndroid Build Coastguard Worker PR27701 568*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (struct debuginfod_client): Add long-lived 569*7304104dSAndroid Build Coastguard Worker CURL easy and multi handles. 570*7304104dSAndroid Build Coastguard Worker (debuginfo_begin,debuginfod_end): ctor/dtor for these. 571*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Rework to reuse easy & multi handles. 572*7304104dSAndroid Build Coastguard Worker (*_envvar): Just use the DEBUGINFOD_*_ENV_VAR directly instead. 573*7304104dSAndroid Build Coastguard Worker 574*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (dc_pool): New pile of reusable debuginfod_client 575*7304104dSAndroid Build Coastguard Worker objects for upstream federation connections. 576*7304104dSAndroid Build Coastguard Worker (debuginfod_pool_{begin,end,groom}): New functions. 577*7304104dSAndroid Build Coastguard Worker (handle_buildid): Use them. 578*7304104dSAndroid Build Coastguard Worker (handler_cb): Fix keep-alive given libmicrohttpd convention of multiple 579*7304104dSAndroid Build Coastguard Worker callbacks. 580*7304104dSAndroid Build Coastguard Worker 581*7304104dSAndroid Build Coastguard Worker2021-04-15 Frank Ch. Eigler <[email protected]> 582*7304104dSAndroid Build Coastguard Worker 583*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (groom): Only update database stats once. 584*7304104dSAndroid Build Coastguard Worker 585*7304104dSAndroid Build Coastguard Worker2021-04-15 Frank Ch. Eigler <[email protected]> 586*7304104dSAndroid Build Coastguard Worker 587*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (elf_classify): Recognize symtab-only stripped files 588*7304104dSAndroid Build Coastguard Worker like fedora's libicudata as debuginfo files. 589*7304104dSAndroid Build Coastguard Worker 590*7304104dSAndroid Build Coastguard Worker2021-03-30 Frank Ch. Eigler <[email protected]> 591*7304104dSAndroid Build Coastguard Worker 592*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main): Set child thread names. 593*7304104dSAndroid Build Coastguard Worker 594*7304104dSAndroid Build Coastguard Worker2021-03-07 Timm Bäder <[email protected]> 595*7304104dSAndroid Build Coastguard Worker 596*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Tweak 597*7304104dSAndroid Build Coastguard Worker double/long clamping arithmetic to avoid UB and warnings. 598*7304104dSAndroid Build Coastguard Worker 599*7304104dSAndroid Build Coastguard Worker2021-02-25 Frank Ch. Eigler <[email protected]> 600*7304104dSAndroid Build Coastguard Worker 601*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handler_cb): Filter webapi for bad 602*7304104dSAndroid Build Coastguard Worker artifacttype keywords early for metric hygiene. 603*7304104dSAndroid Build Coastguard Worker 604*7304104dSAndroid Build Coastguard Worker2021-02-14 Frank Ch. Eigler <[email protected]> 605*7304104dSAndroid Build Coastguard Worker 606*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (main -U): Use bsdtar unconditionally. Also map 607*7304104dSAndroid Build Coastguard Worker the debian-compatible .ipk (openembedded distro family) to same. 608*7304104dSAndroid Build Coastguard Worker 609*7304104dSAndroid Build Coastguard Worker2021-02-04 Frank Ch. Eigler <[email protected]> 610*7304104dSAndroid Build Coastguard Worker 611*7304104dSAndroid Build Coastguard Worker PR27092 low-memory handling 612*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (fdcache_mintmp): New parameter, with cmd-line option. 613*7304104dSAndroid Build Coastguard Worker (parse_opt): Parse it. 614*7304104dSAndroid Build Coastguard Worker (main): Default it. 615*7304104dSAndroid Build Coastguard Worker (statfs_free_enough_p): New function. 616*7304104dSAndroid Build Coastguard Worker (libarchive_fdcache::*): Call it to trigger emergency fdcache flush. 617*7304104dSAndroid Build Coastguard Worker (thread_main_scanner): Call it to report filesystem fullness metrics. 618*7304104dSAndroid Build Coastguard Worker (groom): Ditto. 619*7304104dSAndroid Build Coastguard Worker (set/add_metric): Take double rather than int64_t values. 620*7304104dSAndroid Build Coastguard Worker (archive_exception): Propagate suberror to metric label. 621*7304104dSAndroid Build Coastguard Worker (main): Detect pthread creation fatal errors properly. 622*7304104dSAndroid Build Coastguard Worker 623*7304104dSAndroid Build Coastguard Worker2021-02-02 Frank Ch. Eigler <[email protected]> 624*7304104dSAndroid Build Coastguard Worker 625*7304104dSAndroid Build Coastguard Worker PR27323 626*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (dbq): New read-only database connection for queries 627*7304104dSAndroid Build Coastguard Worker only. 628*7304104dSAndroid Build Coastguard Worker (signal_handler): Interrupt it. 629*7304104dSAndroid Build Coastguard Worker (main): Open / close it. 630*7304104dSAndroid Build Coastguard Worker (handle_buildid): Use it for webapi queries only. 631*7304104dSAndroid Build Coastguard Worker (database_stats_report): Make more interruptible. Report sqlite3 632*7304104dSAndroid Build Coastguard Worker operation times to the prometheus metrics. 633*7304104dSAndroid Build Coastguard Worker (groom): Make more interruptible. 634*7304104dSAndroid Build Coastguard Worker (thread_main_fts_source_paths, thread_main_groom): Ensure 635*7304104dSAndroid Build Coastguard Worker state/progress metrics are fresh even in case of exceptions. 636*7304104dSAndroid Build Coastguard Worker 637*7304104dSAndroid Build Coastguard Worker2020-12-20 Dmitry V. Levin <[email protected]> 638*7304104dSAndroid Build Coastguard Worker 639*7304104dSAndroid Build Coastguard Worker * .gitignore: New file. 640*7304104dSAndroid Build Coastguard Worker 641*7304104dSAndroid Build Coastguard Worker2020-12-12 Dmitry V. Levin <[email protected]> 642*7304104dSAndroid Build Coastguard Worker 643*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Fix spelling typos in 644*7304104dSAndroid Build Coastguard Worker comments. 645*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Likewise. 646*7304104dSAndroid Build Coastguard Worker (parse_opt): Fix spelling typos in error diagnostics. 647*7304104dSAndroid Build Coastguard Worker 648*7304104dSAndroid Build Coastguard Worker2020-12-08 Dmitry V. Levin <[email protected]> 649*7304104dSAndroid Build Coastguard Worker 650*7304104dSAndroid Build Coastguard Worker * Makefile.am [LIBDEBUGINFOD]: Create libdebuginfod.so.1 first, turn 651*7304104dSAndroid Build Coastguard Worker libdebuginfod.so into symlink. 652*7304104dSAndroid Build Coastguard Worker 653*7304104dSAndroid Build Coastguard Worker2020-11-30 Dmitry V. Levin <[email protected]> 654*7304104dSAndroid Build Coastguard Worker 655*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdebuginfod.so): Replace $@.$(VERSION) with 656*7304104dSAndroid Build Coastguard Worker $(LIBDEBUGINFOD_SONAME). 657*7304104dSAndroid Build Coastguard Worker (install, uninstall, MOSTLYCLEANFILES): Replace 658*7304104dSAndroid Build Coastguard Worker libdebuginfod.so.$(VERSION) with $(LIBDEBUGINFOD_SONAME). 659*7304104dSAndroid Build Coastguard Worker (VERSION): Remove. 660*7304104dSAndroid Build Coastguard Worker * debuginfod.h: Rename to ... 661*7304104dSAndroid Build Coastguard Worker * debuginfod.h.in ... this. 662*7304104dSAndroid Build Coastguard Worker (DEBUGINFOD_SONAME): New macro. 663*7304104dSAndroid Build Coastguard Worker 664*7304104dSAndroid Build Coastguard Worker2020-11-30 Dmitry V. Levin <[email protected]> 665*7304104dSAndroid Build Coastguard Worker 666*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdebuginfod.so$(EXEEXT)): Drop $(EXEEXT) suffix. 667*7304104dSAndroid Build Coastguard Worker 668*7304104dSAndroid Build Coastguard Worker2020-11-25 Frank Ch. Eigler <[email protected]> 669*7304104dSAndroid Build Coastguard Worker 670*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (step_ok_done): Correct typo in prom metric label. 671*7304104dSAndroid Build Coastguard Worker 672*7304104dSAndroid Build Coastguard Worker2020-11-25 Frank Ch. Eigler <[email protected]> 673*7304104dSAndroid Build Coastguard Worker 674*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (tmp_ms_metric): Switch from gettimeofday to 675*7304104dSAndroid Build Coastguard Worker clock_gettime(CLOCK_MONOTONIC) for time-interval measurements. 676*7304104dSAndroid Build Coastguard Worker (handler_cb, scan_source_paths, groom): Ditto. 677*7304104dSAndroid Build Coastguard Worker 678*7304104dSAndroid Build Coastguard Worker2020-11-23 Frank Ch. Eigler <[email protected]> 679*7304104dSAndroid Build Coastguard Worker 680*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (tmp_ms_metric): New class for RAII timing metrics. 681*7304104dSAndroid Build Coastguard Worker (sqlite_ps::reset, step*): Call it to track sqlite3 performance. 682*7304104dSAndroid Build Coastguard Worker (sqlite_exception ctor): Increment sqlite3 error_count. 683*7304104dSAndroid Build Coastguard Worker 684*7304104dSAndroid Build Coastguard Worker2020-11-23 Mark Wielaard <[email protected]> 685*7304104dSAndroid Build Coastguard Worker 686*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Initialize 687*7304104dSAndroid Build Coastguard Worker struct handle_data errbuf to the empty string. 688*7304104dSAndroid Build Coastguard Worker 689*7304104dSAndroid Build Coastguard Worker2020-11-11 Mark Wielaard <[email protected]> 690*7304104dSAndroid Build Coastguard Worker 691*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_set_verbose_fd): New function. 692*7304104dSAndroid Build Coastguard Worker (struct debuginfod_client): Add verbose_fd. 693*7304104dSAndroid Build Coastguard Worker (struct handle_data): Add errbuf. 694*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Produce verbose output when 695*7304104dSAndroid Build Coastguard Worker debuginfod_client verbose_fd is set. Only clear old data and set 696*7304104dSAndroid Build Coastguard Worker default_headers when any work is done. Always goto out when setting 697*7304104dSAndroid Build Coastguard Worker rc to an error value. Use CURLOPT_ERRORBUFFER to get more error 698*7304104dSAndroid Build Coastguard Worker output when verbose output is requested. 699*7304104dSAndroid Build Coastguard Worker * debuginfod.h (DEBUGINFOD_VERBOSE_ENV_VAR): New. 700*7304104dSAndroid Build Coastguard Worker (debuginfod_set_verbose_fd): Added. 701*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (parse_opt): Set debuginfod_set_verbose_fd on -v. 702*7304104dSAndroid Build Coastguard Worker * bdebuginfod.map (ELFUTILS_0.183): New section, add 703*7304104dSAndroid Build Coastguard Worker debuginfod_set_verbose_fd. 704*7304104dSAndroid Build Coastguard Worker 705*7304104dSAndroid Build Coastguard Worker2020-11-21 Mark Wielaard <[email protected]> 706*7304104dSAndroid Build Coastguard Worker 707*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_root): New function. 708*7304104dSAndroid Build Coastguard Worker (handler_cb): Handle "/" and report url1 in webapi error. 709*7304104dSAndroid Build Coastguard Worker 710*7304104dSAndroid Build Coastguard Worker2020-11-11 Mark Wielaard <[email protected]> 711*7304104dSAndroid Build Coastguard Worker 712*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (progressfn): Use clock_gettime to print Progress 713*7304104dSAndroid Build Coastguard Worker at most 5 times a second. 714*7304104dSAndroid Build Coastguard Worker 715*7304104dSAndroid Build Coastguard Worker2020-11-19 Frank Ch. Eigler <[email protected]> 716*7304104dSAndroid Build Coastguard Worker 717*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (tmp_inc_metric): New class. 718*7304104dSAndroid Build Coastguard Worker (handler_cb): Use it to track webapi operations. 719*7304104dSAndroid Build Coastguard Worker 720*7304104dSAndroid Build Coastguard Worker2020-11-01 Érico N. Rolim <[email protected]> 721*7304104dSAndroid Build Coastguard Worker 722*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_init_cache): Use ACCESSPERMS for 723*7304104dSAndroid Build Coastguard Worker mkdir, DEFFILEMODE for open with O_CREAT. 724*7304104dSAndroid Build Coastguard Worker 725*7304104dSAndroid Build Coastguard Worker2020-11-01 Érico N. Rolim <[email protected]> 726*7304104dSAndroid Build Coastguard Worker 727*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: include libintl.h. 728*7304104dSAndroid Build Coastguard Worker 729*7304104dSAndroid Build Coastguard Worker2020-11-01 Érico N. Rolim <[email protected]> 730*7304104dSAndroid Build Coastguard Worker 731*7304104dSAndroid Build Coastguard Worker * Makefile.am (debuginfod_LDADD): Add argp_LDADD and fts_LIBS. 732*7304104dSAndroid Build Coastguard Worker (debuginfod_find_LDADD): Likewise. 733*7304104dSAndroid Build Coastguard Worker (libdebuginfod_so_LDLIBS): Add fts_LIBS. 734*7304104dSAndroid Build Coastguard Worker 735*7304104dSAndroid Build Coastguard Worker2020-10-31 Frank Ch. Eigler <[email protected]> 736*7304104dSAndroid Build Coastguard Worker 737*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (scan_source_file, scan_archive_file): Add new scanned_bytes_total, 738*7304104dSAndroid Build Coastguard Worker scanned_files_total metrics. 739*7304104dSAndroid Build Coastguard Worker (archive_classify): Exit early if interrupted. 740*7304104dSAndroid Build Coastguard Worker (scan_source_paths): Perform realpath/regex checks only on FTS_F files. 741*7304104dSAndroid Build Coastguard Worker Tweak metrics. 742*7304104dSAndroid Build Coastguard Worker 743*7304104dSAndroid Build Coastguard Worker2020-10-30 Frank Ch. Eigler <[email protected]> 744*7304104dSAndroid Build Coastguard Worker 745*7304104dSAndroid Build Coastguard Worker PR26775 cont'd. 746*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (thread_main_scanner): Ensure control doesn't 747*7304104dSAndroid Build Coastguard Worker leave infinite loop until program exit, even if SIGUSR2. 748*7304104dSAndroid Build Coastguard Worker (scan_source_paths): Have traverser clean scanq on 749*7304104dSAndroid Build Coastguard Worker SIGUSR2. Emit additional traversed_total metrics. 750*7304104dSAndroid Build Coastguard Worker (groom): Emit additional groomed_total metrics. 751*7304104dSAndroid Build Coastguard Worker (thread_main_groom): Restore previous thread_work_total 752*7304104dSAndroid Build Coastguard Worker metric. 753*7304104dSAndroid Build Coastguard Worker 754*7304104dSAndroid Build Coastguard Worker2020-10-29 Frank Ch. Eigler <[email protected]> 755*7304104dSAndroid Build Coastguard Worker 756*7304104dSAndroid Build Coastguard Worker PR26775 757*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (forced_*_count): Make these global. 758*7304104dSAndroid Build Coastguard Worker (runq::clear): New function. 759*7304104dSAndroid Build Coastguard Worker (thread_main_scanner): Check for pending SIGUSR2; interrupt. 760*7304104dSAndroid Build Coastguard Worker (scan_source_paths): Check for pending SIGUSR2; interrupt. 761*7304104dSAndroid Build Coastguard Worker (groom): Report prometheus stats before groom also. Check for 762*7304104dSAndroid Build Coastguard Worker pending SIGUSR1; interrupt. Increment thread_work_total for 763*7304104dSAndroid Build Coastguard Worker each file scanned, not the entire cycle. 764*7304104dSAndroid Build Coastguard Worker 765*7304104dSAndroid Build Coastguard Worker2020-10-29 Frank Ch. Eigler <[email protected]> 766*7304104dSAndroid Build Coastguard Worker 767*7304104dSAndroid Build Coastguard Worker PR26810 768*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid_*_match): Throw exceptions for 769*7304104dSAndroid Build Coastguard Worker more lower level libc errors. 770*7304104dSAndroid Build Coastguard Worker (handle_buildid_match): Catch & report exceptions but return 0 771*7304104dSAndroid Build Coastguard Worker for continued iteration in the caller. 772*7304104dSAndroid Build Coastguard Worker 773*7304104dSAndroid Build Coastguard Worker2020-10-25 Mark Wielaard <[email protected]> 774*7304104dSAndroid Build Coastguard Worker 775*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Translate 776*7304104dSAndroid Build Coastguard Worker CURLE_PEER_FAILED_VERIFICATION to ECONNREFUSED. 777*7304104dSAndroid Build Coastguard Worker 778*7304104dSAndroid Build Coastguard Worker2020-10-20 Frank Ch. Eigler <[email protected]> 779*7304104dSAndroid Build Coastguard Worker 780*7304104dSAndroid Build Coastguard Worker PR26756: more prometheus metrics 781*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (*_exception): Add counters for error occurrences. 782*7304104dSAndroid Build Coastguard Worker (fdcache::*): Add counters for fdcache operations and status. 783*7304104dSAndroid Build Coastguard Worker (fdcache::set_metric): New fn for overall stat counts. 784*7304104dSAndroid Build Coastguard Worker (fdcache::limit): ... allow metric-less use from dtors. 785*7304104dSAndroid Build Coastguard Worker 786*7304104dSAndroid Build Coastguard Worker2020-10-20 Frank Ch. Eigler <[email protected]> 787*7304104dSAndroid Build Coastguard Worker 788*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid*): Add a parameter for detecting 789*7304104dSAndroid Build Coastguard Worker internally-originated lookups for dwz resolution. 790*7304104dSAndroid Build Coastguard Worker 791*7304104dSAndroid Build Coastguard Worker2020-09-18 Frank Ch. Eigler <[email protected]> 792*7304104dSAndroid Build Coastguard Worker 793*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (scan_source_file, archive_classify): Store only 794*7304104dSAndroid Build Coastguard Worker canonicalized file names in sdef & sref records in the database. 795*7304104dSAndroid Build Coastguard Worker 796*7304104dSAndroid Build Coastguard Worker2020-09-08 Mark Wielaard <[email protected]> 797*7304104dSAndroid Build Coastguard Worker 798*7304104dSAndroid Build Coastguard Worker * Makefile.am (BUILD_STATIC): Include libcurl_LIBS in libdebuginfod 799*7304104dSAndroid Build Coastguard Worker when NOT DUMMY_LIBDEBUGINFOD. 800*7304104dSAndroid Build Coastguard Worker 801*7304104dSAndroid Build Coastguard Worker2020-09-16 Mark Wielaard <[email protected]> 802*7304104dSAndroid Build Coastguard Worker 803*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c: Fix license block comment. 804*7304104dSAndroid Build Coastguard Worker 805*7304104dSAndroid Build Coastguard Worker2020-09-15 Mark Wielaard <[email protected]> 806*7304104dSAndroid Build Coastguard Worker 807*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Use dwelf_elf_begin. 808*7304104dSAndroid Build Coastguard Worker 809*7304104dSAndroid Build Coastguard Worker2020-07-03 Alice Zhang <[email protected]> 810*7304104dSAndroid Build Coastguard Worker 811*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Use strncasecmp 812*7304104dSAndroid Build Coastguard Worker to compare effective_url. Try CURLINFO_SCHEME as fallback. 813*7304104dSAndroid Build Coastguard Worker 814*7304104dSAndroid Build Coastguard Worker2020-06-19 Mark Wielaard <[email protected]> 815*7304104dSAndroid Build Coastguard Worker 816*7304104dSAndroid Build Coastguard Worker * Makefile.am (bin_PROGRAMS): Guard with DEBUGINFOD and 817*7304104dSAndroid Build Coastguard Worker LIBDEBUGINFOD. 818*7304104dSAndroid Build Coastguard Worker (debuginfod_LDADD): Remove libcurl. 819*7304104dSAndroid Build Coastguard Worker (libdebuginfod): When static and DUMMY_LIBDEBUGINFO remove libcurl. 820*7304104dSAndroid Build Coastguard Worker (noinst_LIBRARIES): Guard with LIBDEBUGINFOD. 821*7304104dSAndroid Build Coastguard Worker (AM_CPPFLAGS): Add -Wno-unused-parameter when DUMMY_LIBDEBUGINFOD. 822*7304104dSAndroid Build Coastguard Worker (pkginclude_headers): Guard with LIBDEBUGINFOD 823*7304104dSAndroid Build Coastguard Worker (libdebuginfod_so_LIBS): Likewise. 824*7304104dSAndroid Build Coastguard Worker (+libdebuginfod_so_LDLIBS): Likewise. 825*7304104dSAndroid Build Coastguard Worker (install): Likewise. 826*7304104dSAndroid Build Coastguard Worker (uninstall): Likewise. 827*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c: Include dummy functions when 828*7304104dSAndroid Build Coastguard Worker DUMMY_LIBDEBUGINFOD. 829*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Remove curl.h include. 830*7304104dSAndroid Build Coastguard Worker 831*7304104dSAndroid Build Coastguard Worker2020-06-16 Mark Wielaard <[email protected]> 832*7304104dSAndroid Build Coastguard Worker 833*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Check malloc. 834*7304104dSAndroid Build Coastguard Worker Move curl_multi_init call before handle_data malloc call. 835*7304104dSAndroid Build Coastguard Worker 836*7304104dSAndroid Build Coastguard Worker2020-06-16 Mark Wielaard <[email protected]> 837*7304104dSAndroid Build Coastguard Worker 838*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Replace sizeof 839*7304104dSAndroid Build Coastguard Worker build_id_bytes check with strlen build_id check. 840*7304104dSAndroid Build Coastguard Worker 841*7304104dSAndroid Build Coastguard Worker2020-06-16 Mark Wielaard <[email protected]> 842*7304104dSAndroid Build Coastguard Worker 843*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Increase suffix 844*7304104dSAndroid Build Coastguard Worker array and prepare having to escape 1 character with 2. 845*7304104dSAndroid Build Coastguard Worker 846*7304104dSAndroid Build Coastguard Worker2020-06-16 Mark Wielaard <[email protected]> 847*7304104dSAndroid Build Coastguard Worker 848*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_clean_cache): Handle failing 849*7304104dSAndroid Build Coastguard Worker fopen (interval_path). 850*7304104dSAndroid Build Coastguard Worker 851*7304104dSAndroid Build Coastguard Worker2020-03-29 Mark Wielaard <[email protected]> 852*7304104dSAndroid Build Coastguard Worker 853*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_add_http_header): Check header 854*7304104dSAndroid Build Coastguard Worker contains precisely one colon that isn't the first or last char. 855*7304104dSAndroid Build Coastguard Worker 856*7304104dSAndroid Build Coastguard Worker2020-03-29 Frank Ch. Eigler <[email protected]> 857*7304104dSAndroid Build Coastguard Worker 858*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (struct debuginfod_client): Add a flag field 859*7304104dSAndroid Build Coastguard Worker for progressfn printing. 860*7304104dSAndroid Build Coastguard Worker (default_progressfn): Set it if printing \rsomething. 861*7304104dSAndroid Build Coastguard Worker (debuginfod_end): Terminate with \n if flag set, i.e., only if the 862*7304104dSAndroid Build Coastguard Worker default_progressfn was actually called. 863*7304104dSAndroid Build Coastguard Worker 864*7304104dSAndroid Build Coastguard Worker2020-03-27 Mark Wielaard <[email protected]> 865*7304104dSAndroid Build Coastguard Worker 866*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): Check port is not zero. 867*7304104dSAndroid Build Coastguard Worker 868*7304104dSAndroid Build Coastguard Worker2020-03-28 Frank Ch. Eigler <[email protected]> 869*7304104dSAndroid Build Coastguard Worker 870*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid_r_match): During archive 871*7304104dSAndroid Build Coastguard Worker extraction / fdcache prefetching, set the mtime of each 872*7304104dSAndroid Build Coastguard Worker file in the cache. 873*7304104dSAndroid Build Coastguard Worker 874*7304104dSAndroid Build Coastguard Worker2020-03-27 Frank Ch. Eigler <[email protected]> 875*7304104dSAndroid Build Coastguard Worker 876*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Extract buildid from /binary/ if 877*7304104dSAndroid Build Coastguard Worker given instead of hex string. 878*7304104dSAndroid Build Coastguard Worker * Makefile.am: Add elfutils library prereqs for debuginfod-find. 879*7304104dSAndroid Build Coastguard Worker 880*7304104dSAndroid Build Coastguard Worker2020-03-24 Frank Ch. Eigler <[email protected]> 881*7304104dSAndroid Build Coastguard Worker 882*7304104dSAndroid Build Coastguard Worker * debuginfod.h, libdebuginfod.map: New functions for _add_url_header. 883*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (struct debuginfod_client): Add headers fields. 884*7304104dSAndroid Build Coastguard Worker (debuginfod_add_http_header): New client api to add outgoing headers. 885*7304104dSAndroid Build Coastguard Worker (add_default_headers): Renamed from add_extra_headers, skip if flag. 886*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Pass accumulated headers to libcurl. 887*7304104dSAndroid Build Coastguard Worker (debuginfod_end): Clean accumulated headers. 888*7304104dSAndroid Build Coastguard Worker (debuginfod_find_*): Add default headers at this point. 889*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid): Add conn pointer. Use it to relay 890*7304104dSAndroid Build Coastguard Worker incoming UA and XFF headers to federated upstream debuginfods. 891*7304104dSAndroid Build Coastguard Worker 892*7304104dSAndroid Build Coastguard Worker2020-03-26 Frank Ch. Eigler <[email protected]> 893*7304104dSAndroid Build Coastguard Worker 894*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handler_cb): Export two families of metrics for 895*7304104dSAndroid Build Coastguard Worker prometheus traffic analysis: response times and data amounts. 896*7304104dSAndroid Build Coastguard Worker 897*7304104dSAndroid Build Coastguard Worker2020-03-26 Frank Ch. Eigler <[email protected]> 898*7304104dSAndroid Build Coastguard Worker 899*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): For -U, prefer dpkg-deb 900*7304104dSAndroid Build Coastguard Worker after all if access(3)-able, fallback to bsdtar. 901*7304104dSAndroid Build Coastguard Worker 902*7304104dSAndroid Build Coastguard Worker2020-03-25 Frank Ch. Eigler <[email protected]> 903*7304104dSAndroid Build Coastguard Worker 904*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): Associate a bsdtar subshell with 905*7304104dSAndroid Build Coastguard Worker the .deb & .ddeb extensions, instead of dpkg-deb. 906*7304104dSAndroid Build Coastguard Worker 907*7304104dSAndroid Build Coastguard Worker2020-03-26 Frank Ch. Eigler <[email protected]> 908*7304104dSAndroid Build Coastguard Worker 909*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Don't 910*7304104dSAndroid Build Coastguard Worker set CURLOPT_PATH_AS_IS on old curl. Mostly harmless. 911*7304104dSAndroid Build Coastguard Worker 912*7304104dSAndroid Build Coastguard Worker2020-03-24 Frank Ch. Eigler <[email protected]> 913*7304104dSAndroid Build Coastguard Worker 914*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Set 915*7304104dSAndroid Build Coastguard Worker CURLOPT_PATH_AS_IS, to propagate file names verbatim. 916*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (canon_pathname): Implement RFC3986 917*7304104dSAndroid Build Coastguard Worker style pathname canonicalization. 918*7304104dSAndroid Build Coastguard Worker (handle_buildid): Canonicalize incoming webapi source 919*7304104dSAndroid Build Coastguard Worker paths, accept either one. 920*7304104dSAndroid Build Coastguard Worker (scan_source_file, archive_classify): Store both 921*7304104dSAndroid Build Coastguard Worker original and canonicalized dwarf-source file names. 922*7304104dSAndroid Build Coastguard Worker 923*7304104dSAndroid Build Coastguard Worker2020-03-24 Frank Ch. Eigler <[email protected]> 924*7304104dSAndroid Build Coastguard Worker 925*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (handle_buildid): In case of federated fallback 926*7304104dSAndroid Build Coastguard Worker queries, handle errors analogously to local ENOENT/404. 927*7304104dSAndroid Build Coastguard Worker (handle_metrics): Return a size-of-response value. 928*7304104dSAndroid Build Coastguard Worker (handler_cb): Add code to time entire application-side processing 929*7304104dSAndroid Build Coastguard Worker stage + response sizes + http codes, so as to emit a complete 930*7304104dSAndroid Build Coastguard Worker httpd-flavoured log line for each webapi request. 931*7304104dSAndroid Build Coastguard Worker 932*7304104dSAndroid Build Coastguard Worker2020-03-24 Frank Ch. Eigler <[email protected]> 933*7304104dSAndroid Build Coastguard Worker 934*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Print the 935*7304104dSAndroid Build Coastguard Worker default_progressfn terminating \n message only if that progressfn 936*7304104dSAndroid Build Coastguard Worker is actually set. 937*7304104dSAndroid Build Coastguard Worker 938*7304104dSAndroid Build Coastguard Worker2020-03-24 Frank Ch. Eigler <[email protected]> 939*7304104dSAndroid Build Coastguard Worker 940*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Correct /source full-pathness check for 941*7304104dSAndroid Build Coastguard Worker "debuginfod-find -v source deadbeef /pathname" case. 942*7304104dSAndroid Build Coastguard Worker 943*7304104dSAndroid Build Coastguard Worker2020-03-22 Frank Ch. Eigler <[email protected]> 944*7304104dSAndroid Build Coastguard Worker 945*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (struct debuginfod_client): Add url field. 946*7304104dSAndroid Build Coastguard Worker (struct handle_data): Add client field as backpointer. 947*7304104dSAndroid Build Coastguard Worker (debuginfod_write_callback): Compute & save URL. 948*7304104dSAndroid Build Coastguard Worker (default_progressfn): Print front pieces of the URL. 949*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Clear URL and cleanup after progressfn. 950*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c (main): Print URL at transfer conclusion. 951*7304104dSAndroid Build Coastguard Worker 952*7304104dSAndroid Build Coastguard Worker2020-03-22 Frank Ch. Eigler <[email protected]> 953*7304104dSAndroid Build Coastguard Worker 954*7304104dSAndroid Build Coastguard Worker * debuginfod.h, libdebuginfod.map: New functions for _get/set_user(). 955*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c: Implement them. 956*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c: Include a token call just for testing them. 957*7304104dSAndroid Build Coastguard Worker 958*7304104dSAndroid Build Coastguard Worker2020-03-03 Aaron Merey <[email protected]> 959*7304104dSAndroid Build Coastguard Worker 960*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Update 961*7304104dSAndroid Build Coastguard Worker cache_path even when new default path already exists. 962*7304104dSAndroid Build Coastguard Worker 963*7304104dSAndroid Build Coastguard Worker2020-02-27 Aaron Merey <[email protected]> 964*7304104dSAndroid Build Coastguard Worker 965*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (xalloc_str): New macro. Call 966*7304104dSAndroid Build Coastguard Worker asprintf with error checking. 967*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Use XDG_CACHE_HOME as a default 968*7304104dSAndroid Build Coastguard Worker cache location if it is set. Replace snprintf with xalloc_str. 969*7304104dSAndroid Build Coastguard Worker 970*7304104dSAndroid Build Coastguard Worker2020-02-26 Konrad Kleine <[email protected]> 971*7304104dSAndroid Build Coastguard Worker 972*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Handle curl's 973*7304104dSAndroid Build Coastguard Worker response code correctly when DEBUGINFOD_URLS begin with file:// 974*7304104dSAndroid Build Coastguard Worker 975*7304104dSAndroid Build Coastguard Worker2020-02-25 Frank Ch. Eigler <[email protected]> 976*7304104dSAndroid Build Coastguard Worker 977*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (parse_opt): Treat -R as if -Z.rpm . 978*7304104dSAndroid Build Coastguard Worker 979*7304104dSAndroid Build Coastguard Worker2020-02-25 Frank Ch. Eigler <[email protected]> 980*7304104dSAndroid Build Coastguard Worker 981*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (fdcache_prefetch): New parameter. 982*7304104dSAndroid Build Coastguard Worker (parse_opt): Parse it. 983*7304104dSAndroid Build Coastguard Worker (main): Default it. 984*7304104dSAndroid Build Coastguard Worker (fdcache::fd_size_mb): Change to double for accuracy. 985*7304104dSAndroid Build Coastguard Worker (fdcache::probe): New function. 986*7304104dSAndroid Build Coastguard Worker (fdcache::intern): New option to intern at end of LRU. 987*7304104dSAndroid Build Coastguard Worker (fdcache::lookup): Clean fdcache. 988*7304104dSAndroid Build Coastguard Worker (handle_buildid_r_match): Implement multi-stage archive 989*7304104dSAndroid Build Coastguard Worker parsing, with optional prefetching of extracted contents 990*7304104dSAndroid Build Coastguard Worker into the fdcache. 991*7304104dSAndroid Build Coastguard Worker 992*7304104dSAndroid Build Coastguard Worker2020-02-19 Aaron Merey <[email protected]> 993*7304104dSAndroid Build Coastguard Worker 994*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_clean_cache): Restrict 995*7304104dSAndroid Build Coastguard Worker cleanup to client-pattern files. 996*7304104dSAndroid Build Coastguard Worker 997*7304104dSAndroid Build Coastguard Worker2020-02-05 Frank Ch. Eigler <[email protected]> 998*7304104dSAndroid Build Coastguard Worker 999*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (argp options): Add -Z option. 1000*7304104dSAndroid Build Coastguard Worker (canonicalized_archive_entry_pathname): New function for 1001*7304104dSAndroid Build Coastguard Worker distro-agnostic file name matching/storage. 1002*7304104dSAndroid Build Coastguard Worker 1003*7304104dSAndroid Build Coastguard Worker2020-01-22 Frank Ch. Eigler <[email protected]> 1004*7304104dSAndroid Build Coastguard Worker 1005*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (dwarf_extract_source_paths): Don't print 1006*7304104dSAndroid Build Coastguard Worker "skipping hat" messages at verbosity <=3, too noisy. 1007*7304104dSAndroid Build Coastguard Worker 1008*7304104dSAndroid Build Coastguard Worker2020-01-19 Frank Ch. Eigler <[email protected]> 1009*7304104dSAndroid Build Coastguard Worker 1010*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (scanq): Rework to let groomer/fts threads 1011*7304104dSAndroid Build Coastguard Worker synchronize with an empty workqueue, and lock out workqueue 1012*7304104dSAndroid Build Coastguard Worker consumers. 1013*7304104dSAndroid Build Coastguard Worker (thread_groom): Adopt new scanq idle APIs to lock out scanners. 1014*7304104dSAndroid Build Coastguard Worker (thread_main_fts_source_paths): Adopt new scanq idler API to 1015*7304104dSAndroid Build Coastguard Worker avoid being restarted while scanners haven't even finished yet. 1016*7304104dSAndroid Build Coastguard Worker (thread_main_*): Increment thread_work_total metric only after 1017*7304104dSAndroid Build Coastguard Worker a work cycle is completed, not when it begins. 1018*7304104dSAndroid Build Coastguard Worker 1019*7304104dSAndroid Build Coastguard Worker2020-01-18 Frank Ch. Eigler <[email protected]> 1020*7304104dSAndroid Build Coastguard Worker 1021*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (thread_main_scanner): Handle empty source_paths[]. 1022*7304104dSAndroid Build Coastguard Worker 1023*7304104dSAndroid Build Coastguard Worker2020-01-11 Frank Ch. Eigler <[email protected]> 1024*7304104dSAndroid Build Coastguard Worker 1025*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (libarchive_fdcache): New class/facility to own a 1026*7304104dSAndroid Build Coastguard Worker cache of temporary files that were previously extracted from an 1027*7304104dSAndroid Build Coastguard Worker archive. If only it could store just unlinked fd's instead of 1028*7304104dSAndroid Build Coastguard Worker filenames. 1029*7304104dSAndroid Build Coastguard Worker (handle_buildid_r_match): Use it to answer dwz/altdebug and webapi 1030*7304104dSAndroid Build Coastguard Worker requests. 1031*7304104dSAndroid Build Coastguard Worker (groom): Clean it. 1032*7304104dSAndroid Build Coastguard Worker (main): Initialize the cache control parameters from heuristics. 1033*7304104dSAndroid Build Coastguard Worker Use a consistent tmpdir for these and tmp files elsewhere. 1034*7304104dSAndroid Build Coastguard Worker 1035*7304104dSAndroid Build Coastguard Worker2020-01-11 Frank Ch. Eigler <[email protected]> 1036*7304104dSAndroid Build Coastguard Worker 1037*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (conninfo): Print User-Agent and X-Forwarded-For 1038*7304104dSAndroid Build Coastguard Worker request headers, after mild safety-censorship (for easier machine 1039*7304104dSAndroid Build Coastguard Worker processing). 1040*7304104dSAndroid Build Coastguard Worker 1041*7304104dSAndroid Build Coastguard Worker2020-01-11 Frank Ch. Eigler <[email protected]> 1042*7304104dSAndroid Build Coastguard Worker 1043*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Rework threading model. 1044*7304104dSAndroid Build Coastguard Worker (workq): New class for concurrent work-queue. 1045*7304104dSAndroid Build Coastguard Worker (semaphore): Removed class, now unused. 1046*7304104dSAndroid Build Coastguard Worker (scan_source_file_path): Rework into ... 1047*7304104dSAndroid Build Coastguard Worker (scan_source_file): New function. 1048*7304104dSAndroid Build Coastguard Worker (thread_main_scan_source_file_path): Nuke. 1049*7304104dSAndroid Build Coastguard Worker (scan_source_archive_path): Rework into ... 1050*7304104dSAndroid Build Coastguard Worker (scan_archive_file): New function. 1051*7304104dSAndroid Build Coastguard Worker (thread_main_scanner): New function for scanner threads. 1052*7304104dSAndroid Build Coastguard Worker (thread_main_fts_source_paths): New function for traversal thread. 1053*7304104dSAndroid Build Coastguard Worker (scan_source_paths): ... doing this. 1054*7304104dSAndroid Build Coastguard Worker (thread_groom): Tweak metrics for consistency. 1055*7304104dSAndroid Build Coastguard Worker (main): Start 1 traversal and N scanner threads if needed. 1056*7304104dSAndroid Build Coastguard Worker 1057*7304104dSAndroid Build Coastguard Worker2019-01-02 Mark Wielaard <[email protected]> 1058*7304104dSAndroid Build Coastguard Worker 1059*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (default_connect_timeout): Removed. 1060*7304104dSAndroid Build Coastguard Worker (default_transfer_timeout): Removed. 1061*7304104dSAndroid Build Coastguard Worker (default_timeout): New. Default to 90 seconds. 1062*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Parse server_timeout_envvar as one number. 1063*7304104dSAndroid Build Coastguard Worker Set as CURLOPT_LOW_SPEED_TIME, with CURL_OPT_LOW_SPEED_LIMITE as 100K. 1064*7304104dSAndroid Build Coastguard Worker 1065*7304104dSAndroid Build Coastguard Worker2020-01-09 Frank Ch. Eigler <[email protected]> 1066*7304104dSAndroid Build Coastguard Worker 1067*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (add_extra_headers): New function, 1068*7304104dSAndroid Build Coastguard Worker based on mjw's draft. 1069*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Call it. 1070*7304104dSAndroid Build Coastguard Worker 1071*7304104dSAndroid Build Coastguard Worker2019-12-22 Frank Ch. Eigler <[email protected]> 1072*7304104dSAndroid Build Coastguard Worker 1073*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (*_rpm_*): Rename to *_archive_* throughout. 1074*7304104dSAndroid Build Coastguard Worker (scan_archives): New read-mostly global to identify archive 1075*7304104dSAndroid Build Coastguard Worker file extensions and corresponding extractor commands. 1076*7304104dSAndroid Build Coastguard Worker (parse_opt): Handle new -U flag. 1077*7304104dSAndroid Build Coastguard Worker 1078*7304104dSAndroid Build Coastguard Worker2019-12-19 Frank Ch. Eigler <[email protected]> 1079*7304104dSAndroid Build Coastguard Worker 1080*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (default_progressfn): New function. 1081*7304104dSAndroid Build Coastguard Worker (debuginfod_begin): Use it if $DEBUGINFOD_PROGRESS set. 1082*7304104dSAndroid Build Coastguard Worker (server_timeout): Bump to 30 seconds. 1083*7304104dSAndroid Build Coastguard Worker (debuginfod_query_server): Call progressfn -after- rather than 1084*7304104dSAndroid Build Coastguard Worker before curl ops, to make it likely that a successful transfer 1085*7304104dSAndroid Build Coastguard Worker results in final a=b call. Tweak cleanup sequence. 1086*7304104dSAndroid Build Coastguard Worker * debuginfod.h: Document $DEBUGINFOD_PROGRESS name. 1087*7304104dSAndroid Build Coastguard Worker 1088*7304104dSAndroid Build Coastguard Worker2019-12-09 Mark Wielaard <[email protected]> 1089*7304104dSAndroid Build Coastguard Worker 1090*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Check 1091*7304104dSAndroid Build Coastguard Worker server_urls_envvar early. 1092*7304104dSAndroid Build Coastguard Worker 1093*7304104dSAndroid Build Coastguard Worker2019-12-03 Mark Wielaard <[email protected]> 1094*7304104dSAndroid Build Coastguard Worker 1095*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c (debuginfod_query_server): Use separate 1096*7304104dSAndroid Build Coastguard Worker local variables for CURLcode curl_res and CURLMcode curlm_res. 1097*7304104dSAndroid Build Coastguard Worker 1098*7304104dSAndroid Build Coastguard Worker2019-11-26 Mark Wielaard <[email protected]> 1099*7304104dSAndroid Build Coastguard Worker 1100*7304104dSAndroid Build Coastguard Worker * Makefile.am (BUILD_STATIC): Add needed libraries for libdw and 1101*7304104dSAndroid Build Coastguard Worker libdebuginfod. 1102*7304104dSAndroid Build Coastguard Worker 1103*7304104dSAndroid Build Coastguard Worker2019-11-25 Frank Ch. Eigler <[email protected]> 1104*7304104dSAndroid Build Coastguard Worker 1105*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (groom): Add a sqlite3_db_release_memory() 1106*7304104dSAndroid Build Coastguard Worker at the end of periodic grooming to try to shrink the process. 1107*7304104dSAndroid Build Coastguard Worker 1108*7304104dSAndroid Build Coastguard Worker2019-11-24 Mark Wielaard <[email protected]> 1109*7304104dSAndroid Build Coastguard Worker 1110*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (test_webapi_sleep): Removed. 1111*7304104dSAndroid Build Coastguard Worker (handler_cb): Don't check test_webapi_sleep and sleep. 1112*7304104dSAndroid Build Coastguard Worker (main): Don't set test_webapi_sleep. 1113*7304104dSAndroid Build Coastguard Worker 1114*7304104dSAndroid Build Coastguard Worker2019-11-24 Mark Wielaard <[email protected]> 1115*7304104dSAndroid Build Coastguard Worker 1116*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx (add_metric): New function. 1117*7304104dSAndroid Build Coastguard Worker (scan_source_file_path): Record metrics for 1118*7304104dSAndroid Build Coastguard Worker found_executable_total, found_debuginfo_total and 1119*7304104dSAndroid Build Coastguard Worker found_sourcerefs_total. 1120*7304104dSAndroid Build Coastguard Worker (scan_source_rpm_path): Likewise. 1121*7304104dSAndroid Build Coastguard Worker 1122*7304104dSAndroid Build Coastguard Worker2019-11-07 Frank Ch. Eigler <[email protected]> 1123*7304104dSAndroid Build Coastguard Worker 1124*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Add /metrics endpoint. Add numerous 1125*7304104dSAndroid Build Coastguard Worker calls to new functions inc_metric/set_metric to populate 1126*7304104dSAndroid Build Coastguard Worker threadsafe map containing stats. Add http content-type 1127*7304104dSAndroid Build Coastguard Worker response headers throughout. 1128*7304104dSAndroid Build Coastguard Worker (thread_main_*): Simplify counter/timer flow. 1129*7304104dSAndroid Build Coastguard Worker (main): Reorder web service shutdown to leave http running 1130*7304104dSAndroid Build Coastguard Worker as long as possible. 1131*7304104dSAndroid Build Coastguard Worker * debuginfod.8: Document it, add security caution. 1132*7304104dSAndroid Build Coastguard Worker 1133*7304104dSAndroid Build Coastguard Worker2019-11-06 Frank Ch. Eigler <[email protected]> 1134*7304104dSAndroid Build Coastguard Worker 1135*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Add new -L (symlink-following) mode. 1136*7304104dSAndroid Build Coastguard Worker * debuginfod.8: Document it. 1137*7304104dSAndroid Build Coastguard Worker 1138*7304104dSAndroid Build Coastguard Worker2019-11-04 Frank Ch. Eigler <[email protected]> 1139*7304104dSAndroid Build Coastguard Worker 1140*7304104dSAndroid Build Coastguard Worker * debuginfo-client.c (debuginfod_set_progressfn): New function 1141*7304104dSAndroid Build Coastguard Worker for progress/interrupt callback. 1142*7304104dSAndroid Build Coastguard Worker (debuginfod_clean_cache, debuginfod_query_server): Call it. 1143*7304104dSAndroid Build Coastguard Worker * debuginfo.h: Declare it. 1144*7304104dSAndroid Build Coastguard Worker * debuginfod_set_progressfn.3, *_find_debuginfo.3: Document it. 1145*7304104dSAndroid Build Coastguard Worker * Makefile.am: Install it. 1146*7304104dSAndroid Build Coastguard Worker * libdebuginfod.map: Export it all under ELFUTILS_0.178 symversion. 1147*7304104dSAndroid Build Coastguard Worker 1148*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c: Add -v option to activate progress cb. 1149*7304104dSAndroid Build Coastguard Worker * debuginfod-find.1: Document it. 1150*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: Add $DEBUGINFOD_TEST_WEBAPI_SLEEP env var 1151*7304104dSAndroid Build Coastguard Worker to insert sleep in webapi callbacks, to help manual testing. 1152*7304104dSAndroid Build Coastguard Worker 1153*7304104dSAndroid Build Coastguard Worker2019-10-28 Frank Ch. Eigler <[email protected]> 1154*7304104dSAndroid Build Coastguard Worker 1155*7304104dSAndroid Build Coastguard Worker * debuginfod.cxx: New file: debuginfod server. 1156*7304104dSAndroid Build Coastguard Worker * debuginfod.8: New file: man page. 1157*7304104dSAndroid Build Coastguard Worker * Makefile.am: Build it. 1158*7304104dSAndroid Build Coastguard Worker 1159*7304104dSAndroid Build Coastguard Worker2019-10-28 Aaron Merey <[email protected]> 1160*7304104dSAndroid Build Coastguard Worker 1161*7304104dSAndroid Build Coastguard Worker * debuginfod-client.c: New file: debuginfod client library. 1162*7304104dSAndroid Build Coastguard Worker * debuginfod.h: New file: header for same. 1163*7304104dSAndroid Build Coastguard Worker * libdebuginfod.map: New file: govern its solib exports. 1164*7304104dSAndroid Build Coastguard Worker * debuginfod-find.c: New file: command line frontend. 1165*7304104dSAndroid Build Coastguard Worker * debuginfod-find.1, debuginfod_find_source.3, 1166*7304104dSAndroid Build Coastguard Worker debuginfod_find_executable.3, debuginfod_find_debuginfo.3: 1167*7304104dSAndroid Build Coastguard Worker New man pages. 1168