b98098952ddfbad12cf691e9355753d05c495c54
[pinentry.git] / ChangeLog
1 2003-12-22  Werner Koch  <wk@gnupg.org>
2
3         * pinentry/pinentry.h (struct pinentry): Added LOCALE_ERR.
4         * gtk/pinentry-gtk.c (button_clicked): Set the LOCAE_ERR flag.
5         * pinentry/pinentry-curses.c (dialog_run): Ditto.
6         * pinentry/pinentry.c (cmd_getpin, cms_confirm): Check this flag.
7         (pinentry_local_to_utf8): Release the correct buffer in the error
8         case. Print diagnostics.
9         (pinentry_utf8_to_local): Print diagnostics.
10
11         * gtk/pinentry-gtk.c (button_clicked): Use the right value as
12         input for the conversion.
13
14         * pinentry/pinentry.c: New variable THIS_PGMNAME.
15         (pinentry_init): Add arg PGMNAME and store it.  Use it at all
16         marked placed instead of the constant "pinentry".
17         (usage): Use it here too.
18         * curses/pinentry-curses.c (main): Call pinentry_init wity our name. 
19         * qt/main.cpp (main): Ditto.
20         * gtk/pinentry-gtk.c (main): Ditto. 
21
22         * configure.ac: Check for mmap.
23
24         * secmem/util.h (wipememory2,wipememory,wipe): New.
25         * secmem/util.c (wipe): Removed.
26         * secmem/util.c (lower_privs, raise_privs): Commented out.
27
28         * pinentry/pinentry.c (pinentry_loop): Add paranoia check for
29         dropped privs.
30
31         * secmem/secmem.c (lock_pool): Cleanup syntax of cpp directives.
32
33         * gtk/pinentry-gtk.c (main): Print package name in the version line.
34         * curses/pinentry-curses.c (main): Ditto.
35         * qt/main.cpp (main): Ditto. Fixed typo.
36
37         * gtk/pinentry-gtk.c: Include memory.h.
38         
39 2003-12-20  Marcus Brinkmann  <marcus@g10code.de>
40
41         * pinentry/pinentry.h (struct pinentry): New member PARENT_WID.
42         * pinentry/pinentry.c (pinentry): Add new member here.
43         (usage): Add --parent-wid.
44         (pinentry_parse_opts): Add case for "parent-wid".
45         (option_handler): Same here.
46
47 2003-12-19  Marcus Brinkmann  <marcus@g10code.de>
48
49         * pinentry/pinentry.c (cmd_setcancel): Use strcpy_escaped.
50         (cmd_setok): Likewise.
51         (cmd_setprompt): Likewise.
52         (pinentry_utf8_to_local): Don't use
53         nl_langinfo, but just lc_ctype directly.
54         * pinentry/pinentry.c (cmd_getpin): Do not convert passphrase to
55         UTF-8 here.
56         * gtk/pinentry-gtk.c (button_clicked): Convert passphrase to UTF8
57         here.
58         * pinentry/pinentry-curses.c (dialog_run): Likewise.
59
60 2003-12-14  Marcus Brinkmann  <marcus@g10code.de>
61
62         * pinentry/pinentry.c (pinentry_init): Register secmem_term as
63         atexit function.  Set assuan malloc hooks to secmem.
64         (pinentry_parse_opts): Add break statement to silence gcc warning.
65         * pinentry/pinentry.c (cmd_getpin): If canceled, release and clear
66         PINENTRY->pin nevertheless.
67
68         * acinclude.m4 (qt_incdirs): Add /usr/include/qt3.
69         * qt/Makefile.am (pinentry_qt_SOURCES): Remove cppmemory.h,
70         cppmemory.cpp, pinentrycontroller.h, pinentrycontroller.cpp.
71         (nodist_pinentry_qt_SOURCES): Remove pinentrycontroller.moc.cpp.
72         (libcurses): Move ../pinentry/libpinentry.a from here to ...
73         (pinentry_qt_LDADD): ... here.  Change order a bit to make it
74         work.
75         * qt/cppmemory.h, qt/cppmemory.cpp, qt/pinentrycontroller.h,
76         qt/pinentrycontroller.cpp: Files removed.
77         * qt/secqstring.h, qt/secqstring.cpp, secqlineedit.h,
78         secqlineedit.cpp: New files.
79         * qt/Makefile.am (pinentry_qt_SOURCES): Add secqstring.h,
80         secqstring.cpp, secqlineedit.h, and secqlineedit.cpp.
81         (nodist_pinentry_qt_SOURCES): Add secqlineedit.moc.cpp.
82         * qt/main.cpp: Do not include "memory.h" or "secmem-util.h", nor
83         <new> or "pinentrycontroller.h".  Include <qapplication.h>,
84         <qmessagebox.h>, <qwidget.h> and "secqstring.h".  Always include
85         <pinentry.h>.
86         [USE_KDE]: Remove all instances.
87         (curses_main): Function removed.
88         (my_new_handler): Likewise.
89         (qt_main): Likewise.
90         (qt_cmd_handler): New function.
91         (pinentry_cmd_handler): Define always (to qt_cmd_handler).
92         (main): Rewritten.
93         * qt/pinentrydialog.cpp: Do not include <qlineedit.h>, but
94         "secqlineedit.h".
95         (PinEntryDialog::PinEntryDialog): Make _edit a SecQLineEdit
96         object.  Connect accepted SIGNAL to accept SLOT, and rejected
97         SIGNAL to reject SLOT.
98         (PinEntryDialog::setText): Make argument SecQString rather than
99         QString.
100         (PinEntryDialog::text): Likewise for return value.
101         * qt/pinentrydialog.h: Declare SecQString and SecQLineEdit classes.
102         (class PinEntryDialog): Disable property text (for now).  Adjust
103         argument of setText and return value of text, as well as type of
104         _edit.  
105
106 2003-12-09  Werner Koch  <wk@gnupg.org>
107
108         * README.CVS: New.
109         * Makefile.am (EXTRA_DIST): Add README.CVS
110         (ACLOCAL_AMFLAGS): New.
111         * configure.ac: Added min_automake_versions.
112         * autogen.sh: Revamped.
113
114 2003-04-23  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>
115
116         * configure.ac: Version 0.6.10-cvs
117
118 2003-04-23  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>
119
120         * configure.ac: Version 0.6.9
121         * qt/Makefile.am: Added moc files to DISTCLEANFILES
122         * qt/pinentrycontroller.cpp: Dont spew assuan debug stuff out on stderr.
123
124 2003-03-26  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>
125
126         * qt/cppmemory.cpp, qt/main.cpp: Only override array allocation
127           operators. This should take care of the reported memory-problems
128           and even make pinentry-qt use a bit less memory.
129
130 2003-02-15  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>
131
132         * qt/pinentrydialog.h, qt/pinentrydialog.cpp: Added icons 
133           for error/non-error messages.
134
135 2003-02-07  Marcus Brinkmann  <marcus@g10code.de>
136
137         Released 0.6.8.
138
139 2003-02-04  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>
140
141         * qt/main.cpp: Work around '--display' option. This fixes 
142           the pinentry-qt problem reported by several people lately.
143
144 2003-01-24  Werner Koch  <wk@gnupg.org>
145
146         * autogen.sh: Print a hint to use maintainer mode.
147
148 2002-12-24  Marcus Brinkmann  <marcus@g10code.de>
149
150         * pinentry/pinentry-curses.c (collect_line): New function.
151         (COPY_OUT, MAKE_BUTTON): New macros.
152         (dialog_create): Rewrite the initializing code and the description
153         calculation routine with word wrapping.
154
155 2002-11-20  Werner Koch  <wk@gnupg.org>
156
157         Released 0.6.7.
158
159         * pinentry/pinentry-curses.c (dialog_create): Better truncate
160         lines than to go into an infinite loop.  We need to implement word
161         wrap.
162         (dialog_run): Add DIALOG_POS_NONE to switch so prevent a warning.
163
164 2002-11-12  Werner Koch  <wk@gnupg.org>
165
166         * config.sub, config.guess: Updated from ftp.gnu.org/gnu/config
167         to version 2002-11-08.
168
169 2002-11-09  Werner Koch  <wk@gnupg.org>
170
171         Released 0.6.6.
172
173 2002-11-08  Werner Koch  <wk@gnupg.org>
174
175         * pinentry/pinentry-curses.c (convert_utf8_string): Renamed to 
176         * pinentry/pinentry.c (pinentry_utf8_to_local): this. Changed
177         callers.
178         (pinentry_local_to_utf8): New.
179         (cmd_getpin): Convert result back to UTF-8.
180         * gtk/pinentry-gtk.c (create_utf8_label): New.
181         (create_window): Use it here to set the prompts.
182
183 2002-11-06  Werner Koch  <wk@gnupg.org>
184
185         * pinentry/pinentry-curses.c (dialog_run): Fixed retrun value tests
186         for fopen.
187
188 2002-11-05  Werner Koch  <wk@gnupg.org>
189
190         * secmem/util.c (init_uids): Make it a prototype.
191
192         * gtk/pinentry-gtk.c (enter_callback): Changed argument name to
193         avoid shadowing warning.
194         (create_window): Removed unused variable I.
195         (ok): Not used, commented.
196
197         * pinentry/pinentry.c: Include headers for getpid and sleep
198         prototypes.
199
200         * secmem/util.h: Correctly declare functions taking no args. 
201
202         * gtk/pinentry-gtk.c: Move gtk headers to the top to avoid
203         compiler warnings about shadowing index etc.
204
205         * curses/pinentry-curses.c: Include stdio.h for the printf prototype.
206
207         * pinentry/pinentry-curses.c (dialog_switch_pos): Return a value.
208
209         * pinentry/pinentry.c (pinentry_have_display): New.
210         (pinentry_setbufferlen): Must return a value. Fixed documentation.
211         (usage): Print a question mark as a substitue for the program name.
212
213         * gtk/pinentry-gtk.c (main): use it here instead of getenv().
214         * qt/main.cpp (main): Ditto.
215
216 2002-10-11  Werner Koch  <wk@gnupg.org>
217
218         * configure.ac, Makefile.am: Added doc/ and tests for makeinfo
219
220 2002-09-30  Werner Koch  <wk@gnupg.org>
221
222         Released 0.6.5.
223         
224         * qt/pinentrycontroller.cpp (optionHandler): Make sure that a
225         value is returned.
226         * configure.ac: Use -Wall also for C++.
227
228 2002-08-19  Steffen Hansen  <steffen@hrhansen.dk>
229
230         * Relased 0.6.4.
231
232 2002-08-11  Steffen Hansen  <steffen@hrhansen.dk>
233
234         * Adapted pinentry-qt to new CONFIRM spec.
235
236 2002-06-26  Werner Koch  <wk@gnupg.org>
237
238         Release 0.6.3.
239
240 2002-05-24  Werner Koch  <wk@gnupg.org>
241
242         * AUTHORS: Added Marcus
243         * README: Fixed spelling of Quintuple-Agent. 
244
245 2002-05-13  Marcus Brinkmann  <marcus@g10code.de>
246
247         Released 0.6.2.
248         
249         * configure.ac: Set version number to 0.6.2.
250         * NEWS: Add information for 0.6.2.
251         * README: Update for release.
252
253 2002-05-09  Marcus Brinkmann  <marcus@g10code.de>
254
255         * configure.ac: Add option --enable-fallback-curses and bind it to
256         the ncurses check.  Add automake conditional
257         BUILD_LIBPINENTRY_CURSES and FALLBACK_CURSES. Add preprocessor
258         symbol FALLBACK_CURSES.
259
260         * curses/Makefile.am (AM_CPPFLAGS): Add $(NCURSES_INCLUDE).
261         (LDADD): Add ../pinentry/libpinentry-curses.a.
262         * curses/pinentry-curses.c: Include "pinentry-curses.h".
263         Moved most of the meat to ...
264         * pinentry/pinentry-curses.c: ... here.  New file.  Make all
265         functions and global variables static.
266         (dialog_cmd_handler): Rename to ...
267         (curses_cmd_handler): ... this.
268         * pinentry/pinentry-curses.h: New file.
269         * pinentry/Makefile.am (noinst_LIBRARIES)
270         [BUILD_LIBPINENTRY_CURSES]: Add libpinentry-curses.a.
271         (libpinentry_curses_a_SOURCES): New target.
272
273         * gtk/Makefile.am (INCLUDES): Moved all to ...
274         (AM_CPPFLAGS): ... here.
275         [CURSES_FALLBACK]: Define ncurses_include and libcurses.
276         (AM_CPPFLAGS): Add $(ncurses_include).
277         (LDADD): Add $(libcurses).
278         * gtk/pinentry-gtk.c: Rename TIMEOUT to TIME_OUT to avoid conflict
279         with curses.h.
280         [CURSES_FALLBACK]: Include "pinentry-curses.h".
281         (button_clicked): Likewise.
282         (create_window): Likewise.
283         (cmd_handler): Renamed to ...
284         (gtk_cmd_handler): ... this.
285         (pinentry_cmd_handler): Set to gtk_cmd_handler.
286         (main) [CURSES_FALLBACK]: Initialize GTK+ only if environment
287         variable DISPLAY is set, otherwise fall back to curses dialog.
288
289         * pinentry/pinentry.h: Protect against multiple inclusion.
290
291 2002-05-09  Marcus Brinkmann  <marcus@g10code.de>
292
293         * curses/pinentry-curses.c (dialog_create): Allow multi-line error
294         texts.
295
296         * pinentry/pinentry.c (cmd_seterror): Call strcpy_escaped, rather
297         than strcpy, to allow percent-escaping the error text.
298
299 2002-04-25  Steffen Hansen  <steffen@hrhansen.dk>
300
301         * pinentry-qt: Use ok and cancel value if
302         provided.
303
304 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
305
306         * gtk/pinentry-gtk.c (create_window): Use ok and cancel value if
307         provided.
308
309 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
310
311         * qt/pinentrycontroller.h: New members _ok and _cancel.
312         * qt/pinentrycontroller.cpp (registerCommands): Add SETOK and SETCANCEL.
313         (assuanOk): New method.
314         (assuanCancel): Likewise.
315
316 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
317
318         * curses/pinentry-curses.c (dialog_create): Grok the new ok and
319         cancel members to set the pbutton texts, rather than parsing the
320         prompt in the confirm case.
321
322         * pinentry/pinentry.h (struct pinentry): Add new members ok and cancel.
323         * pinentry/pinentry.c (register_commands): Add new commands SETOK
324         and SETCANCEL to set button texts.
325         (struct pinentry pinentry): Add initializers for new members.
326         (cmd_setok): New function.
327         (cmd_setcancel): Likewise.
328
329 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
330
331         * curses/pinentry-curses.c (dialog_create): Add '<' and '>' around
332         the user provided button texts.  Replace sizeof by strlen to fix
333         size calculation of ok and cancel button.
334
335 2002-04-23  Marcus Brinkmann  <marcus@g10code.de>
336
337         * pinentry/pinentry.h (struct pinentry): New variables lc_ctype
338         and lc_messages.
339         * pinentry/pinentry.c (usage): New options --lc-ctype and
340         --lc-messages.
341         (pinentry_parse_opts): Likewise.
342         (option_handler): Likewise.
343         (struct pinentry pinentry): New initializers for new members.
344
345         * curses/pinentry-curses.c (convert_utf8_string): New function.
346         (struct dialog): New members ok and cancel.
347         (dialog_create): New variables ERR, DESCRIPTION, ERROR, PROMPT,
348         OK, and CANCEL.  Initialize them with the localised versions of
349         the pinentry strings.  If in confirm mode, split up the prompt at
350         '|' and use the values as button texts.  Use localised strings.
351         (dialog_switch_pos): Use localised strings.
352         (dialog_run): Free dialog strings.
353
354         * acinclude.m4 (AM_ICONV): New check from gettext.
355         * configure.ac: Run AM_ICONV if curses pinentry is build.
356         Don't check for inttypes.h, don't check size of unsigned int or
357         unsigned long.
358         (LIBCAP): Move check to interface independent part.
359
360 2002-04-21  Steffen Hansen  <steffen@hrhansen.dk>
361
362         * Removed X11 dependency and use Qt for grabbing the keyboard.
363         * Clear the lineedit before asking the user for the PIN.
364
365 2002-04-12  Steffen Hansen  <steffen@hrhansen.dk>
366
367         * Enable pinentry-qt if Qt is found
368
369 2002-04-06  Marcus Brinkmann  <marcus@g10code.de>
370
371         * qt: New directory.
372         * qt/Makefile.am, qt/cppmemory.cpp, qt/main.cpp,
373         pinentrycontroller.cpp, qt/pinentrycontroller.h,
374         qt/pinentrydialog.cpp, qt/pinentrydialog.h: New file, copied from
375         kde/.
376         * kde: Directory removed.
377         * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
378         kde/pinentry.desktop, kde/pinentrycontroller.cpp,
379         kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
380         kde/pinentrydialog.h: Files removed.
381         * acinclude.m4: Removed the KE checks and completely overhauled
382         the Qt checks, putting all Qt checks in their own namespace QT_,
383         and make it declare QT_-prefixed variables for linking and
384         compilation.
385         * configure.ac: Use the new Qt checks instead the KDE checks.
386         Replace "kde" with "qt" everywhere.
387         * Makefile.am: Replace "kde" with "qt" everywhere.
388         
389 2002-04-06  Marcus Brinkmann  <marcus@g10code.de>
390
391         * acinclude.m4: Reworked the Qt and KDE checks, cutting out a lot
392         of dead and not-so-dead wood.  Gave all KDE checks proper names.
393         * configure.ac: Use the new names for the KDE checks.
394
395 2002-04-06  Marcus Brinkmann  <marcus@g10code.de>
396
397         * kde/Makefile.am (EXTRA_DIST): Remove variable.
398         (install-data-local): Remove target.
399         (uninstall-local): Likewise.
400
401 2002-04-05  Marcus Brinkmann  <marcus@g10code.de>
402
403         Released 0.6.0.
404         
405         * configure.ac: Set version number to 0.6.
406         * NEWS: Add information for 0.6.0.
407         * secmem/Makefile.am (libsecmem_a_SOURCES): Replace secmem.h with memory.
408         * kde/Makefile.am (pinentry_kde_SOURCES): Move
409         pinentrydialog.moc.cpp and pinentrycontroller.moc.cpp to ...
410         (nodist_pinentry_kde_SOURCES): ... this new target.
411
412 2002-04-05  Marcus Brinkmann  <marcus@g10code.de>
413
414         * acinclude.m4: A lot of new checks more or less straight from KDE's
415         admin/acinclude.m4.in.
416         * configure.ac (AC_CANONICAL_HOST): Call that macro.
417         (AC_CHECK_COMPILERS, AC_PATH_KDE): Call those macros if KDE
418         pinentry is enabled.
419         * kde/Makefile.am (CXXFLAGS, XXX_PREFIX, XXX_KDE_DEFINES, LIB_QT,
420         LIB_KDECORE, LIB_KDEUI, KDE_RPATH, MOC, kde_appsdir): Variables removed.
421         (AM_CPPFLAGS): Replace XXX_KDE_DEFINES by all_includes.
422         (pinentry_kde_LDFLAGS): Add all_libraries.
423         * README: Document that automatic check is not possible for KDE.
424
425 2002-04-05  Marcus Brinkmann  <marcus@g10code.de>
426
427         * curses/pinentry-curses.c (dialog_run): Add handling for TAB key.
428         (dialog_create): New variable description_x.  Calculate dimension
429         of multi-line description correctly.
430
431 2002-04-04  Marcus Brinkmann  <marcus@g10code.de>
432
433         * pinentry/pinentry.h (struct pinentry): New members DISPLAY,
434         TTYNAME and TTYTYPE.
435         * pinentry/pinentry.c (pinentry): Likewise.
436         * pinentry/pinentry.c: Include <string.h>.
437         (usage): Add new options --display,
438         --ttyname and --ttytype.
439         (option_handler): Likewise.
440         (pinentry_parse_opts): Likewise.
441
442         * curses/pinentry-curses.c (dialog_cmd_handler): Use
443         PINENTRY->ttyname and PINENTRY->ttytype.
444
445 2002-03-30  Marcus Brinkmann  <marcus@g10code.de>
446
447         * acinclude.m4: Add AM_PATH_GLIB and AM_PATH_GTK.
448
449 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
450
451         * configure.ac: Choose a more appropriate AC_CONFIG_SRCDIR.
452
453 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
454
455         * kde/Makefile.am (pinentry_kde_LDADD): Link with $(LIBCAP).
456         * gtk/Makefile.am (install-exec-local): Moved to ...
457         * Makefile.am (install-exec-local): ... here.
458
459 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
460
461         * kde/Makefile.am (kde_appsdir): New variable.
462         * kde/Makefile.am (install-data-local): Use DESTDIR.
463         (uninstall-local): Likewise.
464
465 2002-03-29  Marcus Brinkmann  <marcus@g10code.de>
466
467         Merge of the gpinentry and curses pinentry program into the
468         pinentry distribution.  For this, the structure of the repository
469         has been thoroughly overhauled.  Some of the changes:
470         * secmem: New directory with secure memory allocation code.
471         * pinentry: New directory with pinentry support library.
472         * curses: New directory with curses frontend.
473         * gtk: New directory with GTK+ frontend.
474         * kde: New directory with only the core of the old kpinentry program.
475         * admin: Directory removed.
476         * po: Directory removed.
477         * kpinentry: Directory removed.
478         * doc: Directory removed.
479         * jnlib: Directory removed.x
480
481         The changes in more detail:
482         * AUTHORS: Add authors of other pinentry frontends.
483         * ChangeLog: Add the one from gpinentry.
484         * Makefile.am: Completely rewritten.
485         * README: Add content.
486         * TODO: Add content.
487         * NEWS: New file from gpinentry.
488         * THANKS: New file from gpinentry.
489         * acinclude.m4: New file.
490         * configure.ac: New file which configures for all frontends.
491         * curses/Makefile.am, curses/pinentry-curses.c: New files for
492         curses frontend.
493         * gtk/Makefile.am, gtk/gtksecentry.c, gtk/gtksecentry.h,
494         gtk/pinentry-gtk.c: New files, modified from gpinentry, for GTK+
495         frontend.
496         * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
497         kde/pinentry.desktop, kde/pinentrycontroller.cpp,
498         kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
499         kde/pinentrydialog.h: New files, modified from kpinentry, for KDE
500         frontend.
501         * pinentry/Makefile.am, pinentry/pinentry.c, pinentry/pinentry.h:
502         New files containing pinentry support library, partly factored out
503         from gpinentry.
504         * secmem/Makefile.am, secmem/memory.h, secmem/secmem-util.h,
505         secmem/secmem.c, secmem/util.c, secmem/util.h: New files
506         containing secure memory allocation code common to all pinentry
507         frontends.
508         * Makefile.dist, acconfig.h, configure.files, configure.in.in:
509         Files removed in favor of new configure.ac.
510         * pinentry.lsm: Removed file never used.
511         * stamp-h.in: Removed generated file.
512         * admin/ChangeLog, admin/Makefile.common, admin/acinclude.m4.in,
513         admin/am_edit, admin/am_edit.py, admin/conf.change.pl,
514         admin/config.guess, admin/config.pl, admin/config.sub,
515         admin/configure.in.min, admin/debianrules, admin/depcomp,
516         admin/install-sh, admin/libtool.m4.in, admin/ltcf-c.sh,
517         admin/ltcf-cxx.sh, admin/ltcf-gcj.sh, admin/ltconfig,
518         admin/ltmain.sh, admin/missing, admin/mkinstalldirs, admin/ylwrap:
519         Removed KDE build suite in favor of configure.ac.
520         * doc/Makefile.am, doc/en/Makefile.am, doc/en/index.docbook:
521         Removed files never used.
522         * jnlib/ChangeLog, jnlib/Makefile.am, jnlib/argparse.c,
523         jnlib/argparse.h jnlib/dotlock.c, jnlib/dotlock.h,
524         jnlib/libjnlib-config.h, jnlib/logging.c, jnlib/logging.h,
525         jnlib/mischelp.h, jnlib/stringhelp.c, jnlib/stringhelp.h,
526         jnlib/strlist.c, jnlib/strlist.h, jnlib/types.h, jnlib/xmalloc.c,
527         jnlib/xmalloc.h: Removed files no longer used.
528         * kpinentry/Makefile.am, kpinentry/cppmemory.cpp,
529         kpinentry/cppmemory.h, kpinentry/i18n.h, kpinentry/main.cpp,
530         kpinentry/memory.h, kpinentry/pinentry.desktop,
531         kpinentry/pinentrycontroller.cpp, kpinentry/pinentrycontroller.h,
532         kpinentry/pinentrydialog.cpp, kpinentry/pinentrydialog.h,
533         kpinentry/secmem.cpp, kpinentry/util.cpp, kpinentry/util.h:
534         Removed files in favor of new files in kde/.
535         * po/Makefile.am, po/pinentry.pot: Removed files never used.
536
537         * autogen.sh: New file.
538
539 2002-03-04  Werner Koch  <wk@gnupg.org>
540
541         * gpinentry.c (enter_callback): New
542         (create_window): Connect it to the entry field.
543
544 2002-02-18  Werner Koch  <wk@gnupg.org>
545
546         Released 0.5.1.
547
548         * gpinentry.c (create_window): Add CONFIRM_MODE.
549         (cmd_confirm): Implemented.
550
551         * assuan/:  Updated from NewPG.
552
553 2002-01-20  Werner Koch  <wk@gnupg.org>
554
555         * gpinentry.c (option_handler): New to allow changing of the grab
556         status.
557         (grab_keyboard): Shortcut this when global grab is not set.
558
559 2002-01-04  Werner Koch  <wk@gnupg.org>
560
561         Released 0.5.0.
562         
563         * configure.ac: Bumbed version
564
565         * util.h (xtoi_1, xtoi_2): New.
566         * gpinentry.c (strcpy_escaped): New
567         (cmd_setdesc, cmd_seterror): Use it here to allo multiline texts.
568
569         * gpinentry: Removed debugging outbut
570         (create_window): Tweaked layout.
571
572 2001-12-07  Werner Koch  <wk@gnupg.org>
573
574         New package gpinentry based on quintuple-agent.
575         
576         Removed all stuff except for the basic configuration stuff and
577         what is needed to build gpinentry.  Also removed i18n support.
578         * gpinentry.c: Renamed from secret-query.c
579
580 2001-02-12  Robert Bihlmeyer  <robbe@orcus.priv.at>
581
582         * 1.0.0 released. Woo-hoo!
583
584         * configure.in, NEWS: Bumped version.
585
586 2001-02-04  Robert Bihlmeyer  <robbe@orcus.priv.at>
587
588         * agent.c (make_tmpdir): Honor $TMPDIR.
589
590         (agent): Would exit on every minor problem. Now, we just close the
591         offending connection.
592         Ignore SIGPIPE, so that EPIPE will close connection.
593
594 2001-01-11  Robert Bihlmeyer  <robbe@orcus.priv.at>
595
596         * secmem.c: Move one include statement so that the thing compiles.
597
598         * secret-query.c (main): Minor source cosmetics.
599
600 2000-11-16  Robert Bihlmeyer  <robbe@orcus.priv.at>
601
602         * gtksecentry.c (gtk_secure_entry_insert_text): Secured a couple
603         of memory (de)allocations that were missed. Thanks to John Steele
604         <jhs28@eng.cam.ac.uk> for spotting these.
605
606 2000-11-10  Robert Bihlmeyer  <robbe@orcus.priv.at>
607
608         * Thoughts: Removed in favor of new TODO.
609
610         * README: Remove content and refer to doc/manual.info instead.
611
612         * agent.c (do_get): Would burn badly on a premature exit of the
613         query program (which would occur routinely if you selected /cancel/).
614
615 2000-10-25  Robert Bihlmeyer  <robbe@orcus.priv.at>
616
617         * memory.h: Include sys/types.h for size_t.
618
619 2000-10-08  Robert Bihlmeyer  <robbe@orcus.priv.at>
620
621         * README: Removed apology about missing documentation.
622         Updated paragraph about Linux capability patch.
623         Typo & Refill.
624
625 2000-10-03  Robert Bihlmeyer  <robbe@orcus.priv.at>
626
627         * 0.9 released.
628
629         * Makefile.am (EXTRA_DIST): Distribute BUGS (the file, that is).
630
631         * configure.in, NEWS: Bumped version.
632
633         * Makefile.am, configure.in: Add debian subdir.
634
635         * README: Recommend GTK+.
636         Update list of checked platforms.
637
638 2000-10-02  Robert Bihlmeyer  <robbe@orcus.priv.at>
639
640         * secret-query.c (ok): Simplify.
641         Put empty line between headers and secret.
642         (usage): Document '--help' and '--version'.
643
644         * agent.c (do_get): Use enhanced secret-query output to fill in
645         options.
646
647 2000-10-01  Robert Bihlmeyer  <robbe@orcus.priv.at>
648
649         * secret-query.c (main): Clarify error.
650
651         * client.c (query_options): New global variable.
652         (main): New option '--query-options' to pass options to the query
653         program.
654         (xgetpass): Use it.
655
656         * agent.c (main): New option '--query-options' to pass options to
657         the query program.
658         (do_get): Use 'query_options'.
659
660         * acconfig.h, configure.in: Add QUERY_PROGRAM definition.
661         * client.c: Remove here.
662         * agent.c (do_get): Use it here, too.
663
664         * secret-query.c (main): New option '--no-global-grab' introduced,
665         that prevents keyboard grabbing unless the window has focus.
666
667 2000-09-11  Robert Bihlmeyer  <robbe@orcus.priv.at>
668
669         * secret-query.c (usage): Add two missing pieces of "\n\".
670
671         * agent.c (main): --nofork is now the default, and the option is
672         deprecated. New option --fork added to turn forking on again.
673         Close stdout (and stderr unless debugging) even when not forking,
674         so that normal usage inside eval is still possible.
675         (agent): Exit gracefully on HUP, so that logging out now kills the
676         agent. 
677
678         * README (Contact Information): Old URL - duh!
679         (Using Secret Agent): We no longer fork per default.
680
681         * Makefile.am (lib/libutil.a): New target, allows targets that not
682         automatically recurse (but still depend on libutil.a) to succeed.
683
684 2000-07-20  Robert Bihlmeyer  <robbe@orcus.priv.at>
685
686         * secret-query.c (usage): New function.
687         (main): Parse options: debug, enhanced, help, version.
688         Turn on locale support.
689         If enhanced, insert widgets to ask for timeout and insurance.
690         (ok): If enhanced, print more information on exit.
691         (grab_keyboard): Die if grab was unsuccessful.
692
693 2000-05-31  Robert Bihlmeyer  <robbe@orcus.priv.at>
694
695         * 0.8 released.
696
697         * configure.in, NEWS: Bumped version.
698
699         * Makefile.am (SUBDIRS): Include doc.
700
701         * configure.in, acconfig.h: Check for ssize_t.
702         Check for vsnprintf(), strdup().
703         Generate doc/Makefile.
704
705         * apgp.c, agpg.c, agentlib.c, util.c: Include more stuff.
706
707         * agent.c (do_get): Use asprintf() instead of snprintf() so we
708         don't need to roll our own for yet another function.
709         Fix some includes.
710
711         * acinclude.m4: gettext macros copied from automake and fixed.
712
713 2000-05-30  Robert Bihlmeyer  <robbe@orcus.priv.at>
714
715         * configure.in, Makefile.am: Properly include doc subdir.
716
717 2000-05-29  Robert Bihlmeyer  <robbe@orcus.priv.at>
718
719         * configure.in, acconfig.h: Add test for XMESSAGE path.
720
721         * client.c (main): Decode command from string to integer code
722         first, then evaluate that in ifs.
723
724         * secret-ask.c: New file, external ask-for-confirmation utility.
725
726         * configure.in, Makefile.am: Add secret-ask to programs being
727         built when GTK is available. Rename QUERY to more descriptive
728         GTK_PROGRAMS.
729
730         * agent.c (do_get): If GTK is available, try executing secret-ask
731         first.
732         Only put the comment into the insure-question if there is a
733         comment.
734         (main): --csh was missing from usage message.
735
736 2000-04-23  Robert Bihlmeyer  <robbe@orcus.priv.at>
737
738         * secret-query.c (constrain_size): Lower window max_width to
739         accomodate bugs in GTK and Scwm.
740
741         * agent.c (main): Set x_enabled if X appears to be available.
742         Use it to selectively make FLAGS_INSURE supported.
743         (do_get): Use it instead of testing at every call.
744         (do_put): Requests containing unsupported flags fail.
745         (forget_old_stuff): Would not set next_deadline correctly.
746         (do_get): Implement FLAGS_INSURE.
747
748         * client.c (main): "list" format changed so that comment is to the
749         far right. Display the deadline as proper date/time, too.
750
751 1999-11-11  Robert Bihlmeyer  <robbe@orcus.priv.at>
752
753         * agent.c (next_deadline): New global variable, holds time when
754         next secret has to be killed.
755         (store): Keep it up-to-date.
756         (forget_old_stuff): New function, reaps secrets ready to kill,
757         keeps next_deadline updated.
758         (agent): Use it on all secrets, whenever a deadline is active.
759
760 1999-11-08  Robert Bihlmeyer  <robbe@orcus.priv.at>
761
762         * agent.h (request_put): Add flags, deadline. Increase REQUEST_MAGIC. 
763         (reply_get): Ditto, and increase REPLY_MAGIC.
764         * agent.c (store): Store flags, deadline in reply.
765         (do_put): Hand flags, deadline from request on to store().
766         (do_get): Store on-demand queried secrets without deadline or
767         special flags, for now.
768         (agent): Do not ignore obsolete clients, return an error reply.
769         * agentlib.c (agent_put): Add flags, deadline arguments, and copy
770         them into the request.
771         * agentlib.h (agent_put): Update prototype.
772 *       * client.c (main): Added --time-to-live (-t) and --insure (-i)
773         options, influencing PUT's deadline and flags, respectively.
774         (main): Change list format to include new attributes.
775
776 1999-11-05  Robert Bihlmeyer  <robbe@orcus.priv.at>
777
778         * configure.in: <getopt.h> check had redundant definition.
779         * acconfig.h: Remove here, too.
780
781         * configure.in: Check for <inttypes.h>. If not found, check for
782         unsigned {int, long} sizes.
783         * agent.h: Either include <inttypes.h>, or try to define uint32_t
784         yourself.
785         Need to include "config.h".
786
787 1999-11-04  Robert Bihlmeyer  <robbe@orcus.priv.at>
788
789         * Makefile.am (signed-dist): New rule, generates sig for dist.
790         (%.sig): New rule, for detached signatures in general.
791
792         * configure.in: Check for ulong.
793         * acconfig.h: Document it.
794         * secmem.c: Unconditionally defining it is no longer necessary
795         here. But do include <sys/types.h> in all cases.
796
797         * 0.7 released.
798
799         * secmem.c: ulong is not defined on all systems.
800
801         * agent.h: <inttypes.h> should define `uint32_t' as per Unix98, so
802         we use that.
803
804 1999-11-02  Robert Bihlmeyer  <robbe@orcus.priv.at>
805
806         * agent.h: Augmented requests and replies with magic numbers.
807         Data structures heavily commented.
808         All structures and enums typedef'd.
809         * agent.c: Adapted.
810         (store): Set magic number in stored reply.
811         (do_put): Set magic number in reply.
812         (do_delete): Ditto.
813         (do_list): Ditto. 
814         (agent): Check magic number in request.
815         * agentlib.c: Adapted.
816         (send_request): Set magic number in request. Check it in reply.
817         * agentlib.h: Adapted.
818         * agpg.c: Adapted.
819         * apgp.c: Adapted.
820         * client.c: Adapted.
821
822 1999-10-31  Robert Bihlmeyer  <robbe@orcus.priv.at>
823
824         * secmem.c: Instead of defining ulong directly, include
825         <sys/types.h>
826
827         * secret-query.c (constrain_size): New function, puts constrains
828         on size of toplevel window.
829         (grab_keyboard): Removed protection against multiple calls.
830         (ungrab_keyboard): New function, cancelling a keyboard grab.
831         (main): Hang `grab_keyboard' onto map-event which makes it
832         actually work, hang `ungrab_keyboard' onto unmap-event.
833         Hang `constrain_size' onto size-request.
834
835         * secmem.c: ulong was undefined on some systems.
836
837 1999-10-19  Robert Bihlmeyer  <robbe@orcus.priv.at>
838
839         * Makefile.am (install-exec-local): Ignore setcap errors.
840
841         * apgp.c: New program, based on agpg.c, but for pgp2.6.
842         * Makefile.am (bin_PROGRAMS, apgp_SOURCES): Added it.
843
844         * agpg.c (GPG): New constant.
845         (find_id, main): Use it throughout.
846         (find_id): Forgot to pclose on success.
847
848         * secret-query.c (main): Don't expand anything.
849         Use a button box for the buttons.
850         Prompt label can be overridden from the commandline.
851         * agent.c (do_get): Make spawned secret-query show the id.
852         * client.c (xgetpass): Pass prompt to secret-query.
853         (main): Include id in xgetpass prompt.
854
855 1999-10-14  Robert Bihlmeyer  <robbe@orcus.priv.at>
856
857         * configure.in: setcap must be searched outside the usual user
858         PATH, too.
859         * Makefile.am (install-exec-local): Set cap_ipc_lock permitted on
860         installed binaries, if possible.
861
862         * agent.c (xdup2): New function, dup2 with error handling.
863         (move_fd): New function, moves fds.
864         (store): New function, abstracted out from do_put.
865         (do_put): Use it.
866         (do_get): If secret was not found, and DISPLAY is set, try to
867         query the user about it. If successful, store it.
868         (main): Route standard file descriptors to /dev/null rather than
869         just closing them. The latter would confuse children.
870
871 1999-10-13  Robert Bihlmeyer  <robbe@orcus.priv.at>
872
873         * gtksecentry.c, gtksecentry.h: New files, being slightly modified
874         versions of GTK+'s gtkentry.[ch], spiffed up to use secure memory.
875         * secret-query.c (ok, unselect, main): Replace GtkEntry with
876         GtkSecureEntry.
877         (main): Initialize secure memory.
878         * Makefile.am (secret_query_SOURCES): Added gtksecentry.[ch].
879
880         * README (Security): New chapter.
881
882         * configure.in, acconfig.h: Check for POSIX capabilities, and the
883         setcap program.
884         * Makefile.am: Link LIBCAP to those binaries using secmem.c.
885
886         * util.h: Include <sys/types.h> for size_t.
887
888 1999-09-21  Robert Bihlmeyer  <robbe@orcus.priv.at>
889
890         * secmem.c: Synced with gnupg-1.0 (top new feature: capabilities).
891         (log_fatal): New function, logs to stderr, and dies.
892
893 1999-09-08  Robert Bihlmeyer  <robbe@orcus.priv.at>
894
895         * secmem.c (log_info): New function, logs to stderr.
896
897         * agent.c (agent): select() expects the number of fds, not the
898         highest fd. So remember that number.
899
900         * agent.c (agent): Don't use FD_SETSIZE, which is not defined on
901         all systems. Remember the number of the highest descriptor
902         instead.
903
904         * configure.in: Replace getline() instead of getdelim() because
905         this is the function we really need. Still check for getdelim(),
906         though - there are systems out there where this is provided, but
907         getline() is not.
908
909 1999-09-01  Robert Bihlmeyer  <robbe@orcus.priv.at>
910
911         * 0.6 released.
912
913         * configure.in: Bump version.
914
915         * NEWS: Updated.
916
917 1999-08-31  Robert Bihlmeyer  <robbe@orcus.priv.at>
918
919         * util.c (init_uids, lower_privs, raise_privs, drop_privs): New
920         functions, for setuid binaries, extracted from agent.c.
921         * util.h: Add prototypes for them.
922         * agpg.c (main): Use them.
923         * client.c (main): Ditto.
924         * agent.c (main): Ditto. Removed code that did the same.
925         Unconditionally include "asprintf.h" (it protects itself now).
926
927 1999-08-25  Robert Bihlmeyer  <robbe@orcus.priv.at>
928
929         * Makefile.am (SUBDIRS): Process . before test so that "make
930         check" always builds all in . first.
931
932 1999-08-21  Robert Bihlmeyer  <robbe@orcus.priv.at>
933
934         * secret-query.c: Include "config.h".
935
936         * agent.h (reply_list_entry, reply_list): New reply structures.
937         * agent.c (send_list_entry): New function.
938         (do_list): First send number of entries, then each entry via
939         send_list_entry().
940         * agentlib.c (agent_list): Read entries returned by LIST request.
941         * client.c (main): Output all entries returned by agent_list().
942
943         * agentlib.c (agent_put): Don't construct PUT request in insecure
944         stack space.
945
946 1999-08-20  Robert Bihlmeyer  <robbe@orcus.priv.at>
947
948         * NEWS: Bump patchlevel.
949
950         * configure.in: Bump patchlevel.
951         Check for missing setenv().
952
953 1999-08-09  Robert Bihlmeyer  <robbe@orcus.priv.at>
954
955         * configure.in: Check for strsignal().
956
957         * client-test: Obsoleted by test/client.
958
959         * Makefile.am (SUBDIRS): New subdirectory.
960         * configure.in (AC_OUTPUT): Add here, too.
961
962         * 0.5 released.
963
964         * README: Explain why secret-client will not output secrets to a
965         tty, and mention the cat-trick.
966
967         * agent.c (main): If seteuid is not available, don't use it and
968         issue a warning if running setuid.
969
970         * configure.in: Run together two REPLACE_FUNCS.
971         Check for seteuid.
972
973         * client-test: Mask out insecure memory warnings.
974
975         * agentlib.c (send_request): Let the calling functions reserve
976         space for the reply, but offer a simple way for simple requests.
977         (agent_get): Allocate secure memory.
978
979         * agent.c (main): Moved secmem_init() after the fork, since that
980         seemingly munlock's all pages.
981         Drop priviledges just in case somebody wants to install this
982         suid-root.
983         Flush stdout.
984
985         * agpg.c (find_id): Would reorder arguments.
986         Initialize opt_version.
987         (main): Initialize secure memory.
988
989         * Makefile.am (agpg_SOURCES): Link with secure memory module.
990
991         * client.c (usage): Fixed another program name reference.
992
993 1999-08-06  Robert Bihlmeyer  <robbe@orcus.priv.at>
994
995         * configure.in: Conditionally define HAVE_GTK.
996         * acconfig.h: Add here too.
997
998         * client.c (xgetpass): Use "secret-query" only if it was built.
999         (main): Don't output secret (GET command) to ttys.
1000
1001         * agpg.c (find_id): Also print own version if "--version" is given.
1002         (main): Check agent_init() errors.
1003         Print error if exec fails.
1004
1005         * agent.c (main): Added an option to produce csh-compatible
1006         output.
1007
1008         * agent.c, client.c: Forgot the terminating NULL in long options.
1009         Fixed the program names in usage and version output.
1010
1011         * agent.c (create_socket): AF_UNIX and PF_UNIX are Unix98, so
1012         that's what we use. AF_LOCAL, PF_LOCAL removed.
1013         * agentlib.c (agent_init): Ditto.
1014
1015 1999-08-05  Robert Bihlmeyer  <robbe@orcus.priv.at>
1016
1017         * 0.4 released.
1018
1019         * configure.in: Bumped version.
1020         Check for missing getdelim.
1021
1022         * cgpg: Removed, obsoleted by agpg.
1023         * Makefile.am: Here, too.
1024
1025         * agpg.c (find_id): New function.
1026         (main): Use it.
1027
1028         * Makefile.am (INCLUDES): Put GTK_FLAGS and GLIB_FLAGS here. It
1029         is the easiest way for sources needing it, and it won't hurt those 
1030         that don't.
1031         (agent.o): Explicit command removed accordingly.
1032
1033 1999-08-04  Robert Bihlmeyer  <robbe@orcus.priv.at>
1034
1035         * configure.in: Need double quoting in nested AC_MSG_WARN.
1036
1037         * client.c (xgetpass): If no tty is available, but a DISPLAY is,
1038         fork off "secure-query" to read the secret.
1039         Put the fgets into a loop that keeps reading until all of the
1040         secret is read.
1041
1042         * client-test: Unset DISPLAY, so that "secret-query" is never used.
1043
1044 1999-08-03  Robert Bihlmeyer  <robbe@orcus.priv.at>
1045
1046         * agpg.c: New file, first cut at a C version of the gpg wrapper,
1047         written in a hurry (20 keys waiting to be signed, and a growling
1048         stomach).
1049         * Makefile.am: Add it to built programs.
1050         (LDADD): New default.
1051         (secret_client_LDADD): Removed, since it was identical to default.
1052
1053 1999-08-01  Robert Bihlmeyer  <robbe@orcus.priv.at>
1054
1055         * secret-query.c: New program, queries the user for a password.
1056         * Makefile.am (bin_PROGRAMS): Added it.
1057         * configure.in: Check for GTK+, build "secret-query" only when
1058         that is available.
1059
1060         * cgpg: Extra argument for ID is no longer necessary. cgpg will
1061         scan the gpg args for switches that affect user-id, and determine
1062         the right key itself. Per convention, the key-id is used by "GET".
1063
1064         * configure.in: The project name is now "secret-agent".
1065
1066         * Makefile.am: "agent" & "client" renamed to "secret-agent" &
1067         "secret-client", respectively.
1068         * client-test: Adapt to new names.
1069
1070         * Thoughts: Removed discussion of other names.
1071         Added indication of which things already work.
1072
1073         * agent.c (make_tmpdir): Removed occurance of "gpg-agent."
1074
1075         * README: First proper version.
1076
1077         * client-test: Context diffs are more portable then unified diffs.
1078
1079         * agent.c, agent.h, agentlib.c, agentlib.h, client.c, memory.h,
1080         util.c, util.h: Banner updated to new name.
1081
1082 1999-07-29  Robert Bihlmeyer  <robbe@orcus.priv.at>
1083
1084         * configure.in: Check for missing asprintf.
1085         Check if -lsocket is needed.
1086
1087         * secmem.c (secmem_dump_stats): Replace usage of ulong.
1088
1089         * Makefile.am (INCLUDES): Add the lib subdirectory to include search.
1090
1091         * agent.c: Forgot to include <string.h>.
1092         Include RYO asprintf header if this function is missing.
1093         For the sake of compatibility, provide a definition for AF_LOCAL,
1094         PF_LOCAL, if missing.
1095         * agentlib.c: Ditto.
1096
1097 1999-07-28  Robert Bihlmeyer  <robbe@orcus.priv.at>
1098
1099         * Makefile.am (client_SOURCES): Add "secmem.c", "memory.h".
1100
1101         * client.c (xgetpass): Use secmem_malloc() instead of RYO.
1102         (main): Init and shutdown secmem.
1103
1104 1999-07-27  Robert Bihlmeyer  <robbe@orcus.priv.at>
1105
1106         * Makefile.am (agent_SOURCES): Add "secmem.c", "i18n.h", "memory.h".
1107         (client_SOURCES): Add "i18n.h".
1108
1109         * client.c (main): Exit on agent_init() failure.
1110
1111         * agent.c (main): Init secmem.
1112         Make --debug switch cumulative.
1113         (cleanup): Shutdown secmem.
1114         (do_put): Use secmem for storage of secrets.
1115         (do_delete): Use secmem_free(). Since this wipes the memory on its 
1116         own, wipe() is superflous now.
1117         (agent): Use secmem for inbound requests.
1118         (delete_secret): New function, takes part of do_delete's
1119         functionality.
1120         (do_put): Use it to remove old versions stored under the same id.
1121         (do_delete): Use it to delete secrets.
1122
1123         * memory.h: New file.
1124
1125         * secmem.c: New file, snarfed from GnuPG and modified slightly.
1126
1127         * acinclude.m4: New file.
1128         * configure.in: (ALL_LINGUAS): Expanded list of available
1129         languages. Most of them only have a few translations from gpg,
1130         tough ...
1131         getopt_long test was commented out for debugging,
1132         and left such. Fixed.
1133         Check for mlock.
1134         * acconfig.h: Comment HAVE_BROKEN_MLOCK.
1135
1136         * cgpg: A space was missing.
1137
1138         * i18n.h: New file, centralizing the gettext macro defs.
1139
1140         * agent.c (BLIND): New macro, that blinds out a secret if debug
1141         level is too low.
1142         (do_put): Use it.
1143         (do_get): Use it.
1144         Include i18n.h.
1145
1146         * agentlib.c: Include i18n.h
1147         
1148         * client.c (usage): New function.
1149         Usage-message made gettext-friendly.
1150         (xgetpass): Use perror() instead of fprintf().
1151         (main): Use it.
1152         Make comment an optional argument of PUT.
1153         Include i18n.h.
1154
1155 1999-07-26  Robert Bihlmeyer  <robbe@orcus.priv.at>
1156
1157         * Makefile.am (client_LDADD): Add lib/libutil.a for portability.
1158         (agent_LDADD): Ditto.
1159         (SUBDIRS): Add lib directory.
1160         (bin_SCRIPTS): New with cgpg, so it gets installed, too.
1161
1162         * configure.in: Add lib/Makefile to output.
1163
1164 1999-07-24  Robert Bihlmeyer  <robbe@orcus.priv.at>
1165
1166         * cgpg: New file.
1167         * Makefile.am (EXTRA_DIST): Added it.
1168
1169         * agent.c: Moved inclusion of config.h before inclusion of
1170         libintl.h since the latter needs HAVE_LC_MESSAGE.
1171         * client.c: Ditto.
1172         * clientlib.c: Ditto.
1173
1174         * client-test: Update for new client semantics.
1175
1176         * client.c (check_status): Use debugmsg(). Do nothing if not
1177         debugging.
1178         (xgetpass): New function, getpass replacement that uses mlock'ed
1179         memory.
1180         (main): PUT now asks for the secret rather then getting it from
1181         the commandline.
1182         GET prints only the secret to stdout.
1183
1184         * configure.in: Rearranged.
1185         Check for socklen_t.
1186         * acconfig.h: Added a definition for it.
1187
1188         * client.c: Include packaged getopt.h if the system doesn't provide 
1189         one. 
1190         * agent.c: Ditto.
1191         (create_socket): Replace AF_FILE, PF_FILE with AF_LOCAL, PF_LOCAL
1192         for portability.
1193         * agentlib.c (agent_init): Ditto.
1194         Explicitly cast addr to a sockaddr pointer.
1195
1196         * Makefile.am (client_LDADD): Added @INTLLIBS@.
1197         (agent_LDADD): Ditto.
1198
1199 1999-07-19  Robert Bihlmeyer  <robbe@orcus.priv.at>
1200
1201         * configure.in: Check for getopt.h and getopt_long.
1202         * acconfig.h (HAVE_GETOPT_H): New define.
1203         * lib/getopt.c, lib/getopt1.c, lib/getopt.h: Added.
1204
1205 1999-07-18  Robert Bihlmeyer  <robbe@orcus.priv.at>
1206
1207         * 0.2 released.
1208
1209         * NEWS: Updated.
1210
1211         * Makefile.am (agent.o): Mentioning the source explicitly does not 
1212         work for srcdir!=builddir.
1213
1214         * client.c (main): Function arguments are not always evaluated in
1215         order, so drop the neat ++optind in favor of optind+1, optind+2,
1216         etc.
1217
1218         * configure.in: Upped version.
1219
1220 1999-06-28  Robert Bihlmeyer  <robbe@orcus.priv.at>
1221
1222         * util.h: Added multi-inclusion guard.
1223
1224         * agent.c Include "util.h".
1225         (main): Forgot to exit at end.
1226         (do_delete): Assume that value is a string and wipe it accordingly.
1227
1228         * configure.in (--enable-debug): New switch.
1229
1230         * agent.h (status_t): Added STATUS_COMM_ERR code.
1231         Added multi-inclusion guard.
1232
1233         * client.c (main): Abstracted out most functionality into a
1234         function library, namely:
1235         * agentlib.c: New file.
1236         * agentlib.h: New file.
1237         * Makefile.am (client_SOURCES): Added agentlib.c, agentlib.h.
1238
1239         * Makefile.am (INCLUDES): GLIB_CFLAGS moved again, this time to
1240         the agent.o target. 
1241
1242 1999-06-15  Robert Bihlmeyer  <robbe@orcus.priv.at>
1243
1244         * 0.1 released.
1245
1246         * Makefile.am (agent_CFLAGS): Removed - did not work.
1247         (INCLUDES): Moved the GLIB stuff here.
1248
1249 1999-06-14  Robert Bihlmeyer  <robbe@orcus.priv.at>
1250
1251         * configure.in (ALL_LINGUAS): Added `de'.
1252
1253         * agent.c (do_get): Added more debugmsgs.
1254         (do_put): Wouldn't allocate enough for `value'.
1255         (main): New option "--nofork" prevents forking.
1256         Use macros for the std filedescriptor numbers.
1257         Only close stderr if not debugging.
1258         (main): Make Usage string gettext-friendly.
1259
1260         * client-test (cleanup): New function.
1261         Call it on shell exit.
1262         (client): New function.
1263         Use it instead of calling client binary directly.
1264         diff client output with expected one in GET testcases.
1265
1266 1999-06-13  Robert Bihlmeyer  <robbe@orcus.priv.at>
1267
1268         * agent.c (failed_reply): New constant.
1269         (do_list): Use it.
1270         (do_put): The hash key was overwritten - strdup it.
1271         Construct a GET reply and save that in the hash.
1272         (do_get): Just send the preconstructed reply if the id is present, 
1273         and failed_reply otherwise.
1274         (do_delete): Actually free the hashed stuff.
1275
1276         * client.c: Exit with error if agent returned STATUS_FAIL.
1277
1278         * Makefile.am (EXTRA_DIST): Added autogen.sh, Thoughts,
1279         client-test.
1280         (TESTS): Added client-test.
1281         (AUTOMAKE_OPTIONS): Added gnits. 
1282