12021-03-22  Werner Koch  <wk@gnupg.org>
2
3	Release 1.42.
4	+ commit 303062bf9a383de67227ff942c5482f3a87c71ed
5
6
7	core: Add GPG_ERR_SOURCE_TPM2D.
8	+ commit 200bf2ed9d610219cc0b12a91dedb3bfd52d36b7
9	* src/err-sources.h.in (GPG_ERR_SOURCE_TPM2D): New.
10
112021-03-05  Werner Koch  <wk@gnupg.org>
12
13	w32: Allow Unicode paths for the gettext domain.
14	+ commit 618ce381f9d70f3a94e87f58f667a6138411018e
15	* src/w32-gettext.c: Remove remaining WindowsCE support
16	(load_domain): Use CreateFileW.
17
182021-03-04  Werner Koch  <wk@gnupg.org>
19
20	w32: Minor cleanup of w32-gettext.
21	+ commit 3bf1de7b72be8e1d9fa78eb94730772d9cf61c44
22	* src/w32-gettext.c: Include gpgrt.h instead gpg-error.h.
23	(utf8_to_wchar): Use underscored function.
24	(_gpg_w32_textdomain): Ditto.
25
262021-02-18  NIIBE Yutaka  <gniibe@fsij.org>
27
28	build: Support --disable-threads by gen-lock-obj.sh.
29	+ commit 1fb90a7da186ee2ee098a666f6f3a35bb1720e59
30	* configure.ac: Supply --disable-threads to gen-lock-obj.sh.
31	Tighten the condition of using gen-lock-obj.sh for GNU/Linux.
32	* src/gen-lock-obj.sh: Support --disable-threads.
33
342021-02-16  NIIBE Yutaka  <gniibe@fsij.org>
35
36	build: Fix gpgrt-config.
37	+ commit ed3cd20de8d3eab92dd8fff02bcc214c55d08398
38	* src/gpgrt-config.in: Remove delimiter variable.
39
40	build: More fix for determining libdir for gpgrt-config.
41	+ commit 28a21addc2e30b0756cdc6774c79f69070df8829
42	* src/gpg-error.m4: Use CC -print-search-dirs for better support of
43	GNU style cross prefix.
44
452021-02-15  NIIBE Yutaka  <gniibe@fsij.org>
46
47	build: Fix the previous change.
48	+ commit d7fd25bbfb83cd445bc81aa695b2c6127c22fa59
49	* src/gpg-error.m4: Fix test condition for GPGRT_CONFIG.
50	Fix behaviour when there is no GPG_ERROR_CONFIG.
51
522021-02-12  NIIBE Yutaka  <gniibe@fsij.org>
53
54	build: Improve how to determine $libdir for gpgrt-config.
55	+ commit 3cabbad4eec0e5bc6bdaa9f8626578934138adee
56	* src/gpg-error.m4: Fix $gpgrt_libdir handling.
57
582021-02-09  NIIBE Yutaka  <gniibe@fsij.org>
59
60	Support cross-compiling on more platforms.
61	+ commit 99ae862a96a569724f49a604ebb7d3f6d2c2d374
62	* src/gen-lock-obj.sh (ECHO_C, ECHO_N): Portability fix.
63
642020-12-21  Werner Koch  <wk@gnupg.org>
65
66	Release 1.41.
67	+ commit 98032624ae89a67ee6fe3b1db5d95032e681d163
68
69
70	core: Yet another fix to the ignore meta command.
71	+ commit 7021b58b0f2d95b94a2bac43e15ec97d89706b7f
72	* src/argparse.c (_gpgrt_argparse): Entirely skip ignored sysconf
73	commands.  Fix state transitions in the ignore case.
74
75	Release 1.40.
76	+ commit c1f4ed561e9d214be9fdc3005134b9d0ed87554f
77	* configure.ac: Bump LT version to C31/A31/R0.
78
79	w32: Allow Unicode for internal getusername function.
80	+ commit 007cfe8a0ca4c03412f031878d6ce232612a90d8
81	* src/sysutils.c (_gpgrt_getusername) [W32]: Use GetUserNameW.
82
832020-12-18  Werner Koch  <wk@gnupg.org>
84
85	core: Fix the "ignore" meta command of the argparser.
86	+ commit 4b09c8c2023d52b97be6069c20897ebfb25f9bca
87	* src/argparse.c (_gpgrt_argparse): Factor some code out to ...
88	(prepare_arg_return): new.
89	(_gpgrt_argparse): No missing arg error in ignore sections.
90
912020-12-07  NIIBE Yutaka  <gniibe@fsij.org>
92	    John Ericson
93
94	build: Use AC_CHECK_TOOL to detect objdump for cross build.
95	+ commit 9ee011259f819a3cf50fe7019fa4366dbc437e0e
96	* configure.ac (CROSS_HOST_OBJDUMP): Remove, but use AC_CHECK_TOOL.
97
982020-11-17  NIIBE Yutaka  <gniibe@fsij.org>
99
100	m4: Update with newer autoconf constructs.
101	+ commit 8047ca99858a7ee812ef11ed3bd2868e920ac1b7
102	* src/gpg-error.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
103
104	build: Update to new autoconf constructs.
105	+ commit 41d753e21eaae3e4332e841de2f40e7055f2a68c
106	* configure.ac Replace AC_GNU_SOURCE to Use AC_USE_SYSTEM_EXTENSIONS.
107	Replace AC_HELP_STRING to AS_HELP_STRING.
108	* m4/estream.m4: Replace AC_TRY_LINK to AC_LINK_IFELSE.
109	* m4/gnupg-misc.m4: Replace AC_TRY_COMPILE to AC_COMPILE_IFELSE.
110	* m4/libtool.m4: Use AC_LANG_PUSH/AC_LANG_POP instead of
111	AC_LANG_SAVE/AC_LANG_RESTORE.
112	* m4/readline.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
113	Fix quote for _combo.
114	* m4/threadlib.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
115
1162020-10-19  Werner Koch  <wk@gnupg.org>
117
118	New public function gpgrt_access.
119	+ commit 4764c5a3a4d704b3b42bafc5eba3996579030703
120	* src/gpg-error.h.in (gpgrt_access): New.
121	* src/gpg-error.vers. src/gpg-error.def.in: Add new function.
122	* src/sysutils.c (any8bitchar): New.
123	(_gpgrt_access): New.
124	* src/visibility.c (gpgrt_access): New.
125
126	* src/spawn-w32.c (_gpgrt_spawn_process_detached): Use it.
127	* src/argparse.c (try_versioned_conffile): Use it.
128	* tests/t-stringutils.c (check_access): New simple test.
129
1302020-10-09  Werner Koch  <wk@gnupg.org>
131
132	w32: Support utf8 also for getcwd.
133	+ commit dbedf190969de1a796560cfa15fb4ea986bc79dc
134	* src/sysutils.c (_gpgrt_getcwd) [W32]: Implement utf-8 support.
135	* src/w32-gettext.c (wchar_to_native): Factor some code out to ..
136	(wchar_to_cp): new.
137	(_gpgrt_wchar_to_utf8): New.
138	* tests/t-stringutils.c: Include windows.h.
139	(utf8_to_wchar): New.
140	(wchar_to_utf8): New.
141	(mygetcwd): Use wchar version for Windows.
142	(main): New option --pwd.
143
1442020-08-24  Werner Koch  <wk@gnupg.org>
145
146	Release 1.39.
147	+ commit 59d9f8106db3a23cb5d51d01dc6b719413d3f760
148
149
1502020-08-21  Werner Koch  <wk@gnupg.org>
151
152	core,w32: Add UTF-8 support to gpgrt_fopen, gpgrt_mkdir and gpgrt_chdir.
153	+ commit a68c1975bda47b0698b48761a62e95b371095e9a
154	* src/protos.h: New.
155	* src/Makefile.am (libgpg_error_la_SOURCES): Add file.
156	* src/gpgrt-int.h: Include protos.h.
157	* src/sysutils.c (_gpgrt_mkdir) [W32]: Make UTF-8 aware.
158	(_gpgrt_chdir) [W32]: Ditto.
159	* src/w32-gettext.c: Include protos.h.
160	(utf8_to_wchar): Allow for strings.
161	(_gpgrt_utf8_to_wchar): New.
162	(_gpgrt_free_wchar): New.
163	* src/estream.c (map_w32_to_errno): Add more error codes.
164	(_gpgrt_w32_set_errno): New.
165	(any8bitchar) [W32]: New helper.
166	(func_file_create) [W32]: Convert file name and use _wopen.
167
1682020-08-21  NIIBE Yutaka  <gniibe@fsij.org>
169
170	argparse: Handle a corner case of wrong ARGC.
171	+ commit 87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03
172	* src/argparse.c (arg_parse): Avoid null dereference when ARGC is wrong.
173
1742020-08-17  Werner Koch  <wk@gnupg.org>
175
176	Fix a current gcc's -fsanitize warning.
177	+ commit c5fcdd9a58a2508a20327226c52d155c29ddd5f3
178	* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): Make sure it is an
179	unsigned int.
180
1812020-08-11  Werner Koch  <wk@gnupg.org>
182
183	core,w32: Use timeout in es_poll even if there are no FDs.
184	+ commit fd1340085bc6879436dd2882dc5178c133434675
185	* src/w32-estream.c (_gpgrt_w32_poll): Sleep if there are no handles
186	to wait for.
187
1882020-08-05  Werner Koch  <wk@gnupg.org>
189
190	Make --lib-version work again.
191	+ commit e0dab4843ded8af172c2566b4d7313a1a13e7e26
192	* src/gpg-error.c (main): Add printing code.
193
1942020-08-03  NIIBE Yutaka  <gniibe@fsij.org>
195
196	gpgrt-config: Fix handling 'Requires' field.
197	+ commit 4192cbc3c58589055de1fb5ccbe42f3d33adb0af
198	* src/gpgrt-config.in (get_attr_l): New.
199	(all_required_config_files): Use get_attr_l.
200
2012020-07-15  NIIBE Yutaka  <gniibe@fsij.org>
202
203	w32: Add gpgrt_fcancel to the definition.
204	+ commit c564d8c5a0e7c1aba9103cb4b6561b61074c60f1
205	* src/gpg-error.def.in (gpgrt_fcancel): Add.
206
2072020-06-26  Werner Koch  <wk@gnupg.org>
208
209	estream: Add gpgrt_fcancel.
210	+ commit 3413489d25577e3fe7f529b8e610a45d2bd1857c
211	* src/estream.c (do_close): Add arg 'cancel_mode' and chnage all
212	callers.
213	(_gpgrt_fcancel): New.
214	* src/gpg-error.def.in, src/gpg-error.vers: Add function.
215	* src/visibility.c (gpgrt_fcancel): New.
216	* src/gpg-error.h.in (gpgrt_fcancel): New.
217
2182020-06-15  NIIBE Yutaka  <gniibe@fsij.org>
219
220	build: Fix the gpg-error-config test for cross build.
221	+ commit 1a4c1f37a1c95a4cfcaab6df3364ee3515a1ea1b
222	* src/gpg-error-config-test.sh.in: Clear PKG_CONFIG_SYSROOT_DIR.
223
2242020-06-12  NIIBE Yutaka  <gniibe@fsij.org>
225
226	build: Fix command-line to make 'src 'dir.
227	+ commit 159e394920f6be822d771fe003498de4d93b07c3
228	* configure.ac: Mistake, then, fix it.
229
2302020-06-11  NIIBE Yutaka  <gniibe@fsij.org>
231
232	build: On cross build, detect host's objdump.
233	+ commit ce97528fa3dcc58d86e18d4d8820f210a624f63d
234	* configure.ac [*-*-linux*] (CROSS_HOST_OBJDUMP): New.
235
2362020-06-03  David Michael  <fedora.dm0@gmail.com>
237
238	build: Fix cross-compiling into a separate build dir.
239	+ commit 013720333c6ec1d38791689bc49ba039d98e16b3
240	* configure.ac: Create the src directory before writing into it.
241	* src/Makefile.am (EXTRA_DIST): Add gen-lock-obj.sh.
242
2432020-05-29  Werner Koch  <wk@gnupg.org>
244
245	Release 1.38.
246	+ commit 71d278824c5fe61865f7927a2ed1aa3115f9e439
247
248
2492020-05-29  Yuri Chornoivan  <yurchor@ukr.net>
250
251	po: Update Ukrainian translation.
252	+ commit 1143b2d3619939a60f47af75be2123f3b225b32b
253
254
2552020-05-29  Ineiev  <ineiev@gnu.org>
256
257	po: Update and proofread Russian translation.
258	+ commit a6104a9ab717499d405ff2af61a928a08774466a
259
260
2612020-05-19  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
262
263	syscfg: add 64-bit big-endian MIPS architecture.
264	+ commit 0db8c768843db3e85935b972f1ed9d1b98159c46
265	* src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h: new.
266	* src/Makefile.am (lock_obj_pub): Add it.
267
2682020-04-09  NIIBE Yutaka  <gniibe@fsij.org>
269
270	build: Use gen-lock-obj.sh script when possible.
271	+ commit 988211d3d4c1f3d5cfa6b460210f65ab636763b5
272	* configure.ac (HAVE_GENERATED_LOCK_OBJ_H): New.
273	* src/Makefile.am: Support HAVE_GENERATED_LOCK_OBJ_H.
274
275	build: Add a shell script to generate lock-obj-pub.h.
276	+ commit 50e62b36ea01ed25d12c443088b85d4f41a2b3e1
277	* src/gen-lock-obj.sh: New.
278
2792020-04-03  Werner Koch  <wk@gnupg.org>
280
281	core: Improve the echo and info meta commands of the arg parser.
282	+ commit 98d11eff669c042d381ee4f18a42d32bcab256ef
283	* src/argparse.c (handle_meta_echo): Substitue some vars.
284	(handle_meta_user): Factor some code out to ...
285	(assure_username): new.
286
287	core: Implement meta command [user] also for Windows.
288	+ commit ef07aedc70992742fcef92811345670777a3047b
289	* src/argparse.c (initialize): Clear username.
290	* src/sysutils.c (_gpgrt_getusername): Implement for Windows.
291
292	core: Implement meta command [user] for the arg parser.
293	+ commit d843d260f5502ba90a2a35dfe202439f32b0e9aa
294	* src/sysutils.c (_gpgrt_getusername): New.
295	* src/argparse.c (struct _gpgrt_argparse_internal_s): New flags user_*
296	and store the current user.
297	(initialize): Free new malloced field.  Clear new flags.
298	(handle_meta_user): Implement.
299	(handle_metacmd): Implement user sections.  Remove "group" meta
300	command.
301	(_gpgrt_argparse): Implement user sections.
302	(finish_read_sys): Reset new vars.
303
3042020-03-06  Werner Koch  <wk@gnupg.org>
305
306	core: Tweak the printing of headers in the --help output.
307	+ commit 85b5006d01fc64763a6e1f0d6cbda91c5cb709c1
308	* src/argparse.c (show_help): Do not print empty sections between
309	headers.
310
311	core: Add features for pretty printing the help.
312	+ commit c59bf5824aafe938d5ab0d69079b9d93debc19fe
313	* src/gpg-error.h.in (ARGPARSE_OPT_HEADER): New.
314	(ARGPARSE_OPT_VERBATIM): New.
315	(ARGPARSE_verbatim): New.
316	(ARGPARSE_header): New.
317	* src/argparse.c (show_help): Implement them.
318
3192020-03-03  Werner Koch  <wk@gnupg.org>
320
321	core: New function gpgrt_reallocarray.
322	+ commit 969abd302211262562df93ae5412ee319aae69e6
323	* src/init.c (_gpgrt_reallocarray): New.
324	* src/visibility.c (gpgrt_reallocarray): New.
325	* src/gpg-error.vers, src/gpg-error.def.in: Add new function.
326	* src/gpg-error.h.in: Add new interface.
327	* tests/t-malloc.c: New.
328	* tests/Makefile.am (TESTS): Add new test.
329
330	core: Fix allocation bug introduced with last commit.
331	+ commit 72a15bad8f27303475498ce44e34d29b4c2c4593
332	* src/argparse.c (initialize): Increase number of extra slots.
333
3342020-03-02  Werner Koch  <wk@gnupg.org>
335
336	core: New internal option --dump-option-table for argparser.
337	+ commit db95feab16e32309a4bfb382827c495c2c49920c
338	* src/argparse.c (initialize): Add new internal option.
339	(arg_parse): Implement that option.
340	(dump_option_table): New.
341	(show_help): Remove exit and let the caller call my_exit.
342
343	core: Replace fputs by es_fputs in argparser.
344	+ commit f816797c87340a6130dea1e4f8f0e130511dfe3f
345	* src/argparse.c (writestrings): Use that function to match what we
346	are doing in flushstrings.
347
348	core: Allow returning of attributes from gpgrt_argparser.
349	+ commit d3661d81e9aafae75680164ede7322cf3d7b6804
350	* src/gpg-error.h.in (ARGPARSE_FLAG_WITHATTR): New.
351	(ARGPARSE_ATTR_FORCE): New.
352	(ARGPARSE_ATTR_IGNORE): New.
353	(ARGPARSE_TYPE_MASK): Moved from argparse.c to here.
354	* src/argparse.c: Always use macros for constants.
355	(_gpgrt_argparse): Handle ARGPARSE_FLAG_WITHATTR.
356	(arg_parse): Ditto.
357	* tests/t-argparse.c (main): Add commented test case.
358
3592020-02-27  Werner Koch  <wk@gnupg.org>
360
361	core: Implement meta commands for the argparser.
362	+ commit 2d1969ab465bad62f73a7c24ddc8bb490ff9fd40
363	* src/argparse.c (opttable_t): Add new flags forced, ignore, and
364	explicit_ignore.
365	(struct _gpgrt_argparse_internal_s): Change flags to bitflags.  Add
366	several flags to support meta commands.
367	(initialize): Clear them.
368	(handle_meta_user): Use the new verbose flag.
369	(handle_meta_force): Implement.
370	(handle_meta_ignore): Implement.
371	(handle_meta_echo): Support "-echo".
372	(handle_meta_verbose): New.
373	(handle_metacmd): New meta command verbose.  Add always flag and move
374	the detection of unexpected meta commands to here.
375	(_gpgrt_argparse): Make use of the ignore and forced meta commands.
376	(finish_read_sys): New.
377	(_gpgrt_argparser): Support the verbose flag.  Call finish_read_sys.
378	(arg_parse): Ignore non-explicit ignored and all forced options.
379
380	* tests/t-argparse.c (main): Fix printing of the ARGPARSE_CONFFILE
381	case.  New option 'M'.
382	* tests/t-argparse.conf, tests/etc/t-argparse.conf: Various changes to
383	test the new meta commands.
384
385	indent: Fix indentation in an argparse.c function.
386	+ commit ffa21bf5b7066f7fa437119ce6b508b324ea2611
387	* src/argparse.c (arg_parse): Fix it here.
388
3892020-02-26  Werner Koch  <wk@gnupg.org>
390
391	core: Add meta command handler stubs to argparse.c.
392	+ commit 2f169b341e410924c5d7ee7d76ac67f85f26ed6a
393	* src/argparse.c (handle_meta_user): New stub.
394	(handle_meta_force): New stub.
395	(handle_meta_ignore): New stub.
396	(handle_meta_echo): New.
397	(handle_metacmd): New.
398	(_gpgrt_argparse): Call meta command handler.
399
400	core: Prepare argparse.c to track additional info for options.
401	+ commit 9d268891dae6093e5346710a38ba8cd978f24f09
402	* src/argparse.c (opttable_t): New.
403	(struct _gpgrt_argparse_internal_s): Use this instead of a ppointer to
404	gpgrt_opt_t.
405	(initialize): Copy options to the new tableand keep an original ordinal.
406	(_gpgrt_argparse): Adjust for changes.
407	(any_opt_conffile): Ditto.
408	(find_long_option): Ditto.
409	(arg_parse): Ditto.
410	(long_opt_strlen): Adjust args.
411	(cmp_ordtbl): New.
412	(show_help): Print using the ordinal numbers.
413
4142020-02-25  Werner Koch  <wk@gnupg.org>
415
416	core: Add parser for meta commands to gpgrt_argparser.
417	+ commit 6fc2d7cb8ce9e08cb189608466803ee7c8eb6930
418	* src/gpg-error.h.in (ARGPARSE_INVALID_META): New
419	(ARGPARSE_UNKNOWN_META, ARGPARSE_UNEXPECTED_META): New.
420	* src/argparse.c (struct _gpgrt_argparse_internal_s): Add flag
421	insysconfig.
422	(initialize): Init flag.  Add error strings.
423	(_gpgrt_argparser): Set that flag.
424	(_gpgrt_argparse): Add parsing of meta commands.
425
426	* tests/etc/t-argparse.conf: Add some test cases.
427	* tests/t-argparse.conf: Ditto.
428	* tests/t-argparse.c (main): Die only after printing all warnings.
429
430	core: Fold duplicated code from _gpgrt_argparse.
431	+ commit ca79d5edee8c6d93575708643ec825f81107e624
432	* src/argparse.c (_gpgrt_argparse): Fold common code.
433
434	core: Improve readability of _gpgrt_argparse.
435	+ commit 8c185e719860aaa93cc37c0ec91c7bd5e3c2a5ce
436	* src/argparse.c (_gpgrt_argparse): Use enum for the states and
437	replace continue and break.
438
439	core: New flag ARGPARSE_FLAG_USERVERS to try versioned config files.
440	+ commit e9f36cabe157aa046b32dfc0b9f5c175b9808722
441	* src/gpg-error.h.in (ARGPARSE_FLAG_USERVERS): New.
442	* src/argparse.c: Include unistd.h.
443	(try_versioned_conffile): New.
444	(_gpgrt_argparser): Use it.
445
446	core: New pseudo option ARGPARSE_PERMISSION_ERROR.
447	+ commit f25555aed0da7f0492b68efb789dbe3e03ec7fe8
448	* src/gpg-error.h.in (ARGPARSE_PERMISSION_ERROR): New.
449	* src/argparse.c (initialize): Add code to print this error.
450
4512020-02-25  NIIBE Yutaka  <gniibe@fsij.org>
452
453	w32: Fix exporting gpgrt_argparser.
454	+ commit 732ac9c681a0b6afdee2e8eb6937500850f74986
455	* src/gpg-error.def.in (gpgrt_argparser): Fix typo.
456
4572020-02-22  Werner Koch  <wk@gnupg.org>
458
459	core: Extend the way a config file can be specified,
460	+ commit b79b2a7fb3ad3ada45d17e8632f1ee4212ce0764
461	* src/argparse.c (PATHSEP_C, DIRSEP_C): New.
462	(is_absfname, is_twopartfname): New.
463	(_gpgrt_argparser): Allow for a two-part config name.
464
4652020-02-20  Werner Koch  <wk@gnupg.org>
466
467	core: Skip cmdline parsing for no or an empty argv.
468	+ commit 44258227f7dfb12b3c0faa8ab417a9dc2be46eed
469	* src/argparse.c (_gpgrt_argparser): Allow for empty argv.  Also fix
470	memory leak.
471
4722020-02-19  Werner Koch  <wk@gnupg.org>
473
474	core: More fixes for the new option/argument parser.
475	+ commit 46b3749997da84c41f583b22cda812dd5e42bde0
476	* src/argparse.c (arg_parse): Always set opt_flags.  New flag no_init.
477	(_gpgrt_argparse): Clear opt_flags at start.
478	(_gpgrt_argparser): Call arg_parse directly.  Call arg_parse with
479	no_init set.
480
481	core: Some fixes for the new option/argument parser.
482	+ commit a264fe9c55251458df558718fae0845928bf225e
483	* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): New.
484	(initialize): Use a flag bit to track the initialization state.
485	(_gpgrt_argparser): Clear some state on switching files.
486
4872020-02-18  Werner Koch  <wk@gnupg.org>
488
489	core: Add a high level option/argument parser.
490	+ commit 933eb9346a84c87f83f77d990be2f66e2f7b62e7
491	* gpg-error.h.in (GPGRT_CONFDIR_USER, GPGRT_CONFDIR_SYS): New consts.
492	(ARGPARSE_FLAG_SYS, ARGPARSE_FLAG_USER, ARGPARSE_FLAG_VERBOSE)
493	(ARGPARSE_NO_CONFFILE, ARGPARSE_CONFFILE, ARGPARSE_OPT_CONFFILE): New
494	consts.
495	(ARGPARSE_conffile, ARGPARSE_noconffile): New macros.
496	(gpgrt_set_confdir): New func.
497	(gpgrt_argparser): New func.
498	* src/argparse.c (confdir): New var.
499	(enum argparser_states): New.
500	(struct _gpgrt_argparse_internal_s): Add a couple of new fields.
501	(initialize): Init them.
502	(any_opt_conffile): New.
503	(_gpgrt_argparser): New.
504	(_gpgrt_set_confdir): New.
505	* src/visibility.c (gpgrt_argparser): New.
506	(gpgrt_set_confdir): New.
507	* src/gpg-error.def.in, src/gpg-error.vers: Add those functions.
508	* tests/t-argparse.c (main): Reworked.
509	* tests/etc/t-argparse.conf: New file.
510	* tests/t-argparse.conf: New file.
511
512	core: Add gpgrt_fnameconcat and gpgrt_absfnameconcat.
513	+ commit 5742b8eaf3fa9cda3dfb6b3ad0fea7485fff1a12
514	* src/gpg-error.h.in (gpgrt_fnameconcat): New.
515	(gpgrt_absfnameconcat): New.
516	* src/visibility.c (gpgrt_fnameconcat, gpgrt_absfnameconcat): New.
517	* src/stringutils.c: New file.
518	(_gpgrt_vfnameconcat): New.
519	(_gpgrt_fnameconcat, _gpgrt_absfnameconcat): New.
520	* src/gpg-error.def.in: Add new functions.
521	* src/gpg-error.vers: Ditto.
522	* src/sysutils.c: Include pwd.h.
523	(_gpgrt_getpwdir): New.
524	* configure.ac: Test for pwd.h, getpwnam, getpwuid, and their _r
525	variants.
526	* src/Makefile.am (libgpg_error_la_SOURCES): Add new file.
527
528	* tests/t-stringutils.c: New.
529	* tests/t-common.h (xmalloc, xstrdup, xfree): New.
530	(die): Kludge to avoid compiler warnings.
531
5322020-02-18  NIIBE Yutaka  <gniibe@fsij.org>
533
534	w32: Support static link with -lws2_32.
535	+ commit a6ab8e3a710b899ecfb2ff518725314a1e0e64ff
536	* configure.ac (GPG_ERROR_CONFIG_LIBS_PRIVATE): New.
537	* src/Makefile.am (socklibs): Use GPG_ERROR_CONFIG_LIBS_PRIVATE.
538	* src/gpg-error.pc.in: Require @GPG_ERROR_CONFIG_LIBS_PRIVATE@.
539
5402020-02-10  Werner Koch  <wk@gnupg.org>
541
542	logging: Also protect gpgrt_inc_errorcount against counter overflow.
543	+ commit d72c1ddfde09ffa69745ec2439c5a16d15e2202f
544	* src/logging.c (_gpgrt_inc_errorcount): Protect against counter
545	overflow.
546	(_gpgrt_logv_internal): Use that function here so that we have only
547	one check for counter overflow.
548
5492020-02-07  Werner Koch  <wk@gnupg.org>
550
551	Release 1.37.
552	+ commit 36b9924b483198f896c7ca3db233978978141b60
553
554
5552020-02-06  Werner Koch  <wk@gnupg.org>
556
557	tools: Allow error symbol lookup w/o the GPG_ERR_ prefix.
558	+ commit 796b66a9449c442991cc205f8a618dffab54d8a3
559	* src/gpg-error.c (get_err_from_codesymbol): New.
560	(main): Use it here.
561
562	build: Always pass -no-undefined to libtool.
563	+ commit 6e4b5ca624cb7f771c8dd1f12cbad851a5f0d782
564	* src/Makefile.am: Remove no_undefined macro.
565
5662020-01-23  NIIBE Yutaka  <gniibe@fsij.org>
567
568	po: Update Japanese Translation.
569	+ commit d1e4b4b001b3fd34b91403f880a42c4a474cdb83
570
571
5722020-01-07  NIIBE Yutaka  <gniibe@fsij.org>
573
574	build: Don't use -O0 which is not portable.
575	+ commit a2674207f7fef6d0f96b80838303a2e6a55e7785
576	* src/Makefile.am (mkheader): Remove -O0 option.
577
5782019-12-13  Werner Koch  <wk@gnupg.org>
579
580	New error codes for SQLite.
581	+ commit 308574372055662c76d27f1681b182afddce9166
582	* src/err-codes.h.in: Add GPG_ERR_SQL_ codes.
583	* src/gpg-error.h.in (gpg_err_code_from_sqlite): New.
584
5852019-09-24  NIIBE Yutaka  <gniibe@fsij.org>
586
587	Fix gpg-error.c for preprocessor use.
588	+ commit f73605e039493ca875f992a45730a6c99430fb14
589	* src/gpg-error.c (main): Fix conditional compilation.
590
5912019-09-18  NIIBE Yutaka  <gniibe@fsij.org>
592
593	tests: Fix deallocation of buffer in t-b64.c.
594	+ commit 46bb7eb8c5541d62cd90227bde205f663ef0e6d5
595	* tests/t-b64.c (test_b64dec_string): De-allocate.
596
597	gpgrt_setenv: Define behavior when value=NULL.
598	+ commit 4b8e8ba9f60cb6eb644be5f86b9c19ebf4332763
599	* src/sysutils.c (_gpgrt_setenv): Avoid call with value=NULL.
600
601	logging: Fix the case of using socket_dir_cb which may return NULL.
602	+ commit 521aeecf1e41e8e34bb354cf51bfd37ff7a900c6
603	* src/logging.c (fun_writer): Fix for socket_dir_cb.
604
605	estream: Care about erroneous case for stream close.
606	+ commit f41991480aaa79db55e75363dfbb4f278cb8ea21
607	* src/estream.c (do_list_remove): Only access ITEM->NEXT when it's not
608	null.
609
6102019-09-10  Werner Koch  <wk@gnupg.org>
611
612	core: Fix broken strings (first letter missing)
613	+ commit c1e80f6e8e368c271bbf413d9eaea772ef2062d1
614	src/err-codes.h.in (GPG_ERR_KEYBOXD): Add missing tabs.
615
6162019-09-08  Werner Koch  <wk@gnupg.org>
617
618	estream: Fix dead assigniment.
619	+ commit f7c24427329075adc98eb93d2abb12c087e0f9d2
620	* src/estream-printf.c (pr_string): Here.
621
6222019-09-04  NIIBE Yutaka  <gniibe@fsij.org>
623
624	gpgrt-config: Support Libs.private and Requires.private.
625	+ commit cb877252c4dc787755fb4e1ffc36757453af12eb
626	* src/gpgrt-config.in: Support Libs.private and Requires.private.
627
6282019-08-23  NIIBE Yutaka  <gniibe@fsij.org>
629
630	estream: Fix gpgrt_poll at EOF.
631	+ commit 157b9f6fafb6905fd94c21aaa9e2c103d954a9fc
632	* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): Catch POLLHUP event
633	for want_read.
634
635	estream: Fix gpgrt_poll to prevent waiting indefinitely for others.
636	+ commit ab87480fc201ad687153429aee043ab454fed0a3
637	* src/estream.c (_gpgrt_poll): Go to leave, when something is ready.
638
6392019-08-22  NIIBE Yutaka  <gniibe@fsij.org>
640
641	estream: Fix poll condition.
642	+ commit fc1a7591bdcd64a3df1d2db29afca8e224f64c0a
643	* src/estream.c (_gpgrt_poll): Fix for want_oob.
644
6452019-07-25  NIIBE Yutaka  <gniibe@fsij.org>
646
647	w32: Fix cast to internal fd.
648	+ commit f93a0358dc82886db12c91180dc82e8bb1258ef0
649	* src/estream.c (tmpfd): Use intptr_t.
650
651	estream: Fix IS_INVALID_FD.
652	+ commit 5f9f2c32b038848212bec9d9a95858c18b9a0eee
653	* src/estream.c (IS_INVALID_FD): Simply compare to -1.
654
6552019-07-24  NIIBE Yutaka  <gniibe@fsij.org>
656
657	w32: Fix HANDLE to internal fd conversion.
658	+ commit 655ed9d83889bbb61d4b96755a2bd676622064c8
659	* src/spawn-w32.c (handle_to_fd): Use intptr_t type.
660
6612019-07-18  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
662
663	build: Use {CFLAGS,CPPFLAGS, LDFLAGS}_FOR_BUILD for helper programs.
664	+ commit 732855a483709345a5c0f49504f45cb8da3f883a
665	* doc/Makefile.am: add CPPFLAGS_FOR_BUILD for yat2m-for-build (other
666	flags were already present).
667	* src/Makefile.am: add {CFLAGS,CPPFLAGS,LDFLAGS}_FOR_BUILD for
668	mkhelper, mkw32errmap, and mkerrcodes.
669
6702019-07-11  NIIBE Yutaka  <gniibe@fsij.org>
671
672	Fix signedness for a single-bit field.
673	+ commit 7ffab1750fdec31d6f6f62c3ff50f1a33eacda5c
674	* src/gpgrt-int.h (struct _gpgrt_b64state): Use unsigned for bit flags.
675
6762019-06-27  Werner Koch  <wk@gnupg.org>
677
678	estream: Add missing malloc check.
679	+ commit 382fddc151fd42cd6d1d02dbedb7b5031cc68958
680	* src/estream.c (_gpgrt_poll): Check for malloc error.
681
6822019-06-27  NIIBE Yutaka  <gniibe@fsij.org>
683
684	estream: Don't use variable length array.
685	+ commit 70a5ea407c71cf094794d3d3375aab7fc2c4eca6
686	* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): No VLA.
687
6882019-06-26  NIIBE Yutaka  <gniibe@fsij.org>
689
690	estream: Use poll(2) when available.
691	+ commit a21a7de8c2cf986235382e7e04805744f6df116e
692	* configure.ac: Detect poll.h.
693	* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): Use poll.
694
6952019-06-18  NIIBE Yutaka  <gniibe@fsij.org>
696
697	tests: Skip the test when pkg-config is too old.
698	+ commit 6c2fc52d72b4dbd9dac44d9c3105dc3e8a4d5605
699	* src/gpg-error-config-test.sh.in: Check pkg-config version.
700
701	build: Take care of POSIX shell path.
702	+ commit 7a7caf4ba1c460c9c36f754fcd0ebfeb4aa5cc6a
703	* configure.ac (INSTALLSHELLPATH): New.
704	* src/Makefile.am: Change invocation of gpg-error-config-test.sh.
705	* src/gpgrt-config.in (INSTALLSHELLPATH): To be substituted.
706	* src/gpg-error-config-test.sh.in: Likewise.
707
708	Portability fix for PID.
709	+ commit 10ae655db22321f0d6efb75f88e169b57ce63375
710	* src/spawn-posix.c (gpgrt_wait_processes): Cast to int.
711
712	build: Add failure exit for gpg-error-config build.
713	+ commit 849ac6abe3ce0001fb11cef0e26df0893468d238
714	* src/Makefile.am (gpg-error-config): Exit 1 on failure.
715
7162019-05-29  NIIBE Yutaka  <gniibe@fsij.org>
717
718	Detect to use strerror_s.
719	+ commit cd49ee71887cb2e7f2ca422fbc5c28f4bd92b3ca
720	* configure.ac [mingw32*] (strerror_s): Detect.
721	* src/strerror.c [HAVE_STRERROR_S] (system_strerror_r): Use strerror_s.
722
7232019-05-14  NIIBE Yutaka  <gniibe@fsij.org>
724
725	tests: Fix a memory leak.
726	+ commit bdb9561a366fa5afee0e855a22390e9282e1abd5
727	* tests/t-logging.c (check_log_info): Free LOGBUF.
728
7292019-05-13  NIIBE Yutaka  <gniibe@fsij.org>
730
731	build: Update m4/iconv.m4.
732	+ commit 07b1b3be179883cbd38446f38ae950f6d94a150b
733	* m4/iconv.m4: Update from gettext 0.20.1.
734
7352019-04-15  NIIBE Yutaka  <gniibe@fsij.org>
736
737	awk: Prepare for Gawk 5.0.
738	+ commit 7865041c77f4f7005282f10f9b6666b19072fbdf
739	* src/Makefile.am: Use pkg_namespace (instead of namespace).
740	* src/mkerrnos.awk: Likewise.
741	* lang/cl/mkerrcodes.awk: Don't escape # in regexp.
742	* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto.
743
7442019-03-19  Werner Koch  <wk@gnupg.org>
745
746	Release 1.36.
747	+ commit 85f427fd28ae5947277ba02dffc83c53d9da2591
748	* configure.ac: Bump LT version to C27/A27/R0.
749
750	estream: Increase buffer size for Windows.
751	+ commit e4f460d8e338d6866a6ab457dcd811c63399706a
752	* src/gpgrt-int.h (BUFFER_BLOCK_SIZE) [W32]: Increase from 512 to 8k.
753	* src/w32-estream.c (READBUF_SIZE, WRITEBUF_SIZE): Increase from 4k to
754	8k.
755
7562019-02-04  Werner Koch  <wk@gnupg.org>
757
758	build: Fix for Microsoft MSVC.
759	+ commit 21dd885eecdee13da1689519e2fc50fcf64f6ef2
760	* src/gpgrt-int.h (_gpgrt_functions_w32_pollable): Declare with extern
761	so that strict toolchains don't get confused.
762
7632019-01-23  NIIBE Yutaka  <gniibe@fsij.org>
764
765	gpgscm: Build well even if NDEBUG defined.
766	+ commit 8a9397896fd202dcfb3fb46259e43bc05a0ddd2e
767	* gpgscm/scheme.c (gc_reservation_failure): Fix adding ";".
768	[!NDEBUG] (scheme_init_custom_alloc): Don't init seserved_lineno.
769
7702019-01-16  Werner Koch  <wk@gnupg.org>
771
772	Release 1.34.
773	+ commit 8bc75741cadf95e2fac64891cf402cde891afe64
774	* configure.ac: Bump LT version to C26/A26/R0.
775
776	build: Fix regression in make distcheck.
777	+ commit 5d2b20a04b526d090a2328bd79bc3a76ced327dc
778	* doc/Makefile.am (errorref.txt.x):
779
7802019-01-15  NIIBE Yutaka  <gniibe@fsij.org>
781
782	build: Fix for BSD make.
783	+ commit fd6f64f1897e00b1d9711463ebb6ec7d099e1995
784	* doc/Makefile.am (errorref.txt.x): Don't use $<.
785
7862019-01-14  Andre Heinecke  <aheinecke@gnupg.org>
787
788	Fix symbol name typo in gpg-error.def.in.
789	+ commit 51ea153871b79799f88b85f6b60c2b0a3bbd6a12
790	* src/gpg-error.def.in (gogrt_abort): Correct to gpgrt_abort.
791
7922019-01-10  NIIBE Yutaka  <gniibe@fsij.org>
793
794	build: Build with LD_LIBRARY_PATH, use of DT_RPATH (2/2).
795	+ commit 1fd997231b717853822dff9d3e981d95765f323d
796	* configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags.
797	* tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE.
798	(t_lock_LDADD, t_poll_LDADD): Use LDADD.
799
800	build: Build with LD_LIBRARY_PATH, use of DT_RPATH (1/2).
801	+ commit 1044ee639dab7260da481250cd2a46a69ab2b5d3
802	* configure.ac: Check against --disable-new-dtags.
803
8042019-01-04  Werner Koch  <wk@gnupg.org>
805
806	core: New functions gpgrt_abort and gpgrt_add_emergency_cleanup.
807	+ commit 933bfd7b652a907c0d8dd5337c6b5b9cb82ce7b7
808	* src/init.c (emergency_cleanup_list): New gloabl var.
809	(_gpgrt_add_emergency_cleanup): New.
810	(_gpgrt_abort): New. Repalce all calls to abort by this.  Also replace
811	all assert by either log_assert or a stderr output followed by a
812	_gpgrt_abort.
813	(run_emergency_cleanup): New.
814	* src/visibility.c (gpgrt_add_emergency_cleanup): New public API.
815	(gpgrt_abort): New public API.
816
8172018-12-12  Werner Koch  <wk@gnupg.org>
818
819	estream: Use correct POSIX name THOUSEP.
820	+ commit 12349de46d241cfbadbdf99773d6cabfcbc97578
821	* src/estream-printf.c: Replace HAVE_LANGINFO_THOUSANDS_SEP by
822	HAVE_LANGINFO_THOUSEP.
823	(pr_integer): Use THOUSEP.
824
8252018-12-11  Alistair Francis  <Alistair.Francis@wdc.com>
826
827	syscfg: Add a riscv32 architecture.
828	+ commit 27ded21fea2a6f1fc161a91744014cce711ad1b3
829	* src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h: New.
830	* src/Makefile.am (lock_obj_pub): Add it.
831
8322018-12-10  NIIBE Yutaka  <gniibe@fsij.org>
833
834	gpgrt-config: Portability fix for use of expr.
835	+ commit 1d71dbb13709318567aba5b61928d8af37563097
836	* src/gpgrt-config (sysroot): Care about possible interpretation of
837	minus sign be considered an option to a program.
838	(MAIN): Don't use 'match' of expr but use ':' instead.
839
8402018-12-07  Werner Koch  <wk@gnupg.org>
841
842	Silence cc warning about snprintf redefinition.
843	+ commit 60f3d4440249d7beec3390df66143204ea80be39
844	* src/gpgrt-int.h: First undef snprintf.
845
846	Release 1.33.
847	+ commit 174985d91ff277bd4a58a0de3d61fbbb46841cde
848	* configure.ac: Set LT version to C25/A25/R0.
849
850	Add W32-only function gpgrt_w32_override_locale.
851	+ commit 0b190ce89de7b3df873c3896d5126c7882b82e18
852	* src/w32-gettext.c (struct override_locale): new.
853	(my_nl_locale_name): Take care of that.
854	(gpgrt_w32_override_locale): New.
855	* src/gpg-error.def.in: Add gpgrt_w32_override_locale.
856	* src/gpg-error.c: New command --locale for Windows.
857
8582018-12-06  Werner Koch  <wk@gnupg.org>
859
860	logging: Escape controls in string arguments of log_ functions.
861	+ commit b7fae45c24cccb9898c6d5a3a633897afb4649dc
862	* src/logging.c (struct fmt_string_filter_s): New.
863	(fmt_string_filter): New.
864	(_gpgrt_logv_internal): Use the filter.
865
8662018-12-05  Werner Koch  <wk@gnupg.org>
867
868	core: Allow logging to an estream.
869	+ commit f4d139b399e1e5044fe6bb0ceecd4c72e63dac94
870	* src/logging.c (set_file_fd): Add and use new arg 'stream'.
871	(_gpgrt_log_set_sink): Implement setting an estream sink.
872	* tests/t-logging.c: New test.
873	* tests/Makefile.am (TESTS): Add test.
874
875	tests: Check print arguments of t-common functions.
876	+ commit 793838fd859afd837df070ee2e75c100e932b220
877	* tests/t-common.h: Include gpgrt.h  instead of gpg-error.h.
878	(die, fail, show): Add printf attributes.
879
8802018-12-05  Marcus Brinkmann  <marcus.brinkmann@rub.de>
881
882	Fix gpgrt_ftruncate declaration.
883	+ commit 34d6637a34b139fbfafa6c15eaf2fc88158a1c3c
884
885
8862018-11-26  Werner Koch  <wk@gnupg.org>
887
888	core: New functions gpgrt_fprintf_sf anf gpgrt_fprintf_sf_unlocked.
889	+ commit bd8668c120ac0f725edb092b2c4ca49ffdb78ed2
890	* src/gpg-error.h.in (gpgrt_string_filter_t): New type.
891	(gpgrt_fprintf_sf, gpgrt_fprintf_sf_unlocked): New.
892	* src/gpg-error.vers, src/gpg-error.def.in: Add them.
893	* src/visibility.c (gpgrt_fprintf_sf): New.
894	(gpgrt_fprintf_sf_unlocked): New.
895	* src/estream-printf.c (pr_string): Add and use args sf, sfvalue and
896	string_no.
897	(do_format): Add args sf and sfvalue.  Keep a string format counter.
898	(_gpgrt_estream_format): Add args sf and sfvalue.  Change all callers
899	to provide NULL for them.
900	* src/estream.c (_gpgrt_vfprintf_unlocked, _gpgrt_vfprintf): Add sf
901	and sfvalue and adjust all callers.
902	(do_print_stream): Ditto.
903
904	* tests/t-printf.c (stream_to_string): New.
905	(struct sfstate_s): New.
906	(string_filter): New.
907	(check_fprintf_sf): New.
908	(main): Call new test.
909
910	core: Add a limited version of gpgrt_ftruncate.
911	+ commit ffb49b72f132d954a3d9fa11e45803c36a62fd25
912	* src/gpg-error.h.in (gpgrt_ftruncate, es_ftruncate): New.
913	* src/gpg-error.def.in, src/gpg-error.vers: Add gpgrt_ftruncate.
914	* src/visibility.c (gpgrt_ftruncate): new.
915	* src/gpgrt-int.h (COOKIE_IOCTL_TRUNCATE): New.
916	* src/estream.c (func_mem_ioctl): Support new internal IOCTL.
917	(_gpgrt_ftruncate): New.
918
9192018-11-15  Werner Koch  <wk@gnupg.org>
920
921	core: New API gpgrt_cmp_version.
922	+ commit a5d4a4b32b11814d673241d62624ecec1d577571
923	* src/gpg-error.h.in: New API gpgrt_cmp_version.
924	* src/visibility.c (gpgrt_cmp_version): New wrapper.
925	* src/version.c (parse_version_string): Revamped.
926	(do_cmp_version): New.
927	(_gpgrt_cmp_version): New.
928	(_gpg_error_check_version): Re-implemented using the new func.
929	* tests/t-version.c: Include t-common.h.
930	(t_gpgrt_cmp_version): New test.
931	(main): Run new test.  Change test for new version number to require a
932	2 level number.
933
9342018-11-14  NIIBE Yutaka  <gniibe@fsij.org>
935
936	gpgrt-config: Prepend PKG_CONFIG_LIBDIR to PKG_CONFIG_PATH.
937	+ commit 4a92763a6e529824f1c6043b75ac1346af41a926
938	* src/gpgrt-config: Handle empty PKG_CONFIG_LIBDIR config, which
939	should ignore --libdir option.  Otherwise, prepend
940	PKG_CONFIG_LIBDIR (instead of appending) to PKG_CONFIG_PATH.
941
9422018-11-13  NIIBE Yutaka  <gniibe@fsij.org>
943
944	Fix typo in the annotation.
945	+ commit 4b41cf3bd16c8afcb4ba152ab9d5d679a7cb91e7
946	* src/init.c [DLL_EXPORT] (DllMain): Fix typo.
947
948	gpgrt.m4: Don't support --with-*-prefix or SYSROOT.
949	+ commit 8ed48537de2b141a8f2050b15a65775374f1aa79
950	* src/gpgrt.m4: Remove old backward compatible support.
951
9522018-11-07  NIIBE Yutaka  <gniibe@fsij.org>
953
954	Fix a typo.
955	+ commit b39b44b9acbed6d4889acba4fe9eae2556c80acc
956	* src/spawn-w32.c (src/spawn-w32.c): Fix to use pid_to_handle.
957
9582018-11-02  NIIBE Yutaka  <gniibe@fsij.org>
959
960	gpgrt-config: Don't support variable reference in --libdir option.
961	+ commit 78af09ce13969b64f121ae5990e66fb7f1cd3f1d
962	* src/gpgrt-config: Simplify --libdir support, remove variable
963	substituion.
964	* src/gpg-error.m4: Expand possible ${prefix}, ${exec_prefix} in
965	libdir.  Simplify invocation of gpgrt-config.
966	* src/gpgrt.m4: Likewise.
967
968	gpg-error.m4: Emit message when using gpgrt-config.
969	+ commit 42413de59a063def05620d899a7fbda265b6c406
970	* src/gpg-error.m4: Add AC_MSG_NOTICE.
971
972	gpg-error.m4: Find gpgrt_libdir by CC.
973	+ commit 7ffd88b0e98af21aa61a57dde042d75f0d403839
974	* src/gpg-error.m4 (gpgrt_libdir): New.  Bump the version date.
975	* src/gpgrt.m4: Likewise.
976
9772018-11-01  NIIBE Yutaka  <gniibe@fsij.org>
978
979	gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.
980	+ commit 8f034bb3a1bbde2fc7a8d2ada6e3d779c465895b
981	* src/gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.
982
983	gpgrt-config: It's distributed script.
984	+ commit 998313bd321ae161ec58111ccc6c6f0921007bc5
985	* src/Makefile.am (dist_bin_SCRIPTS): Add gpgrt-config.
986	(bin_SCRIPTS): Remove gpgrt-config.
987
9882018-10-31  Andre Heinecke  <aheinecke@intevation.de>
989
990	w32: Remove cruft in w32-estream from olden times.
991	+ commit 5b898b8bc89c18e2fd02e6c9efd5e91cb96357cc
992	* src/w32-io.c (set_synchronize): Remove.
993	(create_reader, create_writer): No need for set_synchronize.
994
9952018-10-31  NIIBE Yutaka  <gniibe@fsij.org>
996
997	gpgrt-config: Fix typo in the script.
998	+ commit 2e9ee747ac81434ca542291287eb56c9025f0a39
999	* src/gpgrt-config: Add missing $ for libdir_option.
1000
10012018-10-29  NIIBE Yutaka  <gniibe@fsij.org>
1002
1003	gpgrt-config: Better architecture independent support.
1004	+ commit 93d45f7e7e937020c796781705516a4b62e6589a
1005	* configure.ac: Don't generate gpgrt-config.
1006	* src/gpgrt-config: Rename from gpgrt-config.in.
1007	(--prefix, --exec-prefix, --libdir): Use --libdir to determine
1008	PKG_CONFIG_LIBDIR.
1009	* src/Makefile.am (EXTRA_DIST): Remove gpgrt-config.in.
1010	* src/gpg-error-config-test.sh: Fix for path to gpgrt-config.
1011	* src/gpg-error.m4: Provide --prefix, --exec-prefix, --libdir
1012	option from configure.  Don't use CC because we have --libdir.
1013	Bump version date.
1014	* src/gpgrt.m4: Likewise.
1015
10162018-10-27  Ben Kibbey  <bjk@luxsci.net>
1017
1018	b64dec: Fix to use custom memory handlers.
1019	+ commit b229ed40e2653bd3eabaa6931cd8582280a226d7
1020	* src/b64dec.c (_gpgrt_b64dec_finish): Use xfree().
1021
10222018-10-26  NIIBE Yutaka  <gniibe@fsij.org>
1023
1024	gpgrt-config: Clean up the implementation.
1025	+ commit aec676c9ca2da4feb2970f6ce036179afe778b25
1026	* src/gpgrt-config.in: Fix copyright notice.
1027	(--exists): Support new option of pkg-config.
1028	(--mt): Relax usage.
1029	(--api-version): Support old option.
1030	(default_module): New.
1031	(usage): Only show pkg-config compatible options.
1032
1033	gpg-error.m4: Better backward compatibility support.
1034	+ commit 1096ff770b3d5cc58f423b129cc5d83731398dd9
1035	* src/gpg-error.m4: Don't assume newer implementation of
1036	gpg-error-config.  Use old way when it found old.
1037
10382018-10-25  NIIBE Yutaka  <gniibe@fsij.org>
1039
1040	gpg-error-config: Keep old gpg-error-config implementation.
1041	+ commit ffbff048bde636e3ec19f2912fa4034e70e18f44
1042	* configure.ac: Generate gpgrt-config from gpgrt-config.in.
1043	* src/gpgrt-config.in: Rename from src/gpg-error-config-new.in.
1044	* src/Makefile.am (bin_SCRIPTS): Add gpgrt-config.
1045	(EXTRA_DIST): Add gpgrt-config.in removing gpg-error-config-new.in.
1046	(BUILT_SOURCES, CLEANFILES): Remove gpgrt-config.
1047	(gpg-error-config): Always copy from gpg-error-config-old.
1048	* src/gpg-error-config-test.sh: Follow the rename.
1049
1050	build: Set GPGRT_CONFIG in gpg-error.m4.
1051	+ commit e06af32bdde0b4ce8c97193472961f31c5b55ddf
1052	* src/gpg-error.m4: Detect gpgrt-config to set GPGRT_CONFIG.
1053
1054	build: Update gpg-error.m4 and gpgrt.m4.
1055	+ commit abc641f27cf712dec572b6629552b6a6f0b7af27
1056	* src/gpg-error.m4: Bump version date.
1057	(min_gpg_error_version): Require >= 1.33, if not specified.
1058	(gpg_error_config_args): Remove bogus uses.
1059	* src/gpgrt.m4: Bump version date.
1060	(libgpgrt-prefix): Add support of --with-libgpgrt-prefix option.
1061	(gpgrt-config): Search/call gpgrt-config instead of gpg-error-config.
1062	(min_gpgrt_version): Require >= 1.33, if not specified.
1063	(gpgrt_config_args): Remove bogus uses.
1064
10652018-10-24  NIIBE Yutaka  <gniibe@fsij.org>
1066
1067	gpg-error-config: Fix previous commit.
1068	+ commit 184c22bea37d2bee3885ef96c1a3664361b02912
1069
1070
1071	gpg-error-config: Old gpg-error-config support --modversion.
1072	+ commit 6d8b1e958ca96b366daac38e7084f999d252a9f8
1073	* src/gpg-error-config.in: Support --modversion.
1074
1075	gpg-error-config: Get var/attr from the first package.
1076	+ commit 7b81ec272b0c54ac893c09be4715b76e84c27b23
1077	* src/gpg-error-config-new.in: Only get it from the first.
1078
10792018-10-23  NIIBE Yutaka  <gniibe@fsij.org>
1080
1081	build: Fix permission.
1082	+ commit 25ea85066cf100e3381f7f7b2d8858a7dfcea480
1083	* build-aux/config.guess: Chmod +x.
1084	* build-aux/config.sub: Chmod +x.
1085
1086	build: Fix detecting build on multiarch environment.
1087	+ commit 00e955558c66f80acad9225d2eae82459d87dc54
1088	* configure.ac: Rough match by shell pattern.
1089
1090	build: Supply CC to invoke gpg-error-config.
1091	+ commit f575b2fd3f733d78fb61b04805ea63ce65d89e19
1092	* src/gpg-error.m4: Add CC when invoking gpg-error-config.
1093	* src/gpgrt.m4: Likewise.
1094
1095	gpg-error-config: Fix cross build support.
1096	+ commit 40e22c774afebca23fdaa6dec2b8698572501c32
1097	* configure.ac: Fix regexp matching multiarch environment.
1098	* src/gpg-error-config-new.in: Support standard cross build.
1099	Handle the case where $multiarch != $triplet.
1100
11012018-10-22  NIIBE Yutaka  <gniibe@fsij.org>
1102
1103	yat2m: Avoid compiler warnings.
1104	+ commit 12b834ba59ae2f3cd0568e4cfa1dca47fc41269a
1105	* doc/yat2m.c (isodatestring): Prepare enough buffer.
1106
1107	gpg-error-config: Support "auto", architecture independent script.
1108	+ commit 91bcb2c7d824de50c7dfedd4490e515ddb5dfc5a
1109	* configure.ac (pkg_config_libdir): Set it "auto" when it looks
1110	multiarch environment.
1111	* src/gpg-error-config-new.in: Automatically detects the triplet.
1112
1113	build: Update config.{guess,sub} to {2018-08-29,2018-08-29}.
1114	+ commit 6d2e0546d50a0d4511fb7167566bfd0058a68f38
1115	* build-aux/config.guess: Update.
1116	* build-aux/config.sub: Update.
1117
11182018-10-19  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
1119
1120	build-aux: use https instead of http.
1121	+ commit e99480affa595702595e59333aca96ab28389d34
1122
1123
11242018-10-17  NIIBE Yutaka  <gniibe@fsij.org>
1125
1126	gpg-error-config: Fix PKG_CONFIG_LIBDIR support.
1127	+ commit d8cf57c35d4627fa28588d6ec385fcffbc5a01a0
1128	* configure.ac (pkg_config_libdir): New.
1129	* src/gpg-error-config-new.in: Use pkg_config_libdir.
1130
11312018-10-16  NIIBE Yutaka  <gniibe@fsij.org>
1132
1133	gpg-error-config: Support PKG_CONFIG_LIBDIR.
1134	+ commit e9566da20cf9428e3094cbd63277ea2179459232
1135	* src/gpg-error-config-new.in: Use PKG_CONFIG_LIBDIR if specified.
1136
11372018-10-12  Wookey  <wookey@debian.org>
1138	    Wookey  <wookey@debian.org>
1139
1140	syscfg: Add support for arm64ilp32.
1141	+ commit a3f4e8838036a14e87cca811e40c9f670f152fcd
1142	* src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h: New.
1143	* src/Makefile.am (lock_obj_pub): Add it.
1144
11452018-10-10  NIIBE Yutaka  <gniibe@fsij.org>
1146
1147	gpg-error-config: Fix the place of *.pc (for multilib).
1148	+ commit 9f71b28dcb38e1d5d9001692e2f64009396aaf9b
1149	* src/Makefile.am (pkgconfigdir): It should be under libdir.
1150	* src/gpg-error-config-new.in: Likewise.
1151
1152	gpg-error-config: Add PKG_CONFIG_SYSROOT_DIR support.
1153	+ commit 6167f3c461a4e53ccc5af620cdbfa28bfa9234f5
1154	* src/gpg-error-config-new.in (sysroot): New function.
1155	(want_cflags, want_libs): Use sysroot.
1156	* src/gpg-error-config-test.sh: Test with PKG_CONFIG_SYSROOT_DIR.
1157
11582018-09-21  Werner Koch  <wk@gnupg.org>
1159
1160	syscfg: Add support for arc-unknown-linux-gnu.
1161	+ commit f4f0da74f526d7e35cedbc2e93454df6440dbfa5
1162	* src/mkheader.c (canon_host_triplet): Add to table.
1163
1164	core: Make cross building in mkheader more explicit.
1165	+ commit b371e3ca906e6a4db31900d419ddc2b21bed1ea3
1166	* src/mkheader.c (main): Add option --cross.
1167	(write_special): Don't use native in cross mode.
1168	* src/Makefile.am (mkheader_opts): New.
1169	(gpg-error.h): Add MKHEADER_OPTS.
1170
1171	core: Simplify calling convention of mkheader.
1172	+ commit 3fc4ce49b23a364a1cf255c8e9e259047206e1e8
1173	* src/Makefile.am (gpg-error.h): Remove HOST_OS from mkheader call.
1174	* src/mkheader.c (canon_host_triplet): Add return arg r_os.
1175	(main): Remove first arg and derive host_os from host_triplet.
1176
11772018-09-20  NIIBE Yutaka  <gniibe@fsij.org>
1178
1179	src: Fix portability for echo.
1180	+ commit 15309d0fb4c78f8de9bc5dea7d0f8b7468a957b4
1181	* src/Makefile.am: Use ECHO_N and ECHO_C.
1182
1183	gpg-error-config: Remove white space for the output by old.
1184	+ commit d510f38ccbc715faa8e07828bf6acd8e9b9a0658
1185	* src/gpg-error-config-test.sh: Remove white spaces at the
1186	end or at the beginning.
1187
1188	gpg-error-config: Use expr to remove var in expression.
1189	+ commit a338801aa4bac9a3551729598bcb0ca41882cdb9
1190	* src/gpg-error-config-new.in (remove_var_expr): Use expr.
1191
1192	gpg-error-config: Fix a variable name for zsh.
1193	+ commit 4c2601a95f06efd352ad407add71a7ea6bab8152
1194	* src/gpg-error-config-new.in (module_list): Rename from modules.
1195
1196	gpg-error-config: Don't use local variables.
1197	+ commit 5731ad6377abcd3d36fd6aa59923a640b25b589b
1198	* src/gpg-error-config-new.in: Use global variables only.
1199
1200	gpg-error-config: Avoid more space char.
1201	+ commit 95ab4d037ce2b69754c0542949bf7d9d2467d96b
1202	* src/gpg-error-config-new.in: Don't put more space.
1203
12042018-09-19  NIIBE Yutaka  <gniibe@fsij.org>
1205
1206	src: Fix Makefile for BSD make.
1207	+ commit 144f4b3df5200ce056f00e20420cde77eb1f673d
1208	* src/Makefile.am (BUILT_SOURCES): Add srcdir to err-sources.h and
1209	err-codes.h.
1210	(CLEANFILES): Move err-sources.h and err-codes.h to...
1211	(MAINTAINERCLEANFILES): ... this new target.
1212	(gpg_error_LDADD): Remove ./ to generate libgpg-error.la.
1213
1214	Accept pkgconf difference for spaces.
1215	+ commit 5564efac95e9546af948fc13c90584264b322950
1216	* src/gpg-error-config-test.sh (OUTPUT_OLD): Use shell
1217	and echo to remove spaces.
1218
12192018-09-18  Werner Koch  <wk@gnupg.org>
1220
1221	syscfg: Support ARC CPUs and simplify aliasing table.
1222	+ commit 48c8f8ddfc80551db7615e1eb3555c1dc3f6a657
1223	* src/mkheader.c (xmalloc): New.
1224	(xstrdup): Implement using xmalloc.
1225	(canon_host_triplet): Add supporr for arc CPU.  Adjust alias table to
1226	also alias *-pc-*.  Rename ibm to unknown. Add internal arg.  Add
1227	unknown vendor hack.
1228	(main): New mode to just print the canonicalized form.
1229	* src/Makefile.am (lock_obj_pub): s/-(pc|ibm)-/-unknown/.  Also rename
1230	files accordingly.
1231
12322018-09-11  NIIBE Yutaka  <gniibe@fsij.org>
1233
1234	Make gpg-error-config compatible to pkg-config.
1235	+ commit 78b679a778ddf37b8952f1808fd8c52cc8163f17
1236	* configure.ac (AC_CONFIG_FILES): Generate src/gpg-error.pc, as well
1237	as src/gpg-error-config-old and src/gpg-error-config-new.
1238	* src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
1239	(EXTRA_DIST): Add gpg-error-config-new.in, gpg-error-config-test.sh,
1240	and gpg-error.pc.in.
1241	(CLEANFILES): Add gpg-error-config gpg-error-config-test.log.
1242	(TESTS): New.
1243	(gpg-error-config): New target.
1244	* src/gpg-error-config-new.in: New.
1245	* src/gpg-error-config-test.sh: New.
1246	* src/gpg-error.pc.in: New.
1247	* src/gpg-error.m4 (GPG_ERROR_MT_CFLAGS): Use --variable.
1248	(GPG_ERROR_MT_LIBS, gpg_error_config_host): Likewise.
1249
12502018-09-06  NIIBE Yutaka  <gniibe@fsij.org>
1251
1252	gpgscm: Suppress warnings for GCC > 6.
1253	+ commit b2aba1bec151d6e6cbf66359a30ba2ff458fc138
1254	* tests/gpgscm/scheme.c (CASE): Use unused attribute for GCC > 6.
1255	(FALLTHROUGH): New for fallthrough.
1256	(Eval_Cycle): Use FALLTHROUGH.  Remove not-needed comment of
1257	fallthrough.
1258
1259	po: Fix the previous commit.
1260	+ commit 2148e19fbefa9c5d5cdc4982cd2043136c31fb64
1261
1262
12632018-09-05  NIIBE Yutaka  <gniibe@fsij.org>
1264
1265	po: Update Japanese Translation.
1266	+ commit cb0113f4690ed130c55ef4c6d8699ebc051e957e
1267
1268
1269	gpg-error-config: Forward compatibility support.
1270	+ commit 61d78fdc25e5ff9289697c141457d8d322232250
1271	* src/gpg-error-config.in: Support --variable=* option.
1272
12732018-09-04  NIIBE Yutaka  <gniibe@fsij.org>
1274
1275	gpg-error-config: Determine output at configure time.
1276	+ commit aa697dae4c363b3d24ec9be3a0cd41df3bf806ce
1277	* src/gpg-error-config.in (isubdirafter): Remove.
1278	Also for --cflags and --libs.
1279	* configure.ac (GPG_ERROR_CONFIG_ISUBDIRAFTER): Remove.
1280	(GPG_ERROR_CONFIG_CFLAGS): Add -idirafter gpg-extra for W32CE.
1281	(GPG_ERROR_CONFIG_CFLAGS): Decide here if adding -I$includedir.
1282	(GPG_ERROR_CONFIG_LIBS): Decide here if adding -L$libdir.
1283
12842018-07-17  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
1285
1286	build: use EXEEXT_FOR_BUILD everywhere.
1287	+ commit 19f9902b004cb980de4da908fa571103bfe2b630
1288	* src/Makefile.am: Use EXEEXT_FOR_BUILD with all build tools.
1289
1290		<michael.haubenwallner@ssi-schaefer.com>
1291
12922018-07-12  Werner Koch  <wk@gnupg.org>
1293
1294	Release 1.32.
1295	+ commit 7b08307ff25b757ed2502cb2bf7893640e404ad1
1296
1297
1298	estream: Always propagate flush event to cookie functions.
1299	+ commit bd5bcd2dd19ef0b1c3d33a3a388b537ba08a4eb6
1300	* src/estream.c (flush_stream): Always call cookie's flush func.
1301
13022018-07-11  NIIBE Yutaka  <gniibe@fsij.org>
1303
1304	build: Use AX_CC_FOR_BUILD and EXEEXT.
1305	+ commit 0727c394562237d7e626849eae04790264e56208
1306	* configure.ac (AX_CC_FOR_BUILD): New.
1307	* doc/Makefile.am: Use EXEEXT and EXEEXT_FOR_BUILD.
1308	* m4/ac_prog_cc_for_build.m4: Remove.
1309	* m4/ax_cc_for_build.m4: New.
1310
1311	doc: Now, yat2m is a standard tool.
1312	+ commit f1162767e3552d05c1255497d49de15c2d94d0b4
1313	* configure.ac (YAT2M, HAVE_YAT2M): Remove.
1314	* doc/Makefile.am: Always use yat2m which comes with this source.
1315
13162018-07-10  NIIBE Yutaka  <gniibe@fsij.org>
1317
1318	build: Remove version_parts in autogen.sh.
1319	+ commit 302d43a130e2364ea882474088a8b0a31bc325b9
1320	* autogen.rc (version_parts): Remove.
1321	* autogen.sh: Determine by $micro argument.
1322
13232018-07-05  Werner Koch  <wk@gnupg.org>
1324
1325	Remove leftover debug output from gpg-error.
1326	+ commit 1ac63f630cbe1b558ebe20b746bbe4962117d36f
1327	* src/gpg-error.c (main): Remove a log_debug.
1328
13292018-07-05  Yuri Chornoivan  <yurchor@ukr.net>
1330
1331	po: Update Ukrainian translation.
1332	+ commit 8a72604dc44d36790669e6e591c12cc0b6e057bd
1333
1334
13352018-07-05  Andre Heinecke  <aheinecke@intevation.de>
1336
1337	core: Initialize values in estream_format.
1338	+ commit fe2f8fca3114e3a5727fdbbc5e7ebc4e442d0401
1339	* src/estream-printf.c (_gpgrt_estream_format): Make sure
1340	valuetable.value is inialized even on stack.
1341
13422018-05-30  Ineiev  <ineiev@gnu.org>
1343
1344	po: Update Russian translation.
1345	+ commit 043a91b8cd4bb71cb96086b51d6bc1b1a1821a41
1346
1347
13482018-05-30  Werner Koch  <wk@gnupg.org>
1349
1350	core: Fix problem with C11 and stdnoreturn.h.
1351	+ commit 3eee9efc46f983fe0bf474c814944fef93a2a1b7
1352	* src/gpg-error.h.in (GPGRT_ATTR_NORETURN): Use gcc specific symbol name
1353	__noreturn__.
1354
13552018-05-03  Andre Heinecke  <aheinecke@intevation.de>
1356
1357	doc: Fix yat2m name for native w32 build.
1358	+ commit 6eb80abcde5ad776379069871e4156b28ef69712
1359	* doc/Makefile.am: Handle not cross compiling but building for
1360	windows.
1361
13622018-05-02  Werner Koch  <wk@gnupg.org>
1363
1364	Release 1.31.
1365	+ commit 10a984d25048a09d1c489224bae866372e8066a1
1366	* configure.ac: Set LT version to C24/A24/R2.
1367
13682018-05-01  Werner Koch  <wk@gnupg.org>
1369
1370	core,w32: Avoid recursive use of npth_unprotect.
1371	+ commit b26a227173e8e9b91be14f06ee781c6e214e50ff
1372	* src/w32-estream.c (reader): Use standard free.
1373	(writer): Ditto.
1374
13752018-05-01  emma peel  <emma.peel@riseup.net>
1376
1377	po: new Spanish translation.
1378	+ commit 7e2517a29619c35257b38aa137b6772e471d7e4e
1379
1380
13812018-04-30  Werner Koch  <wk@gnupg.org>
1382
1383	Release 1.30.
1384	+ commit cac048bf8454ade95a905f9d3840b1ec284fce20
1385	* configure.ac: Bump LT version to C24/A/24/R1.
1386
1387	build: More release creation automation.
1388	+ commit d1d4c4f8eb9830bfb671054e1558342106ba9d8d
1389	* Makefile.am: Add release and sign-release targets.
1390
1391	core: Fix gpgrt_poll for Windows under nPth.
1392	+ commit 4f45f3e0bb404b4a9787cb55ca154c6f60c1437b
1393	* src/estream.c (_gpgrt_poll) [W32]: Use syscall clamp.
1394
13952018-04-13  NIIBE Yutaka  <gniibe@fsij.org>
1396
1397	doc: Fix yat2m build for cross compilation.
1398	+ commit 792877a08ca7bc9d1377161dc9af374602a394cc
1399	* doc/Makefile.am: Fix target of yat2m-for-build.
1400
14012018-04-12  NIIBE Yutaka  <gniibe@fsij.org>
1402
1403	build: Check -lsocket -lnsl for Solaris.
1404	+ commit e35749023ca68de6f1f85d3072f7b36fd6f6fe7c
1405	* configure.ac: Check inet_addr for -lnsl, and socket for -lsocket.
1406
14072018-04-11  Damien Goutte-Gattat via Gnupg-devel  <gnupg-devel@gnupg.org>
1408
1409	build: Make sure version.texi is generated in time.
1410	+ commit 8ef76d9373db16f1ca176f9c87c8dac2758c8b85
1411	[[PGP Signed Part:Good signature from AA4373E6C82C78AD Damien Goutte-Gattat <dgouttegattat@incenp.org> (trust undefined) created at 2018-04-11T17:05:27+0200 using RSA]]
1412	[1. text/plain]
1413
1414	* doc/Makefile.am (yat2m-stamp): Depend on version.texi.
1415
14162018-04-11  Werner Koch  <wk@gnupg.org>
1417
1418	Release 1.29.
1419	+ commit c3825327da826e434ada9abde34e6bbd7ef61737
1420	* configure.ac: Bump LT version to C24/A24/R0.
1421
1422	core: Finalize the API for argparse.
1423	+ commit e901c9fb04f5a96ba2bd49225b396ce7857a3782
1424	* src/gpg-error.h.in (ARGPARSE_end): Simplify.
1425	* src/argparse.c (_gpgrt_argparse_internal_s): Add field opts.
1426	(deinitialize): Release new field.
1427	(initialize): Add arg opts and create a copy of the option list.  Add
1428	the internal options.
1429	(_gpgrt_argparse): Rename arg opts to opts_orig and set new local var
1430	opts.  Adjust all references to opts.
1431	(find_long_option): Adjust for chnaged type of OPTS.  Re-indent.
1432	(arg_parse): Remove internal option assignment.  Rename arg opts to
1433	opts_orig and set new local var opts.  Adjust all references to opts.
1434	(show_help): Adjust all references to opts.
1435
14362018-03-27  NIIBE Yutaka  <gniibe@fsij.org>
1437
1438	doc: Support cross compilation for yat2m.
1439	+ commit efc4769339d42a4a399c040c146cf4a29c02ea4f
1440	* configure.ac (HAVE_YAT2M): New.
1441	* doc/Makefile.am [CROSS_COMPILING]: Supported.
1442
14432018-03-22  Werner Koch  <wk@gnupg.org>
1444
1445	build: Add option --git-build to autogen.sh.
1446	+ commit 1b30d21c8780f5510815d4fb2523afad9fff85dc
1447
1448
1449	yat2m: Avoid compiler warnings.
1450	+ commit 30621ee4c13006d08881994c32c89f60604c0188
1451	* doc/yat2m.c (evaluate_conditions): Mark args unused
1452	(proc_texi_cmd): Avoid shadowing warning.
1453
1454	core: Add Base-64 encoder.
1455	+ commit ffc8f805165a13d16ed227051c59d732117ec9d4
1456	* src/b64enc.c: Change to fit into libgpg-error.
1457	* src/Makefile.am: Add b64enc.c
1458	* src/b64dec.c: Use xtrymalloc etc.  Always use gpg_err_code_t.
1459	(_gpgrt_b64dec_start): Set decoder flag
1460	(_gpgrt_b64dec_finish): Check for conflict.
1461	(_gpgrt_b64state): Move to ...
1462	* src/gpgrt-int.h: here.  Add new fields.
1463	* src/visibility.c (gpgrt_b64enc_start): New.
1464	(gpgrt_b64enc_write): New.
1465	(gpgrt_b64enc_finish): New.
1466	* src/gpg-error.vers, src/gpg-error.def.in: Add new functions.
1467	* src/gpg-error.h.in: Ditto.
1468	* src/visibility.h: Ditto.
1469
1470	* tests/t-b64dec.c: Remove.
1471	* tests/t-b64.c: New.
1472	* tests/Makefile.am (TESTS): Replace t-b64dec by t-b64.
1473
14742018-03-22  NIIBE Yutaka  <gniibe@fsij.org>
1475
1476	doc: Fix build and installation of yat2m.
1477	+ commit 4dc6d4d2067c726cdb13593bf151637319ff65e6
1478	* configure.ac (YAT2M): Require it when cross compiling.
1479	* doc/Makefile.am (bin_PROGRAMS): Add yat2m.
1480
14812018-03-21  Werner Koch  <wk@gnupg.org>
1482
1483	po: Merge GnuPG's strings from argparse.c.
1484	+ commit e492e0a0a73e1ea9c80f355a25f632af69d3a569
1485
1486
1487	tools: Use gpgrt_argparse for the gpg-error tool.
1488	+ commit 11ce9bc3d6fe75859e18112824ae7ec3ca0fc8df
1489	* src/gpg-error.c (show_usage): Remove.
1490	(my_strusage): New.
1491	(main): Change to use argparse.  Also use log_error.
1492
1493	core: Add public function gpgrt_usage.
1494	+ commit ed78ef7f06649f85f1c94c4fb2bd3f6b16fd9a63
1495	* src/visibility.c (gpgrt_usage): New.
1496
1497	core: Add the group of argparse functions.
1498	+ commit 13d6fbfd4360cb74588556a3a0058c4057d0bcf0
1499	* src/visibility.c (gpgrt_argparse): New.
1500	(gpgrt_strusage): New.
1501	(gpgrt_set_strusage): New.
1502	(gpgrt_set_usage_outfnc): New.
1503	(gpgrt_set_fixed_string_mapper): New.
1504	* src/gpg-error.def.in, src/gpg-error.vers: Add new functions.
1505	* src/gpg-error.h.in: Add ARGPARSE macros from the former argparse.h.
1506	(gpgrt_argparse_t): New.
1507	(gpgrt_opt_t): New.
1508	* configure.ac (AH_BOTTOM): Request argparse macros.
1509	* src/Makefile.am (libgpg_error_la_SOURCES): Add argparse.c.
1510	* src/argparse.h: Remove.
1511	* src/argparse.c: Revamp to fit into libgpg-error.
1512	(_gpgrt_argparse): New.
1513	(_gpgrt_usage): Rename from usage.
1514	(_gpgrt_strusage): Rename from strusage.  Define two new levels and
1515	templates for three common licenses.
1516	(_gpgrt_set_strusage): Rename from set_strusage.
1517	(_gpgrt_set_usage_outfnc): New.
1518	(_gpgrt_set_fixed_string_mapper): New.
1519
1520	* tests/t-argparse.c: New.
1521
15222018-03-18  Werner Koch  <wk@gnupg.org>
1523
1524	core: Fix regression on arm64 due to invalid use of va_list.
1525	+ commit 791177de023574223eddf7288eb7c5a0721ac623
1526	* src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of
1527	NULL.
1528
15292018-03-14  Werner Koch  <wk@gnupg.org>
1530
1531	core: Fix building on W64.
1532	+ commit c36a60687976d98b54dac17f699dfca4918a737c
1533	* src/w32-add.h: Remove hack to define pid_t.
1534	* src/gpg-error.h.in: Eval macro to define pid_t.
1535	* src/mkheader.c (have_sys_types_h, sys_types_h_included): New.
1536	(parse_config_h): Test for sys/types.h.
1537	(write_special): Protect inclusion of sys/types.h.  Define new macro
1538	'define:pid_t'.
1539
15402018-03-13  Werner Koch  <wk@gnupg.org>
1541
1542	Release 1.28.
1543	+ commit e32342397eab85fed5ef709317cc50dc7cbc41a5
1544
1545
15462018-02-28  NIIBE Yutaka  <gniibe@fsij.org>
1547	    Karsten Merker  <merker@debian.org>
1548
1549	syscfg: Add a riscv64 architecture.
1550	+ commit 596c0d701edeb45e0069bb74b9343e3d5b708ef0
1551	* src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h: New.
1552	* src/Makefile.am (lock_obj_pub): Add it.
1553
15542018-02-21  Werner Koch  <wk@gnupg.org>
1555	    Todd Zullinger
1556
1557	build: Document how to use git send-email.
1558	+ commit 70058cd9f944d620764e57c838209afae8a58c78
1559	* autogen.rc: Add patches_to.
1560	* autogen.sh: Run git config sendemail.to.
1561	* doc/HACKING: Describe use of git send-email.
1562
15632018-02-21  Thorsten Behrens  <Thorsten.Behrens@CIB.de>
1564
1565	doc: clarify patch submission workflow.
1566	+ commit 887530733d0486ab68ff351c4855f5450c2d50e6
1567
1568
15692017-12-11  Werner Koch  <wk@gnupg.org>
1570
1571	core: Avoid using estream_t in the public API.
1572	+ commit f9a33a7f7e44a644ff4e31f7e9f1c2c1ec1f8eee
1573	* src/gpg-error.h.in: Always use gpgrt_stream-t.
1574
15752017-12-08  Werner Koch  <wk@gnupg.org>
1576
1577	core: Rename the gpgrt_log_levels enum values.
1578	+ commit de167fa92d009745c51dae547990845282cbb351
1579	* src/gpg-error.h.in (gprt_log_levels): Rename to GPGRT_LOGLVL.
1580
15812017-11-29  Werner Koch  <wk@gnupg.org>
1582
1583	core: Wrap blocking system calls of the spawn functions.
1584	+ commit 4acf116ba6d144c2cfa39ff54a23b8864b4ce895
1585
1586
1587	core: Unify syscall_clamp functions.
1588	+ commit adc786d034b63176b941a1ef8d996acbf8d0ea5d
1589	* src/estream.c (_gpgrt_set_syscall_clamp)
1590	(_gpgrt_get_syscall_clamp): Move to ...
1591	* src/syscall-clamp.c: new file.
1592	(_gpgrt_pre_syscall, _gpgrt_post_syscall): New.
1593	* src/Makefile.am (libgpg_error_la_SOURCES): Add that file.
1594	* src/estream.c: Replace the syscall wrapper with the new functions.
1595	* src/posix-lock.c: Ditto.
1596	* src/w32-lock.c: Ditto.
1597	* src/posix-thread.c: Ditto.
1598	* src/w32-thread.c: Ditto.
1599
1600	core: Implement the spawn functions.
1601	+ commit 1865c0ba1769b407a3c504f1ab0a4278704a9fc1
1602	* src/gpg-error.h.in  (GPGRT_SPAWN_NONBLOCK): New const.
1603	(GPGRT_SPAWN_RUN_ASFW): New const.
1604	(GPGRT_SPAWN_DETACHED): New const.
1605	(gpgrt_make_pipe): New function.
1606	(gpgrt_create_pipe): New macro.
1607	(gpgrt_create_inbound_pipe): New macro.
1608	(gpgrt_create_outbound_pipe): New macro.
1609	(gpgrt_spawn_process): New function.
1610	(gpgrt_spawn_process_fd): New function.
1611	(gpgrt_spawn_process_detached): New function.
1612	(gpgrt_wait_process): New function.
1613	(gpgrt_wait_processes): New function.
1614	(gpgrt_kill_process): New function.
1615	(gpgrt_release_process): New function.
1616	* src/gpg-error.def.in, src/gpg-error.vers: Add new functions.
1617	* src/visibility.c, src/visibility.h: Add wrappers for new functions.
1618	* src/spawn-posix.c: Rework to better fit the use in gpgrt.  Rename
1619	all public function with a _gpgrt prefix.
1620	* src/spawn-w32.c: Ditto.
1621	* src/gpgrt-int.h: Likewise.
1622	* src/Makefile.am (arch_sources): Add spawn-posix.c and spawn-w32.c.
1623	* src/w32-add.h: Add pid_t typedef as a temporary hack.
1624	* configure.ac: Check for signal.h and getrlimit.
1625	(AC_FUNC_FORK): New.
1626
1627	Import and relicense exechelp* functions from GnuPG.
1628	+ commit 8f41cc23b12485404203be5881aaaadb78696b4d
1629	* src/spawn-posix.c: New.  Taken from GnuPG's exechelp-posix.c.
1630	* src/spawn-w32.c: New.  Taken from GnuPG's exechelp-w32.c.
1631	* src/gpgrt-int.h: Include prototypes from GnuPG's exechelp.h.
1632
16332017-11-28  Werner Koch  <wk@gnupg.org>
1634
1635	core: Change new functions to return gpg_err_code_t.
1636	+ commit 513415c71781ab400ebb01f6b4cf2984ec6b1757
1637	* src/gpg-error.h.in (gpgrt_sentenv, gpgrt_mkdir, gpgrt_chdir): Change
1638	return type to gpg_err_code_t.
1639	* src/sysutils.c (_gpgrt_setenv): Implement that.
1640	(_gpgrt_mkdir): Ditto.
1641	(_gpgrt_chdir): Ditto.
1642	* gpgscm/ffi.c (do_setenv, do_mkdir): Adjust for this change.
1643
1644	gpgscm: Some adjustments for use in gpgrt.
1645	+ commit 930d27ba6b1205395add0c79139e62355a1d5b62
1646	* gpgscm/Makefile.am: Remove cruft leftover from GnuPG.  Link to the
1647	just build libgpg-error.
1648	* gpgscm/private.h: Include gpgrt.h and provide i18n macros.
1649	(xfree, xtrymalloc, xtrycalloc, xtryrealloc): New macros.
1650	(xmalloc, xstrdup): New inline functions.
1651	* gpgscm/main.c: Remove inclusion of gcrypt.h and gpg-error.h.  Remove
1652	all other gnupg specific headers.
1653	(opts, parse_arguments): Temporary comment out.
1654	(main): Adjust for use with gpgrt.  Temporary comment out some stuff.
1655	* gpgscm/ffi-private.h: Include local gpgrt.h instead of gpg-error.h.
1656	* gpgscm/ffi.h: Ditto.
1657	* gpgscm/ffi.c: Remove gpg-error.h and headers from GnuPG.
1658	(do_getenv): Use gpgrt_getenv.
1659	(do_setenv): Use gpgrt_setenv.
1660	(do_mkdtemp): Temporary return an error.
1661	(unlink_recursively): Use gpgrt_bsprintf.
1662	(do_getcwd): Use gpgrt_getcwd.
1663	(do_mkdir): Use gpgrt_mkdir.
1664	(do_get_isotime): Temporary return an error.
1665	(do_get_time): Directly use time().
1666
1667	core: New API functions gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd.
1668	+ commit 4a2538e69dd35377bce0fb584f72322c69a111b3
1669	* src/gpg-error.h.in (gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd): New.
1670	* src/visibility.c, src/visibility.h: Add wrappers.
1671	* src/gpg-error.vers, src/gpg-error.def.in: Add them.
1672	* src/sysutils.c (modestr_to_mode): New.
1673	(_gpgrt_mkdir, _gpgrt_chdir, _gpgrt_getcwd): New.
1674	* m4/gnupg-misc.m4: New.
1675	* m4/Makefile.am (EXTRA_DIST): Add new M4 file.
1676	* configure.ac: Call new GNUPG_FUNC_MKDIR_TAKES_ONE_ARG.
1677	(AC_CHECK_FUNCS): Add stat.
1678
1679	core: Prepare to build with gpgscm.
1680	+ commit 241e9a73891fcd12f124aab1a299c2cf4f8eebc4
1681	* configure.ac: New option --enable-gpgscm.  Create gpgscm/Makefile.
1682	(GPGRT_ENABLE_LOG_MACROS): Define.
1683	* Makefile.am (SUBDIRS): Add gpgscm
1684	* src/logging.c (_gpgrt_logv_clock): Do not use the log_debug macro.
1685
1686	core: New API functions gpgrt_getenv and gpgrt_setenv.
1687	+ commit b67daca506991507cea9d383df7faf95117e58a6
1688	* src/gpg-error.h.in (gpgrt_getenv, gpgrt_setenv): New.
1689	(gpgrt_unsetenv): New macro.
1690	* src/gpg-error.vers, src/gpg-error.def.in: Add them.
1691	* src/visibility.c (gpgrt_getenv, gpgrt_setenv): New.
1692	* src/visibility.h: Add them.
1693	* src/sysutils.c: Include string.h and on Windows windows.h.
1694	(_gpgrt_getenv): New.
1695	(_gpgrt_setenv): New.
1696
16972017-11-27  Werner Koch  <wk@gnupg.org>
1698
1699	core: Install new files gpgrt.m4 and gpgrt-config.
1700	+ commit 97b0881216af24f2a46c11650e23691cff9cb12a
1701	* src/gpgrt.m4: New.  Bascially a copy of libgpg-error.m4
1702	* src/gpg-error-config.in: Decide which name to print.
1703	* src/Makefile.am (nodist_bin_SCRIPTS): Add gpgrt-config.
1704	(m4data_DATA): Add gpgrt.m4
1705	(EXTRA_DIST): Add gpgrt.m4.
1706	(BUILT_SOURCES): Add gpgrt-config.
1707	(CLEANFILES): Add gpgrt-config.
1708	(gpgrt-config): Create from gpg-error-config.
1709
1710	core: Avoid endless recursion if log_set_sink has not been used.
1711	+ commit 84ebd2f34882d29510f819a797fade0297fe9ab9
1712	* src/logging.c (_gpgrt_log_set_sink): Do not call gf_is_valid if the
1713	default sink has been requested.
1714
1715	core: Add new macro log_assert to the API.
1716	+ commit d1e3401013f85620f3136958be079c13ca758b20
1717	* src/gpg-error.h.in (log_assert): New macro.
1718
17192017-11-22  Werner Koch  <wk@gnupg.org>
1720
1721	core: Do not use the estream_t alias in gpg-error.h.
1722	+ commit e0ef8126c20216f79b7ad147c103bb2cf2790c59
1723	* src/gpg-error.h.in: Use gpgrt_stream_t in prototypes.
1724
17252017-11-17  Werner Koch  <wk@gnupg.org>
1726
1727	w32: Avoid unused code warning.
1728	+ commit a950326d20990fa33cee637d5b54d708fff585b2
1729	* src/w32-estream.c (_gpgrt_w32_poll) [!ENABLE_TRACING]: Do not use
1730	waitinfo.
1731
1732	w32: Add new API fucntion gpgrt_w32_reg_query_string.
1733	+ commit b5c4a2721d7b4bd54705c53e6f294ab2ef66a6f7
1734	* src/w32-reg.c: New.
1735	* src/w32-add.h: Add gpgrt_w32_reg_query_string.
1736	* src/visibility.c (gpgrt_w32_reg_query_string): New wrapper.
1737	* src/gpg-error.def.in: Add gpgrt_w32_reg_query_string.
1738	* configure.ac (ac_check_funcs): Add stpcpy.
1739	* src/Makefile.am (arch_sources): Add w32-reg.c
1740	(socklibs): New.
1741	(libgpg_error_la_LIBADD): Add socklibs.
1742	* src/gpgrt-int.h (xfree, xtrymalloc, xtrycalloc)
1743	(xtryrealloc): New internal macros.
1744	(_gpgrt_stpcpy, stpcpy): New replacement fucntion and macro.
1745	* src/logging.c (_gpgrt_logv_internal): Use new registry query
1746	function and add standard registry key.
1747
1748	core: New API functions gpgrt_strdup and gpgrt_strconcat.
1749	+ commit 0d8d46c76a32176be440b062d2501bbb044fb99d
1750	* src/visibility.c (gpgrt_strdup): New API fucntion.
1751	(gpgrt_strconcat): New API fucntion.
1752	* src/visibility.h: Add corresponding macros.
1753	* src/gpg-error.def.in: Add them.
1754	* src/gpg-error.vers: Add them.
1755	* src/gpgrt-int.h (DIM): New macro.
1756	* src/init.c (_gpgrt_strdup): New.
1757	(_gpgrt_strconcat_core): New.
1758	(_gpgrt_strconcat): New.
1759
1760	core: New API functions gpgrt_malloc, gpgrt_calloc, and gpgrt_realloc.
1761	+ commit 80c18e1b212cc91946864db7a53da50e9f91b861
1762	* src/visibility.c (gpgrt_realloc): New API function.
1763	(gpgrt_malloc): New API function.
1764	(gpgrt_calloc): New API function.
1765	* src/visibility.h: Add corresponding macros.
1766	* src/gpg-error.def.in: Add them.
1767	* src/gpg-error.vers: Add them.
1768	* src/init.c (_gpgrt_calloc): New.
1769	* src/gpg-error.h.in: Add prototypes.
1770
1771	core: Add logging API.
1772	+ commit 1b653e7f37e2eb2a8f590a43651eb8aecbe8756e
1773	* src/visibility.c (gpgrt_get_errorcount): New API.
1774	(gpgrt_inc_errorcount): New API.
1775	(gpgrt_log_set_sink): New API.
1776	(gpgrt_log_set_socket_dir_cb): New API.
1777	(gpgrt_log_set_pid_suffix_cb): New API.
1778	(gpgrt_log_set_prefix): New API.
1779	(gpgrt_log_get_prefix): New API.
1780	(gpgrt_log_test_fd): New API.
1781	(gpgrt_log_get_fd): New API.
1782	(gpgrt_log_get_stream): New API.
1783	(gpgrt_log): New API.
1784	(gpgrt_logv): New API.
1785	(gpgrt_logv_prefix): New API.
1786	(gpgrt_log_string): New API.
1787	(gpgrt_log_info): New API.
1788	(gpgrt_log_error): New API.
1789	(gpgrt_log_fatal): New API.
1790	(gpgrt_log_bug): New API.
1791	(gpgrt_log_debug): New API.
1792	(gpgrt_log_debug_string): New API.
1793	(gpgrt_log_printf): New API.
1794	(gpgrt_log_flush): New API.
1795	(gpgrt_log_printhex): New API.
1796	(gpgrt_log_clock): New API.
1797	(_gpgrt_log_assert): New function for the ABI.
1798	* src/visibility.h: Add corresponding macros.
1799	* src/gpg-error.def.in: Add new functions.
1800	* src/gpg-error.vers: Add new functions.
1801	* src/gpg-error.h.in (GPGRT_LOG_WITH_PREFIX): New constant.
1802	(GPGRT_LOG_WITH_TIME): New constant.
1803	(GPGRT_LOG_WITH_PID): New constant.
1804	(GPGRT_LOG_RUN_DETACHED): New constant.
1805	(GPGRT_LOG_NO_REGISTRY): New constant.
1806	(GPGRT_LOG_BEGIN): New enum value.
1807	(GPGRT_LOG_CONT): New enum value.
1808	(GPGRT_LOG_INFO): New enum value.
1809	(GPGRT_LOG_WARN): New enum value.
1810	(GPGRT_LOG_ERROR): New enum value.
1811	(GPGRT_LOG_FATAL): New enum value.
1812	(GPGRT_LOG_BUG): New enum value.
1813	(GPGRT_LOG_DEBUG): New enum value.
1814	(log_get_errorcount, log_inc_errorcount, log_set_file, log_set_fd)
1815	(log_set_stream, log_set_socket_dir_cb, log_set_pid_suffix_cb)
1816	(log_set_prefix, log_get_prefix, log_test_fd, log_get_fd)
1817	(log_get_stream, log_log, log_logv, log_logv_prefix, log_string)
1818	(log_bug, log_fatal, log_error, log_info, log_debug, log_debug_string)
1819	(log_printf, log_printhex, log_clock)
1820	(log_flush) [GPGRT_ENABLE_LOG_MACROS]: New wrapper macros.
1821	(gpgrt_assert): New macro.
1822	* src/gpgrt-int.h: Add prototypes for logging.c.
1823	(gpgrt_assert): Redefine for internal use.
1824	* src/logging.h: Remove.
1825	* src/logging.c: Include gpgrt-int.h instead of the stuff from GnuPG.
1826	Use _gpgrt malloc funcsions and the internal versions of the estream
1827	functions.  Rename all public fucntions with a _gpgrt_ prefix.
1828	(print_prefix): Return the printed length.
1829	(_gpgrt_logv_internal): Ditto.
1830	(_gpgrt_log_printhex): Change order of args and turn into a printf
1831	like function.
1832	(_gpgrt_logv_printhex): New. Take the core of the former
1833	log_printhex.
1834	(_gpgrt_log_clock): Turn into a printf like functions.
1835	(_gpgrt_logv_clock): New.  Take the core of the former log_clock.
1836
1837	New configure options and macros for internal use.
1838	+ commit 9c904765c9b2b75e73b196b381470f0fb2f3b458
1839	* configure.ac: Add option --enable-log-clock.
1840	* configure.ac: Add option --enable-werror.
1841	* src/sysutils.c: New.
1842	* src/Makefile.am (libgpg_error_la_SOURCES): Add sysutils.c
1843	* src/gpgrt-int.h: Add internal i18n macros and hacks to make working
1844	with sockets easier.
1845	(es_stdin, es_stdout, es_stderr): New internal macros.
1846	(snprintf): New macro.
1847
18482017-10-05  Werner Koch  <wk@gnupg.org>
1849
1850	gpgscm: Add required configure checks.
1851	+ commit 7c48edad2c782f416854eaa5c03bcf546d68eae2
1852	* configure.ac: Add new checks.
1853	* m4/readline.m4: New.  Taken from gnupg.
1854	* m4/Makefile.am (EXTRA_DIST): Add it.
1855
18562017-08-21  Justus Winter  <justus@g10code.com>
1857
1858	gpgscm: Fix -Wimplicit-fallthrough warnings.
1859	+ commit dda5fb3474a81047e5bd52a194640fb44e1d60ab
1860	* tests/gpgscm/scheme.c (CASE): Rearrange so that the case statement
1861	is at the front.
1862	(Eval_Cycle): Improve fallthrough annotations.
1863
18642017-08-08  Werner Koch  <wk@gnupg.org>
1865
1866	build: New configure option --enable-all-tests.
1867	+ commit 3aa37d802ac10a38414a8cfe120de92a76968836
1868	* configure.ac: New option --enable-all-tests.
1869	* tests/gpgscm/ffi.c (ffi_init): New gloabl var *run-all-tests*.
1870	* tests/openpgp/all-tests.scm (all-tests): Use that var instead
1871	of *maintainer-mode*.
1872	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add --enable-all-tests.
1873
1874	gpgscm: Make the test summary stand out.
1875	+ commit c2fbc80c643db372f16aed100393cd2d4de46979
1876	* tests/gpgscm/tests.scm (test-pool): Add delimiter lines.
1877
18782017-08-07  Justus Winter  <justus@g10code.com>
1879
1880	tests: Do not run all tests unless in maintainer mode.
1881	+ commit d230224c38dd4b31348f7a1ad24be9e27935dc80
1882	* configure.ac: Leak the maintainer mode flag into 'config.h'.
1883	* tests/gpgscm/ffi.c: Pass it into the scheme environment.
1884	* tests/openpgp/all-tests.scm: Only run tests against non-default
1885	configurations (keyring, extended-key-format) in maintainer mode.
1886
18872017-07-18  Justus Winter  <justus@g10code.com>
1888
1889	gpgscm,w32: Fix testing for absolute paths.
1890	+ commit c4230af0e62d7c8812eaedf4e6451a6288ff5769
1891	* tests/gpgscm/main.c (path_absolute_p): New function.
1892	(load): Use new function.
1893
18942017-07-14  Justus Winter  <justus@g10code.com>
1895
1896	gpgscm: Library improvements.
1897	+ commit a4dbace8c1d771bed5783aadf87a8075454e5a35
1898	* tests/gpgscm/repl.scm (prompt-yes-no?): New function.
1899	* tests/gpgscm/tests.scm (pathsep-split): Likewise.
1900	(pathsep-join): Likewise.
1901	(with-path): Use the new function.
1902
1903	gpgscm: Fail early if the test setup fails.
1904	+ commit c67386dcd95dd6a451b861e178503b29a7b13502
1905	* tests/gpgscm/tests.scm (make-environment-cache): Check status code
1906	of setup script.
1907
19082017-07-13  Justus Winter  <justus@g10code.com>
1909
1910	gpgscm: Make loading of modules less verbose.
1911	+ commit 8377569cae0764fd44701d67626b4c96f0bd8804
1912	* tests/gpgscm/main.c (load): Increase logging threshold.
1913
1914	gpgscm: Make it impossible to catch '*interpreter-exit*'.
1915	+ commit ba3164673676468472ae37f32c3964d231e8a8f8
1916	* tests/gpgscm/init.scm (throw'): Make it impossible to catch
1917	'*interpreter-exit*'.  This fixes 'exit' (and with it 'fail') inside
1918	'catch' statements.
1919
19202017-07-05  Werner Koch  <wk@gnupg.org>
1921
1922	syscfg: Add lock-obj-pub file for ia64-unknown-linux-gnu.
1923	+ commit 0f5c3f67946fb5389df5b9963e6976b462bf5726
1924	* src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h: new.
1925	* src/Makefile.am (lock_obj_pub): Add it.
1926
1927	yat2m: Use version from libgpg-error.
1928	+ commit 0148ea8d5acde2ad5d0376fb7eaa2221e88f258a
1929	* doc/yat2m.c (VERSION): Define as PACKAGE_VERSION.
1930	* doc/Makefile.am (yat2m): Pass PACKAGE_VERSION with -D.
1931
1932	build: Install yat2m.
1933	+ commit d81b1379edbc6007a89c3b2fff1b51c8dfe2e868
1934	* doc/Makefile.am (install-exec-hook): New.
1935	(uninstall-local): Uninstall yat2m.
1936
1937	yat2m: Take care of SOURCE_DATE_EPOCH.
1938	+ commit 5494a5728418938d2e42158bb646b07124184e64
1939	* doc/yat2m.c (main): Set a default for OPT_DATE.
1940
19412017-07-05  NIIBE Yutaka  <gniibe@fsij.org>
1942
1943	doc: minor fix for @xref.
1944	+ commit 187e2ad24fb92210587beb779a1cc746821a169c
1945	* doc/yat2m.c (proc_texi_cmd): Captalize "see" for xref.
1946
19472017-07-05  Justus Winter  <justus@g10code.com>
1948
1949	doc: Implement simple '@ref'erences.
1950	+ commit 55d560358f7ee4a8b68f98e051021a05d4c0bb1f
1951	* doc/yat2m.c (proc_texi_cmd): Handle '@ref'.
1952
19532017-06-19  Justus Winter  <justus@g10code.com>
1954
1955	gpgscm: Limit the number of parallel jobs.
1956	+ commit 895ae4c6b1bd2fd9758d9c2835d9a3881e57a85a
1957	* ffi.c (do_wait_processes): Suppress the timeout error.
1958	* tests.scm (semaphore): New definition.
1959	(test-pool): Only run a bounded number of tests in parallel.
1960	(test::started?): New function.
1961	(run-tests-parallel): Do not report results, do not start the tests.
1962	(run-tests-sequential): Adapt.
1963	(run-tests): Parse the number of parallel jobs.
1964
1965	gpgscm: Improve option parsing.
1966	+ commit b4628b4a23d7e8b55ef3f17d79ca86ae77cbc685
1967	* tests/gpgscm/tests.scm (flag): Accept arguments of the form
1968	'--foo=bar'.
1969
1970	gpgscm: Improve error handling of foreign functions.
1971	+ commit f8934d091a274685c1b2a303ac2772adddd303c6
1972	* tests/gpgscm/ffi.scm (ffi-fail): Do not needlessly join the error
1973	message.
1974
1975	gpgscm: Improve error reporting.
1976	+ commit f57405bea31bac1e3c8e4353aea9bb3cede1b90c
1977	* tests/gpgscm/init.scm (throw'): Guard against 'args' being atomic.
1978	* tests/gpgscm/scheme.c (Eval_Cycle): Remove any superfluous colons in
1979	error messages.
1980
19812017-05-31  Justus Winter  <justus@g10code.com>
1982
1983	Align 'es_poll' semantics closer with POSIX.
1984	+ commit 4a9857a2b6d8a8e847638416d35398508b3291fd
1985	* src/estream.c (_gpgrt_poll): Do not return early if some streams are
1986	found to be ready before even polling the others.
1987
1988	build: Prepend the maintainer CFLAGS.
1989	+ commit df1d61d5c84d984fb2d2a6f1b69c57878decf13e
1990	* configure.ac: Prepend the maintainer CFLAGS making it possible to
1991	override e.g. the optimization level for debugging.
1992
19932017-05-30  NIIBE Yutaka  <gniibe@fsij.org>
1994
1995	Fix memory leak for estream.
1996	+ commit 1e7203515be0b030709109e9da621642dfa20312
1997	* src/estream.c (do_list_remove): Free the item.
1998	(do_close): Free the buffer.
1999
20002017-05-17  Justus Winter  <justus@g10code.com>
2001
2002	gpgscm: Fix checking for opcode arguments.
2003	+ commit d2747ce24d445ae7ef3ec4ed0cca2f30aa833e7c
2004	* tests/gpgscm/scheme.c (Eval_Cycle): Update 'pcd' after dispatching
2005	an instruction.
2006
20072017-05-11  Justus Winter  <justus@g10code.com>
2008
2009	tests: Make it possible to run all tests using our infrastructure.
2010	+ commit 4bc110e219b13d551c0c6c9987b7602e44715032
2011	* Makefile.am (TESTS_ENVIRONMENT): New variable.
2012	(check-all): New phony target to run all tests.
2013	* tests/gpgme/gpgme-defs.scm (have-gpgme?): New function that tests
2014	whether the GPGME test suite is available instead of exiting the
2015	process.
2016	* tests/gpgscm/init.scm (export): New macro.
2017	* tests/gpgscm/tests.scm (run-tests): New function.
2018	(load-tests): Likewise.
2019	* tests/gpgme/run-tests.scm: Simplify and move the parsing of the list
2020	of tests to 'all-tests.scm'.
2021	* tests/gpgsm/run-tests.scm: Likewise.
2022	* tests/migrations/run-tests.scm: Likewise.
2023	* tests/openpgp/run-tests.scm: Likewise.
2024	* tests/gpgme/Makefile.am: To select the tests to run, use the
2025	variable 'TESTS'.  This harmonizes the interface with the automake
2026	test suite.
2027	* tests/gpgsm/Makefile.am: Likewise.
2028	* tests/migrations/Makefile.am: Likewise.
2029	* tests/openpgp/Makefile.am: Likewise.
2030	* tests/openpgp/README: Likewise.
2031	* agent/all-tests.scm: New file.
2032	* common/all-tests.scm: Likewise.
2033	* g10/all-tests.scm: Likewise.
2034	* g13/all-tests.scm: Likewise.
2035	* tests/gpgme/all-tests.scm: Likewise.
2036	* tests/gpgsm/all-tests.scm: Likewise.
2037	* tests/migrations/all-tests.scm: Likewise.
2038	* tests/openpgp/all-tests.scm: Likewise.
2039	* tests/run-tests.scm: Likewise.
2040
2041	tests: Move the makefile parser.
2042	+ commit 197404aae66c688d004337c0aefe153ef6b10f87
2043	* tests/gpgme/gpgme-defs.scm (parse-makefile, parse-makefile-expand):
2044	Move...
2045	* tests/gpgscm/makefile.scm: ... here.
2046	* tests/gpgscm/Makefile.am (EXTRA_DIST): Add new file.
2047
2048	gpgscm: Make it possible to set the logfile name.
2049	+ commit dd48994b0c99a4099f49ccd437a08ddff39af8a2
2050	* tests/gpgscm/tests.scm (test): Only set the default log filename
2051	when it has not been set before.
2052
20532017-05-04  Justus Winter  <justus@g10code.com>
2054
2055	tests: Support tests that are expected to fail.
2056	+ commit 212a0febf8bbaf735ae2e65722f39a47a1c5b122
2057	* tests/gpgscm/tests.scm (test-pool): Rework reporting.  Filter using
2058	the computed test status instead of the return value.  Also print the
2059	new categories 'failed expectedly' and 'passed unexpectedly'.
2060	(test): If a test ends with a bang (!), it is expected to fail.  Adapt
2061	status, status-string, and xml accordingly.
2062
20632017-05-03  Justus Winter  <justus@g10code.com>
2064
2065	gpgscm: Create and re-use frame objects.
2066	+ commit 272b0ad65ec4c6023d4b5a4fb2f003ada432b6e5
2067	* tests/gpgscm/scheme-private.h (struct scheme): New field
2068	'frame_freelist'.
2069	* tests/gpgscm/scheme.c (enum scheme_types): New type 'T_FRAME'.
2070	(type_to_string): Handle new type.
2071	(settype): New macro.
2072	(gc_disable): Make sure there is at least one frame in the free list.
2073	(mark): Handle frame objects.
2074	(finalize_cell): Likewise.
2075	(dump_stack_initialize): Initialize free list.
2076	(dump_stack_free): Simplify.
2077	(frame_length): New variable.
2078	(dump_stack_make_frame): New function.
2079	(frame_slots): Likewise.
2080	(frame_payload): New macro.
2081	(dump_stack_allocate_frame): New function.
2082	(dump_stack_deallocate_frame): Likewise.
2083	(dump_stack_preallocate_frame): Likewise.
2084	(_s_return): Unpack frame object and deallocate it.
2085	(s_save): Wrap state in an frame object.
2086	(dump_stack_mark): Mark the free list.
2087
2088	gpgscm: Merge opexe_0.
2089	+ commit df499c6ee5edf0a560138640141a3abef360b4f5
2090	* tests/gpgscm/scheme-private.h (struct scheme): Remove field 'op'.
2091	* tests/gpgscm/scheme.c (opexe_0): Inline into 'Eval_Cycle'.
2092	(_Error_1): Return the opcode to evaluate next.
2093	(Error_1): Do not return, but set the opcode and goto dispatch.
2094	(Error_0): Likewise.
2095	(s_goto): Likewise.
2096	(s_return): Likewise.
2097	(s_return_enable_gc): Likewise.
2098	(s_thread_to): Remove superfluous cast.
2099	(_s_return): Return the opcode to evaluate next.
2100	(scheme_init_custom_alloc): Adapt to removal of field 'op'.
2101
21022017-04-24  Justus Winter  <justus@g10code.com>
2103
2104	gpgscm: Refactor cell finalization.
2105	+ commit 36e266a5cbb78560d32bc33f18f9041db1ff5080
2106	* tests/gpgscm/scheme.c (finalize_cell): Use switch, return whether
2107	the cell may be freed.
2108	(gc): Update callsite.
2109
2110	gpgscm: Tweak error message display.
2111	+ commit e8c896c7f9aabad6e1387f538accb54ac6b2b1cc
2112	* tests/gpgscm/init.scm (throw'): If the first argument to the error
2113	is a string, display it as such.
2114
2115	gpgscm: Fix test.
2116	+ commit b67d1a3f36f2b15fb75de613942668b71cad1bd7
2117	* tests/gpgscm/t-child.scm: Use 'string-length' on the string.
2118
2119	gpgscm: Improve syntax checking.
2120	+ commit 008894eff46724d60a24879d319b427606fcafd1
2121	* tests/gpgscm/scheme.c (opexe_0): Make sure closure arguments are
2122	symbols.
2123
2124	gpgscm: Emit JUnit-style XML reports.
2125	+ commit 5dc43e579ef4340c668fa7e294f5a69fef9d622e
2126	* tests/gpgscm/Makefile.am (EXTRA_DIST): Add new file.
2127	* tests/gpgscm/lib.scm (string-translate): New function.
2128	* tests/gpgscm/main.c (main): Load new file.
2129	* tests/gpgscm/tests.scm (dirname): New function.
2130	(test-pool): Record execution times, emit XML report.
2131	(test): Record execution times, record log file name, emit XML report.
2132	(run-tests-parallel): Write XML report.
2133	(run-tests-sequential): Likewise.
2134	* tests/gpgscm/xml.scm: New file.
2135	* tests/gpgme/Makefile.am (CLEANFILES): Add 'report.xml'.
2136	* tests/gpgsm/Makefile.am: Likewise.
2137	* tests/migrations/Makefile.am: Likewise.
2138	* tests/openpgp/Makefile.am: Likewise.
2139
2140	gpgscm: Make logging less verbose and more useful.
2141	+ commit a3e51fab6b30774959dc7d4d3409000fdbe1f7b3
2142	* tests/gpgscm/tests.scm (call-with-io): When being verbose, include
2143	the pid in the output, and avoid duplicating the command arguments.
2144
2145	gpgscm: Make test framework less functional.
2146	+ commit aa843dbcd32c65eeac8c7c3cea4efb3ed7a94a0c
2147	* tests/gpgscm/tests.scm (test-pool, tests): Previously, these methods
2148	updated objects by creating new updated copies of the object being
2149	manipulated.  This made the code awkward without any benefit,
2150	therefore I change it to just update the object.
2151
2152	gpgscm: Move 'trace' and 'stringify'.
2153	+ commit 763bd518b27d4e125fa3dce64417ae2aca2101d4
2154	* tests/gpgscm/tests.scm (trace, stringify): Move...
2155	* tests/gpgscm/lib.scm: ... here.
2156
2157	gpgscm: Avoid fruitless garbage collection cycles.
2158	+ commit 8bda9387d5be9193fd0f484fd1272367a7422389
2159	* tests/gpgscm/scheme-private.h (CELL_MINRECOVER): New macro.
2160	* tests/gpgscm/scheme.c (_get_cell): Move the heuristic to get more
2161	cells...
2162	(gc): ... here where every caller benefits from the optimization.
2163
21642017-04-19  NIIBE Yutaka  <gniibe@fsij.org>
2165
2166	Minor clean up.
2167	+ commit a8d267a7220399f7acf69723fe1d31efd2160319
2168	* src/b64dec.c (_gpgrt_b64dec_proc): Add a comment.
2169	* src/estream.c (_gpgrt_fread, _gpgrt_fwrite): Use &&.
2170	* src/mkheader.c (xstrdup): Use memcpy as we know length.
2171
21722017-04-12  NIIBE Yutaka  <gniibe@fsij.org>
2173
2174	gpgscm: Fix test program.
2175	+ commit e71c0d39d2fb896df85949a61811e3b19fd050d7
2176	* tests/gpgscm/t-child.c (main): Fix for setmode.
2177
21782017-04-11  Justus Winter  <justus@g10code.com>
2179
2180	tests: Fix distcheck.
2181	+ commit b03bcee96fc4eb950c6ae38fd8b5af831b281f02
2182	* tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'gnupg.scm'.
2183
2184	tests: Move common functionality.
2185	+ commit d9dd8135ec6e1a4b7a66bc385714b8c1beba3e96
2186	* tests/openpgp/defs.scm (with-home-directory,
2187	with-ephemeral-home-directory): Move...
2188	* tests/gpgscm/gnupg.scm: ... to this new file.
2189	* tests/gpgscm/main.c (main): Load the new file.
2190
21912017-04-10  Justus Winter  <justus@g10code.com>
2192
2193	gpgscm: Fix opcode dispatch.
2194	+ commit afb7060de5c55976d08e0692fbffd0cc108914a0
2195	* tests/gpgscm/scheme.c (opexe_0): Consider 'op', not 'sc->op'.  The
2196	former is the opcode we are currently executing.
2197
2198	gpgscm: Mmap script files.
2199	+ commit ef41f332cba624e9bca6100ebacd4fffe4e61679
2200	* tests/gpgscm/main.c (load): Try to mmap the script.
2201	* tests/gpgscm/scheme.c (scheme_load_memory): New function, a
2202	generalization of 'scheme_load_string'.
2203	* tests/gpgscm/scheme.h (scheme_load_memory): New prototype.
2204
2205	gpgscm: Refactor checking for opcode arguments.
2206	+ commit 6c9de8ff59a9c637de944706533421dc4cf20708
2207	* tests/gpgscm/scheme.c (op_code_info): Fix type, add forward
2208	declaration.
2209	(check_arguments): New function.
2210	(Eval_cycle): Use the new function.
2211
2212	gpgscm: Improve syntax dispatch.
2213	+ commit 173531921d133a007d30c32cec00546749d8cfbf
2214	* tests/gpgscm/scheme.c (assign_syntax): Add opcode parameter, store
2215	opcode in the tag.
2216	(syntaxnum): Add sc parameter, retrieve opcode from tag.
2217	(opexe_0): Adapt callsite.
2218	(scheme_init_custom_alloc): Likewise.
2219
2220	gpgscm: Make tags mandatory.
2221	+ commit d6c83fbb06abc99de696b3f9a0b1cb962fa05b26
2222	* tests/gpgscm/opdefines.h: Make tags mandatory.
2223	* tests/gpgscm/scheme.c: Likewise.
2224	* tests/gpgscm/scheme.h: Likewise.
2225
2226	gpgscm: Add and use opcode for reversing a list in place.
2227	+ commit be78c20cdd93ed295bfee1aef1e9d2e9253b779c
2228	* tests/gpgscm/lib.scm (string-split-pln): Use 'reverse!'.
2229	(string-rtrim): Likewise.
2230	* tests/gpgscm/opdefines.h (reverse!): New opcode.
2231	* tests/gpgscm/scheme.c (opexe_0): Handle new opcode.
2232
2233	gpgscm: Deduplicate code.
2234	+ commit 8a2d1706e5d4b3d33ff349838f0c51631e32a2ce
2235	* tests/gpgscm/scheme.c (oblist_add_by_name): Deduplicate.
2236	(new_slot_spec_in_env): Likewise.
2237
2238	gpgscm: Move dispatch table into rodata.
2239	+ commit 5aeeb5af96dce901a8b21613e33baed8b9331692
2240	* tests/gpgscm/opdefines.h: Use 0 instead of NULL.
2241	* tests/gpgscm/scheme.c (op_code_info): Use char arrays instead of
2242	pointers, make arity parameters smaller.
2243	(INF_ARG): Adapt.
2244	(_OP_DEF): Likewise.
2245	(dispatch_table): Likewise.
2246	(procname): Likewise.
2247	(Eval_cycle): Likewise.
2248	(scheme_init_custom_alloc): Likewise.
2249
2250	gpgscm: Use more threaded code.
2251	+ commit 49c22bd71892f47835d9e03f3bd3122a1f0b8faa
2252	* tests/gpgscm/scheme.c (opexe_0): Use 's_thread_to' instead of
2253	's_goto' wherever possible.
2254
2255	gpgscm: Remove now obsolete dispatcher function from the opcodes.
2256	+ commit 6d99d2f287aa40d8add81ce892026dfe05768fd4
2257	* tests/gpgscm/opdefines.h: Remove now obsolete dispatcher function
2258	from the opcodes.
2259	* tests/gpgscm/scheme-private.h (_OP_DEF): Adapt.
2260	* tests/gpgscm/scheme.c (dispatch_func): Remove type declaration.
2261	(op_code_info): Remove 'func'.
2262	(_OP_DEF): Adapt.
2263	(Eval_Cycle): Always call 'opexe_0'.
2264
2265	gpgscm: Merge 'opexe_6'.
2266	+ commit c183d8f4c6cdf6b48265f01e4c007895f2626fc5
2267	* tests/gpgscm/scheme.c (opexe_6): Merge into 'opexe_0'.
2268	* tests/gpgscm/opdefines.h: Adapt.
2269
2270	gpgscm: Merge 'opexe_5'.
2271	+ commit 72674f169386d68a6d0fc2ba4bc5a065435802a0
2272	* tests/gpgscm/scheme.c (opexe_5): Merge into 'opexe_0'.
2273	* tests/gpgscm/opdefines.h: Adapt.
2274
2275	gpgscm: Merge 'opexe_4'.
2276	+ commit 5898ead4a99d3bc9e23859daf2cca9632d92f1f7
2277	* tests/gpgscm/scheme.c (opexe_4): Merge into 'opexe_0'.
2278	* tests/gpgscm/opdefines.h: Adapt.
2279
2280	gpgscm: Merge 'opexe_3'.
2281	+ commit b13610ec7bf2bf199eb22f936bc2f2d4ac240fde
2282	* tests/gpgscm/scheme.c (opexe_3): Merge into 'opexe_0'.
2283	* tests/gpgscm/opdefines.h: Adapt.
2284
2285	gpgscm: Merge 'opexe_2'.
2286	+ commit 7bc96831c7156fa07cfd55259f309ca4fa676c2e
2287	* tests/gpgscm/scheme.c (opexe_2): Merge into 'opexe_0'.
2288	* tests/gpgscm/opdefines.h: Adapt.
2289
2290	gpgscm: Merge 'opexe_1'.
2291	+ commit 19a1be5ac3c9f3e26c453cf2ddc6d88af19e2d43
2292	* tests/gpgscm/scheme.c (opexe_1): Merge into 'opexe_0'.
2293	* tests/gpgscm/opdefines.h: Adapt.
2294
22952017-04-07  Justus Winter  <justus@g10code.com>
2296
2297	gpgscm: Allocate small integers in the rodata section.
2298	+ commit 7cee693e31fa1196161d5fbe7149a176049735ac
2299	* tests/gpgscm/Makefile.am (gpgscm_SOURCES): Add new file.
2300	* tests/gpgscm/scheme-private.h (struct cell): Move number to the top
2301	of the union so that we can initialize it.
2302	(struct scheme): Remove 'integer_segment'.
2303	* tests/gpgscm/scheme.c (initialize_small_integers): Remove function.
2304	(small_integers): New variable.
2305	(MAX_SMALL_INTEGER): Compute.
2306	(mk_small_integer): Adapt.
2307	(mark): Avoid marking objects already marked.  This allows us to run
2308	the algorithm over objects in the rodata section if they are already
2309	marked.
2310	(scheme_init_custom_alloc): Remove initialization.
2311	(scheme_deinit): Remove deallocation.
2312	* tests/gpgscm/small-integers.h: New file.
2313
2314	gpgscm: Make global data constant when possible.
2315	+ commit 9fc4e6cbe6d5d3f2dd1c61ded15e2ad42f8f9460
2316	* tests/gpgscm/scheme-private.h (struct scheme): Make 'vptr' const.
2317	* tests/gpgscm/scheme.c (num_zero): Statically initialize and turn
2318	into constant.
2319	(num_one): Likewise.
2320	(charnames): Change type so that it can be stored in rodata.
2321	(is_ascii_name): Adapt slightly.
2322	(assign_proc): Make argument const char *.
2323	(op_code_info): Make some fields const char *.
2324	(tests): Make const.
2325	(dispatch_table): Make const.  At least it can be made read-only after
2326	relocation.
2327	(Eval_Cycle): Adapt slightly.
2328	(vtbl): Make const.
2329
2330	gpgscm: Remove arbitrary limit on number of cell segments.
2331	+ commit 961f3b3a3001384d5df1d5a9963c5f67f800cd4d
2332	* tests/gpgscm/scheme-private.h (struct scheme): Remove fixed-size
2333	arrays for cell segments, replace them with a pointer to the new
2334	'struct cell_segment' instead.
2335	* tests/gpgscm/scheme.c (struct cell_segment): New definition.
2336	(_alloc_cellseg): Allocate the header within the segment, return a
2337	pointer to the header.
2338	(_dealloc_cellseg): New function.
2339	(alloc_cellseg): Insert the segments into a list.
2340	(_get_cell): Allocate a new segment if less than a quarter of
2341	CELL_SIGSIZE is recovered during garbage collection.
2342	(initialize_small_integers): Adapt callsite.
2343	(gc): Walk the list of segments.
2344	(scheme_init_custom_alloc): Remove initialization of removed field.
2345	(scheme_deinit): Adapt deallocation.
2346
2347	gpgscm: Fix compact vector encoding.
2348	+ commit a493ad44b6a67026aeae08d25575fee8c0f137b4
2349	* tests/gpgscm/scheme-private.h (struct cell): Use uintptr_t for
2350	'_flags'.  This way, '_flags' has the size of a machine word.
2351
23522017-04-06  Justus Winter  <justus@g10code.com>
2353
2354	gpgscm: Avoid mutating integer.
2355	+ commit 00de0fd1cebd89330765470bbb6e1e8bf5f3dfc9
2356	* tests/gpgscm/scheme.c (opexe_5): Do not modify the integer in-place
2357	while printing an vector.  Integer objects may be shared, so they must
2358	not be mutated.
2359
2360	gpgscm: Initialize unused slots in vectors.
2361	+ commit 54ea82c2e7e5700b9644c663142c2d46441a3f4e
2362	* tests/gpgscm/scheme.c (get_vector_object): Initialize unused slots
2363	at the end of vectors.
2364
23652017-04-04  Justus Winter  <justus@g10code.com>
2366
2367	gpgscm: Fix copying values.
2368	+ commit 52d0423e48dfe4dd51dc0acbf119431701280a70
2369	* tests/gpgscm/scheme.c (copy_value): New function.
2370	(mk_tagged_value): Use new function.
2371	(opexe_4): Likewise for OP_SAVE_FORCED.
2372
2373	gpgscm: Simplify get-output-string operation.
2374	+ commit c9244b2eb43e0f06928b709ac35127966e1d24ce
2375	* tests/gpgscm/scheme.c (opexe_4): Simplify 'get-output-string'.
2376
2377	gpgscm: Simplify substring operation.
2378	+ commit 6900f118303962262923f9d103b802508d5f469f
2379	* tests/gpgscm/scheme.c (opexe_2): Simplify 'substring'.
2380
23812017-04-03  Justus Winter  <justus@g10code.com>
2382
2383	gpgscm: Slightly improve the procedure dispatch.
2384	+ commit 9a4283ed6aafc1e43d8f7a5fd9cef6118615f284
2385	* tests/gpgscm/scheme.c (procnum): Procedures always have an integer
2386	number, so we can safely use the cheaper 'ivalue_unchecked'.
2387
23882017-03-23  Justus Winter  <justus@g10code.com>
2389
2390	gpgscm: Make test cleanup more robust.
2391	+ commit e1780b2f981d3fd48bbf2672b35f2f33152f6c32
2392	* tests/gpgscm/tests.scm (mkdtemp-autoremove): New function that
2393	cleans up at interpreter shutdown.
2394	(run-tests-parallel): Use the new function.
2395	(run-tests-sequential): Likewise.
2396	(make-environment-cache): Execute setup with an temporary working
2397	directory.
2398
23992017-03-21  Justus Winter  <justus@g10code.com>
2400
2401	tests,w32: Use GetTempPath to get the path for temporary files.
2402	+ commit 8835ee681f5ae92ded982b51f5808935d227b126
2403	* tests/gpgscm/ffi.c (do_get_temp_path): New function.
2404	(ffi_init): Make function available.
2405	* tests/gpgscm/tests.scm (mkdtemp): Use the new function.
2406
2407	tests: Create temporary directories in '/tmp'.
2408	+ commit cfc49428a427d1a140424c687cb45ba00117d443
2409	* tests/gpgscm/tests.scm (mkdtemp): Create temporary directories in
2410	'/tmp' on UNIX, or in '%Temp' on Windows.
2411	* tests/migrations/common.scm (run-test): Turn error into a warning.
2412	* tests/openpgp/defs.scm (start-agent): Likewise.
2413
24142017-03-17  Justus Winter  <justus@g10code.com>
2415
2416	gpgscm: Simplify hash tables.
2417	+ commit 053a3f9a61a2918131b9dec60149b93861c04a51
2418	* tests/gpgscm/scheme.c (oblist_add_by_name): We now always get a
2419	slot.  Simplify accordingly.
2420	(oblist_find_by_name): Always return the slot.
2421	(vector_elem_slot): New function.
2422	(new_slot_spec_in_env): We now always get a slot.  Remove parameter
2423	'env'.  Simplify accordingly.
2424	(find_slot_spec_in_env): Always return a slot.
2425	(new_slot_in_env): Adapt callsite.
2426	(opexe_0): Likewise.
2427	(opexe_1): Likewise.
2428	(scheme_define): Likewise.
2429
2430	gpgscm: Remove framework for immediate values.
2431	+ commit a1ed4b6ab25f28114d8ba6f704824a456d4fdc0c
2432	* tests/gpgscm/scheme.c (IMMEDIATE_TAG): Remove macro.
2433	(is_immediate): Likewise.
2434	(set_immediate): Likewise.
2435	(clr_immediate): Likewise.
2436	(enum scheme_types): Set the LSB in every value.
2437	(fill_vector): Adapt.
2438	(vector_elem): Likewise.
2439	(set_vector_elem): Likewise.
2440	(mark): Likewise.
2441	(gc): Test for the LSB to tell typeflags apart from pointers stored in
2442	the same memory location.
2443
24442017-03-09  Justus Winter  <justus@g10code.com>
2445
2446	tests: Rework environment setup.
2447	+ commit 14fcdcabb25d975f0f91be86b0571694fb533e7a
2448	* tests/gpgscm/tests.scm (test::scm): Add a setup argument.
2449	(test::binary): Likewise.
2450	(run-tests-parallel): Remove setup parameter.
2451	(run-tests-sequential): Likewise.
2452	(make-environment-cache): New function that handles the cache
2453	protocol.
2454	* tests/gpgme/run-tests.scm: Adapt accordingly.
2455	* tests/gpgsm/run-tests.scm: Likewise.
2456	* tests/migrations/run-tests.scm: Likewise.
2457	* tests/openpgp/run-tests.scm: Likewise.
2458
24592017-03-08  Justus Winter  <justus@g10code.com>
2460
2461	build: Use macOS' compatibility macros to enable all features.
2462	+ commit 5e51b642f747547c737a7abbc37e65b0f630d188
2463	* configure.ac: On macOS, use the compatibility macros to expose every
2464	feature of the libc.  This is the equivalent of _GNU_SOURCE on GNU
2465	libc.
2466
24672017-03-07  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
2468
2469	gpgscm: Use system strlwr if available.
2470	+ commit ca3d31ec77612cecc16c376ac7c06ce09541b28e
2471	* tests/gpgscm/scheme.c: Define local strlwr only when HAVE_STRLWR is
2472	not defined in config.h.
2473	* tests/gpgscm/scheme-config.h: Remove hack.
2474
24752017-03-07  NIIBE Yutaka  <gniibe@fsij.org>
2476
2477	More change for common.
2478	+ commit d372378d28b2504225aae6819d056330e7ac0674
2479	* g10, scd, test, tools: Follow the change of removal of -Icommon.
2480
2481	w32: Conditionalize ISO 2022 definitions.
2482	+ commit 1126c4c117a47c8ea8435ac11561d51b13f538dd
2483	* src/w32-iconv.c (iso2022_SI_seq, iso2022_SO_seq) [USE_MLANG_DLL]:
2484	Only for USE_MLANG_DLL.
2485
24862017-03-06  Justus Winter  <justus@g10code.com>
2487
2488	tests: Harmonize temporary and socket directory handling.
2489	+ commit 490c5d5afeaae66dc061295afbc254e57abd20c8
2490	* tests/gpgscm/tests.scm (mkdtemp): Do not magically obey the
2491	environment variable 'TMP', make sure to always return an absolute
2492	path.
2493	* tests/gpgme/Makefile.am (TMP): Drop variable.
2494	(TESTS_ENVIRONMENT): Drop 'TMP'.
2495	* tests/gpgme/gpgme-defs.scm (create-gpgmehome): Start the agent.  Do
2496	not create private key store, the agent does that for us.
2497	* tests/gpgsm/Makefile.am (TMP): Drop variable.
2498	(TESTS_ENVIRONMENT): Drop 'TMP'.
2499	* tests/gpgme/gpgme-defs.scm (create-gpgsmhome): Start the agent.  Do
2500	not create private key store, the agent does that for us.
2501	* tests/migrations/Makefile.am (TMP): Drop variable.
2502	(TESTS_ENVIRONMENT): Drop 'TMP'.
2503	* tests/migrations/common.scm (gpgconf): New variable.
2504	(run-test): Create and remove socket directory.
2505	* tests/migrations/extended-pkf.scm (src-tarball): Remove variable.
2506	(setup): Remove function.
2507	(trigger-migration): Likewise.
2508	Use 'run-test' to execute the test.
2509	* tests/migrations/from-classic.scm (src-tarball): Remove variable.
2510	(setup): Remove function.
2511	Use 'run-test' to execute the tests.
2512	* tests/openpgp/Makefile.am (TMP): Drop variable.
2513	(TESTS_ENVIRONMENT): Drop 'TMP'.
2514	* tests/openpgp/README: Do not mention 'TMP'.
2515	* tests/openpgp/defs.scm (with-home-directory): New macro.
2516	(create-legacy-gpghome): Do not create private key store, the agent
2517	does that for us.
2518	(start-agent): Make sure to terminate the right agent with 'atexit'.
2519
2520	gpgscm: Fix creation of temporary directories.
2521	+ commit 9e29af900544fe4210a72cae87be78186d03e231
2522	* tests/gpgscm/ffi.c (do_mkdtemp): Use a larger buffer for the
2523	template.
2524
25252017-02-28  Justus Winter  <justus@g10code.com>
2526
2527	gpgscm: Improve parsing.
2528	+ commit 9467f3c7758864f3c025c14166c9d099bea6fe62
2529	* tests/gpgscm/scheme.c (port_increment_current_line): Avoid creating
2530	the same integer if the delta is zero.  This happens a lot during
2531	parsing, and puts pressure on the memory allocator.
2532
2533	gpgscm: Fix calculating the line number.
2534	+ commit 08e1cfddc94a6aae79b21d7795accf3e100a1f2f
2535	* tests/gpgscm/scheme.c (opexe_5): Only increment the line number on
2536	newlines.
2537
25382017-02-28  Werner Koch  <wk@gnupg.org>
2539
2540	Release 1.27.
2541	+ commit c1668f61c58ea6f0439e5193d83b4e2ac622b286
2542	* configure.ac: Bump LT version to C22/A22/R0.
2543
2544	Add support for armv7-unknown-linux-gnueabihf.
2545	+ commit 8d45ec8f8f61268a74d9c40b840a8fbd6f805a07
2546	* src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: Remove.
2547	* src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: Remove.
2548	* src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h: Remove.
2549	* src/Makefile.am (lock_obj_pub): Remove them.
2550	* src/mkheader.c (canon_host_triplet): Add removed as aliases.  Addn
2551	alias for armv7-unknown-linux-gnueabihf.
2552
2553	New public header gpgrt.h as alias for gpg-error.h.
2554	+ commit 012f1bdc87e9969131c72c5575af0851484a2196
2555	* src/gpg-error.h.in (GPGRT_H): New double include protection.
2556	* src/Makefile.am (nodist_include_HEADERS): Add gpgrt.h.
2557	(BUILT_SOURCES): Ditto.
2558	(CLEANFILES): Ditto.
2559	(gpgrt.h): New rule.
2560
2561	tests: New option --debug for t-poll.
2562	+ commit f141fdee4015d36aec2122853ef55f3ae42197da
2563	* tests/t-poll.c (test_poll): Add option.
2564
2565	Improve tracing of estream.
2566	+ commit f27e516aabd27afeddecfde197eae1fd21a11395
2567	* src/gpgrt-int.h (trace_errno): Add new parameter.  Adjust all users.
2568	* src/init.c (trace_fp, trace_with_errno, trace_missing_lf)
2569	(trace_prefix_done): New vars.
2570	(_gpgrt_internal_trace_begin): Add arg WITH_ERRNO.  Open a trace file
2571	on first use.  Init new vars.
2572	(print_internal_trace_prefix): New.
2573	* src/estream.c, src/w32-estream.c: Improve tracing.
2574
25752017-02-28  Justus Winter  <justus@g10code.com>
2576
2577	gpgscm: Track source locations in every kind of ports.
2578	+ commit 9b23e71a6b41cd11b39ab1e1d18c140eaf63c3e7
2579	* tests/gpgscm/scheme-private.h (struct port): Move location
2580	information out of the union.
2581	* tests/gpgscm/scheme.c (mark): All ports need marking now.
2582	(gc): Likewise all ports on the load stack.
2583	(port_clear_location): Adapt accordingly.  Also, add an empty function
2584	for !SHOW_ERROR_LINE.
2585	(port_increment_current_line): Likewise.
2586	(port_reset_current_line): Drop function in favor of...
2587	(port_init_location): ... this new function.
2588	(file_push): Simplify.
2589	(file_pop): Likewise.
2590	(port_rep_from_filename): Likewise.
2591	(port_rep_from_file): Likewise.
2592	(port_rep_from_string): Also initialize the location.
2593	(port_rep_from_scratch): Likewise.
2594	(port_close): Simplify and generalize.
2595	(skipspace): Likewise.
2596	(token): Likewise.
2597	(_Error_1): Generalize.
2598	(opexe_5): Likewise.
2599	(scheme_deinit): Simplify and generalize.
2600	(scheme_load_named_file): Likewise.
2601	(scheme_load_string): Also initialize the location.
2602
26032017-02-28  Werner Koch  <wk@gnupg.org>
2604
2605	w32: Fix gpgrt_poll for Windows.
2606	+ commit 07d5bd918d2185f79c7d61d56ee7f3090b6f5dcd
2607	* src/estream.c (_gpgrt_poll) [W32]: Do not call the syscall clamp.
2608
26092017-02-27  Werner Koch  <wk@gnupg.org>
2610
2611	Use the new tracing ramework for estream.
2612	+ commit 84aaa84d41f17d6f5e2bb31930e101568df554e2
2613	* src/estream.c: Add trace calls to some functions.
2614	* src/w32-estream.c: Replace existing trace calls by the new
2615	framework.
2616
2617	Add a tracing framework.
2618	+ commit a52f12cc1879d171ddf309b5ac461bab06c8b5e2
2619	* src/init.c (trace_save_errno, trace_arg_module)
2620	(trace_arg_file, trace_arg_line): New module vars.
2621	(do_internal_trace): New.
2622	(_gpgrt_internal_trace_printf): New.
2623	(_gpgrt_internal_trace): New.
2624	(_gpgrt_internal_trace_errno): New.
2625	(_gpgrt_internal_trace_end): New.
2626	* src/gpgrt-int.h (trace): New macro.
2627	(trace_errno): New macro.
2628	(trace_start): New macro.
2629	(trace_append): New macro.
2630	(trace_finish): New macro.
2631
26322017-02-26  Werner Koch  <wk@gnupg.org>
2633
2634	Rename internal functions of estream.
2635	+ commit be49b02a56e8b405eeb0c07c80eb24e71e841b4a
2636	* src/estream.c (_gpgrt_es_init): Rename to _gpgrt_estream_init.
2637	(es_fill): Rename to fill_stream.
2638	(es_fflush): Rename to flush_stream.
2639	(es_deinitialize): Rename to deinit_stream_obj.
2640	(es_create): Rename to create_stream
2641	(es_read_nbf): Rename to do_read_nbf.
2642	(es_read_lbf): Rename to do_read_lbf.
2643	(es_read_fbf): Rename to do_read_fbf.
2644	(es_peek): Rename to peek_stream.
2645	(es_skip): Rename to skip_stream.
2646	(es_print): Rename to do_print_stream.
2647
26482017-02-24  Werner Koch  <wk@gnupg.org>
2649
2650	w32: Do not use the syscall clamps in pollable mode.
2651	+ commit 915e1bf2ad1b23239b17843755376344e59a3110
2652	* src/estream.c (estream_cookie_w32): Add flag no_syscall_clamp.
2653	(func_w32_create): Add arg no_syscall_clamp.
2654	(func_w32_read): Do not call pre/post_syscall_clamp when flag is set.
2655	(func_w32_write): Ditto.
2656	(func_w32_seek): Ditto.
2657	(do_w32open): Set NO_SYSCALL_CLAMP in pollable mode.
2658	(es_create) [W32]: Make sure that pollable-mode is unly used with the
2659	W32 backend.
2660
26612017-02-23  Werner Koch  <wk@gnupg.org>
2662
2663	w32: Replace gpgrt locks in w32-streams by native critical sections.
2664	+ commit c9e44c92e08187626e878d826cdedf4cd4e931fe
2665	* src/w32-estream.c (TRACE_ERR): Also print the error number.  This is
2666	in particular useful on non-english systems.
2667	(reader_context_s, writer_context_s): Replace the gpgrt mutex by a
2668	native critical section.  Change all calls to gpgrt_lock_ fucntions by
2669	the EnterCriticalSection et al.
2670	(_gpgrt_w32_poll): Make CODE unsigned which is what WFMO returns.
2671	Remove the then useless condition.
2672
26732017-02-19  Werner Koch  <wk@gnupg.org>
2674
2675	New error code GPG_ERR_INV_NAME.
2676	+ commit 3a2ee6df5911728938a2fb56237b08f790841a0c
2677
2678
26792017-02-17  Justus Winter  <justus@g10code.com>
2680
2681	gpgscm: Guard use of tagged expressions.
2682	+ commit 86082852350810afa548c607241df95f9cac777a
2683	* tests/gpgscm/init.scm (vm-history-print): Check that the tag added
2684	to expressions when parsing source files matches the expected format.
2685	* tests/gpgscm/lib.scm (assert): Likewise.
2686
26872017-02-15  Justus Winter  <justus@g10code.com>
2688
2689	tests,build: Fix distcheck.
2690	+ commit 52748cd96c70c9da01c35de10dd1627f7897d085
2691	* tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'time.scm'.
2692
2693	tests: Check expiration times of created keys.
2694	+ commit b2db15dfe894a27246236ed416c8e2c2fc0e73c4
2695	* tests/gpgscm/ffi.c (do_get_time): New function.
2696	(ffi_init): Expose new function.
2697	* tests/gpgscm/ffi.scm (get-time): Document new function.
2698	* tests/gpgscm/time.scm: New file.
2699	* tests/openpgp/quick-key-manipulation.scm: Use the new facilities to
2700	check the expiration times of created keys.
2701	* tests/openpgp/tofu.scm: Use the new module.
2702
27032017-02-02  NIIBE Yutaka  <gniibe@fsij.org>
2704
2705	syscfg: Add a sh3 architecture.
2706	+ commit 67e51f9957f875ca854f25f4a9a63aeb831c55c4
2707	* src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h: New.
2708	* src/Makefile.am (lock_obj_pub): Add it.
2709
27102017-02-01  NIIBE Yutaka  <gniibe@fsij.org>
2711
2712	Add Base64 decoder.
2713	+ commit 4bfc2117b70415a5c5d3f0a0ac9086e168350d83
2714	* NEWS: Add interface changes.
2715	* src/Makefile.am (libgpg_error_la_SOURCES): Add b64dec.c.
2716	* src/b64dec.c: New.  Taken from gpgme.  Prefix function names with
2717	_gpgrt_.  Change API a bit, not exposing the structure.
2718	* src/gpg-error.def.in: Export Base64 functions.
2719	* src/gpg-error.vers: Likewise.
2720	* src/visibility.c, src/visibility.h: Likewise.
2721	* src/gpg-error.h.in: Add Base64 struct and functions.
2722	* src/gpgrt-int.h: Add Base64 internal functions.
2723	* tests/Makefile.am (TESTS): Add t-b64dec.
2724	* tests/t-b64dec.c: New.
2725
27262017-01-31  Justus Winter  <justus@g10code.com>
2727
2728	gpgscm: Tune the hash tables.
2729	+ commit 1c99db04ed62d395c1c88171ef147a580e0bb4ab
2730	* tests/gpgscm/scheme.c (oblist_initial_value): Increase the size of
2731	the hash table based on the number of symbols used after initializing
2732	the interpreter.
2733	(new_frame_in_env): Increase the size of the hash table based on the
2734	number of variables in the global environement.
2735
2736	gpgscm: Optimize environment lookups and insertions.
2737	+ commit fa2363d9d903dfc9885f7d2f290fb4d7738bb737
2738	* tests/gpgscm/scheme.c (pointercmp): New function.
2739	(new_slot_spec_in_env): Add and use slot for insertions.
2740	(find_slot_spec_in_env): New variant of 'find_slot_in_env' that
2741	returns the slot on failures.
2742	(find_slot_in_env): Express using the new function.
2743	(new_slot_in_env): Update callsite.
2744	(opexe_0): Optimize lookup-or-insert.
2745	(opexe_1): Likewise.
2746	(scheme_define): Likewise.
2747
2748	gpgscm: Fix build with list environments.
2749	+ commit e982432ba66652bc9bc16e334e1d4d184e1b68bd
2750	* tests/gpgscm/scheme.c (new_slot_spec_in_env): Provide preallocation
2751	inforomation if USE_ALIST_ENV.
2752
2753	gpgscm: Optimize symbol lookups and insertions.
2754	+ commit d374a1271326e503bd7cabe11cf5fd10a970d9fc
2755	* tests/gpgscm/scheme.c (oblist_find_by_name): Keep the list of
2756	symbols sorted, return the slot where a new symbol must be inserted on
2757	lookup failures.
2758	(oblist_add_by_name): Add the new symbol at the given slot.
2759	(mk_symbol): Adjust callsite.
2760	(gensym): Likewise.
2761	(assign_syntax): Likewise.
2762
2763	gpgscm: Fix build with object list.
2764	+ commit 85f6f60197fe56c90b663fb34db4cddf62c28c1b
2765	* tests/gpgscm/scheme.c (oblist_add_by_name): Provide preallocation
2766	information if USE_OBJECT_LIST.
2767
2768	gpgscm: Remove unused functions.
2769	+ commit 92e929d4b91cbb5e36d6cb89aabf2211a7185a65
2770	* tests/gpgscm/scheme.c (check_cell_alloced): Remove function.
2771	(check_range_alloced): Likewise.
2772
27732017-01-30  Justus Winter  <justus@g10code.com>
2774
2775	gpgscm: Use a compact vector representation.
2776	+ commit 5809edef40acf1f8f0e71b69dcb10e1d5464f2a5
2777	* tests/gpgscm/scheme-private.h (struct cell): Add a compact vector
2778	representation.
2779	* tests/gpgscm/scheme.c (vector_length): Use new representation.
2780	(vector_size): New macro.
2781	(get_vector_object): Use the new representation.
2782	(fill_vector): Likewise.
2783	(vector_elem): Likewise.
2784	(set_vector_elem): Likewise.
2785	(mark): Likewise.
2786	(gc): Likewise.  Be careful not to confuse immediate values for type
2787	flags.
2788	(finalize_cell): Vectors now require finalization.
2789
2790	gpgscm: Provide framework for immediate values.
2791	+ commit e1dc204ac465498436f463d419b9583011026807
2792	* tests/gpgscm/scheme.c (IMMEDIATE_TAG): New macro.
2793	({is,set,clr}_immediate): Likewise.
2794	(enum scheme_types): Make type tags disjoint from immediate values.
2795	(TYPE_BITS): We need one more bit now.
2796	(ADJ,T_MASKTYPE): Compute values.
2797
2798	gpgscm: Fix setting the line of the first gc reservation.
2799	+ commit c587e6a038fc532df064eec7bea2ad1db31238ad
2800	* tests/gpgscm/scheme.c (_gc_disable): Negate guard.
2801
2802	gpgscm: Introduce macro for the vector length.
2803	+ commit e2caaa957b56f20cfe09bc6ca5a595b37a860b51
2804	* tests/gpgscm/scheme.c (vector_length): New macro.
2805	(get_vector_object): Use the new macro.
2806	(oblist_add_by_name): Likewise.
2807	(oblist_find_by_name): Likewise.
2808	(oblist_all_symbols): Likewise.
2809	(mk_vector): Likewise.
2810	(mark): Likewise.
2811	(new_slot_spec_in_env): Likewise.
2812	(find_slot_spec_in_env): Likewise.
2813	(opexe_2): Likewise.
2814	(opexe_5): Likewise.
2815
28162017-01-19  Werner Koch  <wk@gnupg.org>
2817
2818	estream: Correctly set ERRNO to EOPNOTSUPP.
2819	+ commit 55c497904dd0794ca5cfcafe369943736b0d4e62
2820	* src/estream.c (es_flush, es_write_nbf): Fix setting of ERRNO to
2821	EOPNOTSUPP.
2822
28232017-01-17  Werner Koch  <wk@gnupg.org>
2824
2825	build: Modernize autogen.sh.
2826	+ commit 66275ac5b8db9d83a72b5497eec4e6d9ac3b4e65
2827	* autogen.sh: Update from GnuPG.
2828	* autogen.rc (version_parts): New.
2829	* configure.ac: Change to use autogen.sh --find-version helper.
2830	* Makefile.am (dist-hook): Do not create VERSION
2831	(EXTRA_DIST): Add VERSION.
2832
28332017-01-10  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
2834
2835	doc,configure: Be consistent about preferring --with-libgpg-error-prefix
2836	+ commit 19de4cef279272d3969e36dd8cd2fa05a7bf5276
2837	* doc/gpgrt.texi: Say "--with-libgpg-error-prefix" instead of
2838	  "--with-gpg-error-prefix".
2839	* src/gpg-error.m4: When warning about library locations, warn with
2840	  the preferred "--with-libgpg-error-prefix" name.
2841
28422017-01-03  Werner Koch  <wk@gnupg.org>
2843
2844	Fix macro GPGRT_GCC_VERSION.
2845	+ commit 704c31992e8716bbe61e6d5751e125a64badeef0
2846	* src/gpg-error.h.in (GPGRT_GCC_VERSION): Fix.
2847
28482017-01-02  Justus Winter  <justus@g10code.com>
2849
2850	gpgscm: Fail if too many arguments are given.
2851	+ commit 56787d898a6911e62b35c3054a22df1a913c26cf
2852	* tests/gpgscm/scheme.c (opexe_0): Enable check.
2853	* tests/gpgscm/tests.scm (test::report): Remove superfluous argument.
2854
2855	gpgscm: Add 'finally', rework all macros.
2856	+ commit 7d95db002aac773e596c551b8fcba2d983244495
2857	* tests/gpgscm/init.scm (finally): New macro.
2858	* tests/gpgscm/tests.scm (letfd): Rewrite.
2859	(with-working-directory): Likewise.
2860	(with-temporary-working-directory): Likewise.
2861	(lettmp): Likewise.
2862
2863	gpgscm: Use boxed values for source locations.
2864	+ commit 4165c9303d894179c0da3a1b12316d3df8d4ce82
2865	* tests/gpgscm/scheme-private.h (struct port): Use boxed values for
2866	filename and current line.  This allows us to use the same Scheme
2867	object for labeling all expressions in a file.
2868	* tests/gpgscm/scheme.c (file_push): Use boxed type for filename.
2869	(mark): Mark location objects of port objects.
2870	(gc): Mark location objects in the load stack.
2871	(port_clear_location): New function.
2872	(port_reset_current_line): Likewise.
2873	(port_increment_current_line): Likewise.
2874	(file_pop): Adapt accordingly.
2875	(port_rep_from_filename): Likewise.
2876	(port_rep_from_file): Likewise.
2877	(port_close): Likewise.
2878	(skipspace): Likewise.
2879	(token): Likewise.
2880	(_Error_1): Likewise.
2881	(opexe_0): Likewise.
2882	(opexe_5): Likewise.
2883	(scheme_deinit): Likewise.
2884	(scheme_load_file): Likewise.
2885	(scheme_load_named_file): Likewise.
2886
28872016-12-21  Justus Winter  <justus@g10code.com>
2888
2889	gpgscm: Guard use of union member.
2890	+ commit aa6b3449bf1b42703b4c6466d87f91620743a5d2
2891	* tests/gpgscm/scheme.c (opexe_5): Check that we have a file port
2892	before accessing filename.  Fixes a crash on 32-bit architectures.
2893
28942016-12-21  Werner Koch  <wk@gnupg.org>
2895
2896	Release 1.26.
2897	+ commit 82266defa39901ec9f97533623af5638a35e5a77
2898	* configure.ac: Bump LT version to C21/A21/R0.
2899
29002016-12-20  Justus Winter  <justus@g10code.com>
2901
2902	tests: Move argument parser.
2903	+ commit 5f16dec938ac6e337c6ff72981285385d75ec455
2904	* tests/gpgme/gpgme-defs.scm (flag): Move...
2905	* tests/gpgscm/tests.scm: ... over here.
2906
29072016-12-19  Justus Winter  <justus@g10code.com>
2908
2909	gpgscm: Change associativity of ::.
2910	+ commit 3ae0b5d9af063e7af03558be2bf8f32e5bb4e5cd
2911	* tests/gpgscm/scheme.c (mk_atom): Change associativity of the ::
2912	infix-operator.  This makes it possible to naturally express accessing
2913	nested structures (e.g. a::b::c).
2914
2915	gpgscm: Display location when assertions fail.
2916	+ commit b852ac097f3dfe4e62c3d27e18a22f1b9f704530
2917	* tests/gpgscm/lib.scm (assert): Use location information if
2918	available.
2919
2920	gpgscm: Make exception handling more robust.
2921	+ commit 5221e0b2a3bd2dbb4f997e3c2118b176e10e116e
2922	* tests/gpgscm/init.scm (throw'): Check that args is a list.
2923
29242016-12-13  Justus Winter  <justus@g10code.com>
2925
2926	gpgscm: Print failed and skipped tests.
2927	+ commit e8c5871609dd3ff3b2aa3d21ab5c3651ba683ed7
2928	* tests/gpgscm/tests.scm (test-pool::report): Print failed and skipped
2929	tests at the end.
2930
2931	gpgscm: Generalize the test runner.
2932	+ commit b1e67a725d17ff1605ba79d8bb61f37c4a48f0a5
2933	* tests/gpgscm/tests.scm (test::scm) Add explicit name argument.
2934	(test::binary): Likewise.  Also, add missing unquote.
2935	* tests/openpgp/run-tests.scm: Adapt accordingly.
2936
2937	gpgscm: Move the test runner to the Scheme library.
2938	+ commit 0031a4d4d8a1851f0c32ad1af2f42f59bd016001
2939	* tests/openpgp/run-tests.scm: Move most of the code...
2940	* tests/gpgscm/tests.scm: ... here.
2941
2942	gpgscm: Improve library functions.
2943	+ commit f745dcab2b1789c8f64c2be4b5dcc7322212e1d2
2944	* tests/gpgscm/tests.scm (absolute-path?): New function.
2945	(canonical-path): Use the new function.
2946	* tests/gpgscm/lib.scm (string-split-pln): New function.
2947	(string-indexp, string-splitp): Likewise.
2948	(string-splitn): Express using the above function.
2949	(string-ltrim, string-rtrim): Fix corner case.
2950	(list->string-reversed): New function.
2951	(read-line): Fix performance.
2952
29532016-12-13  Werner Koch  <wk@gnupg.org>
2954
2955	New error code GPG_ERR_TRY_LATER.
2956	+ commit f02a657f0129b30700b2f36956ee37b40cc2da82
2957
2958
29592016-12-12  Werner Koch  <wk@gnupg.org>
2960
2961	New error code GPG_ERR_DNS_TIMEOUT.
2962	+ commit 90b4dfad438900c7808b8c2995ba984fa3587bb2
2963
2964
2965	New error codes to support libdns.
2966	+ commit 56ab574c28586fccd95a08acdc9ee4962ab0db50
2967
2968
29692016-12-08  Justus Winter  <justus@g10code.com>
2970
2971	gpgscm: Better error reporting.
2972	+ commit 735c66bd2d5672de8cc7573fe9d6af4615b86fe2
2973	* tests/gpgscm/ffi.scm: Move the customized exception handling and
2974	atexit logic...
2975	* tests/gpgscm/init.scm: ... here.
2976	(throw): Record the current history.
2977	(throw'): New function that is history-aware.
2978	(rethrow): New function.
2979	(*error-hook*): Use the new throw'.
2980	* tests/gpgscm/main.c (load): Fix error handling.
2981	(main): Save and use the 'sc->retcode' as exit code.
2982	* tests/gpgscm/repl.scm (repl): Print call history.
2983	* tests/gpgscm/scheme.c (_Error_1): Make a snapshot of the history,
2984	use it to provide a accurate location of the expression causing the
2985	error at runtime, and hand the history trace to the '*error-hook*'.
2986	(opexe_5): Tag all lists at parse time with the current location.
2987	* tests/gpgscm/tests.scm: Update calls to 'throw', use 'rethrow'.
2988
2989	gpgscm: Keep a history of calls for error messages.
2990	+ commit 81c95b26e769a1ed4933fdf598a3df42d0416928
2991	* tests/gpgscm/init.scm (vm-history-print): New function.
2992	* tests/gpgscm/opdefines.h: New opcodes 'CALLSTACK_POP', 'APPLY_CODE',
2993	and 'VM_HISTORY'.
2994	* tests/gpgscm/scheme-private.h (struct history): New definition.
2995	(struct scheme): New field 'history'.
2996	* tests/gpgscm/scheme.c (gc): Mark objects in the history.
2997	(history_free): New function.
2998	(history_init): Likewise.
2999	(history_mark): Likewise.
3000	(add_mod): New macro.
3001	(sub_mod): Likewise.
3002	(tailstack_clear): New function.
3003	(callstack_pop): Likewise.
3004	(callstack_push): Likewise.
3005	(tailstack_push): Likewise.
3006	(tailstack_flatten): Likewise.
3007	(callstack_flatten): Likewise.
3008	(history_flatten): Likewise.
3009	(opexe_0): New variable 'callsite', keep track of the expression if it
3010	is a call, implement the new opcodes, record function applications in
3011	the history.
3012	(opexe_6): Implement new opcode.
3013	(scheme_init_custom_alloc): Initialize history.
3014	(scheme_deinit): Free history.
3015	* tests/gpgscm/scheme.h (USE_HISTORY): New macro.
3016
3017	gpgscm: Add flag TAIL_CONTEXT.
3018	+ commit 83175b317dccceb149906cda721aa33178797f3e
3019	* tests/gpgscm/scheme.c (S_FLAG_TAIL_CONTEXT): New macro.  This flag
3020	indicates that the interpreter is evaluating an expression in a tail
3021	context (see R5RS, section 3.5).
3022	(opexe_0): Clear and set the flag according to the rules layed out in
3023	R5RS, section 3.5.
3024	(opexe_1): Likewise.
3025
3026	gpgscm: Add flags to the interpreter.
3027	+ commit 14d9ea4bd43e077fab4c756b513557cad76aacd2
3028	* tests/gpgscm/scheme-private.h (struct scheme): Add field 'flags'.
3029	* tests/gpgscm/scheme.c (S_OP_MASK): New macro.
3030	(S_FLAG_MASK, s_set_flag, s_clear_flag, s_get_flag): Likewise.
3031	(_s_return): Unpack the encoded opcode and flags.
3032	(s_save): Encode the flags along with the opcode.  Use normal
3033	integers to encode the result.
3034	(scheme_init_custom_alloc): Initialize 'op' and 'flags'.
3035
3036	gpgscm: Implement tags.
3037	+ commit 88753eea0d9b1ea40a46f3b3969d418ba75cccf9
3038	* tests/gpgscm/opdefines.h: Add opcodes to create and retrieve tags.
3039	* tests/gpgscm/scheme.c (T_TAGGED): New macro.
3040	(mk_tagged_value): New function.
3041	(has_tag): Likewise.
3042	(get_tag): Likewise.
3043	(mark): Mark tag.
3044	(opexe_4): Implement new opcodes.
3045	* tests/gpgscm/scheme.h (USE_TAGS): New macro.
3046
3047	gpgscm: Generalize 'for-each-p'.
3048	+ commit 94e8811cb2fd0cb56b330a811d13075d54681e38
3049	* tests/gpgscm/tests.scm (for-each-p): Generalize to N lists like
3050	for-each.
3051	(for-each-p'): Likewise.
3052
30532016-12-06  Justus Winter  <justus@g10code.com>
3054
3055	tests: Rename 'error' to 'fail'.
3056	+ commit 85613efd8d49b39c1310d84484cb1647db83b4d5
3057	* tests/gpgscm/tests.scm (error): Rename to 'fail'.  'error' is a
3058	primitive function (an opcode) of the TinySCHEME vm, and 'error' is
3059	also defined by R6RS.  Better avoid redefining that.  Fix all call
3060	sites.
3061	* tests/openpgp/4gb-packet.scm: Adapt.
3062	* tests/openpgp/decrypt-multifile.scm: Likewise.
3063	* tests/openpgp/ecc.scm: Likewise.
3064	* tests/openpgp/export.scm: Likewise.
3065	* tests/openpgp/gpgtar.scm: Likewise.
3066	* tests/openpgp/gpgv-forged-keyring.scm: Likewise.
3067	* tests/openpgp/import.scm: Likewise.
3068	* tests/openpgp/issue2015.scm: Likewise.
3069	* tests/openpgp/issue2346.scm: Likewise.
3070	* tests/openpgp/issue2419.scm: Likewise.
3071	* tests/openpgp/key-selection.scm: Likewise.
3072	* tests/openpgp/mds.scm: Likewise.
3073	* tests/openpgp/multisig.scm: Likewise.
3074	* tests/openpgp/setup.scm: Likewise.
3075	* tests/openpgp/signencrypt.scm: Likewise.
3076	* tests/openpgp/ssh-import.scm: Likewise.
3077	* tests/openpgp/tofu.scm: Likewise.
3078	* tests/openpgp/verify.scm: Likewise.
3079
30802016-12-06  Neal H. Walfield  <neal@g10code.com>
3081
3082	tests: Change (interactive-shell) to start an interactive shell.
3083	+ commit 0d27b63f35c1e3a36631874fd111d3df2a1d51db
3084	* tests/gpgscm/tests.scm (interactive-shell): Start an interactive
3085	shell.
3086
30872016-12-02  Werner Koch  <wk@gnupg.org>
3088
3089	Fix NULL segv in new option --desc.
3090	+ commit 140a19617c78d5f0e2ac8d7e2c8e7092862ec2fb
3091	* src/gpg-error.c (print_desc): Shortcur for unknown symbols.
3092
3093	New error code GPG_ERR_INV_FLAG.
3094	+ commit c761c981b38741421d13bb7102b1ea7625d2d639
3095
3096
3097	New option --desc for gpg-error.
3098	+ commit b462d603f5110842489edce9e01e4ea40ac05cba
3099	* doc/errorref.txt: Remove all tabs.
3100	* doc/Makefile.am (install-data-local): New to install errorref.txt.
3101	(uninstall-local): New.
3102	(errorref.txt.x): New.
3103	* src/Makefile.am (gpg_error_CPPFLAGS): Define PKGDATADIR
3104	* src/gpg-error.c (print_desc): New.
3105	(show_usage): New.
3106	(main): Improve option parser.  Add new option --desc.  Call
3107	print_desc.
3108
31092016-11-29  Justus Winter  <justus@g10code.com>
3110
3111	gpgscm: Avoid truncating pointers.
3112	+ commit 941c0efdf826717aae88ea448ec60801f74bb476
3113	* tests/gpgscm/scheme.c (_alloc_cellseg): Avoid truncating pointers on
3114	systems where sizeof(unsigned long) < sizeof(void *).
3115
31162016-11-23  Justus Winter  <justus@g10code.com>
3117
3118	gpgscm: Make 'reverse' compatible with 'reverse_in_place'.
3119	+ commit 7f7869357cae0f75c5976ece12a1d94a659b904a
3120	* tests/gpgscm/scheme.c (reverse): Update prototype, add terminator
3121	argument.
3122	(opexe_4): Update callsite.
3123
3124	gpgscm: Clean sweeped cells.
3125	+ commit a078d448415c74ee5169d548a901d27380d933f3
3126	* tests/gpgscm/scheme.c (gc): Zero typeflag and car of free cells.
3127
3128	gpgscm: Fix initialization of 'sink'.
3129	+ commit 95db0d64ac0ccab6cf0e6d6ec25251ccb0fab9d3
3130	* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Also initialize
3131	cdr.
3132
31332016-11-22  Justus Winter  <justus@g10code.com>
3134
3135	gpgscm: Refactor.
3136	+ commit b18458f3dfd53627994783d0f2ad835ae70a05af
3137	* tests/gpgscm/scheme.c (opexe_0): Reduce code duplication.
3138
3139	gpgscm: Fix property lists.
3140	+ commit 08f16887de9d6f6dcb0b7a377407dbd4f541fe13
3141	* tests/gpgscm/opdefines.h (put, get): Check arguments.  Also rename
3142	to 'set-symbol-property' and 'symbol-property', the names used by
3143	Guile, because put and get are too unspecific.
3144	* tests/gpgscm/scheme.c (hasprop): Only symbols have property lists.
3145	(get_property): New function.
3146	(set_property): Likewise.
3147	(opexe_4): Use the new functions.
3148
3149	gpgscm: Fix installation of error handler.
3150	+ commit 185ba177abeaf2f8ad66529a42966362107a2d8b
3151	* tests/gpgscm/ffi.scm: Set '*error-hook*' again so that the
3152	interpreter will use our function.
3153
3154	gpgscm: Use a static pool of cells for small integers.
3155	+ commit eca7b9bbee2986157ec6c078c998bd8a25becd8f
3156	* tests/gpgscm/scheme-private.h (struct scheme): New fields for the
3157	static integer cells.
3158	* tests/gpgscm/scheme.c (_alloc_cellseg): New function.
3159	(alloc_cellseg): Use the new function.
3160	(MAX_SMALL_INTEGER): New macro.
3161	(initialize_small_integers): New function.
3162	(mk_small_integer): Likewise.
3163	(mk_integer): Return a small integer if possible.
3164	(_s_return): Do not free 'op' if it is a small integer.
3165	(s_save): Use a small integer to box the opcode.
3166	(scheme_init_custom_alloc): Initialize small integers.
3167	(scheme_deinit): Free chunk of small integers.
3168	* tests/gpgscm/scheme.h (USE_SMALL_INTEGERS): New macro.
3169
31702016-11-17  Justus Winter  <justus@g10code.com>
3171
3172	gpgscm: Re-enable the garbage collector in case of errors.
3173	+ commit d2a75dc5ae2b172a232dad88639b15b4930b9151
3174	* tests/gpgscm/scheme.c (opexe_0): Enable gc before calling 'Error_1'.
3175
3176	gpgscm: Fix string.
3177	+ commit 63cad2c16fdd343be89b576901c8f34de7cb74bf
3178	* tests/gpgscm/scheme.c (type_to_string): Fix string.
3179
31802016-11-17  NIIBE Yutaka  <gniibe@fsij.org>
3181
3182	Fix EXEEXT for lock obj creation.
3183	+ commit eeef6b8724b43e105ae2beef022fc957eb228bcf
3184	* src/Makefile.am (lock-obj-pub.native.h): Add EXEEXT for
3185	the executable gen-posix-lock-obj.
3186
31872016-11-15  Justus Winter  <justus@g10code.com>
3188
3189	gpgscm: Mark cells requiring finalization.
3190	+ commit ad10069af6b0d247f27b7dbf891029eb34d264e0
3191	* tests/gpgscm/scheme.c (T_FINALIZE): New macro.
3192	(mk_port): Use the new macro.
3193	(mk_foreign_object): Likewise.
3194	(mk_counted_string): Likewise.
3195	(mk_empty_string): Likewise.
3196	(gc): Only call 'finalize_cell' for cells with the new flag.
3197
3198	gpgscm: Recover more cells.
3199	+ commit dd6bd1bf2a767e22bb7c1bd470ce94527a9fae3d
3200	* tests/gpgscm/scheme.c (_s_return): Recover the cell holding the
3201	opcode.
3202
32032016-11-14  Werner Koch  <wk@gnupg.org>
3204
3205	Release 1.25.
3206	+ commit 6d834f817fdb741ec64dcfbd2166ea044e4e0c3d
3207	* configure.ac: Set LT version to C20/A20/R0.
3208
3209	po: Update German translation.
3210	+ commit 9cecc8ccded0759d94b08c9859e7ea843430dd97
3211
3212
3213	Fix typo in two new error descriptions.
3214	+ commit 80350f97e9e811b9e77b59b8fc4172043f072f42
3215
3216
32172016-11-14  Justus Winter  <justus@g10code.com>
3218
3219	gpgscm: Avoid cell allocation overhead.
3220	+ commit dc1d3a79fa3e7944ea6ef02bc968446f9aa6d648
3221	* tests/gpgscm/scheme-private.h (struct scheme): New fields
3222	'inhibit_gc', 'reserved_cells', and 'reserved_lineno'.
3223	* tests/gpgscm/scheme.c (GC_ENABLED): New macro.
3224	(USE_GC_LOCKING): Likewise.
3225	(gc_reservations): Likewise.
3226	(gc_reservation_failure): New function.
3227	(_gc_disable): Likewise.
3228	(gc_disable): New macro.
3229	(gc_enable): Likewise.
3230	(gc_enabled): Likewise.
3231	(gc_consume): Likewise.
3232	(get_cell_x): Consume reserved cell if garbage collection is disabled.
3233	(_get_cell): Assert that gc is enabled.
3234	(get_cell): Only record cell in the list of recently allocated cells
3235	if gc is enabled.
3236	(get_vector_object): Likewise.
3237	(gc): Assert that gc is enabled.
3238	(s_return): Add comment, adjust call to '_s_return'.
3239	(s_return_enable_gc): New macro.
3240	(_s_return): Add flag 'enable_gc' and re-enable gc if set.
3241	(oblist_add_by_name): Use the new facilities to protect the
3242	allocations.
3243	(new_frame_in_env): Likewise.
3244	(new_slot_spec_in_env): Likewise.
3245	(s_save): Likewise.
3246	(opexe_0): Likewise.
3247	(opexe_1): Likewise.
3248	(opexe_2): Likewise.
3249	(opexe_5): Likewise.
3250	(opexe_6): Likewise.
3251	(scheme_init_custom_alloc): Initialize the new fields.
3252
32532016-11-12  Justus Winter  <justus@g10code.com>
3254
3255	estream: Support 'es_poll' on Windows.
3256	+ commit 40e5ff0a0084c0d9521b401db4f38885bfdae233
3257	* src/Makefile.am (arch_sources): Add new file.
3258	* src/estream.c (O_NONBLOCK): Move to 'gpgrt-int.h'.
3259	(BUFFER_BLOCK_SIZE): Likewise.
3260	(BUFFER_UNREAD_SIZE): Likewise.
3261	(struct notify_list_s, notify_list_t): Likewise.
3262	(struct _gpgrt_stream_internal, estream_internal_t): Likewise.
3263	(X_POLLABLE): New macro.
3264	(parse_mode): Parse keyword 'pollable', emulate O_NONBLOCK using the
3265	same mechanism on Windows.
3266	(_gpgrt_poll): Use the new '_gpgrt_w32_poll' on Windows.
3267	* src/gpgrt-int.h (_gpgrt_functions_w32_pollable): New declaration.
3268	(_gpgrt_w32_pollable_create): New prototype.
3269	(_gpgrt_w32_poll): Likewise.
3270	* src/w32-estream.c: New file.  This code is adapted from GPGME.
3271	* tests/t-poll.c (create_pipe): Create pollable streams.
3272
3273	estream: Track the kind of backend used.
3274	+ commit e15416d3668ea9dcc6a64cbb98140a99be8a7865
3275	* src/estream.c (struct _gpgrt_stream_internal): Add 'kind'.
3276	(init_stream_obj): New parameter 'kind', initialize field.
3277	(es_create): New parameter 'kind'.  Update all callers.
3278	* src/gpgrt-int.h (gpgrt_stream_backend_kind_t): New type.
3279
3280	estream: Rework how the cookie functions are handled.
3281	+ commit a0651e910f962a49b0b7f7942512f17a5fe39a7d
3282	* src/estream.c (cookie_ioctl_function_t): Move to 'gpgrt-int.h',
3283	along with the macros for the IOCTL numbers.
3284	(estream_functions_mem): Use the new type and add the ioctl function.
3285	(estream_functions_fd): Likewise.
3286	(estream_functions_w32): Likewise.
3287	(estream_functions_fp): Likewise.
3288	(init_stream_object): Use the new type, and also initialize
3289	'func_ioctl'.
3290	(es_create): Use the new type.
3291	(_gpgrt_fopen): Adapt.
3292	(_gpgrt_mopen): Likewise.
3293	(_gpgrt_fopenmem): Likewise.
3294	(_gpgrt_fopencookie): Likewise.
3295	(_gpgrt_fdopen): Likewise.
3296	(_gpgrt_fpopen): Likewise.
3297	(do_w32open): Likewise.
3298	* src/gpgrt-int.h (struct cookie_io_functions_s): New type.
3299
3300	estream: Rework modestring handling.
3301	+ commit 135319b5d1f9a88187687646c762759cfa05a7ec
3302	* src/estream.c (X_SAMETHREAD, X_SYSOPEN): New macros.
3303	(parse_mode): Rework how information flows from here to 'es_create'.
3304	Instead of using an integer flag per mode, use flags.
3305	(init_stream_obj): Adapt accordingly.
3306	(es_create): Likewise.
3307	(_gpgrt_fopen): Likewise.
3308	(_gpgrt_mopen): Likewise.
3309	(_gpgrt_fopenmem): Likewise.
3310	(_gpgrt_fopencookie): Likewise.
3311	(_gpgrt_fdopen): Likewise.
3312	(_gpgrt_fpopen): Likewise.
3313	(do_w32open): Likewise.
3314	(_gpgrt_freopen): Likewise.
3315
33162016-11-12  Werner Koch  <wk@gnupg.org>
3317
3318	Add new interface gpgrt_get_syscall_clamp.
3319	+ commit b7972767513c8748096ebed78d1e1621bd2bd459
3320	* src/visibility.c (gpgrt_get_syscall_clamp): New.
3321	* src/gpg-error.vers, src/gpg-error.def.in: Add function.
3322	* src/gpg-error.h.in: Ditto.
3323	* src/estream.c (_gpgrt_get_syscall_clamp): New.
3324
33252016-11-11  Werner Koch  <wk@gnupg.org>
3326
3327	Use the syscall clamp functions also for lock functions.
3328	+ commit 25d463c67821901c8fd6736c815f11e85bbae66f
3329	* src/posix-lock.c (pre_lock_func, post_lock_func): New.
3330	(_gpgrt_lock_set_lock_clamp): New.
3331	(_gpgrt_lock_lock): Use clamp functions.
3332	* src/w32-lock.c (pre_lock_func, post_lock_func): New.
3333	(_gpgrt_lock_set_lock_clamp): New.
3334	(_gpgrt_lock_lock): Use clamp functions.
3335	* src/posix-lock.c (pre_syscall_func, post_syscall_func): New.
3336	(_gpgrt_thread_set_syscall_clamp): New.
3337	(_gpgrt_yield): Use clamp functions.
3338	* src/w32-lock.c (pre_syscall_func, post_syscall_func): New.
3339	(_gpgrt_thread_set_syscall_clamp): New.
3340	(_gpgrt_yield): Use clamp functions.
3341	* src/estream.c: Include lock.h and thread.h.
3342	(do_deinit): Call _gpgrt_lock_set_lock_clamp.
3343	(_gpgrt_set_syscall_clamp): Ditto.
3344
33452016-11-11  Andre Heinecke  <aheinecke@intevation.de>
3346
3347	w32: Fix lock c++ narrowing conversion warning.
3348	+ commit b1ccab5bf8e1206aae1307ad5d23890be4251c8f
3349	* src/syscfg/lock-obj-pub.mingw32.h (gpgrt_lock_t): Declare priv as
3350	unsigned char.
3351
33522016-11-10  Werner Koch  <wk@gnupg.org>
3353
3354	Change description of GPG_ERR_OPEN_KEYRING.
3355	+ commit bae57a21cfab25ad11c82dc6e69d82d1f2f7a415
3356
3357
33582016-11-10  Justus Winter  <justus@g10code.com>
3359
3360	gpgscm: Recover cells from the list of recently allocated cells.
3361	+ commit 1659878b827d0a4e041921e0c3a3555d39a742df
3362	* tests/gpgscm/scheme.c (ok_to_freely_gc): Recover cells.
3363
3364	gpgscm: Recover cells used to maintain interpreter state.
3365	+ commit 85388f1ef82bd0a92e94a463acfa157e6f9356f8
3366	* tests/gpgscm/scheme.c (free_cell): New function.
3367	(free_cons): Likewise.
3368	(_s_return): Use the new function to recover cells used to save the
3369	state of the interpreter in 's_save'.  This reduces the need to do a
3370	garbage collection considerably.
3371
3372	gpgscm: Reduce opcode dispatch overhead.
3373	+ commit f65fb16724712b3d6072f27b47e2658f27398dd4
3374	* tests/gpgscm/scheme.c (s_thread_to): New macro.
3375	(CASE): Likewise.
3376	(opexe_[0-6]): Use 'CASE' instead of 'case' statements, replace
3377	's_goto' with 's_thread_to' where applicable.
3378
3379	gpgscm: Make the compile-hook configurable.
3380	+ commit a678b9fdf7d48409a32afab5b487322a7fc11e16
3381	* tests/gpgscm/scheme-private.h (struct scheme): Make field
3382	'COMPILE_HOOK' optional.
3383	* tests/gpgscm/scheme.c (opexe_0): Fix guard.
3384	(scheme_init_custom_alloc): Conditionally initialize 'COMPILE_HOOK'.
3385	* tests/gpgscm/scheme.h (USE_COMPILE_HOOK): Define to 1 by default.
3386
3387	gpgscm: Drop obsolete commented-out code.
3388	+ commit f69a754515f43037da8ac8535967cd825b220be4
3389	* tests/gpgscm/scheme.c (opexe_5): Drop obsolete code.
3390
3391	gpgscm: Remove dubious stack implementation.
3392	+ commit a6ce303f0c69542999c607309128afd6293e2e1b
3393	* tests/gpgscm/scheme-private.h (struct scheme): Remove related fields.
3394	* tests/gpgscm/scheme.c: Drop all !USE_SCHEME_STACK code.
3395	* tests/gpgscm/scheme.h (USE_SCHEME_STACK): Remove macro.
3396
33972016-11-08  Justus Winter  <justus@g10code.com>
3398
3399	gpgscm: Expose seek and associated constants.
3400	+ commit 13831e9cd6839e44a8e32c640589edb8bf17ef51
3401	* tests/gpgscm/ffi.c (do_seek): New function.
3402	(ffi_init): Expose 'seek' and 'SEEK_{SET,CUR,END}'.
3403	* tests/gpgscm/lib.scm: Document the new function.
3404
3405	gpgscm: Fix error message.
3406	+ commit d5458258299889af97e714c15e6a9b859e1a0545
3407	* tests/gpgscm/ffi.c (do_wait_processes): Fix and improve error
3408	messages.
3409
34102016-11-07  Justus Winter  <justus@g10code.com>
3411
3412	gpgscm: Generalize splice to write to multiple sinks.
3413	+ commit 1edacbc5a4a0f4dee3ab82c1fda7c7b1c5874761
3414	* tests/gpgscm/ffi.c (ordinal_suffix): New function.
3415	(do_splice): Generalize splice to write to multiple sinks.
3416	* tests/gpgscm/lib.scm (splice): Document this fact.
3417
3418	gpgscm: Drop 'len' argument from splice.
3419	+ commit 598aeda60bc3e6d49d935927b5ec33145f7af9db
3420	* tests/gpgscm/ffi.c (do_splice): Drop 'len' argument, no-one uses it.
3421	* tests/gpgscm/lib.scm (splice): Document foreign function.
3422
3423	tests: Move environment creation and teardown into each test.
3424	+ commit 1564fc3b2ff52e7e5ad9b01a24e1f399934775b8
3425	* tests/gpgscm/tests.scm (log): New function.
3426	* tests/openpgp/run-tests.scm (run-tests-parallel): Do not run the
3427	startup and teardown scripts.
3428	(run-tests-sequential): Likewise.
3429	* tests/openpgp/setup.scm: Move all functions...
3430	* tests/openpgp/defs.scm: ... here and make them less verbose.
3431	(setup-environment): New function.
3432	(setup-legacy-environment): Likewise.
3433	(start-agent): Make less verbose, run 'stop-agent' at interpreter
3434	exit.
3435	(stop-agent): Make less verbose.
3436	* tests/openpgp/finish.scm: Drop file.
3437	* tests/openpgp/Makefile.am (EXTRA_DIST): Drop removed file.
3438	* tests/openpgp/4gb-packet.scm: Use 'setup-environment' or
3439	'setup-legacy-environment' as appropriate.
3440	* tests/openpgp/armdetach.scm: Likewise.
3441	* tests/openpgp/armdetachm.scm: Likewise.
3442	* tests/openpgp/armencrypt.scm: Likewise.
3443	* tests/openpgp/armencryptp.scm: Likewise.
3444	* tests/openpgp/armor.scm: Likewise.
3445	* tests/openpgp/armsignencrypt.scm: Likewise.
3446	* tests/openpgp/armsigs.scm: Likewise.
3447	* tests/openpgp/clearsig.scm: Likewise.
3448	* tests/openpgp/conventional-mdc.scm: Likewise.
3449	* tests/openpgp/conventional.scm: Likewise.
3450	* tests/openpgp/decrypt-dsa.scm: Likewise.
3451	* tests/openpgp/decrypt.scm: Likewise.
3452	* tests/openpgp/default-key.scm: Likewise.
3453	* tests/openpgp/detach.scm: Likewise.
3454	* tests/openpgp/detachm.scm: Likewise.
3455	* tests/openpgp/ecc.scm: Likewise.
3456	* tests/openpgp/encrypt-dsa.scm: Likewise.
3457	* tests/openpgp/encrypt.scm: Likewise.
3458	* tests/openpgp/encryptp.scm: Likewise.
3459	* tests/openpgp/export.scm: Likewise.
3460	* tests/openpgp/finish.scm: Likewise.
3461	* tests/openpgp/genkey1024.scm: Likewise.
3462	* tests/openpgp/gpgtar.scm: Likewise.
3463	* tests/openpgp/gpgv-forged-keyring.scm: Likewise.
3464	* tests/openpgp/import.scm: Likewise.
3465	* tests/openpgp/issue2015.scm: Likewise.
3466	* tests/openpgp/issue2417.scm: Likewise.
3467	* tests/openpgp/issue2419.scm: Likewise.
3468	* tests/openpgp/key-selection.scm: Likewise.
3469	* tests/openpgp/mds.scm: Likewise.
3470	* tests/openpgp/multisig.scm: Likewise.
3471	* tests/openpgp/quick-key-manipulation.scm: Likewise.
3472	* tests/openpgp/seat.scm: Likewise.
3473	* tests/openpgp/shell.scm: Likewise.
3474	* tests/openpgp/signencrypt-dsa.scm: Likewise.
3475	* tests/openpgp/signencrypt.scm: Likewise.
3476	* tests/openpgp/sigs-dsa.scm: Likewise.
3477	* tests/openpgp/sigs.scm: Likewise.
3478	* tests/openpgp/ssh.scm: Likewise.
3479	* tests/openpgp/tofu.scm: Likewise.
3480	* tests/openpgp/use-exact-key.scm: Likewise.
3481	* tests/openpgp/verify.scm: Likewise.
3482	* tests/openpgp/version.scm: Likewise.
3483	* tests/openpgp/issue2346.scm: Likewise and simplify.
3484
3485	gpgscm,w32: Provide schemish file handling for binary files.
3486	+ commit fa82512020f8cd91c68bbf1d24a4f6bffe5385ba
3487	* tests/gpgscm/lib.scm (call-with-binary-input-file): New function.
3488	(call-with-binary-output-file): Likewise.
3489
3490	gpgscm: Add support for pseudo-random numbers.
3491	+ commit 70c5f30074ec996f60f62cd09e67167da78c6d8a
3492	* tests/gpgscm/ffi.c (do_getpid): New function.
3493	(do_srandom): Likewise.
3494	(random_scaled): Likewise.
3495	(do_random): Likewise.
3496	(do_make_random_string): Likewise.
3497	(ffi_init): Expose the new functions.
3498	* tests/gpgscm/lib.scm: Document the new functions.
3499
35002016-11-04  Justus Winter  <justus@g10code.com>
3501
3502	gpgscm: Fix printing strings containing zero bytes.
3503	+ commit fa221a1d5272eb231393a2cc0173635a5098bb89
3504	* tests/gpgscm/scheme.c (atom2str): Fix computing the length of Scheme
3505	strings.  Scheme strings can contain zero bytes.
3506
3507	gpgscm: Implement 'atexit'.
3508	+ commit 97024a0cd0e1f5262ee60bf40a91f169bcc45a23
3509	* tests/gpgscm/ffi.scm (throw): Run *run-atexit-handlers* when
3510	terminating the interpreter.
3511	(*atexit-handlers*): New variable.
3512	(*run-atexit-handlers*): New function.
3513	(atexit): Likewise.
3514	* tests/gpgscm/main.c (main): Run *run-atexit-handlers* at normal
3515	interpreter shutdown.
3516
35172016-11-03  Justus Winter  <justus@g10code.com>
3518
3519	gpgscm,tests: Add new functions to the test environment.
3520	+ commit e4a694eb48a098c3a3983767099dcce4e9157d16
3521	* tests/gpgscm/lib.scm (first, last, powerset): New functions.
3522	* tests/gpgscm/tests.scm (interactive-shell): New function.
3523	* tests/openpgp/Makefile.am (EXTRA_DIST): Add new file.
3524	* tests/openpgp/README: Document 'interactive-shell'.
3525	* tests/openpgp/shell.scm: New file.
3526
35272016-11-02  Justus Winter  <justus@g10code.com>
3528
3529	gpgscm: Fix inclusion of readline header.
3530	+ commit 0ccc6f5ffccec23587d06e32da88fb0acd80f2c6
3531	* tests/gpgscm/ffi.c: Define magic macro to prevent the completion
3532	function from redefined.
3533
35342016-11-02  Werner Koch  <wk@gnupg.org>
3535
3536	Add error codes GPG_ERR_TOO_YOUNG and GPG_ERR_TOO_OLD.
3537	+ commit 49e32eed4550869644d706352d683ddba5696d4e
3538
3539
35402016-10-20  Justus Winter  <justus@g10code.com>
3541
3542	common,w32: Fix setting environment variables on Windows.
3543	+ commit e7ba35f207cb06f6d0e085ab3faf68d118606655
3544	* common/sysutils.c (gnupg_setenv): Also update the environment block
3545	maintained by the C runtime.
3546	(gnupg_unsetenv): Likewise.
3547	* tests/gpgscm/ffi.c (do_setenv): Fix error handling.
3548
35492016-10-18  Justus Winter  <justus@g10code.com>
3550
3551	estream: Fix modestring parsing.
3552	+ commit 0734f4863859257d18ca96f4b9be62be75fcffe1
3553	* src/estream.c (parse_mode): Fix parsing the 'sysopen' flag.
3554
35552016-10-17  Justus Winter  <justus@g10code.com>
3556
3557	gpgscm: Initialize nesting stack.
3558	+ commit 7a262df038f495d27e2d8ec806ea0d47c925c88b
3559	* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize nesting
3560	stack.
3561
35622016-10-07  Justus Winter  <justus@g10code.com>
3563
3564	tests: Improve handling of Windows newlines.
3565	+ commit e8db2ea9542eef0bc7b51c9f69109a056269c048
3566	* tests/gpgscm/lib.scm (string-split-newlines): New function.
3567	* tests/openpgp/default-key.scm: Use new function.
3568	* tests/openpgp/defs.scm: Likewise.
3569	* tests/openpgp/export.scm: Likewise.
3570	* tests/openpgp/import.scm: Likewise.
3571
3572	gpgscm: Improve test of low-level functions.
3573	+ commit 2e47dcf432bc26cbaa1a6ba6716ab74facd06353
3574	* tests/gpgscm/t-child.c: Print large amounts of data.
3575	* tests/gpgscm/t-child.scm: Test that this works.
3576
3577	gpgscm: Improve path handling.
3578	+ commit ff00a2d792091f35380c9541ee88fbd9c0d76c43
3579	* tests/gpgscm/ffi.c (ffi_init): New Scheme variable '*win32*'.
3580	* tests/gpgscm/tests.scm (canonical-path): Correctly handle paths with
3581	drive letter on Windows.  Use 'path-join'.
3582	(path-expand): Use 'path-join'.
3583
35842016-10-07  Werner Koch  <wk@gnupg.org>
3585
3586	Add error code USER_ID_EXISTS, NAME_EXISTS, and DUP_NAME.
3587	+ commit 0c837a82207d0b19f9dabc8870ffb23d6a4ade64
3588
3589
35902016-10-06  Justus Winter  <justus@g10code.com>
3591
3592	gpgscm: Update callsite of 'gnupg_spawn_process'.
3593	+ commit bbd3be18ca9feac21963cc7d682f5a7d89fd9aba
3594	* tests/gpgscm/ffi.c (do_spawn_process): Adapt to the changes to
3595	'gnupg_spawn_process'.
3596
35972016-10-04  Justus Winter  <justus@g10code.com>
3598
3599	tests,w32: Do not expose 'glob' to gpgscm.
3600	+ commit 7359d7acb687d572dd0a4e40fd979566efbf4e21
3601	* tests/gpgscm/ffi.c (do_glob): Remove function.
3602	(ffi_init): Likewise.
3603
36042016-09-19  Justus Winter  <justus@g10code.com>
3605
3606	tests: Refine the repl function.
3607	+ commit a3b6b7643d906264b56d6fa041bcb95e96eb1898
3608	* tests/gpgscm/repl.scm (repl): Add an argument 'environment'.
3609	(interactive-repl): Add an optional argument 'environment'.
3610
3611	tests: Implement interpreter shutdown using exceptions.
3612	+ commit ea399aaaf4c9de92d24ab59cdc3586608bf35698
3613	* tests/gpgscm/ffi.c (ffi_init): Rename 'exit' to '_exit'.
3614	* tests/gpgscm/ffi.scm (*interpreter-exit*): New variable.
3615	(throw): New function.
3616	(exit): New function.
3617
3618	tests: Correctly handle exceptions in resource handling macros.
3619	+ commit ec34346129c77a7011872812567689aa09d99caa
3620	* tests/gpgscm/tests.scm (letfd): Correctly release resources when an
3621	exception is thrown.
3622	(with-working-directory): Likewise.
3623	(with-temporary-working-directory): Likewise.
3624	(lettmp): Likewise.
3625
3626	tests: Refine exception handling.
3627	+ commit 3fd08ed018f837399564896462f64af8ae389eec
3628	* tests/gpgscm/init.scm (catch): Bind all arguments to '*error*' in
3629	the error handler, update and fix comment.
3630	(*error-hook*): Revert to original definition.
3631	* tests/gpgscm/tests.scm (tr:do): Adapt accordingly.
3632	* tests/openpgp/issue2419.scm: Likewise.
3633
3634	tests: Use descriptive temporary file names.
3635	+ commit 86f421b7de364138d2d066b267b0f08a62c42a42
3636	* tests/gpgscm/ffi.c (do_get_isotime): New function.
3637	(ffi_init): Add parameter 'scriptname', bind new function and
3638	scriptname.
3639	* tests/gpgscm/ffi.h (ffi_init): Update prototype.
3640	* tests/gpgscm/main.c (main): Hand in the script name.
3641	* tests/gpgscm/tests.scm (mkdtemp): Use current time and script name
3642	for the names of temporary directories.
3643
36442016-09-19  Werner Koch  <wk@gnupg.org>
3645
3646	gpgscm: Fix gcrypt version check.
3647	+ commit a3cdf6ba9987ec2f4b951c3b2519f6beea147126
3648	* tests/gpgscm/main.c (main): Check against required and not installed
3649	version.
3650
36512016-09-17  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
3652
3653	Fix more spelling.
3654	+ commit 42b61e8469179292814fea267ecd7d911396b965
3655	* NEWS, acinclude.m4, agent/command-ssh.c, agent/command.c,
3656	  agent/gpg-agent.c, agent/keyformat.txt, agent/protect-tool.c,
3657	  common/asshelp.c, common/b64enc.c, common/recsel.c, doc/DETAILS,
3658	  doc/HACKING, doc/Notes, doc/TRANSLATE, doc/dirmngr.texi,
3659	  doc/faq.org, doc/gpg-agent.texi, doc/gpg.texi, doc/gpgsm.texi,
3660	  doc/instguide.texi, g10/armor.c, g10/gpg.c, g10/keyedit.c,
3661	  g10/mainproc.c, g10/pkclist.c, g10/tofu.c, g13/sh-cmd.c,
3662	  g13/sh-dmcrypt.c, kbx/keybox-init.c, m4/pkg.m4, sm/call-dirmngr.c,
3663	  sm/gpgsm.c, tests/Makefile.am, tests/gpgscm/Manual.txt,
3664	  tests/gpgscm/scheme.c, tests/openpgp/gpgv-forged-keyring.scm,
3665	  tests/openpgp/multisig.test, tests/openpgp/verify.scm,
3666	  tests/pkits/README, tools/applygnupgdefaults,
3667	  tools/gpg-connect-agent.c, tools/mime-maker.c, tools/mime-parser.c:
3668	  minor spelling cleanup.
3669
36702016-09-15  NIIBE Yutaka  <gniibe@fsij.org>
3671
3672	tests/gpgscm: Fix use of pointer.
3673	+ commit 95f7320a37d3870330a2b1f3493025b4820fa767
3674	* tests/gpgscm/scheme-private.h (struct scheme): Use (void *) for
3675	alloc_seg.
3676	* tests/gpgscm/scheme.c (alloc_cellseg): Use (void *) for cp.  Use
3677	(void *) for coercion of address calculation.
3678
36792016-09-06  Justus Winter  <justus@g10code.com>
3680
3681	gpgscm: Fix detection of unbalanced parenthesis.
3682	+ commit 36405b2d208e5ec4c2c289d99ba4e7e1a29b8321
3683	* tests/gpgscm/main.c (load): Print error message.
3684	* tests/gpgscm/scheme.c (opexe_0): Correctly report nesting level when
3685	loading files.
3686
36872016-09-01  Werner Koch  <wk@gnupg.org>
3688
3689	Check the size of the time_t.
3690	+ commit bf7eb978597ba07906f0a7490e626c071af1987f
3691	* configure.ac (AC_HEADER_TIME): New.
3692	(AC_CHECK_SIZEOF): Check size of time_t.
3693
3694	Add error WINDOW_TOO_SMALL, WINDOW_TOO_LARGE, and MISSING_ENVVAR.
3695	+ commit bc3e817bd7e671975f94bae20cbbf9a91fe3353b
3696
3697
36982016-08-16  Werner Koch  <wk@gnupg.org>
3699
3700	New error code GPG_ERR_ENGINE_TOO_OLD.
3701	+ commit b2640cb1f7b3b056ea4f8fe4b79d58fcd10ef93b
3702
3703
37042016-08-12  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
3705
3706	Call log_set_prefix() with human-readable labels.
3707	+ commit b912b371ffc56b0e657d58e2a891f6bb1affab4b
3708	* agent/preset-passphrase.c, agent/protect-tool.c, dirmngr/dirmngr.c
3709	* dirmngr/t-http.c, g10/gpg.c, g10/gpgv.c, g13/g13-syshelp.c
3710	* g13/g13.c, kbx/kbxutil.c, scd/scdaemon.c, sm/gpgsm.c
3711	* tests/gpgscm/main.c, tools/gpg-check-pattern.c
3712	* tools/gpg-connect-agent.c, tools/gpgconf.c, tools/gpgtar.c
3713	* tools/symcryptrun.c: Invoke log_set_prefix() with
3714	human-readable labels.
3715
37162016-08-10  Justus Winter  <justus@g10code.com>
3717
3718	tests: Improve temporary directory handling.
3719	+ commit 0b5146376ba4e6ef129ed4a0641591bafa5902f9
3720	* tests/gpgscm/ffi.c (ffi_init): Rename 'mkdtemp'.
3721	* tests/gpgscm/tests.scm (mkdtemp): New function that uses a sensible
3722	location and template if no arguments are given.
3723	(with-temporary-working-directory): Simplify accordingly.
3724	(make-temporary-file): Likewise.
3725	* tests/openpgp/run-tests.scm (run-tests-parallel-isolated): Likewise.
3726	(run-tests-sequential-isolated): Likewise.
3727
3728	gpgscm: Make the name of foreign functions more unique.
3729	+ commit c609b6e6b08719b86a64fb186f6eee03d0b01b16
3730	* tests/gpgscm/ffi-private.h (ffi_define_function_name): Add another
3731	underscore.
3732
37332016-07-26  Justus Winter  <justus@g10code.com>
3734
3735	gpgscm: Do not shadow common function name in catch macro.
3736	+ commit d764c08a9215ab1c90a97fb019aa99ccf3721e02
3737	* tests/gpgscm/init.scm (catch): Do not shadow 'exit'.
3738
3739	gpgscm: Make the verbose setting more useful.
3740	+ commit bd958b94ea3cdafa2457fdf0dcf436458fa755f6
3741	* tests/gpgscm/ffi.c (do_get_verbose): New function.
3742	(do_set_verbose): Likewise.
3743	(ffi_init): Turn *verbose* into a function, add *set-verbose!*.
3744	* tests/gpgscm/tests.scm (call): Adapt accordingly.
3745	(call-with-io): Dump output if *verbose* is high.
3746	(pipe-do): Adapt accordingly.
3747	* tests/openpgp/defs.scm: Set verbosity according to environment.
3748	* tests/openpgp/run-tests.scm (test): Adapt accordingly.
3749
37502016-07-22  Justus Winter  <justus@g10code.com>
3751
3752	gpgscm: Make function more general.
3753	+ commit 593c5ac8553922a7cf8055c6f3d4d3ea6d0f8cb6
3754	* tests/gpgscm/tests.scm (in-srcdir): Accept more path fragments.
3755
37562016-07-21  Justus Winter  <justus@g10code.com>
3757
3758	gpgscm: Make assert macro more accurate.
3759	+ commit 4f5e0f510d72935ed6bc37f38261efd0ca45e04b
3760	* tests/gpgscm/lib.scm (assert): Print the representation of the
3761	failed expression.
3762
3763	gpgscm: Make error message more useful.
3764	+ commit bc5199d51c45e11c5d9cba828b31ced9381bd27c
3765	* tests/gpgscm/scheme.c (opexe_0): Include names of missing function
3766	parameters in the error message.
3767
37682016-07-19  Justus Winter  <justus@g10code.com>
3769
3770	tests: Add test for ssh support.
3771	+ commit 5851aec15309e9137603bf0e564fd5028ff742c1
3772	* tests/gpgscm/tests.scm (path-expand): New function.
3773	* tests/openpgp/Makefile.am (TESTS): Add new test.
3774	(sample_keys): Add new keys.
3775	(CLEANFILES): Clean ssh socket and control file.
3776	* tests/openpgp/fake-pinentry.c (main): Add a default passphrase.
3777	* tests/openpgp/gpg-agent.conf.tmpl: Enable ssh support.
3778	* tests/openpgp/samplekeys/ssh-dsa.key: New file.
3779	* tests/openpgp/samplekeys/ssh-ecdsa.key: Likewise.
3780	* tests/openpgp/samplekeys/ssh-ed25519.key: Likewise.
3781	* tests/openpgp/samplekeys/ssh-rsa.key: Likewise.
3782	* tests/openpgp/ssh.scm: Likewise.
3783
37842016-07-15  Justus Winter  <justus@g10code.com>
3785
3786	gpgscm: Fix linking.
3787	+ commit 4932ef5277957153f4d066f17feb47a4db2b923b
3788	* tests/gpgscm/Makefile.am: Add -lintl.
3789
37902016-07-14  Werner Koch  <wk@gnupg.org>
3791
3792	gpgscm: Use kludge to avoid improper use of ffi_schemify_name.
3793	+ commit 95c04eca273fe9bacbbd9666fd6806e0748792ed
3794	* tests/gpgscm/ffi.c (ffi_schemify_name): Use xstrdup instead of
3795	strdup for now.
3796
3797	Release 1.24.
3798	+ commit bb1269c85bb41dbb6391756a65e8bc357d82d6b6
3799
3800
38012016-07-13  Werner Koch  <wk@gnupg.org>
3802
3803	build: Update config.{guess,sub} to {2016-05-15,2016-06-20}.
3804	+ commit 387eeb5d5b57e4390c4eaf101bb5cf9cf3cbd4ba
3805	* build-aux/config.guess: Update.
3806	* build-aux/config.sub: Update.
3807
38082016-07-12  Yann E. MORIN  <yann.morin.1998@free.fr>
3809
3810	Add an option to disable tests.
3811	+ commit d57a16c3779eca84dedcf2423b26e41172cd5a96
3812	* configure.ac: add an option to enable/disable building tests
3813	* Makefile.am: conditionally build tests
3814
3815	Fix build without threads.
3816	+ commit abcdfa7964da62b92984516608faf8941038b71d
3817	* src/gen-posix-lock-obj.c: properly guard inclusioin of pthread.h
3818	* tests/t-lock.c: likewise
3819	* tests/t-poll.c: likewise
3820
38212016-07-07  Justus Winter  <justus@g10code.com>
3822
3823	gpgscm: Capture output of spawned processes.
3824	+ commit 912977e668d59baf39464fab7e93b9a617f9706f
3825	* tests/gpgscm/tests.scm (call-check): Capture stdout and stderr, and
3826	return stdout if the child exited successfully, or include stderr in
3827	the error.
3828	* tests/openpgp/version.scm: Demonstrate this by checking the stdout.
3829
38302016-07-05  Justus Winter  <justus@g10code.com>
3831
3832	tests: Honor environment variable 'TMP'.
3833	+ commit 228b225c412573d73901e3e79b7cab64a05bb26e
3834	This fixes problems with long socket names, e.g. when doing distcheck.
3835
3836	* tests/gpgscm/tests.scm (path-join): New function.
3837	(with-temporary-working-directory): Honor 'TMP'.
3838	(make-temporary-file): Likewise.
3839	* tests/migrations/Makefile.am (TMP): Default to '/tmp'.
3840	(TESTS_ENVIRONMENT): Set 'TMP'.
3841	* tests/openpgp/Makefile.am (TMP): Default to '/tmp'.
3842	(TESTS_ENVIRONMENT): Set 'TMP'.
3843
3844	gpgscm: Improve robustness and compatibility.
3845	+ commit 1406aa0fdf349b370cc2a5b87ada557455203dd2
3846	* tests/gpgscm/ffi.c (do_getenv): Avoid gccism.
3847	(do_mkdtemp): Handle errors.
3848
38492016-07-05  Andre Heinecke  <aheinecke@intevation.de>
3850
3851	Define EWOULDBLOCK in case it is not defined.
3852	+ commit 65e967627b3d60f550c7d302227dcf9f797e437f
3853	* src/estream.c (EWOULDBLOCK): Define fallback.
3854
38552016-07-02  Werner Koch  <wk@gnupg.org>
3856
3857	yat2m: Fix table formatting.
3858	+ commit 1a53a0ac4cc241a5c6d360d6259dd04afc09264c
3859	* doc/yat2m.c (proc_texi_cmd): Use .TQ for @itemx.  Print a .P at the
3860	end of a level 0 table.
3861
38622016-06-30  Justus Winter  <justus@g10code.com>
3863
3864	gpgscm: Fix reallocating string ports.
3865	+ commit 27d423b785afa3458e102fa3d7c1220ec50a47fe
3866	* tests/gpgscm/scheme.c (realloc_port_string): Use memcpy because
3867	Scheme strings may contain 0s.
3868
3869	gpgscm: Free memory backing string ports.
3870	+ commit f103dd1d9dd69eb0a32cf2d91e3a595082f3f41c
3871	* tests/gpgscm/scheme.c (finalize_cell): Free memory backing string
3872	ports.
3873
3874	gpgscm: Use the allocator from libgcrypt.
3875	+ commit 9af66b27499646f6386ab902e75056b961192f50
3876	* tests/gpgscm/main.c (main): Use the allocator from libgcrypt.
3877
38782016-06-28  Justus Winter  <justus@g10code.com>
3879
3880	gpgscm: Fix memory leaks.
3881	+ commit b4e31c551b9205684e812e941bd974cc594cf97f
3882	* tests/gpgscm/ffi-private.h (ffi_schemify_name): Fix prototype.
3883	(ffi_define_function_name): Free schemified name.
3884	(ffi_define_function): Likewise.
3885	(ffi_define_constant): Likewise.
3886	(ffi_define_variable_pointer): Likewise.
3887	* tests/gpgscm/ffi.c (do_wait_processes): Free arrays.
3888	(ffi_schemify_name): Fix type.
3889	* tests/gpgscm/main.c (main): Free 'sc'.
3890
3891	gpgscm: Free file names.
3892	+ commit 9368fd55602a1d36f6bf6bc3797a4f2d7a782ded
3893	* tests/gpgscm/scheme.c (scheme_load_named_file): Free file name.
3894
3895	gpgscm: Fix buffer overflow.
3896	+ commit 73b24ed0cb0ba3271e887d1044a497e53ca90b62
3897	* tests/gpgscm/scheme.c (store_string): Avoid writing past allocated
3898	buffer.
3899
39002016-06-27  Werner Koch  <wk@gnupg.org>
3901
3902	estream: Fix bug es_fclose_snatch if a seek has been used.
3903	+ commit 467ccbb6062439eda9dce7cd991934d1a5491713
3904	* src/estream.c (func_mem_ioctl): Set LEN from DATA_LEN.
3905
39062016-06-25  Werner Koch  <wk@gnupg.org>
3907
3908	w32: Silence compiler warnings about redefined macros.
3909	+ commit 7213299fdb2293b974fc436686626ae0a29290b8
3910	* src/estream.c (S_IRGRP) [W32]: Protect against redefinition.
3911
3912	doc: Update yat2m.c.
3913	+ commit 9b5e3d1608922f4aaf9958e022431849d5a58501
3914	* doc/yat2m.c: Update from gnupg.
3915
39162016-06-24  Werner Koch  <wk@gnupg.org>
3917
3918	estream: Remove two compiler warning.
3919	+ commit 0982a72ecc8e7738ec968b3a6710bdacb0f2da4e
3920	* src/estream.c (func_file_create): Remove dead assignment.
3921	(doreadline): Do not decrement SPACE_LEFT before breaking the loop.
3922	Add an extra block to limit the scope of that variable.
3923
39242016-06-23  Justus Winter  <justus@g10code.com>
3925
3926	gpgscm: Handle exceptions in the transformation monad.
3927	+ commit 7b6728b7ecf7b0646db2de35625aba3b0cd0bf02
3928	* tests/gpgscm/tests.scm (pipe:do): Raise errors.
3929	(tr:spawn): Catch and return errors.
3930	(tr:call-with-content): Likewise.
3931	(tr:{open,write-to,pipe-do,assert-identity,assert-weak-identity}):
3932	Adapt.
3933
3934	gpgscm: Add types for special objects.
3935	+ commit 24df932e5fdda891760b34b7e5fccd5aba62fde8
3936	* tests/gpgscm/scheme.c (enum scheme_types): Add types for boolean,
3937	nil, eof, and the sink object.
3938	(type_to_string): Handle new types.
3939	(scheme_init_custom_alloc): Give special objects a type.
3940
3941	gpgscm: Fix Scheme initialization.
3942	+ commit 64ab51521f1a5fabee292554d7403113898f1b28
3943	This potentially causes a crash if the garbage collector marks an eof
3944	object.
3945
3946	* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize
3947	'EOF_OBJ'.
3948
39492016-06-21  Justus Winter  <justus@g10code.com>
3950
3951	gpgscm: Add more file handling functions.
3952	+ commit 5fee932e0ad2b2f5e876a70bdeef77c38e248a2e
3953	* tests/gpgscm/ffi.c (do_glob): New function.
3954	(ffi_init): Define new function.
3955	* tests/gpgscm/tests.scm (basename-suffix): New function.x
3956
3957	gpgscm: Improve test framework.
3958	+ commit d7df61081ec228db17e2bfe2e05820da8cc2d264
3959	* tests/gpgscm/lib.scm (echo): Move...
3960	* tests/gpgscm/tests.scm (echo): ... here.
3961	(info, error, skip): And use echo here.
3962	(file-exists?): New function.
3963	(tr:spawn): Check that source exists and if the sink has been created.
3964	(tr:call-with-content): Hand in optional arguments.
3965
3966	gpgscm: Use native string searching functions.
3967	+ commit f4a23bc0fae621ac4b0978de4ea8f976ec6b650f
3968	* tests/gpgscm/ffi-private.h: Handle character arguments.
3969	* tests/gpgscm/ffi.c (do_string_index): New function.
3970	(do_string_rindex): Likewise.
3971	(do_string_contains): Likewise.
3972	(ffi_init): Define new functions.
3973	* tests/gpgscm/ffi.scm (ffi-define): New macro.
3974	* tests/gpgscm/lib.scm (string-index): Use native function,
3975	demonstrate behavior.
3976	(string-rindex): Likewise.
3977	(string-contains?): Likewise.
3978	Demonstrate behavior of various other functions.
3979	(read-all): Rework so that it can handle large files.
3980
3981	gpgscm: Improve error reporting.
3982	+ commit 2bc2f95ac823f0a6449bd68dee4fc094db52f2e5
3983	* tests/gpgscm/scheme.c (type_to_string): New function.
3984	(Eval_Cycle): Include actual type in error message.
3985
3986	gpgscm: Make memory allocation failures fatal.
3987	+ commit 224c171c856c662d22ba236eaa2128323bde1d08
3988	* tests/gpgscm/scheme.c (Eval_Cycle): Exit if we run out of memory.
3989
39902016-06-17  Werner Koch  <wk@gnupg.org>
3991
3992	tests: Make make distcheck work again.
3993	+ commit cdd09e054a6bc4716c7847fd0779a091cbca0e8f
3994	* Makefile.am (tests): Remove test code which would led to doubling
3995	calls to for e.g. "make distclean".
3996	* tests/Makefile.am: Typo fixes.
3997	* tests/gpgscm/Makefile.am (EXTRA_DIST): Fix name of License file.
3998	Add repl.scm.
3999	(check): Replace by check-local because check is a standard automake
4000	target.
4001	* tests/openpgp/Makefile.am (TESTS_ENVIRONMENT): Replace gmake0sim by
4002	automake generated macro.
4003	(EXTRA_DIST): Add defs.scm
4004
4005	gpgscm: Silence compiler warnings.
4006	+ commit d230bf3ee80cac2fe721afccab9e98b3a9be2e9a
4007	* tests/gpgscm/scheme.c (mk_integer): Rename arg NUM to N.
4008	(fill_vector): Ditto.
4009	(mark): Rename var NUM to N.
4010	(set_slot_in_env): Mark SC as unused.
4011	(is_any): Mark P as unused.
4012
4013	Add license notices for TinySCHEME.
4014	+ commit 8b1798f10c2641f79f4d770e88712be8b13dc22f
4015	* tests/gpgscm/COPYING: Rename to ...
4016	* tests/gpgscm/LICENSE.TinySCHEME: this.
4017	* AUTHORS: Add a note about TinySCHEME.
4018	* build-aux/speedo/w32/pkg-copyright.txt: Add TinySCHEME notice.
4019
40202016-06-17  Justus Winter  <justus@g10code.com>
4021
4022	tests/gpgscm: Add a TinySCHEME-based test driver.
4023	+ commit 5b417d262de048ef221ed77b2f9d2c1a843096bb
4024	* configure.ac: Add new component.
4025	* tests/Makefile.am: Likewise.
4026	* tests/gpgscm/Makefile.am: New file.
4027	* tests/gpgscm/ffi-private.h: Likewise.
4028	* tests/gpgscm/ffi.c: Likewise.
4029	* tests/gpgscm/ffi.h: Likewise.
4030	* tests/gpgscm/ffi.scm: Likewise.
4031	* tests/gpgscm/lib.scm: Likewise.
4032	* tests/gpgscm/main.c: Likewise.
4033	* tests/gpgscm/private.h: Likewise.
4034	* tests/gpgscm/repl.scm: Likewise.
4035	* tests/gpgscm/scheme-config.h: Likewise.
4036	* tests/gpgscm/t-child.c: Likewise.
4037	* tests/gpgscm/t-child.scm: Likewise.
4038	* tests/gpgscm/tests.scm: Likewise.
4039
4040	tests/gpgscm: Foreign objects support for TinySCHEME.
4041	+ commit 9fecd60c32aca6b32008310237d0ed524eede3d5
4042	* tests/gpgscm/scheme-private.h (struct cell): Add 'foreign_object'.
4043	(is_foreign_object): New prototype.
4044	(get_foreign_object_{vtable,data}): Likewise.
4045	* tests/gpgscm/scheme.c (enum scheme_types): New type.
4046	(is_foreign_object): New function.
4047	(get_foreign_object_{vtable,data}): Likewise.
4048	(mk_foreign_object): Likewise.
4049	(finalize_cell): Free foreign objects.
4050	(atom2str): Pretty-print foreign objects.
4051	(vtbl): Add new functions.
4052	* tests/gpgscm/scheme.h (struct foreign_object_vtable): New type.
4053	(mk_foreign_object): New prototype.
4054	(struct scheme_interface): Add new functions.
4055
4056	Patch from Thomas Munro,
4057	https://sourceforge.net/p/tinyscheme/patches/13/
4058
4059	tests/gpgscm: Dynamically allocate string buffer.
4060	+ commit ef65b7bb2232343f72d03a0e0521de4ada3dc63b
4061	* tests/gpgscm/scheme-config.h (strbuff{,_size}): Make buffer dynamic.
4062	* tests/gpgscm/scheme.c (expand_strbuff): New function.
4063	(putcharacter): Adapt length test.
4064	(readstrexp): Expand buffer if necessary.
4065	(scheme_init_custom_alloc): Initialize buffer.
4066	(scheme_deinit): Free buffer.
4067
4068	Patch from Thomas Munro,
4069	https://sourceforge.net/p/tinyscheme/patches/11/
4070
4071	tests/gpgscm: Make exception value available.
4072	+ commit c0cf52627d8d68d23bcac60571455ffd1b052106
4073	* tests/gpgscm/init.scm (throw): Hand exception value to the handler.
4074	(catch): And bind it to *error*.
4075
4076	tests/gpgscm: Add package macro.
4077	+ commit f6c0f9a420c4401d8d358049f8814799161185fa
4078	* tests/gpgscm/init.scm: Add package macro from manual.
4079
4080	tests/gpgscm: Expose function to open streams as Scheme ports.
4081	+ commit 2717b9c172f0a25094ad2e654459dbe9d7180e38
4082	* tests/gpgscm/scheme.c (vtbl): Add 'port_from_file' to the vtable.
4083	* tests/gpgscm/scheme.h (struct scheme_interface): New field
4084	'mk_port_from_file'.
4085
4086	tests/gpgscm: Nicer error message.
4087	+ commit 0c601ae085e95745a950a9d75ffdc8be42b3e1b2
4088	* tests/gpgscm/scheme.c (opexe_0): Include the value that we tried to
4089	evaluate as function-like in the error message.
4090
4091	tests/gpgscm: Fix error hook.
4092	+ commit 16e4898a735e8f85c4ca6b44adf5a92b1a42d1af
4093	* tests/gpgscm/init.scm (*error-hook*): Fix error hook so that the
4094	whole error message is displayed.
4095
4096	tests/gpgscm: Handle unhandled enumeration values.
4097	+ commit fe1c0866bc1b2c685136ea19521ffab2deb25ec3
4098	* tests/gpgscm/scheme.c (opexe_{3,4}): Handle unhandled enumeration
4099	values in the opcode dispatching code.
4100
4101	tests/gpgscm: Verbatim import of latest TinySCHEME.
4102	+ commit 864992fdf695996dbac9bb344b1fdd879f735473
4103	Revision 110 from svn://svn.code.sf.net/p/tinyscheme/code/trunk
4104
4105	* tests/gpgscm/COPYING: New file.
4106	* tests/gpgscm/Manual.txt: Likewise.
4107	* tests/gpgscm/init.scm: Likewise.
4108	* tests/gpgscm/opdefines.h: Likewise.
4109	* tests/gpgscm/scheme-private.h: Likewise.
4110	* tests/gpgscm/scheme.c: Likewise.
4111	* tests/gpgscm/scheme.h: Likewise.
4112
41132016-06-15  Werner Koch  <wk@gnupg.org>
4114
4115	Release 1.23.
4116	+ commit e444cacc74c488063336c196f0c01e98f67cf999
4117
4118
4119	po: Update German translation.
4120	+ commit d878afa4b884149dca587131bdf5b6d8f96227fa
4121
4122
41232016-06-15  Jakub Bogusz  <qboosh@pld-linux.org>
4124
4125	po: Update Polish translation.
4126	+ commit b908104846a71cf8ae3d3323be6bbc6edcef6ee0
4127
4128
41292016-06-15  Werner Koch  <wk@gnupg.org>
4130
4131	tests: Fix rare deadlock condition in t-poll.
4132	+ commit 7ed150201cc5058650cf9673a4e53720a37841c8
4133	* tests/t-poll.c (launch_thread): Use es_fileno before starting the
4134	thread.
4135
41362016-06-15  NIIBE Yutaka  <gniibe@fsij.org>
4137
4138	estream: Fix assertion failure due to es_flush.
4139	+ commit 28fd0ab40739e8cb73f208e30f78d8aa7a0a6d19
4140	* src/estream.c (es_writen): Set writing flag even if no data was
4141	written.
4142
41432016-06-15  Werner Koch  <wk@gnupg.org>
4144
4145	Adjust memory limit of es_fopenmem to the block size.
4146	+ commit baf4bcc0973c8b04bd760aaab0f4232c9354e203
4147	* src/estream.c (func_mem_create): Round up memory limit.
4148
41492016-05-17  Werner Koch  <wk@gnupg.org>
4150
4151	Add GPG_ERR_SUBKEYS_EXP_OR_REV.
4152	+ commit 1ee822f9ff73a9a302ad0eb298640797d735e62b
4153
4154
41552016-05-07  Werner Koch  <wk@gnupg.org>
4156
4157	syscfg: Add a powerpc and a tilgegx architecture.
4158	+ commit dfcd58fd3f58e548062b91bd6e20e27cbf4da18d
4159	* src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h: New.
4160	* src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h: New.
4161	* src/Makefile.am (lock_obj_pub): Add them.
4162
41632016-04-25  Werner Koch  <wk@gnupg.org>
4164
4165	Release 1.22.
4166	+ commit 9a05076e90eef504cbc3ef614982f856b9b60540
4167	* configure.ac: Set LT version to C18/A18/R0.
4168
4169	build: Update config.{guess,sub} to 2016-04-02 and 2016-03-30.
4170	+ commit 8ae3af15caaaaffaa9dbeab5fd767076891200bb
4171	* build-aux/config.guess: Update.
4172	* build-aux/config.sub: Update.
4173
41742016-04-25  NIIBE Yutaka  <gniibe@fsij.org>
4175
4176	Fix for HPPA.
4177	+ commit f1104b92249005a31961d1a32c38ba65a0b3ff3a
4178	* configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): Revert.
4179	* src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Revert.
4180	* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Revert.
4181
41822016-04-21  Werner Koch  <wk@gnupg.org>
4183
4184	w32: Add iconv functions.
4185	+ commit 1cd1ddb4ac2c13223a073f6d77696bcd6253e2ff
4186	* src/w32-add.h (gpgrt_w32_iconv_t): New.
4187	(gpgrt_w32_iconv_open, gpgrt_w32_iconv_close, gpgrt_w32_iconv): New.
4188	( GPGRT_ENABLE_W32_ICONV_MACROS): New
4189	* src/w32-iconv.c: Change license to LGPLv2.1+.  Dispable mlang
4190	feature.  Remove external DLL loading.  Simplify iconv functions.  Use
4191	cleaner context struct pattern.  Use gpgrt namespace.
4192	* src/gpg-error.def.in: Add new functions.
4193
41942016-04-05  Werner Koch  <wk@gnupg.org>
4195
4196	estream,w32: Temporary fix for gpgrt_poll.
4197	+ commit 4354720ab3631dfd2811d881566b10a72c8f2165
4198	* src/estream.c (_gpgrt_poll) [W32]: Do not use FD_ISSET.
4199
42002016-03-29  Werner Koch  <wk@gnupg.org>
4201
4202	estream: Prepare for new mode flag "sysopen".
4203	+ commit 5d1adaa5fd12f65f49abeb99e5ae7226ec27ba0e
4204	* src/estream.c (parse_mode): Add arg "sysopen".  Adjust all callers.
4205
4206	estream: Use simpler names for static functions.
4207	+ commit de0618d5c64e02b9b3a568fc859d9edcb4ab35ba
4208	* src/estream.c: Replace all es_func_* to just func_*.
4209
4210	estream: Remove strange macro for better readability.
4211	+ commit 217a451d54186283f09af5b3c03933f214ddf1c0
4212	* src/estream.c (SET_UNLESS_NONZERO): Remove macro.
4213	(es_deinitialize): Replace that macro by direct code.
4214
42152016-03-24  Peter Wu  <peter@lekensteyn.nl>
4216
4217	Add function gpgrt_annotate_leaked_object.
4218	+ commit 52c3606b2384f33ef30ea5ada3f187829de9dcf7
4219	* src/gpg-error.h.in: add gpgrt_annotate_leaked_object to support
4220	  marking memory as non-leaked for Clang and GCC.
4221
42222016-03-14  Kylie McClain  <somasis@exherbo.org>
4223
4224	syscfg: Add lock-obj-pub files for {armv5, armv6, x86_64}-musl targets.
4225	+ commit 140cfd51cee738a55caf9d347981f6f81e1990a4
4226	* src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: New.
4227	* src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h New.
4228	* src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h: New.
4229	* src/Makefile.am (lock_obj_pub): Add files.
4230
42312016-03-04  NIIBE Yutaka  <gniibe@fsij.org>
4232
4233	Fix detecting Solaris operating system.
4234	+ commit f7a77c5c236ecec846de9be46703026f9b01008f
4235	* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check for
4236	the macro __sun.
4237
4238	For Solaris, add -lrt correctly.
4239	+ commit f9fc565129293f47cbfe4da48fcd6099e9ce5508
4240	* configure.ac (LIB_SCHED_YIELD): Not avoiding defining LIB.
4241
42422016-03-01  NIIBE Yutaka  <gniibe@fsij.org>
4243
4244	Fix for Solaris.
4245	+ commit 34b07146bbb0863436fc9381a84314b18bdfb807
4246	* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check LP64.
4247
42482016-02-26  NIIBE Yutaka  <gniibe@fsij.org>
4249
4250	po: Update Japanese translation.
4251	+ commit 49655fb6ef39b307787e1b6e00c996f9c7db64f7
4252
4253
4254	Add support for Solaris, fixing HPPA.
4255	+ commit 5168b97fb5e2eebdc99b40f96f9b6289647e87d2
4256	* configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): Remove.
4257	(LIB_SCHED_YIELD): New. Check sched_yield in -lrt.
4258	* src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Remove.
4259	(USE_DOUBLE_FOR_ALIGNMENT, USE_LONG_DOUBLE_FOR_ALIGNMENT): New.
4260	* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Update.
4261
42622016-02-08  Werner Koch  <wk@gnupg.org>
4263
4264	build: Create an SWDB file during "make distcheck"
4265	+ commit 1e6c5a70b3b51f81d2fc1289129f6c3e1920ebcc
4266	* Makefile.am (distcheck-hook): New.
4267
42682016-01-19  Werner Koch  <wk@gnupg.org>
4269
4270	Add GPG_ERR_DB_CORRUPTED.
4271	+ commit b3bb6e2cc31208a198e74b42ca495c08ebb00fc4
4272
4273
42742016-01-13  Marek Vasut  <marex@denx.de>
4275
4276	Add new lock-obj-pub for NIOS2.
4277	+ commit 71370060aae7a83f4d6c3b9c924f204a57cc2538
4278	src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h: New.
4279
42802015-12-14  NIIBE Yutaka  <gniibe@fsij.org>
4281
4282	po: Update Japanese translation.
4283	+ commit 1814a9bdc15f00bcf6b13ad16857a4f4922fa1d7
4284
4285
42862015-12-12  Werner Koch  <wk@gnupg.org>
4287
4288	Release 1.21.
4289	+ commit 425b7687b4f74a22b0aa760262cb8f13ae40dc26
4290	* configure.ac: Set LT version to C17/A17/Ro.
4291
42922015-12-07  Andre Heinecke  <aheinecke@intevation.de>
4293
4294	Fix windows 8bit encoding conversion.
4295	+ commit 823e858cdf5eb6b9945a46478f9876819c16bcd3
4296	* src/w32-gettext.c (wchar_to_native): Convert to ConsoleOutputCP.
4297
42982015-12-03  Justus Winter  <justus@g10code.com>
4299
4300	tests: Fix read past buffer.
4301	+ commit 68827cbba2083db40df92de1bc449a3d2d0e81ed
4302	* tests/t-poll.c (test_poll): Fix read past buffer.
4303
43042015-11-19  Justus Winter  <justus@g10code.com>
4305
4306	Avoid 'malloc' corner case.
4307	+ commit 06af687beaa1f8e72a05bd3a057b73fecb158c3d
4308	* src/init.c (_gpgrt_realloc): Avoid calling 'malloc(0)'.
4309
43102015-10-21  Werner Koch  <wk@gnupg.org>
4311
4312	Add error codes NO_NAME, NO_KEY, and SERVER_FAILURE.
4313	+ commit a144fa8863846dc3f6d34731741cd63251620837
4314
4315
43162015-10-18  Werner Koch  <wk@gnupg.org>
4317
4318	estream: Avoid calling write(fd,NULL,n).
4319	+ commit 75172adc3b103bd7ef75575a0c0c9c3b63fa4023
4320	* src/estream.c (es_func_fd_write): Take care of a flush requests.
4321	(es_func_w32_write): Ditto.
4322	(es_func_fp_write): Ditto.
4323
43242015-09-28  Werner Koch  <wk@gnupg.org>
4325
4326	estream: Keep track of EPIPE.
4327	+ commit c09997bc50f3fffaf76d60d2e571b1d85536571e
4328	* src/estream.c (_gpgrt_stream_internal): Add indicators.hup.
4329	(init_stream_obj): Init it.
4330	(es_fill, es_flush, es_seek): Set that.
4331	(_gpgrt_poll): Set event.
4332
4333	Add GPG_ERR_FALSE and GPG_ERR_TRUE error codes.
4334	+ commit d3e9514ff82ff767fc78ce485aef71ba56f3c0d5
4335
4336
43372015-09-25  Werner Koch  <wk@gnupg.org>
4338
4339	estream: Add gpgrt_set_nonblock and gpgrt_poll.
4340	+ commit 071c2170479869f4c6694ae85d2b113e84482a01
4341	* configure.ac (AC_CHECK_HEADERS): Add sys/select.h and sys/time.h.
4342	* src/estream.c: Include both header if available.
4343	(COOKIE_IOCTL_NONBLOCK): New.
4344	(struct estream_cookie_fd): Add field nonblock.
4345	(func_fd_create): Set nonblock from MODEFLAGS.
4346	(es_func_fd_ioctl): New.
4347	(parse_mode): Add modeflag "nonblock".
4348	(es_fill): Map EWOULDBLOCK to EAGAIN.  Do not set error indicator for
4349	EAGAIN.
4350	(es_flush, es_seek, es_write_nbf): Map EWOULDBLOCK to EAGAIN.
4351	(do_fdopen): Call COOKIE_IOCTL_NONBLOCK.
4352	(_gpgrt_set_nonblock): New.
4353	(_gpgrt_get_nonblock): New.
4354	(_gpgrt_poll): New.
4355
4356	* src/gpg-error.h.in (struct _gpgrt_poll_s): New.
4357	(gpgrt_poll_t, es_poll_t): New.
4358	(es_set_nonblock, es_get_nonblock, es_poll): New.
4359
4360	* src/gpg-error.vers, src/gpg-error.def.in: Add gpgrt_set_nonblock,
4361	gpgrt_get_nonblock, and gpgrt_poll.
4362	* src/visibility.c (gpgrt_set_nonblock, gpgrt_get_nonblock): New.
4363	(gpgrt_poll): New.
4364
4365	* tests/t-common.h (DIM): New.
4366	* tests/t-poll.c: New.
4367	* tests/Makefile.am (TESTS): Add t-poll.
4368	(t_poll_LDADD): New.
4369
43702015-09-24  Werner Koch  <wk@gnupg.org>
4371
4372	estream: Replace indicator help functions to ease code reading.
4373	+ commit 61d832c53b7db5367a5542347e3454c882d0bf28
4374	* src/estream.c (es_set_indicators, es_get_indicator): Remove and
4375	change callers to set/get indicators directly.
4376
43772015-09-17  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4378
4379	Support i[456]86-pc{,-linux,-kfreebsd}-gnu.h.
4380	+ commit 9decdd7bd105ff6a0973cc1f6652e0eb0625d640
4381	* src/mkheader (canon_host_triplet): Add new entries.
4382	* src/syscfg/lock-obj-pub.i486-pc-gnu.h: Rename to ...
4383	* src/syscfg/lock-obj-pub.i686-pc-gnu.h: this.
4384	* src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: Rename to ...
4385	* src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h: this.
4386	* src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: Remove.
4387	* src/Makefile.am (lock_obj_pub): Update.
4388
43892015-08-26  Werner Koch  <wk@gnupg.org>
4390
4391	Release 1.20.
4392	+ commit 44caed05ec146654f1ce40bba4b25def83c369db
4393	* configure.ac: Set LT version to C16/A16/R0.
4394
4395	Add new version macros.
4396	+ commit 030ee30c4ae85f2f41ca77651e4a7d7c9993e284
4397	* src/gpg-error.h.in (GPGRT_VERSION): New.
4398	(GPGRT_VERSION_NUMBER): New.
4399	(GPG_ERROR_VERSION, GPG_ERROR_VERSION_NUMBER): Move to top of file.
4400
4401	Add macro GPGRT_INLINE and avoid -Wundef warnings.
4402	+ commit 9cd3f002addf2acae4a7b0f52f8941e517e83d73
4403	* src/gpg-error.h.in (GPG_ERR_INLINE): Use #if defined for possible
4404	undefined macros to avoid warnign with GCC's -Wundef option.
4405	(GPGRT_INLINE): New.
4406
44072015-08-26  Yuri Chornoivan  <yurchor@ukr.net>
4408
4409	Update Ukrainian translation.
4410	+ commit 17e4f727d9bd8e406bf977af445ef57201d23249
4411
4412
44132015-08-25  Werner Koch  <wk@gnupg.org>
4414
4415	Make configure option --disable-build-timestamp the default.
4416	+ commit d328c4d72fa6d224117d7332082509c240a4f2fc
4417	* configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default.
4418
4419	w32: Make sure the setmode is called.
4420	+ commit 1e8d00260a97e0213559c74f687e478e7479a0ea
4421	* src/estream.c (HAVE_DOSISH_SYSTEM): Define if needed.
4422
44232015-07-27  Werner Koch  <wk@gnupg.org>
4424
4425	Add option --lib-version to the gpg-error tool.
4426	+ commit d2e4bb4c77167a1ed10f1017a7d06a822bbd5135
4427	* src/gpg-error.c (main): Add new option.
4428
44292015-07-24  Werner Koch  <wk@gnupg.org>
4430
4431	Add new public macros for GCC attributes.
4432	+ commit 4e790613f66efcfc62d73722d5f1730a37cb8324
4433	* src/gpg-error.h.in (GPGRT_GCC_VERSION): New.
4434	(GPGRT_ATTR_NORETURN, GPGRT_ATTR_PRINTF, GPGRT_ATTR_NR_PRINTF): New.
4435	(GPGRT_ATTR_FORMAT_ARG, GPGRT_ATTR_SENTINEL): New.
4436	(GPGRT_ATTR_USED, GPGRT_ATTR_UNUSED, GPGRT_ATTR_DEPRECATED): New.
4437	(GPGRT_ATTR_PURE, GPGRT_ATTR_MALLOC): New.
4438	(GPGRT_HAVE_MACRO_FUNCTION, GPGRT_HAVE_PRAGMA_GCC_PUSH): New.
4439	(_GPGRT_GCC_A_PRINTF): Replace GPGRT_ATTR_PRINTF.
4440
44412015-06-15  Werner Koch  <wk@gnupg.org>
4442
4443	Allow building with --disable-threads.
4444	+ commit 13918d05a333255d22aa6718dd467fcb8eaf80c8
4445	* src/posix-lock-obj.h (LOCK_ABI_NOT_AVAILABLE): New.
4446	(LOCK_ABI_VERSION): Define depending on USE_POSIX_THREADS.
4447	(_gpgrt_lock_t) [!USE_POSIX_THREADS]: Do not define the union.
4448	* src/gen-posix-lock-obj.c: Take care of USE_POSIX_THREADS.
4449	* src/posix-lock.c (_gpgrt_lock_init, _gpgrt_lock_lock)
4450	(_gpgrt_lock_trylock, _gpgrt_lock_unlock)
4451	(_gpgrt_lock_destroy): Return success for a no-threads version.
4452	* tests/t-lock.c: Disable tests if threads are not available.
4453	* src/mkheader.c (main): Add NO-THREADS to the printed comment.
4454	* configure.ac: Show NO-TRHEADS in the final summary.
4455
44562015-04-14  NIIBE Yutaka  <gniibe@fsij.org>
4457
4458	po: Update Japanese translation.
4459	+ commit 4171d61a97d9628532db84b590a9c135f360fa90
4460
4461
44622015-04-10  Werner Koch  <wk@gnupg.org>
4463
4464	Release 1.19.
4465	+ commit d77c33ae608d67086ea057cca5ddee99a7202f8b
4466
4467
4468	po: Update German translation.
4469	+ commit e43045fe63aed0aba6522ebfd6e336b03f250069
4470
4471
4472	w32: Remove compiler warnings.
4473	+ commit eaec10f48803ee2232d1c1515fbe8f485c1e84b0
4474	* src/Makefile.am (pre_mkheader_cmds): Avoid make diagnostic about
4475	failed but ignored command.  This confuses Emacs' compiler job parser.
4476	* tests/t-lock.c [W32]: Include time.h.
4477	* src/init.c: Reorganize Windows only code.
4478	(wchar_to_utf8, utf8_to_wchar): Remove unused functions.
4479	(_gpg_err_set_errno): Use only one copy for all platforms.
4480
44812015-03-24  Werner Koch  <wk@gnupg.org>
4482
4483	Use assert to print diagnosicts before calling abort.
4484	+ commit 56feff58d4fab92701ae77a1004af820b85e7f6c
4485	* src/posix-lock.c: Add assert calls.
4486
44872015-03-24  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4488
4489	Avoid breakage with gcc 5.
4490	+ commit c01c8f0c4f55d76b037c7f6aa44ad25ede18d38a
4491	* src/Makefile.am: Add -P to the C preprocessor when building
4492	mkerrcodes.h, to avoid a noisy intermediate pipeline.
4493
44942015-03-19  Werner Koch  <wk@gnupg.org>
4495
4496	Add option --defines to gpg-error.
4497	+ commit 528ee704f8f9d881ba370dcbfa9194d6704f9a2f
4498	* src/gpg-error.c (main): Add option --help and --defines.
4499
4500	Add GPG_ERR_LDAP_* error codes.
4501	+ commit dc95f1ea1ab902b9f49de651084f514535e4a3fc
4502	* src/err-codes.h.in: Add error codes.
4503	* doc/ldap2gpgerr.c: New.
4504
45052015-03-16  Werner Koch  <wk@gnupg.org>
4506
4507	Remove useless conditions.
4508	+ commit b5cb32f979a80904ea58fc7531e43e2be2270573
4509	* src/estream.c (fname_set_internal): Remove useless condition.
4510	* src/mkheader.c (main): Ditto.
4511
45122015-03-06  Werner Koch  <wk@gnupg.org>
4513
4514	Add host-triplet aliasing feature to mkheader.
4515	+ commit 4441e96801fdc4c900abae8c0aa0b53e2e26e079
4516	* src/Makefile.am (lock_obj_pub): Rename i586-pc-linux-gnu to
4517	i686-pc-linux-gnu.  Remove i486-pc-linux-gnu.
4518	* src/mkheader.c (canon_host_triplet): New.
4519	(main): Use it.
4520
4521	w32: Add a manifest to libgpg-error.
4522	+ commit 0f814d4c4a285573eef2391c70e21cf8126cafcb
4523	* src/gpg-error.w32-manifest.in: New.
4524	* src/Makefile.am (EXTRA_DIST): Add it.
4525	(versioninfo.lo): Depend on it.
4526	* src/versioninfo.rc.in: Add it.
4527	* configure.ac (AC_CONFIG_FILES): Add it.
4528	(BUILD_VERSION): New.
4529
45302015-02-18  Neal H. Walfield  <neal@gnu.org>
4531
4532	Correct URL.
4533	+ commit b400d7c65daaf44f227073ddde7d06986afde786
4534
4535
45362015-01-30  Werner Koch  <wk@gnupg.org>
4537
4538	w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
4539	+ commit 8487ec25e1c8f73ca7dc31e5d648cb05eede0f14
4540	* src/Makefile.am (extra_ltoptions): New.
4541	(libgpg_error_la_LDFLAGS): Use it.
4542
45432015-01-26  Werner Koch  <wk@gnupg.org>
4544
4545	Release 1.18.
4546	+ commit f79688532f100599b1e24dde1429a229524601c9
4547	* configure.ac: Set LT version to C14/A14/R0.
4548
4549	po: Update German translation.
4550	+ commit 83c0bd462b45ddb75da8c2778ba1fb0c210b53ff
4551
4552
45532015-01-22  Werner Koch  <wk@gnupg.org>
4554
4555	Add GPG_ERR_LEGACY_KEY.
4556	+ commit 524d5bdee2954337e748428469972957663d497d
4557
4558
45592015-01-05  Werner Koch  <wk@gnupg.org>
4560
4561	Avoid false warning about uninitialized var.
4562	+ commit 46aaffbe852e334fd1a72affc4a918ceb7dc457b
4563	* src/gpg-error.c (get_err_from_str): Init SAVED_CHAR.
4564
4565	build: Update to gettext 0.19.
4566	+ commit abe43b5cbf066086deb735bba37178b34f12a4cb
4567	* po/Makefile.in.in (MSGMERGE): Remove --previous.
4568	* po/Makevars (MSGMERGE_OPTIONS): Add --previous.
4569
4570	build: Require automake 1.14.
4571	+ commit 3d32de205211ca91d21941273db306a759ccc3ba
4572	* configure.ac (AM_INIT_AUTOMAKE): Add serial-tests.
4573	* tests/Makefile.am (INCLUDES): Replace by AM_CPPFLAGS.
4574
45752014-12-28  Werner Koch  <wk@gnupg.org>
4576
4577	Add GPG_ERR_REQUEST_TOO_SHORT and GPG_ERR_REQUEST_TOO_LONG.
4578	+ commit a672a1510456f3f12769938ab95c50ec6904e42e
4579
4580
45812014-12-15  Werner Koch  <wk@gnupg.org>
4582
4583	Fix commit 754a987.
4584	+ commit bcd9295d5b9c9f46478bff0680f57bd71b4061f8
4585	* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New.
4586	(AUTOMAKE_OPTIONS): Move options to ...
4587	* configure.ac (AM_INIT_AUTOMAKE): .. here.
4588	(BUILD_DOC): Fix commit 754a987.
4589
4590	Add configure option --disable-doc.
4591	+ commit 754a987f6df59e2ba0e69aada65ae4aaf593c148
4592	* Makefile.am (doc) [!BUILD_DOC]: Do not recurse into doc/.
4593	* configure.ac (BUILD_DOC): New am_conditional and new option.
4594
4595	Add GPG_ERR_OBJ_TERM_STATE.
4596	+ commit 923c4b174520c401a827d8198ebd2dc83666000f
4597
4598
45992014-12-03  Werner Koch  <wk@gnupg.org>
4600
4601	Add GPG_ERR_FORBIDDEN.
4602	+ commit 149fe98e1279b065edb06958d9a73a0c013c2db9
4603
4604
46052014-11-26  Мирослав Николић  <miroslavnikolic@rocketmail.com>
4606
4607	po: Add Serbian translation.
4608	+ commit 210126d38096e764dd3a82da45f8b5f66309ecd5
4609
4610
46112014-10-25  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4612
4613	Add new lock-obj-pub for mips64el-unknown-linux-gnuabi64.
4614	+ commit a186f35d05575d6d653e5bebb2dd169d9444af18
4615	* src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h: New.
4616	* src/Makefile.am (lock_obj_pub): Add.
4617
46182014-10-23  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4619
4620	add lock-obj header for or1k-unknown-linux-gnu.
4621	+ commit c143fa81462584ad39ea780908266bce3fb9a49e
4622	* src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h: new
4623
4624	add lock-obj for new arch triplet for x86.
4625	+ commit d85af2fbac956eb2a8630d1c17b53a7a8760d7a4
4626	* src/sysconfig/lock-obj-pub.i586-pc-linux-gnu.h: New.
4627
46282014-10-15  Werner Koch  <wk@gnupg.org>
4629
4630	Release 1.17.
4631	+ commit 1d9e4c29fc23da64f964ed3337cd18429e1a2964
4632	* configure.ac: Set LT version to C13/A13/R0.
4633
4634	doc: Add a man page for gpg-error-config.
4635	+ commit 9d9c25f6d76f1287f193f170ae5534f1ac346db0
4636	* doc/gpgrt.texi: New.  Just a start for now.
4637	* doc/gpl.texi, doc/lgpl.texi: New.  Take from Libgcrypt.
4638	* doc/yat2m.c: New.  Take from GnuPG master.
4639	* doc/Makefile.am: New.
4640	* configure.ac (AC_CONFIG_FILES): Add doc/Makefile.
4641	* Makefile.am (SUBDIRS): Add doc/.
4642	* build-aux/mdate-sh, build-aux/texinfo.tex: New.
4643
4644	Fix to help building native on Windows.
4645	+ commit 7285a27a7985c10f6778c67b31dd501e6594cb44
4646	* configure.ac (FORCE_USE_SYSCFG): New am_conditional.
4647	* src/Makefile.am: Use new conditional to decide whether to build the
4648	native lock object header.
4649
46502014-10-03  Werner Koch  <wk@gnupg.org>
4651
4652	Change gpgrt_pending{,_unlocked} to macros.
4653	+ commit 12b5188bd495e45775c34c8e6263e6be177c03da
4654	* src/gpg-error.h.in (gpgrt_pending): Change to a macro.
4655	(gpgrt_pending_unlocked): Change to a macro.
4656	(_gpgrt_pending, _gpgrt_pending_unlocked): New private functions.
4657	* src/visibility.c, src/visibility.h: Change accordingly.
4658	* src/gpg-error.vers, src/gpg-error.def.in: Ditto.
4659	* src/estream.c (_gpgrt_pending_unlocked): Rename to
4660	_gpgrt__pending_unlocked.
4661	(_gpgrt_pending): Rename to _gpgrt__pending.
4662
46632014-10-02  Werner Koch  <wk@gnupg.org>
4664
4665	w32: Make it build again.
4666	+ commit e8b04bed1093a9f1d87c150326e79adfeb02e2b4
4667	* src/estream.c (es_func_w32_read): Fix var name.
4668
4669	build: Support SYSROOT based config script finding.
4670	+ commit 3ecdcb6ac814e3b63aebbf66729ae6cb67c9f6d2
4671	* src/gpg-error.m4: Add support for SYSROOT and set
4672	gpg_config_script_warn.  Use AC_PATH_PROG instead of AC_PATH_TOOL
4673	because the config script is not expected to be installed with a
4674	prefix for its name.
4675
4676	Add GPG_ERR_BOGUS_STRING and an experimental gpgrt_pending.
4677	+ commit 74abfcf0c3ba7cd6ce36540c70699fc1719248b3
4678	* src/visibility.c (gpgrt_pending, gpgrt_pending_unlocked): New.
4679	* src/estream.c (_gpgrt_pending, _gpgrt_pending_unlocked): New.
4680	(check_pending): new.
4681	(check_pending_fbf, check_pending_nbf): New.
4682	(es_func_mem_read, es_func_fd_read, es_func_w32_read)
4683	(es_func_fp_read, es_fill): Take care of the special 0 value for SIZE.
4684
46852014-09-29  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4686
4687	GNU calls little-endian powerpc64 powerpc64le, not powerpc64el.
4688	+ commit d2757001c5719ca8c8bd6aa2e2e2d9a299fb76c6
4689	* src/Makefile.am (lock_obj_pub): fix powerpc64el to powerpc64le
4690	* src/sysconfig/lock-obj-pub.powerpc64el-unknown-linux-gnu.h : move to
4691	  src/sysconfig/lock-obj-pub.powerpc64le-unknown-linux-gnu.h
4692
46932014-09-29  Werner Koch  <wk@gnupg.org>
4694
4695	Add error codes for use by a TLS library.
4696	+ commit d58fa35e89feddb71feeba8e39a016cd37c4be29
4697
4698
46992014-09-24  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4700
4701	Allow ./configure to explicitly set libgpg-error's build timestamp.
4702	+ commit d620005fd1a655d591fccb44639e22ea445e4554
4703	* configure.ac: add --enable-build-timestamp
4704
47052014-09-24  Werner Koch  <wk@gnupg.org>
4706
4707	Add new error source GPG_ERR_SOURCE_TLS.
4708	+ commit efb2442458c8dd8d5af5a533dc09370b54f5f86f
4709
4710
47112014-09-23  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4712
4713	Add new lock-obj-pub for sparc64-unknown-linux-gnu.
4714	+ commit f227618e9e0d01e9dd1afbd91f9a509a532717eb
4715	* src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h: New.
4716	* src/Makefile.am (lock_obj_pub): Add.
4717
4718	Add new lock-obj-pub for powerpc64el-unknown-linux-gnu.
4719	+ commit 33e5504fbb5e5e2ff44023c0a22dfb668ff8b10f
4720	* src/syscfg/lock-obj-pub.powerpc64el-unknown-linux-gnu.h: New.
4721	* src/Makefile.am (lock_obj_pub): Add.
4722
47232014-09-18  Werner Koch  <wk@gnupg.org>
4724
4725	Release 1.16.
4726	+ commit 8f3187fe56cb8e535e3ceff75fdd4e128070af57
4727	* configure.ac: Set LT version to C12/A12/R2.
4728
4729	Add new lock-obj-pub for Apple iOS.
4730	+ commit cc4b0caa57a595a3727e51e061c519232f7bdb05
4731	* src/syscfg/lock-obj-pub.aarch64-apple-darwin.h: New.
4732	* src/syscfg/lock-obj-pub.arm-apple-darwin.h: New.
4733
47342014-09-12  Werner Koch  <wk@gnupg.org>
4735
4736	Fix es_fclose for streams opened with "samethread".
4737	+ commit c307e1f801cd9a25c4a5b9a90073362219d52ee6
4738	* src/estream.c (destroy_stream_lock): New.
4739	(es_create, do_close): Use new wrapper function.
4740
4741	Fix a prototype.
4742	+ commit e1882ee8c541020ec590bf096508ca5b6d2ab944
4743	* src/gpgrt-int.h: s/off_t/gpgrt_off_t/.
4744
47452014-09-11  Werner Koch  <wk@gnupg.org>
4746
4747	Release 1.15.
4748	+ commit 6ebcd696fdbc0485099fba987c0c302cb46dd116
4749	* configure.ac: Set LT version to C12/A12/R1.
4750
4751	Fix build problems with non-gmake (ie. AIX).
4752	+ commit 316171204d9a995f8b85431830bbc225ea144b48
4753	* src/Makefile.am: Do not distribute gpg-error.h.
4754	(lock-obj-pub.native.h): Prepend a "./" to match the dependency.
4755
4756	Fix problems with ssize_t and off_t.
4757	+ commit 5a4684f3b0db4cd5c13f94b1319c245ef96ce91d
4758	* configure.ac (AC_SYS_LARGEFILE): New.
4759	(AC_CHECK_HEADERS): Check for stdint.h.
4760	(AC_CHECK_SIZEOF): Add for int, long and long long.
4761	(REPLACEMENT_FOR_OFF_T): New ac_define.
4762	* src/mkheader.c (have_stdint_h, have_w32_system, have_w64_system)
4763	(replacement_for_off_type, stdint_h_included): New.
4764	(xfree, xstrdup): New.
4765	(parse_config_h): New.
4766	(write_special): Support "define:gpgrt_off_t", "define:gpgrt_ssize_t",
4767	"api_ssize_t" tags.
4768	(main): Add config.h arg.  Call parse_config_h.  Fix substitute code.
4769	* src/Makefile.am (gpg-error.h): Pass config.h to mkheader.
4770
4771	* src/gpg-error.h.in: Include definitions for gpgrt_ssize_t and
4772	gpgrt_off_t.  Let mkheader insert ssize_t keywords.  Chnage all off_t
4773	to gpgrt_off_t.
4774	* src/estream.c: Change all off_t to gpgrt_off_t.  Chnage all ssize_t
4775	to gpgrt_ssize_t.
4776	* src/visibility.c (gpgrt_fseeko): Use gpgrt_off_t.
4777	(gpgrt_ftello): Ditto.
4778	(gpgrt_getline): Use gpgrt_ssize_t.
4779	(gpgrt_read_line): Ditto.
4780
4781	Fix compiler warning for w32.
4782	+ commit 4138644d74f127c1f4abf7455fe1e21f56d6e07e
4783	* src/syscfg/lock-obj-pub.mingw32.h (GPGRT_LOCK_INITIALIZER): Add
4784	mssing braces.
4785
47862014-09-08  Werner Koch  <wk@gnupg.org>
4787
4788	Release 1.14.
4789	+ commit 25f312dbb82722d23ad9faed8341923af6d3663c
4790	* configure.ac: Set LT version to C12/A12/R0.
4791
4792	po: Update de.po.
4793	+ commit 2ff05feae6c5090081612a7d9a787298f37d46a2
4794
4795
47962014-08-26  Werner Koch  <wk@gnupg.org>
4797
4798	Add gpgrt_set_alloc_func.
4799	+ commit 7fdca61bcf60e730177889fbbd2f935ba33ae0c3
4800	* src/visibility.c (gpgrt_set_alloc_func): New.
4801	* configure.ac (_ESTREAM_PRINTF_REALLOC): Define.
4802	(_ESTREAM_PRINTF_EXTRA_INCLUDE): Define.
4803	* src/estream.c (mem_alloc, mem_realloc, mem_free): Simplify.
4804	(_gpgrt_free): Remove.
4805	* src/init.c (custom_realloc): New var.
4806	(_gpgrt_set_alloc_func): New.
4807	(_gpgrt_realloc, _gpgrt_malloc, _gpgrt_free): New.
4808
4809	* src/visibility.h (gpg_err_deinit): Mark as visible.
4810
4811	Export missing init functions.
4812	+ commit d9d5b61a9f70556e8fc0775f1501380f65ce9502
4813	* src/gpg-error.h.in (gpgrt_init): New macro.
4814	(gpgrt_check_version): New prototype.
4815	* src/init.c (_gpg_err_init): Rename from gpg_err_init.
4816	(_gpg_err_deinit): Rename from gpg_err_deinit.
4817	* src/visibility.c (gpg_err_init): New.
4818	(gpg_err_deinit): New.
4819	(gpgrt_check_version): New.
4820	* src/gpg-error.vers (gpg_err_init, gpg_err_deinit): Add missing
4821	symbols.
4822	(gpgrt_check_version): New.
4823	* src/gpg-error.def.in (gpg_err_init, gpg_err_deinit): Add missing
4824	symbols.
4825	(gpgrt_check_version): New.
4826	* src/gpg-error.c (main): Use gpgrt_init macro.
4827
4828	Include required headers into gpg-error.h.
4829	+ commit 320f1b864553f105217ad6b0c70598f9a48c6aaa
4830	* src/gpg-error.h.in: Include stdarg.h.
4831
48322014-08-25  Werner Koch  <wk@gnupg.org>
4833
4834	Replace locking code in estream functions.
4835	+ commit fc651665010056e6184e8514e5c5436427d7052d
4836	* src/posix-lock.c: Add weak program for pthread_mutex_trylock.
4837	(_gpgrt_lock_trylock): New.
4838	* src/w32-lock.c (_gpgrt_lock_init): Add missing return statement.
4839	(_gpgrt_lock_trylock): New.
4840	* src/visibility.c (gpgrt_set_syscall_clamp): New.
4841	(gpgrt_lock_trylock): New.
4842	(gpgrt_vsnprintf): Fix symbol name.
4843	* src/init.c (DllMain): Mark unused arg.
4844	* src/estream.c: Replace npth mutexes by our own locks.  Replace yeild
4845	macro by _gpgrt_yield.
4846	(pre_syscall_func, post_syscall_func): New.
4847	(do_deinit): Clear both new vars.
4848	(es_func_fd_read, es_func_fd_write): Call pre and post syscall
4849	functions instead of the former SYSCALL macros.
4850	(es_func_w32_read, es_func_w32_write): Ditto.
4851	(es_func_fd_seek, es_func_w32_seek, es_func_fp_read)
4852	(es_func_fp_write, es_func_fp_seek, es_func_fp_destroy): Bracket
4853	syscalls with the pre- and post-syscall fucntions.
4854	(do_npth_read, do_npth_write): Remove.
4855	(_gpgrt_es_init): Remove call to mutex init.  It is now statically
4856	initialized.
4857	(_gpgrt_set_syscall_clamp): New.
4858	(es_create): Destroy stream lock on error.
4859	(do_close): Destroy stream lock.
4860
4861	Remove GnuPG specific code.
4862	+ commit 98781deb0b1787fd7eaabee27ef6a06d37195267
4863	* src/estream.c (es_write_sanitized_utf8_buffer): Remove.
4864
4865	Add test for the estream printf functions.
4866	+ commit ce31fe792b5f8adf81710c1bf5986cd10636e16b
4867	* tests/t-printf.c: New.
4868	* configure.ac: Check for vasprintf.
4869
4870	Add gpgrt_snprintf and gpgrt_vsnprintf.
4871	+ commit 8a5f2680daa5ea0280ef195efe3050df7bb06e78
4872
4873
4874	Finish inclusion of estream into the API.
4875	+ commit e5304d2c8aaaf1682707caa5694316640a18de57
4876
4877
4878	Implement symbol visibility.
4879	+ commit 216e7def2118a1774fa7ebeb45b8635b9fe6ba42
4880	* configure.ac: New option --enable-ld-version-script.
4881	(GPGRT_USE_VISIBILITY): New ac_define.
4882	(HAVE_LD_VERSION_SCRIPT): New am_conditional.
4883	* src/gpg-error.vers: New.
4884	* src/gpgrt-int.h: New.
4885	* src/visibility.c, src/visibility.h: New.  Lot of changes to symbold
4886	names.
4887
4888	First set of changes to include estream into the API.
4889	+ commit 6714d41af5b3f4d447eb0caea0ede38b753397f8
4890	* configure.ac (AH_BOTTOM): Define GPGRT_ENABLE_ES_MACROS.
4891	* src/gpg-error.h.in: include stdio.h.  Include most of the estream
4892	functions and rename structures and types.
4893	* src/estream.h: Rewrite. Include only gpg-error.h and local
4894	prototypes.
4895	* src/estream.c: Rename types and macros.
4896	* src/estream-printf.c (_gpgrt_estream_snprintf): Prefix public
4897	functions with _gpgrt_.
4898
4899	Fix some minor estream things.
4900	+ commit 8d57ce619aa49862caeee30181fbbd9c76846554
4901	* m4/estream.m4: Check for memrchr.
4902	* src/estream.c (memrchr) [!HAVE_MEMRCHR]: New.
4903	* src/init.c: Include estream.h
4904	(real_init): Init estream.
4905
4906	Add missing redefine macros to cleanup the external symbols.
4907	+ commit b84c1ee0d637108a74066e0da50cb132273020e9
4908
4909
4910	Add estream code from GnuPG.
4911	+ commit 2b74237d19e44f7173bb052677f0ec35e6ff51b0
4912	* src/estream-printf.c, src/estream-printf.h: New.
4913	* src/estream.c, src/estream.h: New.
4914	* m4/estream.m4: New.
4915	* src/Makefile.am (libgpg_error_la_SOURCES): Add new files.
4916	* configure.ac (AH_BOTTOM): Define estream prefix.
4917	<gcc>: Add useful gcc warning options.
4918	(estream_INIT): Call.
4919
49202014-08-12  Joe Hansen  <joedalton2@yahoo.dk>
4921
4922	Update Danish translation.
4923	+ commit 1be556e5bb1fb7262a1b5630ac939cfcaadc7100
4924	* po/da.po: Update.
4925
49262014-08-10  Werner Koch  <wk@gnupg.org>
4927
4928	tests: Fix compiler warning.
4929	+ commit ab5eff46116a9a246ffb2c083bec637d0321d0cb
4930	* tests/t-lock.c: Include header vor getpid.
4931	(revision_thread): Init "i" to avoid compiler warning.
4932
49332014-08-06  NIIBE Yutaka  <gniibe@fsij.org>
4934
4935	Update ja.po.
4936	+ commit 7b7e08e6f3561724006b63679c2500a62fc73837
4937
4938
49392014-08-05  Werner Koch  <wk@gnupg.org>
4940
4941	Use 16 byte alignment for hppa-unknown-linux-gnu.
4942	+ commit 3325403c0dd2949bf52efa1b9a5b5cf3191110f9
4943	* configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): New.
4944	* src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Set for HPPA-Linux.
4945	(main): Enforce alignment if needed.
4946	* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Use 16 byte
4947	alignment.
4948
49492014-07-27  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4950
4951	Add new lock-obj-pub.*.h from debian buildds.
4952	+ commit 8338a4ba93367974758dc5e195f67e9d171d4086
4953	* src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h: New.
4954	* src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h: New.
4955	* src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h: New.
4956	* src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: New.
4957	* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: New.
4958	* src/syscfg/lock-obj-pub.i486-pc-gnu.h: New.
4959	* src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: New.
4960	* src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: New.
4961	* src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h: New.
4962	* src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h: New.
4963	* src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h: New.
4964	* src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h: New.
4965	* src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h: New.
4966	* src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h: New.
4967	* src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h: New.
4968	* src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h: New.
4969	* src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h: New.
4970	* src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h: New.
4971	* src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h: New.
4972	* src/Makefile.am (lock_obj_pub): Add new files.
4973
49742014-06-30  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
4975
4976	Improve logging in a test module.
4977	+ commit c7c41582574304974feac8bbd89b1460fbf6c92c
4978	* tests/t-version.c (main): Print program name.
4979
49802014-06-25  Werner Koch  <wk@gnupg.org>
4981
4982	Add missing prototype for build tool.
4983	+ commit 51f9a8180ecbc24ed092bef5f2aa920a76769dcb
4984	* src/gen-posix-lock-obj.c: Include string.h.
4985
49862014-06-10  Werner Koch  <wk@gnupg.org>
4987
4988	New error code GPG_ERR_KEY_DISABLED.
4989	+ commit 3fada688c0df6e3140e4fcaf59b9bcfcc7a70bf4
4990
4991
49922014-04-15  Werner Koch  <wk@gnupg.org>
4993
4994	Release 1.13.
4995	+ commit 1900266b743cabdb39a0d6f8dd00d187a2ad2c97
4996	* configure.ac: Set LT version to C11/A11/R0.
4997
4998	Update pl.po.
4999	+ commit db6e26cad81957729adc9549e4c6afe28bc55d76
5000
5001
5002	Add code GPG_ERR_KEY_ON_CARD.
5003	+ commit d4b83dbad235973e521eb12b680ee43cfb5cbc9a
5004
5005
50062014-01-29  Werner Koch  <wk@gnupg.org>
5007
5008	Fix a syscfg/ file name.
5009	+ commit bb5318aa5536fa48ec240c2ff48b9e2e1d9916ef
5010	* src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: Rename to ...
5011	* src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h: this.
5012	* src/Makefile.am (lock_obj_pub): Fix file name.
5013
50142014-01-28  Werner Koch  <wk@gnupg.org>
5015
5016	Fix the name of the file in the comment of the output.
5017	+ commit 6245bf65fc2554c7c103324d451036de08869458
5018	* src/gen-posix-lock-obj.c (main): Chnage comment in created file.
5019
50202014-01-25  Werner Koch  <wk@gnupg.org>
5021
5022	Add lock info for arm-unknown-linux-androideabi.
5023	+ commit e1aa030d7655743f0c3cdd5f7b26ae1b4665fbc6
5024	* src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: New.  Provided
5025	by Hans-Christoph Steiner.
5026	* src/Makefile.am (lock_obj_pub): Add file.
5027
50282014-01-24  Werner Koch  <wk@gnupg.org>
5029
5030	tests: Call srand for each thread under Windows.
5031	+ commit 8e352780fd0e2fbc8f4c4971aae188d62df24d0a
5032	* tests/t-lock.c (accountant_thread) [W32]: Call srand.
5033
5034	Do not use the threadlib macros for Windows.
5035	+ commit 2e4c5963119dc02cac7b8f0dfb46572c43d1ebe7
5036	* configure.ac: Move platform detection before gl_THREADLIB_EARLY.  Do
5037	not use gl_THREADLIB for Windows.
5038
5039	Make multi-threading flags available via gpg-error-config.
5040	+ commit f209d163a8167caa6910cd367aba923f703ac69e
5041	* m4/threadlib.m4: Set THREADLIB_CPPFLAGS.
5042	* src/gpg-error-config.in: Add option --mt.
5043	* configure.ac: Add support for the --mt option.
5044	* src/gpg-error.m4: Add ac_subst GPG_ERROR_MT_CFLAGS and
5045	GPG_ERROR_MT_LIBS.
5046
5047	Allow using gpgrt_lock_init on an unitialized variable.
5048	+ commit 4e8a88e7632b1f1d2b31ae738a159802549882c3
5049	* src/posix-lock.c (gpgrt_lock_init): Detect unitialized lock var.
5050	* src/w32-lock.c (gpgrt_lock_init): Ditto.
5051
50522014-01-17  Werner Koch  <wk@gnupg.org>
5053
5054	Move version number first in the Posix lock-obj.
5055	+ commit e07538c0ed3c5cb3d870a490a4c12bef4375278a
5056	* src/posix-lock-obj.h (_gpgrt_lock_t): Swap VERS and MTX and put MTX
5057	into a union.
5058	* src/posix-lock.c (gpgrt_lock_lock): Adjust for this change.
5059	* src/gen-posix-lock-obj.c (main): Change output accordingly.
5060
5061	Extend the platform dependent build rules.
5062	+ commit d83b12213231443b93de39863b916ada6232035a
5063	* src/mkheader.c (mk_include_name): New.
5064	(include_file): Implement '&' substitution.
5065	(try_include_file): New.
5066	(write_special): Use try_include_file and syscfg/.
5067	(main): Add a new arg.
5068	* configure.ac (CROSS_COMPILING): New am_conditional.
5069	(HOST_TRIPLET_STRING): New ac_define.
5070	* src/gen-posix-lock-obj.c (main): Print the host triplet.
5071	* src/w32-lock-obj-pub.in: Move to ...
5072	* src/syscfg/lock-obj-pub.mingw32.h: here.
5073	* src/Makefile.am (lock_obj_pub): New.
5074	(pre_mkheader_cmds): New.
5075	(gpg-error.h): Run pre_mkheader_cmds.
5076	(parts_of_gpg_error_h, lock-obj-pub.native.h): Do not use when
5077	cross-compiling.
5078
50792014-01-16  Werner Koch  <wk@gnupg.org>
5080
5081	Fix linking for last change on non-ELF platforms.
5082	+ commit 4f9b13e99bdfed886dadfd1b70a69af3747ebc98
5083	* src/Makefile.am (libgpg_error_la_LIBADD): Add LIBTHREAD.
5084
5085	Add gpgrt_lock_ functions.
5086	+ commit ff937c39febe63d52c55590d8e3bd3a460f26651
5087	* src/gpg-error.h.in (GPGRT_LOCK_DEFINE): New.
5088	(gpgrt_lock_init): New.
5089	(gpgrt_lock_lock): New.
5090	(gpgrt_lock_unlock): New.
5091	(gpgrt_lock_destroy): New.
5092	(gpgrt_yield): New.
5093	* src/gpg-error.def.in: Add new functions.
5094	* m4/lock.m4, m4/threadlib.m4: New. Taken from current gnulib.
5095	* configure.ac: Call gl_LOCK.  Check size of pthread_mutex_t. Add
5096	LIBTHREAD to GPG_ERROR_CONFIG_LIBS.
5097	* src/err-codes.h.in (GPG_ERR_INV_LOCK_OBJ): New.
5098	* src/gen-posix-lock-obj.c: New.
5099	* src/gen-w32-lock-obj.c: New.
5100	* src/lock.h, src/thread.h: New.
5101	* src/posix-lock-obj.h, src/w32-lock-obj.h: New.
5102	* src/posix-lock.c, src/w32-lock.c: New.
5103	* src/posix-thread.c, src/w32-thread.c:
5104	* src/w32-lock-obj-pub.in: New.
5105	* src/mkheader.c (include_file): Support build time include files.
5106	(write_special): Add keyword "include:lock-obj".
5107	* src/Makefile.am:
5108	(posix-lock-obj-pub.in): New rule.
5109	(noinst_PROGRAMS): Add gen-*-lock-obj helpers.
5110
5111	* tests/t-common.h: New.
5112	* tests/t-lock.c: New.
5113	* tests/Makefile.am (t_lock_LDADD): Add new test.
5114
51152014-01-14  Werner Koch  <wk@gnupg.org>
5116
5117	Improve maintainability by rewriting the mkheader helper.
5118	+ commit 78a06348fb07f2dce861615cc6d19964818f7334
5119	* src/mkheader.c: New.  Based on the mkheader from Libassuan.
5120	* src/mkheader.awk: Remove.
5121	* src/errnos.in: Add trailing linefeed.
5122	* src/gpg-error.h.in: Change meta include directives for use with
5123	mkheader.c.
5124	* src/Makefile.am (EXTRA_DIST): Replace mkheader.awk by mkheader.c
5125	(BUILT_SOURCES): Remove extra-h.in.
5126	(CLEANFILES): Remove extra-h.in.  Add mkheader.c.
5127	(parts_of_gpg_error_h): New.
5128	(extra-h.in): Remove rule.
5129	(mkheader): Add rule.
5130	(gpg-error.h): Change rule to use mkheader.
5131
51322014-01-10  Werner Koch  <wk@gnupg.org>
5133
5134	po: Update de.po.
5135	+ commit c1871fddf85cdddc33c1b35d5f1c8bae76388ee5
5136
5137
5138	Use the generic autogen.sh script.
5139	+ commit e3ff40a78e9e95e1296b66f9c0d3df905c8af0d3
5140	* Makefile.am (EXTRA_DIST): Add autogen.rc remove config.rpath.
5141	* autogen.rc: New.
5142	* autogen.sh: Update from current GnuPG.
5143
5144	Move helper scripts to build-aux.
5145	+ commit 69c15393d1dac28e08c3b84b1aea286f12327847
5146	* compile, config.guess, config.rpath, config.sub
5147	* depcomp, install-sh, ltmain.sh, missing: Move to build-aux/.
5148	* configure.ac (AC_CONFIG_AUX_DIR): New.
5149
51502013-12-09  Werner Koch  <wk@gnupg.org>
5151
5152	Add build support for ppc64le.
5153	+ commit 0b192cff772bd416dc85b8140b9eb0d52e4175dd
5154	* config.guess, config.sub: Update to latest version (2013-11-29).
5155	* m4/libtool.m4: Add patches for ppc64le.
5156
51572013-12-09  David 'Digit' Turner  <digit@google.com>
5158
5159	Update libtool to support Android.
5160	+ commit bf0d67dbfa4161e529781d6dfbfcce7126c3bf22
5161	* m4/libtool.m4: Add "linux*android*" case.  Taken from the libtool
5162	repository.
5163
51642013-11-17  Werner Koch  <wk@gnupg.org>
5165
5166	Add GPG_ERR_MAC_ALGO.
5167	+ commit b70a430d020e8541f66cca38c00355bab7bb1017
5168
5169
51702013-07-15  Werner Koch  <wk@gnupg.org>
5171
5172	w32: Fix corrupted string output.
5173	+ commit 52e1f2e131b422fdb66abeaf4a8f084689b39bf7
5174	* src/w32-gettext.c (get_string): Pass the nul of the utf-8 string to
5175	the conversion function but keep TRANSLEN without the nul.
5176
51772013-06-24  Werner Koch  <wk@gnupg.org>
5178
5179	Release 1.12.
5180	+ commit 12243cebd558dcadf8e85eea39b6db5f0b314667
5181	* configure.ac: Set LT version to C10/A10/R0.
5182
5183	Update German translation.
5184	+ commit f85ef07dca7c931d63b202d94bfaccba0a30f7f6
5185
5186
51872013-06-17  Werner Koch  <wk@gnupg.org>
5188
5189	Add hack to have different names for 64 bit Windows DLLs.
5190	+ commit ca46b9a7bccb2eab085fc45722ffca1210f48223
5191	* ltmain.sh: Prefix the SO number for W64 with a "6".
5192
5193	Support building for w64.
5194	+ commit 1ca9b0dec0bfee560ce43d9dac6a26557ebe67a1
5195
5196
51972013-05-23  Werner Koch  <wk@gnupg.org>
5198
5199	w32: Fix installing of .def file.
5200	+ commit db438148df9623528aa7305b6d56edd23db8cbbe
5201	* src/Makefile.am (install-def-file): Create libdir first.
5202
5203	Fix libtool 2.4.2 to correctly detect .def files.
5204	+ commit dd05f3790e536dec6ed56087780a1065ca66371e
5205	* ltmain.sh (sed_uncomment_deffile): New.
5206	(orig_export_symbols): Uncomment def file before testing for EXPORTS.
5207	* m4/libtool.m4: Do the same for the generated code.
5208
52092013-04-11  Werner Koch  <wk@gnupg.org>
5210
5211	Add GPG_ERR_*CRYPT_CTX* and GPG_ERR_BROKEN_*KEY.
5212	+ commit d2e6d96dfd2acc855b244a972269adfcf477cd10
5213	* src/err-codes.h.in (GPG_ERR_NO_CRYPT_CTX): New.
5214	(GPG_ERR_WRONG_CRYPT_CTX, GPG_ERR_BAD_CRYPT_CTX): New.
5215	(GPG_ERR_CRYPT_CTX_CONFLICT): New.
5216	(GPG_ERR_BROKEN_PUBKEY, GPG_ERR_BROKEN_SECKEY): New.
5217
52182013-02-25  Werner Koch  <wk@gnupg.org>
5219
5220	Release 1.11.
5221	+ commit 3367ff0aa51b6685e37b749b3179643b82d23064
5222	* configure.ac: Set LT version to C9/A9/R0.
5223
5224	* Makefile.am (GITLOG_TO_CHANGELOG): New.
5225	(gen-ChangeLog): Use --tear-off.
5226	* build-aux/gitlog-to-changelog: Remove.
5227
5228	Update helper scripts.
5229	+ commit b0ce47b730452bb28d5f46db3857c9efa5f9f51e
5230	* compile, config.guess, config.rpath, config.sub, depcomp,
5231	* install-sh, mkinstalldirs: Update to current versions from gnulib.
5232
52332013-02-23  Werner Koch  <wk@gnupg.org>
5234
5235	Add translation to Ukrainian.
5236	+ commit 47ff6a21c6d84acebef3ff20d982a6c255a6d282
5237	* po/uk.po: New.
5238	* po/LINGUAS: Add uk.po
5239
5240	Add translation to Esperanto.
5241	+ commit 95c63baa0516592ec1a1c045565d6f992cc807eb
5242	* po/eo.po: New.
5243	* po/LINGUAS: Add eo.po.
5244
5245	Add version macros and check function.
5246	+ commit e6943de88627c6662fba3fe905c8761dbf0ccfa1
5247	* configure.ac (VERSION_NUMBER): New ac_subst.
5248	(BUILD_FILEVERSION): Build on all platforms
5249	(BUILD_TIMESTAMP): Try to use an ISO string.
5250	* src/Makefile.am (extra-h.in): Add new version numbers.
5251	* src/versioninfo.rc.in: Update copyright year.
5252	* src/version.c: New.
5253	(gpg_error_check_version): New API.
5254	* src/gpg-error.h.in: Add gpg_error_check_version prototype.
5255	* src/gpg-error.def.in: Add gpg_error_check_version
5256	* tests/t-version.c: New.
5257	* tests/Makefile.am (TESTS): Add t-version.c
5258
5259	* src/gpg-error-config.in: s/VERSION/PACKAGE_VERSION/.
5260
52612013-02-22  Werner Koch  <wk@gnupg.org>
5262
5263	Fix the alias mechanism for --with-libgpg-error-prefix.
5264	+ commit 056cc2d0dfef023fda47ce377d3ee544612526a3
5265	* src/gpg-error.m4: Do not use the no-action branch in AC_ARG_WITH.
5266
52672012-11-16  Werner Koch  <wk@gnupg.org>
5268
5269	Switch to the new automagic beta numbering scheme.
5270	+ commit 3977201d2a82fcbe0341660e07a3b0d5c790f927
5271	* configure.ac: Change to a git only revision id setup.
5272	(BUILD_FILEVERSION): Use revision id for this.
5273	* src/versioninfo.rc.in (FileVersion): Use LT version.
5274
5275	Update to libtool 2.4.2.
5276	+ commit 6971fe55fb76f3c93058ebdef37dc179dff5d651
5277
5278
5279	Add new source id for Libassuan.
5280	+ commit d447a2150c235878e2c80afcc99e207755cfd2f9
5281	* src/err-sources.h.in (GPG_ERR_SOURCE_ASSUAN): New.
5282
5283	Improve parsing of the GIT revision number.
5284	+ commit b2e4d03c88823151aa30f8a878ad1a30618d1340
5285	* configure.ac (git_revision): Use git rev-parse.
5286
5287	Fix non-portable use of chmod in autogen.sh.
5288	+ commit 17c8c16ee2dcb33abb7fdf50c40015f1b9d13689
5289	* autogen.sh: Remove option -c from chmod.
5290
52912012-08-09  Werner Koch  <wk@gnupg.org>
5292
5293	Update Italian translation.
5294	+ commit 3034b80debc15e6372fbc36a1814b2d273d9e4a7
5295
5296
52972012-08-09  Jordy Provost  <jordy.provost@free.fr>
5298
5299	Typo fix.
5300	+ commit 9216a742c75432fb2ea0ee1e1818459014e051c5
5301	* src/err-codes.h.in: Unify uppercase.
5302
53032012-08-09  Freek de Kruijf  <f.de.kruijf@gmail.com>
5304
5305	Update Dutch translation.
5306	+ commit 10373c0d9f4a557ee9af5f1569749b9697a7ae33
5307	* po/nl.po: Update.
5308
53092012-08-09  Petr Pisar  <petr.pisar@atlas.cz>
5310
5311	Update Czech translation.
5312	+ commit f95162ecc92f338bf244ffdb402ade617d207d7a
5313	* po/cs.po: Update.
5314
53152012-08-09  Joe Hansen  <joedalton2@yahoo.dk>
5316
5317	Add Danish translation.
5318	+ commit 7adbeeb806d7cd373a159b0acfc9b733a3295356
5319	* po/da.po: New.
5320	* po/LINGUAS: Add da.po.
5321
53222012-08-09  David Prévot  <taffit@debian.org>
5323
5324	Update French translation.
5325	+ commit 42471f9cbd59d427c9e1a8bf0267835f1395c6b4
5326	* po/fr.po: Update, proofread by Jordy Provost
5327
5328	Keep previous msgids of translated messages.
5329	+ commit f7db2dceb8d1da2606d039c04bc84f331f9cfe89
5330	* po/Makefile.in.in: Add --previous option to msgmerge.
5331
53322012-08-07  Werner Koch  <wk@gnupg.org>
5333
5334	Add Japanese translation.
5335	+ commit 4fef48a0868ca1379d016f41c9d810857c00655f
5336	* po/ja.po: New.
5337	* po/LINGUAS: Add ja.po.
5338
5339	Update German translation.
5340	+ commit 2ed3e70f0aeec41ece79d96a8ea6d114addf954d
5341	* po/de.po: Update.
5342
53432012-06-20  Rafaël Carré  <funman@videolan.org>
5344
5345	Use CPPFLAGS when generating mkerrcodes.h.
5346	+ commit c35dbfdaa2e30e08185e4a468278a29e2c48b500
5347	 * src/Makefile.am (mkerrcodes.h): Use CPPFLAGS.
5348
53492011-12-01  Werner Koch  <wk@gnupg.org>
5350
5351	Remove non-source file from the repo.
5352	+ commit a7eb1bec2b76318bd17d4413d7f44197a241e3bc
5353	* po/remove-potcdate.sed: Remove.
5354
5355	Fix for newer autoconf version.
5356	+ commit 5a0d2a5abc0a707c20449b6afd37daa9fd373a18
5357	* Makefile.am (EXTRA_DIST): Fix filename.
5358	* configure.ac (my_full_version): New.
5359	(AC_INIT):  Use new macro.  Change bug address to the bug tracker URL.
5360
5361	Generate the ChangeLog from commit logs.
5362	+ commit 9d75d671d66386ad862db0466c4dd67a246dfe72
5363	* build-aux/gitlog-to-changelog: New script.  Taken from gnulib.
5364	* build-aux/git-log-fix: New file.
5365	* build-aux/git-log-footer: New file.
5366	* doc/HACKING: New file.
5367	* ChangeLog: New file.
5368	* Makefile.am (EXTRA_DIST): Add new files.
5369	(gen-ChangeLog): New.
5370	(dist-hook): Run gen-ChangeLog.
5371
5372	Rename all ChangeLog files to ChangeLog-2011.
5373
53742011-12-01  Werner Koch  <wk@gnupg.org>
5375
5376	NB: Changes done before December 1st, 2011 are described in
5377	per directory files named ChangeLog-2011.  See doc/HACKING for
5378	details.
5379
5380        -----
5381	Copyright (C) 2011 Free Software Foundation, Inc.
5382
5383	Copying and distribution of this file and/or the original GIT
5384	commit log messages, with or without modification, are
5385	permitted provided the copyright notice and this notice are
5386	preserved.
5387