Expand a ~ in the ca-cert-file argument.
[gnupg.git] / jnlib / ChangeLog
index 5ca33d5..87c5bda 100644 (file)
@@ -1,3 +1,459 @@
+2009-08-26  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (do_make_filename): Factor some code out to ..
+       (get_pwdir): .. new.
+
+2009-08-26  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c [HAVE_PWD_H]: Include pwd.h.
+       (do_make_filename): New.
+       (make_filename, make_filename_try): Implement using the new
+       function.
+       * t-stringhelp.c (test_make_filename_try): New.
+       * t-support.c (gcry_strdup): Fix.
+
+       * stringhelp.h (make_filename, make_filename_try): Add sentinel
+       attribute.
+
+2009-08-25  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c: Include errno.h.
+       (do_strconcat): New.
+       (strconcat, xstrconcat): New.
+       * types.h (GNUPG_GCC_A_SENTINEL): New.
+       * t-stringhelp.c (test_strconcat, test_xstrconcat): New.
+       (main): Run them.
+
+2009-07-07  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (make_filename_try): Use jnlib_malloc.
+
+       * dotlock.c (read_lockfile): Replace jnlib_xmalloc by jnlib_malloc.
+
+2009-06-04  Werner Koch  <wk@g10code.com>
+
+       * mischelp.h: Include SUN_LEN etc also for W32.
+
+2009-05-19  Werner Koch  <wk@g10code.com>
+
+       * mischelp.h: Define PF_LOCAL, AF_LOCAL and SUN_LEN if requested.
+       * logging.c (fun_writer): Use SUN_LEN to fix a Mac OS X freeze.
+
+2009-03-25  Werner Koch  <wk@g10code.com>
+
+       * logging.c (fun_closer): Never close fd 2.
+       (set_file_fd): Close logstream early.
+
+2009-02-25  Werner Koch  <wk@g10code.com>
+
+       * logging.c (get_tid_callback): New.
+       (do_logv): Use it.
+       (log_set_get_tid_callback): New.
+
+2009-01-22  Werner Koch  <wk@g10code.com>
+
+       * t-support.c (gpg_err_code_from_errno) 
+       (gpg_err_code_from_syserror): New.
+
+2008-11-20  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (arg_parse): Fix last change.
+
+2008-11-11  Werner Koch  <wk@g10code.com>
+
+       * argparse.h: Add a bunch of macros and constants.
+       * argparse.c: Use the new macros.  Re-indent the code.  Change
+       license back to LGPL 2.1.
+
+2008-11-04  Werner Koch  <wk@g10code.com>
+
+       * w32-gettext.c: Merged with code from libgpg-error and rewrote
+       most parts.
+
+       * Makefile.am (AM_CFLAGS): Add -DJNLIB_IN_JNLIB.
+
+2008-10-29  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (make_filename): Implement using macros. Factor some
+       code out to ..
+       (change_slashes): New.
+       (make_filename_try): New.
+
+       * w32-gettext.c (gettext): Return if no domain is loaded.
+       Reported by Tom Pegios.
+
+2008-10-28  Werner Koch  <wk@g10code.com>
+
+       * w32-gettext.c (gettext): Try the binary search if the string was
+       not found in the hash table.
+
+2008-10-20  Werner Koch  <wk@g10code.com>
+
+       * w32-afunix.c (_w32_sock_connect): Mark ADDRLEN as unused.
+
+       * dotlock.c (release_dotlock): Do not mix declaration and code.
+
+       * stringhelp.c (make_basename): Silent gcc warning about unused arg.
+       * argparse.c (store_alias): Ditto.
+       (find_long_option): 
+
+2008-10-15  Werner Koch  <wk@g10code.com>
+
+       * logging.c (do_logv) [W32]: Flush the log stream.
+
+2008-09-29  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (ARGERR_): Use constants for error values.
+       (optfile_parse): Prettify.  Replace xmalloc and xrealloc by malloc
+       and realloc.
+       * libjnlib-config.h (jnlib_strdup, jnlib_realloc): New.
+
+2008-06-26  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (print_sanitized_buffer2): Loose check for control
+       characters to better cope with utf-8.  The range 0x80..0x9f is
+       nowadays not anymore accidently used for control charaters.
+
+2008-06-13  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c: Reformat code and implement locking for W32.
+       (create_dotlock): Use snprintf.
+
+2008-06-11  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c: Remove useless variable ACTIVE_CHARSET.  Suggested
+       by Petr Uzel.
+
+2008-05-26  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (usage): Make sure to print a trailing LF for usage(1).
+
+2008-04-08  Werner Koch  <wk@g10code.com>
+
+       * w32-gettext.c (gettext_select_utf8): New.
+       (get_string): Support switching encodings.
+       (load_domain): Allocate space for DATA_NATIVE.
+
+2008-03-25  Werner Koch  <wk@g10code.com>
+
+       * w32-gettext.c (_nl_locale_name): New.  Taken from
+       ../common/localename and GNU gettext's localename.c.
+       (set_gettext_file): Rewritten.
+       (gettext_localename): New.
+
+2008-03-17  Werner Koch  <wk@g10code.com>
+
+       * logging.c (my_funopen_hook_size_t): New.
+       (fun_writer): Use it to cope with fopencookie/funopen differences.
+       * dotlock.c (read_lockfile): Initialize PID.  Reported by St├ęphane
+       Corth├ęsy.
+
+2008-02-22  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (strusage): Set copyright year to 2008.
+
+2007-11-19  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (percent_escape): Factor code out to
+       (do_percent_escape): .. new.
+       (try_percent_escape): New.
+
+2007-10-01  Werner Koch  <wk@g10code.com>
+
+       * w32-afunix.c: Only keep the client related code.
+       (read_port_and_nonce): New.  Taken from Assuan.
+       (_w32_sock_connect): Rewritten.
+
+2007-08-29  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (initialize): Make strings translatable and remove
+       extra LF.
+
+2007-08-24  Werner Koch  <wk@g10code.com>
+
+       * mischelp.c (same_file_p): New.
+       (libjnlib_dummy_mischelp_func): Remove as we now always have one
+       function.
+
+2007-08-09  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (show_help): Expand the @EMAIL@ macro in the package
+       bug reporting address.
+
+2007-08-02  Werner Koch  <wk@g10code.com>
+
+       * t-stringhelp.c (test_compare_filenames): New.
+
+       * stringhelp.c (compare_filenames) [HAVE_DRIVE_LETTERS]: Fixed
+       comparison to take slash and backslash in account.
+       (make_filename): Avoid mixing / and \.
+
+2007-07-04  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c (load_libiconv): Remove URL from translatble string.
+
+       Switched JNLIB from LGPLv2.1 to LGPLv3.
+
+2007-07-01  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (strusage): Use id 10 for the license string;
+       default to GPL3+.  Change long note to version 3 or later.
+       (show_version): Print the license info.
+
+2007-06-19  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am: Add support for regression tests.
+       * t-support.h, t-support.c: New.
+       * t-stringhelp.c: New.
+
+       * stringhelp.c (percent_escape): Add arg EXTRA to make it a more
+       general function.  Changed all callers.
+
+2007-06-18  Werner Koch  <wk@g10code.com>
+
+       * w32-afunix.c (_w32_sock_bind): Changed to properly detect an
+       already used socket.
+
+2007-06-18  Marcus Brinkmann  <marcus@g10code.de>
+
+       * stringhelp.h (percent_escape): New prototype.
+       * stringhelp.c (percent_escape): New function.
+
+2007-06-11  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c (jnlib_iconv_open, jnlib_iconv, jnlib_iconv_close): New.
+
+2007-06-06  Werner Koch  <wk@g10code.com>
+
+       * w32help.h: New.
+       * w32-gettext.c: New.  Taken from gnupg 1.4, added ngettext,
+       changed to use jnlib malloc functions and put under the LGPL.
+       * w32-reg.c: New.  Taken from../common/w32reg.c and changed to
+       LGPL.  Changed API to use the jnlib malloc functions.
+       * Makefile.am (libjnlib_a_SOURCES) [!W32]: Do not build the w32
+       specific modules.
+
+       * dotlock.c: Include stringhelp.h for stpcpy prototype.
+
+2007-06-04  Werner Koch  <wk@g10code.com>
+
+       * dynload.h: New.  Taken from ../common and changed to LGPL.
+
+       * utf8conv.c (load_libiconv): New.  Taken from GnuPG 1.4
+
+2007-05-30  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.h, w32-pth.c: Remove.
+
+2007-04-25  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (long_opt_strlen): Fixed for utf-8.
+
+2007-03-07  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (strusage): Set copyright year to 2007.
+
+2007-01-25  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (utf8_charcount): New.
+
+2006-11-29  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c (set_native_charset) [HAVE_W32_SYSTEM]: Fixed typo in
+       macro name.
+
+2006-11-15  Werner Koch  <wk@g10code.com>
+
+       * logging.c (my_funopen_hook_ret_t): New.
+       (fun_writer): Use it.
+
+2006-10-19  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (memrchr) [!HAVE_MEMRCHR]: Provide a replacement.
+
+2006-09-27  Werner Koch  <wk@g10code.com>
+
+       * mischelp.c: New.
+       (timegm): Copied from gnupg 1.4, changed from GPL to LGPL.  Fixed
+       a memory leak.
+
+       * stringhelp.h (isascii): New.
+
+       * stringhelp.c (strsep): New. Copied from gnupg 1.4.5
+       util/strgutil.c.
+
+       * strlist.h (STRLIST): Removed deprecated typedef. 
+
+       * types.h: Made cpp commands work with old compilers.  Also shows
+       up nicer with Emacs' font locking.
+
+       * w32-afunix.c (_w32_sock_connect): Set ERRNO for an invalid port.
+
+        Changed license from GPL to LGPL.  Note that all code has either
+       been written by me, David, employees of g10 Code or taken from
+       glibc.
+       
+       * libjnlib-config.h, stringhelp.c, stringhelp.h:
+       * strlist.c, strlist.h, utf8conv.c, utf8conv.h:
+       * argparse.c, argparse.h, logging.c, logging.h:
+       * dotlock.c, dotlock.h, types.h, mischelp.h:
+        * xmalloc.c, xmalloc.h, w32-pth.c, w32-pth.h:
+       * w32-afunix.c, w32-afunix.h: Tagged them to be long to jnlib
+       which is a part of GnuPG but also used by other projetcs. 
+
+2006-09-22  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c: Reworked to match the gnupg 1.4.5 code.  This now
+       requires iconv support but this is reasonable for all modern
+       systems.
+
+2006-08-29  Werner Koch  <wk@g10code.com>
+
+       * logging.c (do_logv): Emit a missing LF for fatal errors.
+
+2006-06-28  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c (make_dotlock, release_dotlock, read_lockfile)
+       (maybe_deadlock, destroy_dotlock, create_dotlock): Re-indented.
+       (create_dotlock): Repalces some log_fatal by log_error as it was
+       not intended that they should terminate.  Write the nodename to
+       the locking file. Code cleanups.
+       (read_lockfile): Reworked to read the node name.
+       (make_dotlock): Test for identical node name and delete lock stale
+       file.
+       (release_dotlock): Likewise.
+
+2006-05-23  Werner Koch  <wk@g10code.com>
+
+       * libjnlib-config.h (JNLIB_NEED_UTF8CONV): Fixed typo in name.
+
+       * dotlock.c (release_dotlock): Don't act if we don't have any
+       locks at all.
+       (destroy_dotlock): New.  From 1.4.3.
+       (dotlock_remove_lockfiles): Make use of destroy function.
+
+2006-05-19  Werner Koch  <wk@g10code.com>
+
+       * strlist.c (append_to_strlist2): Enabled.
+
+       * stringhelp.c (print_sanitized_buffer2): New.  Changed the rules
+       to match the behaviour of print_string2 from gnupg 1.4.3.
+       (print_sanitized_buffer): Use the new function.
+       (print_sanitized_string2): New.
+       (hextobyte): New.  Taken from gpg 1.4.3.
+
+2006-04-28  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (print_sanitized_buffer): Fix bug where the count
+       got wrong for the \xNN representation.
+       (sanitize_buffer): Fix bug where some control characters lose part
+       of their \xNN representation.
+
+2006-04-20  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (make_basename): New arg INPUTPATH for future
+       riscos compatibility.
+
+2006-04-18  Werner Koch  <wk@g10code.com>
+
+       * libjnlib-config.h (JNLIB_NEED_UTF8CONF): Defined.
+       * strlist.c (add_to_strlist2) [JNLIB_NEED_UTF8CONV]: Enabled.
+
+2005-06-15  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (sanitize_buffer): Make P a void*.
+       (ascii_memistr, memistr): Ditto.
+       (ascii_memcasecmp): Ditto.
+       * logging.c (writen): Use void * for arg BUFFER.
+       * stringhelp.c (memistr): Fixed unsigned/signed pointer conflict.
+       (ascii_memistr): Ditto.
+       (ascii_memcasemem): Ditto.
+       * utf8conv.c (utf8_to_native): Ditto.
+       (utf8_to_native): Ditto.
+       * argparse.c (show_version): Removed non-required cast.
+
+2005-01-19  Werner Koch  <wk@g10code.com>
+
+       * logging.c (fun_writer): Don't fallback to stderr. Print to
+       stderr only if connected to a tty.
+
+2004-12-20  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.c (do_pth_event_free): The events are hold in a ring
+       buffer.  Adjust for that.
+       (do_pth_event_body): Ditto.
+       (pth_event_isolate): Ditto.
+       (do_pth_wait): Ditto.
+       (_pth_event_count): Renamed to ..
+       (event_count): .. and adjusted as above.
+       (pth_init): Define 3 debug levels and change all debug calls to
+       make use of them.  This makes the moule now silent.
+
+2004-12-19  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.c (pth_init): Enable debugging depending on env var.
+       (pth_self): New.
+       (pth_mutex_release, pth_mutex_acquire): Implemented directly using
+       the W32 API.
+
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.c (pth_init): Reverse return values.  Use TRUE and FALSE
+       constants.
+       (pth_kill, pth_mutex_acquire, pth_attr_set, pth_join, pth_cancel):
+       Ditto.
+
+2004-12-15  Werner Koch  <wk@g10code.com>
+
+       * logging.c [W32]: Don't include unavailable headers.
+
+2004-12-14  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.c (_pth_strerror): Renamed to ...
+       (w32_strerror): .. this. And let callers provide a buffer.
+       (spawn_helper_thread): Removed HD arg and hardwire the stack size
+       to 32k.
+       (do_pth_wait): Removed use of ATTR; not needed for the helper
+       threads.
+       (helper_thread): Renamed to ..
+       (launch_thread): .. this.  Release handle if not joinable.
+       (struct pth_priv_hd_s): Renamed to ...
+       (struct thread_info_s): .. this.  Add member JOINABLE and TH.
+
+2004-12-14  Timo Schulz  <twoaday@g10code.com>
+
+       * w32-pth.c (pth_kill): Just release the crit section if
+       pth_init was really called. And set all handles to NULL.
+       (_pth_strerror): New.
+       (do_pth_wait): Before we enter the loop we check if there
+       are too much events in the ring.
+       
+2004-12-14  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.h (pth_event_occured): Removed macro. 
+       * w32-pth.c: Fixed license statement; its under the LGPL.
+       (enter_pth, leave_pth): Use them to bracket almost all public
+       functions.
+
+2004-12-13  Timo Schulz  <twoaday@g10code.com>
+
+       * w32-pth.c (enter_pth, leave_pth): New.
+       (pth_init): Initialize global mutex section.
+       (pth_kill): Release global mutex section.
+       (helper_thread): New.
+       (pth_spawn): Make sure only one thread is running.
+       
+2004-12-13  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (w32_strerror) [W32]: New.
+
+       * w32-pth.c, w32-pth.h: Added real code written by Timo Schulz.
+       Not finished, though.
+
+2004-12-07  Werner Koch  <wk@g10code.com>
+
+       * w32-pth.c, w32-pth.h: New.
+
 2004-11-26  Werner Koch  <wk@g10code.com>
 
        * logging.c [_WIN32]: Don't include socket headers.
 
 2000-07-26 10:02:51  Werner Koch  (wk@habibti.openit.de)
 
-  * stringhelp.c.: Add stdarg.h
-  * argparse.h: s/ulong/unsigned long/ although this should be defined
-  by types.h.
+       * stringhelp.c.: Add stdarg.h
+       * argparse.h: s/ulong/unsigned long/ although this should be defined
+        by types.h.
 
 2000-06-28 19:40:23  Werner Koch  (wk@habibti.openit.de)
 
-  * Makefile.am: Replaced second logging.c by .h
+       * Makefile.am: Replaced second logging.c by .h
 
 2000-05-24 08:58:15  Werner Koch  (wk@habibti.openit.de)
 
-  * logging.c (log_get_errorcount): New.
+       * logging.c (log_get_errorcount): New.
 
 2000-05-24 08:44:47  Werner Koch  (wk@habibti.openit.de)
 
-  * stringhelp.c: Added a few filename related helper functions.
+       * stringhelp.c: Added a few filename related helper functions.
 
 2000-05-11 18:04:43  Werner Koch  (wk@habibti.openit.de)
 
-  * xmalloc.c (xstrcat2):  Replaced stpcpy to quickly address W32
-    problems.
+       * xmalloc.c (xstrcat2): Replaced stpcpy to quickly address W32
+       problems.
 
 2000-05-02 19:43:38  Werner Koch  (wk@habibti.openit.de)
 
-  * xmalloc.c (xstrcat2): New.
+       * xmalloc.c (xstrcat2): New.
 
 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
 
-  * README: New.
-  * Makefile.am: new.
-  * argparse.c argparse.h logging.c logging.h
-    mischelp.h stringhelp.c stringhelp.h xmalloc.c
-    xmalloc.h dotlock.c: Moved from ../util to here.
-  * dotlock.h: New.
-  * libjnlib-config.h: New.
+       * README: New.
+       * Makefile.am: new.
+       * argparse.c, argparse.h, logging.c, logging.h:
+       * mischelp.h, stringhelp.c, stringhelp.h, xmalloc.c:
+       * xmalloc.h, dotlock.c: Moved from ../util to here.
+       * dotlock.h: New.
+       * libjnlib-config.h: New.
 
-  * logging.c (log_set_file): New.
-  (log_printf): New.
-  (do_logv): Add kludge to insert LFs.
+       * logging.c (log_set_file): New.
+       (log_printf): New.
+       (do_logv): Add kludge to insert LFs.
 
 
      ***********************************************************
-     * Please note that Jnlib is maintained as part of GnuPG.  *
+     * Please note that JNLIB is maintained as part of GnuPG.  *
      * You may find it source-copied in other packages.        *
      ***********************************************************       
        
- Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004,
+          2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without