xref: /aosp_15_r20/external/elfutils/debuginfod/ChangeLog (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
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