Remove obsolete entry.
[pinentry.git] / ChangeLog
1 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
2
3         * configure.ac: Choose a more appropriate AC_CONFIG_SRCDIR.
4
5 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
6
7         * kde/Makefile.am (pinentry_kde_LDADD): Link with $(LIBCAP).
8         * gtk/Makefile.am (install-exec-local): Moved to ...
9         * Makefile.am (install-exec-local): ... here.
10
11 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
12
13         * kde/Makefile.am (kde_appsdir): New variable.
14         * kde/Makefile.am (install-data-local): Use DESTDIR.
15         (uninstall-local): Likewise.
16
17 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
18
19         Merge of the gpinentry and curses pinentry program into the
20         pinentry distribution.  For this, the structure of the repository
21         has been thoroughly overhauled.  Some of the changes:
22         * secmem: New directory with secure memory allocation code.
23         * pinentry: New directory with pinentry support library.
24         * curses: New directory with curses frontend.
25         * gtk: New directory with GTK+ frontend.
26         * kde: New directory with only the core of the old kpinentry program.
27         * admin: Directory removed.
28         * po: Directory removed.
29         * kpinentry: Directory removed.
30         * doc: Directory removed.
31         * jnlib: Directory removed.x
32
33         The changes in more detail:
34         * AUTHORS: Add authors of other pinentry frontends.
35         * ChangeLog: Add the one from gpinentry.
36         * Makefile.am: Completely rewritten.
37         * README: Add content.
38         * TODO: Add content.
39         * NEWS: New file from gpinentry.
40         * THANKS: New file from gpinentry.
41         * acinclude.m4: New file.
42         * configure.ac: New file which configures for all frontends.
43         * curses/Makefile.am, curses/pinentry-curses.c: New files for
44         curses frontend.
45         * gtk/Makefile.am, gtk/gtksecentry.c, gtk/gtksecentry.h,
46         gtk/pinentry-gtk.c: New files, modified from gpinentry, for GTK+
47         frontend.
48         * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
49         kde/pinentry.desktop, kde/pinentrycontroller.cpp,
50         kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
51         kde/pinentrydialog.h: New files, modified from kpinentry, for KDE
52         frontend.
53         * pinentry/Makefile.am, pinentry/pinentry.c, pinentry/pinentry.h:
54         New files containing pinentry support library, partly factored out
55         from gpinentry.
56         * secmem/Makefile.am, secmem/memory.h, secmem/secmem-util.h,
57         secmem/secmem.c, secmem/util.c, secmem/util.h: New files
58         containing secure memory allocation code common to all pinentry
59         frontends.
60         * Makefile.dist, acconfig.h, configure.files, configure.in.in:
61         Files removed in favor of new configure.ac.
62         * pinentry.lsm: Removed file never used.
63         * stamp-h.in: Removed generated file.
64         * admin/ChangeLog, admin/Makefile.common, admin/acinclude.m4.in,
65         admin/am_edit, admin/am_edit.py, admin/conf.change.pl,
66         admin/config.guess, admin/config.pl, admin/config.sub,
67         admin/configure.in.min, admin/debianrules, admin/depcomp,
68         admin/install-sh, admin/libtool.m4.in, admin/ltcf-c.sh,
69         admin/ltcf-cxx.sh, admin/ltcf-gcj.sh, admin/ltconfig,
70         admin/ltmain.sh, admin/missing, admin/mkinstalldirs, admin/ylwrap:
71         Removed KDE build suite in favor of configure.ac.
72         * doc/Makefile.am, doc/en/Makefile.am, doc/en/index.docbook:
73         Removed files never used.
74         * jnlib/ChangeLog, jnlib/Makefile.am, jnlib/argparse.c,
75         jnlib/argparse.h jnlib/dotlock.c, jnlib/dotlock.h,
76         jnlib/libjnlib-config.h, jnlib/logging.c, jnlib/logging.h,
77         jnlib/mischelp.h, jnlib/stringhelp.c, jnlib/stringhelp.h,
78         jnlib/strlist.c, jnlib/strlist.h, jnlib/types.h, jnlib/xmalloc.c,
79         jnlib/xmalloc.h: Removed files no longer used.
80         * kpinentry/Makefile.am, kpinentry/cppmemory.cpp,
81         kpinentry/cppmemory.h, kpinentry/i18n.h, kpinentry/main.cpp,
82         kpinentry/memory.h, kpinentry/pinentry.desktop,
83         kpinentry/pinentrycontroller.cpp, kpinentry/pinentrycontroller.h,
84         kpinentry/pinentrydialog.cpp, kpinentry/pinentrydialog.h,
85         kpinentry/secmem.cpp, kpinentry/util.cpp, kpinentry/util.h:
86         Removed files in favor of new files in kde/.
87         * po/Makefile.am, po/pinentry.pot: Removed files never used.
88
89         * autogen.sh: New file.
90
91 2002-03-04  Werner Koch  <wk@gnupg.org>
92
93         * gpinentry.c (enter_callback): New
94         (create_window): Connect it to the entry field.
95
96 2002-02-18  Werner Koch  <wk@gnupg.org>
97
98         Released 0.5.1.
99
100         * gpinentry.c (create_window): Add CONFIRM_MODE.
101         (cmd_confirm): Implemented.
102
103         * assuan/:  Updated from NewPG.
104
105 2002-01-20  Werner Koch  <wk@gnupg.org>
106
107         * gpinentry.c (option_handler): New to allow changing of the grab
108         status.
109         (grab_keyboard): Shortcut this when global grab is not set.
110
111 2002-01-04  Werner Koch  <wk@gnupg.org>
112
113         Released 0.5.0.
114         
115         * configure.ac: Bumbed version
116
117         * util.h (xtoi_1, xtoi_2): New.
118         * gpinentry.c (strcpy_escaped): New
119         (cmd_setdesc, cmd_seterror): Use it here to allo multiline texts.
120
121         * gpinentry: Removed debugging outbut
122         (create_window): Tweaked layout.
123
124 2001-12-07  Werner Koch  <wk@gnupg.org>
125
126         New package gpinentry based on quintuple-agent.
127         
128         Removed all stuff except for the basic configuration stuff and
129         what is needed to build gpinentry.  Also removed i18n support.
130         * gpinentry.c: Renamed from secret-query.c
131
132 2001-02-12  Robert Bihlmeyer  <robbe@orcus.priv.at>
133
134         * 1.0.0 released. Woo-hoo!
135
136         * configure.in, NEWS: Bumped version.
137
138 2001-02-04  Robert Bihlmeyer  <robbe@orcus.priv.at>
139
140         * agent.c (make_tmpdir): Honor $TMPDIR.
141
142         (agent): Would exit on every minor problem. Now, we just close the
143         offending connection.
144         Ignore SIGPIPE, so that EPIPE will close connection.
145
146 2001-01-11  Robert Bihlmeyer  <robbe@orcus.priv.at>
147
148         * secmem.c: Move one include statement so that the thing compiles.
149
150         * secret-query.c (main): Minor source cosmetics.
151
152 2000-11-16  Robert Bihlmeyer  <robbe@orcus.priv.at>
153
154         * gtksecentry.c (gtk_secure_entry_insert_text): Secured a couple
155         of memory (de)allocations that were missed. Thanks to John Steele
156         <jhs28@eng.cam.ac.uk> for spotting these.
157
158 2000-11-10  Robert Bihlmeyer  <robbe@orcus.priv.at>
159
160         * Thoughts: Removed in favor of new TODO.
161
162         * README: Remove content and refer to doc/manual.info instead.
163
164         * agent.c (do_get): Would burn badly on a premature exit of the
165         query program (which would occur routinely if you selected /cancel/).
166
167 2000-10-25  Robert Bihlmeyer  <robbe@orcus.priv.at>
168
169         * memory.h: Include sys/types.h for size_t.
170
171 2000-10-08  Robert Bihlmeyer  <robbe@orcus.priv.at>
172
173         * README: Removed apology about missing documentation.
174         Updated paragraph about Linux capability patch.
175         Typo & Refill.
176
177 2000-10-03  Robert Bihlmeyer  <robbe@orcus.priv.at>
178
179         * 0.9 released.
180
181         * Makefile.am (EXTRA_DIST): Distribute BUGS (the file, that is).
182
183         * configure.in, NEWS: Bumped version.
184
185         * Makefile.am, configure.in: Add debian subdir.
186
187         * README: Recommend GTK+.
188         Update list of checked platforms.
189
190 2000-10-02  Robert Bihlmeyer  <robbe@orcus.priv.at>
191
192         * secret-query.c (ok): Simplify.
193         Put empty line between headers and secret.
194         (usage): Document '--help' and '--version'.
195
196         * agent.c (do_get): Use enhanced secret-query output to fill in
197         options.
198
199 2000-10-01  Robert Bihlmeyer  <robbe@orcus.priv.at>
200
201         * secret-query.c (main): Clarify error.
202
203         * client.c (query_options): New global variable.
204         (main): New option '--query-options' to pass options to the query
205         program.
206         (xgetpass): Use it.
207
208         * agent.c (main): New option '--query-options' to pass options to
209         the query program.
210         (do_get): Use 'query_options'.
211
212         * acconfig.h, configure.in: Add QUERY_PROGRAM definition.
213         * client.c: Remove here.
214         * agent.c (do_get): Use it here, too.
215
216         * secret-query.c (main): New option '--no-global-grab' introduced,
217         that prevents keyboard grabbing unless the window has focus.
218
219 2000-09-11  Robert Bihlmeyer  <robbe@orcus.priv.at>
220
221         * secret-query.c (usage): Add two missing pieces of "\n\".
222
223         * agent.c (main): --nofork is now the default, and the option is
224         deprecated. New option --fork added to turn forking on again.
225         Close stdout (and stderr unless debugging) even when not forking,
226         so that normal usage inside eval is still possible.
227         (agent): Exit gracefully on HUP, so that logging out now kills the
228         agent. 
229
230         * README (Contact Information): Old URL - duh!
231         (Using Secret Agent): We no longer fork per default.
232
233         * Makefile.am (lib/libutil.a): New target, allows targets that not
234         automatically recurse (but still depend on libutil.a) to succeed.
235
236 2000-07-20  Robert Bihlmeyer  <robbe@orcus.priv.at>
237
238         * secret-query.c (usage): New function.
239         (main): Parse options: debug, enhanced, help, version.
240         Turn on locale support.
241         If enhanced, insert widgets to ask for timeout and insurance.
242         (ok): If enhanced, print more information on exit.
243         (grab_keyboard): Die if grab was unsuccessful.
244
245 2000-05-31  Robert Bihlmeyer  <robbe@orcus.priv.at>
246
247         * 0.8 released.
248
249         * configure.in, NEWS: Bumped version.
250
251         * Makefile.am (SUBDIRS): Include doc.
252
253         * configure.in, acconfig.h: Check for ssize_t.
254         Check for vsnprintf(), strdup().
255         Generate doc/Makefile.
256
257         * apgp.c, agpg.c, agentlib.c, util.c: Include more stuff.
258
259         * agent.c (do_get): Use asprintf() instead of snprintf() so we
260         don't need to roll our own for yet another function.
261         Fix some includes.
262
263         * acinclude.m4: gettext macros copied from automake and fixed.
264
265 2000-05-30  Robert Bihlmeyer  <robbe@orcus.priv.at>
266
267         * configure.in, Makefile.am: Properly include doc subdir.
268
269 2000-05-29  Robert Bihlmeyer  <robbe@orcus.priv.at>
270
271         * configure.in, acconfig.h: Add test for XMESSAGE path.
272
273         * client.c (main): Decode command from string to integer code
274         first, then evaluate that in ifs.
275
276         * secret-ask.c: New file, external ask-for-confirmation utility.
277
278         * configure.in, Makefile.am: Add secret-ask to programs being
279         built when GTK is available. Rename QUERY to more descriptive
280         GTK_PROGRAMS.
281
282         * agent.c (do_get): If GTK is available, try executing secret-ask
283         first.
284         Only put the comment into the insure-question if there is a
285         comment.
286         (main): --csh was missing from usage message.
287
288 2000-04-23  Robert Bihlmeyer  <robbe@orcus.priv.at>
289
290         * secret-query.c (constrain_size): Lower window max_width to
291         accomodate bugs in GTK and Scwm.
292
293         * agent.c (main): Set x_enabled if X appears to be available.
294         Use it to selectively make FLAGS_INSURE supported.
295         (do_get): Use it instead of testing at every call.
296         (do_put): Requests containing unsupported flags fail.
297         (forget_old_stuff): Would not set next_deadline correctly.
298         (do_get): Implement FLAGS_INSURE.
299
300         * client.c (main): "list" format changed so that comment is to the
301         far right. Display the deadline as proper date/time, too.
302
303 1999-11-11  Robert Bihlmeyer  <robbe@orcus.priv.at>
304
305         * agent.c (next_deadline): New global variable, holds time when
306         next secret has to be killed.
307         (store): Keep it up-to-date.
308         (forget_old_stuff): New function, reaps secrets ready to kill,
309         keeps next_deadline updated.
310         (agent): Use it on all secrets, whenever a deadline is active.
311
312 1999-11-08  Robert Bihlmeyer  <robbe@orcus.priv.at>
313
314         * agent.h (request_put): Add flags, deadline. Increase REQUEST_MAGIC. 
315         (reply_get): Ditto, and increase REPLY_MAGIC.
316         * agent.c (store): Store flags, deadline in reply.
317         (do_put): Hand flags, deadline from request on to store().
318         (do_get): Store on-demand queried secrets without deadline or
319         special flags, for now.
320         (agent): Do not ignore obsolete clients, return an error reply.
321         * agentlib.c (agent_put): Add flags, deadline arguments, and copy
322         them into the request.
323         * agentlib.h (agent_put): Update prototype.
324 *       * client.c (main): Added --time-to-live (-t) and --insure (-i)
325         options, influencing PUT's deadline and flags, respectively.
326         (main): Change list format to include new attributes.
327
328 1999-11-05  Robert Bihlmeyer  <robbe@orcus.priv.at>
329
330         * configure.in: <getopt.h> check had redundant definition.
331         * acconfig.h: Remove here, too.
332
333         * configure.in: Check for <inttypes.h>. If not found, check for
334         unsigned {int, long} sizes.
335         * agent.h: Either include <inttypes.h>, or try to define uint32_t
336         yourself.
337         Need to include "config.h".
338
339 1999-11-04  Robert Bihlmeyer  <robbe@orcus.priv.at>
340
341         * Makefile.am (signed-dist): New rule, generates sig for dist.
342         (%.sig): New rule, for detached signatures in general.
343
344         * configure.in: Check for ulong.
345         * acconfig.h: Document it.
346         * secmem.c: Unconditionally defining it is no longer necessary
347         here. But do include <sys/types.h> in all cases.
348
349         * 0.7 released.
350
351         * secmem.c: ulong is not defined on all systems.
352
353         * agent.h: <inttypes.h> should define `uint32_t' as per Unix98, so
354         we use that.
355
356 1999-11-02  Robert Bihlmeyer  <robbe@orcus.priv.at>
357
358         * agent.h: Augmented requests and replies with magic numbers.
359         Data structures heavily commented.
360         All structures and enums typedef'd.
361         * agent.c: Adapted.
362         (store): Set magic number in stored reply.
363         (do_put): Set magic number in reply.
364         (do_delete): Ditto.
365         (do_list): Ditto. 
366         (agent): Check magic number in request.
367         * agentlib.c: Adapted.
368         (send_request): Set magic number in request. Check it in reply.
369         * agentlib.h: Adapted.
370         * agpg.c: Adapted.
371         * apgp.c: Adapted.
372         * client.c: Adapted.
373
374 1999-10-31  Robert Bihlmeyer  <robbe@orcus.priv.at>
375
376         * secmem.c: Instead of defining ulong directly, include
377         <sys/types.h>
378
379         * secret-query.c (constrain_size): New function, puts constrains
380         on size of toplevel window.
381         (grab_keyboard): Removed protection against multiple calls.
382         (ungrab_keyboard): New function, cancelling a keyboard grab.
383         (main): Hang `grab_keyboard' onto map-event which makes it
384         actually work, hang `ungrab_keyboard' onto unmap-event.
385         Hang `constrain_size' onto size-request.
386
387         * secmem.c: ulong was undefined on some systems.
388
389 1999-10-19  Robert Bihlmeyer  <robbe@orcus.priv.at>
390
391         * Makefile.am (install-exec-local): Ignore setcap errors.
392
393         * apgp.c: New program, based on agpg.c, but for pgp2.6.
394         * Makefile.am (bin_PROGRAMS, apgp_SOURCES): Added it.
395
396         * agpg.c (GPG): New constant.
397         (find_id, main): Use it throughout.
398         (find_id): Forgot to pclose on success.
399
400         * secret-query.c (main): Don't expand anything.
401         Use a button box for the buttons.
402         Prompt label can be overridden from the commandline.
403         * agent.c (do_get): Make spawned secret-query show the id.
404         * client.c (xgetpass): Pass prompt to secret-query.
405         (main): Include id in xgetpass prompt.
406
407 1999-10-14  Robert Bihlmeyer  <robbe@orcus.priv.at>
408
409         * configure.in: setcap must be searched outside the usual user
410         PATH, too.
411         * Makefile.am (install-exec-local): Set cap_ipc_lock permitted on
412         installed binaries, if possible.
413
414         * agent.c (xdup2): New function, dup2 with error handling.
415         (move_fd): New function, moves fds.
416         (store): New function, abstracted out from do_put.
417         (do_put): Use it.
418         (do_get): If secret was not found, and DISPLAY is set, try to
419         query the user about it. If successful, store it.
420         (main): Route standard file descriptors to /dev/null rather than
421         just closing them. The latter would confuse children.
422
423 1999-10-13  Robert Bihlmeyer  <robbe@orcus.priv.at>
424
425         * gtksecentry.c, gtksecentry.h: New files, being slightly modified
426         versions of GTK+'s gtkentry.[ch], spiffed up to use secure memory.
427         * secret-query.c (ok, unselect, main): Replace GtkEntry with
428         GtkSecureEntry.
429         (main): Initialize secure memory.
430         * Makefile.am (secret_query_SOURCES): Added gtksecentry.[ch].
431
432         * README (Security): New chapter.
433
434         * configure.in, acconfig.h: Check for POSIX capabilities, and the
435         setcap program.
436         * Makefile.am: Link LIBCAP to those binaries using secmem.c.
437
438         * util.h: Include <sys/types.h> for size_t.
439
440 1999-09-21  Robert Bihlmeyer  <robbe@orcus.priv.at>
441
442         * secmem.c: Synced with gnupg-1.0 (top new feature: capabilities).
443         (log_fatal): New function, logs to stderr, and dies.
444
445 1999-09-08  Robert Bihlmeyer  <robbe@orcus.priv.at>
446
447         * secmem.c (log_info): New function, logs to stderr.
448
449         * agent.c (agent): select() expects the number of fds, not the
450         highest fd. So remember that number.
451
452         * agent.c (agent): Don't use FD_SETSIZE, which is not defined on
453         all systems. Remember the number of the highest descriptor
454         instead.
455
456         * configure.in: Replace getline() instead of getdelim() because
457         this is the function we really need. Still check for getdelim(),
458         though - there are systems out there where this is provided, but
459         getline() is not.
460
461 1999-09-01  Robert Bihlmeyer  <robbe@orcus.priv.at>
462
463         * 0.6 released.
464
465         * configure.in: Bump version.
466
467         * NEWS: Updated.
468
469 1999-08-31  Robert Bihlmeyer  <robbe@orcus.priv.at>
470
471         * util.c (init_uids, lower_privs, raise_privs, drop_privs): New
472         functions, for setuid binaries, extracted from agent.c.
473         * util.h: Add prototypes for them.
474         * agpg.c (main): Use them.
475         * client.c (main): Ditto.
476         * agent.c (main): Ditto. Removed code that did the same.
477         Unconditionally include "asprintf.h" (it protects itself now).
478
479 1999-08-25  Robert Bihlmeyer  <robbe@orcus.priv.at>
480
481         * Makefile.am (SUBDIRS): Process . before test so that "make
482         check" always builds all in . first.
483
484 1999-08-21  Robert Bihlmeyer  <robbe@orcus.priv.at>
485
486         * secret-query.c: Include "config.h".
487
488         * agent.h (reply_list_entry, reply_list): New reply structures.
489         * agent.c (send_list_entry): New function.
490         (do_list): First send number of entries, then each entry via
491         send_list_entry().
492         * agentlib.c (agent_list): Read entries returned by LIST request.
493         * client.c (main): Output all entries returned by agent_list().
494
495         * agentlib.c (agent_put): Don't construct PUT request in insecure
496         stack space.
497
498 1999-08-20  Robert Bihlmeyer  <robbe@orcus.priv.at>
499
500         * NEWS: Bump patchlevel.
501
502         * configure.in: Bump patchlevel.
503         Check for missing setenv().
504
505 1999-08-09  Robert Bihlmeyer  <robbe@orcus.priv.at>
506
507         * configure.in: Check for strsignal().
508
509         * client-test: Obsoleted by test/client.
510
511         * Makefile.am (SUBDIRS): New subdirectory.
512         * configure.in (AC_OUTPUT): Add here, too.
513
514         * 0.5 released.
515
516         * README: Explain why secret-client will not output secrets to a
517         tty, and mention the cat-trick.
518
519         * agent.c (main): If seteuid is not available, don't use it and
520         issue a warning if running setuid.
521
522         * configure.in: Run together two REPLACE_FUNCS.
523         Check for seteuid.
524
525         * client-test: Mask out insecure memory warnings.
526
527         * agentlib.c (send_request): Let the calling functions reserve
528         space for the reply, but offer a simple way for simple requests.
529         (agent_get): Allocate secure memory.
530
531         * agent.c (main): Moved secmem_init() after the fork, since that
532         seemingly munlock's all pages.
533         Drop priviledges just in case somebody wants to install this
534         suid-root.
535         Flush stdout.
536
537         * agpg.c (find_id): Would reorder arguments.
538         Initialize opt_version.
539         (main): Initialize secure memory.
540
541         * Makefile.am (agpg_SOURCES): Link with secure memory module.
542
543         * client.c (usage): Fixed another program name reference.
544
545 1999-08-06  Robert Bihlmeyer  <robbe@orcus.priv.at>
546
547         * configure.in: Conditionally define HAVE_GTK.
548         * acconfig.h: Add here too.
549
550         * client.c (xgetpass): Use "secret-query" only if it was built.
551         (main): Don't output secret (GET command) to ttys.
552
553         * agpg.c (find_id): Also print own version if "--version" is given.
554         (main): Check agent_init() errors.
555         Print error if exec fails.
556
557         * agent.c (main): Added an option to produce csh-compatible
558         output.
559
560         * agent.c, client.c: Forgot the terminating NULL in long options.
561         Fixed the program names in usage and version output.
562
563         * agent.c (create_socket): AF_UNIX and PF_UNIX are Unix98, so
564         that's what we use. AF_LOCAL, PF_LOCAL removed.
565         * agentlib.c (agent_init): Ditto.
566
567 1999-08-05  Robert Bihlmeyer  <robbe@orcus.priv.at>
568
569         * 0.4 released.
570
571         * configure.in: Bumped version.
572         Check for missing getdelim.
573
574         * cgpg: Removed, obsoleted by agpg.
575         * Makefile.am: Here, too.
576
577         * agpg.c (find_id): New function.
578         (main): Use it.
579
580         * Makefile.am (INCLUDES): Put GTK_FLAGS and GLIB_FLAGS here. It
581         is the easiest way for sources needing it, and it won't hurt those 
582         that don't.
583         (agent.o): Explicit command removed accordingly.
584
585 1999-08-04  Robert Bihlmeyer  <robbe@orcus.priv.at>
586
587         * configure.in: Need double quoting in nested AC_MSG_WARN.
588
589         * client.c (xgetpass): If no tty is available, but a DISPLAY is,
590         fork off "secure-query" to read the secret.
591         Put the fgets into a loop that keeps reading until all of the
592         secret is read.
593
594         * client-test: Unset DISPLAY, so that "secret-query" is never used.
595
596 1999-08-03  Robert Bihlmeyer  <robbe@orcus.priv.at>
597
598         * agpg.c: New file, first cut at a C version of the gpg wrapper,
599         written in a hurry (20 keys waiting to be signed, and a growling
600         stomach).
601         * Makefile.am: Add it to built programs.
602         (LDADD): New default.
603         (secret_client_LDADD): Removed, since it was identical to default.
604
605 1999-08-01  Robert Bihlmeyer  <robbe@orcus.priv.at>
606
607         * secret-query.c: New program, queries the user for a password.
608         * Makefile.am (bin_PROGRAMS): Added it.
609         * configure.in: Check for GTK+, build "secret-query" only when
610         that is available.
611
612         * cgpg: Extra argument for ID is no longer necessary. cgpg will
613         scan the gpg args for switches that affect user-id, and determine
614         the right key itself. Per convention, the key-id is used by "GET".
615
616         * configure.in: The project name is now "secret-agent".
617
618         * Makefile.am: "agent" & "client" renamed to "secret-agent" &
619         "secret-client", respectively.
620         * client-test: Adapt to new names.
621
622         * Thoughts: Removed discussion of other names.
623         Added indication of which things already work.
624
625         * agent.c (make_tmpdir): Removed occurance of "gpg-agent."
626
627         * README: First proper version.
628
629         * client-test: Context diffs are more portable then unified diffs.
630
631         * agent.c, agent.h, agentlib.c, agentlib.h, client.c, memory.h,
632         util.c, util.h: Banner updated to new name.
633
634 1999-07-29  Robert Bihlmeyer  <robbe@orcus.priv.at>
635
636         * configure.in: Check for missing asprintf.
637         Check if -lsocket is needed.
638
639         * secmem.c (secmem_dump_stats): Replace usage of ulong.
640
641         * Makefile.am (INCLUDES): Add the lib subdirectory to include search.
642
643         * agent.c: Forgot to include <string.h>.
644         Include RYO asprintf header if this function is missing.
645         For the sake of compatibility, provide a definition for AF_LOCAL,
646         PF_LOCAL, if missing.
647         * agentlib.c: Ditto.
648
649 1999-07-28  Robert Bihlmeyer  <robbe@orcus.priv.at>
650
651         * Makefile.am (client_SOURCES): Add "secmem.c", "memory.h".
652
653         * client.c (xgetpass): Use secmem_malloc() instead of RYO.
654         (main): Init and shutdown secmem.
655
656 1999-07-27  Robert Bihlmeyer  <robbe@orcus.priv.at>
657
658         * Makefile.am (agent_SOURCES): Add "secmem.c", "i18n.h", "memory.h".
659         (client_SOURCES): Add "i18n.h".
660
661         * client.c (main): Exit on agent_init() failure.
662
663         * agent.c (main): Init secmem.
664         Make --debug switch cumulative.
665         (cleanup): Shutdown secmem.
666         (do_put): Use secmem for storage of secrets.
667         (do_delete): Use secmem_free(). Since this wipes the memory on its 
668         own, wipe() is superflous now.
669         (agent): Use secmem for inbound requests.
670         (delete_secret): New function, takes part of do_delete's
671         functionality.
672         (do_put): Use it to remove old versions stored under the same id.
673         (do_delete): Use it to delete secrets.
674
675         * memory.h: New file.
676
677         * secmem.c: New file, snarfed from GnuPG and modified slightly.
678
679         * acinclude.m4: New file.
680         * configure.in: (ALL_LINGUAS): Expanded list of available
681         languages. Most of them only have a few translations from gpg,
682         tough ...
683         getopt_long test was commented out for debugging,
684         and left such. Fixed.
685         Check for mlock.
686         * acconfig.h: Comment HAVE_BROKEN_MLOCK.
687
688         * cgpg: A space was missing.
689
690         * i18n.h: New file, centralizing the gettext macro defs.
691
692         * agent.c (BLIND): New macro, that blinds out a secret if debug
693         level is too low.
694         (do_put): Use it.
695         (do_get): Use it.
696         Include i18n.h.
697
698         * agentlib.c: Include i18n.h
699         
700         * client.c (usage): New function.
701         Usage-message made gettext-friendly.
702         (xgetpass): Use perror() instead of fprintf().
703         (main): Use it.
704         Make comment an optional argument of PUT.
705         Include i18n.h.
706
707 1999-07-26  Robert Bihlmeyer  <robbe@orcus.priv.at>
708
709         * Makefile.am (client_LDADD): Add lib/libutil.a for portability.
710         (agent_LDADD): Ditto.
711         (SUBDIRS): Add lib directory.
712         (bin_SCRIPTS): New with cgpg, so it gets installed, too.
713
714         * configure.in: Add lib/Makefile to output.
715
716 1999-07-24  Robert Bihlmeyer  <robbe@orcus.priv.at>
717
718         * cgpg: New file.
719         * Makefile.am (EXTRA_DIST): Added it.
720
721         * agent.c: Moved inclusion of config.h before inclusion of
722         libintl.h since the latter needs HAVE_LC_MESSAGE.
723         * client.c: Ditto.
724         * clientlib.c: Ditto.
725
726         * client-test: Update for new client semantics.
727
728         * client.c (check_status): Use debugmsg(). Do nothing if not
729         debugging.
730         (xgetpass): New function, getpass replacement that uses mlock'ed
731         memory.
732         (main): PUT now asks for the secret rather then getting it from
733         the commandline.
734         GET prints only the secret to stdout.
735
736         * configure.in: Rearranged.
737         Check for socklen_t.
738         * acconfig.h: Added a definition for it.
739
740         * client.c: Include packaged getopt.h if the system doesn't provide 
741         one. 
742         * agent.c: Ditto.
743         (create_socket): Replace AF_FILE, PF_FILE with AF_LOCAL, PF_LOCAL
744         for portability.
745         * agentlib.c (agent_init): Ditto.
746         Explicitly cast addr to a sockaddr pointer.
747
748         * Makefile.am (client_LDADD): Added @INTLLIBS@.
749         (agent_LDADD): Ditto.
750
751 1999-07-19  Robert Bihlmeyer  <robbe@orcus.priv.at>
752
753         * configure.in: Check for getopt.h and getopt_long.
754         * acconfig.h (HAVE_GETOPT_H): New define.
755         * lib/getopt.c, lib/getopt1.c, lib/getopt.h: Added.
756
757 1999-07-18  Robert Bihlmeyer  <robbe@orcus.priv.at>
758
759         * 0.2 released.
760
761         * NEWS: Updated.
762
763         * Makefile.am (agent.o): Mentioning the source explicitly does not 
764         work for srcdir!=builddir.
765
766         * client.c (main): Function arguments are not always evaluated in
767         order, so drop the neat ++optind in favor of optind+1, optind+2,
768         etc.
769
770         * configure.in: Upped version.
771
772 1999-06-28  Robert Bihlmeyer  <robbe@orcus.priv.at>
773
774         * util.h: Added multi-inclusion guard.
775
776         * agent.c Include "util.h".
777         (main): Forgot to exit at end.
778         (do_delete): Assume that value is a string and wipe it accordingly.
779
780         * configure.in (--enable-debug): New switch.
781
782         * agent.h (status_t): Added STATUS_COMM_ERR code.
783         Added multi-inclusion guard.
784
785         * client.c (main): Abstracted out most functionality into a
786         function library, namely:
787         * agentlib.c: New file.
788         * agentlib.h: New file.
789         * Makefile.am (client_SOURCES): Added agentlib.c, agentlib.h.
790
791         * Makefile.am (INCLUDES): GLIB_CFLAGS moved again, this time to
792         the agent.o target. 
793
794 1999-06-15  Robert Bihlmeyer  <robbe@orcus.priv.at>
795
796         * 0.1 released.
797
798         * Makefile.am (agent_CFLAGS): Removed - did not work.
799         (INCLUDES): Moved the GLIB stuff here.
800
801 1999-06-14  Robert Bihlmeyer  <robbe@orcus.priv.at>
802
803         * configure.in (ALL_LINGUAS): Added `de'.
804
805         * agent.c (do_get): Added more debugmsgs.
806         (do_put): Wouldn't allocate enough for `value'.
807         (main): New option "--nofork" prevents forking.
808         Use macros for the std filedescriptor numbers.
809         Only close stderr if not debugging.
810         (main): Make Usage string gettext-friendly.
811
812         * client-test (cleanup): New function.
813         Call it on shell exit.
814         (client): New function.
815         Use it instead of calling client binary directly.
816         diff client output with expected one in GET testcases.
817
818 1999-06-13  Robert Bihlmeyer  <robbe@orcus.priv.at>
819
820         * agent.c (failed_reply): New constant.
821         (do_list): Use it.
822         (do_put): The hash key was overwritten - strdup it.
823         Construct a GET reply and save that in the hash.
824         (do_get): Just send the preconstructed reply if the id is present, 
825         and failed_reply otherwise.
826         (do_delete): Actually free the hashed stuff.
827
828         * client.c: Exit with error if agent returned STATUS_FAIL.
829
830         * Makefile.am (EXTRA_DIST): Added autogen.sh, Thoughts,
831         client-test.
832         (TESTS): Added client-test.
833         (AUTOMAKE_OPTIONS): Added gnits. 
834