2013-02-26 Werner Koch Release 1.4.0. * configure.ac: Bump LT version to C20/A9/R0. Enable FD passing and thus building of the UI-server. * configure.ac: Make --enable-fd-passing the default. * src/engine-uiserver.c (_gpgme_engine_ops_uiserver): Syntax fix. w32: Hacks for building with 32 bit mingw64. * configure.ac (INSERT__TYPEDEFS_FOR_GPGME_H): Add hacks for 32 bit mingw64. * src/util.h [W32]: Include winsock2.h before windows to make mingw64 happy. * src/w32-util.c (_WIN32_IE): Need to use 5.1 for mingw64. Improve missing libgpg-error reporting in configure. * configure.ac (NEED_GPG_ERROR_VERSION): New. Improve reporting for missing libgpg-error. Change the various version numbers to the new scheme. * configure.ac: Rename my_foo variables to mym4_foo variables to make clear that they are processed by m4. (VERSION_NUMBER): New ac_subst. (AH_BOTTOM): Add CRIGHTBLURB macro. (BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP): Change them to work similar to libgpg-error et al. * src/versioninfo.rc.in: Remove use of BUILD_NUMBER and get it in line with gpg-error et al. * src/version.c (cright_blurb): New. (gpgme_check_version_internal): Add magic to display the above information. * tests/t-version.c (main): Add option --verbose. Update GnuPG related m4 files. * m4/gpg-error.m4: Update from libgpg-error. * m4/libassuan.m4: Update from libassuan. Update helper scripts. * configure.ac: Use AC_CONFIG_AUX_DIR. Remove args from AM_INIT_AUTOMAKE. Replace AM_CONFIG_HEADER by AC_CONFIG_HEADER. * compile, config.guess, config.sub, depcomp, install-sh, ltmain.sh * mkinstalldirs, texinfo.texi: Move to build-aux/ and update from gnulib (c042abf). * build-aux/mdate-sh, build-aux/missing: Install via automake -a -c. Update autogen.sh for changed config dir. * autogen.sh: Adjust for scripts dir change. Update W32 toolprefix list. 2013-02-25 Werner Koch Remove included gitlog-to-changelog. * build-aux/gitlog-to-changelog: Remove. * configure.ac (GITLOG_TO_CHANGELOG): Default to just gitlog-to-changelog. 2013-02-12 Werner Koch Add macro GPGME_VERSION_NUMBER. * src/gpgme.h.in (GPGME_VERSION_NUMBER): New. * configure.ac (my_version_major, my_version_minor) (my_version_micro): New m4 macros. (my_version): Build from new m4 macros. (VERSION_NUMBER): New ac_subst. Add public function gpgme_get_pinentry_mode. * src/gpgme.c (gpgme_get_pinentry_mode): New. 2013-02-07 Werner Koch gpgme_tool: Support GPG's new pinentry-mode. * src/gpgme-tool.c (log_error): Do not always print the error source. (gt_set_pinentry_mode): New. (server_passphrase_cb): New. (cmd_pinentry_mode): New. (register_commands): Add cmd_pinentry_mode. (options): Add option --gpg-binary. (struct args): Add field gpg-binary. (parse_options, main): Implement that option. Add public function gpgme_set_pinentry_mode. * src/gpgme.c (gpgme_set_pinentry_mode): New. * src/gpgme.h.in (gpgme_pinentry_t): New. (gpgme_set_pinentry_mode): New. * src/context.h (struct gpgme_context): Add field pinentry_mode. * src/engine-backend.h (struct engine_ops): Add field set_pinentry_mode. * src/engine-gpg.c (struct engine_gpg): Add field pinentry_mode. (build_argv): Implement pinentry_mode. (gpg_set_pinentry_mode): New. (_gpgme_engine_ops_gpg): Register gpg_set_pinentry_mode. Add public function gpgme_io_writen. * src/gpgme.c (gpgme_io_read): New. 2012-11-16 Werner Koch Improve parsing of the GIT revision number. * configure.ac (git_revision): Use git rev-parse. Fix non-portable use of chmod in autogen.sh. * autogen.sh: Remove option -c from chmod. 2012-11-15 Werner Koch Make _gpgme_encode_percent_string work for memory buffers. * src/conversion.c (D_gpgme_encode_percent_string): Remove stray semicolon. Reported by Xi Wang. 2012-10-24 Werner Koch Make local variables configure hack more robust. * configure.ac (emacs_local_vars_begin): Use extra m4 quoting so that newer Emscasen won't take it up as Local Variables for this file. Fix ttyname problem on Android. * configure.ac: Define macro and conditional HAVE_ANDROID_SYSTEM. * m4/gnupg-ttyname.m4: Force use of replacement on Android. * src/ttyname_r.c: Ditto. tests: Adhere to the docs and call gpgme_check_version. * tests/t-engine-info.c: Call gpgme_check_version. 2012-10-19 Werner Koch Trace the use of GPG_ERR_INV_ENGINE. * src/debug.h: Include "gpgme.h" (_gpgme_trace_gpgme_error): New. (trace_gpg_error): New macro. Use it in all files where we return GPG_ERR_INV_ENGINE; also "include debug.h" as needed. Avoid warning about initialized but not used variable. * src/engine-gpgsm.c (gpgsm_set_fd): Do not set DIR if not needed. 2012-10-11 Werner Koch gpgme-tool: Use membuf functions to build up strings. * src/gpgme-tool.c (clear_membuf, init_membuf, put_membuf) (put_membuf_str, get_membuf, peek_membuf): Add membuf functions. Take from GnuPG master's common/membuf.[ch] and patch for our use. (result_xml_escape): Rewrite using new functions. gpgme-tool: Change license from LPGLv2+ to GPLv3+ * src/gpgme-tool.c: Change license notice. 2012-10-11 W. Trevor King gpgme-tool: escape special characters in output XML data (<, >, and &). src/gpgme-tool.c (result_xml_escape_replacement, result_xml_escape): New. (result_xml_tag_data): Use result_xml_escape() to escape data. (result_add_error): Use unescaped < and >. gpgme-tool: Fix chain_id -> chain-id in KEYLIST XML. src/gpgme-tool.c (cmd_keylist): Use instead of . 2012-09-28 W. Trevor King gpgme-tool: Return more detailed XML from KEYLIST. src/gpgme-tool.c (cmd_keylist): Convert output from a list of to more detailed XML. (xml_preamble1, xml_preamble2, xml_end): Make global. (result_add_protocol, result_add_validity): New functions for generating XML from GPGME types. (result_add_string): Treat NULL strings as "". (result_xml_tag_data): Make 'data' a 'const char' so we can use the value returned by gpgme_get_protocol_name directly. gpgme-tool: Initialize input_fd and output_fd. * src/gpgme-tool.c (gpgme_server): Initialize input_fd and output_fd. 2012-09-26 Werner Koch gpgme-tool: Fix handling of file descriptors. * src/gpgme-tool.c (server_reset_fds): Use close/CloseHandle instead of the assuan close functions. (_cmd_decrypt_verify, _cmd_sign_encrypt, cmd_verify, cmd_import) (cmd_export, cmd_genkey, cmd_getauditlog): Use SERVER object instead of assuan_get_*_fd functions. 2012-09-25 Werner Koch Document contribution rules. * doc/HACKING (License policy): New. * doc/DCO: New. * AUTHORS: Change maintainer address. Add gpgme_set_global_flag to help debugging. * src/gpgme.c (gpgme_set_global_flag): New. * src/gpgme.h.in (gpgme_set_global_flag): New. * src/gpgme.def, src/libgpgme.vers: Add new public function. * src/debug.c (envvar_override): New.: (_gpgme_debug_set_debug_envvar): New. (debug_init): Take ENVVAR_OVERRIDE in account. 2012-07-28 Marcus Brinkmann Add two recent contributors. Fix sign error in position calculation for mem_seek. * data-mem.c (mem_seek): Fix sign error in position calculation. Allow null context on gpgme_set_locale. * gpgme.c (gpgme_set_locale): Allow CTX to be a null pointer. 2012-07-13 Werner Koch Do not include the removed file status-table.h. * src/engine-uiserver.c: Remove status-table.h which is not anymore built. Fixes bug#1412. Make handling of new conf values more robust (bug#1413). * src/engine-gpgconf.c (arg_to_data): Allow for NULL as value.string. 2012-05-02 Werner Koch Release 1.3.2. * configure.ac: Bump LT version to C19/A8/R1. * configure.ac (GITLOG_TO_CHANGELOG): Define. * Makefile.am (gen-ChangeLog): Use it. Remove unused pth stuff from gpgme-config. * src/gpgme-config.in: Remove unused pth stuff. Update signature summary for the case of missing X.509 keys. * src/verify.c (gpgme_op_verify_result): Update summary field. 2012-04-30 Werner Koch Fix timestamp parsing for y2038 hack. * src/conversion.c (_gpgme_parse_timestamp): Set ENDP before year 2038 check. 2012-04-20 W. Trevor King .gitignore: flesh out rules and add subdirectory-.gitignores. 2012-04-13 W. Trevor King status-table.c: include string.h for strcmp. * status-table.c: include string.h to avoid `warning: implicit declaration of function 'strcmp'`. 2012-04-03 W. Trevor King gpgme-tool: add help messages for a number of commands. * src/gpgme-tool.c (hlp_engine, hlp_sub_protocol, hlp_armor, hlp_textmode, hlp_include_certs, hlp_keylist_mode, hlp_input, hlp_output, hlp_message, hlp_recipient, hlp_signer, hlp_signers_clear, hlp_decrypt, hlp_decrypt_verify, hlp_encrypt, hlp_sign_encrypt, hlp_sign, hlp_verify, hlp_import): New strings. (hlp_protocol): Fix typo. (register_commands): Add documentation strings. (doc): Mention Assuan. uiserver.texi: fix decryption -> encryption typo in PREP_ENCRYPT discussion. * doc/uiserver.texi (PREP_ENCRYPT): Fix documentation. Update Werner Koch's distribution signing key in the README. * README: Update signing key. 2012-03-12 Marcus Brinkmann Do not rely on glibc name of syscall. * src/ath.c (ath_self): Use __NR_gettid, not SYS_gettid. Update config.guess and config.sub to latest version. * config.guess, config.sub: Update to latest version. 2012-02-14 Marcus Brinkmann Rework status table to be less dynamically generated. * src/Makefile.am (EXTRA_DIST): Remove mkstatus. (BUILT_SOURCE, MOSTLYCLEANFILES): Remove. (main_sources): Remove status-table.h, extra-stati.h. Add status-table.c. (status-table.h): Remove rules for built source. * src/decrypt.c: Don't include extra-stati.h. * src/engine-gpg.c: Don't include status-table.h. (status_cmp): Remove function. (read_status): Use _gpgme_parse_status. * src/engine-gpgsm.c: Don't include status-table.h. (status_cmp, parse_status): Remove function. (gpgsm_assuan_simple_command, status_handler): Use _gpgme_parse_status. * src/engine-uiserver.c: Don't include status-table.h. (status_cmp, parse_status): Remove function. (uiserver_assuan_simple_command, status_handler): Use _gpgme_parse_status. * src/gpgme.h.in (gpgme_status_code_t): Add GPGME_STATUS_DECRYPTION_INFO. * src/util.h (_gpgme_status_init,_gpgme_parse_status): New declaration. * src/status-table.c: New file. * src/extra-stati.h, src/mkstatus: Files removed. * version.c (do_subsystem_inits): Call _gpgme_status_init. 2012-02-08 Marcus Brinkmann Use gpgme interface for error handling to avoid linking with gpg-error. * tests/t-data.c, tests/run-export.c, tests/run-keylist.c, tests/run-support.h, tests/run-verify.c, tests/gpg/t-decrypt-verify.c, tests/gpg/t-edit.c, tests/gpg/t-eventloop.c, tests/gpg/t-keylist-sig.c, tests/gpg/t-keylist.c, tests/gpg/t-support.h, tests/gpg/t-trustlist.c, tests/gpg/t-verify.c, tests/gpg/t-wait.c, tests/gpgsm/cms-decrypt.c, tests/gpgsm/cms-keylist.c, tests/gpgsm/t-keylist.c, tests/gpgsm/t-support.h, tests/gpgsm/t-verify.c, tests/opassuan/t-command.c: Use gpgme interface for gpg-error functions. Link the thread test to pthread. * tests/gpg/Makefile.am (t_thread1_LDADD): Add -lpthread. Link gpgme-tool directly to libassuan, as it uses its interface. * src/Makefile.am (gpgme_tool_LDADD): Add @LIBASSUAN_LIBS@. 2012-01-19 Werner Koch Support the mingw-w64 toolchain. * autogen.sh (build-w32): Add i686-w64-mingw32 to the toolprefix. Fix Solaris problems with ttyname_r. * m4/gnupg-ttyname.m4: New. Based on ttyname_r from gnulib. * src/ttyname_r.c (_gpgme_ttyname_r): Rename from ttyname_r. Implement hacks required for Solaris and possible other non-fully Posix systems. * src/util.h: Include unistd.h. Redefine ttyname_r depending on REPLACE_TTYNAME_R and put it into the gpgme name space. Try to make configure.ac a bit smaller. * configure.ac: Move header checks. For W32 use a build number instead of abbreviated commit id. We would need to use a shortened commit id so that it fits into an 16 bit Windows variable. Further it is a random number and not something increasing. Thus a build number made up from the day of the year and the hour is much more useful to describe a build number for a specific revision. * configure.ac [W32]: Replace BUILD_REVISION by BUILD_NUMBER. * src/versioninfo.rc.in: Ditto. Adjust configure.ac for modern autoconf. * configure.ac: Minor cleanups. Update to libtool 2.4.2. * ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4, * m4/lt~obsolete.m4: Update. Add ttyname_r check macro from gnulib. * m4/gnupg-ttyname.m4: New. Taken from current gnulib. 2011-12-02 Werner Koch Generate the ChangeLog from commit logs. * build-aux/gitlog-to-changelog: New script. Taken from gnulib. * build-aux/git-log-fix: New file. * build-aux/git-log-footer: New file. * build-aux/git-hook/commit-msg: New script. * doc/HACKING: New file. * ChangeLog: New file. * Makefile.am (EXTRA_DIST): Add new files. (gen-ChangeLog): New. (dist-hook): Run gen-ChangeLog. * autogen.sh: Install commit-msg hook for git. Rename all ChangeLog files to ChangeLog-2011. 2011-12-02 Werner Koch NB: Changes done before December 1st, 2011 are described in per directory files named ChangeLog-2011. See doc/HACKING for details. ----- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 g10 Code GmbH Copying and distribution of this file and/or the original GIT commit log messages, with or without modification, are permitted provided the copyright notice and this notice are preserved.