1 2014-07-30 Werner Koch <wk@gnupg.org>
4 * configure.ac: Change LT version to C22/A11/R1.
6 Fix possible realloc overflow for gpgsm and uiserver engines.
7 * src/engine-gpgsm.c (status_handler):
8 * src/engine-uiserver.c (status_handler):
10 w32: Fix another memleak on error.
11 * src/w32-io.c (create_reader): free CTX.
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
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.
23 Avoid pointer arithmetic on void pointer.
24 * src/gpgme.c (gpgme_io_writen): Use new var buffer.
26 Change implementation return type to match the definition.
27 * src/gpgme.c (gpgme_get_sub_protocol): Change return type to
30 Fix type inconsistency between gpgme.h and gpgme.c.
31 * src/gpgme.c (gpgme_set_pinentry_mode): Fix type of MODE.
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.
37 2013-08-12 Werner Koch <wk@gnupg.org>
40 * configure.ac: Change LT version to C22/A11/R0.
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
49 (TESTS_ENVIRONMENT): Add C_ALL=C
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.
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.
64 2013-08-09 Werner Koch <wk@gnupg.org>
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.
76 (hlp_passwd): Move close to cmd_passwd.
78 2013-08-02 Werner Koch <wk@gnupg.org>
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
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.
106 w32: Try to locate gpg in the gpgme installation dir.
107 * src/w32-util.c (my_hmodule): New.
108 (wchar_to_utf8): 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.
118 2013-07-31 Werner Koch <wk@gnupg.org>
120 doc: Add --binary option for the OUTPUT command of an uiserver.
122 2013-06-18 Werner Koch <wk@gnupg.org>
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.
129 2013-05-28 Werner Koch <wk@gnupg.org>
132 * configure.ac: Set LT version to C21/A10/R0.
134 Add convenience macro GPGME_PROTOCOL_OPENPGP.
135 * src/gpgme.h.in (GPGME_PROTOCOL_OPENPGP): New.
137 2013-05-23 Werner Koch <wk@gnupg.org>
139 w32: Fix installing of .def file.
140 * src/Makefile.am (install-def-file): Create libdir first.
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.
147 2013-05-22 Werner Koch <wk@gnupg.org>
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.
153 2013-05-22 Werner Koch <wk@gnupg.org>
154 Kyle L. Huff <g10bts@curetheitch.com>
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.
162 2013-05-22 Werner Koch <wk@gnupg.org>
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.
168 tests: Print auditlog in plain text format.
169 * tests/gpgsm/t-verify.c (show_auditlog): Use plain text format.
171 2013-05-18 Werner Koch <wk@gnupg.org>
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.
177 2013-05-16 Werner Koch <wk@gnupg.org>
179 Make definition of off_t robust against misbehaving w32 toolchains.
180 * configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_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.
191 2013-05-11 Werner Koch <wk@gnupg.org>
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.
202 2013-05-08 Werner Koch <wk@gnupg.org>
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.
208 Improve debug output of the I/O reader and writer.
209 * src/w32-io.c (reader, writer): Also print file_sock.
211 2013-05-06 Werner Koch <wk@gnupg.org>
213 Simplify a debug code function.
214 * src/debug.c (_gpgme_debug): Remove static space string.
216 2013-05-01 Werner Koch <wk@gnupg.org>
219 * configure.ac: Bump LT version to C20/A9/R1.
221 Disable fd-passing for Apple.
222 * configure.ac: Disable fd-passing by default for Apple.
224 2013-04-30 Werner Koch <wk@gnupg.org>
226 Allow reading of long gpgconf output lines.
227 * src/engine-gpgconf.c (gpgconf_read): Rewrite to allow for line
230 2013-04-29 Werner Koch <wk@gnupg.org>
232 Fix for i686-w64-mingw32.
233 * configure.ac (NEED__FILE_OFFSET_BITS): Do not define under Windows.
235 2013-02-26 Werner Koch <wk@gnupg.org>
238 * configure.ac: Bump LT version to C20/A9/R0.
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.
244 w32: Hacks for building with 32 bit mingw64.
245 * configure.ac (INSERT__TYPEDEFS_FOR_GPGME_H): Add hacks for 32 bit
247 * src/util.h [W32]: Include winsock2.h before windows to make mingw64
249 * src/w32-util.c (_WIN32_IE): Need to use 5.1 for mingw64.
251 Improve missing libgpg-error reporting in configure.
252 * configure.ac (NEED_GPG_ERROR_VERSION): New. Improve reporting for
253 missing libgpg-error.
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
267 * tests/t-version.c (main): Add option --verbose.
269 Update GnuPG related m4 files.
270 * m4/gpg-error.m4: Update from libgpg-error.
271 * m4/libassuan.m4: Update from libassuan.
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
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
284 2013-02-25 Werner Koch <wk@gnupg.org>
286 Remove included gitlog-to-changelog.
287 * build-aux/gitlog-to-changelog: Remove.
288 * configure.ac (GITLOG_TO_CHANGELOG): Default to just
291 2013-02-12 Werner Koch <wk@gnupg.org>
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.
300 Add public function gpgme_get_pinentry_mode.
301 * src/gpgme.c (gpgme_get_pinentry_mode): New.
303 2013-02-07 Werner Koch <wk@gnupg.org>
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.
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
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.
327 Add public function gpgme_io_writen.
328 * src/gpgme.c (gpgme_io_read): New.
330 2012-11-16 Werner Koch <wk@gnupg.org>
332 Improve parsing of the GIT revision number.
333 * configure.ac (git_revision): Use git rev-parse.
335 Fix non-portable use of chmod in autogen.sh.
336 * autogen.sh: Remove option -c from chmod.
338 2012-11-15 Werner Koch <wk@gnupg.org>
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.
344 2012-10-24 Werner Koch <wk@gnupg.org>
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.
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.
355 tests: Adhere to the docs and call gpgme_check_version.
356 * tests/t-engine-info.c: Call gpgme_check_version.
358 2012-10-19 Werner Koch <wk@gnupg.org>
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.
366 Avoid warning about initialized but not used variable.
367 * src/engine-gpgsm.c (gpgsm_set_fd): Do not set DIR if not needed.
369 2012-10-11 Werner Koch <wk@gnupg.org>
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.
377 gpgme-tool: Change license from LPGLv2+ to GPLv3+
378 * src/gpgme-tool.c: Change license notice.
380 2012-10-11 W. Trevor King <wking@tremily.us>
382 gpgme-tool: escape special characters in output XML data (<, >, and &).
384 src/gpgme-tool.c (result_xml_escape_replacement, result_xml_escape):
386 (result_xml_tag_data): Use result_xml_escape() to escape data.
387 (result_add_error): Use unescaped < and >.
389 gpgme-tool: Fix chain_id -> chain-id in KEYLIST XML.
391 src/gpgme-tool.c (cmd_keylist): Use <chain-id> instead of <chain_id>.
393 2012-09-28 W. Trevor King <wking@tremily.us>
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.
405 gpgme-tool: Initialize input_fd and output_fd.
406 * src/gpgme-tool.c (gpgme_server): Initialize input_fd and output_fd.
408 2012-09-26 Werner Koch <wk@gnupg.org>
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.
417 2012-09-25 Werner Koch <wk@gnupg.org>
419 Document contribution rules.
420 * doc/HACKING (License policy): New.
422 * AUTHORS: Change maintainer address.
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.
432 2012-07-28 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
434 Add two recent contributors.
436 Fix sign error in position calculation for mem_seek.
437 * data-mem.c (mem_seek): Fix sign error in position calculation.
439 Allow null context on gpgme_set_locale.
440 * gpgme.c (gpgme_set_locale): Allow CTX to be a null pointer.
442 2012-07-13 Werner Koch <wk@gnupg.org>
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.
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.
451 2012-05-02 Werner Koch <wk@gnupg.org>
454 * configure.ac: Bump LT version to C19/A8/R1.
456 * configure.ac (GITLOG_TO_CHANGELOG): Define.
457 * Makefile.am (gen-ChangeLog): Use it.
459 Remove unused pth stuff from gpgme-config.
460 * src/gpgme-config.in: Remove unused pth stuff.
462 Update signature summary for the case of missing X.509 keys.
463 * src/verify.c (gpgme_op_verify_result): Update summary field.
465 2012-04-30 Werner Koch <wk@gnupg.org>
467 Fix timestamp parsing for y2038 hack.
468 * src/conversion.c (_gpgme_parse_timestamp): Set ENDP before year 2038
471 2012-04-20 W. Trevor King <wking@drexel.edu>
473 .gitignore: flesh out rules and add subdirectory-.gitignores.
475 2012-04-13 W. Trevor King <wking@drexel.edu>
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'`.
481 2012-04-03 W. Trevor King <wking@drexel.edu>
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.
492 uiserver.texi: fix decryption -> encryption typo in PREP_ENCRYPT discussion.
493 * doc/uiserver.texi (PREP_ENCRYPT): Fix documentation.
495 Update Werner Koch's distribution signing key in the README.
496 * README: Update signing key.
498 2012-03-12 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
500 Do not rely on glibc name of syscall.
501 * src/ath.c (ath_self): Use __NR_gettid, not SYS_gettid.
503 Update config.guess and config.sub to latest version.
504 * config.guess, config.sub: Update to latest version.
506 2012-02-14 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
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.
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
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.
532 2012-02-08 Marcus Brinkmann <mb@g10code.com>
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.
544 Link the thread test to pthread.
545 * tests/gpg/Makefile.am (t_thread1_LDADD): Add -lpthread.
547 Link gpgme-tool directly to libassuan, as it uses its interface.
548 * src/Makefile.am (gpgme_tool_LDADD): Add @LIBASSUAN_LIBS@.
550 2012-01-19 Werner Koch <wk@gnupg.org>
552 Support the mingw-w64 toolchain.
553 * autogen.sh (build-w32): Add i686-w64-mingw32 to the toolprefix.
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
560 * src/util.h: Include unistd.h. Redefine ttyname_r depending on
561 REPLACE_TTYNAME_R and put it into the gpgme name space.
563 Try to make configure.ac a bit smaller.
564 * configure.ac: Move header checks.
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
572 * configure.ac [W32]: Replace BUILD_REVISION by BUILD_NUMBER.
573 * src/versioninfo.rc.in: Ditto.
575 Adjust configure.ac for modern autoconf.
576 * configure.ac: Minor cleanups.
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.
582 Add ttyname_r check macro from gnulib.
583 * m4/gnupg-ttyname.m4: New. Taken from current gnulib.
585 2011-12-02 Werner Koch <wk@gnupg.org>
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.
599 Rename all ChangeLog files to ChangeLog-2011.
601 2011-12-02 Werner Koch <wk@gnupg.org>
603 NB: Changes done before December 1st, 2011 are described in
604 per directory files named ChangeLog-2011. See doc/HACKING for
608 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
609 2010, 2011, 2012, 2013 g10 Code GmbH
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