2021-11-05  Frank Ch. Eigler  <fche@redhat.com>

	PR28430
	* debuginfod.cxx (parse_opt): Add "--passive" flag.  Complain
	about inconsistent flags.
	(main): In passive mode, suppress scan/groom/traverse threads and
	other read-write database ops.

2021-11-04  Frank Ch. Eigler  <fche@redhat.com>

	PR28514
	* debuginfod.cxx (groom): Rework into separate decision/action
	phases.  Add new metrics to monitor progress.  Limit indefinite
	operation times to avoid starving rescan.

2021-10-23  Frank Ch. Eigler  <fche@redhat.com>

	PR28240
	* debuginfod-client.c (debuginfod_query_server): Correct
	negative-hit cache check sequence for root user.

2021-10-15  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Set
	CURLOPT_PROTOCOLS.

2021-10-06  Di Chen <dichen@redhat.com>

	PR28242
	* debuginfod.cxx (inc_metrics, add_metrics): Add two-tag variants.
	(handler_cb): Call it with artifacttype for http_responses_* metrics.
	(handle_buildid): Sanitize artifacttype if necessary.
	(dwarf_extract_source_path): Pass sanitizable string param.

2021-09-17  Noah Sanci  <nsanci@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): curl_multi_perform
	now occurs before checking if response headers have arrived.

2021-09-14  Frank Ch. Eigler <fche@redhat.com>

	PRPR28339
	* debuginfod.cxx (waitq::fronters): New field.
	(waitq::wait_idle): Respect it.
	(waitq::done_front): New function.
	(thread_main_scanner): Call it to match wait_front().

2021-09-12  Mark Wielaard  <mark@klomp.org>

	* debuginfod.cxx (libarchive_fdcache::lookup): Add endl after
	obatched(clog) line.
2021-09-13  Noah Sanci  <nsanci@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Removed constant
	operations from a loop. curl_free memory.

2021-09-06  Dmitry V. Levin  <ldv@altlinux.org>

	* debuginfod-client.c (debuginfod_begin): Remove cast of calloc return
	value.

2021-08-28  Mark Wielaard  <mjw@redhat.com>

	* debuginfod.cxx (parse_opt): Turn the -d arg ":memory:" into
	"file::memory:?cache=shared" for the db_path.

2021-08-20  Di Chen  <dichen@redhat.com>

	* debuginfod.cxx (options): Add ARGP_KEY_FORWARDED_TTL_LIMIT.
	(forwarded_ttl_limit): New static unsigned.
	(parse_opt): Handle ARGP_KEY_FORWARDED_TTL_LIMIT.
	(handle_buildid): Check forwarded_ttl_limit.
	(main): Log forwarded ttl limit.

2021-08-20  Saleem Abdulrasool  <abdulras@google.com>

	* debuginfod.cxx: Remove error.h include.

2021-08-19  Frank Ch. Eigler  <fche@redhat.com>

	PR28249
	* debuginfod.cxx (handler_cb): Fix after_you unique_set key
	to the entire incoming URL.

2021-08-02  Noah Sanci  <nsanci@redhat.com>

	PR27277
	* debuginfod-client.c (struct debuginfod_client): New field
	winning_headers.
	(struct handle_data): New field response_data, response_data_size.
	(header_callback): Store received headers in response_data.
	(debuginfod_query_server): Activate CURLOPT_HEADERFUNCTION.
	Save winning response_data.
	(debuginfod_end): free client winning headers.
	* debuginfod.cxx (handle_buildid_f_match): remove X-DEBUGINFOD-FILE
	path. Add X-DEBUGINFOD-FILE and X-DEBUGINFOD-SIZE headers.
	(handle_buildid_r_match): remove X-DEBUGINFOD-FILE path. Add
	X-DEBUGINFOD-FILE, X-DEBUGINFOD-SIZE
	headers, and X-ARCHIVE headers.

2021-07-26  Noah Sanci  <nsanci@redhat.com>

	PR27982
	* debuginfod-client.c (globals): added default_maxsize and
	default_maxtime.
	(debuginfod_query_server): Added DEBUGINFOD_MAXSIZE and
	DEBUGINFOD_MAXTIME envvar processing.
	* debuginfod.cxx (handler_cb): If the requested file exceeds
	maxsize return code 406.
	* debuginfod.h.in: Added DEBUGINFOD_MAXSIZE_ENV_VAR and
	DEBUGINFOD_MAXTIME_ENV_VAR.

2021-07-16  Noah Sanci  <nsanci@redhat.com>

	PR28034
	* debuginfod-client.c (debuginfod_query_server): % escape filename
	so the completed url is processed properly.

2021-06-28 Noah Sanci <nsanci@redhat.com>

	PR25978
	* debuginfod.cxx (options): Added --fdcache-prefetch-fds/mbs options.
	(set_metric): Added a condition for fdcache_mintmp to ensure no
	negative percentages or percentages larger than 100% are given.
	(globals): Added fdcache_prefetch_mbs/fdcache_prefetch_fds.
	(set_metrics): Differentiate between lru and prefetch metrics.
	(intern): Added prefetch functionality for nuking preexisting copies
	and incrementing prefetch metrics.
	(lookup): Search prefetch cache and increment associated metrics. Upon
	finding in the prefetch cache move the element to the lru cache.
	(limit): Arguments updated. Update size of prefetch cache.
	(main): Log prefetch and cache fds/mbs

2021-07-06  Alice Zhang  <alizhang@redhat.com>

	PR27531
	* debuginfod-client.c (debuginfod_query_server): Retry failed queries
	if error code is not ENOENT.
	* debuginfod.h.in: Introduce DEBUGINFOD_RETRY_LIMIT_ENV_VAR.

2021-07-01  Noah Sanci <nsanci@redhat.com>

	PR27711
	* debuginfod.cxx (options): Add --regex-groom, -r option.
	(regex_groom): New static bool defaults to false.
	(parse_opt): Handle 'r' option by setting regex_groom to true.
	(groom): Introduce and use reg_include and reg_exclude.

2021-07-09  Noah Sanci  <nsanci@redhat.com>

	PR27983
	* debuginfod-client.c (debuginfod_query_server): As full-length
	urls are generated with standardized formats, ignore duplicates.
	Created out1 and changed out2 error gotos. Updated url creation print
	statements.
	(globals): Removed url_delim_char, as it was no longer used.

2021-06-18  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_begin): Don't use client if
	calloc call failed.

2021-06-03  Frank Ch. Eigler <fche@redhat.com>

	PR27863
	* debuginfod.cxx (unique_set, unique_set_reserver): New classes.
	(handler_cb): Use them to implement "after-you" queueing.

2021-05-14  Frank Ch. Eigler <fche@redhat.com>

	PR27859
	* debuginfod-client.c (debuginfod_client): Retain only
	long-lived multi handle from PR27701 work.
	(debuginfo_begin,debuginfod_end): ctor/dtor for surviving field only.
	(debuginfod_query_server): Rework to reuse multi handle only.

2021-04-19  Martin Liska  <mliska@suse.cz>

	* debuginfod-client.c (debuginfod_query_server): Use startswith.
	(debuginfod_add_http_header): Likewise.
	* debuginfod.cxx: Likewise.

2021-05-04  Alice Zhang <alizhang@redhat.com>

	* debuginfod-client.c (cache_miss_default_s): New static time_t,
	defaults to 600 (10 minutes).
	(cache_miss_filename): New static char pointer.
	(debuginfod_config_cache): New static function.
	(debuginfod_clean_cache): Use debuginfod_config_cache for
	interval_path and max_unused_path.
	(debuginfod_query_server): Check whether target_cache_path exists
	as negative cache file and create target_cache_path when the server
	returns ENOENT. Check cache_miss_path fir cache miss time.

2021-04-26  Frank Ch. Eigler <fche@redhat.com>

	PR27571
	* debuginfod-client.c (debuginfod_query_server): Chmod 0400 files
	delivered into the cache to prevent accidental modification.

2021-04-26  Frank Ch. Eigler <fche@redhat.com>

	PR26125
	* debuginfod-client.c (debuginfod_clean_cache): For directory
	rmdir, check mtime first.
	(debuginfod_query_server): Try mkdir / mkstemp up to twice,
	in case of race.

2021-04-23  Frank Ch. Eigler <fche@redhat.com>

	PR27701
	* debuginfod-client.c (struct debuginfod_client): Add long-lived
	CURL easy and multi handles.
	(debuginfo_begin,debuginfod_end): ctor/dtor for these.
	(debuginfod_query_server): Rework to reuse easy & multi handles.
	(*_envvar): Just use the DEBUGINFOD_*_ENV_VAR directly instead.

	* debuginfod.cxx (dc_pool): New pile of reusable debuginfod_client
	objects for upstream federation connections.
	(debuginfod_pool_{begin,end,groom}): New functions.
	(handle_buildid): Use them.
	(handler_cb): Fix keep-alive given libmicrohttpd convention of multiple
	callbacks.

2021-04-15  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (groom): Only update database stats once.

2021-04-15  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (elf_classify): Recognize symtab-only stripped files
	like fedora's libicudata as debuginfo files.

2021-03-30  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (main): Set child thread names.

2021-03-07  Timm Bäder <tbaeder@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Tweak
	double/long clamping arithmetic to avoid UB and warnings.

2021-02-25  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (handler_cb): Filter webapi for bad
	artifacttype keywords early for metric hygiene.

2021-02-14  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (main -U): Use bsdtar unconditionally.  Also map
	the debian-compatible .ipk (openembedded distro family) to same.

2021-02-04  Frank Ch. Eigler <fche@redhat.com>

	PR27092 low-memory handling
	* debuginfod.cxx (fdcache_mintmp): New parameter, with cmd-line option.
	(parse_opt): Parse it.
	(main): Default it.
	(statfs_free_enough_p): New function.
	(libarchive_fdcache::*): Call it to trigger emergency fdcache flush.
	(thread_main_scanner): Call it to report filesystem fullness metrics.
	(groom): Ditto.
	(set/add_metric): Take double rather than int64_t values.
	(archive_exception): Propagate suberror to metric label.
	(main): Detect pthread creation fatal errors properly.

2021-02-02  Frank Ch. Eigler <fche@redhat.com>

	PR27323
	* debuginfod.cxx (dbq): New read-only database connection for queries
	only.
	(signal_handler): Interrupt it.
	(main): Open / close it.
	(handle_buildid): Use it for webapi queries only.
	(database_stats_report): Make more interruptible.  Report sqlite3
	operation times to the prometheus metrics.
	(groom): Make more interruptible.
	(thread_main_fts_source_paths, thread_main_groom): Ensure
	state/progress metrics are fresh even in case of exceptions.

2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>

	* .gitignore: New file.

2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>

	* debuginfod-client.c (debuginfod_query_server): Fix spelling typos in
	comments.
	* debuginfod.cxx: Likewise.
	(parse_opt): Fix spelling typos in error diagnostics.

2020-12-08  Dmitry V. Levin  <ldv@altlinux.org>

	* Makefile.am [LIBDEBUGINFOD]: Create libdebuginfod.so.1 first, turn
	libdebuginfod.so into symlink.

2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>

	* Makefile.am (libdebuginfod.so): Replace $@.$(VERSION) with
	$(LIBDEBUGINFOD_SONAME).
	(install, uninstall, MOSTLYCLEANFILES): Replace
	libdebuginfod.so.$(VERSION) with $(LIBDEBUGINFOD_SONAME).
	(VERSION): Remove.
	* debuginfod.h: Rename to ...
	* debuginfod.h.in ... this.
	(DEBUGINFOD_SONAME): New macro.

2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>

	* Makefile.am (libdebuginfod.so$(EXEEXT)): Drop $(EXEEXT) suffix.

2020-11-25  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (step_ok_done): Correct typo in prom metric label.

2020-11-25  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (tmp_ms_metric): Switch from gettimeofday to
	clock_gettime(CLOCK_MONOTONIC) for time-interval measurements.
	(handler_cb, scan_source_paths, groom): Ditto.

2020-11-23  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (tmp_ms_metric): New class for RAII timing metrics.
	(sqlite_ps::reset, step*): Call it to track sqlite3 performance.
	(sqlite_exception ctor): Increment sqlite3 error_count.

2020-11-23  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Initialize
	struct handle_data errbuf to the empty string.

2020-11-11  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_set_verbose_fd): New function.
	(struct debuginfod_client): Add verbose_fd.
	(struct handle_data): Add errbuf.
	(debuginfod_query_server): Produce verbose output when
	debuginfod_client verbose_fd is set. Only clear old data and set
	default_headers when any work is done. Always goto out when setting
	rc to an error value. Use CURLOPT_ERRORBUFFER to get more error
	output when verbose output is requested.
	* debuginfod.h (DEBUGINFOD_VERBOSE_ENV_VAR): New.
	(debuginfod_set_verbose_fd): Added.
	* debuginfod-find.c (parse_opt): Set debuginfod_set_verbose_fd on -v.
	* bdebuginfod.map (ELFUTILS_0.183): New section, add
	debuginfod_set_verbose_fd.

2020-11-21  Mark Wielaard  <mark@klomp.org>

	* debuginfod.cxx (handle_root): New function.
	(handler_cb): Handle "/" and report url1 in webapi error.

2020-11-11  Mark Wielaard  <mark@klomp.org>

	* debuginfod-find.c (progressfn): Use clock_gettime to print Progress
	at most 5 times a second.

2020-11-19  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (tmp_inc_metric): New class.
	(handler_cb): Use it to track webapi operations.

2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>

	* debuginfod-client.c (debuginfod_init_cache): Use ACCESSPERMS for
	mkdir, DEFFILEMODE for open with O_CREAT.

2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>

	* debuginfod.cxx: include libintl.h.

2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>

	* Makefile.am (debuginfod_LDADD): Add argp_LDADD and fts_LIBS.
	(debuginfod_find_LDADD): Likewise.
	(libdebuginfod_so_LDLIBS): Add fts_LIBS.

2020-10-31  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (scan_source_file, scan_archive_file): Add new scanned_bytes_total,
	scanned_files_total metrics.
	(archive_classify): Exit early if interrupted.
	(scan_source_paths): Perform realpath/regex checks only on FTS_F files.
	Tweak metrics.

2020-10-30  Frank Ch. Eigler  <fche@redhat.com>

	PR26775 cont'd.
	* debuginfod.cxx (thread_main_scanner): Ensure control doesn't
	leave infinite loop until program exit, even if SIGUSR2.
	(scan_source_paths): Have traverser clean scanq on
	SIGUSR2.  Emit additional traversed_total metrics.
	(groom): Emit additional groomed_total metrics.
	(thread_main_groom): Restore previous thread_work_total
	metric.

2020-10-29  Frank Ch. Eigler  <fche@redhat.com>

	PR26775
	* debuginfod.cxx (forced_*_count): Make these global.
	(runq::clear): New function.
	(thread_main_scanner): Check for pending SIGUSR2; interrupt.
	(scan_source_paths): Check for pending SIGUSR2; interrupt.
	(groom): Report prometheus stats before groom also.  Check for
	pending SIGUSR1; interrupt.  Increment thread_work_total for
	each file scanned, not the entire cycle.

2020-10-29  Frank Ch. Eigler  <fche@redhat.com>

	PR26810
	* debuginfod.cxx (handle_buildid_*_match): Throw exceptions for
	more lower level libc errors.
	(handle_buildid_match): Catch & report exceptions but return 0
	for continued iteration in the caller.

2020-10-25  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Translate
	CURLE_PEER_FAILED_VERIFICATION to ECONNREFUSED.

2020-10-20  Frank Ch. Eigler  <fche@redhat.com>

	PR26756: more prometheus metrics
	* debuginfod.cxx (*_exception): Add counters for error occurrences.
	(fdcache::*): Add counters for fdcache operations and status.
	(fdcache::set_metric): New fn for overall stat counts.
	(fdcache::limit): ... allow metric-less use from dtors.

2020-10-20  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (handle_buildid*): Add a parameter for detecting
	internally-originated lookups for dwz resolution.

2020-09-18  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (scan_source_file, archive_classify): Store only
	canonicalized file names in sdef & sref records in the database.

2020-09-08  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (BUILD_STATIC): Include libcurl_LIBS in libdebuginfod
	when NOT DUMMY_LIBDEBUGINFOD.

2020-09-16  Mark Wielaard  <mark@klomp.org>

	* debuginfod-find.c: Fix license block comment.

2020-09-15  Mark Wielaard  <mark@klomp.org>

	* debuginfod-find.c (main): Use dwelf_elf_begin.

2020-07-03  Alice Zhang <alizhang@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Use strncasecmp
	to compare effective_url. Try CURLINFO_SCHEME as fallback.

2020-06-19  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (bin_PROGRAMS): Guard with DEBUGINFOD and
	LIBDEBUGINFOD.
	(debuginfod_LDADD): Remove libcurl.
	(libdebuginfod): When static and DUMMY_LIBDEBUGINFO remove libcurl.
	(noinst_LIBRARIES): Guard with LIBDEBUGINFOD.
	(AM_CPPFLAGS): Add -Wno-unused-parameter when DUMMY_LIBDEBUGINFOD.
	(pkginclude_headers): Guard with LIBDEBUGINFOD
	(libdebuginfod_so_LIBS): Likewise.
	(+libdebuginfod_so_LDLIBS): Likewise.
	(install): Likewise.
	(uninstall): Likewise.
	* debuginfod-client.c: Include dummy functions when
	DUMMY_LIBDEBUGINFOD.
	* debuginfod.cxx: Remove curl.h include.

2020-06-16  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Check malloc.
	Move curl_multi_init call before handle_data malloc call.

2020-06-16  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Replace sizeof
	build_id_bytes check with strlen build_id check.

2020-06-16  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Increase suffix
	array and prepare having to escape 1 character with 2.

2020-06-16  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_clean_cache): Handle failing
	fopen (interval_path).

2020-03-29  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_add_http_header): Check header
	contains precisely one colon that isn't the first or last char.

2020-03-29  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (struct debuginfod_client): Add a flag field
	for progressfn printing.
	(default_progressfn): Set it if printing \rsomething.
	(debuginfod_end): Terminate with \n if flag set, i.e., only if the
	default_progressfn was actually called.

2020-03-27  Mark Wielaard  <mark@klomp.org>

	* debuginfod.cxx (parse_opt): Check port is not zero.

2020-03-28  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (handle_buildid_r_match): During archive
	extraction / fdcache prefetching, set the mtime of each
	file in the cache.

2020-03-27  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-find.c (main): Extract buildid from /binary/ if
	given instead of hex string.
	* Makefile.am: Add elfutils library prereqs for debuginfod-find.

2020-03-24  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.h, libdebuginfod.map: New functions for _add_url_header.
	* debuginfod-client.c (struct debuginfod_client): Add headers fields.
	(debuginfod_add_http_header): New client api to add outgoing headers.
	(add_default_headers): Renamed from add_extra_headers, skip if flag.
	(debuginfod_query_server): Pass accumulated headers to libcurl.
	(debuginfod_end): Clean accumulated headers.
	(debuginfod_find_*): Add default headers at this point.
	* debuginfod.cxx (handle_buildid): Add conn pointer.  Use it to relay
	incoming UA and XFF headers to federated upstream debuginfods.

2020-03-26  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (handler_cb): Export two families of metrics for
	prometheus traffic analysis: response times and data amounts.

2020-03-26  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (parse_opt): For -U, prefer dpkg-deb
	after all if access(3)-able, fallback to bsdtar.

2020-03-25  Frank Ch. Eigler <fche@redhat.com>

	* debuginfod.cxx (parse_opt): Associate a bsdtar subshell with
	the .deb & .ddeb extensions, instead of dpkg-deb.

2020-03-26  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Don't
	set CURLOPT_PATH_AS_IS on old curl.  Mostly harmless.

2020-03-24  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Set
	CURLOPT_PATH_AS_IS, to propagate file names verbatim.
	* debuginfod.cxx (canon_pathname): Implement RFC3986
	style pathname canonicalization.
	(handle_buildid): Canonicalize incoming webapi source
	paths, accept either one.
	(scan_source_file, archive_classify): Store both
	original and canonicalized dwarf-source file names.

2020-03-24  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (handle_buildid): In case of federated fallback
	queries, handle errors analogously to local ENOENT/404.
	(handle_metrics): Return a size-of-response value.
	(handler_cb): Add code to time entire application-side processing
	stage + response sizes + http codes, so as to emit a complete
	httpd-flavoured log line for each webapi request.

2020-03-24  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Print the
	default_progressfn terminating \n message only if that progressfn
	is actually set.

2020-03-24  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-find.c (main): Correct /source full-pathness check for
	"debuginfod-find -v source deadbeef /pathname" case.

2020-03-22  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (struct debuginfod_client): Add url field.
	(struct handle_data): Add client field as backpointer.
	(debuginfod_write_callback): Compute & save URL.
	(default_progressfn): Print front pieces of the URL.
	(debuginfod_query_server): Clear URL and cleanup after progressfn.
	* debuginfod-find.c (main): Print URL at transfer conclusion.

2020-03-22  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.h, libdebuginfod.map: New functions for _get/set_user().
	* debuginfod-client.c: Implement them.
	* debuginfod-find.c: Include a token call just for testing them.

2020-03-03  Aaron Merey  <amerey@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Update
	cache_path even when new default path already exists.

2020-02-27  Aaron Merey  <amerey@redhat.com>

	* debuginfod-client.c (xalloc_str): New macro. Call
	asprintf with error checking.
	(debuginfod_query_server): Use XDG_CACHE_HOME as a default
	cache location if it is set. Replace snprintf with xalloc_str.

2020-02-26  Konrad Kleine <kkleine@redhat.com>

	* debuginfod-client.c (debuginfod_query_server): Handle curl's
	response code correctly when DEBUGINFOD_URLS begin with file://

2020-02-25  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (parse_opt): Treat -R as if -Z.rpm .

2020-02-25  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (fdcache_prefetch): New parameter.
	(parse_opt): Parse it.
	(main): Default it.
	(fdcache::fd_size_mb): Change to double for accuracy.
	(fdcache::probe): New function.
	(fdcache::intern): New option to intern at end of LRU.
	(fdcache::lookup): Clean fdcache.
	(handle_buildid_r_match): Implement multi-stage archive
	parsing, with optional prefetching of extracted contents
	into the fdcache.

2020-02-19  Aaron Merey  <amerey@redhat.com>

	* debuginfod-client.c (debuginfod_clean_cache): Restrict
	cleanup to client-pattern files.

2020-02-05  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (argp options): Add -Z option.
	(canonicalized_archive_entry_pathname): New function for
	distro-agnostic file name matching/storage.

2020-01-22  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (dwarf_extract_source_paths): Don't print
	"skipping hat" messages at verbosity <=3, too noisy.

2020-01-19  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (scanq): Rework to let groomer/fts threads
	synchronize with an empty workqueue, and lock out workqueue
	consumers.
	(thread_groom): Adopt new scanq idle APIs to lock out scanners.
	(thread_main_fts_source_paths): Adopt new scanq idler API to
	avoid being restarted while scanners haven't even finished yet.
	(thread_main_*): Increment thread_work_total metric only after
	a work cycle is completed, not when it begins.

2020-01-18  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (thread_main_scanner): Handle empty source_paths[].

2020-01-11  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (libarchive_fdcache): New class/facility to own a
	cache of temporary files that were previously extracted from an
	archive.  If only it could store just unlinked fd's instead of
	filenames.
	(handle_buildid_r_match): Use it to answer dwz/altdebug and webapi
	requests.
	(groom): Clean it.
	(main): Initialize the cache control parameters from heuristics.
	Use a consistent tmpdir for these and tmp files elsewhere.

2020-01-11  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (conninfo): Print User-Agent and X-Forwarded-For
	request headers, after mild safety-censorship (for easier machine
	processing).

2020-01-11  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx: Rework threading model.
	(workq): New class for concurrent work-queue.
	(semaphore): Removed class, now unused.
	(scan_source_file_path): Rework into ...
	(scan_source_file): New function.
	(thread_main_scan_source_file_path): Nuke.
	(scan_source_archive_path): Rework into ...
	(scan_archive_file): New function.
	(thread_main_scanner): New function for scanner threads.
	(thread_main_fts_source_paths): New function for traversal thread.
	(scan_source_paths): ... doing this.
	(thread_groom): Tweak metrics for consistency.
	(main): Start 1 traversal and N scanner threads if needed.

2019-01-02  Mark Wielaard  <mark@klomp.org>

	* debuginfod.cxx (default_connect_timeout): Removed.
	(default_transfer_timeout): Removed.
	(default_timeout): New. Default to 90 seconds.
	(debuginfod_query_server): Parse server_timeout_envvar as one number.
	Set as CURLOPT_LOW_SPEED_TIME, with CURL_OPT_LOW_SPEED_LIMITE as 100K.

2020-01-09  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (add_extra_headers): New function,
	based on mjw's draft.
	(debuginfod_query_server): Call it.

2019-12-22  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (*_rpm_*): Rename to *_archive_* throughout.
	(scan_archives): New read-mostly global to identify archive
	file extensions and corresponding extractor commands.
	(parse_opt): Handle new -U flag.

2019-12-19  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod-client.c (default_progressfn): New function.
	(debuginfod_begin): Use it if $DEBUGINFOD_PROGRESS set.
	(server_timeout): Bump to 30 seconds.
	(debuginfod_query_server): Call progressfn -after- rather than
	before curl ops, to make it likely that a successful transfer
	results in final a=b call.  Tweak cleanup sequence.
	* debuginfod.h: Document $DEBUGINFOD_PROGRESS name.

2019-12-09  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Check
	server_urls_envvar early.

2019-12-03  Mark Wielaard  <mark@klomp.org>

	* debuginfod-client.c (debuginfod_query_server): Use separate
	local variables for CURLcode curl_res and CURLMcode curlm_res.

2019-11-26  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (BUILD_STATIC): Add needed libraries for libdw and
	libdebuginfod.

2019-11-25  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx (groom): Add a sqlite3_db_release_memory()
	at the end of periodic grooming to try to shrink the process.

2019-11-24  Mark Wielaard  <mark@klomp.org>

	* debuginfod.cxx (test_webapi_sleep): Removed.
	(handler_cb): Don't check test_webapi_sleep and sleep.
	(main): Don't set test_webapi_sleep.

2019-11-24  Mark Wielaard  <mark@klomp.org>

	* debuginfod.cxx (add_metric): New function.
	(scan_source_file_path): Record metrics for
	found_executable_total, found_debuginfo_total and
	found_sourcerefs_total.
	(scan_source_rpm_path): Likewise.

2019-11-07  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx: Add /metrics endpoint.  Add numerous
	calls to new functions inc_metric/set_metric to populate
	threadsafe map containing stats.  Add http content-type
	response headers throughout.
	(thread_main_*): Simplify counter/timer flow.
	(main): Reorder web service shutdown to leave http running
	as long as possible.
	* debuginfod.8: Document it, add security caution.

2019-11-06  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx: Add new -L (symlink-following) mode.
	* debuginfod.8: Document it.

2019-11-04  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfo-client.c (debuginfod_set_progressfn): New function
	for progress/interrupt callback.
	(debuginfod_clean_cache, debuginfod_query_server): Call it.
	* debuginfo.h: Declare it.
	* debuginfod_set_progressfn.3, *_find_debuginfo.3: Document it.
	* Makefile.am: Install it.
	* libdebuginfod.map: Export it all under ELFUTILS_0.178 symversion.

	* debuginfod-find.c: Add -v option to activate progress cb.
	* debuginfod-find.1: Document it.
	* debuginfod.cxx: Add $DEBUGINFOD_TEST_WEBAPI_SLEEP env var
	to insert sleep in webapi callbacks, to help manual testing.

2019-10-28  Frank Ch. Eigler  <fche@redhat.com>

	* debuginfod.cxx: New file: debuginfod server.
	* debuginfod.8: New file: man page.
	* Makefile.am: Build it.

2019-10-28  Aaron Merey  <amerey@redhat.com>

	* debuginfod-client.c: New file: debuginfod client library.
	* debuginfod.h: New file: header for same.
	* libdebuginfod.map: New file: govern its solib exports.
	* debuginfod-find.c: New file: command line frontend.
	* debuginfod-find.1, debuginfod_find_source.3,
	debuginfod_find_executable.3, debuginfod_find_debuginfo.3:
	New man pages.
