commit 1158c44429ff8dee89389126129490b5aca081d1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jan 2 16:37:38 2011 -0500

    Version 6.0.4.

commit c04d7f24325ab913fcf263ee5d15db4af1a4c2b4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jan 2 16:28:35 2011 -0500

    pwmc: let the -i option have priority over the ssh agent. The --url
    option has lower priority than ssh agent, though.

commit a3a913f5df9341734eeee099bda53716d83097a9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jan 2 16:12:38 2011 -0500

    pwmc: change --use-agent to --no-ssh-agent. When the SSH_AGENT_PID
    environment variable is found then ssh agent support is enabled and may
    be disabled with --no-ssh-agent requiring the private key to be specified
    with the -i or --url options.

commit 933d6a4ae530fbf2ad2fdc500a13812d3c469925
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Jan 1 10:58:25 2011 -0500

    Prefix the ssh knownhosts entry comment with "libpwmd-epoch".

commit d046533c9f9a853ea72f8848be1db18775f1c9fb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Jan 1 10:45:46 2011 -0500

    pwmc: allow interactive mode without a filename since the user can open a
    file using the OPEN protocol command. But saving not allowed without a
    filename during the interactive exit. Although the user may still use the
    SAVE command.

commit f1ca78d09193fd2534b842c68959524e5de71108
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Jan 1 10:33:21 2011 -0500

    pwmc: Fix for the local pinentry when compiling without ssh support.

commit d98825f01310defdca9c13d1ce749c07b50fe45c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 17:48:40 2010 -0500

    Include the generated tutorial.html in the repo.

commit c14d7b5c61bd3f7ae35b4a3d45020951f7215ecd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 17:37:06 2010 -0500

    Build the tutorial documentation from SGML source.

commit 92d027ece706f1e6c5601fea1bbd9960afde297c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 13:09:41 2010 -0500

    pwmc: some progress indicator for non-blocking functions when DEBUG is
    defined.

commit f442b1d901502208a990c251bd680c8dd84003b7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 12:58:31 2010 -0500

    pwmc: always save with the keyfile as key material.

commit fa192ffe90f3a502db4981e4803c940820046d36
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 12:47:03 2010 -0500

    pwmc: show the inquire help text during each inquire.

commit 71abb6af15fea365d368ee791a87e809345aff1e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 12:43:38 2010 -0500

    pwmc: prevent showing the inquire help text when using a keyfile.

commit b5cf4b856c62965221ac1a333db869c5ee95c8d1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 11:49:48 2010 -0500

    Added pwmd_features() to the API.

commit a70cbcb8b752eff8addbcb717bf5e982578cbb3c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 31 11:33:41 2010 -0500

    pwmc: --interactive fix when WITH_PINENTRY was not defined.

commit e9908d1cb42acc2519d257b69fdf4162e50995b5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Dec 28 21:24:24 2010 -0500

    Updated homepage location.

commit 41a751b51aac2d686bbd4dab6cdb6e336037fd2f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Dec 27 22:08:20 2010 -0500

    debian: recommend pwmd >= 2.19

commit 7b30031a1922782e83857b0a8bf8688283d703c4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Dec 26 19:51:54 2010 -0500

    pwmc: Print a message when the connection closes.

commit b18e4b5beb896ec3c524df00437314aab0a521f2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Dec 26 19:49:30 2010 -0500

    pwmc: show the help text from the interactive exit prompt.

commit e26f52da048249bdb8d24f3be0f10159888b4a21
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Dec 26 19:19:19 2010 -0500

    pwmc: more prompting options when exiting interactive mode.

commit f2fffb8007d1aa9602f9df3ecbf03b6f4b5e2739
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Dec 26 18:55:25 2010 -0500

    Added PWMD_OPTION_NO_PINENTRY to disable the use of pinentry entirely.
    
    pwmc: added command line option --no-pinentry.

commit 84aeebd9be99bb46d452a144692fb973a5bcc8cd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Dec 26 13:54:48 2010 -0500

    Don't mention fetchmail in the TUTORIAL since fetchmail 7.0.0 hasn't been
    released yet. Instead use a more generic example.

commit c45cbaf089eb0fd8175a70e694f0c43b4dc69a51
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Dec 18 11:26:30 2010 -0500

    Added TUTORIAL to the archive.
    
    debian: include TUTORIAL in the docs.

commit 38df0664cca31492464c6022b1fe9d7a4401ee17
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Dec 18 11:19:35 2010 -0500

    TUTORIAL fixes from Matthias Andree.

commit bb2129404e04adbdc5405800ae2e90f973a78ce0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Dec 18 11:19:16 2010 -0500

    Added doc/TUTORIAL.

commit 26c8bcd8552e7609f1d6611b6402e249f64cdf80
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 24 11:55:09 2010 -0500

    pwmc: better output of status messages.

commit d1fac04d7b96c74b0e3d6f38eccc69d6e610631f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Dec 16 20:28:13 2010 -0500

    Show how to quit when in interactive mode.

commit cf3d4faa149aba0316194386e55ca0739c0a94c0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Dec 16 19:58:26 2010 -0500

    When trying to save when exiting interactive mode, loop over the save
    until it succeeds. Useful for example after a long editing session and
    the pinentry fails for some reason. This can let you try to fix pinentry
    settings and save again.

commit d86b5f538b269204db1e090e96197ee5fc66ce55
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Dec 16 19:31:48 2010 -0500

    Always prompt to save changes when in interactive mode.

commit 06c5717598543c9a54cea2373f10fa5b77d23eac
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Dec 14 21:49:02 2010 -0500

    Read any pending status messages when starting up interactive mode. Fixes
    messing up the prompt.

commit fd7ac02a5201ae08a077aae07e68ef6ce5b8465d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Dec 14 21:45:36 2010 -0500

    Don't keep calling the readline timeout hook after a libpwmd error.
    
    Added some help text to interactive mode on startup and when doing an
    inquire.

commit f5e4c0800906fdbebe8c37a5f8ccbb56d83d26c3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Dec 14 19:45:24 2010 -0500

    Create a Bzip2 archive rather then a Gzip one.

commit 0de36e4e60594eaf58ca0a41009174fa7aa550e5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Dec 14 19:33:16 2010 -0500

    Fixed 'make distcheck' when no ChangeLog exists.

commit 047a4caedb277770854e47d28deacb36359f34dc
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Tue Dec 14 11:23:26 2010 +0100

    Fix libpwmd build under --disable-nls.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit 58c90ebf50629c75c99cf67c8da05330ab979da5
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Tue Dec 14 11:15:09 2010 +0100

    Add missing .m4 macro file.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit f5340bd20cd3ee901656afb3e9fba019e704d18e
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Tue Dec 14 11:02:04 2010 +0100

    Add missing dependency to support make -jN.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit 970bb04e0cef873d58573ebf8301b49d907f0883
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Tue Dec 14 11:01:05 2010 +0100

    Enable PIC objects by allowing shared libs.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit c290542efa01b98b8e8e66842671ff3e8c68243e
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Mon Dec 13 22:36:27 2010 +0100

    #include <limits.h> to define LINE_MAX.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit 6e5a03007965e83cf3b9a72d5084bf20f5b47ecf
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Mon Dec 13 22:36:13 2010 +0100

    Fix compilation if HAVE_LIBREADLINE isn't defined.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit ae1e0d4bba55418df6232b6879b325ac13bb404b
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Mon Dec 13 22:28:38 2010 +0100

    Add missing ACX_PTHREAD file.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit a041c9494c86cb9bfeb1095b29b88942b2d2bc3b
Author: Matthias Andree <matthias.andree@gmx.de>
Date:   Mon Dec 13 22:24:56 2010 +0100

    Fix for BSD find, and change to proper directory first.
    
    Signed-off-by: Ben Kibbey <bjk@luxsci.net>

commit 590b3a3938cc446c17b418795913906acc96585e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Dec 14 18:55:24 2010 -0500

    Bump version for development.

commit 76397ba38aca2eb069ea9f7492053776a35a0bfc
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 21 17:41:11 2010 -0500

    Version 6.0.3.

commit 753f2513d0eeffd746a819a7da1b39be603da6bb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 21:55:30 2010 -0500

    configure.ac portability fix.

commit 4625d1b12747c6d2fa6a479c74ae3bb7a1bccf0b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 21:22:55 2010 -0500

    Compile time warning fix.

commit adba3ee1d3a5080b81c87218f148f8a2c2b1ac05
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 19:14:16 2010 -0500

    debian: Dont pass any SSH argument to configure. Build with SSH support
    automatically if installed.

commit 036987afbe8c6d6914a78997b3e310dd9dbe0f2c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 18:55:17 2010 -0500

    Updated docs.

commit 00bb72150ada096ab29f0ab9f4f9eb9c5d8dcd46
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 18:34:24 2010 -0500

    pwmc: debugging conditional fixes.

commit af664b925cdd02620c5a0d81fa2ed4b1f406b0b0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 18:09:43 2010 -0500

    Updated the copyright year in the header.

commit 3e7e88c80bdfc726d3fedab058142c751e0da204
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 18:04:26 2010 -0500

    Fixed pwmd_save_async2().
    
    pwmc: flush the result stream after the command finishes.
    
    pwmc: dont block in select(). Fixes debugging async commands.

commit ad32905746e67785f044a3be4328f7a5e6fb26c7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 13:19:34 2010 -0500

    pwmc: fixed setting the inquire total byte count.

commit b28b5da7851a3c3aba58660f8ade758e561596b6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 12:27:03 2010 -0500

    Require libssh2 1.2.7 or later. This version fixes a crash in
    libssh2_channel_wait_closed() among other things.

commit d272b0668f71479611714d32ba966d1d43c231e4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 11:55:56 2010 -0500

    pwmc: added command line option --inquire-line as a convenience to define
    an element path.

commit 4ab01a2441db93c3bf82c90d86a7096d39180664
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 11:02:53 2010 -0500

    Enable SSH support if available. Disable with --disable-ssh.

commit a1f3e738693d0c79034890b5518a08f527ca6556
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 10:22:01 2010 -0500

    Nevermind. Moved all of the cancellation code to a new "cancel" branch.
    It's still experimental (not inquires though).

commit d0519f0b82463eab27766d156abaa946b687a412
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 20 09:38:40 2010 -0500

    Returning GPG_ERR_CANCELED from the inquire callback will cancel the
    inquire by sending CANCEL to the server.

commit 75b5a64bc16bd6fd0b735aa9fe4e9db1ba899a03
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Nov 17 20:53:23 2010 -0500

    Disable pwmd_cancel() for now. Its more complicated than what I thought.
    When reading data from a sent command, its not enough to simply stop the
    current command. The socket will still have data waiting to be read from
    the server. A possible fix is to send a status message to pwmd and let
    it return GPG_ERR_CANCELED as the command result.

commit 6cc7cf297e6e6c408a79afc144ff3f353bff88a8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 21:40:49 2010 -0500

    Compile time conditional fix.

commit bb5656cc806745a6d17932736ae5add41fcebcd8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 20:24:56 2010 -0500

    Let a UDS consider pwmd_cancel() too. This also fixes a potential case
    that a UDS returns EAGAIN.

commit e6071d39d844a70b44f9ba624819e339e3011cb4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 19:35:02 2010 -0500

    Return GPG_ERR_CANCELED when a function returns an error do to
    pwmd_cancel() being called. libassuan would normally return
    GPG_ERR_ASS_WRITE/READ_ERROR from the IO hooks.

commit de7f0fc035962627951f4f57eb614a4720b4edaa
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 19:26:53 2010 -0500

    Let non-ssh connections check for pwmd_cancel() too.

commit c4fdaf79cc9a3c556a5b2bd4e6b888cd779fa0e0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 19:20:49 2010 -0500

    Compile time fix for --with-pth --enable-ssh.

commit 8ee9f56c11c8cb9dcbf0173ff5e8c455f14838a1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 19:14:59 2010 -0500

    libpth linker and compiler flag fix.

commit 67fa4670d0d7c679d3fbc011f215aac0f0a78265
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 16 18:57:26 2010 -0500

    libssh2 IS thread safe. See Libss2 in multithread environment[1].
    
    1. http://libssh2.org/mail/libssh2-devel-archive-2010-04/0120.shtml

commit af2688d74a5810512d22d2a413e80d7d2a601880
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Nov 15 21:04:59 2010 -0500

    pwmc: minor command line usage fixes. Also mention that during an inquire
    in interactive mode a newline character can be avoided by pressing CTRL-D
    twice on the non-empty line.

commit 85a0ec4c95335c19250a85049764dc37e2073bad
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Nov 15 20:15:13 2010 -0500

    pwmc: check if stdin is from a terminal and not from a pipe when
    --interactive is used.

commit d76e745269985863c9b4670decd85181d2b5e8f3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Nov 15 20:00:56 2010 -0500

    Fixed the SSH agent error codes to be a little more accurate.

commit e8635d0cbe38b13e9291be551b3cc3a92c6bdc31
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Nov 15 19:33:19 2010 -0500

    Make sure known_hosts and identity are non-empty when using the agent.
    
    Fixed a segfault when the knownhosts file couldn't be opened for writing.

commit 2fad2be04a5f90acd57d5a203d012344bbf77b1a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 19:04:44 2010 -0500

    Updated docs.

commit a53d5a9ca781722644324ea38871ad0bd7fc3686
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 18:55:11 2010 -0500

    debian: recommend pwmd 2.18. Enable ssh support.

commit 71918bf1fc6ef09a09643ea4695047b5f7112ba5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 18:17:26 2010 -0500

    Dont require libssh2 1.2.8, only prepare for it. Version 1.2.6 is
    required though.

commit a914ebbcb3e56ef8d9797a2fd64dcc70e6d09855
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 16:38:07 2010 -0500

    Wait for the remote host to close the ssh connection before closing the
    ssh handle. Fixes error messages in the pwmd log. I think this is do to
    the proxy not receiving the entire line and forwarding it to the pwmd
    socket before the ssh socket FD is closed.

commit 806fe26d153437623f4aa78c1cacfc8aacf2083d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 16:23:02 2010 -0500

    Disconnect from the ssh-agent and free its resources after
    authenticating.

commit 64672ccebd3d16042ab288731ff9d41985a4d238
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 15:48:03 2010 -0500

    libassuan: fix for commit 386e7ee when using a local pinentry.

commit fe990c18b11042026776f2177e4758bc9adfdd39
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 11:12:10 2010 -0500

    Minor cleanups and regenerated the manual page.

commit 386e7ee3c12667d8982c67083ec6ef6e719e7a1a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 11:01:24 2010 -0500

    libassuan: dont attempt another read or write operation when the hook
    fails.

commit 4d87dd1a5549409904afca673daa7141b1301316
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 10:58:45 2010 -0500

    Added pwmd_cancel() to cancel a command or transfer.

commit 32ea9f7722e50cced038fe0815d37c65d31baa67
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 14 10:17:20 2010 -0500

    Fixed EAGAIN when doing an SSH channel write.

commit 62df736f6980e022ff473c7b67fa28d524003005
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 13 09:32:37 2010 -0500

    Fix for commit ac5ef61. Use a pth_mutex_t when building with libpth
    support.

commit 46d3af064d136caac76a155e2947c81fec8a39f7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 18:12:11 2010 -0500

    Added ssh-agent support. Enable with PWMD_OPTION_SSH_AGENT.
    
    pwmc: added command line option --use-agent.

commit fe8a0de8926bc7c4e1c04f58fbcb54f1a7bce005
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 16:02:56 2010 -0500

    pwmc: fixed the example in the manual page to show how to use an inquire.

commit 752d15d7982ef3410ae23eedf0e4f33958373562
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 15:50:42 2010 -0500

    Added libssh2 compression. Now required libssh2 1.2.8 or later.

commit 13f473604e49152bf5eb5153d6b94fd4edec8021
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 15:19:00 2010 -0500

    Pass --enable-hidden-symbols to configure when building the debian
    package.

commit 4a48469f488cfc060e664f18df17668832c79c2c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 15:12:42 2010 -0500

    Fixed LIBPWMD_API.

commit ac5ef6112fc0c42a8181d3b834d50f44ad097016
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 15:11:47 2010 -0500

    Since libssh2 isn't thread safe, protect each session reference with a
    mutex.

commit b0d56a1374ec47b84a6f0caf46ba1b9edaa1e56a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 11 10:05:30 2010 -0500

    Although pthread was checked for at compile time it's flags weren't being
    used. Fixed.
    
    pwmc: explicitly link against the checked readline library.

commit 3f04c3eff5ea349d342e17e882cd2d6f44d08ac7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 9 21:43:18 2010 -0500

    pwmc: added --interactive.

commit 28deabb10867658dee65ec2351e140497a647bc9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 7 00:00:50 2010 -0400

    pwmc: changed how inquires are done. No longer use hard-coded command
    names to determine whether the command uses a server inquire. Instead add
    an option --inquire to specify the command name and options and read the
    command data from stdin or the specified inquire file descriptor.

commit a074aa8f6d9c97e909ecef874b723bd8cbfdd9cb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 2 21:06:02 2010 -0400

    Sleep after EAGAIN during an inquire. Fixes CPU usage.

commit 3c3778fcd06c5bb18ee9444a267c00e1a66dd7f0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Nov 2 20:52:51 2010 -0400

    Disable SSH support by default.
    
    SSH conditional fixes.

commit 3ad15051912cf3a7307baa086417cc4d6e81e7ad
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Oct 31 16:19:19 2010 -0400

    pwmc: fixed --key-file over an SSH connection.

commit 2e9e34ef775622424b86e4f69019c9343d4565cf
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Oct 31 15:56:37 2010 -0400

    pwmc: reset the pinentry title after connecting. Fixes showing the
    knownhosts confirmation string when opening a file.

commit 99ed90b03d5e6942f6bc747ce91c39a4061412e2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Oct 31 15:42:13 2010 -0400

    A few libgpg-error cleanups.

commit f33ed3f7d64f8e4d579725a5d86f760ca34612fe
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Oct 31 15:35:56 2010 -0400

    pwmc: simplify the inquire callback.

commit 071ecc9402d8fd69400030723bec2f8f2d24b915
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Oct 30 21:37:36 2010 -0400

    Mention that command options may be included in the command parameter to
    pwmd_inquire().

commit 6a2ffb7068d870e192fbd1ef2ef90e77e37deac6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Oct 30 21:30:05 2010 -0400

    Mention that pwmd 2.18 is required.

commit 193ab2f42ef6823daf8eeaacc8be5cc86d0d808b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Oct 30 21:28:13 2010 -0400

    Merge boolean options in to option flags.

commit dd8cbb27f3c63ef726cab9047c6fb5751fe63a7f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Oct 30 21:16:42 2010 -0400

    pwmc: added command line options --base64 and --key-file.

commit e8019036f3dddec74a93127dfed60154c5b96ec2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Oct 30 21:15:47 2010 -0400

    Added API functions pwmd_open_inquire() and pwmd_save_inquire(). These
    are convenience functions to do pwmd >= 2.18 inquires for passphrases.
    These two functions send relevant options previously set with
    pwmd_setopt() automatically rather than the client having to use
    pwmd_inquire() with the command and arguments. Only the passphrase should
    be sent with the passed callback and no other command arguments.
    
    Added pwmd_setopt() option PWMD_OPTION_BASE64. This should be set, if
    needed, before using the two above mentioned functions.

commit ab09f44ff1ad2c2dbba97ea9113ebf47286769b6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Aug 29 16:04:20 2010 -0400

    Updated debian control file.
    
    Mention that pwmd >= 2.17 is required.

commit ab302065b1aba293bf7d6a8594a3dec80633079b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Aug 29 15:07:14 2010 -0400

    Regenerated the manual page.

commit 494b4fda44d01fa352364591294a69f4ac9c4569
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Aug 29 14:56:31 2010 -0400

    Added PWMD_OPTION_LOCK_ON_OPEN, PWMD_OPTION_CIPHER and
    PWMD_OPTION_ITERATIONS. These are needed since pwmd 2.17 uses protocol
    command options rather than SET arguments. Less protocol communication is
    needed when doing it this way.
    
    Fixed a bug in pwmd_setopt() that read an argument without first calling
    va_start().

commit 468de58b881c7763ef750b495d84cf36fa9f8bcd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun May 30 17:20:01 2010 -0400

    Add autoconf m4 macros to the dist.

commit bf918a6b9d66690a212cb965171e69147ab0b223
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 29 09:03:23 2010 -0400

    pwmd_strerror_r() off-by-one fix.

commit 5da81eb1b05b04dc0370e9ff914b0032e16c61c8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu May 27 21:11:03 2010 -0400

    Fixed showing the wrong filename in the local pinentry dialog.

commit 69f639a5b827b56dfb36a7bbd2942cfb6df3aecd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 20:50:25 2010 -0400

    Free the knowhosts.

commit b722f8b533f9e43a7d5e4d47714e6e7893675e85
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 20:21:18 2010 -0400

    Try IPv6 addresses first by default (again).

commit 0e64af09916be41fb069cc55dd720390c84ba341
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 20:20:58 2010 -0400

    debian: updated standards to 3.8.4.

commit 18ca90b0121d427bc2b4e1633b1f2ba8cbbde809
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 20:13:24 2010 -0400

    Return GPG_ERR_ASS_SERVER_START when any of the libssh2 session/channel
    functions fail. I'd like to try an convert as many libssh2 errors into
    libgpg-error codes as possible but not right now.

commit b8ccaed819a2988a989be48c268e6db78be36c15
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 19:57:18 2010 -0400

    pwmc: Fixed setting the known host callback when --url was used.

commit f968b755b85f118e48f6364870897daff801675e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 19:38:37 2010 -0400

    Fixed the return code of pwmd_ssh_connect() and pwmd_get_hostkey().

commit 73e8e4f3acebb2382fa5f22b7ac5c44b128738b8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 19:06:14 2010 -0400

    No longer require a knownhosts parameter to the SSH connection functions.
    Use a default of ~/.ssh/known_hosts.

commit 9ce7eafa8c0b448533a7165bbe18b1faa8ba713f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed May 26 18:36:47 2010 -0400

    Updated the manual page.

commit 5ed98b20602ebd3f8991f79221816314b20e1ba1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue May 25 22:13:59 2010 -0400

    Added pwmd_version().

commit 1f7fc12d9630a3ee785f131ca67bf033b3616f9a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue May 25 21:47:45 2010 -0400

    Added LIBPWMD_VERSION_MAJOR, LIBPWMD_VERSION_MINOR and
    LIBPWMD_VERSION_PATCH.

commit ec58d7efa66818b09452981a58ba44d28dde2898
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue May 25 21:16:06 2010 -0400

    Require libssh2 1.2.6 so the port specification works correctly and to
    add a comment to a new knownhost entry containing the time of addition.

commit 6224aec18c11d854a9b1e161871f0e9fed8b6fe1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue May 25 21:15:13 2010 -0400

    Use the libssh2 pkg-config metadata file to determine the installation
    paths.

commit a7b7a84f0b7441af847208cc67c4aacd9575d188
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon May 24 21:36:35 2010 -0400

    Bump version for developement purposes. Not officially released.

commit f78bc620976f0fd711346d1b1cc9baf4488dcf38
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 19:33:15 2010 -0400

    pwmc: minor memleak fixed.

commit 87237d6391c67ed9ea49357ac6c8122b585f59fc
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 12:12:07 2010 -0400

    Fixed pinentry strings to not include a newline character. Let the
    pinentry program do the layout.

commit 826f3ba4f8470820ddd6816ab7a6c60335d5569f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 11:48:46 2010 -0400

    pwmc: null terminate the read command.

commit 4667a39f7f575778cb5fa5ae03154531438c50a6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 10:40:43 2010 -0400

    Added a port specification to the knownhosts entry when not using port
    22.

commit a7b34f5799a6c03a45d920081d79f71f073fe101
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 09:54:34 2010 -0400

    Initialize libssh2. Now requires libssh2 1.2.5 or later.

commit 801832ff9fe1efd4148c9bb3a90c374a17d40fd3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 09:33:12 2010 -0400

    Make all symbols other than API symbols hidden. Mostly borrowed from
    libssh2.
    
    Removed the warn_unused_result gcc attribute. Easier to read and not
    really needed.

commit 0bbbdab23d84ef893b3d156714ca998495c6a42b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 09:16:14 2010 -0400

    pwmc: Use pwmd_open2()/pwmd_save2() when connected to a remote pwmd.

commit 616ce2a9079c23b03547ea604f37d97c30a706d7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 09:10:51 2010 -0400

    Added LIBPWMD_VERSION_STR.

commit 3b9197c581ba7f93f714513c2eab31c94af7d0f7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 22 08:54:22 2010 -0400

    pwmc: added option --no-lock to disable locking the data file upon
    startup. Require pwmd 2.9 or later since this version adds the
    LOCK_ON_OPEN client option.

commit d49d41d6e81702fe5a516273cb7267f327069801
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 14 17:58:49 2010 -0400

    Let Debian accept a qt4 pinentry dependency.

commit 6449b5f01d46ba395df6727a370d221c50e10923
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jan 31 09:45:37 2010 -0500

    Revert "Don't send status messages when in a pinentry. Fixes the pinentry dialog"
    
    This reverts commit 54f42b87e4eb1ce46cef7778e7e825242a870f85.
    
    Use --no-status instead.

commit c00445c980e787164452267a992d803f8124b433
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jan 31 08:14:28 2010 -0500

    Minor Makefile.am cleanup.

commit 54f42b87e4eb1ce46cef7778e7e825242a870f85
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 26 12:13:21 2009 -0500

    Don't send status messages when in a pinentry. Fixes the pinentry dialog
    when using a console pinentry.

commit 4f7feb1f5a4d83bba13b33e0461afa3c004c2b0f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Oct 11 10:39:45 2009 -0400

    pwmc: inquire now uses heap memory when reading data.
    
    pwmc: use memcmp() when checking for an INQUIRE command.

commit 9f2aa2ae0fd9c06f51fa7ffa41a2afd15b576e7d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Aug 12 21:14:34 2009 -0400

    Return GPG_ERR_INV_ARG if the inquire callback doesn't have sane values.
    
    pwmc: Avoid using ungetc().

commit bfa8ea3825b58da67ba5d65cded0dc5afdf467b1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Aug 11 21:50:31 2009 -0400

    Really fix EAGAIN when doing an INQUIRE. Things are different on real
    remote hosts. :)

commit 1cdb69ecebe4113e81c0240d6aca8c327d81e9d8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Aug 11 21:45:18 2009 -0400

    Compile time fix for --enable-mem-debug.

commit 76a072a4dff0349e3a7f323d73dbfbf7990f4fb6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Aug 10 21:40:19 2009 -0400

    Updated release docs.

commit b22ca18d77116271ae2e170a2b810bbbb3be95e7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Aug 10 21:00:40 2009 -0400

    Updated and fixed some pinentry quality strings.

commit cefe5a0f547e25fa64a00d6b46e9a8d3b971e011
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Aug 10 20:11:53 2009 -0400

    Require libssh2 version 1.2.

commit 49f44cf8bd32e9d6134e2c0bde8e28aa4e8ec504
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Aug 9 15:34:25 2009 -0400

    No need to usleep() in inquire_cb() after _pwmd_process(). Send the data
    as fast as possible.

commit b637c0ba84885f3b0d8738bbb1f88216457a4e4d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Aug 8 14:56:16 2009 -0400

    Minor typo fix in the knownhost dialog.

commit 58b0bb00e40e326f9b0391f4b62394aa85a057ff
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Aug 8 14:48:16 2009 -0400

    Always use the non-blocking portion of libssh2. This changes libpwmd
    blocking functions that have a non-blocking counterpart to wrap the
    non-blocking functions. These changes are needed for commands that use an
    INQUIRE to send data to the server and for asynchronous open and save.
    Otherwise select()ing on the socket when only SSH protocol data needs to
    be read would block after libssh2 has parsed it's protocol data by
    getting stuck in the recv(). This lets EAGAIN get handled properly in
    libpwmd.

commit 75941828d90a62d17bdac17ad66fd2d286720403
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Jul 6 18:55:30 2009 -0400

    Added detecting the hostkey type rather than relying on RSA.

commit 1168b4a39a5213a378d56e7b0419360d3acd3324
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jul 5 22:42:11 2009 -0400

    Typo fix for the previous commit.

commit 8d57ba4be7ce36e07d46d68913dc19c21a6499f7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Jul 5 22:14:48 2009 -0400

    When a hostname (not IP) is used with pwmd_get_hostkey(), return two
    known hosts entries (newline separated): one for the hostname and the
    other for the resolved IP.
    
    Remove the resolved IP known host entry from the known hosts cache after
    pwmd_get_hostkey(). It may not have been confirmed.

commit 91459ca770688aa653a37d41eae76eb36c4b9373
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Jul 4 15:58:40 2009 -0400

    pwmc: Use a better description when prompting to add a new hostkey.

commit a782c8275e73942f85ad3c1bdef8740d503682ab
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Jul 3 19:46:19 2009 -0400

    Add both the IP and hostname to the known hosts file after confirmation.

commit c0f471f30313955c607e86404f264c706c6280b4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Jul 3 17:57:53 2009 -0400

    Fixed error shown when pthread was not found.

commit b949a587d8ff80a1a7103308ad1603d1d190c4c5
Author: me <bjk@luxsci.net>
Date:   Sun Jun 28 18:22:15 2009 -0400

    Fixed the pwmd_option_t order to keep compatibility.

commit 4fccf97064fd1564f631587671b1e7b51d5151a7
Author: me <bjk@luxsci.net>
Date:   Sat Jun 27 20:23:57 2009 -0400

    pwmc: Minor --help text fix.

commit 39bb30b66d26f33a3bbd6daccc040463262fb61d
Author: me <bjk@luxsci.net>
Date:   Sat Jun 27 19:42:25 2009 -0400

    pwmc: added command line option --cipher for use with pwmd 2.1.

commit 760356a1103bd6459cec853f372aa666c25841bf
Author: me <bjk@luxsci.net>
Date:   Tue Jun 23 22:17:47 2009 -0400

    Added PWMD_OPTION_INQUIRE_TOTAL. This will call PWMD_OPTION_STATUS_CB
    during an inquire with an XFER status message after every
    ASSUAN_LINELENGTH bytes that have been successfully sent. When not set,
    0 is the default for the total but the sent bytes are still set.

commit 2ad0ec72443207c0ca5c088e8e26de4e3767ed76
Author: me <bjk@luxsci.net>
Date:   Tue Jun 23 18:58:08 2009 -0400

    Don't reset the FD to blocking after the connection is complete. Fixes
    all SSH IO.

commit bf20bb28ff6ac4a608b4e1cf3a0c829ae27ea162
Author: me <bjk@luxsci.net>
Date:   Thu Jun 18 19:28:41 2009 -0400

    Fixed commit 780cbff to handle IPv6 addresses.

commit 1d7abbeb6db2344fb573f5e83c241b8b66b1bbec
Author: me <bjk@luxsci.net>
Date:   Sun Jun 14 09:07:01 2009 -0400

    Return GPG_ERR_NOT_CONFIRMED instead of GPG_ERR_MISSING_CERT.

commit 07bb56278e2d271cfd2217dfffc26dfe6bbc917d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Jun 10 19:24:46 2009 -0400

    Fixed writing the new known hosts file and unlinking the temporary file.

commit e2b5b11c06e2faf6103bafb93786722660df5ce8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Jun 9 22:40:00 2009 -0400

    Don't fail if the known hosts file cannot be opened. Confirmation is
    still required though.

commit 780cbffa092e6ee13b12fb0a22c82ec92b5b021a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Jun 9 22:05:19 2009 -0400

    Fixed specifying an IP address as the hostname.
    
    IPv4 is now the default. IPv6 can still be specified with PWMD_IPV6.
    PWMD_IP_ANY can only be used with a hostname. If you need an IPv6 when
    using an IP address, then use PWMD_IPV6.

commit 0e2a4c54d8da833f8e0a305a00d38f9f21769d41
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Jun 8 21:34:03 2009 -0400

    Updated to use the new LIBSSH2_KNOWNHOST API from libssh2. This requires
    an OpenSSH formatted known hosts file.
    
    This also lets resuming a connection previously created with
    pwmd_get_hostkey() and pwmd_get_hostkey_async() work with the SSH
    connection functions.

commit 85e1f73d5b4166d1c1e090907af6a00aca46bf64
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 9 16:56:12 2009 -0400

    Version 6.0.2.

commit 92aa15b636780d14386972ddaed9535550d4fe78
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 9 16:47:07 2009 -0400

    Added file:// which acts like local://.

commit 40dd916ede5aa0f432c886d5f398fb94f7b9b1eb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat May 9 16:15:00 2009 -0400

    A few more pwmd_setopt() NULL checks. Only really useful when MEM_DEBUG
    is defined.

commit d5a359f5d1297ba24b309cfdc06c702fcbee5086
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu May 7 19:36:27 2009 -0400

    Added PWMD_PINENTRY_CONFIRM to display a pinentry confirmation dialog
    box. The prompt is set with PWMD_OPTION_PINENTRY_TITLE.

commit c95755e9e2e26126c7f35a2fc8a4140d62fc6ffe
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu May 7 19:30:10 2009 -0400

    Fixed finalizing a connection which was not to an SSH channel.

commit bba833e0c95b33ec325b78dcaf218d3e78836947
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu May 7 19:29:18 2009 -0400

    Fixed a segfault when resetting PWMD_OPTION_PINENTRY... to NULL.

commit 5e897ce1987132668f0baab945f719adfa5afa23
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 29 19:16:23 2009 -0400

    Non-blocking SSH negotiation and channel/shell startup.

commit de638b21a0ae9d0a4ee93a91156df8f46d5c5a66
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 27 21:32:04 2009 -0400

    Version 6.0.1.

commit f78eddc0c59f40f0f47a7b069301fb7d13759761
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 26 16:57:52 2009 -0400

    pwmd_socket_type() bugfix.

commit 3fa1b061e3ef04872f4b1c0a826b54ab287a5393
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 26 09:01:06 2009 -0400

    Version 6.0.0.

commit f946697ec76085c9a3c26681d35e0df5f00df879
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 21:15:43 2009 -0400

    pwmc: Show compile-time features with --version.

commit 6b6e0c7fbbe98c406a573bfa7d3d52ced7be7c12
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 21:05:23 2009 -0400

    pwmc: Compile time fix when no DEBUG is defined.
    
    A few minor documentation fixes.

commit 4be3da58242fef23420b5fa86ce7ce5681d3efb4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 20:25:12 2009 -0400

    Fix for the previous commit. Don't set reset PWMD_OPTION_PASSPHRASE when
    using a --local-pinentry with --force-save.
    
    Fixed a segfault when comparing SAVE strings.

commit 9d60873c4491402fa547b9f4e5c82e47329d04d3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 19:22:12 2009 -0400

    pwmc: When --force-save is used, dont reset the cache entry until the
    --local-pinentry is finished. Fixes resetting the cache entry if the
    user cancels the pinentry.

commit 16725d95f7818859bbe018c55c7a207628ce4dcd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 19:12:10 2009 -0400

    pwmc: check if the file is cached before doing a --local-pinentry.

commit 33f52a45c256ae4113a5bad5216b1d37867cadab
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 18:53:14 2009 -0400

    Fixed local:// parsing.

commit 11caab49cdc644bbb5f5cc52e948dcd39950f463
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 25 18:46:25 2009 -0400

    Disable libpth by default.

commit b4bfe12743f3fdfff9863044455f212efd270803
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Apr 24 21:48:12 2009 -0400

    Since cracklib uses locale specific strings, do the same when comparing
    pinentry quality strings. This whole scheme is kinda hokey. Need a
    better way.

commit 03f434efb628679a13a5425e2dd87adfc4117172
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Apr 24 21:46:12 2009 -0400

    Updated to require pwmd 2.0.

commit 5e13191bf1009db9c62943e8c78a70e5b9c312c7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 19 18:30:57 2009 -0400

    Renamed socket:// to local://.

commit d72a0e0dfaee83a5f8aa6eb115aa07d9ecbe757a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 19 18:22:32 2009 -0400

    Use pth_fdmode() where needed.

commit 79b1d91a464f23f006fe22024786e4088cd8853e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 19 18:21:23 2009 -0400

    Fixed commit 15f2551. Build libassuan with libpth support by default
    like libpwmd does.

commit 8b66e7f31814f72e2d849bfe86cd25541c7eed03
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 18 11:42:02 2009 -0400

    pwmc: When --force-save and no --local-pinentry is used, return
    GPG_ERR_WRONG_KEY_USAGE. This prevents saving with an empty passphrase
    since CLEARCACHE is sent before doing the save.

commit 4110b2185bc04b7386babc6e558d5dc740200d64
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 18 11:21:14 2009 -0400

    pwmc: --force-save also specifies --save.

commit d5ae4cb56610b8a6d3cdd0e0304f03bd26389390
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Apr 17 19:59:37 2009 -0400

    Added PWMD_PINENTRY_DEFAULT to use the user defined pinentry strings
    which are set with pwmd_setopt() when using pwmd_getpin().

commit 82663e8f198f2e95deb82eb90b9082560ff04074
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 22:21:13 2009 -0400

    pwmc: Fixed freeing the temporary saved password when --local-pinentry
    is used.

commit 326821fe53361da33e44ed7351ef810d33b58854
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 22:12:59 2009 -0400

    When an unknown pwmd_option_t is sent to pwmd_getpin(), let any user
    specified PWMD_OPTION_PINENTRY_DESC be used in the pinentry dialog.

commit dbb8aee701d1f1f4546bf0301cd44bdf977cecdb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 22:00:45 2009 -0400

    Somehow the PWMD_PINENTRY_CLOSE enumeration got skipped. Fixed.
    
    pwmc: Fixed setting PWMD_OPTION_PASSPHRASE after a retry.

commit a23152ced9f80ec365a6e1f16829321f7440fe55
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 21:47:43 2009 -0400

    Added PWMD_PINENTRY_CLOSE. This will terminate the pinentry process used
    with pwmd_getpin().
    
    Fixed pinentry retries when DEBUG is unset.

commit a4bf6cd6a4dca1e4c1484d1da39b3e3a1996bc4b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 21:34:42 2009 -0400

    Added pwmd_getpin(). This won't send any commands to the server. May be
    useful for remote pwmd connections.

commit 15f2551937746c83cbbd764a7567915d598afcdb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 19:58:58 2009 -0400

    Don't build libassuan with libpth support when --without-pth is
    specified.

commit 6a6f1e1b6af350f18f2731006f296c6a22effa2c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 19:40:26 2009 -0400

    Added a note that pwmd v1.11 or later is required.

commit e3c039ccce5703ef4b91dafa4d7214606079b638
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 19:14:23 2009 -0400

    Call reset_async() after using PWMD_OPTION_PASSPHRASE or
    PWMD_OPTION_PASSPHRASE_CB.

commit 50dfdbc359ad1477107657e409fb7408446712e7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 16 18:55:02 2009 -0400

    Don't retry a passphrase if PWMD_OPTION_PASSPHRASE or
    PWMD_OPTION_PASSPHRASE_CB fails.

commit 3c8f2fb03a4a7c513d84ef380d385d0c5baf4dd5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 15 21:45:57 2009 -0400

    A few documentation updates.

commit b4e6db70ae779d06c44cdcc2e3e5afc522791dba
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 15 20:11:17 2009 -0400

    Use PWMD_OPTION_PASSPHRASE and PWMD_OPTION_PASSPHRASE_CB for async open
    and save functions too.

commit 4959f90fb3c0ab98dae983aee6d7dc5b2246f148
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 15 19:51:39 2009 -0400

    Don't do a pinentry retry if over an SSH connection and not using a
    local pinentry. Fail on the first invalid passphrase which may be
    empty or set with pwmd_setopt().
    
    Preprocessor conditional fixes.

commit b9e51e0015c205f91902e2ad7204d54e24b0b043
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 14 22:03:23 2009 -0400

    Added password quality checking for the local pinentry when
    --enable-quality is specified during configure.

commit 20e2f2ae8016e4c1354450b8b0e67dc9049c9443
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 14 21:21:23 2009 -0400

    Cancel a pinentry timeout after the first try. Fixes terminating the
    pinentry after a failure for all methods.
    
    Fixed setting the pinentry retry string for all pinentry methods.
    
    Fixed cancelling a pinentry when doing a pwmd_open2().

commit 97ab9fcf9564fd095533ac61cb14343f4b9330ff
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 22:21:41 2009 -0400

    Added a note about changing pinentry methods and saving. For example,
    doing a pwmd_open2() will send "OPTION PINENTRY=0" to the server. Doing
    a pwmd_save() after this will cause the SAVE command to be sent
    without a passphrase and pwmd won't care because it's pinentry is
    disabled and it assumes this is what you want (an empty passphrase).
    "OPTION PINENTRY=1" must be sent before calling the save function for
    pwmd to use it's own pinentry again.

commit 70a01167a204a3bcf81457e987cdf487c6aacbd8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 21:56:49 2009 -0400

    Return GPG_ERR_ASS_NESTED_COMMANDS rather than GPG_ERR_INV_STATE.

commit 4194398f0dfe1cfa9ccabe12ec6bffcf6460bd15
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 21:39:28 2009 -0400

    Return an error of any of the async open or save functions are called in
    succession without calling pwmd_process().

commit 536820a6323cdef0cbfc38cdbf05103e0f0e4bd6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 20:43:22 2009 -0400

    Return an error of any of the async connection functions are called in
    succession without calling pwmd_process().

commit 87e271dc838fd37f47a2ba60c2742080ed654bb5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 20:26:33 2009 -0400

    Added pwmd_disconnect() to close the connection without freeing the
    resources. This will also keep any options set for the handle.

commit 5c1429b475825f029eb2c06666c9453d08d6e8f8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 19:46:05 2009 -0400

    Fixed a segfault during an SSH connection failure.

commit 1f70d19fd06f0ed8bc2016b0adc01eccb333975a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 13 19:38:10 2009 -0400

    ssh.c cleanup.
    
    More namespace cleanups.

commit 9f4515db2c2e17f0bd5f3541d7defae12b7c4cc6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 22:01:22 2009 -0400

    pwmc: Fixed NULL terminating the command read from stdin.

commit 7e566a46417d2684aa430b63c35306d40270fdc5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 21:41:13 2009 -0400

    pinentry.c cleanup.

commit 3b6e8a66a5bd5014b0213e054286db5828c6c3eb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 20:58:43 2009 -0400

    Fixed pwmd_open_async2() and pwmd_save_async2() to use non-blocking OPEN
    and SAVE commands and not just a non-blocking pinentry.

commit 31e437e47f9b8f69191dbe5ecd4f0f5af970e912
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 19:52:46 2009 -0400

    When sending a command with pwmd_command(), make sure than it is <=
    ASSUAN_LINELENGTH. If not, return GPG_ERR_LINE_TOO_LONG. This check is
    done anywhere pwmd_command_ap() is used (_assuan_command() and
    assuan_write_line() actually).
    
    Call _pwmd_process() to parse any pending lines if pwm->state ==
    ASYNC_DONE and in a command (ASYNC_CMD_OPEN/SAVE2).
    
    Another fix for closing the remote connection when doing a
    pwmd_open_async2() on a failure.
    
    Check for GPG_ERR_ENOENT in _do_pwmd_save() after sending ISCACHED.
    
    Fixed freeing the passphrase after writing to the pipe during a SAVE.
    
    Code cleanups (libpwmd.c mainly).
    
    Namespace cleanups.

commit d3ed94814302f0943e7fcb088de7ed02a36b9ef8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 15:56:34 2009 -0400

    Fixed a couple Debian lintian warnings with the manual page.

commit 6707b14f90c0ee4fb7ec7e3ba31984fdaa8f21e2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 10:58:11 2009 -0400

    pwmc: #include <fcntl.h>, usage text cleanup.

commit 9bd83ad1cfeba8cb1f3cc0bf7229ec23923780dd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 10:44:56 2009 -0400

    Return GPG_ERR_CANCELED rather than GPG_ERR_EOF if the pinentry process
    terminates unexpectedly. Avoids confusion with the pwmd context.

commit 6bd2aa506eecbf18bb3992a8755d8d9086ad6e84
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 10:37:59 2009 -0400

    Fixed commit 4d70df9. Don't use send/recv() on a pipe().
    
    Return GPG_ERR_PIN_BLOCKED in pwmd_open2() if another handle is using
    the pinentry. Otherwise the global timeout and handle would get reset.
    
    Move the do_pwmd_open() pinentry code to pinentry.c. Fixes pinentry
    global warnings.

commit 36edce4878222a059b0abe356d333bbc471e766e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 09:43:19 2009 -0400

    Created src/misc.[ch],ssh.[ch],pinentry.[ch].

commit 89e0fc4c441731372cbdc3c58c4a28e40195f2eb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 01:13:24 2009 -0400

    pwmd_new() now sets a default pinentry tty, term and display from the
    current environment. These can be changed with pwmd_setopt(). Note that
    the remote SSH pwmd connection defaults will be overwritten
    (~/.pwmd/pinentry.conf) with these settings since
    send_pinentry_options() is called. To prevent this, set the option
    values to NULL (or what ever is needed) before doing a command that may
    require a pinentry. This also affects the local pinentry.

commit 5c67fb92b47895450a1f1426aaedc7504de96cbd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 00:33:56 2009 -0400

    Fixed sending "OPTION DISPLAY" when set with pwmd_setopt().

commit 4d70df9a1c7b024babca362b7c06ac883f4dd01a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 12 00:31:40 2009 -0400

    Use send()/recv() instead of read()/write() for socket IO.

commit 9a826b3444355b6221a5822ed69678e177c801a4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 22:17:18 2009 -0400

    Another fix for commit 592815d. Don't close the SSH session when an OPEN
    fails.
    
    If WITH_TCP was not defined, return GPG_ERR_NOT_IMPLEMENTED for
    PWMD_OPTION_IP_VERSION.
    
    Return GPG_ERR_UNKNOWN_OPTION rather than GPG_ERR_NOT_IMPLEMENTED in
    pwmd_setopt().
    
    Always strip the error source before returning a result code in all
    functions.
    
    Added an Errors sections to the documentation.

commit 733ecfcfb7f879ae499b4ab5729f31f5ce1357fb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 19:50:25 2009 -0400

    Preprocessor conditional fix for the previous commit.

commit 7623e3043c4e382053745fe08bf0c0773f12f057
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 19:35:46 2009 -0400

    Fixed pwmd_open2() with a remote SSH connection when retrying a
    passphrase.

commit 4ff0495900f7c7337b23273da3fceff3f0c4a6ca
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 19:25:39 2009 -0400

    Fixed pwmd_connect_url() with a NULL url parameter.

commit 3d17b6ad32ccc13fb218e6b30097e28148200ba7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 18:19:29 2009 -0400

    If pwmd_connect_url() doesn't match ssh:// or socket://, then assume the
    url is a socket:// rather than returning GPG_ERR_UNSUPPORTED_PROTOCOL.

commit 24e7601a9bac81b05fcbd18d2e1a78d6a26dc56f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 18:12:32 2009 -0400

    Added pwmd_socket_type() which sets a parameter to PWMD_SOCKET_UDS or
    PWMD_SOCKET_SSH. Useful when you want to know how pwmd_connect_url() did
    the connection.

commit 9b33c58526da9bf99d9eb19020ec28348bc66a54
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 17:49:31 2009 -0400

    pwmc: Let --url be a non-DEBUG option.

commit 8aac86c5ea577d274ca8bca8fb7a8dabaa85d13e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 15:39:42 2009 -0400

    pwmc: Set STDIN_FILENO to non-blocking when waiting for input even when
    not debugging. This lets status messages get processed which may be
    disabled with --no-status.

commit 07b713fe3a20fcb3afebe4a1d2b0f4261e1eee74
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 15:35:33 2009 -0400

    Reset pwm->cmd from pwmd_ssh_connect(). Fixes pwmd_process().

commit b140a1926cbcae7557e71f96a97f1851def40624
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 13:42:23 2009 -0400

    It is probably better to set O_NONBLOCK only for the duration of
    _pwmd_process() and not the entire INQUIRE.

commit 6fa150f99c894854dfad6f25259a32d44af04f17
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 13:27:28 2009 -0400

    Call _pwmd_process() in _inquire_cb() so status messages can be parsed
    while doing an INQUIRE.

commit fe78f6e26025811d98a9704b068dbaa780e1d809
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 13:21:15 2009 -0400

    More documentation cleanups.

commit 2ad0a2476374e3446da75f3b772b9b063eb9c1a1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 13:20:53 2009 -0400

    Fixed installing the wrong lintian overrides for the Debian package.

commit f6e3e6eae58e5cd3fbcd0ae8497bc1324caf2bd3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 11:00:47 2009 -0400

    Instead of sending the NOP command to process pending status messages
    when not in an asynchornous command, poll the socket FD instead and
    process the pending lines like pwmd_open_async() and pwmd_save_async()
    do.
    
    Check the return value from the status callback for an error.

commit 7834dc9877bfc630d24724c3cca4279f694c0001
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 10:27:05 2009 -0400

    --disable-ssh fixes.

commit b64a5731a9610063a2c9dd77a5ef1deef4afc773
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 11 09:56:22 2009 -0400

    Call libssh2_channel_close() before freeing it.
    
    Don't close the SSH file descriptor until the session has ended.

commit 029a8312cbf4ea4927318d54e2b6d839f3c5320a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Apr 10 00:20:08 2009 -0400

    More documenations updates.

commit 1f2b62244814c9a70d755c71a95c7ebae67f5f76
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 23:00:17 2009 -0400

    Added a note to the documentation about filenames beginning with a
    tilde.
    
    Updated to doxygen v1.5.8.

commit d0a1f41c83ca17d4a7f26194db50faa1de5dffc5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 21:58:38 2009 -0400

    Show the client name in the pinentry dialog.

commit 75bad59f62fc06a889fa40f2b2a9f19a5560e6f8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 21:42:55 2009 -0400

    All function arguments that take a filename path now have ~ expanded to
    the invoking users home directory.
    
    Fixed pwmc --pinentry.

commit 7d0726f55be1be5e2c31b2ce1caf120452268513
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 21:10:35 2009 -0400

    Check for an empty (but not NULL) required parameter in init_tcp_conn().

commit 523b8bb5f84f0fb8cf9bfaa0595e23271cd563c2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 21:03:21 2009 -0400

    Fixed pwmd_process() when an OPEN command failed with
    GPG_ERR_INV_PASSPHRASE. Don't retry.

commit 46e08c0f453e87ae4b5f82f89d0440f3d27d36e3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 21:00:08 2009 -0400

    Free the tcp_conn in reset_async() when 'done'.
    
    Fixed a segfault during pwmd_close() if there was no existing tcp_conn.

commit 5ddea758a90da29823ba11ed178ae24a88cb1b45
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 20:53:24 2009 -0400

    Free the tcp_conn in setup_tcp_session(). Fixes freeing on a async
    connection failure.

commit 01f344aa90af696cf65afe3cfa7ffe6905e95aa7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 20:32:34 2009 -0400

    Send "OPTION PINENTRY=0" after establishing a remote SSH connection to
    prevent pwmd from trying it's pinentry. This will be removed when X11
    forwarding is supported.
    
    Fixed _socket_connect_finalize() to free the tcp_conn on failure.

commit eca285b7f6da7c832cde39dc98b8d76715f5bf8f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 19:11:05 2009 -0400

    Revert "Added support for a passphrase in the url string."
    
    This reverts commit 5d1406e884e18cb3bcfca08b0001f5ac7962b29e.
    
    This really should have been a passphrase for the identity file and not
    the data file, but I can't get passphrases with an identity file to work
    properly so skip it for now.

commit 5d1406e884e18cb3bcfca08b0001f5ac7962b29e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 18:50:25 2009 -0400

    Added support for a passphrase in the url string.

commit 143bee39d96ecf62b4801d1865271611cab908a5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 9 18:38:58 2009 -0400

    Set PWMD_OPTION_IP_VERSION to PWMD_IP_ANY when ssh:// is used. This
    resets to the default when using the same handle on a previous failure.

commit e7605ed3733577ab95d565b957943cf00c5ef5f8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 8 23:35:13 2009 -0400

    Added pwmd_connect_url() and pwmd_connect_url_async(). These allow for
    connecting to either the local or remote pwmd server by options
    specified in the URL string.

commit 2baf39da15b7b9d0fcfaf4a7813cdf7111d41725
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 8 19:51:22 2009 -0400

    Another stdarg bugfix. This time in pwmd_strdup_printf().

commit 46d6c4c7fc5a8d51ef75cbc8c246e1ace78d05f4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 8 19:45:43 2009 -0400

    Return GPG_ERR_BAD_CERT if the host key cannot be verified rather than
    GPG_ERR_CHECKSUM.

commit 860095b647a462a70d8aa05cb163bc97eb91daa6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 22:24:38 2009 -0400

    Require a C99 compiler.

commit ad4d2d8c9e6431a0633926265c3735800838c2d5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 22:11:09 2009 -0400

    configure.ac: AC_USE_SYSTEM_EXTENSIONS, require autoconf 2.60, fixed a
    typo for x86_64 Linux.

commit 02081b75d23b74d3e844a808e54f7be1d255b59e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 21:46:02 2009 -0400

    Fixed PWMD_OPTION_PASSPHRASE and PWMD_OPTION_PASSPHRASE_CB to work with
    all open/save functions including the async ones.

commit 67c957dbac1d656930c241b9fcd017a880dac033
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 21:30:18 2009 -0400

    Fixed pwmd_get_fds() when doing an ASYNC_CMD_OPEN2 when the file was
    cached or a new one.

commit 2dabe9ce1629c4496a53fd98b4c2012234f1d1e3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 20:59:51 2009 -0400

    Set the file descriptor to non-blocking in pwmd when debugging async
    modes.

commit 189a2195d46cf84948f521ff646ffae44ffd7c57
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 20:33:13 2009 -0400

    Link with -lrt on Linux x86_64 boxes.

commit 75893d5d4b76b62cbabe55fbac4358d35a9d37d1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 20:08:38 2009 -0400

    Added GPG_ERROR_CFLAGS to the pwmc Makefile dependencies.

commit 0f82c40358af298a7e14a775113406a4be79af31
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 20:01:18 2009 -0400

    Zero length is a success from read_hook() and write_hook().

commit 9d5aca9f8e5353a943d0ad3f5181df703b42dd72
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 19:10:05 2009 -0400

    Fixed read_hook() and write_hook() over an SSH channel.

commit 8016d4244eac56f38c41e92ea4e40e6e39f83422
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Apr 7 19:00:08 2009 -0400

    Commit 1b59e7d contained a typo that didn't really fix pwmd_command().

commit 1b59e7d762f9723bdef03fc4a5d2350413dd22ec
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 6 22:07:33 2009 -0400

    Fixed pwmd_command_ap() corrupting the argument list. Operate on the
    va_copy() after getting the length of the original.

commit b6498fff65663d2b7110cb659b86ec3047808ba9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Apr 6 21:54:09 2009 -0400

    Fixed option --name.

commit 6cc18a4d5656fc9cee1d5dcc700b239ab6b80922
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 5 11:47:38 2009 -0400

    The 'changelog' target now only generates changes from v5.0.x to
    current.

commit 7b462e58d0a5aee5b77e45ce2ddc03d3dbe2a5c9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Apr 5 11:40:47 2009 -0400

    Minor documentation cleanups.
    
    Debian package control updates.

commit ff5fa94e327b46a9c5202ac4ead1d749f71ac054
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 22:17:34 2009 -0400

    Documented SSH in the header. Also fixed formatting which broke in
    commit c9c5c52.

commit 7e37892f91647c257205ee0260dda04b7f181599
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 21:29:52 2009 -0400

    Fixed some compile-time conditionals. Again.

commit ba6fda62a143da4d71efa42b035404961072df77
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 20:10:35 2009 -0400

    Added a note about calling pwmd_get_fds() after each call to
    pwmd_process().

commit 5079c37ceb6c7dff25526becad65a2041887641e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 20:00:24 2009 -0400

    Removed pwmd_get_fd() and pwmd_get_async2_fd(). These are replaced with
    pwmd_get_fds() which sets a new type array of pwmd_fd_t with the
    available file descriptors for the specified handle. What its filled
    with depends on the connection state. This also adds new constants
    PWMD_FD_READABLE and PWMD_FD_WRITABLE.
    
    During pwmd_process() when the command is ASYNC_CMD_OPEN2 or
    ASYNC_CMD_SAVE2, check for pending status messages.
    
    Fixed potential double free in do_save_getpin().
    
    Make sure 'result' is non-NULL before setting it.

commit bd74b7ecc0ad8073d1ec73de05b7f8751fecb33b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 11:33:30 2009 -0400

    Fixed PWMD_OPTION_PINENTRY_TIMEOUT when used with pwmd_open2().
    
    Added a note to the documentation about SIGALRM.

commit a97c604c62a4305e5605e424c977990f510b2ad1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 11:03:06 2009 -0400

    Updated the pwmc documentation.

commit 22a14b88f1fbf5bb6c3066afc30129f38ad060f8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 09:42:16 2009 -0400

    Make sure a valid handle and assuan context is available before trying
    to process a function.

commit ce813d66e3417368e02a57495c238e855895ee36
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Apr 4 08:52:45 2009 -0400

    Return ASYNC_DONE from pwmd_process() when not in a command and the
    result to NULL.

commit e7677728eac8e4d97f4e6979b3fe57525182fbf1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Apr 3 19:43:42 2009 -0400

    Determine the pwmd server version in _socket_connect_finalize() so
    do_pwmd_open() can decide how to check for existing data files.

commit c9c5c5283120e1e471e6e9abddce35a9e3253999
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 2 22:35:41 2009 -0400

    Documented pinentry.

commit 3584b471f9288cec5ce43145df3b6e4d2ed84fde
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 2 21:45:20 2009 -0400

    Fixed local pinentry strings.
    
    Don't disconnect the local pinentry context when doing a SAVE and the
    passphrase confirmation fails. Keep the context open and retry.

commit 63bbeed63f311978f679183c06086874dbc8ed80
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 2 20:56:10 2009 -0400

    Renamed pwmd_get_fd2() to pwmd_get_async2_fd().

commit 173f2da5d067bcd427161b8e0b57cb8013984570
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 2 20:49:11 2009 -0400

    Removed PWMD_OPTION_PINENTRY. No longer needed since pwmd_open2() and
    pwmd_save2() can be used.
    
    When setting pinentry options, wait to send them to the server (if using
    pwmd's pinentry) until the function that uses them is called.

commit 14a11cdc8a26f79a777edc7e85a6e926d4f53f94
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 2 19:51:54 2009 -0400

    Don't do "GETCONFIG data_directory" on an SSH connection.

commit 4e5f1fccd7beccb7b0d4ce4265bafef7e4550aa9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Apr 2 19:38:49 2009 -0400

    Added pwmd_open2() and pwmd_save2() which will use the local pinentry.
    A client no longer needs to set PWMD_OPTION_PINENTRY to use the local
    pinentry; libpwmd will do it itself. If you need to change pinentry
    methods using the same handle, you'll need to send "OPTION PINENTRY" to
    pwmd yourself.

commit 67935342ebfb023554c6dddb21f5634b49c1c144
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 1 23:46:12 2009 -0400

    More documentations updates and fixes.

commit e2ad3348dead0e40e8232214e416227574d4ea1e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 1 22:09:25 2009 -0400

    pwmd_get_hostkey() now requires a pwm_t handle. This lets
    PWMD_OPTION_IP_VERSION work.

commit bf7de94df13128182708951a0587592f90b947a4
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 1 21:48:43 2009 -0400

    WITH_PINENTRY conditional fixes.
    
    Fixed --disable-pinentry.

commit d55c4297aa946a0f1574130b24adb4c92f19e435
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 1 21:17:57 2009 -0400

    Loop over do_save_getpin() when GPG_ERR_INV_PASSPHRASE is returned. This
    is the same behavior as the other save methods.

commit 051e95635170461b1ef41fcda16b96f35a133588
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 1 21:15:47 2009 -0400

    Fixed pwmd_save() when PWMD_OPTION_PINENTRY is set.

commit e8f82b6827bd9dc85d4ffcc480a7ea93a34a660f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Apr 1 20:57:47 2009 -0400

    The order of getting the password is:
            1. PWMD_OPTION_PASSPHRASE (not async/async2)
            2. PWMD_OPTION_PASSPHRASE_CB (not async/async2)
            3. The calling function method.
    
    Fixed do_pwmd_save() to use the local pinentry when
    PWMD_OPTION_PINENTRY is set when called from pwmd_save().
    
    Documented pwmd_inquire().

commit 84a25677fe176db944103ab6006e312e4f849c4d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 31 21:57:10 2009 -0400

    Created a doc/Makefile "doxygen" target to generate the documentation.
    
    More documentation cleanups.

commit c104fc566638c8f13874bef6271a2d76f8f371fe
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 31 19:39:48 2009 -0400

    Set a default timeout of 30 seconds for pwmd_open_async2() and
    pwmd_save_async2().

commit 1bbeb92042e0a8743a1695cc9580bceb4669d075
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 31 19:31:18 2009 -0400

    Renamed pwmd_password_fn to pwmd_passphrase_cb_t. This also changes the
    prototype to return a gpg_error_t and have the new 2nd parameter be set
    to the passphrase. Returning non-zero will cause the command to fail.
    
    Renamed pwmd_status_fn to pwmd_status_cb_t.
    Renamed pwmd_inquire_fn to pwmd_inquire_cb_t.
    Renamed PWMD_OPTION_PASSWORD to PWMD_OPTION_PASSPHRASE.
    Renamed PWMD_OPTION_PASSWORD_FUNC to PWMD_OPTION_PASSPHRASE_CB.
    Renamed PWMD_OPTION_PASSWORD_DATA to PWMD_OPTION_PASSPHRASE_DATA.
    Renamed PWMD_OPTION_STATUS_FUNC to PWMD_OPTION_STATUS_CB.

commit e2a18079d157bc53750cdc808c9092234d0e1e15
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Mar 30 21:49:02 2009 -0400

    Updated the documentation.
    
    Use doxygen to generate the API documentation from src/libpwmd.h.in.
    Need a Makefile rule, so this isn't done yet.
    
    Added README.SSH and doc/doxygen.conf.

commit 1d156a1800c61a8ea4ff92b85752893e8360dd5d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 29 12:24:31 2009 -0400

    Added PWMD_OPTION_IP_VERSION which should be set to a pwmd_ip_version_t
    before trying to connect to an SSH host. This sets the IP version to
    use: PWMD_IPV4, PWMD_IPV6 or the default of PWMD_IP_ANY.
    
    Added pwmc command line options --ipv4, -4, --ipv6 and -6 to use this
    new option.

commit 2291a5f0755feae97a4c6bc399cae8f9e61f97ba
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 29 10:34:02 2009 -0400

    Fixed --port.
    
    Made _pwmd_strerror() static.

commit e57fae52699b7f2399f87a5a0b21d2f592f0d79f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 29 10:19:09 2009 -0400

    A few minor cleanups.

commit 2a3e6f67925b1f619494ce1790d879af1174196b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 29 09:49:22 2009 -0400

    Fixed zombie pinentry processes.

commit 35ba0e8ad570c1a8a0a5c4ee25239d0bd74c3c7e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 29 09:38:24 2009 -0400

    Fixed pwmd_save_async2() when used with an SSH channel. Finishes commit
    4270abf.

commit 356e4ed401ad2b9fd30657bc5d6eac6a38d55935
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 29 09:28:27 2009 -0400

    Fixed the --get-hostkey option.

commit 3c6a410c5f13318c518a63c79c996dd6a852758c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 22:22:22 2009 -0400

    Fixed some compile time warnings.

commit 9d9a34e7f8f912891ef26150db3daea935f734eb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 21:40:34 2009 -0400

    A few compile time conditional fixes.

commit 4270abf0258e6730414319ee05b443ad7e83d802
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 20:31:36 2009 -0400

    When doing a pwmd_open_async2(), check the passphrase in the parent
    process and not the forked pinentry process. Fixes SSH channel
    corruption: sshd: Disconnecting: Bad packet length 2967639646
    
    pwmd_save_async2() needs the same fixing.

commit ac035b8055e2651a7ef8302e9b19e61fc8672572
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 18:08:25 2009 -0400

    Fixed checking for an SSH error in write_hook() and read_hook().

commit 282c0895faa68c9b066f65e2fbf81dca48efa06e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 17:23:40 2009 -0400

    Trim any '\r\n' in the command before sending it to the server.

commit 4715eb1fe76ec292859e389bac4e51be75a90da2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 17:12:55 2009 -0400

    Fixed pinentry retries when used with pwmd_open_async().

commit 54aa8a8ca537112929bca104efec90fbfcce379f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 13:52:59 2009 -0400

    Check for getopt.h for systems that have getopt_long().

commit e159755c81fe77f314f3fb8ab7830963741df930
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 13:46:50 2009 -0400

    Use getopt_long(). When not available, build the included getopt_long.c.

commit 31ac4eb74b8010743b99b19b8d030e190488ab45
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 12:10:40 2009 -0400

    Fixed a potential buffer overflow in do_nb_command().
    
    Use dynamic memory allocation in strings that are ASSUAN_LINELENGTH
    long.

commit ab9e4cd6764b0ca1017c393097355c3df3ad974e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 28 11:44:13 2009 -0400

    Fail if assuan_get_active_fds() does.

commit 375676baa53b8683ebfff3d727a2e19caf38ed1b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 21:51:29 2009 -0400

    Renamed pwmd_tcp_connect() and pwmd_tcp_connect_async() to
    pwmd_ssh_connect() and pwmd_ssh_connect_async().

commit cbf01f5113f8899b00e0c204c85e2480d75ffbc2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 21:43:18 2009 -0400

    Don't dup() the assuan ctx FD.

commit 50a8adcc9f51263f5bd8ea373d269d6720504081
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 21:13:51 2009 -0400

    Fix for the previous commit which didn't consider a new file.

commit 3777c81f89c245d99fa40d4ac39bdbbcad93d200
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 20:48:57 2009 -0400

    Fixed pwmd_open/save_async2() when the file is cached on the server.
    
    Fixed commit 592815d. Don't call close the TCP FD when not doing a DNS
    or CONNECT.

commit e6e9505fb4707789f396737dc46e0d0f7a27ea5e
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 20:07:53 2009 -0400

    Fixed using a specified passphrase when using pwmd_open/save_async().

commit 592815d8132d9540a8646f9f351bc8a1153f51b2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 19:44:58 2009 -0400

    Don't close the TCP FD when an async command completes.

commit 51aedbd68ff479fe6f27be6093e567d41c5ac06d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 26 19:19:32 2009 -0400

    Fixed a pwmd_tcp_connect_async() segfault.

commit 67ed21d67e9658822e943a6aa64527aa8d7ba69b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 25 21:00:12 2009 -0400

    Added pwmd_get_fd2() to return the FD used by pwmd_open_async2() and
    pwmd_save_async2().

commit edb04a5bfbe0f5dddaa05cf57436f9dc3f38bc85
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 25 20:53:07 2009 -0400

    Removed pwmd_terminate_pinentry(). There is no need for it that I can
    tell.

commit f7f5435f252a53bcd74428446a00f1bcd1fbae70
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 25 20:36:24 2009 -0400

    Removed pwmd_open_nb(), pwmd_save_nb(), pwmd_open_nb_finalize() and
    pwmd_save_nb_finalize(). These have been replaced with
    pwmd_open_async2() and pwmd_save_async2() which are asynchronous
    commands that should call pwmd_process() but still have the same
    functionality as the old functions.

commit 66d2f235b7b0f3cc0b3217cdcd08b7abae9f9418
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 25 19:26:58 2009 -0400

    Reset the state after command completion.

commit d86ed4331581394ce92558525bc564e0f5dc3dad
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 25 18:56:33 2009 -0400

    Fixed pwmd_get_hostkey_async() to reset the state.

commit d594b61bb954a67e019e92cbb5586ae932365a29
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 24 23:00:51 2009 -0400

    Set the pwmd_process() result when finished. Fixes
    pwmd_get_hostkey_async(). Note that the result should be freed with
    pwmd_free(). It is not freed in pwmd_close().

commit 96862f9db209e895752d114bdab719c57bf45008
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 24 22:50:46 2009 -0400

    pwmd_calloc() not pwmd_malloc() in pwmd_new().

commit dda5ee09f369c2beaf475fe91871fc3131a14e88
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 24 20:45:01 2009 -0400

    Let pwmd_open_nb() use PWMD_OPTION_PINENTRY_TIMEOUT rather than a
    extra parameter.

commit 0ea63d327065b2cbd6f6d0f1a338fa75b800acc6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 24 19:32:02 2009 -0400

    Re-add pwmd_pending_line(). The difference is that assuan_read_line()
    won't be called. Rather pwmd_process() should be called but only when
    not in a command.

commit 6dac91441f212c7a63e7d53e8d25b98825bc3b30
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Mar 23 22:02:07 2009 -0400

    API changes:
            removed: pwmd_pending_line(), pwmd_assuan_ctx(),
                     pwmd_free_result(), pwmd_get_result(), pwmd_finalize()
    
            added: pwmd_new(), pwmd_get_fd(), pwmd_free(), pwmd_malloc(),
                   pwmd_calloc(), pwmd_realloc(), pwmd_strdup()
    
    pwmd_new() returns a handle for use with all functions. Functions that
    retured a pwm_t now return a gpg_error_t. The 'name' argument when set,
    will send "OPTION CLIENT NAME=name" to the server after the connection
    is made.
    
    A 'result' argument is now passed to pwmd_process() which replaces
    pwmd_finalize() and pwmd_get_result() (needs work).
    
    pwmd_password_fn no longer uses a pwm_t parameter; only user data.
    
    Fixed _getpwuid().
    
    pwmd_command() will only set 'result' to NULL if 'result' is not NULL.
    Another fix which should have been included in commit 9a7055d.

commit a42d04fe8ccfe8634b5bd4a3011c8334b377e275
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Mar 23 19:42:34 2009 -0400

     #include <stdarg.h>

commit 9b7a1d9752f6cd1764c883d93bfcd0642df1f535
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 13:16:50 2009 -0400

    Public/private symbol cleanup.

commit 1cf623c6c4fbbfcad1f1543f73d494a2f25e4d7a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 13:00:00 2009 -0400

    Use ttyname_r().

commit e5ab59627d117f2a7f543766c368c0d2094f80f6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 12:48:22 2009 -0400

    Use getpwuid_r().

commit d3b13cc50badb447ec81ef73a61148aacb2917dd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 12:25:44 2009 -0400

    If username is NULL when passed to pwmd_tcp_connect(), use the current
    user gotten from getpwuid() as the username.

commit e2eb08a6d4089cfa8d988611d7766369bb0a0830
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 12:15:42 2009 -0400

    WITH_LIBPTH conditional fixes.

commit 8c90ea15ec4def110bc09b77706ce9b426b05153
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 12:02:26 2009 -0400

    Added pwmd_strerror_r().

commit 0cdbb5195c19a63047159f064f1083b0fd714326
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 11:51:37 2009 -0400

    Fixed pwm->result without TCP support.
    
    Have pwmd_process() return GPG_ERR_INV_STATE when nessicary.

commit 85a4f47accc21315513d749def883ae81c66846c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 11:37:24 2009 -0400

    Better pwmc argument checking with tcp options.

commit 386d0ee72c2b049d6708ca3156f2e998e9e92b23
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 11:32:18 2009 -0400

    Allow -y for pinentry retries even without DEBUG.

commit 18abcf2b4cf7f8afe0e73258c1529002bbb02fbe
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 11:26:12 2009 -0400

    --disable-tcp compile time fixes and other minor cleanups.

commit 87a539f22aae44d38a675dc5a6cb2f4da8d3997b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 11:03:42 2009 -0400

    Fixed a typo in pwmc.c preventing reading STDIN.

commit e77a7bc01c1fc54d4b6716c36134dc8746fa9486
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 10:46:42 2009 -0400

    Let pwmd_process() work without a running command. This is a fix for
    0f2645 (the revert, actually). When a client calls this when no existing
    asynchronous command is running, the assuan NOP command is sent and the
    result code (rc) is set to the result of this command. This will let
    libassuan process pending status messages and pass them to
    PWMD_OPTION_STATUS_FUNC.

commit 9a7055dab22a7a4cd0349d8abb16b098940802f2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Mar 15 10:22:39 2009 -0400

    Make sure the result of a pwmd_command() is not NULL when there is a
    command result.

commit 1d6ba2ae776d63c5591ab1fd3df9682147c3e4d9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 14 21:23:46 2009 -0400

    Revert "Let pwmd_process() work when not inside a command. This is needed so"
    
    This reverts commit 0f26455c95b2e6d2667da49d88c1336f6b3dbf49.
    
    Brain fart. This would break the asynchronous OPEN and SAVE commands.
    Maybe I'll get rid of all the asynchronous functions and make the client
    use threads instead.

commit 74960a9c8eb366757c8ab65393bb544724351593
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 14 19:56:31 2009 -0400

    Fixed a segfault when after a remote client terminates.

commit 0f26455c95b2e6d2667da49d88c1336f6b3dbf49
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Mar 14 19:30:21 2009 -0400

    Let pwmd_process() work when not inside a command. This is needed so
    pending status messages can be parsed. It will return ASYNC_INIT when no
    (asynchronous) command is running.

commit 9fd44452073e47486c04e1ebe09a1230e42e9409
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Mar 13 21:23:40 2009 -0400

    Finalized commit 65d085f. Should be back to normal now.

commit b7cc7c49ce8877fa075d9f3bfc23f4935850b798
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Feb 25 19:35:40 2009 -0500

    Compile-time fix for FreeBSD when trying to link with libintl.

commit dc43b0b9a756c17e65033b7907a4caefb5f30dc6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Feb 25 19:13:24 2009 -0500

    Compile-time fix for --disable-nls.

commit e28d1813e84eb266567ee3d9354e41b98928c689
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 21:03:39 2009 -0500

    Updated pwmc.c to use pwmd_setopt().

commit 219e38933510a0efb7408e14f96fa71fdac95a93
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 20:54:28 2009 -0500

    Added PWMD_OPTION_PINENTRY_TIMEOUT. Only useful when pwmd is used as the
    passphrase retrieval method.

commit 4cf1449a30c21e8de0f464e39dbce1068b55e73a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 20:42:23 2009 -0500

    Let pwmd_setopt() set pwmd options directly when PWMD_OPTION_PINENTRY is
    unset. It's less confusing for the client programmer although letting
    the client send the OPTION via pwmd_command() will still work. It's
    better this way though since the internal structures are updated in case
    the local pinentry is used as a fallback is the remote pwmd pinentry
    fails for some reason.

commit 46d7486fdc53c10676578147498b13f57a54319b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 20:17:45 2009 -0500

    Added pwmc command line options -C and -M to set LC_CTYPE and
    LC_MESSAGES in the pinentry process. Requires pwmd 1.18 (not yet
    released).

commit 82ead5e5422a29217c794c547cf67454d9ec9e34
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 19:42:15 2009 -0500

    Added PWMD_OPTION_PINENTRY_LC_CTYPE and
    PWMD_OPTION_PINENTRY_LC_MESSAGES.

commit a423e6471f222afe34c81695df8d2d7e7fee4a2f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 18:50:05 2009 -0500

    In do_pwmd_save(), check for the user supplied password function first
    before pinentry like do_pwmd_open() does.
    
    Also fixed freeing the user defined password (update to commit dbb11e9).

commit 6f2d37596314d2119f840b7d97a4b945776d16fb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 18:41:46 2009 -0500

    Reset pwm->pid in pwmd_terminate_pinentry().

commit 33e9f4e52ee38fc483cac38d08a09bf4688927f8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Feb 24 18:31:48 2009 -0500

    Make sure pwmd_command_ap() has a handle and command.

commit d9fb3c913a432ed19a22021c3ea15cd7da30e70f
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Feb 23 22:16:15 2009 -0500

    Compile time fix for -DMEM_DEBUG.
    
    Don't link with mem.o when MEM_DEBUG is defined.

commit aca3d621984a98d22a284b3f15a4f3015674bcdd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Feb 23 21:54:58 2009 -0500

    Don't try to xfree the password returned by a user set password
    function.

commit 5d6e6015e30d5668f5397f7ab88cf4274515286d
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Feb 23 21:50:05 2009 -0500

    Updated the copyright header.

commit f0c0420b6da2d7336c4d9dd52e617496bc3ac020
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Feb 23 21:31:32 2009 -0500

    Added warn_unused_result attribute to pwmd_command_ap().

commit 0eea9b038f058db51d23d307ec85948680400a7b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Feb 23 21:29:30 2009 -0500

    Fixed mem.c to use a mutex when accessing the memory list. This fixes a
    potential segfault when more than one pwm_t handle is used.

commit 46acd0b47ad5b8f32345e06cbd53619060669be5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Mon Feb 23 20:31:26 2009 -0500

    Added pwmd_command_ap(). This makes pwmd_command() a wrapper around this
    new function.

commit 65d085ffcc4ce9eb8022870be746e282a08bf6a0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Mar 13 20:21:31 2009 -0400

    I messed up the directory tree making it hard to pull changes from
    the v5.0.x branch. So this is a temporary commit to move src/* to the
    root tree so pulling in changes is possible. There is probably a better
    way to do this, but I don't know of it.

commit 1ba67b81299172faa439cf387579744305f201eb
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 12 21:25:07 2009 -0400

    Fixed some memory leaks.
    
    Return GPG_ERR_INV_STATE rather than GPG_ERR_UNEXPECTED.

commit 298b61bd71c2f485b867605af073d78a6fe86cd9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 12 20:49:49 2009 -0400

    Added pwmd_get_hostkey_async(). Acts like pwmd_tcp_connect_async() so
    pwmd_process() will have to be called until ASYNC_DONE is returned. The
    result is gotten with the new pwmd_get_result() which should not be
    freed or modified and should be gotten before pwmd_finalize() is called.
    In a later version pwmd_finalize() will return a result and remove this
    new temporary function.

commit 883946754777fd4e02fd7e86513d3293f53905e5
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Mar 12 20:11:17 2009 -0400

    Fixed pwmd_tcp_connect_async().

commit 66dfae9665344c0ceaace8bc8226522c623f8e62
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 11 23:01:06 2009 -0400

    Allow comments beginning with '#' in the known host file.

commit 605c780f7538c64c0359f6c5a6fcc0edfbc58e06
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 11 22:47:23 2009 -0400

    Changed the arguments to pwmd_tcp_connect() and
    pwmd_tcp_connect_async(). Require public key authentication for the time
    being.
    
    Validate the server host key against a known hosts file. The format is
    different than the usual SSH known_hosts format so retrieving the SHA1
    host key is possible by using the new pwmd_get_hostkey() function and
    saving the result (which must be freed with pwmd_free_result()). There
    really should be a pwmd_get_hostkey_async(). Maybe later.
    
    Fixed pwmc command line options and descriptions.

commit 991bd4136850b46f468e853f9a6c1f7a201f7b30
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Mar 11 19:21:41 2009 -0400

    Use secure memory functions.

commit 60039d595bf8f9c0bcfa5199bb136cf5faab32a7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Tue Mar 10 21:34:17 2009 -0400

    An alternate way to do remote connections. This will probably be the new
    method depending on how things work out. The pwmd_tcp_connect() function
    requires a hostname, port, SSH identity file location, username and
    password (optional, not used yet). The identity file is used for
    authentication to the remote host's SSH server. The client (pwmc)
    connects to the server with the specified username, and the SSH server
    starts 'socat' (or something similar) to connect the input and output of
    the SSH channel to pwmd. Prepend:
    
        command="socat gopen:$HOME/.pwmd/socket -"
    
    to ~/.ssh/.authorized_keys for the associated identify hash on the SSH server).

commit 33a170b4b0bf2c418f24bf0f2aa05ded13785486
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Wed Jan 14 22:45:50 2009 -0500

    Added pwmd_command_ap().

commit 367376bc0a0bd645c34c3244a490c153f5e9c3c8
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Dec 13 18:06:52 2008 -0500

    Added doc/ and src/.

commit f345e8bec3b0d58df503d04aff0b6a5731437e1a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Dec 13 10:12:20 2008 -0500

    Fixed 'make distcheck'.

commit 74c63a103ac659bb04b833b1f2fcbc2ad503f5de
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 12 21:41:19 2008 -0500

    Use the new pwmd VERSION command to determine valid iteration values.

commit 0f1359297219724145d39f9a96ba3c1c84c8347c
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 12 20:55:31 2008 -0500

    Prefix all libassuan symbols with _pwmd_ to prevent collisions with
    applications that use libassuan.

commit 8bb216676b4f9cc0392c443575b5e8f3138ea559
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Dec 12 20:44:09 2008 -0500

    Make libassuan a convenience library to fix libtool complaining about
    portability issues.

commit 4b059cf6fc3688844a0699f2ee5eb5b4d9dbb505
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Dec 11 21:08:19 2008 -0500

    Added assuan_socket_connect_fd() and assuan_set_finish_handler().

commit 28909e7e80196de74bebd2a2ad6061f7841f36d0
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Dec 11 21:05:21 2008 -0500

    Added libassuan.

commit 7832a15999ac0c167a001f59a14d052a6e14da95
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 22 13:45:01 2008 -0500

    Fix for pwmd_assuan_ctx(). Don't declare assuan_context_t. Make the ctx
    parameter void*.

commit 4c7ea20298e0cec6e14b7d8194c486a714e3efa7
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 16 11:10:13 2008 -0500

    Fix for ARES_EDESTRUCTION which is sent to the callback after
    ares_destroy() is called. It was referencing the free'd tcp_conn.

commit 9a368458118ff5278542405da5be7a1460e09804
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 16 11:09:20 2008 -0500

    Dont free the hostent until the connection is complete or fails.

commit 98476c2fb7b6d332d168b1e168c1f0b76145f576
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 16 10:18:20 2008 -0500

    Use libcares instead of libevdns for non-blocking DNS lookups. This
    library supports IPv6 among other things.
    
    Fixed do_connect() to use pth_connect() when needed.

commit e62454dc57f876353a40953610d14a292d8b69fd
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 13 22:48:20 2008 -0500

    Fixed libpth support with --enable-tcp.

commit bd1668e8104a393774117b1c3e2490640ddd35df
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 13 22:06:19 2008 -0500

    pwmd_tcp_connect() and pwmd_tcp_connect_async() require two more
    parameters: "verify" to verify the peer certificate hostname when set,
    and "priority" which is passed to gnutls_priority_set_direct()
    (SECURE256 by default).
    
    Also added pwmc command line options -V and -C to set these new
    parameters.

commit 74e0b8bfe53331eea216eda5db19c114fd5ed919
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 13 22:00:39 2008 -0500

    Revert "Added PWMD_OPTION_VERIFY_HOSTNAME and pwmc option -V. This will verify"
    
    This reverts commit 775ddf8c3dde39c783cdf9bb8d7916148ca897f3.

commit 775ddf8c3dde39c783cdf9bb8d7916148ca897f3
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 13 21:03:27 2008 -0500

    Added PWMD_OPTION_VERIFY_HOSTNAME and pwmc option -V. This will verify
    the peers hostname in the certificate when 1. The default is 0.

commit eacf521b6aa942a6f312a832d7af4e0674911b03
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 13 20:47:04 2008 -0500

    Fixed checking the entire peer certificate list.

commit 210ca246deee60d0e5f81ecd788d9cf6afa0f730
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Thu Nov 13 20:34:45 2008 -0500

    Added EPWMD_FILE_ACCESS.

commit b832b3d7b4fbc8002e9e0fc4982fea812743f216
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Nov 8 12:57:38 2008 -0500

    Require libassuan v1.0.5 or later.

commit b83bb9713c4008ba04869135d45010e91b7b7441
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 2 20:08:49 2008 -0500

    When any of the gnutls_() functions fail in _tls_init() print the error via
    gnutls_perror() and return GPG_ERR_INV_CERT_OBJ.
    
    Fixed a couple double free()'s when certificate verification failed.

commit 5907a56fe241a438c367a9801e762a46440082a6
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Nov 2 19:04:31 2008 -0500

    Have pwmc show the hostname in the error message when connecting to a remote
    host fails.

commit f2e844c750f2f9d0ae5faf5bea867037dd02b444
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Fri Oct 31 19:42:51 2008 -0400

    Use "passphrase" instead of "password" in visable strings.

commit 1106143f77af5e6f149acf33da68bf237266badf
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 28 18:41:29 2008 -0400

    Small fix for the previous merge.

commit db24bbe5cc47a5f4984c4e65400807d8436b54bd
Merge: 28a8195 4aa3f3b
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 28 18:37:53 2008 -0400

    Merge branch 'master' into exp

commit 28a81953c32ee4636a8a2f8304b7029a1278ea46
Merge: 4ba6771 e0932f1
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Sep 27 23:08:47 2008 -0400

    Merge branch 'master' into exp

commit 4ba677173ae43f7ce457ed8b6f3e9d4ff86be883
Merge: 4aaa4c0 d8cf232
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sat Sep 27 22:51:25 2008 -0400

    Merge branch 'master' into exp

commit 4aaa4c01bf3745b04e813de4727726ddef424890
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 21 21:54:24 2008 -0400

    More preprocessor conditional fixes.

commit b1560989360dec44c85d7b318f1d55d92d23995a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 21 21:27:55 2008 -0400

    Fixed pwmc to use HAVE_LIBGNUTLS rather than WITH_GNUTLS.

commit b5c7d931d418b58f65cbd200bef6316c9038fff9
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 21 21:14:40 2008 -0400

    Added --disable-tcp to configure. The default is enabled and will
    require both libgnutls and libevent.
    
    Renamed USE_PINENTRY to WITH_PINENTRY.

commit 169304b5e4c0b8fa012b405b8823f6b3b8d38c7a
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 21 13:11:29 2008 -0400

    Unoffical pwmd_tcp_connect_async() support. Requires libevent to do
    asynchronous DNS lookups.
    
    Note that this and the previous commit need a modified libassuan. I
    posted a patch to gnupg-devel that adds assuan_socket_connect_fd() and
    assuan_set_finish_handler() which is required for these new functions
    to work. They haven't been included upstream and that's why these are
    unofficial/experimental.

commit 47abed1ff4b9c3060e7bdba51800bae1d66583a2
Author: Ben Kibbey <bjk@luxsci.net>
Date:   Sun Sep 21 13:05:20 2008 -0400

    Unofficial pwmd_tcp_connect() to a remote server. GnuTLS is used for
    encryption and client certificate authentication.
