Imported Upstream version 1.4.4
[platform/upstream/gpgme.git] / ChangeLog
1 2014-07-30  Werner Koch  <wk@gnupg.org>
2
3         Release 1.4.4.
4         * configure.ac: Change LT version to C22/A11/R1.
5
6         Fix possible realloc overflow for gpgsm and uiserver engines.
7         * src/engine-gpgsm.c (status_handler):
8         * src/engine-uiserver.c (status_handler):
9
10         w32: Fix another memleak on error.
11         * src/w32-io.c (create_reader): free CTX.
12
13         w32: Fix memleak in an error code paths.
14         * src/w32-io.c (create_writer): Free CTX in cased of bad FD.
15         * src/w32-util.c (_gpgme_mkstemp): Free TMPNAME in case of a failed
16         mkstemp.
17
18         Fix possible zombie processes.
19         * src/posix-io.c (_gpgme_io_waitpid): Protect waitpid agains EINTR.
20         (_gpgme_io_dup): Likewise.
21         (_gpgme_io_connect): Likewise.
22
23         Avoid pointer arithmetic on void pointer.
24         * src/gpgme.c (gpgme_io_writen): Use new var buffer.
25
26         Change implementation return type to match the definition.
27         * src/gpgme.c (gpgme_get_sub_protocol): Change return type to
28         gpgme_protocol_t.
29
30         Fix type inconsistency between gpgme.h and gpgme.c.
31         * src/gpgme.c (gpgme_set_pinentry_mode): Fix type of MODE.
32
33         Fix possible segv in the gpgme_op_card_edit.
34         * src/edit.c (gpgme_op_edit_start, gpgme_op_card_edit_start): Do not
35         deref a NULL KEY in TRACE_BEG.
36
37 2013-08-12  Werner Koch  <wk@gnupg.org>
38
39         Release 1.4.3.
40         * configure.ac: Change LT version to C22/A11/R0.
41
42         Make test suite workable with GnuPG 2.1.
43         * tests/gpg/start-stop-agent: New.
44         * tests/gpg/initial.test: New.
45         * tests/gpg/final.test: New.
46         * tests/gpg/Makefile.am (c_tests): New.
47         (TESTS): Move all to c_tests.  Add initial.test, final.test, and
48         c_tests.
49         (TESTS_ENVIRONMENT): Add C_ALL=C
50         (private_keys): New.
51         (EXTRA_DIST): Add new files.
52         (./private-keys-v1.d/gpg-sample.stamp): Copy private keys.
53         (all-local): Depend on gpg-sample.stamp.
54         * tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F: New.
55         * tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD: New.
56         * tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66: New.
57         * tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C: New.
58         * tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD: New.
59
60         Improve detection of default gpg by configure.
61         * configure.ac: Move test for gpgconf before test for gpg.
62         (GPG, GPGSM, G13): Use gpgconf instead of AC_PATH_PROG if possible.
63
64 2013-08-09  Werner Koch  <wk@gnupg.org>
65
66         Add function gpgme_data_identify.
67         * src/gpgme.h.in (gpgme_data_type_t): New.
68         (gpgme_data_identify): New prototype.
69         * src/data-identify.c: New.
70         * src/parsetlv.c, src/parsetlv.h: New.  Take from gpa.
71         * src/libgpgme.vers, src/gpgme.def: Add gpgme_data_identify.
72         * src/gpgme-tool.c (status): Add STATUS_IDENTIFY_RESULT.
73         (gt_identify): New.
74         (cmd_identify): New.
75
76         (hlp_passwd): Move close to cmd_passwd.
77
78 2013-08-02  Werner Koch  <wk@gnupg.org>
79
80         Prefer GnuPG-2 engines over GnuPG-1.
81         * src/util.h: Move some prototypes to ...
82         * src/sys-util.h: New.
83         * src/Makefile.am (main_sources): Add sys-util.h.
84         * configure.ac (AH_VERBATIM): Add DIRSEP_C and DIRSEP_S.
85         * src/dirinfo.c: Include sys-util.h.
86         (WANT_GPG_NAME, WANT_GPGSM_NAME, WANT_G13_NAME)
87         (WANT_UISRV_SOCKET): New.
88         (dirinfo): Add corresponding fields.
89         (parse_output): Add arg COMPONENTS and set new fields.
90         (read_gpgconf_dirs): Add arg components and act upon it.
91         (get_gpgconf_item): Call read_gpgconf_dirs two times.  Add debug
92         output.
93         (_gpgme_get_default_gpg_name): New.
94         (_gpgme_get_default_gpgsm_name): New.
95         (_gpgme_get_default_g13_name): New.
96         (_gpgme_get_default_gpgconf_name): New.
97         (_gpgme_get_default_uisrv_socket): New.
98         * src/engine-gpg.c, src/engine-g13.c, src/engine-gpgconf.c
99         * src/engine-gpgsm.c, src/engine-uiserver.c: Change to use
100         _gpgme_get_default_ instead of those from sys-util.h.
101         * src/posix-util.c (_gpgme_get_gpg_path): Include sys-util.h.
102         (_gpgme_get_uiserver_socket_path): Remove.
103         * src/w32-util.c (_gpgme_get_gpg_path): Include sys-util.h.
104         (_gpgme_get_uiserver_socket_path): Remove.
105
106         w32: Try to locate gpg in the gpgme installation dir.
107         * src/w32-util.c (my_hmodule): New.
108         (wchar_to_utf8): New.
109         (DllMain): New.
110         (_gpgme_get_inst_dir): New.
111         (find_program_in_dir): New.
112         (find_program_in_inst_dir): Add arg INST_DIR.
113         (_gpgme_get_gpg_path): Get inst_dir before acquiring the lock.
114         (_gpgme_get_gpgconf_path): Ditto.
115         (_gpgme_get_g13_path): Ditto.
116         (_gpgme_get_w32spawn_path): Ditto.
117
118 2013-07-31  Werner Koch  <wk@gnupg.org>
119
120         doc: Add --binary option for the OUTPUT command of an uiserver.
121
122 2013-06-18  Werner Koch  <wk@gnupg.org>
123
124         Add function gpgme_signers_count.
125         * src/signers.c (gpgme_signers_count): New.
126         * src/libgpgme.vers, src/gpgme.def: Add as external symbol.
127         * src/gpgme.h.in: Add prototype.
128
129 2013-05-28  Werner Koch  <wk@gnupg.org>
130
131         Release 1.4.2.
132         * configure.ac: Set LT version to C21/A10/R0.
133
134         Add convenience macro GPGME_PROTOCOL_OPENPGP.
135         * src/gpgme.h.in (GPGME_PROTOCOL_OPENPGP): New.
136
137 2013-05-23  Werner Koch  <wk@gnupg.org>
138
139         w32: Fix installing of .def file.
140         * src/Makefile.am (install-def-file): Create libdir first.
141
142         Fix libtool 2.4.2 to correctly detect .def files.
143         * build-aux/ltmain.sh (sed_uncomment_deffile): New.
144         (orig_export_symbols): Uncomment def file before testing for EXPORTS.
145         * m4/libtool.m4: Do the same for the generated code.
146
147 2013-05-22  Werner Koch  <wk@gnupg.org>
148
149         Support --no-encrypt-to also with gpgme_op_encrypt_sign.
150         * src/engine-gpg.c (gpg_encrypt_sign): Support the
151         GPGME_ENCRYPT_NO_ENCRYPT_TO flag.
152
153 2013-05-22  Werner Koch  <wk@gnupg.org>
154             Kyle L. Huff  <g10bts@curetheitch.com>
155
156         Allow symmetric encryption with gpgme_op_encrypt_sign.
157         * src/encrypt-sign.c (encrypt_sym_status_handler): New.
158         (encrypt_sign_start): Handle recp == NULL case.
159         * src/engine-gpg.c (gpg_encrypt_sign): Implement symmetric encryption.
160         * tests/gpg/t-encrypt-sign.c (main): Add a test case for this.
161
162 2013-05-22  Werner Koch  <wk@gnupg.org>
163
164         gpgme-tool: Allow for symmetric encryption.
165         * src/gpgme-tool.c (gt_sign_encrypt): Pass NULL for recp if no
166         recipients are given.
167
168         tests: Print auditlog in plain text format.
169         * tests/gpgsm/t-verify.c (show_auditlog): Use plain text format.
170
171 2013-05-18  Werner Koch  <wk@gnupg.org>
172
173         Improve C++ compatibility of previous patch.
174         * src/gpgme.h.in: Move gpgme_sssize_t and gpgme_off_t typedefs into
175         the extern "C" scope.
176
177 2013-05-16  Werner Koch  <wk@gnupg.org>
178
179         Make definition of off_t robust against misbehaving w32 toolchains.
180         * configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
181         and gpgme_ssize_t.
182         (API__OFF_T, API__SSIZE_T): New ac_subst.
183         * src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
184         * src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
185         * src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
186         * src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
187         * src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
188         by gpgme_off_t and sszie_t by gpgme_ssize_t.
189         * src/ath-pthread.c, src/ath.h: Include gpgme.h.
190
191 2013-05-11  Werner Koch  <wk@gnupg.org>
192
193         w32: Change the way the I/O threads are cleaned up.
194         * src/w32-io.c (reader_context_s, create_reader)
195         (writer_context_s, create_writer): Rename STOPPED to CLOSE_EV.
196         (reader, writer): Remove setting of STOPPED.  Wait for CLOSE_EV and
197         then release the context.
198         (destroy_reader, destroy_writer): Do not wait but set the CLOSE_EV.
199         (kill_reader, kill_writer): Remove.
200         (_gpgme_io_close): Add code from kill_reader and kill_writer.
201
202 2013-05-08  Werner Koch  <wk@gnupg.org>
203
204         Fix hang in socket closing.
205         * src/w32-io.c (destroy_reader): Call shutdown.
206         (reader): Do not print an error in the shutdown case.
207
208         Improve debug output of the I/O reader and writer.
209         * src/w32-io.c (reader, writer): Also print file_sock.
210
211 2013-05-06  Werner Koch  <wk@gnupg.org>
212
213         Simplify a debug code function.
214         * src/debug.c (_gpgme_debug): Remove static space string.
215
216 2013-05-01  Werner Koch  <wk@gnupg.org>
217
218         Release 1.4.1.
219         * configure.ac: Bump LT version to C20/A9/R1.
220
221         Disable fd-passing for Apple.
222         * configure.ac: Disable fd-passing by default for Apple.
223
224 2013-04-30  Werner Koch  <wk@gnupg.org>
225
226         Allow reading of long gpgconf output lines.
227         * src/engine-gpgconf.c (gpgconf_read): Rewrite to allow for line
228         lengths up to 64k.
229
230 2013-04-29  Werner Koch  <wk@gnupg.org>
231
232         Fix for i686-w64-mingw32.
233         * configure.ac (NEED__FILE_OFFSET_BITS): Do not define under Windows.
234
235 2013-02-26  Werner Koch  <wk@gnupg.org>
236
237         Release 1.4.0.
238         * configure.ac: Bump LT version to C20/A9/R0.
239
240         Enable FD passing and thus building of the UI-server.
241         * configure.ac: Make --enable-fd-passing the default.
242         * src/engine-uiserver.c (_gpgme_engine_ops_uiserver): Syntax fix.
243
244         w32: Hacks for building with 32 bit mingw64.
245         * configure.ac (INSERT__TYPEDEFS_FOR_GPGME_H): Add hacks for 32 bit
246         mingw64.
247         * src/util.h [W32]: Include winsock2.h before windows to make mingw64
248         happy.
249         * src/w32-util.c (_WIN32_IE): Need to use 5.1 for mingw64.
250
251         Improve missing libgpg-error reporting in configure.
252         * configure.ac (NEED_GPG_ERROR_VERSION): New.  Improve reporting for
253         missing libgpg-error.
254
255         Change the various version numbers to the new scheme.
256         * configure.ac: Rename my_foo variables to mym4_foo variables to make
257         clear that they are processed by m4.
258         (VERSION_NUMBER): New ac_subst.
259         (AH_BOTTOM): Add CRIGHTBLURB macro.
260         (BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP): Change them to
261         work similar to libgpg-error et al.
262         * src/versioninfo.rc.in: Remove use of BUILD_NUMBER and get it in line
263         with gpg-error et al.
264         * src/version.c (cright_blurb): New.
265         (gpgme_check_version_internal): Add magic to display the above
266         information.
267         * tests/t-version.c (main): Add option --verbose.
268
269         Update GnuPG related m4 files.
270         * m4/gpg-error.m4: Update from libgpg-error.
271         * m4/libassuan.m4: Update from libassuan.
272
273         Update helper scripts.
274         * configure.ac: Use AC_CONFIG_AUX_DIR.  Remove args from
275         AM_INIT_AUTOMAKE.  Replace AM_CONFIG_HEADER by AC_CONFIG_HEADER.
276         * compile, config.guess, config.sub, depcomp, install-sh, ltmain.sh
277         * mkinstalldirs, texinfo.texi: Move to build-aux/ and update from
278         gnulib (c042abf).
279         * build-aux/mdate-sh, build-aux/missing: Install via automake -a -c.
280         Update autogen.sh for changed config dir.
281         * autogen.sh: Adjust for scripts dir change.  Update W32 toolprefix
282         list.
283
284 2013-02-25  Werner Koch  <wk@gnupg.org>
285
286         Remove included gitlog-to-changelog.
287         * build-aux/gitlog-to-changelog: Remove.
288         * configure.ac (GITLOG_TO_CHANGELOG): Default to just
289         gitlog-to-changelog.
290
291 2013-02-12  Werner Koch  <wk@gnupg.org>
292
293         Add macro GPGME_VERSION_NUMBER.
294         * src/gpgme.h.in (GPGME_VERSION_NUMBER): New.
295         * configure.ac (my_version_major, my_version_minor)
296         (my_version_micro): New m4 macros.
297         (my_version): Build from new m4 macros.
298         (VERSION_NUMBER): New ac_subst.
299
300         Add public function gpgme_get_pinentry_mode.
301         * src/gpgme.c (gpgme_get_pinentry_mode): New.
302
303 2013-02-07  Werner Koch  <wk@gnupg.org>
304
305         gpgme_tool: Support GPG's new pinentry-mode.
306         * src/gpgme-tool.c (log_error): Do not always print the error source.
307         (gt_set_pinentry_mode): New.
308         (server_passphrase_cb): New.
309         (cmd_pinentry_mode): New.
310         (register_commands): Add cmd_pinentry_mode.
311         (options): Add option --gpg-binary.
312         (struct args): Add field gpg-binary.
313         (parse_options, main): Implement that option.
314
315         Add public function gpgme_set_pinentry_mode.
316         * src/gpgme.c (gpgme_set_pinentry_mode): New.
317         * src/gpgme.h.in (gpgme_pinentry_t): New.
318         (gpgme_set_pinentry_mode): New.
319         * src/context.h (struct gpgme_context): Add field pinentry_mode.
320         * src/engine-backend.h (struct engine_ops): Add field
321         set_pinentry_mode.
322         * src/engine-gpg.c (struct engine_gpg): Add field pinentry_mode.
323         (build_argv): Implement pinentry_mode.
324         (gpg_set_pinentry_mode): New.
325         (_gpgme_engine_ops_gpg): Register gpg_set_pinentry_mode.
326
327         Add public function gpgme_io_writen.
328         * src/gpgme.c (gpgme_io_read): New.
329
330 2012-11-16  Werner Koch  <wk@gnupg.org>
331
332         Improve parsing of the GIT revision number.
333         * configure.ac (git_revision): Use git rev-parse.
334
335         Fix non-portable use of chmod in autogen.sh.
336         * autogen.sh: Remove option -c from chmod.
337
338 2012-11-15  Werner Koch  <wk@gnupg.org>
339
340         Make _gpgme_encode_percent_string work for memory buffers.
341         * src/conversion.c (D_gpgme_encode_percent_string): Remove stray
342         semicolon.  Reported by Xi Wang.
343
344 2012-10-24  Werner Koch  <wk@gnupg.org>
345
346         Make local variables configure hack more robust.
347         * configure.ac (emacs_local_vars_begin): Use extra m4 quoting so that
348         newer Emscasen won't take it up as Local Variables for this file.
349
350         Fix ttyname problem on Android.
351         * configure.ac: Define macro and conditional HAVE_ANDROID_SYSTEM.
352         * m4/gnupg-ttyname.m4: Force use of replacement on Android.
353         * src/ttyname_r.c: Ditto.
354
355         tests: Adhere to the docs and call gpgme_check_version.
356         * tests/t-engine-info.c: Call gpgme_check_version.
357
358 2012-10-19  Werner Koch  <wk@gnupg.org>
359
360         Trace the use of GPG_ERR_INV_ENGINE.
361         * src/debug.h: Include "gpgme.h"
362         (_gpgme_trace_gpgme_error): New.
363         (trace_gpg_error): New macro.  Use it in all files where we return
364         GPG_ERR_INV_ENGINE; also "include debug.h" as needed.
365
366         Avoid warning about initialized but not used variable.
367         * src/engine-gpgsm.c (gpgsm_set_fd): Do not set DIR if not needed.
368
369 2012-10-11  Werner Koch  <wk@gnupg.org>
370
371         gpgme-tool: Use membuf functions to build up strings.
372         * src/gpgme-tool.c (clear_membuf, init_membuf, put_membuf)
373         (put_membuf_str, get_membuf, peek_membuf): Add membuf functions.
374         Take from GnuPG master's common/membuf.[ch] and patch for our use.
375         (result_xml_escape): Rewrite using new functions.
376
377         gpgme-tool: Change license from LPGLv2+ to GPLv3+
378         * src/gpgme-tool.c: Change license notice.
379
380 2012-10-11  W. Trevor King  <wking@tremily.us>
381
382         gpgme-tool: escape special characters in output XML data (<, >, and &).
383
384         src/gpgme-tool.c (result_xml_escape_replacement, result_xml_escape):
385         New.
386         (result_xml_tag_data): Use result_xml_escape() to escape data.
387         (result_add_error): Use unescaped < and >.
388
389         gpgme-tool: Fix chain_id -> chain-id in KEYLIST XML.
390
391         src/gpgme-tool.c (cmd_keylist): Use <chain-id> instead of <chain_id>.
392
393 2012-09-28  W. Trevor King  <wking@tremily.us>
394
395         gpgme-tool: Return more detailed XML from KEYLIST.
396         src/gpgme-tool.c (cmd_keylist): Convert output from a list of
397         to more detailed XML.
398         (xml_preamble1, xml_preamble2, xml_end): Make global.
399         (result_add_protocol, result_add_validity): New functions for
400         generating XML from GPGME types.
401         (result_add_string): Treat NULL strings as "".
402         (result_xml_tag_data): Make 'data' a 'const char' so we can use the
403         value returned by gpgme_get_protocol_name directly.
404
405         gpgme-tool: Initialize input_fd and output_fd.
406         * src/gpgme-tool.c (gpgme_server): Initialize input_fd and output_fd.
407
408 2012-09-26  Werner Koch  <wk@gnupg.org>
409
410         gpgme-tool: Fix handling of file descriptors.
411         * src/gpgme-tool.c (server_reset_fds): Use close/CloseHandle instead
412         of the assuan close functions.
413         (_cmd_decrypt_verify, _cmd_sign_encrypt, cmd_verify, cmd_import)
414         (cmd_export, cmd_genkey, cmd_getauditlog): Use SERVER object instead
415         of assuan_get_*_fd functions.
416
417 2012-09-25  Werner Koch  <wk@gnupg.org>
418
419         Document contribution rules.
420         * doc/HACKING (License policy): New.
421         * doc/DCO: New.
422         * AUTHORS: Change maintainer address.
423
424         Add gpgme_set_global_flag to help debugging.
425         * src/gpgme.c (gpgme_set_global_flag): New.
426         * src/gpgme.h.in (gpgme_set_global_flag): New.
427         * src/gpgme.def, src/libgpgme.vers: Add new public function.
428         * src/debug.c (envvar_override): New.:
429         (_gpgme_debug_set_debug_envvar): New.
430         (debug_init): Take ENVVAR_OVERRIDE in account.
431
432 2012-07-28  Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>
433
434         Add two recent contributors.
435
436         Fix sign error in position calculation for mem_seek.
437         * data-mem.c (mem_seek): Fix sign error in position calculation.
438
439         Allow null context on gpgme_set_locale.
440         * gpgme.c (gpgme_set_locale): Allow CTX to be a null pointer.
441
442 2012-07-13  Werner Koch  <wk@gnupg.org>
443
444         Do not include the removed file status-table.h.
445         * src/engine-uiserver.c: Remove status-table.h which is not anymore
446         built.  Fixes bug#1412.
447
448         Make handling of new conf values more robust (bug#1413).
449         * src/engine-gpgconf.c (arg_to_data): Allow for NULL as value.string.
450
451 2012-05-02  Werner Koch  <wk@gnupg.org>
452
453         Release 1.3.2.
454         * configure.ac: Bump LT version to C19/A8/R1.
455
456         * configure.ac (GITLOG_TO_CHANGELOG): Define.
457         * Makefile.am (gen-ChangeLog): Use it.
458
459         Remove unused pth stuff from gpgme-config.
460         * src/gpgme-config.in: Remove unused pth stuff.
461
462         Update signature summary for the case of missing X.509 keys.
463         * src/verify.c (gpgme_op_verify_result): Update summary field.
464
465 2012-04-30  Werner Koch  <wk@gnupg.org>
466
467         Fix timestamp parsing for y2038 hack.
468         * src/conversion.c (_gpgme_parse_timestamp): Set ENDP before year 2038
469         check.
470
471 2012-04-20  W. Trevor King  <wking@drexel.edu>
472
473         .gitignore: flesh out rules and add subdirectory-.gitignores.
474
475 2012-04-13  W. Trevor King  <wking@drexel.edu>
476
477         status-table.c: include string.h for strcmp.
478         * status-table.c: include string.h to avoid `warning: implicit
479         declaration of function 'strcmp'`.
480
481 2012-04-03  W. Trevor King  <wking@drexel.edu>
482
483         gpgme-tool: add help messages for a number of commands.
484         * src/gpgme-tool.c (hlp_engine, hlp_sub_protocol, hlp_armor, hlp_textmode,
485         hlp_include_certs, hlp_keylist_mode, hlp_input, hlp_output, hlp_message,
486         hlp_recipient, hlp_signer, hlp_signers_clear, hlp_decrypt, hlp_decrypt_verify,
487         hlp_encrypt, hlp_sign_encrypt, hlp_sign, hlp_verify, hlp_import): New strings.
488         (hlp_protocol): Fix typo.
489         (register_commands): Add documentation strings.
490         (doc): Mention Assuan.
491
492         uiserver.texi: fix decryption -> encryption typo in PREP_ENCRYPT discussion.
493         * doc/uiserver.texi (PREP_ENCRYPT): Fix documentation.
494
495         Update Werner Koch's distribution signing key in the README.
496         * README: Update signing key.
497
498 2012-03-12  Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>
499
500         Do not rely on glibc name of syscall.
501         * src/ath.c (ath_self): Use __NR_gettid, not SYS_gettid.
502
503         Update config.guess and config.sub to latest version.
504         * config.guess, config.sub: Update to latest version.
505
506 2012-02-14  Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>
507
508         Rework status table to be less dynamically generated.
509         * src/Makefile.am (EXTRA_DIST): Remove mkstatus.
510         (BUILT_SOURCE, MOSTLYCLEANFILES): Remove.
511         (main_sources): Remove status-table.h, extra-stati.h.
512         Add status-table.c.
513         (status-table.h): Remove rules for built source.
514         * src/decrypt.c: Don't include extra-stati.h.
515         * src/engine-gpg.c: Don't include status-table.h.
516         (status_cmp): Remove function.
517         (read_status): Use _gpgme_parse_status.
518         * src/engine-gpgsm.c: Don't include status-table.h.
519         (status_cmp, parse_status): Remove function.
520         (gpgsm_assuan_simple_command, status_handler): Use _gpgme_parse_status.
521         * src/engine-uiserver.c: Don't include status-table.h.
522         (status_cmp, parse_status): Remove function.
523         (uiserver_assuan_simple_command, status_handler): Use
524         _gpgme_parse_status.
525         * src/gpgme.h.in (gpgme_status_code_t): Add
526         GPGME_STATUS_DECRYPTION_INFO.
527         * src/util.h (_gpgme_status_init,_gpgme_parse_status): New declaration.
528         * src/status-table.c: New file.
529         * src/extra-stati.h, src/mkstatus: Files removed.
530         * version.c (do_subsystem_inits): Call _gpgme_status_init.
531
532 2012-02-08  Marcus Brinkmann  <mb@g10code.com>
533
534         Use gpgme interface for error handling to avoid linking with gpg-error.
535         * tests/t-data.c, tests/run-export.c, tests/run-keylist.c,
536         tests/run-support.h, tests/run-verify.c, tests/gpg/t-decrypt-verify.c,
537         tests/gpg/t-edit.c, tests/gpg/t-eventloop.c, tests/gpg/t-keylist-sig.c,
538         tests/gpg/t-keylist.c, tests/gpg/t-support.h, tests/gpg/t-trustlist.c,
539         tests/gpg/t-verify.c, tests/gpg/t-wait.c, tests/gpgsm/cms-decrypt.c,
540         tests/gpgsm/cms-keylist.c, tests/gpgsm/t-keylist.c,
541         tests/gpgsm/t-support.h, tests/gpgsm/t-verify.c,
542         tests/opassuan/t-command.c: Use gpgme interface for gpg-error functions.
543
544         Link the thread test to pthread.
545         * tests/gpg/Makefile.am (t_thread1_LDADD): Add -lpthread.
546
547         Link gpgme-tool directly to libassuan, as it uses its interface.
548         * src/Makefile.am (gpgme_tool_LDADD): Add @LIBASSUAN_LIBS@.
549
550 2012-01-19  Werner Koch  <wk@gnupg.org>
551
552         Support the mingw-w64 toolchain.
553         * autogen.sh (build-w32): Add i686-w64-mingw32 to the toolprefix.
554
555         Fix Solaris problems with ttyname_r.
556         * m4/gnupg-ttyname.m4: New.  Based on ttyname_r from gnulib.
557         * src/ttyname_r.c (_gpgme_ttyname_r): Rename from ttyname_r.
558         Implement hacks required for Solaris and possible other non-fully
559         Posix systems.
560         * src/util.h: Include unistd.h.  Redefine ttyname_r depending on
561         REPLACE_TTYNAME_R and put it into the gpgme name space.
562
563         Try to make configure.ac a bit smaller.
564         * configure.ac: Move header checks.
565
566         For W32 use a build number instead of abbreviated commit id.
567         We would need to use a shortened commit id so that it fits into an 16
568         bit Windows variable.  Further it is a random number and not something
569         increasing.  Thus a build number made up from the day of the year and
570         the hour is much more useful to describe a build number for a specific
571         revision.
572         * configure.ac [W32]: Replace BUILD_REVISION by BUILD_NUMBER.
573         * src/versioninfo.rc.in: Ditto.
574
575         Adjust configure.ac for modern autoconf.
576         * configure.ac: Minor cleanups.
577
578         Update to libtool 2.4.2.
579         * ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4,
580         * m4/lt~obsolete.m4: Update.
581
582         Add ttyname_r check macro from gnulib.
583         * m4/gnupg-ttyname.m4: New. Taken from current gnulib.
584
585 2011-12-02  Werner Koch  <wk@gnupg.org>
586
587         Generate the ChangeLog from commit logs.
588         * build-aux/gitlog-to-changelog: New script.  Taken from gnulib.
589         * build-aux/git-log-fix: New file.
590         * build-aux/git-log-footer: New file.
591         * build-aux/git-hook/commit-msg: New script.
592         * doc/HACKING: New file.
593         * ChangeLog: New file.
594         * Makefile.am (EXTRA_DIST): Add new files.
595         (gen-ChangeLog): New.
596         (dist-hook): Run gen-ChangeLog.
597         * autogen.sh: Install commit-msg hook for git.
598
599         Rename all ChangeLog files to ChangeLog-2011.
600
601 2011-12-02  Werner Koch  <wk@gnupg.org>
602
603         NB: Changes done before December 1st, 2011 are described in
604         per directory files named ChangeLog-2011.  See doc/HACKING for
605         details.
606
607         -----
608         Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
609                       2010, 2011, 2012, 2013 g10 Code GmbH
610
611         Copying and distribution of this file and/or the original GIT
612         commit log messages, with or without modification, are
613         permitted provided the copyright notice and this notice are
614         preserved.