commit fb5d252114b816c4cd684d853014c66ea57b6320 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 18:07:40 2010 -0400 Version 2.18. commit 0579dd8247b2d2a97da7a3ef94ba62e86fad28ad Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 17:50:45 2010 -0400 Forgot to include mutex.h in the archive after the rename. Fixed. commit 21f7141c28d2cbd43b62638f98c145e2a23e38f7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 17:28:34 2010 -0400 Fixed the --convert command line option which was has been broken since 2.12. hrm. commit 485dc11fcaea7735c2860f9e87c0748531162961 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 11:42:11 2010 -0400 Fixed CLEARCACHE corrupting the key_cache when clearing all entries. commit 2f1905af94e4f1287d140ae79375c69d38cde6f6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 10:47:37 2010 -0400 CLEARCACHE command fix when no filename was specified. commit 423aa405db83297f3c269478d5569375ae46bd6f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 10:04:58 2010 -0400 Dont try to hold the file mutex when a pinentry is running. This fixes a file mutex locking bug. It also changes the behaviour of multiple clients trying to use the pinentry. Only one instance of pinentry is used as before, but the current client using the pinentry wont hold onto the pinentry lock. Another client waiting for the pinentry mutex will get the lock after the first clients pinentry returns. commit 7eabc122f11814bfe543fc8c57ebf6d3b928a71b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 24 08:33:43 2010 -0400 Added configure option --enable-mutex-debug to only output mutex locking info. Renamed lock.h to mutex.h. commit 5bdaec31f4ceddd3aff4ba1cf7ea7b2e7a35fc4d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 23 21:15:54 2010 -0400 Updated docs. commit 7aa6f1badb40fe3384a972254d8845673b8d4470 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 23 20:40:30 2010 -0400 gpg-error cleanups. commit 2b322601c239a13510f8a42e8be42a9a8dfe4741 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 23 19:49:40 2010 -0400 Include config.h before other headers (it defines _GNU_SOURCE). commit 61e71be2f499cdea5275239c31abfaab71a86ac5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 23 13:41:07 2010 -0400 Cleaned up do_compress(). commit fafd53353a75e42fcb3b1bf76114beb9f311b99d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 23 13:27:56 2010 -0400 Added magic to the compressed data before encrypting. Invalid passphrases are checked against this magic after decrypting and before decompression. commit 9c5139092f729dc7af0abe30c64971e5729e4016 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 20 19:53:43 2010 -0400 Increment the cache refcount after locking the file mutex, not before. commit 64ca05f1874fb2b0fadb3f0072cffefc1932be54 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 19 20:10:50 2010 -0400 Avoid calling mlockall() in the client_thread(). Only needed once on startup. commit 444014cf8744b3140a3fdd0585bf2e3cbc43fd98 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 19 19:57:52 2010 -0400 Write a log message on startup when SO_PEERCRED isn't available. commit 599472e226dab7045179bc8059bcba0e9665a9df Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 19 19:32:57 2010 -0400 When pinentry is disabled at compile time, return GPG_ERR_NOT_IMPLEMENTED for SET options and command options. commit eb42f5d8b98188ef0f7427ccc8843c80832805ae Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 18 21:13:26 2010 -0400 If there was a failure opening the log_file then still try to write to the syslog or stderr. commit 492c454ccf79a0ab15b3679101e3251a59788851 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 18 21:05:30 2010 -0400 A few minor cleanups. commit d1a64d7178f9b400846fbe0bd1f5ad8edca57e43 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 18 19:59:19 2010 -0400 Renamed the command option type constants to be less confusing with client options. commit 8b7c28da67efca96148c1765e841afdbc78f6802 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 18 19:50:32 2010 -0400 Fixed a few potential memory leaks. commit 8c2a91f008f15b86f318c46eb6e7610aae3d10b0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 17 20:25:08 2010 -0400 Added OPEN and SAVE command option --base64 to specify that the key is Base64 encoded. This lets binary keys be hashed before encrypting and decrypting. commit dd347a63023597ca6145d0098679269c1c0cbdda Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 17 19:19:10 2010 -0400 When a "key_file" configuration parameter is specified for an uncached file, let the OPEN and SAVE commands use an --inquire to specify the passphrase. Otherwise return GPG_ERR_WRONG_KEY_USAGE as usual. commit f580c2dbd4907d9c25232469e6b7fa242381cc44 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 17 18:59:47 2010 -0400 Fixed a couple memory leaks. commit 4d659638b59bd4f5efd36fb24ad359db7bdc4746 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 17 18:48:12 2010 -0400 Fixed resetting the value of enable_pinentry after doing an inquire with the OPEN and SAVE commands. commit 20de46e5e061b9b2436e23baf3ebaf154c845ef2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 17 17:59:05 2010 -0400 Added an --inquire option to the SAVE command. commit 968c000bfc9a1d5129e42af24ba15fad4bc5fc5b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 16 18:20:33 2010 -0400 Added option --inquire to the OPEN command to retrieve the filename and key argument via an assuan inquire. This lets the key be any length and not limited to 1000 (or less) bytes. commit 5e4e119d6f42ed3c264ab4f0c4790b38a35d3052 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 15 19:12:56 2010 -0400 Let the command option parser return immediately when the option terminator -- is found. Behaves like getopt_long(). commit 4c7a389b2e2dce76b2254a9183e1ecca5d337784 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 15 19:10:10 2010 -0400 Version bump to -git. commit 26be932deca76ed67bcbe9b0f5cd4a5ed3455c90 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 11 10:16:15 2010 -0400 Version 2.17. commit 674fc95be88aee572540c940d1a2e131ebc735c4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 11 10:15:41 2010 -0400 Fixed typo for including EXTRA_DIST. commit 74476a0d144ce54064a7bb069d5eece7baf4a7f3 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 9 19:54:05 2010 -0400 Log command options when the log_level is 2 like the SET command does. commit 564323fcabd74bf54986b96091bc5899dfeb41e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 9 19:38:01 2010 -0400 Renamed the --force option to the SAVE command to --reset. commit 2d61a8c6cdb3debcae361e92b30b7e24d9943293 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 8 21:21:15 2010 -0400 Re-added the ENABLE_PINENTRY client option to keep backward compatibility. Should be considered deprecated. commit d604cb493209e4ac22585b2fc744dabfe96d3e9d Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 8 20:47:43 2010 -0400 Re-added the LOCK_ON_OPEN client option to keep backward compatibility. Should also be considered deprecated. commit 43fa464eae9287c3a89cd2fda0d7678cb9d57448 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 8 20:23:47 2010 -0400 Re-added the ITERATIONS client option to keep backward compatibility. Should also be considered deprecated. commit 613d7c4714c9f83225dbfb1b808851aac7d2898a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 8 19:47:12 2010 -0400 Re-added the CIPHER client option for backward compatibility. Should be considered deprecated though. commit 1879ad374031d35542246b9a6f03b5859633e04b Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 8 19:45:14 2010 -0400 Fixed restoring the cipher from the file header for the next SAVE. commit 7ce815f215b8944f9527165407893d7c6cf96656 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 4 12:11:34 2010 -0400 Let the MOVE command update the _mtime of the source and destination element paths. commit 19f0f8eef244a0985b1975d0d29ff5f576f2fe44 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 4 11:48:32 2010 -0400 Update the _mtime when copying attributes from the source element path. The source may have attributes but no children. commit f851259b0621dc3ed4fc624936f10997628c2de4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 4 11:36:51 2010 -0400 Fixed renaming the last element of an element path created with the COPY command when there were no child elements of the source. commit aa1814cb2256d94264d1d3ab7be1e7a993c16e0a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 4 11:24:05 2010 -0400 Let the COPY command update the _mtime of the destination element path. commit 2754247ab33bd9cbcf8bcd21c46b214b330f37df Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 4 10:41:26 2010 -0400 Let the IMPORT and RENAME commands update the element _mtime. commit 1e72d847fbc9e1e98d9ce69ff89fadc7ec72c18d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 4 11:10:54 2010 -0400 Create an _mtime attribute for new root elements too. commit 5d7640f6bdf612d183d1b000bfc8983997b5ca16 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 2 19:46:32 2010 -0400 Fixed pinentry unlocking the file mutex after a SAVE failure when the LOCK command had been sent. commit 389f5fd8c6510cb6679ef9cf23661c27af0b925a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 1 21:02:38 2010 -0400 Renamed the --norecurse LIST option to --no-recurse. commit 795bf193f3c370f0dad10e7545a5eaf54d0d865d Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 1 20:54:40 2010 -0400 Reset the pinentry enabled status after commands that modify it with the --pinentry option. Fixed pinentry timeouts. commit 5dc648a184b8e313b9e4757327635962893c4b1f Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 1 20:14:17 2010 -0400 Added SAVE option --force to clear the cache entry before saving. This is a shortcut to using the CLEARCACHE command. commit a492179dc4bf313d4ddf1b3b2bac27a3ee2390c7 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 1 20:05:48 2010 -0400 When opening another file in the same connection, cleanup the current one before parsing options or doing anything else. The currently opened file will be closed if there is an error opening the new one. Previously, current file was left open. commit ac0f25238a7f0143d5b991ab54c52cef19a508ab Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 16:05:06 2010 -0400 Updated the debian control file standards version. commit d5e4e591cd8f39ff841400c2a4173777682fd368 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 15:48:38 2010 -0400 Bump version and append -git to the version string. commit a07a8e096bdf9b2267cbe12435a2a1e59a6b356a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 14:51:54 2010 -0400 Damn. Fixed the --cipher option to SAVE. commit 2e03d5ce062c45b6dfb0a601d3c36b527ed423e4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 14:36:31 2010 -0400 Changed the behavior of the --iterations option to the SAVE command. When specified without a value then the previous iteration setting will be used as if the option wasnt even passed. commit 39423f5ad585c178af9059db4b0a90e651708499 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 11:29:54 2010 -0400 Let the --cipher option to the SAVE command take an optional argument rather than requiring one. When no argument is given then use the current cipher for the opened file. commit 8e662d58f4818b5e42e1ff8de0099ea9562f64e0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 10:32:48 2010 -0400 Minor fix for the COPY command when merging attributes. Use xmlNodeGetContent() to be on the safe side. commit 535756c3252943ab10fc3bb23aa937acb295b2b4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 29 10:23:08 2010 -0400 Fixed some formatting and typos. commit 0bb8789f56321d6c49835a8fa4736fc923ff7fb9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 28 17:24:00 2010 -0400 Let --iterations to the SAVE command use the configured value when no value is specified with the option. commit 379fa3b91cbfce04cfade6fe8098c8ad1de5f114 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 28 17:19:22 2010 -0400 Removed client option ENABLE_PINENTRY and added option --pinentry to the OPEN and SAVE commands. commit 5ab43f2bd619a3902e9b333105a8f0f64bb6723e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 28 16:28:38 2010 -0400 Removed client option CIPHER and added SAVE option --cipher. commit 3ddb3b0b38bebe9fc43f9695adf77c6eba0fd855 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 28 16:18:02 2010 -0400 Removed client option ITERATIONS and added SAVE option --iterations. Rewrote parse_options() to handle values. commit 68651963883c329be58f94430d915a10f1be6a76 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 26 19:29:56 2010 -0400 Free (and clear) the client data just before the pinentry process exits. The previous commit reverted this action but did it at the wrong time in the fork handler. I misread the docs for libpth which says that the calling thread still exists along with the forked process. So there was a segfault in libpth because the client data was freed. For me the segfault was triggered after doing an OPEN without any pinentry terminal or display options set to let the command return an error as expected, then setting the pinentry display and doing the OPEN again. commit f0b8cd7d7de6ff15a6c9caeccde24789758e3109 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 26 19:24:34 2010 -0400 Revert "Call a child prepare function during the pinentry fork() to release all" This reverts commit 31ce25291fcb35f954375672a1cbcf6cb5b50091. Conflicts: src/pinentry.c commit 4c7621a867ef5a1a554cac21fad00e79444997c4 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 26 18:14:04 2010 -0400 Removed client option LOCK_ON_OPEN and added option --lock to the OPEN command. commit 7703febcb58c8fc337282f945dc0760f786b6788 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Aug 25 21:10:55 2010 -0400 Created a generic option parser for client commands. Only the LIST command uses it right now. This removes the VERBOSE_LIST client option and makes it a LIST command option --verbose. commit 71711d25916aac32704150a2f20bdf632a791232 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 22 09:55:12 2010 -0400 Redid the "norecurse" option of the LIST command to be the first argument. commit 6b3066b797c45a0d1d6df8598e3fa27e5c4dc966 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 22 09:33:12 2010 -0400 Added option VERBOSE_LIST. This can be used together with the "norecurse" option to the LIST command to limit the amount of data sent to the client but also to determine whether an element path in the list has children (1) or not (0). commit a7764ebf201e8cc471b36e1886c58920fd25299e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 14 21:05:50 2010 -0400 The list command now has an option "norecurse" to list only the root elements of the specified element path without showing children. commit ad883526efc1f0ed6e6d7e77c295e1f9fb19f521 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon May 31 20:49:59 2010 -0400 Version 2.16. commit b58632ebd9ccb5b557d708d8838587a8be7c187c Author: Ben Kibbey <bjk@luxsci.net> Date: Mon May 31 20:44:04 2010 -0400 Added an "_mtime" attribute which is updated after each modification of an element. Fixed to use xmlSetProp(). commit 63abe11b2c6b9d1cc706473446bccdcfc8f9c715 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 22 13:41:15 2010 -0400 Fix for systems without SO_PEERCRED. commit 8f960b0bc3b8e6e537a180528ab1adbf6c9f6149 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun May 16 16:21:52 2010 -0400 Version 2.15. commit 2db78638051c70e3b75518ef934b437da4b35309 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun May 16 16:20:28 2010 -0400 Show the key file data length when the key file is truncated. commit b915cd016946ffb5798fc1b6aa7663a2f1ffba7b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun May 16 16:01:55 2010 -0400 When waiting for the file mutex to be acquired also wait for an FD event to determine whether the client disconnected while waiting for the lock. This fixes sending the STATUS_CLIENTS message to other connected clients rather than having to wait for another connection/disconnection. commit c9df8f42d2caef037c1d09fd04e0d0d0f8611927 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed May 5 18:43:42 2010 -0400 Fixed RC_ON_LOCKED and LOCK_ON_OPEN when opening another file in the same connection. Also fixed the LOCK command in the same circumstance. commit 874920544419e06dfc93f37b307a8fb192723aeb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 18:15:47 2010 -0400 Version 2.14. commit f913a394768b5808546aeb5faad96a8167c32a6f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 17:22:21 2010 -0400 For data file versions < 2.14 truncate the key file data like the convert operation does. commit dffba5032614bfd952e5f433095a44e9b6a273ed Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 16:39:31 2010 -0400 Fixed converting a file with a key file that contained a null byte or newline character and warn about the key data being truncated at this byte position. Fixed a memory leak. commit de2a5e4695061b845dc53809c9683bb33750bf33 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 15:00:57 2010 -0400 Updated docs for key_file. commit 76afe111183db1a754953bf2d8e4d93af84842d1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 14:21:25 2010 -0400 Don't attempt to do_cache_push() an already cached file. commit 5ce5c96f3c3a4054b9a18640c3c96cfadfc1a933 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 14:17:20 2010 -0400 Rename client_crypto_s to crypto_s. commit aaa932e993e950e99213bf8ae4b01acb9a033a39 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat May 1 14:14:22 2010 -0400 The "key_file" format no longer requires a newline and fixes binary keys containing null characters. commit 4cabdfd5fd0a927eec8bf2441d20b5feadcea6c8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 25 14:16:26 2010 -0400 Version 2.13. commit 01d6e60cc2e035657261f1814d302326d2cc6eb3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 25 11:41:57 2010 -0400 Don't insert any newlines in the pinentry dialog. Let the widget do what it wants with it. commit 9e072ca2504e5cbf95e81eb3b7c3aba575b70212 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 25 11:36:44 2010 -0400 Fix for the previous commit. Use the global iterations setting when set, otherwise use 1 iteration. commit 266add3fdfd4942e0903815b1908ea225b42fb4d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 24 13:35:54 2010 -0400 When a key is specified with the SAVE command and the number of iterations for the filename is unset (0), reset the iterations to 1. commit 90f0870943ccca649db919f43d3b2e6e872c1eaf Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 24 08:33:23 2010 -0400 Removed EPWMD_* error codes which are really GPG_ERR_* codes. commit 8c776b37c58b56085d34af5fee7153af6eb215bd Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 23 20:24:42 2010 -0400 Fix for the previous commit when there were no children to be copied. commit 0cc9f110714570222280ef8e3670519185d2e979 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 23 17:37:09 2010 -0400 Check for memory allocation failure in COPY and MOVE. commit d19da13abf694e4fb8979b783350f91e96ef1821 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Apr 20 19:24:11 2010 -0400 Use xmlAddChildList() rather than xmlAddChild() where there are element trees involved. commit f9be179ca7c7f52613591da4636c9e81c50c2762 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Apr 20 18:57:30 2010 -0400 Fixed a segfault with the COPY command. The parent node wasn't getting set when doing xmlAddChild() This also fixes overwriting the destination element tree even when the element names were different. commit 528dba98cdba947c8067626f98dc0930725f77fb Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Apr 20 18:51:00 2010 -0400 Revert "Fixed for the COPY command. May be an libxml2 bug." This reverts commit 780bc695848c44ac8e11492ef69c2e17cd855577. commit 780bc695848c44ac8e11492ef69c2e17cd855577 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 19 21:27:00 2010 -0400 Fixed for the COPY command. May be an libxml2 bug. commit 358583cacca4e7400f2901ba1d233970518e654a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 17 19:39:36 2010 -0400 Make the default iteration_progress 1000 iterations. commit 0403c82cf5fe8b0e773c0585c36d90d47ffebb2d Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 15 19:50:59 2010 -0400 Fixed a memleak for the previous commit. commit 4b3cda7700478b07bdde1a3109ca9db19b5bfcdc Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 15 19:42:06 2010 -0400 Return GPG_ERR_TIMEOUT and not GPG_ERR_ASS_WRITE_ERROR when the timeout event succeeds in do_assuan_command(). Also check this event before others since the others would have failed if the timeout event finished. commit bce24006311b2e72f27e3dbd4052d89de8084eba Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 15 19:27:38 2010 -0400 Fixed do_assuan_command() segfaulting do to an invalid free(). Don't create a timeout event in do_assuan_command() if there was none specified. commit d38183fa67158a9b84eb675e2a979df892f8c989 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 15 18:22:54 2010 -0400 Let the destination path be overwritten with the MOVE command even if the destination is of the same element tree rather than returning GPG_ERR_CONFLICT. commit aba0852aac1b1f301c195823cfe27feae1be8a8c Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 15 18:11:44 2010 -0400 Fix for commit 7b306a5 that broke moving to a non-root element of the same tree. commit aebbce3f122d93abe36564fa49a8710f16d7d7d1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 10 20:35:00 2010 -0400 Version 2.12. commit 7b306a510b5f95148c6e00a4de63284b0f0c7967 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 10 20:32:24 2010 -0400 Fixed moving a node to the document root that has the same name as the source: <test><test><test/></test></test> MOVE test<TAB>test [empty dest] Invalid reference to the rest of the tree since the root node had been deleted (dup). commit b450bdfedb963bff12e83d74b172d1d1ff46656d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 9 19:00:41 2010 -0400 Better handling of version numbers with only one digit in the minor version number. commit 45c1af536672b6fd3dff65d4efa7bfd4188e60a4 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 9 18:31:17 2010 -0400 Fixed creating non-existing element paths in the MOVE command. commit edc5665bbaad4d0f1bbbd3a01f8ec7339badfbf0 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Apr 7 18:43:25 2010 -0400 Ditto commit df04f71 but for non-target elements too. commit ec2829bc40fcc336835fe3b7ca205b5a9c5e0237 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Apr 6 19:35:14 2010 -0400 Added client option RC_ON_LOCKED to return an error code rather than send a status message when the file mutex is locked. This won't affect other mutexes, only the file mutex. commit 4749f73ec712e17318521384079c04bc1cbefe99 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 5 20:22:03 2010 -0400 Fixed MOVE'ing a sources' parent element to a child of the sources' parent element. commit 31b1c1a4f1c4812037a4fb7d9a9530ba2d5726e4 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 5 20:06:28 2010 -0400 Fixed a memory leak in MOVE. commit d28181b042e9bbb0af91efb5a22e67b08d05458e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 5 20:04:52 2010 -0400 Added the MOVE command. commit 28fdb1c9aab04aed01b853ed743ba64f2ee71ced Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 5 18:40:52 2010 -0400 Validate the elements when importing with --import and the IMPORT command. commit df04f71af76c0110ace9cd2c10ec7bc4c4c8d213 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 18:28:56 2010 -0400 Fixed creating an element path that has a child element of the same name as the parent. commit d8724dd48117c21322dc28526deb20612ace33ad Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 17:54:23 2010 -0400 Fix for the RENAME command. commit 3cdc375b4afdc9f6c04c42b202caca78af0deca0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 17:45:18 2010 -0400 Another fix for the IMPORT command. commit c2d342f069a29761046b41606d63474450206fbd Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 15:33:33 2010 -0400 Fixed disabling core-dumps again. commit eaf256a6fba9b624e7707f74b82d0fb20e51b476 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 14:40:10 2010 -0400 Fixed converting from v1 data file to the new element format. commit 768942a9eee00fb90c25e10ec6e9dbfadc1e6a99 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 14:22:28 2010 -0400 Make that padding to 3 digits. commit abb439b5dc5f1b7863d6e6f476227110188a6550 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 14:15:33 2010 -0400 Fixed the file header to pad the version to 4 digits. commit 46545a33e6ded97a4743ee632317a770b36510fb Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 4 13:41:55 2010 -0400 Updated COMMANDS to show the new element format. commit ca31f3e5c178eb542f6d3d6b580fbf3665068102 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 2 18:30:19 2010 -0400 Fix for new files. Fixed the IMPORT command. Updated the DTD. commit f47713944d02b87e6196d516da0e98f446ecc59b Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 2 18:26:44 2010 -0400 Don't do LOCK_ON_OPEN if there was a failure somewhere. commit d351075cf7814b98294735d47e5ce95533b6bd97 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 1 21:53:13 2010 -0400 Initial support for using attributes as element names. This fixes some commonly needed characters in element names becoming XML parsing errors. Now an email address is allowed for example. This renames "root" elements to "element" and root attributes named "name" to "_name". All other elements are renamed to "element" with an attribute "_name" containing the old element name value. The conversion is aborted if an existing "element" or "_name" exists rather than overwriting it and a warning is logged. commit 2a25a8ccad1bac986f594e26913a32b06f408156 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 1 17:57:17 2010 -0400 Version 2.11. commit 19b7f93d2db2bd1c5730c66432572df892c9f8c7 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 31 21:14:17 2010 -0400 Re-enable disabling of core dumps. commit 3d9a3ddc0aee03d5ef440fe11468fc579506fbfd Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 31 18:44:11 2010 -0400 Fixed a segfault in the COPY command. commit 346385d082fc19a16b63f5a0f32d0cb099bf591a Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 30 18:37:12 2010 -0400 Fixed the COPY command not copying siblings. commit a22a7b765ce7b52d17cba1fa979d0009d55c3bd0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 27 10:29:31 2010 -0400 Version 2.10. commit 647ff625ad39757507c97da670a1a4344cb1340c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 23 19:49:10 2010 -0400 Added opertations to XPATHATTR. commit 6e69aee614b693d80c49bcf37f35a9a19d6664d6 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 23 19:09:48 2010 -0400 Let the XPATH command return GPG_ERR_ELEMENT_NOT_FOUND rather than GPG_ERR_NO_VALUE when the expression matches no elements. commit 4bf2bc827d039007299213aacc3823f897a7e082 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 23 18:56:23 2010 -0400 Added the XPATHATTR command. This is like XPATH but will operate on attributes of the expression nodeset (create or edit an attribute): XPATHATTR attrname<TAB>//some_element<TAB>attrvalue Will create an attribute "attrname" in each element of the document named "some_element" with the value "attrvalue". commit 399ee037cea88da98bc00c6a583e9205be474712 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Mar 22 21:52:06 2010 -0400 No longer require a value for an attribute set with ATTR SET. GPG_ERR_NO_VALUE will be returned from ATTR GET for attributes without a value. commit 0a06d42a310823ef40a4865cbee2e107ee9352ee Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 20 09:35:31 2010 -0400 Version 2.9. commit 97db2dc429e853617f8cb5bfc688a43d88c63c08 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Mar 19 19:36:46 2010 -0400 Use libassuans SO_PEERCRED thing. It existed prior to libassuan 2.0 but for some reason wasn't added as a feature to pwmd before. commit 76a61fed19a73ee4bc11be72ee0373b2669930df Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Mar 19 19:28:28 2010 -0400 Revert "Ported to libassuan 2.0. This version supports building a DSO so no" This reverts commit 618b1d730306484ba59e776d136c5ca7fb76a493. Conflicts: src/commands.c Since libassuan 2.0 is a DSO, which is good, but has the problem of not being able to create an assuan_context_t from an existing file descriptor (still), then libpwmd can't use it. This revert is needed because error codes have changed during the upgrade to libassuan 2.0. So an error returned from pwmd to libpwmd would be incorrectly shown in libpwmd. A static library could be created for libpwmd just like is done now, but this has the problem that an application linking with an external libassuan would run into symbol collisions. commit b6e8cb375c434c588531396a9b15214711a0cd9f Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Mar 15 19:40:20 2010 -0400 Let the debian package depend on pinentry-qt4 too. commit 07f1e451e01f0eda355c19474d8d7741c981b1bb Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Mar 15 19:19:49 2010 -0400 Added the LS command to list the filenames in data_directory. commit fce7761a3a2924de08003f500015c55e41e7c50d Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Mar 15 18:38:06 2010 -0400 Added option LOCK_ON_OPEN to lock the file mutex as if the LOCK command was sent. commit 00066d9e00fefb2f6a3619fc7538b85c81541403 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 14 11:27:23 2010 -0400 Fixed a bug in the RENAME command that would return an error even after successfully renaming the element. commit 2edb7ad97729e45d2451793136ca5dbb22e9139a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 6 14:25:54 2010 -0500 Version 2.8. commit fbf03b51b42ab3f9e1a0917a0f6ed24db60a1c54 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 6 14:05:38 2010 -0500 Better documentation for the "target" attribute. commit 2d12dd7507a2fb08f1782aa82a8adbe0a184a5da Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Mar 4 18:38:53 2010 -0500 Use xmlValidateName() to determine if an element contains invalid characters. commit 19c678498afa95e68e2a521df195d36a84777788 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 3 19:54:59 2010 -0500 Only check for ASCII characters in valid_xml_element() without considering unicode characters. This should be fine since only ASCII is considered during element processing anyway. commit 9ae1b2da9379c0d54371b7b5579b19e2e528d389 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 3 19:44:49 2010 -0500 Don't consider unicode strings for comparison of the "name" and "target" attributes. commit b624de8dbaeb9fa260479475b265c7653dbb2df9 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 3 18:40:49 2010 -0500 Always treat the destination element name of the RENAME command as a literal element even when a "target" attribute exists. commit 1487b91809b1fa56f916092b2fd6d8dd53f5985e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 2 21:49:48 2010 -0500 A fix for the RENAME command to handle targets and ambiguities. Damn I'm getting sloppy lately. commit ada7554edc3712112ec67e793f9c80b615a19905 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 28 10:07:36 2010 -0500 Version 2.7. commit b3d265ad34a37264f5b6ffab54b6ff0786414944 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 28 10:06:49 2010 -0500 Fix for the previous commit which may have overwritten a root element rather than an element of the same name as a root element in a tree. commit 39ecbbe115efa0b8fc7ed1b4fd73a68d12d99ad3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 28 08:57:33 2010 -0500 Fixed the RENAME command creating new elements with the same name as the value. The element of the same name is now overwritten. commit 4d0c32fc2acb39561660556c4e02b6222856137b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 28 08:38:37 2010 -0500 Fixed a memory leak in the COPY command. commit f65bcbc01417ee9072e623bedef943684aeb5d1b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 28 08:00:54 2010 -0500 Fixed literal root element names in the COPY command. commit 053c0e24d784f3c5ebf91a849558bf7c123870e7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 27 19:54:15 2010 -0500 Fixed the COPY command to copy attributes and handle the "target" attribute properly. Also fixed copying root element without other elements in the source element path. commit 2190404b02deb5768dd130128298d57dd24fafae Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 21 10:49:54 2010 -0500 Set the target parameter to find_root_element() and find_elements() after determining whether a "target" attribute exists or not. For use with the stop parameter of these functions. commit e1ce2ba5487cc82aab9bf067dc316812920b0627 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 21 09:25:09 2010 -0500 Always allocate the return value from threads spawned from do_assuan_command() since they may be cancelled and to let the cleanup function free them. commit fdb275fb88b61107ccb4a896f33dc4baf03b95e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 20 18:34:27 2010 -0500 Fixed pinentry memleak with OPEN and SAVE. commit 8849b18acd98dd3b7ad84ff233ff4eda35bd5846 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 20 17:44:44 2010 -0500 Fixed a memory leak in the SAVE command. commit 22e9edc205fce85ab03c1fcece7c8f651e34afa1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 20 17:43:57 2010 -0500 Added backtracing of the custom memory allocators since Valgrind doesn't like threads. commit 720a5c31815d1a76e111fa3bab436df55a9043a7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 20 09:31:08 2010 -0500 Handle SIGABRT properly. commit 1c2eb4f0a70bec2ccb1ca2e46a5cc6b86b982bc1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 20 09:13:54 2010 -0500 Made the custom memory (de)allocators C99 compliant. commit 1c00ed745379c1880c3f1d8419ac772d983e7be8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 20 08:54:24 2010 -0500 Removed references to "account" elements including functions and comments. commit 0e1973f1d81bb0ebb99a52d2feb7267727cbf4cf Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 19 19:42:38 2010 -0500 Created rcfile.[ch]. commit 9d589126f3e81dd9ea491152d05eadefee14d522 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Feb 18 19:19:20 2010 -0500 Fixed a memory leak in validate_peer() and a potential memory leak in find_account(). commit 4f1e492048000935e770d313e018e0d50e3a9641 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Feb 17 18:41:24 2010 -0500 Version 2.6. commit 963d68f7d6ef9856c61bc6cc60445047487c863b Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 16 21:11:09 2010 -0500 Disable keepalives by default. Will problably be removed in a later version since it really serves no purpose. commit 8456f66b4e216dae920caec8dc882e5686d82224 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 16 20:56:07 2010 -0500 Fix for commit a21420fa4. Not thread safe. commit 3dfca5f8cd829a0399eccf4a0e9cc8c6a608e95b Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Feb 11 18:31:21 2010 -0500 Version 2.5. commit 7ddfbd7698663b3a9b3b8fe008633d6d742ab860 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 9 19:57:07 2010 -0500 Fixed the IMPORT command to let it handle "target" attributes properly. commit c0e76c3483aafade2fd576ecd0ae478d4f7c0771 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 9 19:40:52 2010 -0500 Don't reset the "allowed" parameter after receiving SIGHUP. Let "disable_list_and_dump" be resetable during SIGHUP but only if not permissive (TRUE). commit 1008ce4b045a9bb009263d12e8c8691fcb21e40b Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 8 22:12:35 2010 -0500 Updated the docs of the "allowed" parameter. The list must not contain trailing characters after the separator. commit 129fdd19e28d14ebd93d789878ec02e1307ca22b Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 8 22:02:36 2010 -0500 Added configuration parameter "allowed". When not set, only the invoking user of pwmd may connect to the socket. Otherwise it's a comma separated list of user or groups names that may connect. commit 8329c451542f8a93a7a053f1db6531e2f02f89e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 19:10:28 2010 -0500 Version 2.4. commit 2f2fb55e49d484ea2045f0f8e35b977636b0c7dd Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 19:09:50 2010 -0500 Update debian packaging stuff although no libassuan 2.0 package exists yet. commit 7c0bac25bcbebfaedab5e02ea7c1e2ba7037e88c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 17:41:41 2010 -0500 Don't fail if configure can't find a C99 compiler. Only warn. commit 07fe5e3e81ef1bf8daa0acaebe5b3ebab1542a0a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 17:09:05 2010 -0500 Show the error string when importing and pinentry fails. Return GPG_ERR_ASSUAN_SERVER_FAULT instead of GPG_ERR_CANCELED when DISPLAY and TERM are unavailable. commit a21420fa4e9c763168a549a3315e7c9f2dec2f90 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 16:42:25 2010 -0500 Fixed bad code for void* callback arguments. commit 9579febbd6c9993b7408f7006e4f9cd8e78f345d Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 16:34:37 2010 -0500 Since guint64 is really an unsigned long dont cast it as unsigned long long in places. Also in set_unset_common() use a guint64 and strtoul() to detect negative values (syntax errors). commit 9a68e37958b26fa9eb54ac0bf0f4c89a4ba729e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 15:29:11 2010 -0500 Revert "Fix for commit 9d13059 and wreckless 64-bit additions." This reverts commit 65e4ed0eeb7cd124e4c2bd444661d903632ea74c. After doing some more testing, I remember why now. commit b1379237988f02714422d149ecbd2044cb9c6ad8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 08:28:20 2010 -0500 Fixed a potential memory leak with IMPORT. commit 0f65b19772ebd3b6950c79e34095421ac843b0fb Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 08:06:03 2010 -0500 Fixed a somewhat major memory leak in find_account(). commit 498c94dbc6603c7b682528d42ca69252b5dfc0e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 7 08:02:17 2010 -0500 Reworked the IMPORT command to let it create root elements. The syntax has changed to have the content as the first argument and the element path, if any, as the remaining arguments after the content which is now TAB separated. This added another parameter to find_account(). commit 780914aa12469d0e2b1ff0bf8ba44d0db977aa0e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 6 18:39:07 2010 -0500 Changed how the "target" attribute value is stored in the document. Rather than storing the resolved destination argument, first check to see if the element path (which may contain other target attributes) is valid then store the original path as the "target" attribute value. For example: <pwmd> <root name="a"></root> <root name="b" target="a"></root> <root name="c" target="b"></root> </pwmd> Previouly, the root element "c" would contain the target attribute with the value of "a" because root element "b" would be resolved to root element "a". Now "c" will resolve to "a" only by resolving "b". commit 65e4ed0eeb7cd124e4c2bd444661d903632ea74c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 6 17:54:04 2010 -0500 Fix for commit 9d13059 and wreckless 64-bit additions. Also fixed bad code for void* callback arguments. commit 1c2509918ae193a9eda3bbc0ecdbd5eafd0e76e2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 17 08:30:39 2010 -0500 Version 2.3. commit e8edc8713c8aaebfc4945c74e45e984a73e8ecbe Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 17 08:19:24 2010 -0500 Added the copyright year to --version. commit 238b8d931fca33f7e486011e2ed5f40656a1fb6a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 17 08:18:06 2010 -0500 Updated the copyright header for 2010. commit 81debfbc2e6007aa1700dd30ebbbd7b13afb5775 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 17 08:11:07 2010 -0500 --enable-quality compile time fix. commit 6bd00710996a7253a4e4ccee0c85b416c3cc59f3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 17 07:32:15 2010 -0500 Fixed the COPY command only copying the first child node and not the entire tree. Hrm. commit 618b1d730306484ba59e776d136c5ca7fb76a493 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 9 08:48:43 2010 -0500 Ported to libassuan 2.0. This version supports building a DSO so no in-tree libassuan is needed. commit c893980df27ec96bd1a1e6479d89d19a3d4a3261 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 27 08:57:51 2009 -0500 Unset the DISPLAY and TERM environment variables just before forking. A client should set these manually or configure ~/.pwmd/pinentry.conf. This fixes trying to use a pinentry which previously had a DISPLAY available in the environment which no longer exists. commit ce4ac04e30eea2f817729627120791ebb12e69ed Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 9 17:29:09 2009 -0400 pth_join() the cancelled assuan command thread. commit d92397c68b75bb5760d6bb6dfb59c89a77898c33 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 19 20:34:01 2009 -0400 Version 2.2. commit 33081850005c0ec5663544391acea2ac7d83a9c8 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 13 21:06:52 2009 -0400 Fixed pushing unencrypted files into the cache. commit 6619b64475b7ff32b130f8ace01f7a7864bc0630 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 8 19:57:14 2009 -0400 Version 2.1. commit eabcb4960d0e6f8e1c28b93a46ed28a8bf0546d8 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 8 19:56:38 2009 -0400 Fixed caching files on startup. commit 4d47f4c7ecee4e69f6843cf64337671ea48ad6e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 5 20:32:07 2009 -0400 Require libgcrypt 1.3.1 since this version adds support for the CAMELLIA ciphers. commit 535c676d9eff9d106af792f60150e2f85c17904d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 3 20:30:48 2009 -0400 Fixed an FD leak when debug_file was specified. commit b821345cd78e0b4f08026ea9c9eff4b4a90acaa1 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 3 17:17:57 2009 -0400 Added the "debug_file" configuration parameter to log all protocol IO to the specified file. commit 9d13059e79813a90212e0493278073fbe6c6b659 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 3 11:26:04 2009 -0400 A few fixes for 64-bit machines. commit efa6067ca6128fa12fa068ad841fcb6db5a86b8f Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jul 2 20:04:02 2009 -0400 Fixed converting an unencrypted data file. commit a28279d9d2154d39edc8756eeb95f0f9d2fa1e33 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 1 22:41:19 2009 -0400 Fixed importing and iterations. commit 832f07fa6616997d1ac53bbc78f32668b94f6328 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 1 23:02:51 2009 -0400 Fixed converting a data file. commit 4ce3176390105d2629f2a736b8a8df7d93553636 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 1 20:58:07 2009 -0400 Fail when gcry_check_version() does. gint and gchar fixes. commit c942cda09a85d766b757ffd4537a23d1f828634e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jun 30 22:26:32 2009 -0400 Added get_key_file_double(). Use this in places where needed rather than get_key_file_integer(). commit 832f4ce88757190fd29ec9bfd3f57099f7cab053 Author: me <bjk@luxsci.net> Date: Mon Jun 29 21:39:03 2009 -0400 Fixed checking if the destination is a valid element path in the COPY command. Minor cleanups. commit 30ef86e537d397e21e8318af4878b3c4d4355ba4 Author: me <bjk@luxsci.net> Date: Mon Jun 29 21:02:24 2009 -0400 Fix for commit 52ff658. commit b5de168bd479c64b149f83d88646ecefe4c879ce Author: me <bjk@luxsci.net> Date: Mon Jun 29 20:59:27 2009 -0400 Added the COPY command. commit aec71025a69c107090d2b06ade9ba93fc51b0b3c Author: me <bjk@luxsci.net> Date: Mon Jun 29 19:14:55 2009 -0400 Added the RENAME command to rename a node. commit 38e23ca1062246e9cf5ad82b20c554618e03704d Author: me <bjk@luxsci.net> Date: Sun Jun 28 16:38:11 2009 -0400 Fixed the logged rc of a command that fails at command_startup(). commit 52ff65843bf5c511845d05c717b2aa8f9fd03090 Author: me <bjk@luxsci.net> Date: Sun Jun 28 16:33:55 2009 -0400 When a passphrase is used with the OPEN command and the specified file has already been cached, use the passphrase argument when trying to decrypt. This fixes a false positive that the OPEN command may succeed with the wrong specified passphrase. commit 7869137dd80d957e595c8944f29e074ba7c48182 Author: me <bjk@luxsci.net> Date: Sun Jun 28 16:31:33 2009 -0400 Added the "log_level" configuration parameter. commit b2ca771f47434c961771f1298e6d0a249976b9b4 Author: me <bjk@luxsci.net> Date: Sat Jun 27 20:17:51 2009 -0400 Fixed the magic file. commit 0d5e77d15cc7bac4481135fd62a34756d9819fe6 Author: me <bjk@luxsci.net> Date: Sat Jun 27 18:02:32 2009 -0400 Added specifying the cipher to use when doing a SAVE. This adds a new SET CIPHER option. This also adds a new "cipher" configuration file option. The default (AES256) is also used when importing and converting. commit aacafd7912531283e5ecd40e98fefbadb9bfa16f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun May 24 18:23:51 2009 -0400 Add an "age" attribute to the "pwmd" element after each SAVE. commit e702204b3413cb493d8319485178dcd3e0ef9cdc Author: Ben Kibbey <bjk@luxsci.net> Date: Tue May 19 21:55:02 2009 -0400 Fixed calculating the size of the crypto->inbuf when encrypting. commit d929d74512069b8361be284320509efeff197a69 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 26 08:59:43 2009 -0400 Version 2.0. commit bed56d46759cc0f83c9b1e7606429becc145d1e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 20:13:12 2009 -0400 Fix for commit 4b32921. Unlock the cache mutex. commit a0c98b64708f58716a35ec131f91e990346790eb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 16:12:44 2009 -0400 Use g_ascii_strcasecmp() and not g_strcmp0(). g_strcmp0() was added in later versions of libglib and really isn't needed. commit b9a60d5213d3ad5f2bcee33816a75fa768f18f19 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 15:53:55 2009 -0400 Updated po/. Truncated the debian/changelog. commit 87f08f7ec42802ae06ef2e730755c1daea8ba82e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 15:52:19 2009 -0400 Compare a valid passphrase against "<?xml ". Skip the version string just in case libxml2 changes the order of the attributes in a later version. I don't think theres a standard for the order of attributes. commit ffeaf7825e157c1eb02a62f8c177182ecd06e6bf Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 15:39:08 2009 -0400 Updated the documentation. commit 76e73073686b47972f5e9453ad5985025818919d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 15:37:48 2009 -0400 Fixed pinentry_timeout in a file section. Set this before forking the pinentry process. commit aa63a85f30c41aa9b7e0f51e23ec6ad404f4adf9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 14:47:59 2009 -0400 Added getopt_long.[ch]. commit e5cc744fd3e4268269b182f053d2515f7f7452fc Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 14:09:32 2009 -0400 Prevent a memory leak when parsing pinentry.conf. commit af7487549aa97a61f2f69e793a8f26fd0bdc6d2a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 13:39:17 2009 -0400 Make sure the pth_msgport_t exists before trying to lock it's mutex in send_status_all(). Fixes deadlocks when a client is exiting and another is starting up. A few minor fixes and cleanups. commit e3343becdd6b7f09eebd99ba2afa4511513956eb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 10:31:22 2009 -0400 Use a mutex when accessing the client pth_msgport_t. commit 00bd3192c2739d87b7b7041b0b8db4b8740ef42f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 09:55:35 2009 -0400 Switched the CACHETIMEOUT seconds and filename arguments to keep consistancy with other commands. Also make sure the timeout is > -1. commit 4b32921916566f7aad4fb45634e174e9eb26da1b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 09:50:21 2009 -0400 Have ISCACHED check for a cache entry before the filesystem. commit 64cf02d553246140384cde94ee63f397ec2f396f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 09:03:38 2009 -0400 Require a C99 compiler. Fixed some -pedantic warnings. A couple of WITH_PINENTRY fixes. commit aefb498a0b3b8bf08c431e86f1b120b5568b910d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 25 08:11:33 2009 -0400 Match internal assuan protocol commands in command_startup(). Fixes writing an error after the client sends the BYE command. commit eed44d395a30e7137755c199d0501cb306ded8ac Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 24 20:25:12 2009 -0400 Use assuan_register_pre_cmd_notify(). This is a patch to libassuan. commit 272e50b58a45d76ed62df888e1ed7baaecce5776 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 24 19:59:06 2009 -0400 Include libassuan statically. commit d4302153ffe6920df448ab51fadf437218f7593b Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Apr 24 16:38:08 2009 -0400 Removed obsolete error codes. commit 0145c56f3b3fdfbce3b2161d9682d9d1b47356b9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 23 22:35:03 2009 -0400 Added configure --enable-acl. This will retain an ACL for a data file or inherit the ACL of the data_directory if a new file. commit f1743231e6529a265fa39d5ab26d79f2466b481d Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 23 21:17:34 2009 -0400 Updated GETCONFIG in the COMMANDS documentation. commit 872df12cacc1575b66a19bb3b3670e94368b9cff Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 23 21:04:06 2009 -0400 Renamed SET parameters: PINENTRY -> ENABLE_PINENTRY, TIMEOUT -> PINENTRY_TIMEOUT, PATH -> PINENTRY_PATH. The configured values (from the rcfile or from a SET command) for "pinentry_timeout" and "enable_pinentry" are now file specific. commit f3e5f400bfadf19b9c67033bb6fb59bddcee46b1 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 23 19:46:42 2009 -0400 Added configuration parameter "pinentry_path". commit 12e38b93252137837ca171be0e04f42c5f789138 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 23 19:26:37 2009 -0400 Removed option CLIENT. The sub-option NAME can be set with SET. commit 31ce25291fcb35f954375672a1cbcf6cb5b50091 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Apr 22 22:15:38 2009 -0400 Call a child prepare function during the pinentry fork() to release all inherited mutexes. Fixes a segfault in libpth at pth_ring_append(). commit c0b164794951f814dd749a05ca145931834dc8ee Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Apr 22 21:27:16 2009 -0400 Fixed do_assuan_command() to cancel the callback thread in case it is cancelled itself. commit 32cdff3e7a87d550ed39f27b89172cb06392574e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Apr 22 21:12:25 2009 -0400 The VERSION command outputs the hexidecimal version rather than a string. commit 8103fe2e47b58128786fe145d3f6757e0f241d69 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Apr 22 21:11:14 2009 -0400 Lots of pth_cleanup_push()/pop() and pth_cancel_point() fixes and cleanups. commit 657892545f117ceb02b6f1ac3924305cdd1b260d Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Apr 21 21:47:45 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 e6ce8e80d57dfebcb3608056b2de24379fce991c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Apr 21 21:36:59 2009 -0400 Added the SET and UNSET command which replace the OPTION command. SET ITERATIONS requires an open file. Setting a value to "NULL" won't work like it used to. Use UNSET instead. commit 84bc1fbc2e8b4f46dba7e83e109620636359be63 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 20 22:15:39 2009 -0400 Forgot to destroy the pth_msgport_t. Fixed. commit 86d26cd770c9fedf33c0739c412cba02ffb57306 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 20 22:12:00 2009 -0400 Use a pth_msgport_t for message passing. Also wait for an PTH_EVENT_MSG event in client_msg_thread(). commit 2450e839379f2495f8b17b79222d3f5baf64d964 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Apr 20 21:30:59 2009 -0400 keepalive_thread() cleanup. Also fixes a segfault when doing a SIGHUP. commit 9c4d412cf085934c52298de7216f871dbc249e94 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 16:58:42 2009 -0400 Fixed a libxml2 warning when converting a data file with -C. commit e0427a3dff6317880dfb4721fa57f9f7d09608ac Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 15:46:14 2009 -0400 Fixed "GETCONFIG <filename> ITERATIONS" after "OPTION ITERATIONS" for an opened file. commit 89822cfaee52165a35637e3b09aa8de76187a08c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 15:34:30 2009 -0400 Changed how "GETCONFIG ITERATIONS" works. If there is a file specified, and not the currently opened file, read the file header of the specified file and return the result. Otherwise, use the current setting of the opened file or the global setting if no file has been opened yet. This allows a client to determine if a pinentry is needed or not (the file is not encrypted: iterations=0). commit 85ab3b266912a1ee26aa2d8e9b40482d401502e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 14:45:44 2009 -0400 Flush the data buffer before sending the final XFER status message. commit 1012c20b6d89d278e79f3040294135bc017b0506 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 11:20:29 2009 -0400 Changed the file header again. Added doc/magic for use with file(1). commit 651ec65aa521433012f652294b6f090caacb3f8e Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 08:58:22 2009 -0400 Fixed a memory leak in do_assuan_command(). commit 9afc18c0a1ec9fa13b79e89b8c7eef763bd07089 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 08:44:11 2009 -0400 Fixed "xfer_progress=0". commit a3e82ae096ba8f8050167a1ca7d498cc10108609 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 08:40:39 2009 -0400 Added configuration parameter "xfer_progress" to specify the number of bytes (rounded to ASSUAN_LINELENGTH) before sending the XFER status message. commit 7f4fb6e16f9f503587f03245b4f740c74c8ab89b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 19 08:02:29 2009 -0400 When doing an INQUIRE, append an event to wait for the FD to become writeable in client_thread(). commit 7478252f813e2437144a6142895ac38ba0d397cb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 22:21:16 2009 -0400 All commands that send data use do_assuan_command() or xfer_data(). This allows a timeout to be set before the specified cb (thread) terminates. commit 71b5ea2d586c9a8fdc6979dfd0a51205369f7988 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 20:25:55 2009 -0400 The XFER status message is sent with the LIST, DUMP and XPATH command along with GET. commit 8ed20dba4b3e64e382693e25f3e4aba7f159fb15 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 20:13:08 2009 -0400 Log what socket this invokation is listening on. commit d742035309ed37658ed3f1a12d421d66bb25b484 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 20:05:32 2009 -0400 Initialize the pin mutex when converting (-C). commit f2ee840b7a30cfd9342a09a5ad9818892a01b9bb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 19:53:30 2009 -0400 Require automake 2.60. Use AC_USE_SYSTEM_EXTENTIONS(). commit b201c8580550b0b6a7d36b06679a86ee664080c6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 19:13:24 2009 -0400 Removed EPWMD_FILE_ACCESS. commit 35e160c3ee1c9f5cadedd32e1411ad5c25564dc2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 19:10:53 2009 -0400 Set the client name in the pinentry dialog (OPTION CLIENT NAME). commit 2b616984871dbe7f1cd045c3c4ae728f17fa84f8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 18:26:17 2009 -0400 Minor cleanup. Removed cleanup_crypto_handler(). commit 3fdcefeadc7ee958edeb8976cc32fafa0031a4bd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 18 13:30:28 2009 -0400 No need to create an extra thread in client_msg_thread(). Call send_status() directly which already creates a new thread to do the actual sending of the status message letting other (client) threads do their work. commit db9793cd7b66367703e58989d07bb5869ee4bbcb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 11 14:06:19 2009 -0400 Added a new status message XFER for use with the GET command. commit e748399b7ffc3f40f8de8ba32601b5dbf489771a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 4 09:30:40 2009 -0400 When an option value string is NULL, reset it to the default value. commit 158955814ea72e539968808d2bf6ed95e98b7780 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Apr 2 20:06:43 2009 -0400 Let ISCACHED check for file existence with access(2). If an error occurs accessing the file return the errno. Also make sure the filename is a valid one with valid_filename(). commit e25cadd6ce19edc5bc96b2c29a9539887863d196 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 21 16:33:24 2009 -0400 Wait for the write_status_thread() to return (or timeout) in send_status() rather than waiting for a pipe FD to become readable. commit 6c3e0a554576ae0caa0e183d98eaf798955b6a71 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 21 15:47:24 2009 -0400 Compare only "<?xml version=" in the decrypted document to determine whether the passphrase was correct. Newer versions of libxml now include an "encoding" attribute which prevents try_xml_decrypt() from succeeding after saving. commit c932cc44b492eb4e10a395e7cd4300b5c39f0808 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 21 15:34:39 2009 -0400 Make client_msg_thread() joinable. commit b9baba3c7861025040c59bf8ef25b98750fd3c5f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 21 15:20:17 2009 -0400 Use g_get_home_dir() instead. A couple of minor cleanups. commit b6545f9d5cdb0997bcea14fbcc462d09535bb51c Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Mar 19 22:09:15 2009 -0400 Removed all tcp/remote/GnuTLS support. Remote connections can be made by using an SSH server and SSH client (libpwmd v6 (not yet released)). commit 3b69656c9242542e15828081736fc4796e54632d Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 13:21:02 2009 -0400 Fix tls.c compile-time warning. commit 380459843b2ce77aaeee31ae6f1da66301e21305 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 13:11:04 2009 -0400 Dont link with -lrt or -lpthread commit 147f9bb512220363a5d82fdb14a50330242247a6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 13:03:01 2009 -0400 Removed acinclude.m4. commit df2bce44795e44f9bda3036091597649cdc56649 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 12:56:44 2009 -0400 Check for EDEADLK in MUTEX_UNLOCK. It can be ignored since EDEADLK in this case only means that the mutex isn't locked. In cleanup_cb(), log the exit before freeing the client_thread_s. commit a600049c8b087a5f490aecda91bec1a676e7c0a3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 12:25:27 2009 -0400 Wait for thread TID events which are triggered when a thread terminates while exiting. commit 939f73cf7df85180f15f33d93a1b0dc7d5cde621 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 11:48:53 2009 -0400 Catch SIGABRT, but not SIGUSR2. commit ee66b802da8bdca54bf7d6dc414c1145ead004fd Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 11:40:53 2009 -0400 Check the return value from pth_spawn(). commit 75d105dbf2cd145bd32d0a59a8f343a6afd04623 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 11:14:36 2009 -0400 Minor cleanups. commit fa0cebb9ded9a16344e3160f11585e0e01ee966c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 10:54:38 2009 -0400 Use thread-safe libgcrypt and libgpg-error functions. Only call the new _gpg_strerror() which is a wrapper for gpg_strerror_r(). The string is g_strdup()'d and freed when the thread terminates. commit f673f3c713a666ce9a8ce19fba6f6506203f0029 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 10:25:14 2009 -0400 Dont write a log message in MUTEX_TRYLOCK. commit 42feeb52c8c2206dedc557c57bf0c1b3de4884c9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 10:19:28 2009 -0400 Use MUTEX_TRYLOCK everywhere STATUS_LOCKED is sent. This changes how often those status messages are sent. Rather than once every second, send it only once and wait to acquire the mutex. It's quicker, since the lock can be obtained right away. The logic before was that if the client disconnected while waiting for a lock then there wouldn't be a way to terminate the thread. So use KEEPALIVE status messages instead to test the client connectivity; the thread can be cancelled while waiting for a mutex (pth_wait() in libpth is used), untested though. commit a8ff587626be9799d328e78eba023a4453b6b35b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 09:38:05 2009 -0400 Fixed unlock_file_mutex() releasing the unlocked mutex (MUTEX_UNLOCK return value). commit fdb28198d310cc194c8e28a386c1862bd09d5b0e Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 8 09:31:45 2009 -0400 check the return of pth_mutex_acquire and pth_mutex_release in lock.h commit 61b5da9c378d03f26ce5bc23e97bd1c5dd86f8e7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 7 09:19:54 2009 -0500 squash before commiting to master. this is the initial revert to v2 pthread ported to pth. commit 508485b9eabd7f944ae69cf736f349a83c78298f Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Feb 25 19:44:00 2009 -0500 Use "git log" not "git-log" in the Makefile 'changelog' target. commit 528350a0063831e8ceff11286a5895b83241b0e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 24 20:08:09 2009 -0500 Added OPTION LC_CTYPE and OPTION LC_MESSAGES. Both of these can also be set in ~/.pwmd/pinentry.conf. commit 6d0f949c743a41205516611769b7e1412c66a28d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 7 14:44:42 2009 -0500 Fixed a typo in the previous commit. Destroy the cond, not the mutex. commit 492a1358e1f80b87d1dd3f1dcccb83503789fa3f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 7 14:34:11 2009 -0500 Fixed keepalive_thread() to use a local condition and mutex. commit 571c5becd68a9d52c5b5a0f91f177365fca0a0f8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 7 14:01:35 2009 -0500 Fixed aborting the connection when the configured keepalive value is set to 0. Use a default of 30 seconds in this case. commit f5750bd6619ecb73babb6cb025b2548e8fa1dd03 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 7 09:33:34 2009 -0500 Moved client_msg_thread() and client_msg_sender_thread() to status.c. commit 456926a6cef514b238006b9ba6583e77df254b93 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 7 09:01:26 2009 -0500 Created status.c. commit c4489becd33af6988a0a5bc465535aa8755d5e4b Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 6 23:44:40 2009 -0500 After sending a status message to send_status(), create a new thread that will do the actual call to assuan_send_status(). send_status() will then wait for the thread to write to a pipe(2) that contains the return code. This is needed because assuan_send_status() may hang during the write() to the client (the client has exited). A timeout is used to terminate the created thread and return an error. The timeout that is used is the same as the "keepalive" configuration parameter. commit a43506fdd17406a33217c4138da1a8dd6ac3f7c4 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 6 22:01:17 2009 -0500 Remove the exiting client from the client list as soon as possible so the cn_mutex can be released. commit c35dd524280f50b668427c2ceac4de04f5535480 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 6 22:00:55 2009 -0500 Minor cleanups in mem.c. commit 150f8dedb1aa568144c1b12785fb7ebaf0aaa14a Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Feb 5 21:08:01 2009 -0500 Lock the rcfile_mutex at each keyfileh access. commit 4967247c372e6a01ce5af79bfb19a8f1ef182aa4 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Feb 5 20:09:37 2009 -0500 Don't lock the cn_mutex before cancelling the client message threads in cleanup_cb(); do it afterwards. Fixes mutex deadlocking. Fixed log_write() potentially showing the wrong file descriptor with the associated client name. Close the socket file descriptor on error when needed. commit eb8ebcaa78abeb3e92565a4c79a9e7cf8a9b7925 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Feb 4 20:41:17 2009 -0500 Fix for the previous commit that wouldn't terminate the client if a status message failed to get sent. Working on fixing some mutex deadlocks and this slipped in there. commit b95fffc26c35a3d1aa3352ccd7e3b23a6645649d Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Feb 4 19:48:16 2009 -0500 Use a local mutex in client_msg_thread(). Lock the msg_sender_mutex before calling pthread_create(). Create client_msg_sender_thread() before client_msg_thread(). commit 9181d07969f583392a8fc5418bdeb792505615f1 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 2 20:47:12 2009 -0500 Use a goffset rather than gsize for crypto->insize/outsize. commit b654ce8c5194ffe0556c7ec7be1dd15966141f09 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 2 20:29:53 2009 -0500 Fixed status messages to use the new iteration type. commit 3a2fb55e1903cb34bbee3afdbf00887d98388c7f Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 2 19:43:01 2009 -0500 Fixed data file portability between various systems (untested, but it should be fine). This breaks data file compatibility with previous v2 developments. commit a54af70c02f730ab7f550b9bb3b3281c36dda74a Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 29 20:05:41 2009 -0500 A few more pthread_testcancel()'s. Should be the last of them. commit fc618e08fbf77293e801be433dec976c55fa0267 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 29 19:27:15 2009 -0500 Thread cancellation tests in do_compress() and do_decompress(). commit f358135cfc72cc087458d50392ca53fe8f71903b Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 28 22:23:53 2009 -0500 Don't send status messages to clients that are exiting. Fixes a hang with client_msg_thread() and clear_cache() which calls send_status_all(). The msg thread has already been terminated. It only affected new files that weren't SAVE'd before exit. But it's better to add a variable for later modifications that might have the same problem. commit 55cbf105faac8ba03d61fbbcd0b6d391982134a3 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 28 21:32:21 2009 -0500 Fixed a segfault with the SAVE command when used with pinentry. Broke in commit fb0d289. commit 5cb203140420db2bb4f317186b9a48faf190efb3 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 28 21:20:05 2009 -0500 More thread cancelation tests and handlers. commit af95ecce28978ecfc4cfe896687c5ab6a66d665d Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 27 20:29:42 2009 -0500 Create a mutex for the custom memory functions. Fixes list corruption. commit 65a104b30727cd7ef2630d1bd414cc0cba0a4fe2 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 27 20:03:47 2009 -0500 Create a new thread when reloading the rcfile. commit fb0d2896f478da2d6cd7f2a46c9a9cfc78fe956c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 27 19:55:52 2009 -0500 More thread cancellation tests (more to come) and thread cleanups. Set the main thread (in server_loop()) to disable cancellation. commit 58e2fb64d32bf692096ea918bef11232922d2802 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 26 22:02:35 2009 -0500 A couple more thread cancellation tests and cleanups. commit c907cdbfa74881626148f90504fdf8c843691066 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 26 21:44:34 2009 -0500 If the client thread terminates while a pinentry is running, terminate the pinentry process in cleanup_pinentry(). Added a few pthread_testcancel() checks and thread cleanup handlers. commit 4475fd7bab44ebf0a3eac3ab326d87026515404d Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 17:13:15 2009 -0500 Setup a cleanup handler in iterate_crypto_once() in case the thread gets canceled. The rest of the code needs this fixing too. commit 70103e9a387fbfdde658956db64350e305607026 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 17:01:36 2009 -0500 When encrypting/decrypting, don't do the whole thing in one go. Break up the input buffer into chunks so pthread_testcancel() can be called. This lets the client cleanup when a large document is being processed and the connection gets terminated. Fixed client_msg_sender_thread() to call pthread_exit() when send_status() fails. commit 889ca8877960b2b2c5c8757046fc15b7e3434ffe Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 12:29:11 2009 -0500 In cleanup_cb(), don't free cn->name until everything else is done. Fixed log_write() showing the freed pointer. commit 2f990866e80c6b16218d888d1ebf66aebaa0b19d Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 12:08:12 2009 -0500 Better mutex locking and unlocking macros. Useful for debugging. commit 32bf1985624c8a975558572d9d4e511f46162a59 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 09:56:43 2009 -0500 Update the mtime in do_xml_encrypt(). commit d47436457c922f2e877f7c15299c8f9190280535 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 09:45:41 2009 -0500 crypto->inbuf is set to the data to encrypt when passed to do_xml_encrypt(). commit b0692389899c7817e872d4def4672dbb4cf71358 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 25 08:34:16 2009 -0500 Use gcry_... memory functions in do_compress() and do_decompress(). commit 1ee3046291976f9ef7c0674a4e0c3a148039aa21 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 22:22:25 2009 -0500 Return GPG_ERR_ENOANO if the data file is not a regular file. This fixes commit dd85982 which would treat the symlink as a data file. commit d6936d59621802aa3728de223021df4596c7100c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 16:26:47 2009 -0500 A couple minor cache.c cleanups. commit f91116b524f82b4038af74f7489049520d865cd7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 16:10:00 2009 -0500 Fixed potentially not freeing all cache entries in cache_free(). commit 162171ea0fc81e95c551e06af8e749f099c1da9c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 15:46:55 2009 -0500 Fixed status messages send with send_status_all() on FreeBSD (any maybe other) systems. Create a thread in send_status_all() that does the actual write() to the pipe. Then wait for that thread to exit. I think this fixes it because the scheduler is funky on FreeBSD and it gives client_msg_thread() a chance to read() the pipe. I could be wrong though. But it does seem to work. commit 380aa56d0e31fddd33b9623139bfa17c7cec21cd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 12:33:53 2009 -0500 Fixed tls_init() not initializing the SHA-1 hash size of the fingerprint which would result in an invalid fingerprint. commit 5e729a090e0e4d108f358420305ca51c44816e2f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 12:05:32 2009 -0500 Initialize libgcrypt properly by calling gcry_check_version(). commit 6fa8d8d471ef6c9b51b39f0599038fcfab86c8fa Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 10:21:41 2009 -0500 Move initTlsParams() and deinitTlsParams() to tls.c commit aa23ceda7a46b1f7bf4a579469cd27fc0af74a87 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 10:15:00 2009 -0500 Added option "tcp_use_crl". When TRUE, ~/.pwmd/crl.pem will be used as the X509 CRL. This can be create with certtool or openssl. The default is FALSE. Do extra client certificate checks in tls_init() including CRL. commit 86789a900d002a724a99be44a149d50a54b60c7d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 24 08:17:53 2009 -0500 Set the signal mask before other threads are created. Fixes signaling on FreeBSD and probably most other systems. commit ff8431ca35deee943b45c83e77581b8bd462176d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:39:14 2009 -0500 Don't try and link with -lrt on systems other than Linux. commit 84ab8c48bc65ed18a37ddbb95a6c2b4340ce0b33 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:35:49 2009 -0500 Fixed a compile time error on FreeBSD. commit 500d9c5b105c00f22574660ece99c61d16318614 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:35:25 2009 -0500 Fixed a compile time warning on FreeBSD. commit bd102bd710cc975d11f6e722611c2bb69c6c3f90 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:18:04 2009 -0500 Remove old < v1.11 command line option -b. commit 90c2c7efd12c3db9fb10e7dd314f188110e8bd14 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:15:29 2009 -0500 Use PTHREAD_MUTEX_RECURSIVE not PTHREAD_MUTEX_RECURSIVE_NP. commit f94819981a091f0c89edd94f6dc6729a93ad4447 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:14:52 2009 -0500 Fixed some comple time conditionals. commit f66c6bd311b74c5bbd90e96a50da81ed075d9bc5 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 21:08:49 2009 -0500 Restore client->has_lock in cleanup_client(). commit 79c470278794a13396ef442f493f647d14ac6ee7 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 20:47:27 2009 -0500 Use a structure in file_cache_t to hold the file mutex. Since some systems (FreeBSD for example), use an anonymous structure for pthread_mutex_t, there isn't a way to allocate it. So allocate a structure to hold the mutex instead. Should be more portable now. commit a339d78f984f5d708159f285e4cb3d6680a1bb88 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 23 19:28:28 2009 -0500 The client must explicitly set OPTION PINENTRY if the client is a remote one in order for pinentry to be used. This is because the client may set the DISPLAY option without knowing what it's doing. The communication between the client X11 host and pinentry isn't encrypted unless the client and server host are setup to do something special. commit 020d223e752784178d23c6f9edc848bc050d56a5 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 22 20:58:46 2009 -0500 Don't write a log message when the cache mutex is locked. Only send a status messages to the client. commit 407746d8eb890d3222e5a52e1d5ae2ff4462fcf4 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 22 20:03:25 2009 -0500 Really fix commit a7e15f9. commit 3173be776708229e24fbf309f658f2f6bd745213 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 22 20:01:54 2009 -0500 Revert "Fix for commit a7e15f9." This reverts commit 4d553a5367ec9786ccaeed358d187e4d93b7b33b. commit 4d553a5367ec9786ccaeed358d187e4d93b7b33b Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 22 19:34:07 2009 -0500 Fix for commit a7e15f9. commit f63c18926d56b4d505f43e323d2254dcdfacbc88 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 22 19:07:58 2009 -0500 Restart the keepalive_thread() after receiving SIGHUP. commit 38521295d35ea4706bce60ddf6c46dca69466202 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 21 21:51:22 2009 -0500 Stop accepting TCP connections when shutting down and waiting for clients to disconnect. commit 6fa67b02bdb15c52940c6c638d588ac9ba23e27a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 21 21:21:28 2009 -0500 If MEM_DEBUG is defined then set the x... de/allocators to the standard memory allocators and override the linked library defaults. Simplifies things a bit. commit 221f8d1097e2cbbad9eef1db966baf2124e8ba87 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 21 20:24:42 2009 -0500 Use an SHA-1 fingerprint rather than MD5. commit 4d8eb814e5975e5a619db5f5317b1c9e854d0d53 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 20 21:44:52 2009 -0500 Fixed a segfault when TLS failed negotiation. commit c416ed4cb200fba9e6f9ac1f45d561387e602608 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 20 21:07:57 2009 -0500 Create the client_msg_thread and client_msg_sender_thread as joinable and wait for them to complete in cleanup_cb(). commit a239e306c728f9130a6fadd9dbc100aec669946a Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 20 20:14:43 2009 -0500 Only append unique status messages to the message queue. commit 1fedc438745756e35763956f35244c9860c7dbf9 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 20 20:02:43 2009 -0500 If the current thread is calling send_status_all(), use it's client_msg_thread() instead of send_status() to prevent blocking (it may be a remote client). commit a7e15f9596c7892905591f262cf1a472c4d91305 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 20 19:55:03 2009 -0500 Make sure the msg mutex is unlocked before trying to destroy it. commit 18ccdfe1da8e1e521c0c48c02b3f36dd3cef5cbe Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 18 12:19:24 2009 -0500 Create a message queue that won't block send_status_all(). This creates a new client_msg_sender_thread() that gets signaled from client_msg_thread() after reading from the pipe and appending the message to the queue. commit 09da95d65c0de4a90d3b46b04663e7a910abeed2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 18 10:24:39 2009 -0500 Ported to pthread. cache_mutex and cn_mutex are now recursive mutexes. Since pthread doesn't have any message passing features like libpth did, status messages are now passed via a pipe between threads. send_status_all() may need to be changed to create a new thread to prevent blocking when sending to a remote client. commit 2ee32d635b4bddcd4ebe8408d9acc69ab74645a3 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 12 20:43:59 2009 -0500 SIGHUP will stop or start the tcp_accept_thread() depending on the configuration. commit 5d36980c7cb126bf1abd323ca8b4e37fb653c9d3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 10 09:07:38 2009 -0500 Updated the copyright headers for 2009. commit 5209d41e4aff1c786da284a609a9a817aa816b9d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 9 20:35:43 2009 -0500 Fixed a pinentry segfault (hopefully) during cleanup of the pinentry thread. commit 42ea8c42a1463a4f4cb94b6f9989c2ed9f1d7615 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 9 19:11:21 2009 -0500 Allow other characters in the filename when using GETCONFIG. commit a76ff5025456b34708c522f6f53130f085d0ab71 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 22:36:19 2009 -0500 Moved COMMANDS to doc/. commit 3d875ee5f6c4afdc0d5ff6ae4c22bb2c4f386e53 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 22:20:04 2009 -0500 Return GPG_ERR_NO_VALUE instead of a syntax error from GETCONFIG when an unknown or unspecified parameter is requested. commit e21352e31eec244eeaf8bf80a3a81e010dd945b4 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 22:07:44 2009 -0500 Re-add .flags to the new v2 file header. commit b41a827fce04fd6dc336582b77d18bb3b44d0ab1 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 21:49:06 2009 -0500 Fixed a memory leak in pinentry_iterate(). commit 370fd1f8746078351c3fe79d260a74429194af66 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 21:22:19 2009 -0500 Fixed starting up without an rcfile. commit 88c637a690d16e9c2d510faa82ee3632bb831fff Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 20:53:56 2009 -0500 Warn about errors opening a key_file while parsing the rcfile. commit 1d046b472ad07193d4fd72757a2b116b17f5ca85 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 8 20:48:53 2009 -0500 Fixed clear_cache() clearing all cache entries. commit 30aa26f0e7f8d51e4215566a0254de6bb668b4ca Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 7 21:24:37 2009 -0500 Fixed a memory leak create_dtd(). commit ba387ad0ae387f057135460951b6d427e583081b Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 6 21:57:02 2009 -0500 Fixed asking for a passphrase after opening a new file with a specified passphrase. commit a523a1b29ede8e08dc3c4bac18ccb6eb4011c78f Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 6 21:35:27 2009 -0500 Fixed closing the wrong FD in cleanup_crypto() and disconnecting the client. commit 0df78ee4b13e9721db1f7d13158c7a455cbf0717 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 6 20:26:13 2009 -0500 Fixed SAVE with a passphrase specified in the command. Fail completely if OPEN is used with a file containing a "key_file" parameter. Even if a passphrase is specified in the command. commit 12eec3112cc98a74a75f6df07eb8f110bf83f7c0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 4 20:58:30 2009 -0500 Close the cipher handle in crypto_cleanup(); Call munlock() with the same size that mlock() used. commit ddd5e4cf16dbdb72e463963102ff2597a40ee456 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 4 20:44:56 2009 -0500 Fixed some compile-time warnings. commit 0a824c2c83713d17cf1b153e0b28385e7c4b6a3f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 4 14:12:39 2009 -0500 The "disable_list_and_dump" configuration parameter now affects the XPATH command too. commit 9fb975717a2cdccf090be872b9a19b4c26908e09 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 4 13:52:48 2009 -0500 When importing, converting and pushing files into the cache, don't ask for a passphrase more than once. A few other fixes for showing error messages on the command line. Show the file access error when pushing files into the cache. commit 01e9c2a5ef6d930f69271f28e9fe4281a34f53d4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 4 13:02:37 2009 -0500 Some code rearrangements. Getting ready to fix freeing client memory when disconnected unexpectedly. commit d56778188a1988ef23afd785b405c3524a703c78 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 23 21:36:17 2008 -0500 Show the output filename and not stdout in the import notify string when using -I. commit 2372b640c38ce96cd52f5fe0de52bbb2993e9eef Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 23 21:24:12 2008 -0500 Fixed a memory leak in do_cache_push(). The document wasn't getting freed after the decryption check. Fixed not showing some status messages to the console. Don't prefix the log_write() messages with "pwmd:". It's ugly. commit 52e5c785c83d575a9e7a32a06f6a10636b74fc22 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 21 20:42:33 2008 -0500 Handle STATUS_COMPRESS/DECOMPRESS/ENCRYPT/DECRYPT in send_status(). If there is no assuan ctx, then send it to log_write(). This allows for showing status messages when importing/converting data files from the command line. commit 690b26ffbeb2f06360216950ea96d982548b22ca Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 21 20:11:12 2008 -0500 Fixed the pinentry dialog showing the wrong filename when importing. commit 2380dc0b234c4a4486c9c2efd08c586b131147b5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 20 10:51:25 2008 -0500 Fixed freeing "tcp_wait" in tcp_accept_thread() before parsing it. commit 9dee759b9865dc3617a08f478c184f4163ef4bed Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 20 10:50:29 2008 -0500 Added configuration parameter "cipher_suite". commit 813a8b7409377b521397c9f64a78b529f70f1740 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 19 19:49:30 2008 -0500 Check the return value of pth_spawn(). Fixed a couple compile-time warnings. commit bb0d19b27cfc2fd299c9779c22be6a29460775c2 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 18 19:37:03 2008 -0500 Updated the docs. commit fe623d084e27ec0661bf6a148a91af8f2cb0414e Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 18 19:26:38 2008 -0500 Use send_status() from CACHE_LOCK. commit bfbd5ea991c1e57f944f0833b27ab71d5079ff32 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 18 19:20:18 2008 -0500 Set the thread name for other threads too. commit 83b9b1b3abb6f8701921fe46176084feeffe6014 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 17 21:56:34 2008 -0500 Removed the unused file header variables. They can be added to a new header structure when needed. Made .version a guint. commit 9c952fc702100faa05b388fc09613bf8a0e8e307 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 17 21:44:50 2008 -0500 Allow "GETCONFIG key" and "GETCONFIG key_file". commit 9ba0a81afde9c59c47fea5bb7caa764ac9653fd7 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 12 21:19:15 2008 -0500 Added command VERSION to return the version string with a data response. commit 8c042ebad8dc9d41a5c3273fd1b634f47dfdde61 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 12 19:12:20 2008 -0500 Set the client FD to non-blocking in the BYE notifier. This will let assuan_process_next() in client_thread() return and terminate the thread. This is the proper fix for commit 77c4b5b. commit fe1705221d9ac161e12296899834e042c65ec6fe Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 23 08:10:37 2008 -0500 When "key_file" is specified in the configuration and the cache entry gets removed for some reason, the client must provide a key to use along with the OPEN or SAVE commands. If not specified, GPG_ERR_WRONG_KEY_USAGE is returned. This won't affect the "key" configuration parameter. It'll still try to use pinentry. commit 97e31b57c9df9bd0467bb2a68886d717649670d0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 22 21:14:55 2008 -0500 Return a gboolean from validate_access(). commit cee4a88f614daca44f3e4dab7439c79ecd5d180c Merge: b09992d 537b19a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 22 18:37:19 2008 -0500 Merge branch 'v2' commit 537b19a0f5d5a99d18ade6b550e3590da6e7b9b8 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 20 21:23:21 2008 -0500 Use a temporary variable in reload_rcfile() in case something bad happens. commit 87822c1af6e2794298ca8cf9f8d1c8f1b9e54864 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 20 20:38:30 2008 -0500 WITH_GNUTLS fixes. commit 5d6b9b300f988eed0d92f9d53373fe08a2077930 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 20 20:20:13 2008 -0500 Revert "Set the client socket file descriptor to non-blocking. This fixes" This reverts commit 77c4b5b23a35ccd2f54a3b0c888fe72e4bd1c355. The problem was with the client when testing. The KEEPALIVE status message should terminate the thread correctly. Removing this commit speeds up new connections and other IO by a factor of about 2. commit 61eac922f15c62ae69a4746028ee0504b43a8415 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 20 19:56:11 2008 -0500 Fix for commit 8f85846. Show the actual error description. commit f74fb94dc7c1249e0b6165fb4e3d33e76d3c6f2a Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 20 19:26:45 2008 -0500 Use _SC_PAGESIZE as the size argument to mlock(). commit 2218d767aad515e510fe88e1b88eeb0a5f51e01f Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 19 21:56:32 2008 -0500 Revert "Fixed a leak in cache_free()." This reverts commit 769389af2c3b5b7580f1972c1b6baf1de6ba463a. Nevermind. Was thinking something else. commit 769389af2c3b5b7580f1972c1b6baf1de6ba463a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 19 21:42:58 2008 -0500 Fixed a leak in cache_free(). commit 739a7a613bd1381295bb748a5a7c37c7b3c0f248 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 19 21:27:32 2008 -0500 Redid the file cache to use a GSList (singular linked list). It's alot easier to maintain and there is no limit on the number of files although each entry will use a full page. commit e2da7e1f86b4150069bf52088258d3e31790ef08 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 19 20:03:21 2008 -0500 Moved read_hook() and write_hook() to tls.c. commit 8f85846d2efed2b58a82e64c45418843e2870dc9 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 19 19:45:53 2008 -0500 Use log_write() instead of warn[x] and fprintf(stderr, ...). commit 5ccd0acab6ede01b7525c487d8ea6ebbd509a2ed Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 18 21:01:52 2008 -0500 Let the "key_file" configuration parameter work with SIGHUP file reloading. commit f6955e5046e0d457ce4e958fa4667800c1046cc8 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 18 19:02:53 2008 -0500 Revert "Fixed OPEN and SAVE to use the "key_file" if specified. If set and an" This reverts commit fad226bde47503b540e4b172fd58b12d234a1e11. After thinking about this feature, it doesn't really make sense to have it. If there was a key file specified in the configuration then it is read on startup and the file is then cached. If for some reason the cache timer were to expire the cache entry, this feature would allow the file to be re-cached with no interaction. So it's kinda pointless. Same goes for commit 3d40712. So if you have a key_file config entry and it gets removed from the cache, you'll have to restart pwmd for it to get cached again. This can be a problem for a remote client. Just be careful what cache commands you send. commit 2080828ee85d7f711661e67b75c0964d7b11dbf4 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 18 19:02:16 2008 -0500 Revert "Added OPTION KEYFILE. Setting to 0 will disable trying to read the key" This reverts commit 3d407127fc88960a82650d67caac765ac5589f3e. commit 3d407127fc88960a82650d67caac765ac5589f3e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 17 23:01:06 2008 -0500 Added OPTION KEYFILE. Setting to 0 will disable trying to read the key from the configured key_file and use pinentry (if configured) instead. A log message will be written telling what the error was. This is a per-client option, not a per-file option (can't be set in the configuration file). "GETCONFIG key_file" now works. No reason not to. commit fad226bde47503b540e4b172fd58b12d234a1e11 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 17 21:56:58 2008 -0500 Fixed OPEN and SAVE to use the "key_file" if specified. If set and an error occurred while trying to read the file, GPG_ERR_UNUSABLE_SECKEY will be returned to the client. "key_file" takes precedence over any pinentry use but specifying a key as a command argument (e.g., SAVE <key>) will work. commit be72cbe2d87a1213c6c539ac029a47817aff2608 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 17 20:39:55 2008 -0500 Let -C use a keyfile with -k. commit c465e7726aa5e4210e9067f3b709a7c42db357e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 13:05:25 2008 -0500 Fixed a couple of minor memory leaks. commit 76f9c042c7ad4328236e0643d1bfcd7584c2681b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 12:51:11 2008 -0500 Added configuration option "tcp_wait". Sets the time to wait for a new connection. Only affects the TCP socket. Kind of a hokey way to prevent DOS attacks. commit 481438f848fc37f56cb92e5a43dd55d1656311b3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 12:28:01 2008 -0500 Fixed SO_REUSEADDR. commit 884c998c29ac0c3481dcf2d376348e48aeacd27a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 12:00:29 2008 -0500 Added command line option -k to obtain the key from the specified file when importing. commit c52675394e46e9a24091ad8a2024cd28c1072509 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 10:28:30 2008 -0500 Don't change "disable_list_and_dump" after reloading the configuration file. commit eb30223bde2cdf8fae0d2051d3fea67ead002bfd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 09:56:31 2008 -0500 Change the version string to 2.0-dev. commit b09992d61687b9c7e1c67058d414f1fa92ab8ca5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 09:07:59 2008 -0500 Version 1.15. commit 922543917601344731258e42dd255d1471e38316 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 15 08:07:48 2008 -0500 Added command line option -k to specify a keyfile when importing. commit 16b9b0487b35d71e56421fe3ddd72596b3fc7f28 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 14 22:08:23 2008 -0500 Change the visible "password" strings to "passphrase" to encourage users to use stronger "passwords". commit 6f4fc9bb8bc2b8775f252716c66fd8734fc41e5f Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 14 21:40:47 2008 -0500 Fixed a segfault when new_connection() failed. assuan_deinit_server() was getting called twice and referencing a NULL function pointer. commit 19bd9824a66d0d5fcaf3710e2d95345b09520054 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 14 21:28:27 2008 -0500 Fixed a potential race condition with accept_thread() and client_thread(). If client thread exited for some reason before the cn_mutex was released, then the client list would contain an invalid thread. commit 744db1763b2b33c4e2d997b10433e30df5d8c941 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 14 20:55:03 2008 -0500 Fixed a bug with -I. When no iterations was specified the configured value wasn't getting used and the output wasn't getting encrypted. commit f00c78cea5adf293b9c01ad55c1955c42fa48f4f Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 14 20:24:52 2008 -0500 Fixed showing newlines when prompting for a passphrase. commit 0d432adb1ab45755dce8212061d1bc9ad9d79c8d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 14 20:21:17 2008 -0500 Added command line option -P to disable pinentry. This will override any configuration setting ("enable_pinentry"). May be useful when used with -I, -C or with cache pushing. commit 3c44ad4d60b432a4bfb4c51102195d9160c094e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 13 20:29:57 2008 -0500 Return the new EPWMD_FILE_ACCESS error code when the fingerprint in "tcp_access" is rejected. This lets the client know that it wasn't really a filesystem error, but an access error. commit 80db87645e090fda0b624f28e8c758f168250ba1 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 12 21:54:56 2008 -0500 Updated documentation. commit bebea6d4e394e7a47317bbd9ecb12715cb3e670c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 11 17:32:36 2008 -0500 Renamed configuration parameter "access" to "tcp_access". commit 2d2154b1b82551dca9cd327755061c1130219c9e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 11 17:31:06 2008 -0500 Added configuration parameter "tcp_require_key". If true, the client must provide the key to open the file even if the file is cached. commit 82cff716c179c39e5d1642f52911b9376e2fc8e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 11 17:07:58 2008 -0500 Added configuration parameter "access". This controls which client certificates can open what files. commit 12d1d72df141cbd3e67a560436dcd20af0a6dde2 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 11 14:33:00 2008 -0500 Show some information about a new remote connection. commit ff3d2a9db4f40255c12a800eefdee845c1bc0564 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 11 12:31:48 2008 -0500 Fixed shutting down gnutls. Call gnutls_bye() from bye_notify() which is called when the BYE command is sent. It only makes sense to call it from here. commit 24fc1bdf6005736f5f7579a2dc684ac39d104828 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 10 21:42:58 2008 -0500 A somewhat important fix for generating RSA key exchange parameters. commit 5059f44aeb1959bef3ec4ef8a8795152a491987d Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 10 21:40:48 2008 -0500 Some translation string fixes. commit cbea8f336732ca0782026f362f0ac5ea544eff49 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 10 20:19:52 2008 -0500 Allow unicode filenames. The only characters not allowed are '/' and whitespace. commit 81b4886d25bd00ae4036cac850dc61a741dc6ba7 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 10 20:16:45 2008 -0500 Allow unicode filenames. The only characters not allowed are '/' and whitespace. commit 614001eacc4aabc68500d0dacd694bab5952b2b3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 20:48:56 2008 -0500 Fixed valid_xml_element() to check if the first character is a space. commit c50971f0ca8c68c90ebecea380cb20342ba5b304 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 20:48:56 2008 -0500 Fixed valid_xml_element() to check if the first character is a space. commit dd859828c70b74606a993a7da2ae312e3f3f59e7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 20:48:28 2008 -0500 Data files must be regular files and not a symbolic link. This lets the SAVE command work as expected when creating a backup file. If the file was a symbolic link to another (e.g., encrypted) partition, the backup would be saved in data_directory which may not have been encrypted. So specify data_directory instead of creating symbolic links. commit ffc3ab9afdc1dc8ce7063f72daaebf2ad907d313 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 20:33:09 2008 -0500 Data files must be regular files and not a symbolic link. This lets the SAVE command work as expected when creating a backup file. If the file was a symbolic link to another (e.g., encrypted) partition, the backup would be saved in data_directory which may not have been encrypted. So specify data_directory instead of creating symbolic links. commit b165bddc557c6369678db904b87bfd62a21d0e57 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 11:01:59 2008 -0500 Revert "Added configuration parameter "tcp_connection_limit". This specifies the" This reverts commit 570566c5a9bbf628942fa816b93d12a9df6d71d7. commit 24344b6b51da097f53aa281e47ae94b231c15b47 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 10:53:11 2008 -0500 Show compile time features in -v. commit 1d61b3a940ba5b059ff4b7b76b1cd6fcbfb44852 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 10:23:02 2008 -0500 Fixed a compile-time warning with --enable-quality. commit 2afe3723775fdbd07c1fa77b25081dfb91c78b58 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 10:22:34 2008 -0500 Show feature status before configure exits. commit 2ff39fc7e752a6084f31ab946a7516775463cb57 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 08:46:34 2008 -0500 Use $enableval in configure.ac. Fixes --disable-feature. commit 277c85f9d0c0f3d66712275d73b09dbe39c515ef Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 08:49:43 2008 -0500 Don't check for libgnutls when TCP isn't wanted. commit 38cc00a0cb8ca39302d8097465b2f8030540d905 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 08:46:34 2008 -0500 Use $enableval in configure.ac. Fixes --disable-feature. commit 56ac9027492ebd57743f54d6bf362776cbada61c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 9 08:33:47 2008 -0500 Fixed WITH_GNUTLS conditionals. commit 570566c5a9bbf628942fa816b93d12a9df6d71d7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 16:17:48 2008 -0500 Added configuration parameter "tcp_connection_limit". This specifies the maximum number of connections for a single host. When exceeded, the client is disconnected. commit 6d1bdcd06654e0b44f815b7603a966827a50eb33 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 15:24:17 2008 -0500 Purge pending messages before terminating the client thread. commit a63115a00b754597da0e1574cb6eac0a860e5956 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 15:09:34 2008 -0500 Make new clients have a priority of PTH_PRIO_STD and the (tcp_)accept_thread() PTH_PRIO_MIN. This lets DEAD threads terminate and not stack. commit 995909db7a8d60a7385f6ff2a596f76c7648cbe7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 15:24:17 2008 -0500 Purge pending messages before terminating the client thread. commit 99b17b15631127cb657cd09a6b4b4672e9e65942 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 15:09:34 2008 -0500 Make new clients have a priority of PTH_PRIO_STD and the (tcp_)accept_thread() PTH_PRIO_MIN. This lets DEAD threads terminate and not stack. commit 485977a375f263d00dedb6546bc834e080ed1385 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 14:52:20 2008 -0500 Fixed a segfault when new_connection() failed. assuan_deinit_server() was getting called twice and referencing a NULL function pointer. commit 94e12733f474938859091d454986c85737943354 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 12:54:03 2008 -0500 Require libassuan v1.0.5 or later. commit e0991a9be56d3f19eff06a357674de9cf7338061 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 12:28:28 2008 -0500 IPv6 support. Should be able to handle either IPv4 or IPv6 transparently. It's untested though. commit 506b620bd7a93195b6f6317bfd650203d7ebd3cf Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 10:17:28 2008 -0500 Fixed the exit code with the -C command line option. commit 0fb614ad893d93574606f78b96dbd026f94644dd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 8 10:15:08 2008 -0500 When converting a data file with -C, update the DTD and document to use the document root "pwmd" and the old "account" element to "root". This will also use a the new DTD when creating a new document. commit b8b2f2c1ddbe23b3308c71642b2df0a915acbe28 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 29 20:05:13 2008 -0400 Return gpg_strerror() from pwmd_strerror() when the actual error is not specific to pwmd. commit eee80b9653a6b990f95a4efc12618d210fbe425c Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 5 21:25:48 2008 -0500 For each client thread, create a msgport thread to handle status messages. This allows for status messages to be sent to the client during some long running commands (OPEN and SAVE with lots of iterations for example). Before, the status messages would stack until the command completed. commit f14c313087293e2b807bcd700435478e7a1dc2ed Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 5 21:15:10 2008 -0500 For each client thread, create a msgport thread to handle status messages. This allows for status messages to be sent to the client during some long running commands (OPEN and SAVE with lots of iterations for example). Before, the status messages would stack until the command completed. commit 5e1010b8d791e7920908b22604f6ff9002a936c3 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 5 19:56:27 2008 -0500 Set the default encryption iterations to 1 rather than disabled. commit 5141d634c3556329fc1034c64c822923eb356cd9 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 4 21:22:13 2008 -0500 Updated the documentation. commit dbb1ebb58e5b9973eeb8e8dad7717371a43702ee Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 4 20:26:47 2008 -0500 Fixed a minor potential segfault. commit 9f1f4b5f064ad226b1eda5aa6194350c3026cc69 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 4 20:00:48 2008 -0500 Fixed a potential race condition with init_new_connection() and client_thread(). If client thread exited for some reason before the cn_mutex was released, then the client list would contain an invalid thread. commit 7434aa2ef553f2721dbb5cb166c6b84d15e2f9a8 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Oct 31 20:14:01 2008 -0400 file_header.version fix. Determine the hex string at configure time. commit f2c424d2c1a8d22e8994cd392e6a7292b7ec8fa7 Merge: 768d8d5 01a5afb Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Oct 31 19:19:22 2008 -0400 Merge branch 'gnutls' into v2 commit 768d8d52f4e33945aecf8b4656758455c44d9ddd Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 29 20:12:02 2008 -0400 Fixed compile time warnings with --enable-quality. commit 6e00c360238e5cdc98007d275c3a4c4d204db9e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 29 20:05:13 2008 -0400 Return gpg_strerror() from pwmd_strerror() when the actual error is not specific to pwmd. commit 65c5db44e644bce424a501d47512479837acaec8 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 29 20:03:47 2008 -0400 Change the visible "password" strings to "passphrase" to encourage users to use stronger "passwords". commit 01a5afbcc45e03df74f4d526a775d1fc9462b80e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 28 19:55:29 2008 -0400 Close the client file descriptor when TLS negotiation fails. commit 77c4b5b23a35ccd2f54a3b0c888fe72e4bd1c355 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 28 20:47:21 2008 -0400 Set the client socket file descriptor to non-blocking. This fixes assuan_process_next() getting stuck when a client disconnects unexpectedly. Instead, assuan_process_next() will return 0 and the next KEEPALIVE status message, or FD event, will fail causing the thread to terminate. commit 838b9b7761f64801d379c8eff1476a6afa559bff Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 28 19:55:29 2008 -0400 Close the client file descriptor when TLS negotiation fails. commit a4419f4d576097194359e2fd85eac65ac6f56bd6 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 28 19:46:47 2008 -0400 Build fix for --disable-pinentry. commit 327804080cb870b29fadfd1ba6b1e04cccc86dd0 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 28 19:38:57 2008 -0400 Fixed do_cache_push() with get_password(). commit dc7e509016f4e3463a5ab8fc7d7d008e3370ce4d Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 27 22:10:48 2008 -0400 Fixed XML import to work with get_password(). Make sure "iterations" is > 0 in set_rcfile_defaults(). commit 213c764eab0ace1500f5fb5f688cfd3c81c339d2 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 27 21:33:00 2008 -0400 Fixed return code of get_input() when too many failed attempts were made. commit 8f0a9e447d5219ff8599fcae2a5a8c0476ff95fb Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 27 21:17:49 2008 -0400 Don't allow "-" as a filename with the OPEN command. commit 80231374b89bf4b0ff89210b3ad4018db9919e91 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 27 21:13:07 2008 -0400 If the output filename -o is "-", write to stdout. commit 7d88042cb4118c32af8ce04b226c42668d364132 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 27 21:04:41 2008 -0400 The -C and -I switch now require an -o switch to specify the output filename. do_xml_encrypt() will use mkstemp() to create the temporary file. commit 4f24b80ae86a2496d710503b7e8441e6d2e6efeb Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 27 20:46:05 2008 -0400 More passphrase input fixes. Use the passphrase and the iterations settings from the orignial file when converting. commit 26f102fa95c12dbaa3d5c46aa2e2071672549390 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 26 21:01:17 2008 -0400 Experimental file header conversion (to version 2.0) via the new -C command line switch. Some work needs to be done when using pinentry everywhere passphrase input is needed. commit 95491367694e3680cb7ac228c00f61cdc89ba2e4 Merge: b65c5c7 ef58111 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 26 13:19:20 2008 -0400 Merge branch 'gnutls' into v2 commit ef58111b7c9c3e5e203f5d06944551c1cc825ddf Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 25 21:13:03 2008 -0400 Added configure option --enable-tcp to enable TCP/GnuTLS support. The default is disabled. commit b65c5c7e5dd6ea0e12f2e55c0e81819e08ac25ea Merge: 4165e89 64e1f09 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 28 18:39:11 2008 -0400 Merge branch 'gnutls' into v2 commit 64e1f09a5a7f8efbaffac604785aacbc9d3cef32 Merge: 832b7c0 26e0642 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 28 18:38:47 2008 -0400 Merge branch 'master' into gnutls commit 26e06427772bfc7d9166bc31e0994ef7f5aa3c22 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 28 17:56:08 2008 -0400 Version 1.14. commit 1eabc329d1b114969675010b2f593618862b4ed3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 27 17:49:32 2008 -0400 Fixed an showing an invalid number of cache slots available in the CACHE status message. commit 240bce8dad7023240278d3d80bc87fddbdf8b951 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 27 17:34:57 2008 -0400 Fixed a FreeBSD compilation warning. commit e2f0aee4ff361b1660f3b95c8c0b897778799fa2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 27 17:18:30 2008 -0400 Satisfy autoscan. commit d35bd895026ef77db1557535d239351d2fdd5e7c Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Sep 26 20:52:06 2008 -0400 Wrong URI shown in the README for git checkouts. commit 3721dc70da6aa1c1ae95fb5b267360f2b5c4d20a Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 23 21:25:20 2008 -0400 Updated COMMANDS. commit daca94157f4b66baab2291894eca5c901c713cd4 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 23 20:32:28 2008 -0400 Removed a couple of unused variables. commit 4165e893f446cdfe48dc234072016dcbe6a85ba4 Merge: 968a06b 832b7c0 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 23 20:26:57 2008 -0400 Merge branch 'gnutls' into v2 commit 832b7c06e135416bc67e29e68aeeda3329a5703b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 20 10:57:40 2008 -0400 fork() before generating key exchange parameters. commit fdd4abacef92788c1013a1c1354eca18801c675c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 20 10:06:10 2008 -0400 Look for the server certificate at ~/.pwmd/server-cert.pem and not ~/.pwmd/ca-cert.pem. ca-cert.pem is still required though. commit 968a06b0d84fb5c26f3385947227bc43313146d0 Merge: ffff050 303448b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 21:23:26 2008 -0400 Merge branch 'gnutls' into v2 commit 303448b7d97dcb79df670736e9bc8f9dee611c1f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 21:21:44 2008 -0400 pth_cancel() the tcp_thread_tid when quitting. Set the correct thread name as tcp_accept. commit ffff0509a9bee9edec91a84dfd561b0870c2feb7 Merge: 70663a9 3234167 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 20:48:09 2008 -0400 Merge branch 'gnutls' into v2 commit 32341670639196491857a24667f849085a9bf884 Merge: 46b006a aded929 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 20:47:52 2008 -0400 Merge branch 'master' into gnutls commit aded9298bcde18aff4425d10e62ae9e0895a9f93 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 20:35:55 2008 -0400 Better handling of PTH_STATUS_FAILED from the client fd polling event. commit 6e97bc04734769d2e48abb61a4af5715c78c4391 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 09:27:52 2008 -0400 When terminating pwmd, keep sending keepalive status messages to connected clients and let the cache timer keep working. commit b2f2f9e8ef77564d1f47511ae2b5145fad607dac Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 14 08:30:32 2008 -0400 Use pth_event_status() instead of the deprecated pth_event_occurred(). commit 70663a99d332a92fe4a7aba98886697d12a5c535 Merge: 8829a5c 46b006a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 21:36:23 2008 -0400 Merge branch 'gnutls' into v2 commit 46b006a86e07726d75905c58efe1edcd9a9a61e3 Merge: 6783b83 c221726 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 21:36:05 2008 -0400 Merge branch 'master' into gnutls commit c22172619d4ba320e3de742368e562ac8461983b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 16:01:36 2008 -0400 Make sure pinentry support is enabled when --enable-quality is passed to configure. commit d857169891278ce67c18f5da99075556929e4b3d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 15:53:09 2008 -0400 Dont consider the pinentry TIMEOUT when SAVE'ing a file. commit 8829a5c65b0f303f3baa63d12fd80f6642af8206 Merge: 982f770 6783b83 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 10:24:59 2008 -0400 Merge branch 'gnutls' into v2 commit 6783b83ddf4d3483afaa62cec9110b2a140f9fc9 Merge: a23b522 10c7732 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 10:24:24 2008 -0400 Merge branch 'master' into gnutls commit 10c7732a2de46ff9afd164740d1e213afc769b14 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 10:08:09 2008 -0400 --disable-pinentry build fix. commit f95c410460a08221819dbb5cc56f98dabe486d83 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 10:00:42 2008 -0400 Dont log EPWMD_NO_FILE. commit 0c8691912839275d8a57cebd9ac19a3eafa4ef9c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 13 09:43:14 2008 -0400 Append the thread ID to log messages if the thread name (OPTION CLIENT NAME) differs. commit 982f77043c7db300aa4f5d5e5a8f6c08a7a25a94 Merge: 5440e67 a23b522 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 7 11:54:15 2008 -0400 Merge branch 'gnutls' into v2 commit a23b5228a3b4757f9b77374554e79e87222faa61 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 7 11:51:12 2008 -0400 Changed the default port to 6466. 5100 is some Yahoo! messenger thing. commit 5440e6719f742389f153e5a45ad99e0457276e40 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 6 23:51:20 2008 -0400 Broke compatibility with previous versions. This fixes the iteration bug in the file header. 0 means no encryption and 1 means 1 iteration. There will be either a utility or command line switch to pwmd that will convert a data file from previous versions to the new format. Added a few more fields to the file header: .version /* the version of pwmd that saved this file */ .flags /* key, key file or both (TODO), and more .data /* for future expansion .data2 /* for future expansion Also fixed data types passed to various functions. commit 56781bdf027f88aebcaace92e2df5eae784747fe Merge: c40491c 46cc584 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 6 21:38:29 2008 -0400 Merge branch 'gnutls' into v2 commit 46cc584152ab76ac4f0fc2f78d0ecf0f4163b4f1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 6 20:34:57 2008 -0400 Certificate authentication works. pwmd will require a client to send a certificate that has been signed by the certificate authority located in ~/.pwmd/ca-cert.pem. There is no Assuan tcp support yet, so libpwmd will have to wait. In the mean time, socat does work: socat openssl:host:port,cafile=ca-cert.pem,cert=client-cert.pem,key=client-key.pem - Be sure to keep the private key that generated ca-cert.pem secure. This is needed to sign client certificates. If compromised, an attacker will be able to connect from anywhere. Same goes for your client certificate and key, of course. commit eae20018bdf880c9123a73c2323e6ce4c02e8988 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 6 14:47:34 2008 -0400 Added tls.[ch]. commit c40491c7b7f843edfdf65128bfb34d86588811c1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 6 14:22:38 2008 -0400 Fixed cache commands after a pinentry timeout was reached. commit fe067ebfd1019d3db2ea68e75ffb568c6bf21ee1 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Sep 5 21:53:21 2008 -0400 Restore the thd pointer after cleaning up client_s. Fixes a potential segfault. commit 43a01d1cefddcc7de803b24782651daaebd83b6c Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Sep 5 21:53:21 2008 -0400 Restore the thd pointer after cleaning up client_s. Fixes a potential segfault. commit 947518cf1786426e6dc23366dcaa11e5d9d6d2bf Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 4 21:54:57 2008 -0400 Initial GNUTLS commit. Mostly layout. No handshaking is done yet. Pinentry is broken when connecting to the local socket. commit 3dff4c823a53ba8ca62287476382812845a33be6 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Aug 19 19:15:23 2008 -0400 Forgot to commit the Debian changelog in the v1.13 release. commit 391e097b073f9c793d821e411ad1b69abb271e8f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 17 18:41:33 2008 -0400 Version 1.13. commit ff484000b3ee53c5a76909e8ee9f682b7ac44543 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 17 18:35:27 2008 -0400 Fixed an uninitialized iteration variable which may lead to invalid DECRYPT status messages. commit cb92d5a14edc3ecf563b2ca204704c1f74100bb5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 17 18:33:49 2008 -0400 Parse ~/.pwmd/pinentry.conf even when adding a file from the command line. commit 148ca6fb617d5b9299d831610cf2f9bcee461180 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 17 17:49:37 2008 -0400 Version 1.12. commit 2b4a08837041ff4eacea027aa4db19241c0ad895 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 28 19:50:55 2008 -0400 Fixed a segfault when adding files from the command line. commit b88676613b999cd88995ef3df6bdf289e86e683a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 13 10:51:47 2008 -0400 Added a note about the new GIT repository. Thanks repo.or.cz! commit e97dab5210a4c5a2eee38a049e1980587934f3f9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 5 17:37:42 2008 -0400 Version 1.11. commit 7c30dc38cfcab9801e1cdd3bf62aa5e625c17f52 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 29 01:12:24 2008 -0400 Added pinentry's password quality meter support. Requires cracklib2 and --enable-quality passed to ./configure. commit e1590a079363cd6f04ba16118745697b8b733a72 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jun 25 18:41:00 2008 -0400 Updated the FSF address in the copyright header. commit d7fac7ced49cbf9c9ac1fcf27fb533fe35e63afb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 21 19:09:50 2008 -0400 Added configuration parameter "priority" to specify the niceness of pwmd. commit 73f4f9e40b9d3133e9611e352bda1ed497da40d1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 21 09:20:51 2008 -0400 Don't support pinentry older than 0.7.5. The error from pinentry is returned (GETINFO command) instead. commit 95837349b5a8e6f07af875100a6c78ba3168302c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 21 08:29:28 2008 -0400 Fixed some compiler warnings. commit fa16e966e80481c2fea73a77b7ec77da48ee593b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 21 08:23:19 2008 -0400 Use a mutex to lock pin->status. commit 009a5e9461c94ad51ad118f4bc85af9d84697bb6 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jun 20 20:34:41 2008 -0400 Fixed a race with killing the pinentry process and handling error codes returned from the sub-process. commit 080d4c1a6299741a5af1dbe75e4833604495fac3 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jun 20 19:44:51 2008 -0400 Fixed the OPTION parser to return an error with invalid options when pinentry is enabled. commit a5413b6936b115d409a94c66107127ac2c9e40e6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 19:38:01 2008 -0400 Added a note that both TTYNAME and TTYTYPE need to be set when pinentry is run from the console and no DISPLAY is set. commit 3eed684b925fd9543127461f1d52e6f9d437f0e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 19:32:05 2008 -0400 Fixed pinentry when used without DISPLAY. commit c903bfd363e56119d134f1787288ef2b65d2f37b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 19:13:44 2008 -0400 Fixed showing GPG_ERR_TIMEOUT to client when the pinentry times out. Some code rearrangements. Move most pinentry stuff to pinentry.c. commit ea3d038ceea51ee376352005e683f0950a7a22a3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 17:29:34 2008 -0400 Re-add -b command line option which does nothing but keep it for compatibility. commit 1c063b729cc26ddcfabb12868b1e6255d22be34a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 17:08:17 2008 -0400 Fix for commit 9e2a140. reset_pinentry() was clearing pin->pin_pid before the timeout thread terminated and was killing server process. Fixed a memory leak. commit 0bfbdb67ead40bc829732f55626250719955c1f6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 14:14:36 2008 -0400 Switched signal SIGUSR1 and SIGHUP. SIGHUP is more commonly used to reload configuration files. commit 9e2a1407908af8f5f89ccd351ad6365d765cfbfd Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 12:25:46 2008 -0400 Added protocol OPTION TIMEOUT to specify the number of seconds before the pinentry dialog terminates while waiting for a password. This also adds a new configuration parameter "pinentry_timeout". The default is 20 seconds. commit 61b00b4465eedd00288281d1e487912023f578d1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jun 15 08:50:17 2008 -0400 pwmd will daemonize by default. This removes command line option -b and adds -n to prevent forking. commit 9d45519c7c3a9692a4a0a65004da7ec7fb778f77 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Apr 6 12:49:15 2008 -0400 Version 1.10. commit 2f129758038a8c8f05de4c2bf10031135fd86e64 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Apr 5 12:33:58 2008 -0400 Forgot to add status.h to GIT. Fixed. commit 18c3ab7ce4102781734f56f5d0375d800ec25c0a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 19 21:25:33 2008 -0400 Busy-loop lock_pin_mutex() to send LOCKED status messages like lock_file_mutex() does. commit 25e4596725b539b293e7dca2c0709807f43370de Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 19 21:02:22 2008 -0400 Call assuan_register_post_cmd_notify() from register_commands(). commit 8bc083add89fb4a6e372c857cce43cb9cb522928 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 19 20:58:57 2008 -0400 Don't iterate through the memlist twice when calling xfree(). commit 0809d5f368fe210b622c0836880734d62ae87661 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Mar 14 21:25:09 2008 -0400 ATTR LIST now separates the attribute name and value with a space rather than a TAB. commit 486e85962bc24cb020a80a446e37a172e7ca7de7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 8 16:01:12 2008 -0500 Make sure OPTION ITERATIONS is >= -1. commit 3bc1d0b1be3f2a9147256e03f44ef3f6acd35506 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 8 11:38:33 2008 -0500 Version 1.9. commit 6278b03cca4dfbc1110d47cc200c3ce1ae299aa9 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Mar 5 19:41:13 2008 -0500 Send the LOCKED status message once per second (rather than a half second). This should be good enough to let the client know whats happening. If the client disconnects before the timeout expires and the lock is released, the command will fail from the next status message or command result being undeliverable. commit 36c1fe69017263df799a158bb774115bc57e97d5 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 4 22:06:01 2008 -0500 Don't set the iterations configuration parameter when the file is a new one in open_command_finalize(). commit d8672f1df2aaa12b0262766573f5cc98dcb76138 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 4 21:57:56 2008 -0500 Convert the GETCONFIG parameter name to lower case. commit 55200a520eb395565152a4c3615e8bcb43ebc0a1 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 4 21:56:46 2008 -0500 Fixed the "key" and "key_file" configuration parameters being shown with the GETCONFIG command when a filename was specified. commit 79a225a38bb4280c37ea6063279a2ffce65b218a Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Mar 4 18:55:57 2008 -0500 Also send the CONFIG status message when the file header iterations differs from the configuration value. commit 4d442844325b7cf87cf5c03f7d4df2a04433ec29 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Mar 3 19:12:25 2008 -0500 Send the total number of iterations with the ENCRYPT and DECRYPT status messages. This can make it easier for a client to do use things like progress bars when the number of iterations differs from the configuration value (no file is open yet, and the file header contains the actual number of iterations). Also set the "iterations" configuration parameter after a successful OPEN. This will keep the iteration setting for the next SAVE. To change it, use OPTION ITERATIONS. The original configuration value is now only used for new files. commit f0034bfcc65192b91ea83e92f83dffb5608a5d4c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 2 20:20:26 2008 -0500 Zero out the contents of the temporary key with the OPEN and SAVE commands. commit cc4f5c6a0e6b36c5b603759f7e095b6c299684ba Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 2 20:04:00 2008 -0500 Fix for commit 9900db8 and a segfault in the PTH_EVENT_FUNC callback. The callback uses it's own stack space which messes up access to the client data. So we'll busy loop on pth_mutex_acquire() until the lock can be obtained and send status messages from there instead. commit 68a9764b821a064f6f8a815245b87305d80a64a9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 2 20:03:36 2008 -0500 Include locale.h when ENABLE_NLS = 1. commit 9900db8c8b9cd9e0c839420db8ff07642fa305a4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 2 10:44:37 2008 -0500 Use an event in lock_file_mutex() to test if the client is still connected. Fixes terminating the client thread that was waiting for the lock but disconnected unexpectedly. commit 7f2af6865870732ea9ae51f8b64685d44656a302 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 2 08:17:59 2008 -0500 Added the GETPID command to retrieve the PID of the daemon. commit 24581f60f4a0fc2af1325876138858826d11cf6b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Mar 2 08:02:11 2008 -0500 Don't require an opened file with OPTION ITERATIONS and send the CONFIG status message to all clients and not just the current one. commit 71379fabbbfecd4706ebcde1a209a5e4a0f96289 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Mar 1 11:27:33 2008 -0500 Version 1.8. commit 8c9f8d7f6ad3e1fb76d8e8d38596c49e8cff74fb Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Feb 28 20:10:42 2008 -0500 Added OPTION ITERATIONS to set the encryption iterations for the current file. This will also send the CONFIG status message. commit abf3438f20dc90fb5ede0906bca78c99304721c4 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 26 20:19:23 2008 -0500 Added the CLIENTS status message to show how many connected clients there are. This is sent to every client after every new connection or after a client disconnects. commit bc8c55472c7920f7ba414c8fc74676560940fe82 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 26 18:33:23 2008 -0500 Use pth_msgport_put() for the current thread too. commit 9b25904e7435d201ff4faf1df5b327c04938e10e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 25 23:10:46 2008 -0500 Use a timeout event in server_loop() to send the KEEPALIVE status message which uses a pth_msgport_t via send_status_all(). This removes keepalive_thread() which can make pth_yield() more responsive when encrypting/decrypting. commit 78e9d8bfe0421bd046a33153c8e299c0bdaba649 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 25 22:09:55 2008 -0500 Use a pth_msgport_t event instead of signals in child_thread() to send status messages to the client. This removes the SIGUSR2 and SIGALRM signal events. commit 7b7b138e0162bdbb1eca8894766dcdc19f399fe8 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 25 20:39:02 2008 -0500 Use pth_cleanup_push() to set a callback to cleanup the client data after the client thread terminates. This removes the cleanup_thread which lets the client cleanup immediately after termination rather than the cleanup_thread interval. commit c0e8525415e1996df206cca2a34d2df9d8080207 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 25 19:59:47 2008 -0500 Added the CONFIG status message which is sent after the configuration file has been reloaded. commit 3106ec97a0f3d3bb9e7a6d452ac6d47648933e25 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 23 10:16:04 2008 -0500 Configuration parameters "iterations" and "iteration_progress" fixed so they can be used in a file section. commit bac89c2696e1f7d042cb496158b9dddb7674f04a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 23 09:49:51 2008 -0500 Updated manual page. commit fb31bcbdc51530101d7e3e8d11cd59fd9cee3fcb Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Feb 20 22:19:28 2008 -0500 Added command line option -i to specify the number of encryption iterations when importing with -I. commit c64c4670a7a23e7299338e88a002cc0670aa9b70 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 17 11:36:21 2008 -0500 Let the GETCONFIG command take a file argument. This fixes retrieving values for files that aren't opened yet. commit bf7dae72de784fb5e940b76efb88d40ebd8eada0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 16 17:11:51 2008 -0500 Version 1.7. commit b3c9b9cf072a5eb5f46193cf23009789e21ba31a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 16 01:20:25 2008 -0500 Added the LOCK and UNLOCK commands. LOCK will lock the file mutex and prevent other clients with the same open file from sending non-cache related commands until UNLOCK is sent from the same client that sent LOCK. So if you are in the middle of modifying some existing data and you have a client that needs the same data, this can prevent old data being sent to the other client and can also prevent EPWMD_FILE_MODIFIED errors. commit 5de2859eff2faa541d35e0ff8ce887ba5206037f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 10 18:47:20 2008 -0500 If there is no DISPLAY environment variable when pwmd is first ran but later set in ~/.pwmd/pinentry.conf, use the --display command line option to pinentry. Fixes X11 pinentry falling back to curses. commit 90244bbab249e0c6f30cb3f95070e46bcd3538c4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Feb 10 14:59:31 2008 -0500 Fixed freeing an invalid xmlErrorPtr when EPWMD_LIBXML was returned as a failure. commit 8a62782d3668adf6154b0b2a09b197c3b6a65f73 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 27 10:39:47 2008 -0500 Version 1.6. commit b31574fc3814bab8ec59009d1543cd5d27172f12 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 23 20:24:22 2008 -0500 Out of memory check in import_command_finalize(). commit 6fc9a5731fbf64bf893836d4ebb0631768a99487 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 23 20:08:14 2008 -0500 Fixed the IMPORT command to overwrite an existing node of the same name as the root node of the imported content. commit 38fae302156a5f509fb64786eb286acadead613c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 22 19:33:50 2008 -0500 Updated TODO. commit 54f5fec8eb1e4b3b74a1585d9bcc225912453e4d Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 21 19:57:20 2008 -0500 Fix for the previous commit. Don't modify the config default for the file. Only for this session. commit 13fe5e0ee502d5d901715f7fe4c4d0cb4f94ccee Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 20 14:40:53 2008 -0500 Fixed OPTION PINENTRY when a file hasn't been opened yet. Don't set the "global" configuration section because it affects other files. commit b0186326de64ccd6e5f8164c8625e013e4ecfc50 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 20 10:57:08 2008 -0500 Added a note about a child node of the same name as the new content of the IMPORT command. commit 2f46c069ac3524a1a43c4be996c69116a4d4710b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 12 17:28:53 2008 -0500 When the pinentry process dies unexpectedly, set the error to GPG_ERR_CANCELED rather than GPG_ERR_ASS_CANCELED. commit 05e5bf4660adb161726be152f57f80d8c284d81a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 12 14:58:31 2008 -0500 Version 1.5. commit 38b38990f330718aed43525b9a6c5261f3bbcd9a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 12 14:45:13 2008 -0500 Fixed a segfault in xml_error_cb(). commit b9f6f42aa61a6f95d6ffc1edda33a56b71e85bb9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 10 21:22:58 2008 -0500 Fixed EPWMD_LIBXML_ERROR error descriptions. In client_thread(), when assuan_process_next() fails, call send_error() rather than assuan_process_done(). Also keep the first error that libxml reports which will be the one sent to the client. commit 6c6b3dc04701401da585ab3baabb9d0caf1abf40 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 10 20:46:04 2008 -0500 IMPORT: make sure the element path is valid. commit 1ab6ef826b226bc04c5b5615c1f83eff33c1efee Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 10 20:22:32 2008 -0500 Added the IMPORT command to import real XML data and append this data as a child of the specified element path. This command uses the INQUIRE server response like the STORE command does. commit 1e6fa024f4145253676a79482fc388b86c15c8be Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 8 20:27:27 2008 -0500 Updated docs. commit ddaa8a04fe0e62ed08f87a1469f7e79cdf67df60 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 8 19:44:51 2008 -0500 Replaced occurrences of 'error' with 'rc' since an error() function exists and is shorter too. commit ddb7b8869252ee6e80d4e5be99a4f69ab7f492b9 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 7 20:30:42 2008 -0500 When there is a value specified with the XPATH command, reverse the order of processing as recommended by the libxml2 xpath2.c example to fix xmlNodeSetContent() from overwriting things. commit 6b48485009a4b661f0755d0cb81ea003a9de08f3 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 7 20:16:38 2008 -0500 Added the XPATH command. The first argument is an XPath expression and the second, which is optional, is a value to set to the result of the expression. If no value is specified, the result of the expression will be sent to the client (if any). Otherwise, the result is set to the value argument and the document is updated. Note that this command isn't well tested, but it seems to work. :) commit d4fb4588d62d120f05ddb31fe5d523fee34635ba Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 7 18:54:07 2008 -0500 Call xmlInitParser() in client_thread() and xmlCleanupParser() before exiting the daemon. commit 4f8a8b864518d4c658e7c627976f2bec0d7fe36e Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 6 21:35:56 2008 -0500 Don't close the client file descriptor in remove_connection(). assuan_deinit_server() will do it. This fixes IPC read/write errors and a race condition with cleanup_thread(). unlink() socketpath in serverloop() when waiting for clients to disconnect to prevent new client from connecting. Use g_snprintf() and not snprintf() for portability. commit 33ad2264899a00cb8faf1c39bbda79c093a7c1e6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 6 20:22:08 2008 -0500 unlink() the temporary file on failure. Added a note about the cheesy S_IWUSR test. What if the data file has an ACL? The owner doesn't absolutely need write access. I'd rather not add a libacl dependency to determine if it does. If you do need this though, let me know. commit cd0c6e793446a25254ebd9c13ecdbe707cabe72a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 6 20:09:04 2008 -0500 If the data file isn't user writable, don't attempt to write the file, return an error instead. commit 38a309bbde647fdc4e7f5724dc40b5ebd485273a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 6 19:48:45 2008 -0500 Added the "backup" configuration parameter. When "true", the default, a backup of the data file will be kept in the data_directory with the ".backup" data file extension. commit 9c07d8252a6d547300ecb668165b56b87cbc7d61 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 6 09:58:33 2008 -0500 Use g_strlcpy() rather than strncpy(). commit 5dbe5724e76ef4e43eb46b27299cdacc8a7bf616 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 5 12:26:10 2008 -0500 Version 1.4. commit 8c50f975d296946989cd49f24fc4d7278102044c Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 4 20:20:14 2008 -0500 Only allow one instance of pinentry. Use a mutex to ensure it. commit 4059e203edd82b41a3a5eddfeb046ea5b2c72fb7 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 4 19:15:50 2008 -0500 Return xmlGetProp() from node_has_attribute(). This allocates an xmlChar *. More out-of-core checks. commit a8d65e96432e0ef47302e040523563c84d150e48 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 4 17:51:54 2008 -0500 REALPATH bugfix for literal elements and realpath_elements_cb() will also resolve the path-so-far, and is cleaner. commit 88415c616f45f4432f757d30fc8b04fff0da8014 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 2 20:00:19 2008 -0500 Free the client data when pinentry fails from the OPEN command. commit de763db66a2ba509baad51402a40ecc6cfd4d0e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 2 19:40:56 2008 -0500 Fixed disconnecting the client when the pinentry process dies unexpectedly. commit e095782b35e3ab6afbf4226b46c63398ffa29b00 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 2 18:37:27 2008 -0500 Fixed a null pointer reference which could lead to a segfault. commit c333e0f51d6b9b57e5f0b6029a9caf67f7e2bd35 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 2 18:13:28 2008 -0500 Assign the file descriptor before spawning client_thread(). Renamed socket_thread() to accept_thread(). commit 59b05c8bc31982a8b3b1012cb84601cfb4216bf6 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 20:19:31 2008 -0500 Update the log settings (path, enabled, etc) on each file reload. Fixed print_fmt() to be thread safe. Cleanups. Added misc.[ch]. commit 1407a32f6c1edcfb198f1d95b0519d99aa03a5e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 18:04:50 2008 -0500 Only include xdump() if DEBUG is defined. commit 86cc8e232dba748c3b058171b26e9e953b0e6a38 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 17:52:46 2008 -0500 Fixed a couple memory leaks. commit f5baeb0059c12db45030bbcbf054ac6edb82cae9 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 17:15:43 2008 -0500 Fixed corruption of the connection list. Lock the cn_mutex in send_cache_status_all(). commit a30e9e427f9523bdbb86faf9ad35b58fa69269bf Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 16:57:57 2008 -0500 Prepend memory elements rather than appending them to the list. Finding the element to free is quicker since it's closer to the beginning of the list and there's no need to find the end of the list when creating a new element. commit a3e6781ba07577860ab7eb023b0d30126a71a75c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 16:01:41 2008 -0500 Changed some error codes. commit 62564a0fdcef05c9a2607332f02b2260a6e319cd Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 15:22:56 2008 -0500 ATTR SET TARGET fix for complex targets. commit d6c7b7c5deedfd52d25afa5ebd2c77120bb7aac3 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 14:25:27 2008 -0500 Updated TODO. commit 20fc0dc1371bf4f62780d048e74776990e714d1b Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 14:13:32 2008 -0500 Changed the "default" configuration section to "global". commit d01e46279c12c22b041b946d3cc7c72784658343 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 12:22:15 2008 -0500 Updated the copyright header. commit 1c689d6a24fe73752837264216e99b65644fda65 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 12:12:25 2008 -0500 Free all clients in the child process after pth_fork(). commit c06ea23f24c1959ce00b514666cb580f56b1857a Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 1 11:01:58 2008 -0500 Another LIST output fix. This one fixes complex target recursion and simplifies things. commit ac9bc6783b8feea02ed1863b0d8f281f0e6200ff Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 31 16:57:03 2007 -0500 Fixed some lintian warnings for the Debian package. commit dda86129c066011a6175c2db1db54eb410898263 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 30 18:55:17 2007 -0500 When "enable_pinentry" is TRUE, use pinentry for getting the password for files listed on the command line or with "cache_push". commit 77c3b6e335544e42e941e799b792a192f980f670 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 30 17:42:02 2007 -0500 Fix for the previous commit. When OPTION PINENTRY is changed, update the key file handle to the new value. The key file value may be for the "default" or the already OPEN file. commit 3b7c0b081dd1bae3826f651fb3598a666a5d03ee Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 30 10:46:48 2007 -0500 Allow "enable_pinentry" in a file section in the configuration file. commit 0e6004fe77aabb2d469e2d54427254d9c11243e0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 30 10:39:42 2007 -0500 Added a note about empty keys and pinentry to COMMANDS. commit c71823e8991310c24c062f15efcf3daad92a9dd2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 30 10:20:27 2007 -0500 Don't call send_cache_status_all() from cachetimeout_command(). Let cache_adjust_timer() do it. Fixed resetting the cache timeout for a file that was re-opened before the timer expired. commit d4dbf5082142c89138bc10c6e8794b17331b4c0d Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 30 09:40:13 2007 -0500 Set cancellation points in keepalive_thread() and client_thread() and don't catch SIGALRM in keepalive_thread() anymore. commit 77471a21e51a822a200df741088996d022511a2e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 26 19:56:08 2007 -0500 Fixed handling of not-found elements with the LIST command. Some code rearrangements. commit 970cf329f705b2ff51fec026b75592da32bcc052 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 25 21:50:33 2007 -0500 In previous versions, the LIST command would output both literal and non-literal element trees when no literal was specified in the root element. Now the literal character needs to be specified. This changes how root elements are listed when no element path is specified. If the root element contains a "target" attribute, the element won't be prefixed with a literal '!' character and both forms will be output: c> LIST s> !A s> A s> !B c> LIST !A s> !A s> ... This keeps the output consistent as when specifying an element path. commit 7e1cc620daf68009e660e3d2c76b38bbca2c6cfa Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 25 21:30:42 2007 -0500 Fixed the LIST command. It's somewhat faster and cleaner. It resolves target elements immediately when found and doesn't require any duplicate searching anymore. commit 07cb1b8d55452aea59048263d7d0f2176fa8262c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 25 15:53:21 2007 -0500 Use xmlDocGetRootElement() and xmlNodeGetContent() in list_accounts() to prevent some errors. commit cb8edf9792e36ba70451debda6f8ec085cadc1b3 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 24 10:43:43 2007 -0500 Renamed adjust_cache_time_thread() to adjust_timer_thread() and updated COMMANDS to include a DESIGN section. commit 7e6894baef428f6e9c8f262933b4f668b1ccd939 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 24 09:28:56 2007 -0500 Include src/cache.h in po/POTFILES.in. commit 1fd3ec80976b7974ce2d89fac1314b809f8df810 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 24 07:44:03 2007 -0500 Set pinentry options by using the pinentry OPTIONs and not command line switches. commit 1231d3062eacce7fd44b7862f24963874a8dfffe Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 23 15:36:21 2007 -0500 "key_file" may now have an empty file as a value. commit e8a34f9bfde58768b77bf36aa51b75cc5aaf1c63 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 23 13:40:16 2007 -0500 Fixed pinentry_fork() freeing an invalid result on error. commit 84a442916bb84202ebc0ff121d354779657af696 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 23 09:39:39 2007 -0500 Removed "OPTION TIMEOUT". Need to wait for pinentry to support a --timeout option because there isn't a way to terminate the pinentry process after the pth_fork()'ed thread exits. I have a patch ready for the Curses and GTK2 pinentry but it hasn't been included upstream (need GTK1 and QT patches, maybe?). commit 29e67062cba592a9dab329e035e937e5a8fce641 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 23 09:31:10 2007 -0500 Changed the default zlib buffer size to 65536. commit 673e88cf029eb0219f5b6989d5e57f839ab6771f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 23 08:58:12 2007 -0500 Another STORE command fix to hopefully fix what commit a118653 was supposed to. commit 25a50d35cf7ef98aadfbaa7f5fd196cf1c7537f5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 22 12:19:10 2007 -0500 Fixed a file descriptor leak in pinentry_fork(). Removed assuan-errors.h. I don't know what I was thinking. commit a118653dc23cd2af52563a29fd3df1cfd00f68ad Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 22 08:11:24 2007 -0500 Fixed finding elements that were outside the current element tree. For example: <a><b/><c>value</c></a> STORE a b c new_value Would store "new_value" in <a><c> and not <a><b><c>. commit 38f3e38f1d1b216d4dad02227cc49f416bb9e625 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 20 20:23:38 2007 -0500 Fixed storing values in an "account" root element. The element tree no longer needs to be duplicated because xmlNodeSetContent() is used in the XML_TEXT_NODE. xmlNodeAddContent() also fixes this for new content. The GET command also uses the new find_text_node() function to find the text node associated with the requested element. commit c4bfce7ba2e5e601f8c76617297666a16f9c564f Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 17 18:24:48 2007 -0500 Wait for the pinentry process to die in pth_waitpid(). Don't pass the WNOHANG flag. Fixes zombie processes. pth_waitpid() was sometimes getting called before the child process exited. commit 61ac2e1ae89e13cecbac56815192325bccd1416e Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 16 21:02:23 2007 -0500 Define PWMD_ERR_SOURCE as GPG_ERR_SOURCE_USER_1 and use it. Added a code flow diagram in COMMANDS. commit 4ce57b40f592128bb3a93068451de5eca61573e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 14 21:00:44 2007 -0500 Added src/assuan-errors.h to the archive. commit de95c2d75cdaed309fe0554a6c5a78a50b9409b4 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 14 21:00:21 2007 -0500 Fixed parse error in debian/control. commit 29f1d162beaaa860a3e758005da8165ca19b04cb Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 14 20:26:08 2007 -0500 Some --disable-pinentry compile time fixes. commit 71036c739a866c1f5f4eab5039b5e30ee9ab4ced Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 14 19:58:18 2007 -0500 Fixed empty passwords and iterations == -1 with xml_import() and do_cache_push(). commit 49e0c1ba8cc69ad07e88b078a5bb8c50d8beb5bd Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 14 19:19:13 2007 -0500 Don't require a key when iterations == -1. commit 033d0cb44361e289c4469771eb59f1bb69672aab Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 13 20:53:09 2007 -0500 Make sure client->pinentry->filename is set in save_command() before calling pinentry_fork(). commit aa3ee4d06a8205edce8398916a00f2a8c1bc552e Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 13 20:37:17 2007 -0500 Allow empty passwords. Removes EPWMD_KEY. commit 99b17bf92d27ade6370c3d7818a7d1c45d3d24e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 13 20:16:21 2007 -0500 Don't call assuan_process_done() in client_thread() again after the pinentry finalize callback returns. commit 35723d2c2cdfec485540a7455a47a1495f7615aa Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 13 20:03:27 2007 -0500 Retry pinentry if EPWMD_KEY was returned (empty key). commit ae2014fdd8c159eb026124fb817f5213d3db2960 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 21:46:25 2007 -0500 When using pinentry to retrieve a key with the SAVE command, confirm the entered key and loop until the keys match or until Cancel is selected. commit fd7ab6b71ec6703db27ce12aaa24b75792bb2393 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 21:20:39 2007 -0500 Better DESC strings when using the OPEN and SAVE commands with pinentry. commit 807f8a43a1939956a06b8a4fdb0666e1675da41b Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 20:58:18 2007 -0500 Return ASSUAN_Invalid_Value if no DISPLAY and TTYTYPE is set. Pinentry will segfault if no ttytype is set. commit 4e8c693fd3ca06c1335762e697149305b256fbbc Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 20:50:31 2007 -0500 Return ASSUAN_Invalid_Value if no TTYNAME or DISPLAY is set. commit 31e2a185c1c393e0a78acb399e1ec3b1f83986ce Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 20:03:03 2007 -0500 Fixed DISPLAY being unset but a setting in pinentry.conf failing. commit 07cc4d8a3a661b1d6766a15a237294494cc294f8 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 19:18:05 2007 -0500 Prefix each log message with PTH_ATTR_NAME. This is set to the pointer value for each new connection and may be changed with OPTION CLIENT NAME=VALUE. commit e94e5beb25511acf91d95b3682e7d30becdc0738 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 12 18:28:36 2007 -0500 Look for ~/.pwmd/pinentry.conf rather than ~/.pwmd/env. 'env' isn't really environment settings. commit 64fdedf9f453f5a44f6f1b622dcfb6cd137479fe Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 11 20:57:38 2007 -0500 Added a new OPTION "CLIENT". ATM it only contains one sub-option "NAME" which sets the textual name associated with the thread ID. Useful for debugging a connection log. Fixed whitespace and NULL terminating pinentry option values. commit c6538cb8a7ba746f88ebc6d2e60ab70987bf8368 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 11 19:14:34 2007 -0500 When the pwmd client process does with SIGTERM, set the pinentry error to GPG_ERR_ASS_CANCELED. commit 10040569e6c03a2b03544adcf9455da9093abfa6 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 11 18:53:23 2007 -0500 Added ~/.pwmd/env support like libpwmd has. It contains pinentry NAME=VALUE settings TTYNAME, TTYTYPE, DISPLAY and PATH which are the defaults for each new client. commit 0d0f9d00bfbe9e6cf74d8a8b29e6e62d0c79b26e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 10 21:53:18 2007 -0500 Updated docs. commit 2b2d5c571043ac378fae059c5ea13eb2442dfb5b Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 10 21:11:26 2007 -0500 Don't unlock_file_mutex() until pinentry is finished. commit 0f2f36bc8893a129753a6a7f145ba6a306c1b813 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 10 21:01:22 2007 -0500 When the "iterations" configuration parameter is set to -1, no encryption is done. Only compression if enabled. The default is still 0 (1 iteration) to keep file compatibility with previous versions. commit e6beb0d3b036cde5392b99b58d1b332d89ac1b37 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 10 20:30:12 2007 -0500 Added configuration parameter "enable_pinentry" and OPTION PINENTRY to enable or disable using pinentry to retrieve keys. When disabled, EPWMD_KEY is returned. The default is enabled. commit 2b596b2b853e5a3a07d210781bc7a6368362279e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 10 19:50:53 2007 -0500 Fixed OPTION TIMEOUT=N. The pinentry process will terminate after the set amount of seconds and the command will return GPG_ERR_TIMEOUT. commit b66d9082ab11c81421e5e4b70d03c2f1d5c91231 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 21:51:39 2007 -0500 Free client data in the child process. It's duplicated after the fork() and may be left in memory. commit 0497ce00b311826e94ed07aada2887f29922f252 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 21:21:34 2007 -0500 Have open_command() fail if pinentry_fork() fails for some reason. commit 24b208ce7e4d7db968161fcb0e52fa552859bf9b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 21:10:20 2007 -0500 Fixed pinentry with the SAVE command. Use a callback for finalizing both the OPEN and SAVE commands. commit 7c2954dcd2642fc36563841d7ae8055736650fdd Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 20:43:09 2007 -0500 Use pth_write() in pinentry_fork(). Call pth_waitpid() in cleanup_thread() to prevent zombie processes. Added cleanup_pinentry() to disconnect a pinentry and free pinentry strings. commit 0532e5464823926f26f8ee9a56731be236ec5179 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 20:02:09 2007 -0500 Added OPTION command parameters: TTYNAME, TTYTYPE, DISPLAY, PATH, TITLE, DESC and PROMPT to set pinentry settings. commit e1411ce4ff3cd8c08d7d735362e8dc08d22038c9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 17:16:17 2007 -0500 Forgot to add assuan-errors.h. Fixed. commit 95fea44bc923f6239d76548dba6229afea6b2feb Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 15:09:31 2007 -0500 Use pth_fork(). commit eaefdeb6c83af41ea819294be7b2db9fa8a90cf1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 14:56:13 2007 -0500 Use libassuan error codes when communicating with pinentry. Borrowed _assuan_error() from assuan-errors.c in libassuan 1.0.4 SVN277. commit f260164eba7a6240e826dc81441ed405cc403d35 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 14:09:24 2007 -0500 Launching pinentry now works. commit 0193adf2a0965d503a1df1a11571bdb0214d3c96 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 9 13:30:10 2007 -0500 Beginnings of pinentry support in pwmd. This will remove the forking in libpwmd. Pinentry options will be set with the OPTION protocol command. commit a8bc4fb78182afb0c9b6a7587a43a9ace824ed53 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 6 20:25:21 2007 -0500 Fixed the REALPATH command showing too many literal characters when a target attribute element contained literals itself. Some minor code cleanups. commit b559a6e053769648daea1151b210cfe0fb53825b Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 6 19:36:00 2007 -0500 Fixed creating an empty account with an invalid name. commit 0d4e36f1cf089449877a3497adb548590d5ece12 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 6 19:25:16 2007 -0500 When creating element with the target attribute, trim the literal character in element names. commit d103857c0f94c2ee40d6a41cd312d5e782331f7c Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 6 19:03:21 2007 -0500 Don't create any elements of an element path that contains an invalid element name. commit 90deda09f4a209cefb96fd200224c1fa3c909688 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 6 18:06:21 2007 -0500 Another INQUIRE fix for the STORE command. This is basically the same as commit 896c894. Don't call assuan_process_done() from within the callback. I wasn't thinking right when error codes got fixed in SVN libassuan. commit ba411c67d6b5cd387df1ed6453a23aadd8b7ccdc Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 27 21:17:00 2007 -0500 Include the thread id in the client (dis)connect log message. commit 0b345d4b51362600a255be200c37b9e694dbd95a Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 26 17:28:02 2007 -0500 Added /usr/local/share/aclocal to the list of m4 locations. commit 42bb698fbf53152b4d53d383f09cc436ddc3cb42 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 25 20:45:16 2007 -0500 Use AC_GNU_SOURCE to define _GNU_SOURCE. commit f072f79c9598066e616ca77f40f7a98abb7503f2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 15:35:34 2007 -0500 Updated README and NEWS. commit 69539e419b4a490911a953731157e9b124379b80 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 15:35:25 2007 -0500 Regenerated po/pwmd.pot. commit 1c46ffd59e38a211721d136cfe03d7cea0bdce5d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 15:33:33 2007 -0500 Require libpth2. commit d4ec283527f2c3b007da4e05b7bd9346fc8f20fb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 15:09:59 2007 -0500 Fixed incrementing the file mutex refcount. commit 7099663e93c9920af2512955a5622efa5fe60e23 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 14:24:48 2007 -0500 Fixed sending CACHE status messages. commit 4ca738a89bbf0bd684a41463efcd94da666157b6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 14:10:23 2007 -0500 Ignore SIGPIPE completely (SIG_IGN). commit c7eb61515bad89e52265fd357a53e31d6bd9bb30 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 24 14:09:45 2007 -0500 Each cache slot now contains a mutex. This mutex is locked in the OPEN and SAVE commands and released after the command ends. This fixes the cache mutex being locked for long periods of time and having adjust_cache_time_thread() spawn threads that stacked until the cache mutex was released. The file_cache_t also contains a new member .refcount. This keeps track of how many clients are using this slot so the cache modifying commands don't overwrite the mutex. commit 88ee6e7b0f3c45318dc7283d9753cab6c55c52f9 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 23 13:35:35 2007 -0500 Assuan now returns an error code from the inquire callback so this makes things simpler. commit 46ea119b939626046b8ba5f1ac4c72b270ca8a52 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 23 08:31:04 2007 -0500 Another keepalive_thread() fix. Don't exit the thread if the "keepalive" configuration parameter is <= 0. Instead, act like it was set to 1 so when the configuration changes again it has a chance to timeout again. commit 2763f01a89b2023dbde7563749fe2fcdbe5bf598 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 22 20:11:57 2007 -0500 Log mlock() failures rather than printing to stderr. commit 88426b91a63550ed42c89b62d9df262a82f94cf9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 22 19:02:21 2007 -0500 Fixed keepalive_thread() to check the "keepalive" configuration parameter at each iteration. Fixes rcfile reloading. commit 8c2e1fd41fa0b595dfc9b599f76a6f0be2429c8a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 21 20:36:17 2007 -0500 A couple UTF8 fixes. Don't calculate bytes as characters. commit 412322fe3bb705010d797b88b4b85f41b23bd15b Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 21 19:47:57 2007 -0500 Fixed some non-thread-safe variables. commit 6637261cb42552bfcd6057794c308e98d4b003ce Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 21 19:06:17 2007 -0500 Signal cleanups. commit c89dd3bb2e633d34cf0de6eb3f7259d86718b390 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 21 18:21:24 2007 -0500 Append the username to the init log message. Useful when syslog logging is enabled. commit e8c83a8172e3c5c6d34cfff9008ffc3bbc99fea7 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 20 20:25:34 2007 -0500 Fixed catching SIGABRT. commit 790db708544b77e42e25927f011719f08b03282d Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 20 20:19:51 2007 -0500 Fixed setting initial thread attributes for the socket thread. commit 893e9a6210aba6f220db17c93deeb7f1627e9050 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 20 20:03:03 2007 -0500 If there's an error while sending the KEEPALIVE status message, raise SIGQUIT to the client thread to signal to exit. commit 9195852c3efe4a5a018e1a52f3a5d72b696b98c5 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 20 19:14:51 2007 -0500 Added configuration parameter "keepalive". This specifies the interval, in seconds, to send the new KEEPALIVE status message. All client cleanup including XML stuff has moved from client_thread() to remove_connection(). commit 56aa0d4835db6b3cf6e6f9440570bf063ee412ca Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 20 18:02:14 2007 -0500 Fixed checking for setrlimit() and mlockall() which was removed during a cleanup. commit 497d8db5d63e43f4ac76b24698d38ab22891bab8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 18 20:23:00 2007 -0500 Ignore SIGPIPE in all threads. It was being caught but nothing done with it except logging. commit d8968bff5aebd35f454d7c7e91d1975fc8883027 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 18 19:49:21 2007 -0500 Added RESET command handling. It'll free all the resources of the document and act like a new connection without any open file. commit aac0168eb56f01509bc6ab7072d6a580256f194e Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 18 19:19:49 2007 -0500 Save the error from store_command_finalize() so those errors can be handled correctly in client_thread(). assuan_process_next() doesn't hold the return value for the inquire callback. commit a0d633955584e7afafc6fe755e5dcdc756c8d904 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 17 12:07:51 2007 -0500 Updated to work with libassuan 1.0.4 (STORE command). commit 8c7596b974dc247db6f2ad03c59d4747be810f88 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 17 11:45:51 2007 -0500 Require libassua 1.0.4 which fixes some important bugs. Not released yet. commit 342b31c9beb1f33581e69bd581bbb9513b681425 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 15 20:12:12 2007 -0500 Log which signal was caught like before. commit d1fee19cce8a6584cf95bb4ad22f945910984ddb Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 15 20:02:24 2007 -0500 Updated COMMANDS and NEWS. commit ed27f8c7bc18b91ae9d0a2963368ebe2da36389d Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Nov 15 20:01:54 2007 -0500 Satisfy autoscan. commit 7c984ce362ffaa1a2c2002e7d68c0a83549cd833 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 14 20:14:37 2007 -0500 Added a 'configure' message about zlib version. commit 1553af3012156bc34e36e6d8fa069b84cb89368f Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Nov 14 19:36:03 2007 -0500 Fixed setrlimit() and core dumps. It was disabled for debugging. Removed libxml memory init stuff from xml_import(). It's already setup in main(). Call mlockall() after the glib key file parser if configured to. commit cac150b64b33e7b88d350859778f6a48c3175184 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 13 21:32:13 2007 -0500 Fixed creating new account names will invalid characters in the name. commit 896c894f3e9232cfcee0208f0fd5b837c2d138b2 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Nov 13 20:09:03 2007 -0500 Fixed the STORE command. Don't call assuan_process_done() from within store_command_finalize() which is called from assuan_process_next(). Wait for assuan_process_next() to return first. Fixed a typo in log_write() which fixes commit 9da3dee. Logging to syslog really works now. commit 87ea44fd6a9741aad314e98c1c5a4a588c0f0d89 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 12 19:03:51 2007 -0500 Removed acinclude.m4. commit a79a59892d18dda0f0a35a048ee5bc00522ded25 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 12 18:59:00 2007 -0500 Regenerated po/pwmd.pot commit 12997c2877ebef64b29ed591fe0bc5d5c07a0408 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 12 18:58:11 2007 -0500 Updated NEWS, README and the Debian package description (again). commit 9da3dee653c9ac9cc24f573e2deb6b7fdbdde3d5 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 12 18:42:01 2007 -0500 Fixed logging to syslog when daemonized and enable_logging=false. commit eaf55983b6fdeb212ed6c9f7823d63cc5d123d2e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 12 18:30:59 2007 -0500 Renamed shm_data to key_cache. More error checking in client_thread(). commit b5e4c1c1ac3281decb81280640848eb8b61e434f Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Nov 12 18:22:22 2007 -0500 Reuse gpg-error error codes more often. commit 041688da8d95facb443fc10755e2e07f885aee7a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 22:11:48 2007 -0500 Updated Debian package description. Added 'changelog' dependency to the 'deb' Makefile target. commit 27929564cbe78dcab8014200de7ce758515c6e29 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 20:13:26 2007 -0500 Fixed sending multiple CACHE status messages to clients and also sending CACHE status messages after a SAVE. commit ede163d10956862dd1de232a88460a89e78bc133 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 18:33:34 2007 -0500 When the timer expires and a new thread is spawned to update the cache, set the priority to PTH_PRIO_MAX. When another client is waiting for the cache lock these threads will be processed first to minimize the timeout threads stacking. commit 4177df33674b7e184e23603b2fb60a80a584b108 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 18:28:59 2007 -0500 No longer use a pth_rwlock_t but a pth_mutex_t. commit 01d662a3abb22473aa2a408bce462e9a20a9a512 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 14:25:49 2007 -0500 Added configuration parameter "syslog" to enable logging to syslog with facility LOG_DAEMON and priority LOG_INFO. The default is false. commit c7e0e2fab1082b6a2f8c4f5b9b503e2c6004906b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 13:44:08 2007 -0500 No need to set the socket fd to non-blocking because it's in it's own thread. commit c9a8fbbacfdfa6de248468cb80db5786987aeac0 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 13:33:57 2007 -0500 Set quit=1 in socket_thread() in case pth_accept() failed even when not terminating. commit 8c087f026cbf0665be8625b55a19a968e4e50949 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 13:28:42 2007 -0500 Thread attributes are copied in pth_spawn() so it's safe to reuse the attr object. Reset a connection thread priority to standard in socket_thread() because threads inherit attributes. Be nicer about terminating the socket_thread. Check for an exception in the event and terminate the thread if theres an pth_accept() error. This will occur when a terminating signal is sent which closes the socket file descriptor. Added xdump() to mem.c which shows not-freed pointers which is enabled when DEBUG is defined. commit 8a57f7cf97658833d8f0d69dc18684cdfbd01ed9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 08:36:05 2007 -0500 If assuan_inquire_ext() fails, return send_error(). Otherwise return only 0. Fixes error messages. commit b13b51ef8f5ba9943299e6a897d1c64117ed2d14 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 11 08:29:51 2007 -0500 A couple cleanups. The STORE command is broken. This is a bug with libassuan I think. The server will segfault after a client disconnects do to an invalid free() in libassuan. commit 2cdaef7529601066e446164995ee42513170b28e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 10 15:44:58 2007 -0500 Fixed assuan_process_next() reading a not ready file descriptor after send_cache_status(). commit 640ca4a8906fd85e07a01f7d7e26699ef3fd3e9f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 10 13:49:19 2007 -0500 Ported to libPth. This removes the --disable-locking configure option and makes libpth a requirement. Has the same functionality as pthread, but is more portable. When the file/key cache is modified, send the cache status to each connected client. commit 4decf1af7a54e2c3e48be61e51b274ba6a6a79db Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Oct 25 11:59:50 2007 -0400 Version 1.3. commit f5f6552ff39fb374c927b720490461d8b55707c3 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Oct 25 11:54:49 2007 -0400 Non Linux 2.6 systems need to specify --disable-locking to configure. If an unsupported system is known to have a complete pthread_mutex_t, edit config.h and set WORKING_PTHREADS to 1. This is to make sure the user knows about locking. commit 739a16c96ee00544ec6d69786331f98b1a24c9ee Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 24 08:42:22 2007 -0400 Make the pthread_mutex_t configure test fail on gcc warnings. commit c22a010fbb7a51e5e8a47feac95b9b7805004d5f Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 22 21:37:55 2007 -0400 Updated README. commit 351b640b8bb56e0aa724f10555d02a0957e66645 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 22 20:19:26 2007 -0400 Updated NEWS. commit 345104a248a4b9840aa37570e8eb6d33b25215d1 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 22 20:03:45 2007 -0400 Added configuration parameter --disable-locking for systems that don't have a complete pthread_mutex_t data type. A complete data type is required because the mutex is stored in shared memory and a pointer won't work. FreeBSD and probably others have this problem. I'll probably end up rewriting pwmd to use multi-threading exclusively so this won't be a problem anymore. Until then, for systems that have this limitation, the chances of data file corruption are increased quite a bit if two processes have the same file open and both try to write. This also affects the key cache when two processes want to change the key when saving. commit 3d9a2c328b8459265558a54f9b5430e2e75cecb2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 21 11:12:56 2007 -0400 Added configuration parameter "socket_perms". This will override any umask setting for the socket. commit 8c123a4c91dc1467906ce7456fa67d10504a5c93 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 21 07:31:12 2007 -0400 After saving the temporary file and renaming it to the original, restore the permissions of the original. commit 784ab94a9529e22b071ffe7fd29e2fb23fdb1ccc Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Oct 18 20:48:31 2007 -0400 Call setsid() after fork() when running in the background. commit aa8166dd4a622487b2a6edb43049175e46c09608 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 16 20:15:38 2007 -0400 Show the function which called MUTEX_LOCK in the log file when the mutex is LOCKED. commit eeebb79815a2e5f0f829092c1c6caf2d6a5fb96e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 16 20:06:22 2007 -0400 Call fsync() after write() in save_command() to make sure the data is written to disk. commit 0c50eeed1f5c03073ff7927c65f6fdf08b5dd220 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Oct 16 17:59:44 2007 -0400 Removed EPWMD_FILE_NOT_FOUND. commit 0ddfede7f97760f3a55620bdfeca3797fc904409 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 14 08:11:11 2007 -0400 Make sure the data file is intact if the process is interrupted while saving by saving to a temporary file then renaming it to the data file. commit 84355f44e8fe8ab61c144d757c31ddd6ace31150 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 13 12:18:38 2007 -0400 Version 1.2. commit 6f3e8da219581ae199a14f5e68364b9314f16ccd Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 10 20:26:58 2007 -0400 Removed Valgrind stuff. It wasn't working with the custom allocators. Use -DMEM_DEBUG to use the standard allocators with Valgrind. commit b7055b02a3ef6613835f542ca2ef82716a24a03c Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 10 20:11:48 2007 -0400 Use sigaction(2) in the parent process. A child process no longer calls log_write() from it's signal handler or right before exit. Instead the parent process logs the pid and exit status. commit f254eb903e7c4df3ece8b4562c649e9dc9385a12 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 10 19:52:01 2007 -0400 Catch SIGPIPE in the child process. This fixes the parent process obtaining a lock after the child dies unexpectedly. commit a3fe374da9f2a6c4bcfd5e24cef38bb405d1e40e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Oct 10 17:59:21 2007 -0400 Updated docs. commit 811b4e255f4906805ff3eeae05506a05a05be221 Merge: 4ca5bba 25dc722 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 8 20:18:36 2007 -0400 Merge branch 'pthreads' commit 25dc72219188b92564a83646daa789965ca0d70e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 8 20:06:13 2007 -0400 Call MUTEX_UNLOCK after a child process catches a signal. Write a log message when a signal is caught and the mutex is locked. commit ca52ca7c0e8b01d45277909914b361968bf04db7 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 8 19:15:46 2007 -0400 Fixed MUTEX_TRYLOCK. I misread the docs. commit b117a6039bb5cf4fab41cd4857ad6709ab95d198 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Oct 8 19:07:51 2007 -0400 Make sure the mutex has been locked by the current process before unlocking it. commit 4ca5bba72d08df25471a53fe86783e2e4640bc1b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 7 12:07:31 2007 -0400 Make zlib a requirement. Version 1.2.2.1 or later is needed because of the gzip header. commit afe239a6472b901af0b6c47f81a9991ee0d112d8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Oct 7 10:45:21 2007 -0400 Added status message "LOCKED". This is sent when a command that wants to lock the key cache is unable to. It is sent only once and the command will wait until the lock can be obtained. commit 3589eecdb4025e6dcbb03422bbff9249fe280980 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 6 21:50:12 2007 -0400 Updated NEWS. commit a55e100b563637c6bb574471529756151be0bb83 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 6 21:45:24 2007 -0400 Fixed send_cache_status() sending the wrong total. commit 225b956561c0c2cd07b586e2a8110a67cf2ede7e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Oct 6 21:19:05 2007 -0400 The file cache is now locked with a mutex to prevent other processes from modifying it. It's only locked when commands that affect the cached are used and unlock afterwards. commit 589dab51269037e2d319e821da9bb89b6827d859 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 29 13:26:11 2007 -0400 Version 1.1. commit 6a5fa88691837ea5f4ac5ad498356f7e57c82bf5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 29 09:33:35 2007 -0400 Return EPWMD_BADKEY when do_decompress fails with an incorrect header. commit 0ec8f66ff469046e51e741b42db3fa91e7fd7643 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Sep 28 19:54:06 2007 -0400 Check the return values of read() and write(). commit 700093c04d1cce5b9b7a75b71c7afc3af396fc2b Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 27 19:09:40 2007 -0400 Always write a gzip header even if compression is disabled. commit 76bedb8171043d3362e082032f668e246320a58f Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 27 19:01:37 2007 -0400 Regenerated pwmd.pot. commit 3ef3dc177051466608e2919a6b009c02e76db538 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 27 19:00:19 2007 -0400 Fixed a memory leak. commit 0b22651f32c14909d3d3d2bbf11a4f2c51ecbb49 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 27 18:37:47 2007 -0400 Send the version in the hello line. commit 0fcd78a080faf0d5073706f22925a5fdb49f1f18 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Sep 27 17:57:12 2007 -0400 Fix for commit 38ddfa0. Modify the element but only if called from the LIST command. I knew there was a reason for it. :) commit e1463aece1c5cdd8b7a19da11663f15243619188 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 20:55:38 2007 -0400 Fix for commit e2067d9 and sending SIGUSR1. commit e080e14c21ed5d59448bbecc4fb43ed21a8054c2 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 20:22:12 2007 -0400 Fixed checking the return of mmap(). MAP_FAILED and not NULL. commit e2067d9f9651f88c0ca47a2767afe7a45d575ee3 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 20:17:48 2007 -0400 If a key is specified in the configuration file with "key=value", clear the contents of the key after parsing. commit 4bb67274dcde57227c18c473e48ab5ec93ad8fab Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 20:01:48 2007 -0400 Updated TODO. commit f0b6d0cde3aa400b5f0c665b0a429ab825a63f7f Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 19:23:45 2007 -0400 Updated NEWS. commit b0cc206e13d0dc7834cede6134e26a35c0f10ca4 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 19:08:19 2007 -0400 In commit 6d60398 I added a note to KnownBugs about realloc() using free() before the contents are cleared. This isn't true because xrealloc() doesn't call realloc() at all. It's less efficient but more secure. commit 4ad96e238bab3b99cc1d9cad4c595568a16cd17e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Sep 26 19:04:41 2007 -0400 Fixed compressed data corruption. I misunderstood the docs about .total_in and .total_out. For the decompression status message the size of the document is stored in the comment field of the gzip header when compressing. commit 71b93b9e5299717668e11b10b90ac8f3589fdb89 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 22:04:26 2007 -0400 Added a note about status messages to COMMANDS. commit 6d60398344d1c59ead1125b926c61fcf0cc298b1 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 21:48:26 2007 -0400 Updated docs. commit b2130712d2b852735d97dc445577c72f851fa575 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 21:37:36 2007 -0400 Default to disable_mlockall=true. commit 94ca056d96a1fdf95bc6f5742a05ac07c33f20a4 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 21:23:06 2007 -0400 More out of memory checking. commit 48619a49d885d29f065ebe37099360bbe2bd0a4e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 20:35:53 2007 -0400 Fixed the ENCRYPT and DECRYPT status messages to be sent after iteration_progress iterations and not before. Also send "0" at the beginning of encrypt or decrypt so the client knows what's happening if iteration_progress is set really high. commit 4f8b937a142814d2737efb5cc818463eebfcdb12 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 20:09:28 2007 -0400 Changed the PROGRESS status message to either ENCRYPT or DECRYPT. commit f1a88db32fed1f5fae9e999eb9afa1ddcd3bb2c2 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Sep 25 20:07:14 2007 -0400 COMPRESS and DECOMPRESS status message fixes. commit f87a4724c29363fe3d4cea96bd4fc995e6e5b19a Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Sep 24 21:08:03 2007 -0400 Added the COMPRESS and DECOMPRESS status messages. Both output the number of bytes processed so far along with the total number of bytes to be processed. The frequency of the output is determined by the new zlib_bufsize configuration parameter which sets the input and output buffer chunk size. Note that COMPRESS shows the number of uncompressed bytes in the document while DECOMPRESS shows the number of processed compressed bytes. commit 1e577f92a2e1c0574c4e8126c9859d7c50677733 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 23 20:38:20 2007 -0400 Removed EPWMD_TRAILING_ELEMENT from pwmd_error.h. commit 38ddfa0ccaaf81a15093b4d3003c9b1428064072 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 23 20:17:52 2007 -0400 Don't modify the target value from the command input when creating a target attribute. This fixes creating the target value and when the actual target was changed the literal element path to the target was being used. If the literal path is needed, the literal path should be specified in the command. For example: attr set target some<TAB>path dest<TAB>path attr set target dest<TAB>path some<TAB>otherpath Then "some<TAB>path" used to point to "dest<TAB>path" rather than follow the target of "dest<TAB>path" because no target attribute was found in "dest<TAB>path" originally and was modifying each element in the target value of "some<TAB>path" to be a literal element. commit 076f942d51fdd9253b8857646c4c93d597612beb Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 23 19:51:28 2007 -0400 More checks of return values from memory allocating functions. commit 0933f136dcfecb0c041681c3349e8b49300a6078 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Sep 23 15:43:08 2007 -0400 Fixed disable_mlockall when importing XML. commit f5d8080cc62cbbb0a88148d3db5125c2317cc94a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 22 09:35:12 2007 -0400 Fixed checking disable_mlock and using boolean values. commit 2e3807961bd990529f19be0cc15fc979010354c1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Sep 22 09:25:11 2007 -0400 Fixed resetting disable LIST and DUMP when the configuration file was reread after sending SIGUSR1. commit f1c3a3195ce338e1109dd57e9511e11efaf19e25 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Sep 21 21:21:45 2007 -0400 Include config.h in mem.c so gettext.h can be preprocessed correctly. commit 3a96009e00d043e3abe29ef4459e5681e2dcb7b7 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Sep 21 21:01:43 2007 -0400 Added configuration parameter "recursion_depth". This specifies the maximum number of recursions when an element contains a "target" attribute. When exceeded, the command will fail and return EPWMD_LOOP. The default is 20 but can be changed at compile time. Setting to 0 disables detection completely. commit 53ade85202f8f31ff5d9fbe4acd10cc03b0b86b7 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Sep 3 10:53:51 2007 -0400 Version 1.0. commit 0909f5f29eee2972d34f51f5d48d6c3ae7a2b503 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 30 20:57:34 2007 -0400 Updated docs. commit dc3496ccd0692c9f42ee44ae93573221aef3a332 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 30 20:43:28 2007 -0400 Changed the priority from extra to optional. Recommends libpwmd. Updated the description. Removed TODO from the debian package. commit 8074b7385d5a1e5e7b48647d4bad0e99283da606 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 30 20:14:03 2007 -0400 The CLEARCACHE command always succeeds even if the file isn't found. commit 965710d8dc2d281ab299e0723c9160fa03443181 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Aug 29 18:39:04 2007 -0400 Fixed a minor memory leak. commit 37294f0049e38c17abc39ada2712f3054bf7b768 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Aug 29 17:58:45 2007 -0400 Allow a literal '!' when creating a new account. commit e8c5f7440ccd38f07b6105f8e8baf410067bcc5e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Aug 29 17:47:00 2007 -0400 Fixed trimming the last character of the key_file when there was no newline. A couple cleanups. commit 5a494640747330d8f4840f1aebba6eba9dbfc210 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Aug 29 17:12:17 2007 -0400 Create and bind to the socket AFTER adding any files to the cache on startup. Prevents keeping the socket around when aborted. commit 9bde46382ac3556848fb90a57c6173461bf0be7b Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Aug 28 20:13:38 2007 -0400 Share decryption code with OPEN and cache_push. commit 14668a49423ec51c2bdf93077621c040c8eb5408 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Aug 28 18:56:26 2007 -0400 Check for HAVE_ZLIB_H rather than HAVE_LIBZ. commit aabb23b6952c9f5cbe67506170fbb9f3596e7bad Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 16 21:12:07 2007 -0400 Don't check for file existence with CACHETIMEOUT. commit b225a70bc7938b546de5a1b0a31f19bb772159e3 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Aug 15 16:43:29 2007 -0400 Removed the EXISTS command. Let the client check for file existence itself using "GETCONFIG data_directory" to build the path. commit b5f94f74063299326db86f9ad5c148d6771c0d93 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Aug 14 19:33:54 2007 -0400 Don't append a newline to the last line of LIST output. commit 20ee94441732ba0b219eb1a3f64afcff02d4802b Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Aug 14 18:36:21 2007 -0400 Added the EXISTS command which checks if the specified file is readable. The ISCACHED command will no longer return EPWMD_FILE_NOT_FOUND at any time. It only checks the file cache and not the file system. This fixes determining whether a new file has a cached password which may have been specified with the OPEN command. commit 6fedbd04c154e406e46b74c0aff4c6f7c17647f8 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Aug 14 17:36:44 2007 -0400 Fixed saving an empty password to the cache. commit 182dd4cb70f8a4d15acbe17ae5657d8bf43af3ae Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 12:44:28 2007 -0400 Version 0.12. commit 363cdfc36d19cc06420254e8c6eea6e354011272 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 12:13:33 2007 -0400 Fixed some compile-time warnings about signedness. commit 54da20ba2304751c7c8da5083cff52cd6b60365f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 09:44:17 2007 -0400 Don't run dch when doing 'make version'. commit c54e0e68ee6658a4a0db3fcfd4380026639ea8d4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 09:25:19 2007 -0400 Fixed using a cache slot when a file was opened, then deleted then a new file created with the same name. commit 7a06e32615e3f8c7766e57b9f98987da109f8d12 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 09:13:43 2007 -0400 Don't sort the output of the LIST command. commit 556b46cfc40c92daaed12b6997fa5925b573d22c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 08:52:07 2007 -0400 Updated NEWS. commit dd4caf837113f0c27b5259dde10da4df9e93a4f4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 08:41:13 2007 -0400 Fixed showing the last iteration status message. commit 7365182ee1103936bd8bb4fd2ac464fc09d3252f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 00:07:28 2007 -0400 Updated COMMANDS and TODO. commit c80c37e917914490bb4b133905a60e8d35ad7a65 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 11 00:04:11 2007 -0400 Fixed valid_xml_element(). It now checks if the first character is a punctuation or digit. Also checks if the entire element contains white space. commit 7a4f0e41e6510848e1066dbd588ccc7a99414a56 Merge: cbdf5a7 d2d2aca Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 10 23:49:00 2007 -0400 Merge branch 'unicode' commit cbdf5a79fb7ff0e933e257b810e257e0dca3dd96 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 10 23:26:10 2007 -0400 Fixed a few memory leaks. commit 21f6771e767c0ae3285720a95c6a1b5225159534 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 10 23:30:05 2007 -0400 Added --enable-mem-debug to configure. When enabled, define MEM_DEBUG and use the standard memory (de)allocators. do_xml_encrypt() will realloc() the existing xml data to the new size required by gcrypt rather than duplicating it and wasting memory. A few cleanups. commit 56645669de56b52dccf061d4d54651978c77283a Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 10 22:14:22 2007 -0400 Files to be pushed into the cache weren't being decompressed. Fixed. Imported files weren't being compressed. Fixed. commit 64f23f311b23660d1a49817be343f939dabeecf2 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Aug 6 20:01:02 2007 -0400 Return GPG_ERR_COMP_ALGO from save_command when do_compress() fails. commit bc35a03bd0263137124d638b1920c750e36b3787 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 10 21:52:41 2007 -0400 Free the resources used by zlib on failure. commit 4300178bd0ac4f4127c1fcf3ee7f9a8501940c74 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Aug 6 21:45:07 2007 -0400 Inherit SIGUSR1 from the server process so configuration file reloading works. commit c1d2af5b7d78cd32bf0d0de60f5b0c3194582f09 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 21:16:29 2007 -0400 send_cache_status() now only prints the number of used and available slots without anything else. This makes is easier for clients to parse. commit fe0f4f1c300871ba74eeb82f1e188394cd961786 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 20:49:55 2007 -0400 Fixed de/compression eating up memory. commit a7fe592452ce787cf244077ea97118da28ee4a34 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 20:21:54 2007 -0400 When sending a progress status message associated with the OPEN or SAVE commands, send the number of iterations so far. The client can calculate the percentage or whatever by using the GETCONFIG command. commit d2d2acab7db8b76eee40528b65daaa836bbbd034 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 19:55:02 2007 -0400 Forgot to add gettext.h, fixed. commit a7aa8d6181a41e4f92c946615319c696b7b122fd Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 19:45:50 2007 -0400 Added gettext support. commit dd19ca10bbc5ac8a9e794bf59b2a7cbbfd0fc718 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 10:46:23 2007 -0400 Strip the first '!' of a new element. If there's a following '!', it's an error. commit 49822c6c19a61e4c2839a7df544c83e190af54fa Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Aug 5 10:23:51 2007 -0400 Removed the gunichar stuff. It was only being used to test for the literal '!' character which is valid UTF-8 because it's < 0x7F. This might need fixing if other languages use '!' as the first character of an element name (?). There is no restriction on element names anymore. libxml doesn't seem to care what they are so pwmd wont either. commit 1873fa8b67cf0f2a0ef9ab1d50dfd6ab301bf5a7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 4 15:01:56 2007 -0400 Added debian/ to the .tar.gz archive. Version 0.11. commit 5650344192279b4e1d9a6e621184dee32310981b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Aug 4 14:36:17 2007 -0400 Don't pass O_SYNC to open() in log_write(). Use fsync() before close() instead because it's more portable. commit 276250ab422ff6fcfea7afde15e142e072e0c692 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 3 21:41:27 2007 -0400 Added the "compression_level" configuration parameter. commit 7f3cd5d0b1e43f52d68a043b62465bc245a7a1e0 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 3 21:10:07 2007 -0400 Fixed setting the xml length after de/compression. Actually compresses now. commit 18dab952ac990c6c3b83aa3d44646c90c88987dd Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 3 19:53:51 2007 -0400 Added zlib compression of data files. Data files from previous versions can still be opened, but will be compressed after the next SAVE. commit b16d6d7026511631100a0d54fb58126664d74d22 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 3 16:47:01 2007 -0400 Made contains_whitespace() utf8 friendly. commit 1752d508b7dc29b530aac018eeb9b47779d21c8e Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 3 16:08:20 2007 -0400 When LIST'ing accounts, sort the output. commit 36a46fdc76016d1170dd2e73fc2361610e2863c5 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Aug 3 15:25:06 2007 -0400 Use g_utf8_collate[_key]() where necessary. commit 8aa90e96da49a0b52d77b80b7e8451197318f4c7 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 2 20:29:14 2007 -0400 Updated docs. commit b6c3508abc3b84c4003a44afae815d1a1310a001 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Aug 2 19:56:53 2007 -0400 Rewrote how finding elements is done. We no longer use an xmlTextReader; instead access the xmlDoc tree directly. The STORE command can now store empty elements or remove the content of an element by setting the value to '!'. It can now also store a value to an element while keeping any children and can store content to the account root element. GET will return EPWMD_EMTPY when an element doesn't have any content. Each element in an element path can be prefixed with the literal '!' string. This allows for following targets in child elements and not just the account element. The LIST command now supports the "target" attribute. commit f2980c56ffe653c2c5ba74f2e6275f7724c87ec5 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 27 18:21:49 2007 -0400 Flush the stderr file stream after writing a log message and pass O_SYNC to open(2) if a logfile is being used. commit 1ee60b1b94e4cd72f2e9bc8c85727d87c5422110 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 15 20:54:28 2007 -0400 Fixed a bashism in autogen.sh. commit 617c6779df52a1e70e6bdf3cc29cc4339042f2ef Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 15 20:44:19 2007 -0400 Renamed PROTOCOL to COMMANDS. assuan is the protocol, not pwmd. commit 43077387e6b9738972a5d82f880e8c0ed35ae1d4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 15 20:40:55 2007 -0400 Added the GETCONFIG command. This will return the configuration value for the specified parameter. If a client hasn't yet opened a file on the server or the file doesn't have an associated value, then the default value will be returned. commit 4c6710a757001c47c93b3ba492e78d84a90db762 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 15 19:39:51 2007 -0400 When a new file was opened then the client quit without saving, a cache slot was being used. Fixed. commit 5dd9f02e105ed8d0890011078b98b22ec280d6ee Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 14 12:46:02 2007 -0400 Version 0.10. commit 505974478954d41bfac70ca8cf865ec47dfc12e7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 14 07:44:00 2007 -0400 xpanic() doesn't require -DDEBUG commit 41ea13582cba78016e03e5335145efd9fdcf6d2a Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 13 20:45:44 2007 -0400 Fixed iteration_progress and sending duplicate status messages. commit 1031f16bdf0aeb38d81a9c8da3441cfd20cc6bc6 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 13 20:26:15 2007 -0400 Updated TODO. commit aab7feb3a1cfd2a245307626724441e5114cbc51 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 13 20:17:55 2007 -0400 Added a 'deb' Makefile target. commit c21037c065da3dfd33a3e71672605bf3a9c8cd61 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 13 20:14:56 2007 -0400 Updated Makefile.am to include config.example. commit f02f2dbf00d6008ab3836fce04e571fd374a6629 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 13 19:30:20 2007 -0400 Added ChangeLog to the Debian archive. commit 2a3d1376f8a6166d277d0cad420d4353a7db0b9f Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 13 18:17:25 2007 -0400 Compile will Valgrind support even when DEBUG is not defined. The overhead is not much according to the docs. Added valgrind.h to GIT. commit 8f2e60261ce807dbde4cc86dce55b9740153ae65 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jul 12 21:47:43 2007 -0400 Fixed a bug with xcalloc(). size should be nmemb * size. Added valgrind.h. Valgrind won't work correctly by itself with custom memory allocators. Although it doesn't seem to be working anyway with the provided macros. commit def606dfbbbee279970c236f554b277f1e999b1d Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jul 12 20:12:33 2007 -0400 chdir() to the data directory. This simplifies the open_command(), save_command() and file_modified(). commit f6469dedcb026b0b732f937ac3eee5b617790c5b Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jul 12 20:00:50 2007 -0400 Do the -I import as soon as possible without creating the socket and shared memory. commit bd04469b7c846fb9703ef66e3585a82bcc08993b Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jul 12 19:47:24 2007 -0400 Documentation updates. commit 29f2df633572cb21856e66295b4f2d875a6c3098 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 11 21:39:23 2007 -0400 When the server process is terminated, wait for the children to exit before the parent does. This keeps the shared memory around until it's done being used. This fixes clients writing to the unmapped shared memory. commit 2923ee872a1750e070fb5942f9f8a779864f8a85 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 11 20:12:07 2007 -0400 Don't log SIGCHLD from the parent process. commit d8d9f2fa6943955201f75a14da2ad0396d912923 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 11 20:07:13 2007 -0400 Ignore SIGALRM when a quitting signal is received. commit 8d4dd47eb8e16b06b1e1beed1332713b1069be23 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 11 19:52:16 2007 -0400 send_cache_status() on open_command() failure fix. commit e482132349a1b6836a93466f14137062ddd0480e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 11 19:39:12 2007 -0400 When the OPEN, CLEARCACHE or CACHETIMEOUT commands succeed, a status message with the CACHE keyword is sent to the client showing the available and total cache slots. commit 45304a86728c6f833c98a8de42ffd538ce6cdab5 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jul 10 18:28:07 2007 -0400 Updated NEWS. commit 0b6ab438c9e288558044c80d13a7ba41e665799f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 8 20:15:55 2007 -0400 Catch SIGTERM and SIGABRT in the child process. Ignore the others that are inherited from the server. commit 300526f51b02288d0d7654260915579ac2f1a254 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 8 15:05:18 2007 -0400 Some portability fixes: Check for the mmap() MAP_ANONYMOUS flag and use MAP_ANON if it's not available (FreeBSD 4.1). Define MMAP_ANONYMOUS_SHARED by default. If it's Linux < 2.4 undefine it. Include both <sys/types.h> and <sys/stat.h>. commit eff994ca4baf9883515f5cf7263dbd653ee18482 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 7 22:57:59 2007 -0400 Updated debian/copyright. commit 93f21913cbfe5324f091260e1f047551b718957b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 7 20:17:35 2007 -0400 Updated NEWS. commit a8bdf8fc0f13694a583e5fa52e4a74a37c9402f7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 7 20:04:48 2007 -0400 Fixed find_elements() and find_element(). find_element() will make sure the element is a child of the previous found element and not just of the same name and depth. commit 775664847b3e8e870ecc572eefe46b31e3dbd370 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 7 19:45:56 2007 -0400 Fixed list_command() not setting the error description on failure in some places. commit 3d141042944455ef581c41fba17274701d655643 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 7 19:28:16 2007 -0400 Added the REALPATH protocol command. This will resolve all "target" attributes for every element in the specified element path and print the result. commit f31c3a504a18cd94f8a052cfa481066a7898ea9e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jul 7 10:51:00 2007 -0400 Updated TODO. commit 04c984a796f820bdd308fda396188da14ab36261 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jul 6 21:15:29 2007 -0400 Fixed compile time warning. commit 0e1a4f2dbd21abf13ea5611d3d26134ba191ed13 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jul 5 17:22:10 2007 -0400 When disable_list_and_dump is set, return GPG_ERR_NOT_IMPLEMENTED rather than EPWMD_EMPTY_ELEMENT. commit e4bda78383510f74393567a59032ee0ea8ad4c2c Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 4 17:30:00 2007 -0400 Fixed find_node() being case insensitive. Ditto for attribute_delete() and the "name" attribute. commit 744bd4280a14a0124e0167c6c303457546023a27 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jul 4 15:39:40 2007 -0400 Also allow '.', '_' and '-' in filenames. commit ffd3f163283e72c361d6f1051c5d1daa189534db Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jul 3 20:59:25 2007 -0400 Updated NEWS. commit e4d1b6772f90b4da76215e0c2b858b0fbfa9e056 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jul 3 20:36:26 2007 -0400 Fixed a FPE with iteration progress. commit ee9db63963bb78307eeba58ef10ccef94e033b33 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jul 3 19:56:40 2007 -0400 Sending SIGUSR1 to pwmd will reload the configuration file. commit 04ef5d12f991e1a8fcca541eef24a7a9f5b224f2 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jul 3 19:36:30 2007 -0400 Added configuration parameter "iteration_progress". pwmd will send the client a status message showing the percent of iterations that are complete while encrypting or decrypting a data file. The default is 0 which disables sending status messages. commit 11abe698e7e16bc3d6efb5e55936b4fd531350dd Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 21:52:37 2007 -0400 Updated config.example. commit 3cb106283ddb2d2d3cfc21b19214c930bf4aeb52 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 21:42:54 2007 -0400 Added command line option -b to make pwmd a background process. Fixed log_write() to write to stderr when in the foreground. commit e8afcc569c92c51b9a4f22a83f85b5950e10adbf Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 21:14:00 2007 -0400 Clear memlist and the file cache on SIGABRT. commit 44597c825dcc2b363289b3c58ee4a6e6cb61c0be Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 19:47:21 2007 -0400 Updates NEWS. commit 3da533d931cc71542f246d2aac6919a53a2cd420 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 19:00:24 2007 -0400 The configuration parameters 'key' and 'key_file' now make sure the correct key is specified like 'cache_push' does and warn if it isn't. Fixed an incorrect free() in get_input(). Zero out the password buffer from get_password(). commit 6670627ae27674d972c3333d750fcbe862949567 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 17:55:17 2007 -0400 Make sure all configuration settings have a (default) value. This fixes enable_logging when no log_path was set, for example. commit 1cb5b0b5b45aac30f40053e1d85b60a23a15b724 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 17:32:32 2007 -0400 The configuration file is looked for in ~/.pwmd/config by default. The default data directory is ~/.pwmd/data and the default log file is ~/.pwmd/log. This prevents trying to open these non-data files. commit 9939200892722ee5c8eb20ef6d222d5c42473eeb Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 17:05:48 2007 -0400 Make sure filenames in cache_push contain valid characters. commit ae430d1f13821df70f2cf6271d6bbd12e96fc943 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jul 2 16:38:01 2007 -0400 Remaining command line arguments are files to add to the cache like cache_push does. commit ad038e9eb7234cb19af1b32e812622ef2775cc3a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 1 10:35:11 2007 -0400 Fixed descriptions of libgpg-error errors. commit 865eda84770debe0ed9ffb743c6b0f0f1209557f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jul 1 09:49:21 2007 -0400 open_command() should return send_error() after parse_xml(). Fixed. commit c3c8dbda3293f7eb3d33943afa5f088b3e6eab07 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 30 15:40:39 2007 -0400 Version 0.9. commit f969029754637371c535dd4c87e9658737b849a7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 30 12:21:56 2007 -0400 Fixed the LIST command to only show literal elements for now. Should have been included in commit 9bd67f4. commit 22e4bc9a227dce4ada196541e641be231f157a7b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 30 11:22:53 2007 -0400 Close the client file descriptor after fork(). Don't log the client's file descriptor. Close stdin, stderr and stdout before the server loop. commit c54e014f475168f046124fb63d78622dc385c918 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 30 10:25:18 2007 -0400 Updated docs. commit 8502ce2589b02d595de72edf60c27373b224b025 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jun 30 10:23:38 2007 -0400 Added command line option -D and configuration parameter "disable_list_and_dump". This will disable use of the LIST and DUMP commands. When a client sends one of these, EPWMD_EMPTY_ELEMENT is returned. commit ac871eca544bd8fc256e40b20cf8ee0470a935a5 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jun 29 17:48:02 2007 -0400 Check the return value of assuan_send_data(). commit 9bd67f4abcf53d4ee6a7efc6036c0d8763864679 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jun 29 21:17:04 2007 -0400 Fixed is_literal_req() to return FALSE if 'req' is not literal. find_elements() and find_account() make more sense now. commit 6144870db64310d7a41bf8d2e18d153bc7c5889d Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jun 28 21:14:48 2007 -0400 Updates. commit f7b2690efe6aede6f69aa856bf5e439c9a6fc3eb Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jun 28 20:13:12 2007 -0400 Rewrote the "target" attribute. GET, STORE, DELETE and ATTR now support it unless the element path is prefixed with a '!'. The LIST command doesn't anymore. Removed EPWMD_ROOT_TEXT_ELEMENT. STORE will return EPWMD_COMMAND_SYNTAX instead. commit 49eebdf7175f10b8a6b8d8daac551f870dac579e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jun 27 21:05:43 2007 -0400 The Assuan protocol is now used for socket communication. This requires libassuan and libgpg-error. Of course this will affect error reporting and error codes. The errors returned are error codes used by libgpg-error. They are the GPG_ERR_USER_N codes when no standard GPG error will do (non-key and syntax related errors). Some protocol commands have also changed: HELP - has been removed CACHE - It's subcommands CLEARCACHE, CACHETIMEOUT and ISCACHED have been made into their own protocol commands. The CACHE command itself and RESETCACHE (also the cache_reset_timeout configuration parameter) have been removed. STORE - First the client sends just the STORE command by itself, then after a INQUIRE server response the client sends: D <element path> This is part of the Assuan protocol so a client can send more than 1000 bytes (the maximum protocol command line length). OPEN - A client can open another file without reconnecting to the server. If the OPEN of the new file fails, then no file will be open at all. Also, when a key is specified when opening a new (non-existant) file, both the file and key will be stored in the cache. Before you had to SAVE before the key was added. Some bugfixes that I should have cherry-picked to avoid a large commit but got carried away: All non-cache related commands will check if the file has been modified before continueing. Fixed a double free() in the LIST command. Zero out the shared memory on exit. Don't unlink() a socket or other file that wasn't created by pwmd. Zero out the temporary file_cache_t variables after use.o When a file was known not to be cached because of an empty key but still had a slot used for the same file, a new slot was being used. Fixed. Added debianization stuff. commit 70754ff7c5f2363319d37b8ab9077bf315b1d61d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 10 10:43:07 2007 -0500 Don't colorize git-log output. Fixed doc/pwmdrc and TRUE or FALSE values. Version 0.8. commit 90f97b68b84df4a847cfe7e9f84d04f2399a5e32 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 10 10:21:49 2007 -0500 Split pwmd and libpwmd into their own projects. commit 7e584a21b32cf4c17502aa7d3bc94197262cf383 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 6 21:23:27 2007 -0500 Use AM_PATH_XML2(). commit 03dcb8c366bd38ec2dc5fc6a28fd39e82a70ceb7 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 6 21:04:32 2007 -0500 Added PWMD_OPTION_PINENTRY_PATH. commit 164b6e489d90e18b5ccd299bddaa888094b88ab7 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 6 20:46:19 2007 -0500 Fail if there is no DISPLAY or ttyname(). commit 8fa3cee66e4b9e1ddf8926222b4a58221616fb5c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 6 20:39:31 2007 -0500 Set 'error' to EPWMD_ERROR when --disable-pinentry is specified. Updated docs. commit 43bc25280248ee3be95864234c751c9944a3dcd9 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 6 20:28:06 2007 -0500 Added --disable-pinentry to configure.ac. When specified, the PWMD_OPTION_PINENTRY (or the depreciated PWMD_OPTION_USEAGENT) PWMD_SETOPT command will return PWMD_ERROR from pwmd_command() and set 'error' to 0. commit 5922a62ab5ca44d4ae7bb92c14df00189e7d1104 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Feb 6 19:24:48 2007 -0500 gpg-agent(1) is no longer used. The password is gotten from pinentry(1) via libassuan. PWMD_OPTION_PINENTRY should be used instead of PWMD_OPTION_USEAGENT. commit 9d432a9bd2c3a6b37aab42438e2854b52f052e5e Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Feb 5 08:04:51 2007 -0500 Added PWMD_OPTION_PASSWORD_FUNC and PWMD_OPTION_PASSWORD_DATA to specify a custom password retrieval function. commit 4fe7392c2101f6e19cba705740ba29cc7bcd4d42 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 3 10:54:43 2007 -0500 Version 0.7/2.0.2. commit 5cfb770b3a38bc3cd8ffb61b43af530c20dbb51f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Feb 3 10:23:56 2007 -0500 Added a libpwmd manual page. commit 1dbffc3e55707347bb9e31c208a452bf062106f2 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 2 20:51:25 2007 -0500 Updates. commit 4bc97dabdc271dc4776fb9c3ef6f8088b10b15a7 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 2 20:48:39 2007 -0500 Don't be case insensitive with the "name" and "target" attributes. If the GET protocol command account elements is prefixed with a '!' and the element path contains a "target" attribute then the result will be the value of the real element path and not the target: GET [!]account<TAB>element[...] commit 9e8b7e2aa09491425b27e1bd30ff7d72bca66598 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Feb 2 19:36:47 2007 -0500 Don't show element values with -DDEBUG. commit 252670e14997defe321277014c34f4bc3f3704ac Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 22:06:12 2007 -0500 Added support for "cache_reset_timeout" and the OPEN command. commit 068ea4e29d098535bdf051a56b194ac44e295e0a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 21:45:24 2007 -0500 Removed .elapsed from file_cache_t. Deincrement .when. Zero out an unused slot before adding to it. commit 6ad67a50de1729091293e21946bb7a0e165c7667 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 21:20:13 2007 -0500 Added CACHE RESET and CACHE RESETALL. RESETALL will clear only the key for all cached files and RESET will clear only the key for the specified file. commit d8c3a2e2b96cb30f68a0d863c6ca7e1d76322127 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 20:35:46 2007 -0500 Fixed the CACHE CLEAR|CLEARALL command. Now restores the timeout for a cached file. commit dd79ecd585c9c51ccf17896aae85de8bb1063a8a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 20:16:52 2007 -0500 Removed a debugging line. commit 2b98ee2ed5a65dcfa40b6188e6743b032fca0554 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 19:40:18 2007 -0500 Fixed "cache_timeout" with "key" and "key_file". Added "cache_reset_timeout" to reset the cache timer after a SAVE command. commit 72ecc9b74e2c7b6204d17072b2ea90599c30e550 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 31 18:56:40 2007 -0500 cache_push and file path bugfix. Initialize the glib memory allocators in main(). Doesn't seem to break anything. If theres a failure before fork() that should exit, close the socket and shm_data. Added two new configuration options "key" and "key_file" to specify the key for a file. Works with cache_push too. commit 9b80c42eacb1ae804058e6e017b5c866415e7f53 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 28 09:42:07 2007 -0500 Update. commit 33e50c50f69cfba61cfe61c54be31ce994bfabd4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 27 22:26:20 2007 -0500 Removed the unused pwmd_list_free(). commit 24de99461934fa8a5b6ccb15d915d7547ada756c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 27 20:35:11 2007 -0500 Forgot to add libpwmd.pc.in. Fixed. commit ae4869a1adfc125377410f22519b79af2339fc6f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 27 07:53:27 2007 -0500 Version 0.6/2.0.1. commit 406b465e540e8c7533837ca13cba9331fd5bdcf5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 27 07:48:03 2007 -0500 g++ compiling fix. commit 9cbd8aa1223bb6480c417c1572b7f8eac95a2bbb Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 20:07:56 2007 -0500 Don't include libpwmd.pc in the archive. It's generated from libpwmd.pc.in. Version updates. commit 044a8ebea725e2bab91f4ac53c272119a3445125 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 19:03:06 2007 -0500 Set the title and description strings when using gpg-agent. commit 0461ed45d0df02dcebf8b11c39b0d0678f981318 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 19:02:34 2007 -0500 Make sure the result exists before checking for an empty string. commit dad5ddad8b3e3ab408bd2aa7fd5e22a19c240bcd Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 19:52:47 2007 -0500 Restore the working directory after connecting to the socket. commit 4557132100d5553f549dd9335642f3b3ae96b2b5 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 18:38:43 2007 -0500 Update. commit 4ea8a4037ef4987cb56b2559790ef33c172160e3 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 18:36:39 2007 -0500 Don't chdir() to the data directory. Build the file path from the data_directory configuration option. Fixed the wrong errno string being displayed for some functions. commit 0a614f5ac71e1dacf3b8eb2f1cb4331e1e20eda3 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 25 18:16:52 2007 -0500 Updates. commit 44f0c1db1a07e5163da7f5933144beb34b109d51 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 24 21:06:12 2007 -0500 Clarified some prototypes. commit 8af4fd70c6d893235f4cf5d9f8d48160b9de7f5e Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 24 21:00:34 2007 -0500 Exit if a configuration file was specified on the command line and an error occured while trying to parse it. Free the key file data on exit. commit c237c1eccbaab19c875467bb4b6797790c1f4740 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 24 20:51:34 2007 -0500 Check for alarm in configure.ac. Forgot to remove some debugging stuff. Fixed. commit 41ff826136851a6a079bd3e45c88ec4877c2356a Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 24 20:41:34 2007 -0500 Reword some stuff. commit 3c62a282dcdf2bb5919ac1ace86ee89a296df109 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 24 20:35:10 2007 -0500 Use [filename]->iterations setting with the SAVE command. commit 461ccca60865eb592dd9f19fd719b76f809a7c91 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 24 20:26:37 2007 -0500 Added CACHE TIMEOUT to clear a key after the specified amount of seconds. -1 will disable. This adds a new configuration parameter "cache_timeout" which may now be specified in the global [default] or the new [filename] sections where "filename" is a file located in the pwmd data directory. Fix for the SAVE command not getting parsed properly. commit 21180625330dad7944a331b725802a94d99afdcd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 22:03:59 2007 -0500 Fix for the LIST command with an element path and going past the closing element. commit cb8e781b745f2aaaac634046d7cfcfd15d96558a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 13:34:50 2007 -0500 Version 0.5/2.0.0. commit 9d3cf81263533fd75e526012e2af40b5ab2ee0fd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 11:34:04 2007 -0500 Fixed a typo with install-data-hook and make sure ${libdir}/pkgconfig is owner writeable which fixes 'make distcheck'. commit 02fe3b039ddd54409f3932f2bbb5b3cd6295106a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 11:18:13 2007 -0500 Updates. commit 0388955445edee9e7b84800cfbde7e377b4bd542 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 11:11:19 2007 -0500 Added a note about element values with newline or tab characters. commit e85f5e0faa8e664cd9a8eabae3e74ff9e0195532 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 11:06:17 2007 -0500 Removed pwmd_base64_encode()/decode() from the library. Let the client do it. commit 412c3be4eff4b33a4599dfb3c8d0fa36b2ca135b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 20 10:33:56 2007 -0500 Close file descriptors 0, 1 and 2 before the daemon loop. Reset signals SIGINT, SIGCHLD and SIGHUP to their defaults in the child process. Fixed log_write() and writing to stdout/stderr when daemonized. libxml and other noteworthy errors are written to the log. commit 7b59a0ef8c8f105185a4972cfc915dcb30c73ac8 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 22:53:09 2007 -0500 Update. commit 4bf51ed2a8cea1f7fb63757296ab2bc8e11ac141 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 22:50:31 2007 -0500 Updates. commit bcfcc6a133bd1a580820ecd7bf4fa48fa2df8f19 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 22:04:26 2007 -0500 xml_import(): call xmlFreeDoc(). commit f42be0796aa97f6b305937f49f4a854d32e5e6af Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 21:59:37 2007 -0500 Require the "name" attribute for the account element in the DTD. commit 4e224f78413b2bfb8d056e250b3018733899748d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 21:51:14 2007 -0500 Updates. commit 9c92e638cc0079d5146f4298f25cf77bbc606879 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 21:45:52 2007 -0500 Manual page update. commit 54930a96442d31216c5d9294d050a3ee7bade5f0 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 21:39:54 2007 -0500 Fixed two off-by-one errors. Thanks Valgrind. commit ecea6f21457edf1de4f2a0866801155a23489ad3 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 21:28:04 2007 -0500 Added -I command line option to import an XML file prompting for a password to encrypt with. The encrypted data will be written to stdout. The iterations configuration parameter will also be used. The password prompt is written to stderr. commit b51947cf47c28f1eaeb41cd373028951f2196fe8 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 19:22:40 2007 -0500 cache_push with an invalid password bugfix. The file descriptor was getting close()ed and also needed to be "rewinded". commit 35b3c14f391947a6af6ac91e74d0dadd01fb6b2f Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 18:52:17 2007 -0500 Updates. commit b36f5682a4984414953cf456a189205ead5a446d Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 19 18:17:33 2007 -0500 Added EPWMD_FILE_MODIFIED. When the SAVE command tries to save to the filename with a mtime newer than the OPEN mtime. commit dcca382fada8de4fa88e231ca1235c94173eebc9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 18 22:45:03 2007 -0500 configure.ac cleanup. commit a6faa6119e678952ded94b9db7a36b1c973ff219 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 18 22:44:46 2007 -0500 Added uninstall-hook to remove libpwmd.pc. commit 86166dcc478839dd65b0d5e8b7d9085395405d06 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 18 22:20:05 2007 -0500 install-data-hook fix. commit f84bdded14a41cff55e68023fdb38d418776ce3c Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 18 21:49:17 2007 -0500 Trim down the DTD for only required elements. commit 6b0a1c773c3688521de937d48f90a8704f6555e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 18 21:40:50 2007 -0500 Don't require -a or -p with pwmc. The file may be cached on the server. commit a138e9aaba904d7b8fc28839b709cc40e5acf641 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 18 19:01:29 2007 -0500 Install a pkg-config meta file to $libdir/pkgconfig. commit fe8ce3c87c31fbd7919fb84ae0ee0681f8d38ceb Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 22:26:46 2007 -0500 Update NEWS. commit a289f1a672f54061e2988c24b651c1529176090c Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 22:21:10 2007 -0500 Updated NEWS. commit 517435b1442a88394d602440e303cc1dad1cfc96 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 22:07:56 2007 -0500 Added pwmc.1. commit db5c899f4a4ea580942346e2308d4de2aad682c1 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 21:56:27 2007 -0500 Update command line usage. commit 528dc66cea26160092bf1db499d64f210170a093 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 21:50:47 2007 -0500 Write an pwmd_command() error to stderr. commit 97082395ad3311b24113d411254ac17b54be4049 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 21:43:50 2007 -0500 Added -E to exit after a command error. commit 372f1f48ae9bbbfe63b8ace3dab6dcd4c3ca73d1 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 21:39:29 2007 -0500 Fixed setting result to an empty value (but not NULL); commit 50b72a29b1cc3155fa3386c1a90252cfab44ca55 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 21:35:58 2007 -0500 Clear the contents of the input buffer before free()ing. commit ad5b286e06d248a4bd3ed0d32fadbb6ea060b682 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 21:29:17 2007 -0500 Fix for protocol command lengths > 8196. commit 01ab5b278a15341bf3304f10cb0721a84d5741c0 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 20:54:49 2007 -0500 Fixed segfault with a NULL result from protocol parser. commit 324bf575a057f47293a42d1e637ac5ae7648ce3c Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 20:45:22 2007 -0500 Fixed PWMD_SAVE with gpg-agent. commit aa7c1f3b78e241df7a6633ae964327199f3217c8 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 17 18:55:31 2007 -0500 Removed most PWMD_* commands. The remaining ones are PWMD_SETOPT, PWMD_OPEN, PWMD_SAVE and the new PWMD_COMMAND to send a protocol command with arguments. It's alot simpler to use and doesn't require a library update if a new protocol command is added. commit 49197f39fe724e5b742869901d594f2858605a1c Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 16 22:45:20 2007 -0500 Added a simpler client than example client. It's more of a utility. It reads stdin for protocol commands and prints the result (if any). Installs to PREFIX/bin. commit 10ab90bfc7d288d546e4ad797f332a45d1d7eaa2 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 16 22:24:58 2007 -0500 Added PWMD_RAW to send a raw protocol command. The result will be of type char*. commit a6057d0d79984acbc22af6aa7f80686e998bfef8 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 16 21:38:50 2007 -0500 Write a structure to the data file which specifies the iterations and IV. This lets you open a file that had a different iteration setting than the current setting. Breaks file compatibiliy with previous versions. commit 52256e4ce07bda6aecfe96dcb506c8f9037bdad6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 14 22:08:28 2007 -0500 If PWMD_OPTION_USEAGENT is set when PWMD_SAVE is invoked, use the cached key if available. commit a44c4b0a5de0a16dc549978e1748045e6ae67ae2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 14 21:24:39 2007 -0500 Make sure the file cache is cleared on startup. If a file size is 0 then CACHE ISCACHED will return EPWMD_FILE_NOT_FOUND. commit 9a67383ea9e45945528a227bd49a8dbaeac9e52c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 14 20:40:30 2007 -0500 Make sure the file exists before looking in the file cache. commit b0c0e9dc19df0519e0010f15843e5e1c6fbc1090 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 14 10:10:54 2007 -0500 Version 0.4/1.0.1. commit 7dfb077a32ecd7a07367880fb90e11855cb6c07e Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 21:23:31 2007 -0500 Lost EPWMD_ATTR_NOT_FOUND somehow. Re-added. commit 75caed97f40d2475a0f2403b30bc48d656be7df2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 19:15:15 2007 -0500 Fixed a double free(). commit 37a9b6f5ca0e6095c31ef83a3995acf3053eaac4 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 18:54:38 2007 -0500 Call va_end() after a command. commit 6260cee91ba7a3c2ac20048c8fd8835fb88d379d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 18:14:27 2007 -0500 Make sure error is the errno of the failed call in pwmd_connect(). commit 17d33be43b323c4370751cd5a9e73e7ddd7ba44b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 15:20:10 2007 -0500 Updates. commit c9ca71dabfc7f290261ccdfc90bfed749ed40043 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 14:35:59 2007 -0500 memlist_remove() leak fix. commit 4c44913486a5c9ee9fce9549891b4ae57863b075 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 13:58:25 2007 -0500 Manual page update. commit ac8c0460f8e301a98a0e852eeb306b3b0cadb91d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 13:51:00 2007 -0500 Fixed a double free(). commit e8ebb647126dca7c71ebfd6d7dd8aef073f08456 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 13:39:59 2007 -0500 Update NEWS. commit 3844fbff7ef47b1943122bfc19c396b0cb64270a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 13:36:31 2007 -0500 Call fsync() in log_write(). commit a302f9c54f28ec3618ce67557d5b64cb922cac85 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 13:32:41 2007 -0500 The memory allocators have been redone to use a linked list like before but without the Glib dependency. This allows for Glib to use the new memory functions. Add xcalloc(). commit 30ec82afae700d4a4d7d3ac6d9eff2816109906a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 12:14:55 2007 -0500 Added "iterations" configuration parameter which will encrypt the data N+1 times. The default is 0. commit 23efe175c83b0ea1dac60ecf35ef71037e02a073 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 13 09:37:29 2007 -0500 open_command() and save_command() cleanup. commit 93da35e07910fb38f8c1ab40175bb57e0f01a3ba Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 12 21:45:15 2007 -0500 Update cache_push to use SHA256. commit 9b0baad3c83ac605912b033840c2b553c5749cb8 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 12 20:42:40 2007 -0500 Update NEWS. commit 8baf2f67c6e52298693f4608993f26e87ffb8f2c Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 12 20:39:55 2007 -0500 Protocol parser fix for an "invalid write". Thanks Valgrind. Clear the server IO buffer before free()'ing. Fixed some memory leaks. Thanks Valgrind. commit 67b69ace11a15b35ea24385ec31fb936ca2ca5b6 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 12 18:43:41 2007 -0500 Renamed the xml* memory functions to x*. client->xml should use gcry_malloc() and gcry_free(). Fixes memory corruption. Added assersion to make sure the memory pointer is in the list even without debugging. commit ebda53008c0c2bd6ac8d53bc395d41e35f30e914 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 11 22:14:14 2007 -0500 NEWS updates. commit 3c59d25e1c2b49256647d79e5804eead319bbcf7 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 11 22:10:48 2007 -0500 Added pwmd_list_free() to free a list result. commit ce14385646a4ced86ff235859a91bf80a1b503c0 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 11 21:36:54 2007 -0500 Rename get_elements() to find_elements(). commit a36631169510fdc334bb3d2923dc2a6cb6d7a1e9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 11 20:45:17 2007 -0500 Update PWMD_LIST_ACCOUNT docs. commit d533541ad6ef86d4ec5be8c0ecc67c455144e424 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 11 20:41:43 2007 -0500 The LIST protocol command can now take an element path as an argument. commit 510e045e95a070a9361db18523ba507800167b40 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 11 20:11:18 2007 -0500 Fixed invalid free(). The memory was allocated with gcry_malloc(). commit a2af13ddd4944600a39519adf2e6b404f2dae476 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 10 22:33:40 2007 -0500 Let gcrypt use the custom libXML memory allocators. Fixed another memory leak. On my machine I get a core dump do to an invalid free(): *** glibc detected *** double free or corruption (!prev): 0x08059318 *** gdb backtrace shows this to be in list_command at pwmd.c:608. I did a 'dd if=/dev/mem of=/dev/null ibs=1' and I get a bad address error from 'dd'. I might have a bad SIMM. I'll see about it. I didn't find a problem in the code. commit c0c872653431a6ae3c7958495d937f0fbb5d4b11 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 10 21:05:03 2007 -0500 Added libXML memory handlers: xmlfree(), xmlmalloc(), xmlrealloc() and xmlstrdup(). xmlfree() and xmlrealloc() will clear the contents of memory before free()'ing. commit 22bbdf29f51ca86d79b9778a05de07a30382395d Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 10 19:19:55 2007 -0500 Use AES256 for encrypting and SHA256 for the key hash. This breaks compatibility with data files. commit b915489cdad54201297c566705af09d61fe78332 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Jan 10 18:33:46 2007 -0500 Fix for compiling the library with g++. commit d7794f773c7de3bc3067c9e25caf9c005eeac358 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 9 21:32:37 2007 -0500 Fixed some memory leaks and free()'d some unused memory. commit 208accb0f3ca5ab48f2bbee1c52860cde4ffb20e Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 9 20:23:52 2007 -0500 Fixed closing file descriptors. g_io_channel_shutdown() doesn't seem to be working so shutdown() and close() will do. commit 5ac800320b1a4f08ea8d6128081cf76c1a41e97a Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 9 19:01:46 2007 -0500 Added PWMD_ATTR_GET. Brain hemmorage with pwmd_base64_decode() on the previous modification. Don't null terminate the g_base64_decode() value. Take another argument of *size. Some libpwmd.h doc fixes. commit 9bf8a465551896880268bbcbc54b1c0e767a19ee Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 8 23:23:23 2007 -0500 Linux 2.4+ supports mmap() with both the MAP_ANONYMOUS and MAP_SHARED flags. This won't create a file in /dev/shm. Might be implemented on other OS's too. commit 78ef3ccd3ea5aa113d16230d4d5cfabdc1efe8d3 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 8 21:21:42 2007 -0500 Close the shm file descriptor after mmap()'ing. commit 0cdb023dbb1e0cce985d105c49a345aa0c28d736 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 8 20:12:13 2007 -0500 Format the output of the DUMP command. commit f9cce056a9951e03f62f9115af1bf76e6f5caf56 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 8 20:06:45 2007 -0500 Added ATTR GET to get an attribute value from an element path. commit 6c5221593ecbcae79926055f67bb2e0384e7f98f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Jan 7 08:52:42 2007 -0500 Version 0.3. commit 8bb0fe8bec018aa89a14d21168e38f0b2764c7fb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 18:49:38 2007 -0500 Manual page update. commit 992f38a8375143a297fe0b55704850bb9ef943b8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 18:22:13 2007 -0500 Updated NEWS. commit ef2ada377b1d2b0ad0dadde51d14b9c41a0b6be2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 17:48:40 2007 -0500 Added libpwmd/NEWS. Added a changelog Makefile target. commit 7a9dd8b8f1296f93dad94a5530b04aa5461c15e8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 16:05:36 2007 -0500 Make sure the wanted file is a regular file or link. Update protocol errors in libpwmd. commit 992e8550c5dfbdc39bee56efabf71332974798a1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 15:31:34 2007 -0500 Update PROTOCOL. Check for termios.h. commit e0d8bf19a30a35ab9cf0ecc5eeb297e39964d334 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 15:24:07 2007 -0500 Update for the OPEN and SAVE protocol commands. They won't be base 64 decoded on the server. commit a2feb4112afe9bbea678a15c7f79e4ced1a68cba Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 15:09:14 2007 -0500 Dont created an rcfile if it doesn't exist. Let it be up to the user if the defaults aren't good enough. Clear the key after get_input(). commit 77ddcc8128741bdd54c40c96f9eebf868b1cc5f7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 14:55:53 2007 -0500 The OPEN and SAVE commands, when provided with a key, will no longer base 64 encode them. The MD5 hash will be created from the rest of the protocol command argument. All command-line options have been moved to a configuration file stored in ~/.pwmdrc by default. Use -f to specify an alternate rcfile. Added a rcfile option 'cache_push' which takes a list of filenames separated by a comma, to add to the file cache upon startup. The password or key for each file will be read from stdin. Added example config file doc/pwmdrc. commit c184a8dae4e128270aa5a8c5da21558f2a9c57dd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 10:42:53 2007 -0500 Fix for opening an empty file. commit 4ad64ec93118c181d8ba278b98b104af8334d2d7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 10:37:24 2007 -0500 Fix possible memory leak. commit 73cfd2fa7f14630e0e860339d096f5c91b3b28c7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 09:27:26 2007 -0500 Fix for pwmd_base64_decode(). g_base64_decode() doesn't NULL terminate the return value. commit f0437d75fa2c6d56a413538953c6b6e3be2283d2 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 09:17:20 2007 -0500 Added a note in libpwmd.h about base 64 values and the STORE command. Update the example client to use base 64 encoded values. commit 757b78d766ba2c9c4a142be45de9b0835c0d5a5c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 09:12:16 2007 -0500 The STORE command wont base 64 encode the data. Leave that up to the client. commit cb0f5bbd6ec2437609eb9b12cd77ab5fdf6670ad Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 08:07:00 2007 -0500 send_to_daemon() cleanup. commit 69b61c68da7fe5c6aebf75e982cd518d76aeae35 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 00:12:54 2007 -0500 Satisfy autoscan. commit f3651170b52233613b0593dbf8a4b5ab99030282 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Jan 6 00:08:45 2007 -0500 Added 'version' Makefile target. commit 0183ff3a232774a135b0b35786216929b0fcab1c Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 23:07:45 2007 -0500 Only show element values in the LIST command if DEBUG is defined. Fix for the OPEN command when specifying an invalid (base64) key. Don't show NULL content with the GET command. commit 3a343300e8df8186960eb6cb5fcca7f0e2916d30 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 22:36:28 2007 -0500 Manual page update. commit e193d945e3db5c8ab4483178115e8890a32563d0 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 22:28:33 2007 -0500 Versioning was wrong for libtool's -version-info flag. This should fix it. commit 4de7d5fabe5a43b2037933c94c6999b746be96ff Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 22:07:38 2007 -0500 Update copyright. commit 42572c53ac31ffa6102d2ae4151dfe7b39af27a4 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 21:53:52 2007 -0500 Fixed freeing the xmlTextReaderPtr. commit f474565aad48195be3f28c3453309b0aa289c13e Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 21:37:59 2007 -0500 Let ATTR LIST show the "name" attribute for all elements. commit 7551f068d9789cdcc84a2c674eff946df1500c6f Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 21:24:51 2007 -0500 Fix the LIST command showing an error when TARGET doesn't exist. commit b2d07535a4cc9481d9b0822a1773458324a1aa21 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Jan 5 21:17:14 2007 -0500 Prevent showing any TEXT value for an element with a TARGET attribute when using the LIST command. commit bb545c1da28d742ecc4d3ce8ff64a1e9394bba8f Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 22:51:15 2007 -0500 Updates for the new ATTR command. commit 172ce6df124243d1e882bc41883534c557d6efd9 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 22:51:01 2007 -0500 Fix for the DELETE command checking the wrong return value from find_elements(). commit f76580a8d7b8219ae71e160516fbd479f78f59cc Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 21:31:24 2007 -0500 Fix segfault when trying to free the input buffer when quitting. commit 09b92056905093e9b57e4813e5fe5f030ebda303 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 21:29:17 2007 -0500 DUMP - make sure there is a file open. commit f7c800b1ebf376e8300c2230b2671ecce8e1a625 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 21:24:15 2007 -0500 Fix for the LIST command going past the end of the specified account when a TARGET attribute exists in an element and the TARGET is after the specified account in the document. Fix for the LIST command and showing an ERR response when a TARGET doesn't exist. It'll just ignore the error. commit e8d05b263ed736bd37065c367861516eb5cf6eec Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 21:05:02 2007 -0500 Added the DUMP command which shows the in memory document. commit e9d465dc00673029069fee10393e03ba024959a5 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Jan 4 20:48:06 2007 -0500 Added the TARGET attribute (was going to be VALUE, but TARGET makes more sense). Read PROTOCOL for more information. commit b9300ca4ebd9c9f5e178725a98bc4e7720bc0fb7 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Jan 2 22:05:41 2007 -0500 Renamed the SETATTR command to ATTR which adds three new subcommands SET, DELETE and LIST. Read PROTOCOL for more information. Note that the VALUE attribute isn't done yet. Added protocol error EPWMD_ATTR_NOT_FOUND. get_elements() (if successful) will position the xmlTextReader handle at the wanted element and not the element content node. client->outbuf is now a gchar **. Kinda like a queue but not really as all the data is sent in the same function. It just makes it easier for the BEGIN response code in some places. commit 12518e3dd5ec3f9726446666bfec8a9e07321eb5 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 1 21:52:14 2007 -0500 Better element name validation. Namespaces in element names are broken though. commit b799934b2e3c5730447b1ee14b9cfadbb89e1788 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 1 21:41:14 2007 -0500 Lots of code reorganization. Move all protocol commands to commands.c and pass each command a (struct client_s) and (char **) for the request. commit 9b90c1b53596c5d40a6f273494776737d4669833 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Jan 1 08:23:13 2007 -0500 Remove home directory lookups in the example client and pass NULL if no socket path was specified (-s). commit bdcd3f6b036f9f47f892d3c600885cda4263dbc7 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 31 09:27:44 2006 -0500 Version 0.2. commit f57cdd69f7f3a26e0c07607845ea987b1856e389 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 31 09:21:49 2006 -0500 Added NEWS. commit 8d3aa4da153256148ea93a9413843e9256b9539d Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 31 08:04:18 2006 -0500 Added doc/ and pwmd manual page. commit 154a086580844cfb2d26b9af0f0984a443d48046 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 31 07:57:04 2006 -0500 -l path fix. Added SIGHUP handler to reset the file cache. commit 4ee9989cea266688507e2e296029125b831d8935 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 31 07:02:29 2006 -0500 Update docs. commit 932ece28b50d52d16b2fd6ba534a2da096da7d53 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 20:56:46 2006 -0500 Update PWMD_OPEN. commit f55b28ebd9df0c4f75fc1e562a1010733310ba7c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 20:53:56 2006 -0500 Dont include assuan.h in libpwmd.h and change pwm->ctx to void *. commit a0d8e717887a83dc1986738805dc24dae6920815 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 17:40:42 2006 -0500 If pwmd_connect() is passed a NULL path to the socket, open the default of ~/.pwmd/socket. commit ae4b055549356e3d6496fab36ac0ff13ffb7bc49 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 17:11:16 2006 -0500 Put the protocol error codes in libpwmd.h (oops). commit 9ff40ff694e86d6d9124cc3c94508d3e9b84c079 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 14:28:41 2006 -0500 Satisfy autoscan. commit 2b87f3ae9e97f3a2e222846b2e1db53c3ed2e3cd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 13:22:14 2006 -0500 Have pwmd_command() return EPMD_KEY when there is no key found or the key is blank. Check the file cache when not using gpg-agent too. commit d15a5fbfb21fa283c6daf022b6cab9064c42f546 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 13:01:56 2006 -0500 Return EPWMD_ERROR when in unknown error occurs from pwmd_command(). Return EPWMD_BADKEY when no password has been set and not using gpg-agent. commit d555db61fb09d0c79bc50f67f4afc2394e7dc141 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 11:37:01 2006 -0500 Added KnownBugs. commit 4dbfc232e68e7e5887768c364a3880eace70ddb5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 11:15:03 2006 -0500 Check for assuan.h. Satisfy autoscan. Updates to docs. commit 9f653a747bc302d17ae6e9086840c6fdbe30d5bb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 08:27:31 2006 -0500 pwmd_command() will return PWMD_AGENT_ERROR and set error to -1 if gpg-agent fails for any reason. Fix segfault when GPG_AGENT_INFO isn't set. Return PWMD_PERROR and set error to EPWMD_BADKEY if there is an empty password from gpg-agent. commit 9151cc42cc67fef8294018f63bcdadb80a06024d Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 08:04:45 2006 -0500 Add pwmd_error.[ch] to the repository. commit 71123560c2d097dfabdfca4de69bded9df56f83b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 30 08:00:55 2006 -0500 Fixed the file caching functions. They would read past the shm_data pointer. Thanks Valgrind. commit ebb0fdd7d487a55808da9dfc1b596436a8a380a7 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 29 19:36:17 2006 -0500 Have pwmd_command() set error argument to the protocol error code when returning PWMD_PERROR. pwmd_strerror() can be used to get the protocol error string. More error checking. Updated exampleclient.c. Reset the password on gpg-agent as soon as possible and only use pwmd's cache. This removes PWMD_OPTION_CLEARPASSWORD. commit b6377e7694905159593ebb3d841fa710c0aee7a6 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 29 19:31:30 2006 -0500 CACHE ISCACHED will check for actuall file existence and return EPWMD_FILE_NOT_FOUND if access(2) fails. If the file does exist, it is checked for in the cache as usual and EPWMD_CACHE_NOT_FOUND is returned if the file is not cached. commit 5ff6c50486c36ade35952aefc2b78b9ba6f161db Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 28 23:49:12 2006 -0500 Removed some unused variables. Update client_help(). commit 5b8b19893b9b4dd75a4cad6eefe90270011e7260 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 28 23:31:22 2006 -0500 Fixed some commenting. Changed EPWMD_FILE_OPEN to EPWMD_NO_FILE. Decrement EPWMD_MAX. commit 1c30a38f1b9529fe1e373f0cd4948cbe75e86bff Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 28 22:51:57 2006 -0500 Show how many slots are available in the log upon startup. commit 5682ff28cd996c4a110a1432ce05b7afe1eefe4d Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 28 22:47:02 2006 -0500 All server responses that are ERR append a three digit error code and description of the error. Fix for the DELETE command. The entire element tree would be deleted if a non-existant element was specified. Fix for the GET command and finding elements in other accounts with the same element name. commit faee47265df2c72b51023c66411d9478974f382b Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 23:07:30 2006 -0500 The name of the file to pass to shm_open() is pwmd.<uid>. Added O_EXCL to shm_open() flags. commit c2383348b9796dcd201cbb65f08267a8e319971d Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 22:48:30 2006 -0500 Update docs. commit 1411757afb264c644b6fdd7d86f291cd05484074 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 22:36:07 2006 -0500 Added libpwmd/TODO to the repository. commit 7eaa57482dd7ad1118f7e1a7d4f36b05bb72e318 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 22:30:48 2006 -0500 Readd exampleclient.c to the repository. commit d65f371c1a8797f5061bcd78d25b57dc69cffafb Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 22:25:34 2006 -0500 Add libassuan stuff borrowed from GnuPG to the repository. commit 127d05e67e67e02a881621d094b0eb819ff41df5 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 22:18:20 2006 -0500 Added the PWMD_CACHE command to the library. Updated exampleclient to use caching. Use libassuan.m4 to find libassuan. Added custom titles, prompts and descriptions to the pinentry program which can be set via PWMD_SETOPT. commit e228f750359af383289c6c7afb658ab492693fd6 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 20:58:39 2006 -0500 Use glib data types where possible. Fix for MCL_FUTURE compile time error. Hrm. commit 150843dbaef54ac7e7cadbcb69f4e3b2d4adf6e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 20:07:52 2006 -0500 Fix for file caching. Each file is now a slot in the mlock()'ed memory region. There may be a hole in the region in the old method of "counting" files which would give false results. Removed unused/unnecessary code. commit 74921a06d56027d91a5e1d077ae7ef73f838a126 Author: Ben Kibbey <bjk@luxsci.net> Date: Wed Dec 27 00:15:08 2006 -0500 Updates to PROTOCOL definition. commit 6196f6ad0f94339df3572deac75c49b0978ebb67 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 26 22:56:16 2006 -0500 Added protocol command 'CACHE' with three subcommands: clearall - clears the entire cache clear - the next argument is a filename iscached - tests if a file (the next argument) is cached commit 651b9db18990b3f1887f822b63af7cf68fe92529 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 26 21:40:20 2006 -0500 Added command line option -l to specify a log file and enable logging. commit 9c44b9d58999724d5af5226ff64f273194cf4eb4 Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 26 20:34:56 2006 -0500 mlockall() is enabled by default. Use -M to disable. Added command line option -C to specify the file and password cache size. commit 1a701017e068606d867aadc210e5f0ee5de64eae Author: Ben Kibbey <bjk@luxsci.net> Date: Tue Dec 26 20:04:45 2006 -0500 The file cache key and filename are stored as MD5 hashes. commit d722ea2932a5a06babdd0f810cffc17d11d7c07a Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 25 18:08:46 2006 -0500 Added support for caching passwords. If the OPEN command is used without the <key> argument then the cache is checked for a matching filename and that key is used. The SAVE is used the same way unless a filename is specified, then the password will be updated in the cache. There is a new command-line option -M to call mlockall(). This makes ALL future memory allocations for the daemon be in RAM rather than virtual memory. The cache itself is always mlock()'ed if mlock() is available. commit eb4ccb909d517719ee361a7e5e37a9287f160d8a Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 25 00:49:33 2006 -0500 Updates. commit 6cf1d15a1e6c2db2148e8c90da0616c06bcfb287 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 25 00:28:14 2006 -0500 Changed command PWMD_SET to PWMD_SETATTR. Now links to libassuan and works with gpg-agent. Still somewhat useless as the password isn't cached between connections. This also adds a new command PWMD_SETOPT and changes the behavior of the PWMD_OPEN and PWMD_SAVE commands. Read libpwmd.h for details. commit cf22f962c021f9cb1047821f6ba11f89510eff61 Author: Ben Kibbey <bjk@luxsci.net> Date: Mon Dec 25 00:23:11 2006 -0500 Changed command 'set' to 'setattr'. commit 04b831ba0fd771845e26ed4b1abf674b8c51c141 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 24 09:49:44 2006 -0500 Fix compiler warnings and use g_ascii_strcasecmp() for strings comparisons. commit 30015e5312be8f06e0133452966a362a4ac4bb8f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 24 09:25:27 2006 -0500 Make sure element names dont contain whitespace. PWMD_STORE wont overwrite an existing account. commit f8d8e33b8a67ba12eca840050a9d70d315bee11a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 24 09:20:25 2006 -0500 Show the result of PWMD_SET failure. commit a707fdcba9d359841c1d2986ef4d68e2beb4058f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 24 07:49:56 2006 -0500 Added INSTALL to the archive. commit 7ed09602281dfedef20dddcf74f40ac4716b2fe6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 24 07:45:34 2006 -0500 Statically link sampleclient to libpwmd. commit aa3b6a8717f657fa15294a73232121d3bc4223ad Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 24 07:35:44 2006 -0500 Update docs. Add ChangeLog to the archive. Add -s to sampleclient to specify the socket path. Add PWMD_SAVE test to sample client and update PWMD_OPEN to use a password if the file exists. commit cec8da9e33921d36b5ed4c040c19158b51824314 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 23:34:28 2006 -0500 Fix killing off the daemon. commit 8aad48633a73cd71faf9a55f61ea7e1399637fcd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 23:19:32 2006 -0500 Fix the result when there's an error. Fix a couple memory leaks. Fix the socket path in pwmd_connect(). Now it's the real socket path and not a directory. Redo va_args in pwmd_command(). Misread the manpage. Fix the PWMD_OPEN command with a password. The PWMD_SAVE command takes NULL as the password to specify gpg-agent use. If non-NULL, the it's the password to use. Added sampleclient.c. commit ed9772db91b47374fc477d7b5a615adc4e400471 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 21:18:32 2006 -0500 Updates for the libgcrypt commit. commit a780ba3b96486a8937143aa811190284d42d5e66 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 20:04:03 2006 -0500 Show the bind() error when the socket exists. commit f9ab1c6b391070e624f471a94ff36d4c64227ccf Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 19:59:09 2006 -0500 Added command line option -s to specify the socket location. commit 516af2113bf15d6623ebfa97d5ddcebc685e9efb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 18:39:24 2006 -0500 DTD update. Changed host to hostname and added sslfingerprint. commit c162cf7f46fedbe2be3ec78997202ed6be689965 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 18:32:16 2006 -0500 Updates. commit 5c06ae86ca976bb7870f1952e864391c222e9577 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 18:06:45 2006 -0500 Removed GnuPG support. The XML file is encrypted via libgcrypt with an AES128-cbc key. This changes the open and save commands. The open command needs a filename and an optional base64 encoded key. New files wont need the key. The save command needs a base64 encoded key as an argument. Fixed some memory leaks and compilation warnings. If debugging is disabled set the coredump file size to 0 for better security. Code and doc cleanups. commit 0bb079bf4db7024064622951aceab8c88547140b Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 23 18:00:38 2006 -0500 Small cleanup. commit acbdbf75c8e2907f68fda66d8f30875ec6cc2b7e Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 22 19:06:41 2006 -0500 Fix for the PWMD_SET command. commit f38a9ef36fe03e5a5574a028842d132bf9e588b0 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Dec 22 18:56:38 2006 -0500 The pwmd_command() now takes a variable number of arguments for a command. commit 12c458d51cfa9c0feca256e7b1d06829ad174eb4 Author: Ben Kibbey <bjk@luxsci.net> Date: Thu Dec 21 18:53:36 2006 -0500 Updates. commit c0bc75961f074cb19202dcb1274d092e9db9862e Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 17 15:26:09 2006 -0500 Temporary fix for 100% CPU usage after the client connects. For some reason poll() from glib2 acts as though it's a non-blocking file descriptor or something and source_check() and source_prepare() get stuck in a loop until data is ready on the socket. commit 7c8acaa8d26e5549f57879b6b8c3e06b9499263a Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 17 15:12:40 2006 -0500 Updates. commit e7bf4248bac2ed6d4620f707b7844d6ceb7af980 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 17 15:02:42 2006 -0500 Require glib2 for base64 decoding which adds pwmd_base64_decode(). If there is no filename with the PWMD_OPEN command then use "default" as the filename. commit c1211cb68b6ecedc9a3046718384c62fba945e1a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 16 14:14:21 2006 -0500 Fix the GET command result. commit 5e6c9e6773b2601a7735d9c2c97c481a0beba8fb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 16 14:02:29 2006 -0500 Added libpwmd. commit 8f989caa1e441ae65ff1cccd8da8cb182ba094a6 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 10 14:25:33 2006 -0500 Updates. commit 9e55c6a309ced715c92bda37fad8649f69fbb475 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 10 14:01:57 2006 -0500 Check for GPG_AGENT_INFO in the env. Cleanups. commit 66dcb38cebb6fe26a8851d619ae6b9968dc24004 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 10 13:39:18 2006 -0500 Warn if gpg cannot be found in the PATH. commit 46f793a8012b85a42c9b3efa6f43e35fa1bcbdcb Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 10 13:17:33 2006 -0500 Elements are separated by a <TAB> and not a "/". This allows for URL's as an element name. Added command "delete" to delete an element or account. The "store" command no longer does this. commit f733f822dcba26c0fde1071907dd4d07514f7495 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 10 10:48:35 2006 -0500 The list command supports showing elements of the account if an account name is specified. Values are also shown and are separated by a tab character. The response codes OK, ERR and BEGIN now have a single space appended to the code (\nOK \n"). This is to avoid protocol parser problems in the (future) library. commit 8235f0d5cadaf8c73806a6d6ed9b64b2e6472bb8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 9 10:32:25 2006 -0500 Satisfy autoscan. commit e793066dc5221b89bf2f27d0171d8b2cd841c94c Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 15:45:19 2006 -0500 Base64 encode and decode element values. commit 1cff9e5cb15986f2573437ecf724cd4965b56c54 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 15:37:57 2006 -0500 Fix for the set command. commit a5e94681f85955969350dfcf347488d7ddd44676 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 15:34:57 2006 -0500 Fix help output. commit a779b4be34f3aa354730c3828b44b9429dcf0f78 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 15:28:29 2006 -0500 Added command line option -r to specify the root directory. commit cacbfa0a2d6ab1a2d211808fd79542df95494407 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 13:07:53 2006 -0500 Fix for the store command. Fix for creating elements in the document root. Tell if the store command failed. Must now explicitly 'save' after modifications. commit 97af2fd70ed5dbba9147d3bbc4ad593224f9243f Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 12:44:26 2006 -0500 Fix for the list command. commit f189e6a8f7734f3e2e1bfe3d544948d83727b1e1 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Dec 3 12:11:40 2006 -0500 Port to Glib2. And introduce more bugs. commit ef50fba8f04185190d91964e592cee7169f019bd Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 2 15:39:59 2006 -0500 Added the 'set' command. Currenly only changes the name of the account. Added the 'save' command. This will commit all changes to an account and write to the opened file. commit 7900da8228d7ff25e559deb9fde56416b1291f3f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 2 14:12:14 2006 -0500 DTD fix for new files. Removed unused code. commit 624ebecef582975b8df80d56b8e3a6505643cbff Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Dec 2 13:59:11 2006 -0500 Dont show what element failed when an ERR occurs. Some redoing of the store command. Dont use the xmlwriter API anymore, work with the linked list from doc->children etc. Fix modifying existing nodes. DTD updates. The account name is an attribute of the 'account' node. commit fdcc67ac9e40d5df72c70e8cfdf0a19ff24ad8c9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 26 13:09:05 2006 -0500 Updates. commit fabfcd2c8fe84499066688ebdde956e3bd99bd33 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 26 12:56:50 2006 -0500 Change cl->req to a type of char. Some cleanups. commit 1fd29d68b9f8a90d5b1da9168910146f406fa71b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 26 12:30:00 2006 -0500 Added the "list" command which lists accounts from the opened file. Can delete elements from an account by trailing the element with a "/". commit d2245d125d0cec22692d64c51036874e062771d9 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 25 14:27:35 2006 -0500 Fix the 'store' command and gpg. commit 2a4fe269d2d4e7aaaef47dcafc4b348d19610feb Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 25 13:31:51 2006 -0500 Create a new file if the file doesn't exists. commit baf0aaa42f06a151a1a051edadff8f0d7dfe7553 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 25 13:12:45 2006 -0500 Some filename safety checks. commit c41aa40ff174be97b8b1e8672af9640f39ebf3e3 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 25 12:57:12 2006 -0500 Fix for the 'get' command: sub-elements in the current element and no element specified after the account. commit 7f6cebdb5c3acdba8941533443e3cf2fe9db8eae Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 25 12:28:09 2006 -0500 Changed the 'auth' command to 'open'. Updated the command help text. commit bd7c5befc8c114a3c2d7c879f059a96ddd38eb98 Author: Ben Kibbey <bjk@luxsci.net> Date: Fri Nov 24 19:27:22 2006 -0500 Protocol is similar to that of gpg-agent. The daemon listens on a socket and opens a file via the 'auth' command which is stored in ~/.pwmd via gpg-agent and a pinentry proggy. Added the 'store' command which is buggy. commit 3e9335bf502c67e32056124f512b60fad5c216bc Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 18 11:33:50 2006 -0500 Keep the socket and data file in ~/.pwmd. commit 5e9b71453c4a10e5adfc3c60215206898d98fccf Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 18 10:58:27 2006 -0500 Remove the socket before exiting. commit b88c3644761295870a991b34b4a5d3b205f45c90 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 18 10:55:29 2006 -0500 Only use a socket to connect to for security reasons. I may add network support later after I figure out a way to associate files with usernames securely. A socket will be created as ~/.pwmd. Clients should connect to the socket. commit 3adfdefedb9c93a1b5e0a8ab2d174cf63f520ffe Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 15:19:40 2006 -0500 Look for the data file in ~/.pwm/data.xml.gpg. ~ is the home directory of the username of the auth command. If run as root, setuid() to user before reading the data file. commit d7af5298a168f2e7b1a337b53afecdf8c41f6bab Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 14:16:45 2006 -0500 Fix possible segfault and memory leak. commit 3b997b3fae73ad60ee05d3aa11749b1ac1932705 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 14:06:33 2006 -0500 Explain this thingy. commit 9f31350eaa49dcbd21ea4e161243e12a667ca7b8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 13:56:46 2006 -0500 The daemon code is no longer needed. We'll use only the server and gpg-agent to keep tabs on the password. This is also good because a pin-entry program may be used to obtain the password. ATM the data file should be encrypted as gpg is called via popen() to decrypted it. commit 044dbba9871cbdce560e27c37438f2ca8273fe50 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 11:02:46 2006 -0500 More consistant protocol output. Read PROTOCOL for more info. commit b95a45d3878bad2d894cd4f808a60e116606b01b Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 10:29:59 2006 -0500 Fix 'get' and authentication. commit 61c0dd651493e60e94ec62b33174d66ebe037ee5 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 10:00:06 2006 -0500 Move the XML stuff to xml.[ch]. commit af28510a496df40308cbbab471aeb8db00558a30 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 12 09:41:32 2006 -0500 Fix zombie processes. select() when sending writing to a socket. commit 7f5a43cf590bdb09bb8d25423a72122579aed270 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 13:23:08 2006 -0500 Changed the default port to 1024. commit 110028f35af54e9e33b339268da6731edae1fdb8 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 12:47:07 2006 -0500 Create pwm*.h Insert GPL header. commit 4e4f1a74a753371de1d9179241fadad15aa98612 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 12:39:13 2006 -0500 Add write_dtd(). Unused ATM. commit 60687c87a1e2718c8fd827b186704486fe17ab35 Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 12:34:59 2006 -0500 Just some notes on what needs to be done. commit d3da6fee22ad1dc80930d66b8e556765d4de185a Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 12:11:45 2006 -0500 Update command line usage and options. commit a711fca0c33e068c9938dabd8c18120e6d562c8f Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 12:01:11 2006 -0500 Renamed the ~/.acct socket to ~/.pwmd and chmod 0700 it. configure.ac fix. commit 4d9c7e811388064dc60ed23a58831d6006fb424c Author: Ben Kibbey <bjk@luxsci.net> Date: Sat Nov 11 11:54:41 2006 -0500 autoconf'd. Server fixes. Started the daemon code which connects to a server. Test it by connecting to the daemon via the socat command. commit 8cccfbb53c266f9138ab4f8ec1ea72d68df04721 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 5 15:42:15 2006 -0500 Fix the "get" command. commit 8cf3dbfce3fa7f9dae44f5528738739524c11297 Author: Ben Kibbey <bjk@luxsci.net> Date: Sun Nov 5 15:38:55 2006 -0500 Initial commit.