Merge lp:~logan/ubuntu/trusty/pinentry/0.8.3-1ubuntu1 into lp:ubuntu/trusty/pinentry

Proposed by Logan Rosen
Status: Merged
Merged at revision: 23
Proposed branch: lp:~logan/ubuntu/trusty/pinentry/0.8.3-1ubuntu1
Merge into: lp:ubuntu/trusty/pinentry
Diff against target: 31176 lines (+6881/-10790)
76 files modified
.pc/applied-patches (+0/-1)
.pc/kubuntu_fix_stayontop.diff/qt4/pinentrydialog.cpp (+0/-306)
ChangeLog (+80/-2156)
ChangeLog-old (+2175/-0)
Makefile.am (+35/-13)
Makefile.in (+230/-87)
Manifest (+0/-4)
NEWS (+19/-1)
README.GIT (+49/-0)
README.SVN (+0/-51)
VERSION (+1/-0)
aclocal.m4 (+414/-205)
assuan/ChangeLog (+0/-247)
assuan/ChangeLog-old (+254/-0)
assuan/Makefile.am (+3/-3)
assuan/Makefile.in (+87/-31)
assuan/Manifest (+0/-17)
autogen.sh (+13/-13)
build-aux/git-log-fix (+3/-0)
build-aux/git-log-footer (+14/-0)
build-aux/gitlog-to-changelog (+375/-0)
config.guess (+208/-207)
config.h.in (+6/-0)
config.sub (+164/-71)
configure (+1188/-799)
configure.ac (+46/-37)
curses/Makefile.in (+114/-42)
debian/changelog (+15/-0)
debian/control (+1/-1)
debian/rules (+1/-1)
debian/watch (+1/-1)
doc/HACKING (+23/-0)
doc/Makefile.am (+4/-2)
doc/Makefile.in (+180/-86)
doc/pinentry.info (+26/-15)
doc/pinentry.texi (+13/-0)
doc/stamp-vti (+4/-4)
doc/version.texi (+4/-4)
gtk+-2/Makefile.in (+114/-42)
gtk+-2/gtksecentry.c (+41/-25)
gtk+-2/pinentry-gtk-2.c (+29/-13)
gtk/Makefile.in (+114/-42)
m4/curses.m4 (+17/-3)
pinentry/Makefile.am (+3/-3)
pinentry/Makefile.in (+86/-30)
pinentry/Manifest (+0/-6)
pinentry/pinentry-curses.c (+172/-26)
pinentry/pinentry.c (+17/-1)
pinentry/pinentry.h (+3/-0)
qt/Makefile.in (+114/-42)
qt/secqinternal.cpp (+1/-1)
qt/secqinternal_p.h (+1/-1)
qt/secqlineedit.cpp (+1/-1)
qt/secqlineedit.h (+1/-1)
qt/secqstring.cpp (+1/-1)
qt/secqstring.h (+1/-1)
qt4/Makefile.am (+0/-48)
qt4/Makefile.in (+0/-530)
qt4/main.cpp (+0/-320)
qt4/pinentryconfirm.cpp (+42/-0)
qt4/pinentryconfirm.h (+41/-0)
qt4/pinentryconfirm.moc (+94/-0)
qt4/pinentrydialog.cpp (+0/-305)
qt4/pinentrydialog.h (+0/-97)
qt4/pinentrydialog.moc (+0/-112)
qt4/qsecurelineedit.cpp (+0/-3591)
qt4/qsecurelineedit.h (+0/-314)
qt4/qsecurelineedit.moc (+0/-229)
qt4/qsecurelineedit_p.h (+0/-256)
qt4/secstring.cpp (+0/-104)
qt4/secstring.h (+0/-40)
secmem/Makefile.in (+82/-26)
secmem/secmem++.h (+0/-91)
w32/Makefile.in (+114/-42)
w32/main.c (+36/-36)
w32/pinentry-w32.rc (+6/-5)
To merge this branch: bzr merge lp:~logan/ubuntu/trusty/pinentry/0.8.3-1ubuntu1
Reviewer Review Type Date Requested Status
Daniel Holbach (community) Approve
Review via email: mp+202981@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Daniel Holbach (dholbach) wrote :

Thanks. Uploaded.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== removed file '.pc/applied-patches'
--- .pc/applied-patches 2011-07-30 22:32:23 +0000
+++ .pc/applied-patches 1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
1kubuntu_fix_stayontop.diff
20
=== removed directory '.pc/kubuntu_fix_stayontop.diff'
=== removed directory '.pc/kubuntu_fix_stayontop.diff/qt4'
=== removed file '.pc/kubuntu_fix_stayontop.diff/qt4/pinentrydialog.cpp'
--- .pc/kubuntu_fix_stayontop.diff/qt4/pinentrydialog.cpp 2011-07-30 22:32:23 +0000
+++ .pc/kubuntu_fix_stayontop.diff/qt4/pinentrydialog.cpp 1970-01-01 00:00:00 +0000
@@ -1,306 +0,0 @@
1/*
2 pinentrydialog.cpp - A (not yet) secure Qt 4 dialog for PIN entry.
3
4 Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB)
5 Copyright 2007 Ingo Klöcker
6
7 Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>.
8
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 2 of the
12 License, or (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22*/
23
24#include "pinentrydialog.h"
25#include <QGridLayout>
26
27#include "qsecurelineedit.h"
28
29#include <QProgressBar>
30#include <QApplication>
31#include <QStyle>
32#include <QPainter>
33#include <QPushButton>
34#include <QDialogButtonBox>
35#include <QKeyEvent>
36#include <QLabel>
37#include <QPalette>
38
39#ifdef Q_WS_WIN
40#include <windows.h>
41#endif
42
43/* I [wk] have no idea for what this code was supposed to do.
44 Foregrounding a window is heavily restricted by modern Windows
45 versions. This is the reason why gpg-agent employs its
46 AllowSetForegroundWindow callback machinery to ask the supposed to
47 be be calling process to allow a pinentry to go into the
48 foreground. */
49// #ifdef Q_WS_WIN
50// void SetForegroundWindowEx( HWND hWnd )
51// {
52// //Attach foreground window thread to our thread
53// const DWORD ForeGroundID = GetWindowThreadProcessId(::GetForegroundWindow(),NULL);
54// const DWORD CurrentID = GetCurrentThreadId();
55
56// AttachThreadInput ( ForeGroundID, CurrentID, TRUE );
57// //Do our stuff here
58// HWND hLastActivePopupWnd = GetLastActivePopup( hWnd );
59// SetForegroundWindow( hLastActivePopupWnd );
60
61// //Detach the attached thread
62// AttachThreadInput ( ForeGroundID, CurrentID, FALSE );
63// }// End SetForegroundWindowEx
64// #endif
65
66void raiseWindow( QWidget* w )
67{
68#ifdef Q_WS_WIN
69 SetForegroundWindow( w->winId() );
70#endif
71 w->raise();
72 w->activateWindow();
73}
74
75QPixmap icon( QStyle::StandardPixmap which )
76{
77 QPixmap pm = qApp->windowIcon().pixmap( 48, 48 );
78
79 if ( which != QStyle::SP_CustomBase ) {
80 const QIcon ic = qApp->style()->standardIcon( which );
81 QPainter painter( &pm );
82 const int emblemSize = 22;
83 painter.drawPixmap( pm.width()-emblemSize, 0,
84 ic.pixmap( emblemSize, emblemSize ) );
85 }
86
87 return pm;
88}
89
90PinEntryDialog::PinEntryDialog( QWidget* parent, const char* name, bool modal,
91 bool enable_quality_bar )
92 : QDialog( parent, Qt::WindowStaysOnTopHint ), _grabbed( false )
93{
94 setWindowFlags( windowFlags() & ~Qt::WindowContextHelpButtonHint );
95
96 if ( modal ) {
97 setWindowModality( Qt::ApplicationModal );
98 }
99
100 _icon = new QLabel( this );
101 _icon->setPixmap( icon() );
102
103 _error = new QLabel( this );
104 _error->setWordWrap(true);
105 QPalette pal;
106 pal.setColor( QPalette::WindowText, Qt::red );
107 _error->setPalette( pal );
108 _error->hide();
109
110 _desc = new QLabel( this );
111 _desc->setWordWrap(true);
112 _desc->hide();
113
114 _prompt = new QLabel( this );
115 _prompt->hide();
116
117 _edit = new QSecureLineEdit( this );
118 _edit->setMaxLength( 256 );
119
120 _prompt->setBuddy( _edit );
121
122 if (enable_quality_bar)
123 {
124 _quality_bar_label = new QLabel( this );
125 _quality_bar_label->setAlignment( Qt::AlignRight | Qt::AlignVCenter );
126 _quality_bar = new QProgressBar( this );
127 _quality_bar->setAlignment( Qt::AlignCenter );
128 _have_quality_bar = true;
129 }
130 else
131 _have_quality_bar = false;
132
133 QDialogButtonBox* const buttons = new QDialogButtonBox( this );
134 buttons->setStandardButtons( QDialogButtonBox::Ok | QDialogButtonBox::Cancel );
135 _ok = buttons->button( QDialogButtonBox::Ok );
136 _cancel = buttons->button( QDialogButtonBox::Cancel );
137
138 _ok->setDefault(true);
139
140 if ( style()->styleHint( QStyle::SH_DialogButtonBox_ButtonsHaveIcons ) )
141 {
142 _ok->setIcon( style()->standardIcon( QStyle::SP_DialogOkButton ) );
143 _cancel->setIcon( style()->standardIcon( QStyle::SP_DialogCancelButton ) );
144 }
145
146 connect( buttons, SIGNAL(accepted()), this, SLOT(accept()) );
147 connect( buttons, SIGNAL(rejected()), this, SLOT(reject()) );
148 connect( _edit, SIGNAL( textChanged(secqstring) ),
149 this, SLOT( updateQuality(secqstring) ) );
150
151 _edit->setFocus();
152
153 QGridLayout* const grid = new QGridLayout( this );
154 grid->addWidget( _icon, 0, 0, 5, 1, Qt::AlignTop|Qt::AlignLeft );
155 grid->addWidget( _error, 1, 1, 1, 2 );
156 grid->addWidget( _desc, 2, 1, 1, 2 );
157 //grid->addItem( new QSpacerItem( 0, _edit->height() / 10, QSizePolicy::Minimum, QSizePolicy::Fixed ), 1, 1 );
158 grid->addWidget( _prompt, 3, 1 );
159 grid->addWidget( _edit, 3, 2 );
160 if( enable_quality_bar )
161 {
162 grid->addWidget( _quality_bar_label, 4, 1 );
163 grid->addWidget( _quality_bar, 4, 2 );
164 }
165 grid->addWidget( buttons, 5, 0, 1, 3 );
166
167 grid->setSizeConstraint( QLayout::SetFixedSize );
168}
169
170void PinEntryDialog::hideEvent( QHideEvent* ev )
171{
172 if ( !_pinentry_info || _pinentry_info->grab )
173 _edit->releaseKeyboard();
174 _grabbed = false;
175 QDialog::hideEvent( ev );
176}
177
178void PinEntryDialog::showEvent( QShowEvent* event )
179{
180 QDialog::showEvent( event );
181 raiseWindow( this );
182}
183
184void PinEntryDialog::setDescription( const QString& txt )
185{
186 _desc->setVisible( !txt.isEmpty() );
187 _desc->setText( txt );
188 _icon->setPixmap( icon() );
189 setError( QString::null );
190}
191
192QString PinEntryDialog::description() const
193{
194 return _desc->text();
195}
196
197void PinEntryDialog::setError( const QString& txt )
198{
199 if( !txt.isNull() )_icon->setPixmap( icon( QStyle::SP_MessageBoxCritical ) );
200 _error->setText( txt );
201 _error->setVisible( !txt.isEmpty() );
202}
203
204QString PinEntryDialog::error() const
205{
206 return _error->text();
207}
208
209void PinEntryDialog::setPin( const secqstring & txt )
210{
211 _edit->setText( txt );
212}
213
214secqstring PinEntryDialog::pin() const
215{
216 return _edit->text();
217}
218
219void PinEntryDialog::setPrompt( const QString& txt )
220{
221 _prompt->setText( txt );
222 _prompt->setVisible( !txt.isEmpty() );
223}
224
225QString PinEntryDialog::prompt() const
226{
227 return _prompt->text();
228}
229
230void PinEntryDialog::setOkText( const QString& txt )
231{
232 _ok->setText( txt );
233 _ok->setVisible( !txt.isEmpty() );
234}
235
236void PinEntryDialog::setCancelText( const QString& txt )
237{
238 _cancel->setText( txt );
239 _cancel->setVisible( !txt.isEmpty() );
240}
241
242void PinEntryDialog::setQualityBar( const QString& txt )
243{
244 if (_have_quality_bar)
245 _quality_bar_label->setText( txt );
246}
247
248void PinEntryDialog::setQualityBarTT( const QString& txt )
249{
250 if (_have_quality_bar)
251 _quality_bar->setToolTip( txt );
252}
253
254void PinEntryDialog::updateQuality(const secqstring & txt )
255{
256 int length;
257 int percent;
258 QPalette pal;
259
260 if (!_have_quality_bar || !_pinentry_info)
261 return;
262 secstring pinStr = toUtf8(txt);
263 const char* pin = pinStr.c_str();
264 // The Qt3 version called ::secmem_free (pin) here, but from other usage of secstring,
265 // it seems like this is not needed anymore - 16 Mar. 2009 13:15 -- Jesper K. Pedersen
266 length = strlen (pin);
267 percent = length? pinentry_inq_quality (_pinentry_info, pin, length) : 0;
268 if (!length)
269 {
270 _quality_bar->reset ();
271 }
272 else
273 {
274 pal = _quality_bar->palette ();
275 if (percent < 0)
276 {
277 pal.setColor (QPalette::Highlight, QColor("red"));
278 percent = -percent;
279 }
280 else
281 {
282 pal.setColor (QPalette::Highlight, QColor("green"));
283 }
284 _quality_bar->setPalette (pal);
285 _quality_bar->setValue (percent);
286 }
287}
288
289void PinEntryDialog::setPinentryInfo(pinentry_t peinfo)
290{
291 _pinentry_info = peinfo;
292}
293
294void PinEntryDialog::paintEvent( QPaintEvent* event )
295{
296 // Grab keyboard. It might be a little weird to do it here, but it works!
297 // Previously this code was in showEvent, but that did not work in Qt4.
298 QDialog::paintEvent( event );
299 if ( !_grabbed && ( !_pinentry_info || _pinentry_info->grab ) ) {
300 _edit->grabKeyboard();
301 _grabbed = true;
302 }
303
304}
305
306#include "pinentrydialog.moc"
3070
=== modified file 'ChangeLog'
--- ChangeLog 2011-02-16 20:18:53 +0000
+++ ChangeLog 2014-01-24 03:16:14 +0000
@@ -1,2156 +1,80 @@
12010-12-16 Werner Koch <wk@g10code.com>12013-04-26 Werner Koch <wk@gnupg.org>
22
3 Release 0.8.1.3 Release 0.8.3.
44
5 * doc/pinentry.texi: Remove the custom font setting for underscores.52013-04-26 Andre Heinecke <aheinecke@intevation.de>
66
7 Update to automake 1.10.7 Switch to i686-w64-mingw32 as default Windows toolchain.
88 * autogen.sh <build-w32>: Insert i686-w64-mingw32.
9 * missing, config.guess, config.sub: Update from GnuPG.9 * configure.ac: Pretty print final info.
1010
11 * w32/main.c (debugfp): Define to stderr.11 Fix declaration of lock_set_foreground_window for pinnetry-w32.
12 (raise_sip) [!W32CE]: Make it a dummy function.12 * w32/main.c (lock_set_foreground_window): Remove WINUSERAPI
1313 qualifier.
14 * qt4/pinentrydialog.cpp (raiseWindow): Use SetForegroundWindow14
15 API directly.15 Fix ressource compilation of pinentry-w32.
16 (SetForegroundWindowEx): Comment out.16 * w32/pinentry-w32.rc: Include windows.h
1717
182010-10-19 Werner Koch <wk@g10code.com>182013-02-16 Ben Kibbey <bjk@luxsci.net>
1919
20 * pinentry/pinentry.c (pinentry_have_display): Also detect20 Curses build fix for DOS'ish systems.
21 --display=DISPID.21
22222013-02-14 Ben Kibbey <bjk@luxsci.net>
232010-10-12 Werner Koch <wk@g10code.com>23
2424 Document the --timeout and SETTIMEOUT feature.
25 * qt/main.cpp (escape_accel): New. Adapt from from qt4/.25
26 (qt_cmd_handler): Implement default-ok and default-cancel. Escape26 Add timeout support to the Gtk+2 pinentry.
27 accelerators.27 * gtk+-2/pinentry-gtk-2.c (create_window): Add timer.
2828 (timeout_cb): New.
292010-09-30 Werner Koch <wk@g10code.com>29
3030 Add timeout support to the curses pinentry.
31 * pinentry/pinentry.h (struct pinentry): Add CLOSE_BUTTON.31 * pinentry/pinentry-curses.c (dialog_run): Set the window input to
32 * pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message): Send32 non-blocking.
33 BUTTON_INFO.33 (catchsig): New.
34 * gtk+-2/pinentry-gtk-2.c (delete_event): Set close_button.34 (main): Catch SIGALRM and set the timeout.
3535
362010-09-22 Werner Koch <wk@g10code.com>362013-01-06 Ben Kibbey <bjk@luxsci.net>
3737
38 * gtk+-2/pinentry-gtk-2.c (create_window): Make use of38 Fix initializing the timeout timer.
39 default_cancel and default_ok.39 When timeout == 0 a segfault would occur.
4040
412010-08-19 Werner Koch <wk@g10code.com>412012-08-08 Werner Koch <wk@gnupg.org>
4242
43 * gtk+-2/Makefile.am (pinentry_gtk_2_SOURCES): Add gseal-gtk-compat.h.43 Release 0.8.2.
4444
45 * configure.ac (AH_TOP, AH_BOTTOM): New. Define45 Distribute only bzip2 tarballs.
46 GPG_ERR_ENABLE_ERRNO_MACROS.46 * Makefile.am (AUTOMAKE_OPTIONS): New.
4747
482010-06-08 Marc Mutz <marc.mutz@kdab.com> (wk)48 qt4: Update all moc files to Qt version 4.8.2.
4949
50 * qt4/pinentrydialog.cpp (PinEntryDialog): Add WindowStaysOnTopHint.50 Update config.guess and config.sub.
5151 * config.guess, config.sub: Update to version 2012-07-31 from gnulib.
52 * qt/pinentrydialog.cpp (PinEntryDialog): Add WStyle_StaysOnTop.52
5353 Change build system to auto-generate the ChangeLog.
542010-05-12 Guido Günther <agx@sigxcpu.org> (wk)54 * build-aux/gitlog-to-changelog: New script. Taken from GnuPG.
5555 * build-aux/git-log-fix: New file.
56 * gtk+-2/gtksecentry.c: Make -DSEAL safe.56 * build-aux/git-log-footer: New file.
57 * gtk+-2/gseal-gtk-compat.h: New.57 * doc/HACKING: Describe the ChangeLog policy
58 * gtk+-2/gtksecentry.h: Include new header.58 * ChangeLog: New file.
5959 * Makefile.am (EXTRA_DIST): Add new files.
602010-05-07 Werner Koch <wk@g10code.com>60 (gen-ChangeLog): New.
6161 (dist-hook): Run gen-ChangeLog.
62 * gtk+-2/pinentry-gtk-2.c (create_window): Keep the window above62
63 and make sure it has the focus. Fixes bug#1162.63 Rename existing ChangeLog files to ChangeLog-old.
6464
652010-05-03 Werner Koch <wk@g10code.com>65 Switch to an automagic beta numbering scheme.
6666 * configure.ac: Add all the required m4 magic.
67 * gtk+-2/pinentry-gtk-2.c (create_window): Use67
68 visibility-notify-event instead of map-event. Suggested by Ed682012-08-08 Werner Koch <wk@gnupg.org>
69 Marten.69
7070 NB: Changes done before August 8, 2012 are described in per
712010-04-26 Werner Koch <wk@g10code.com>71 directory files named ChangeLog-old. See doc/HACKING for
7272 details.
73 * gtk+-2/pinentry-gtk-2.c (grab_failed): New.73
74 (grab_keyboard): s/g_error/g_critical/. Set GRAB_FAILED.74 -----
75 (gtk_cmd_handler): Return Cancel if a grab failed.75 Copyright (C) 2002, 2003, 2010, 2012 g10 Code GmbH
7676
772010-04-20 Marcus Brinkmann <marcus@g10code.de>77 Copying and distribution of this file and/or the original GIT
7878 commit log messages, with or without modification, are
79 * pinentry/pinentry.c: Move include config.h to top!79 permitted provided the copyright notice and this notice are
8080 preserved.
812010-04-19 Werner Koch <wk@g10code.com>
82
83 * gtk+-2/gtksecentry.c (gtk_secure_entry_delete_cb)
84 (gtk_secure_entry_toggle_overwrite, activate_cb)
85 (unichar_chosen_func): Comment out these unused functions.
86 (secentry_malloc): Fix format string error.
87
882010-04-19 Stanislav Ochotnicky <sochotnicky@redhat.com> (wk)
89
90 * gtk+-2/pinentry-gtk-2.c (ungrab_keyboard): Fix segv when using
91 option -g.
92
932010-04-16 Marcus Brinkmann <marcus@g10code.de>
94
95 * secmem/util.c: Fix inverted test.
96
972010-04-12 Werner Koch <wk@g10code.com>
98
99 * w32/main.c (dlg_proc): Act on VK_RETURN.
100
101 * w32/pinentry-w32.rc: Include config.h. Add basic support for
102 small screens as used with WindowsCE.
103
104 * w32/Makefile.am (pinentry-w32.o): Add -I.. to the command.
105
1062010-04-08 Werner Koch <wk@g10code.com>
107
108 * pinentry/pinentry.c [W32CE]: Do not include errno.h and
109 locale.h.
110 (pinentry_have_display) [W32CE]: Do not use getenv.
111 (pinentry_parse_opts) [W32CE]: No error diagnostics due to missing
112 errno.
113 (sleep) [W32CE]: New.
114 (option_handler) [W32CE]: Ignore option --debug-wait.
115 (getpid) [W32CE]: New.
116 (pinentry_loop): Use STDIN_FILENO and STDOUT_FILENO.
117 (pinentry_loop): Factor code out to ...
118 (pinentry_loop2): New.
119 * w32/main.c (w32_strerror) [W32CE]: Do not use FormatMessage.
120 (main) [W32CE]: Do not use LockSetForegroundWindow.
121 (set_dlg_item_text): Use wchar_t for static string.
122 * secmem/util.c [W32CE]: Do not include errno.h.
123 (xwrite) [W32CE]: Shortcut EINTR loop.
124
1252010-04-07 Werner Koch <wk@g10code.com>
126
127 * autogen.sh: Modernized.
128
1292010-03-03 Werner Koch <wk@g10code.com>
130
131 Release 0.8.0.
132
1332010-03-02 Werner Koch <wk@g10code.com>
134
135 * qt4/main.cpp (from_utf8): Add extra braces for clarity.
136 (main): Copy the fixed --display string.
137
1382010-02-25 Marc Mutz <marc@kdab.com> (wk)
139
140 * qt4/main.cpp (from_utf8): don't throw InvalidUtf8(); for now,
141 fall back to QString::fromLocal8Bit()
142
1432010-02-22 Marc Mutz <marc@kdab.com> (wk)
144
145 * qt4/main.cpp (InvalidUtf8): New exception class.
146 (from_utf8): wrapper around QString::fromUtf8 throwing
147 InvalidUtf8.
148 (qt_cmd_handler): Use from_utf8 instead of QString::fromUtf8.
149 (qt_cmd_handler_ex): New wrapper around qt_cmd_handler.
150 (pinentry_cmd_handler): Use qt_cmd_handler_ex.
151
152 * qt4/main.cpp (qt_cmd_handler): Also handle accels in
153 SET{OK,NOTOK,CANCEL} string.
154
1552010-02-19 Marc Mutz <marc@kdab.com> (wk)
156
157 * qt4/main.cpp (qt_cmd_handler), qt4/pinentrydialog.cpp
158 (PinentryDialog::PinEntryDialog): Use the button icons that come
159 with Qt.
160
161 * qt4/pinentry_qrc, qt4/qrc_pinentry.cpp: New.
162 * qt4/gtk-cancel.png, qt4/gtk-ok.png: Removed.
163 * qt4/Makefile.am (EXTRA_DIST): Remove the GTK icons, add
164 pinentry.qrc.
165 (pinentry_qt4_SOURCES): add qrc_pinentry.cpp.
166
167 * qt4/main.cpp (qt_cmd_handler): Remove i18n support again.
168
169 * qt4/pinentrydialog.cpp (PinentryDialog::PinentryDialog):
170 set PIN entry field as buddy of its prompt
171
172 * qt4/main.cpp (escape_accel): New.
173 (qt_cmd_handler): use it on default_cancel, default_ok, prompt.
174
175 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp
176 (PinEntryDialog::PinEntryDialog): don't use a nested vbox layout.
177
178 * qt4/pinentrydialog.h: replace include file with forward decl.
179 * qt4/pinentrydialog.cpp: add include file here.
180
181 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp
182 (PinentryDialog::keyPressEvent()): Removed.
183
184 * qt/4pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): use
185 QLayout::SetFixedSize instead of rolling our own solution.
186 * qt4/pinentrydialog.h: (PinentryDialog::setFixedSize): Removed.
187 * qt4/pinentrydialog.moc: Re-created.
188
189 * qt4/main.cpp: (qt_cmd_handler) make Cancel the default button
190 for CONFIRM
191
192 * qt4/main.cpp: (qt_cmd_handler) implement the confirm/message
193 logic correctly
194
195 * qt4/pinentrydialog.h (accepted, rejected): Removed; already
196 provided by base class.
197 * qt4/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Use
198 QDialog::{accepted,rejected}.
199 * qt4/pinentrydialog.moc: Re-created.
200
201 * qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: Make compatible
202 with newer Qt version.
203
2042010-02-19 Werner Koch <wk@g10code.com>
205
206 * gtk+-2/pinentry-gtk-2.c (create_window): Allow mnemonics in
207 button labels.
208
209 * pinentry/pinentry.h (struct pinentry): Add default_prompt.
210 * pinentry/pinentry.c (option_handler): Support "default-prompt".
211 (cmd_getpin): Use it.
212 (noprefix_strdup): Remove; should be done by caller.
213
2142010-02-17 Werner Koch <wk@g10code.com>
215
216 * pinentry/pinentry.h (struct pinentry): Add default_ok and
217 default_cancel.
218 * pinentry/pinentry.c (noprefix_strdup): New.
219 (option_handler): Support "default-ok" and "default-cancel".
220 (strcpy_escaped): Change second arg from unsigend char to char.
221
2222010-02-16 Werner Koch <wk@g10code.com>
223
224 * qt4/document-encrypt.png, qt4/gtk-cancel.png, qt4/gtk-ok.png: New.
225 * qt4/Makefile.am (EXTRA_DIST): Add them.
226
2272010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
228
229 Also attributed to Marc Mutz <marc@kdab.com>.
230
231 * qt4/main.cpp, qt/pinentrydialog.cpp: If the style says so,
232 set (GTK) icons on OK and Cancel buttons.
233
2342010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
235
236 * qt4/main.cpp: Use an explicit QMessageBox instead of the
237 'information' convenience method. We do this for two reasons:
238 1. So we can set our own icon (icon()). 2. So we can call our
239 raiseWindow() function on it.
240
2412010-02-15 Christoph Schleifenbaum <christoph@kdab.com>
242
243 * qt4/main.cpp: Use title. Use Qt translation of "OK" and "Cancel"
244
245 * qt4/pinentrydialog.cpp: Don't show the question-mark icon in the
246 window title.
247
2482010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
249
250 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp: Use the
251 document-encrypt icon instead of the
252 QMessageBox::{Information,Critical} ones.
253
2542010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
255
256 Also attributed to Marc Mutz <marc@kdab.com>.
257
258 * qt4/pinentrydialog.cpp: Properly show/hide optional widgets.
259
2602010-02-15 Christoph Schleifenbaum <christoph@kdab.com>
261
262 * qt4/pinentrydialog.cpp: Set text color or error label to red.
263
2642010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
265
266 Also attributed to Marc Mutz <marc@kdab.com>.
267
268 * qt4/pinentrydialog.cpp: Gather scattered layouting code, use a
269 single gridlayout for all, and use QDialogButtonBox.
270
2712010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
272
273 * qt4/pinentrydialog.cpp: Call SetForegroundWindow on showEvent()
274 and set a fixed size on the dialog.
275
276 * qt4/main.cpp: Set document-encrypt as the window icon.
277
2782010-02-15 Marc Mutz <marc@kdab.com> (wk)
279
280 * qt4/main.cpp: Load the correct Qt translation file based on
281 either lc_messages or the current locale.
282
283 * qt4/main.cpp: Use pinentry_t->parent_wid also for message-box
284 case.
285
286 * qt4/main.cpp: Properly delete the QApplication.
287
2882010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
289
290 * qt4/main.cpp: Remove guard clause with impossible condition.
291
292 * qt4/main.cpp: Respect pinentry_t->title.
293
294 * qt4/main.cpp: Include config.h.
295
2962009-12-16 Marcus Brinkmann <marcus@g10code.de>
297
298 * gtk+-2/gtksecentry.c: Don't translate properties.
299 Patch by Guido Guenther <agx@sigxcpu.org>.
300
3012009-12-02 Werner Koch <wk@g10code.com>
302
303 * secmem/util.c: Re-indent function names.
304 (TEMP_FAILURE_RETRY): Remove because it is non-portable.
305 (xwrite): Open code the EINTR retry.
306 * pinentry/pinentry-curses.c (dialog_run): Replace '\e' by a
307 standard escape. Reported by Wyllys Ingersoll.
308
3092009-08-10 Marcus Brinkmann <marcus@g10code.de>
310
311 * pinentry/pinentry.c [!ENABLE_ENHANCED]: Remove option enhanced.
312 * pinentry/pinentry.h (struct pinentry) [!ENABLE_ENHANCED]: Remove
313 member enhanced.
314 * gtk+-2/pinentry-gtk-2.c: New macro.
315 (button_clicked, create_window) [!ENABLE_ENHANCED]: Disable code.
316 * gtk/pinentry-gtk.c (button_clicked, create_window): Likewise.
317 * doc/pinentry.texi (Using pinentry): Comment out enhanced option.
318
3192009-07-10 Till Adam <till@kdab.com>
320
321 * qt4/pinentrydialog.cpp (PinEntryDialog): Redesign the dialog to
322 be prettier.
323
3242009-06-19 Marcus Brinkmann <marcus@g10code.de>
325
326 * configure.ac: Post-release changes.
327
328 Release version 0.7.6.
329
330 * configure.ac: Bump version.
331
3322009-01-29 Bernhard Reiter <bernhard@intevation.de>
333
334 * doc/pinentry.texi (Using pinentry): Fix typo.
335
3362009-04-24 Guido Guenther <agx@sigxcpu.org>
337
338 * gtk+-2/gtksecentry.c (gtk_secure_entry_class_init): Don't
339 install "gtk-entry-select-on-focus" settings property since it
340 clashes with the one from GtkEntry.
341 (gtk_secure_entry_grab_focus): Create a temporary GtkEntry widget
342 to read that value instead. Allows to have GtkEntry and
343 GtkSecureEntry in the same process.
344
3452009-06-19 Marcus Brinkmann <marcus@g10code.de>
346
347 Suggested by Simon McVittie:
348 * gtk+-2/gtksecentry.c (g_malloc, g_realloc, g_free): Renamed to
349 secentry_malloc, secentry_realloc.
350 (g_malloc0): Removed.
351 (GMALLOC_SIZE): Move to ...
352 * gtk+-2/gtksecentry.h (GMALLOC_SIZE): ... here.
353 (secentry_malloc, secentry_realloc, secentry_free): New prototypes.
354 * gtk+-2/pinentry-gtk-2.c (main): Set memory allocation vtable.
355
3562009-05-04 Till Adam <till@kdab.net>
357
358 * qt4/main.cpp (qt_cmd_handler): Use WId instead of HWND.
359
3602009-04-14 Marcus Brinkmann <marcus@g10code.de>
361
362 * pinentry/pinentry.h (struct pinentry): New member NOTOK.
363 Rename member USER_CLOSED to CANCELED.
364 * pinentry/pinentry.c: Add initializer for NOTOK.
365 (register_commands): Add SETNOTOK.
366 * pinentry/pinentry-curses.c (STRING_NOTOK): New macro.
367 (dialog_pos_t): New value DIALOG_POS_NOTOK.
368 (struct dialog): New members notok, notok_x, notok_y.
369 (dialog_create): Implement NOTOK.
370 (dialog_switch_pos): Likewise.
371 (dialog_run): Likewise.
372 * gtk+-2/pinentry-gtk-2.c: Rename confirm_yes to confirm_value.
373 (confirm_value_t): New type. Use it for confirm_value.
374 (window_closed): Remove.
375 (confirm_button_clicked): Set confirm_value.
376 (create_window): Implement NOTOK.
377 (gtk_cmd_handler): Implement cancel behaviour a bit differently.
378
3792009-04-09 Marcus Brinkmann <marcus@g10code.de>
380
381 * qt4/qsecurelineedit.h (QSecureLineEdit): Don't export.
382
3832009-04-06 Marcus Brinkmann <marcus@g10code.de>
384
385 * configure.ac: Portability fixes.
386
3872009-04-03 Marcus Brinkmann <marcus@g10code.de>
388
389 * qt4/Makefile.am (pinentry_qt4_SOURCES): Add qsecurelineedit_p.h.
390
391 * secmem/Makefile.am (libsecmem_a_SOURCES): Add secmem++.h.
392 * qt4/Makefile.am (pinentry_qt4_SOURCES): Add pinentrydialog.moc
393 and qsecurelineedit.
394
395 * configure.ac: Incorporate revision number in version string.
396
3972009-04-02 Till Adam <till@kdab.net>
398
399 * qt4/qsecurelineedit.moc, qt4/main.cpp, qt4/pinentrydialog.moc,
400 qt4/qsecurelineedit.cpp, qt4/pinentrydialog.cpp,
401 qt4/pinentrydialog.h: Implement quality bar and grabbing.
402
403 * qt4/pinentrydialog.cpp (PinEntryDialog): Enable word wrapping.
404
4052009-04-03 Marcus Brinkmann <marcus@g10code.de>
406
407 * qt4/main.cpp (qt_cmd_handler): Cast window handle ID.
408
4092009-03-19 Werner Koch <wk@g10code.com>
410
411 * pinentry/pinentry.h (struct pinentry): Add field user_closed.
412 * pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message):
413 Reset this field.
414 (cmd_confirm): Return cancel if the user closed the window.
415 * gtk+-2/pinentry-gtk-2.c (window_closed): New.
416 (gtk_cmd_handler, delete_event): Set it.
417
4182009-02-19 Marcus Brinkmann <marcus@g10code.de>
419
420 * secmem/secmem++.h: New file.
421 * qt4/Makefile.am, qt4/main.cpp, qt4/pinentrydialog.cpp,
422 qt4/pinentrydialog.h: Changes to use secure memory.
423 * qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: New files.
424 * qt4/qsecurelineedit.cpp, qt4/qsecurelineedit.h,
425 qt4/qsecurelineedit_p.h, qt4/secstring.h, qt4/secstring.cpp: New
426 files.
427 Submitted by Marc Mutz <marc@kdab.net>.
428
4292008-12-08 Werner Koch <wk@g10code.com>
430
431 * qt/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8.
432 * qt4/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8.
433
4342008-11-12 Ludovic Rousseau <ludovic.rousseau@gmail.com> (wk)
435
436 * pinentry/pinentry.h (struct pinentry): Add field TITLE.
437 * pinentry/pinentry.c (cmd_settitle): New.
438 (register_commands): Add command SETTITLE.
439 * gtk+-2/pinentry-gtk-2.c (create_window): Set the title.
440
4412008-10-17 Werner Koch <wk@g10code.com>
442
443 * secmem/memory.h: Add C++ extern declaration.
444
445 * secmem/secmem.c (secmem_get_max_size): New.
446
4472008-07-25 Marcus Brinkmann <marcus@ulysses.g10code.com>
448
449 * qt4/Makefile.am (DISTCLEANFILES): Rename to CLEANFILES.
450 (BUILD_SOURCES): New.
451
4522008-07-25 Marcus Brinkmann <marcus@g10code.de>
453
454 * configure.ac: Prefer pinentry gtk2 over gtk. Now also choose
455 qt4 (after qt and before w32 native).
456 * README: Document Qt.
457
4582008-07-24 Marcus Brinkmann <marcus@g10code.de>
459
460 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp, qt4/main.cpp,
461 qt4/Makefile.am: New files.
462 * configure.ac: Add check for Qt4.
463 (AC_CONFIG_FILES): Add qt4/Makefile.am.
464 * Makefile.am (pinentry_qt4): New variable.
465 (SUBDIRS): Add ${pinentry_qt4}.
466
4672008-07-23 Werner Koch <wk@g10code.com>
468
469 * secmem/secmem.c (secmem_init): Fix apostrophe in error
470 message. Reported by Petr Uzel.
471
4722008-05-05 Marcus Brinkmann <marcus@ulysses.g10code.com>
473
474 * gtk+-2/gtksecentry.c (GMALLOC_SIZE): New symbol.
475 (g_malloc, g_malloc0, g_realloc): Use GMALLOC_SIZE instead of
476 gulong for size attribute.
477
4782008-03-03 Marcus Brinkmann <marcus@g10code.de>
479
480 * gtk+-2/pinentry-gtk-2.c (create_window): Install realize callback.
481 (ungrab_keyboard): Unmake dialog transient.
482 (make_transient): New function.
483 Submitted by Joachim Breitner.
484
4852008-02-15 Werner Koch <wk@g10code.com>
486
487 Release 0.7.4.
488
4892008-02-14 Werner Koch <wk@g10code.com>
490
491 * configure.ac: Check for -Wno-pointer-sign.
492
493 * pinentry/pinentry.c (cmd_getinfo): New.
494 (register_commands): Register it.
495
4962008-01-02 Marcus Brinkmann <marcus@g10code.de>
497
498 * configure.ac: Use PKG_CONFIG instead of PKGCONFIG and
499 pkg-config. Use AC_PATH_PROG instead of AC_CHECK_PROG.
500
501 * Makefile.am (install-exec-local): Add exe extension to link.
502
5032007-11-29 Marcus Brinkmann <marcus@g10code.de>
504
505 Released 0.7.4.
506
5072007-11-19 Werner Koch <wk@g10code.com>
508
509 * doc/pinentry.texi (Protocol): Typo fixes by Bernhard Herzog.
510 Describe SETQUALITYBAR_TT.
511
5122007-11-19 Bernhard Herzog <bernhard.herzog@intevation.de> (wk)
513
514 * qt/pinentrydialog.cpp (PinEntryDialog): Fixed crash
515
5162007-11-19 Werner Koch <wk@g10code.com>
517
518 * gtk+-2/pinentry-gtk-2.c (create_window): Use again map-event and
519 unmap-event as this works on my setup far more reliable than
520 expose-event/no-expose-event.
521
522 * gtk+-2/gtksecentry.c (get_cursor_time): s/time/blinktime/ t
523 avoid shadowing warning.
524
525 * pinentry/pinentry.h (struct pinentry): Change QUALITY_BAR to a
526 char ptr.
527 (struct pinentry): Add QUALITY_BAR_TT.
528 * pinentry/pinentry.c (cmd_setqualitybar): Allow to set a label text.
529 (cmd_setqualitybar_tt): New.
530 * gtk+-2/pinentry-gtk-2.c (create_window): Take label and tooltip
531 from global.
532 * qt/pinentrydialog.h (setQualityBar, setQualityBarTT)
533 (_quality_bar_label): New.
534 * qt/pinentrydialog.cpp (setQualityBar, setQualityBarTT): New.
535 (PinEntryDialog): Remove setting of tooltip.
536
537 * qt/main.cpp (qt_cmd_handler): Propagate quality bar label and tootip.
538
5392007-11-19 Bernhard Herzog <bernhard.herzog@intevation.de> (wk)
540
541 * qt/pinentrydialog.cpp (PinEntryDialog): Move the quality bar
542 below the text entry and align them properly. Show a tooltip.
543 * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. Don't let it
544 change its height.
545 (QUALITYBAR_EMPTY_TEXT): New.
546
5472007-09-18 Werner Koch <wk@g10code.com>
548
549 * qt/secqlineedit.h (SecQLineEdit): New signal textModified.
550 * qt/secqlineedit.cpp (finishChange): Emit it.
551 * qt/pinentrydialog.cpp (setPinentryInfo): New.
552 (PinEntryDialog): Add arg ENABLE_QUALITY_BAR.
553 * qt/pinentrydialog.h (setPinentryInfo): New.
554 (PinEntryDialog): Add arg ENABLE_QUALITY_BAR.
555
556 * pinentry/pinentry.h (struct pinentry): Add member QUALITY_BAR
557 and CTX_ASSUAN.
558 * pinentry/pinentry.c (cmd_setqualitybar): New.
559 (copy_and_escape): New.
560 (pinentry_inq_quality): New.
561
5622007-07-09 Werner Koch <wk@g10code.com>
563
564 * doc/pinentry.texi: Fixed direntry syntax.
565
566 * configure.ac: Add --without-libcap. From the Gentoo patch archive.
567
568 * gtk+-2/pinentry-gtk-2.c (create_window): Use expose-event
569 instead of map-event. From Alon Bar-Lev.
570
5712007-07-06 Werner Koch <wk@g10code.com>
572
573 Released 0.7.3.
574
575 * config.sub, config.guess: Updated from current Savannah CVS.
576
5772007-06-27 Werner Koch <wk@g10code.com>
578
579 * w32/main.c: Revamped the SetFocus stuff. It is all not that easy.
580
5812007-06-26 Werner Koch <wk@g10code.com>
582
583 * w32/Makefile.am (pinentry_w32_LDFLAGS): Add -mconsole again.
584
585 * w32/main.c (dlg_proc): Set focus.
586 (resize_button): New. No code yet.
587 (dlg_proc): Call it for the buttons.
588 (w32_cmd_handler): Restore old foreground window.
589
5902007-06-20 Werner Koch <wk@g10code.com>
591
592 * w32/Makefile.am (pinentry_w32_LDFLAGS): Remove -mconsole.
593
594 * w32/main.c (wchar_to_utf8): New.
595 (ok_button_clicked): Use it.
596 (utf8_to_wchar): New.
597 (set_dlg_item_text): New.
598 (dlg_proc): Use new function so that we are able to correctly
599 display all prompts.
600 (main): Load LockSetForegroundWindow.
601 (dlg_proc): Call LockSetForegroundWindow via its fnc ptr.
602 (center_window): New. Taken from GPGol.
603 (dlg_proc): Call it.
604 (w32_cmd_handler): Revamped the confirm mode.
605
6062007-06-18 Werner Koch <wk@g10code.com>
607
608 * w32/main.c (dlg_proc): Call LockSetForegroundWindow.
609
610 * Makefile.am (signed-dist, %.sig): Remove.
611
612 * autogen.sh: Modernized.
613
6142007-05-10 Marcus Brinkmann <marcus@g10code.de>
615
616 * pinentry/pinentry.h (pinentry_color_t): New type.
617 (struct pinentry): New members COLOR_FG, COLOR_FG_BRIGHT,
618 COLOR_BG, COLOR_SO.
619 * pinentry/pinentry.c (pinentry_parse_opts): Support new option --colors.
620 (parse_color): New function.
621 * pinentry/pinentry-curses.c (USE_COLORS): New macro.
622 (pinentry_color): New static variable.
623 (dialog_create): Redo color management.
624
625 * pinentry/pinentry-curses.c (dialog_create): Re-add calculation
626 of cancel button position. Adjust calculation of OK button
627 position if it is the only one used.
628
6292007-04-13 Marcus Brinkmann <marcus@g10code.de>
630
631 * qt/secqlineedit.h (SecQLineEdit::contextMenuEvent,
632 SecQLineEdit::createPopupMenu): Remove prototype.
633 * qt/secqlineedit.cpp (SecQLineEdit::contextMenuEvent,
634 SecQLineEdit::createPopupMenu): Remove implementation.
635 Submitted by Tobias Koenig <tokoe@kde.org>.
636
6372007-02-14 Werner Koch <wk@g10code.com>
638
639 * pinentry/pinentry.h (struct pinentry): Add TOUCH_FILE.
640 * pinentry/pinentry.c (option_handler): New option "touch-file".
641 (pinentry_have_display): Ignore an empty DISPLAY.
642 * pinentry/pinentry-curses.c (do_touch_file): New.
643 (curses_cmd_handler): Call it.
644 * configure.ac: Check for utime.h.
645
6462007-01-24 Werner Koch <wk@g10code.com>
647
648 * pinentry/pinentry.c (cmd_message): New.
649 (cmd_confirm): New command option --one-button.
650 (cmd_getpin): Zeroise ONE_BUTTON.
651 * pinentry/pinentry.h (struct pinentry): Add field ONE_BUTTON.
652 * gtk/pinentry-gtk.c (create_window): Take care of new option.
653 * gtk+-2/pinentry-gtk-2.c (create_window): Ditto.
654 * pinentry/pinentry-curses.c (dialog_create): Ditto.
655 (dialog_create, dialog_switch_pos): Allow CANCEL to be optional.
656
6572006-07-29 Marcus Brinkmann <marcus@g10code.de>
658
659 * secmem/secmem.c (init_pool): Close FD after establishing the
660 mapping.
661
6622005-09-28 Marcus Brinkmann <marcus@g10code.de>
663
664 * configure.ac (PINENTRY_GTK): Error out if iconv is not found but
665 needed.
666
667 * config.rpath: New file from gettext. Needed by iconv.m4.
668
6692005-07-11 Marcus Brinkmann <marcus@g10code.de>
670
671 * pinentry/pinentry-curses.c (dialog_switch_pos): Set the cursor
672 state to invisible before moving around. Move the cursor to the
673 beginning of the dialog buttons for accessibility.
674
6752005-06-16 Marcus Brinkmann <marcus@g10code.de>
676
677 * pinentry/pinentry-curses.c (dialog_run): Only convert pin if a
678 pin actually exists.
679
6802005-01-27 Werner Koch <wk@g10code.com>
681
682 Released 0.7.2.
683
684 * gtk+-2/Makefile.am: Removed padlock-keyhole.xpm.
685
686 * configure.ac: Use AC_GNU_SOURCE instead of the custom define.
687 Prefer gtk2 pinentry over qt.
688
6892005-01-21 Marcus Brinkmann <marcus@g10code.de>
690
691 * doc/pinentry.texi: Fix spelling errors.
692 Submitted by Ville Skyttä.
693
6942004-12-23 Werner Koch <wk@g10code.com>
695
696 * w32/pinentry-w32.rc: Remove the default texts for description,
697 prompt and error. Make it system modal. Enlarge the description
698 field.
699
7002004-12-22 Timo Schulz <twoaday@g10code.com>
701
702 * w32/main.c: Remove all helper functions and use a callback
703 to set the dialog items directly.
704 (dlg_proc): Set 'result' to -1 to indicate cancel.
705 (ok_button_clicked): Adjusted. Set 'result' to the len of
706 the PIN to indicate success.
707
7082004-12-22 Werner Koch <wk@g10code.com>
709
710 * w32/main.c: Simplified.
711 * w32/dialog.h, w32/dialog.c, w32/controller.h, w32/controller.c:
712 Removed
713
714 * w32/resource.h, w32/pinentry-w32.rc, w32/main.c, w32/dialog.h
715 * w32/dialog.c, w32/controller.h, w32/controller.c
716 * w32/Makefile.am: New. Based on Timo's work.
717
718 Update to automake 1.9.
719
720 * autogen.sh (configure_ac): Add --build-w32 option.
721 * Makefile.am: Support for the W32 pinentry.
722 * configure.ac: Ditto. Reformatted some error messages.
723 Define the usual conditionals for W32.
724 Check for a couple of more usually required headers.
725
726 * pinentry/pinentry.h (sleep) [W32]: New.
727
728 * pinentry/pinentry.c: Include langinfo.h only if available.
729 (pinentry_loop) [DOSISH]: Don't do uid check.
730
731 * secmem/util.c [DOSISH]: Disable UID stuff.
732
7332004-09-27 Marcus Brinkmann <marcus@g10code.de>
734
735 * acinclude.m4 (IU_LIB_NCURSES, IU_LIB_CURSES, IU_LIB_TERMCAP):
736 Moved to m4/curses.m4.
737 (AM_ICONV): Moved to m4/iconv.m4.
738 (AM_PATH_GLIB): Moved to m4/glib.m4.
739 (QT_FIND_FILE, QT_PATH_MOC, QT_PATH_X, QT_PRINT_PROGRAM,
740 QT_CHECK_VERSION, QT_PATH_1_3, QT_PATH, QT_CHECK_COMPILER_FLAG,
741 QT_REMOVE_FORBIDDEN, QT_VALIDIFY_CXXFLAGS, QT_CHECK_COMPILERS,
742 QT_CHECK_RPATH, QT_CHECK_LIBPTHREAD, QT_CHECK_PTHREAD_OPTION,
743 QT_CHECK_THREADING): Move to m4/qt.m4.
744
7452004-09-21 Marcus Brinkmann <marcus@g10code.de>
746
747 * qt/Makefile.am (pinentry_qt_LDFLAGS): Add $(QT_RPATH).
748 Requested by Leo Savernik <l.savernik@aon.at>.
749
7502004-09-02 Marcus Brinkmann <marcus@g10code.de>
751
752 * gtk+-2/padlock-keyhole.xpm: File removed.
753 * gtk+-2/pinentry-gtk-2.c (create_window): Use stock icon.
754 * gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c: Fix copyright notice.
755
756 Submitted by Albrecht Dress albrecht.dress@arcor.de.
757
7582004-08-17 Marcus Brinkmann <marcus@g10code.de>
759
760 * configure.ac: Invoke AC_PROG_LN_S.
761 (PINENTRY_DEFAULT): New variable. Substitute it. Fail if no
762 default can be determined.
763 * Makefile.am (install-exec-local): Install pinentry default link.
764
765 * configure.ac: Check for Gtk+-2.
766 * gtk+-2: New directory with gtk+-2 pinentry.
767 * gtk+-2/Makefile.am, gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c,
768 gtk+-2/pinentry-gtk-2.c, gtk+-2/padlock-keyhole.xpm: New files.
769 * Makefile.am (pinentry_gtk_2): New variable.
770 (SUBDIRS): Add pinentry_gtk_2.
771
772 Submitted by Albrecht Dress albrecht.dress@arcor.de.
773
7742004-08-04 Werner Koch <wk@g10code.de>
775
776 * pinentry/pinentry.c (usage): Print help to stdout.
777
7782004-07-30 Moritz Schulte <moritz@g10code.com>
779
780 * qt/Makefile.am (ncurses_include): Removed
781 -I$(top_srcdir)/pinentry ...
782 (AM_CPPFLAGS): ... added: -I$(top_srcdir)/pinentry. Thanks to
783 Peter Eisentraut.
784
785 * pinentry/pinentry.c (pinentry_utf8_to_local): Declare INPUT
786 const.
787 (pinentry_local_to_utf8): Likewise.
788 (pinentry_utf8_to_local, pinentry_local_to_utf8): Compile only, if
789 either Curses or GTK+ support is enabled.
790 * configure.ac: Do also check for libiconv when the GTK+ version
791 of pinentry is to be build. Define PINENTRY_CURSES, PINENTRY_GTK,
792 PINENTRY_QT depending on which versions of pinentry should be
793 build.
794
7952004-05-21 Marcus Brinkmann <marcus@g10code.de>
796
797 * acinclude.m4 (QT_CHECK_DIRECT): Removed.
798 (QT_PATH_1_3): Do never invoke QT_CHECK_DIRECT.
799
8002004-04-21 Werner Koch <wk@gnupg.org>
801
802 Released 0.7.1.
803
8042004-04-20 Werner Koch <wk@gnupg.org>
805
806 * secmem/secmem.c [!ORIGINAL_GPG_VERSION]: Include util.h for some
807 typedefs and protos.
808 (secmem_free, secmem_term): Use wipememory2 instead of memset.
809
810 * autogen.sh (configure_ac): Fixed version check (s/==/=/).
811
8122004-04-02 Thomas Schwinge <schwinge@nic-nac-project.de>
813
814 * autogen.sh: Added ACLOCAL_FLAGS.
815
8162004-02-23 Marcus Brinkmann <marcus@g10code.de>
817
818 * qt/main.cpp: Include "pinentry.h", not <pinentry.h>.
819
8202004-01-30 Werner Koch <wk@gnupg.org>
821
822 * configure.ac (fopencookie): Remove that test.
823
8242004-01-28 Moritz Schulte <mo@g10code.com>
825
826 * gtk/gtksecentry.c:
827 (gtk_secure_entry_key_press): Treat GDK_KP_Enter just like
828 GDK_Return.
829
8302004-01-18 Marcus Brinkmann <marcus@g10code.de>
831
832 * qt/secqstring.cpp: Do not include "private/qunicodetables_p.h".
833 (isRightToLeft): De-optimize direction query.
834
835 * qt/secqinternal_p.h, qt/secqinternal.cpp: New files.
836 * qt/Makefile.am (pinentry_qt_SOURCES): Add secqinternal_p.h
837 and secqinternal.cpp.
838 (EXTRA_DIST): Add README.SecQ.
839 * qt/secqlineedit.cpp: Include "secqinternal_p.h".
840 (drawContents): Use SecQSharedDoubleBuffer.
841
8422004-01-02 Werner Koch <wk@gnupg.org>
843
844 * configure.ac: Early check for a c++ compiler.
845
8462003-12-23 Werner Koch <wk@gnupg.org>
847
848 Released 0.7.0.
849
850 Added Manifest files to all directories.
851
8522003-12-22 Werner Koch <wk@gnupg.org>
853
854 * qt/main.cpp: Include errno.h.
855 (main): Translate the --display option to -display, so that the Qt
856 init code can grasp it.
857
858 * doc/ChangeLog: Removed and merged with this file.
859 * doc/pinentry.texi: Cleaned up.
860 * doc/fdl.texi: Removed.
861
862 * pinentry/pinentry.h (struct pinentry): Added LOCALE_ERR.
863 * gtk/pinentry-gtk.c (button_clicked): Set the LOCAE_ERR flag.
864 * pinentry/pinentry-curses.c (dialog_run): Ditto.
865 * pinentry/pinentry.c (cmd_getpin, cmd_confirm): Check this flag.
866 (pinentry_local_to_utf8): Release the correct buffer in the error
867 case. Print diagnostics.
868 (pinentry_utf8_to_local): Print diagnostics.
869 (pinentry_parse_opts): Make short options work.
870 (pinentry_utf8_to_local): Pass nl_langinfo to iconv_open.
871
872 * gtk/pinentry-gtk.c (button_clicked): Use the right value as
873 input for the conversion.
874
875 * pinentry/pinentry.c: New variable THIS_PGMNAME.
876 (pinentry_init): Add arg PGMNAME and store it. Use it at all
877 marked placed instead of the constant "pinentry".
878 (usage): Use it here too.
879 * curses/pinentry-curses.c (main): Call pinentry_init with our name.
880 * qt/main.cpp (main): Ditto.
881 * gtk/pinentry-gtk.c (main): Ditto.
882
883 * configure.ac: Check for mmap.
884
885 * secmem/util.h (wipememory2,wipememory,wipe): New.
886 * secmem/util.c (wipe): Removed.
887 * secmem/util.c (lower_privs, raise_privs): Commented out.
888
889 * pinentry/pinentry.c (pinentry_loop): Add paranoia check for
890 dropped privs.
891
892 * secmem/secmem.c (lock_pool): Cleanup syntax of cpp directives.
893
894 * gtk/pinentry-gtk.c (main): Print package name in the version line.
895 * curses/pinentry-curses.c (main): Ditto.
896 * qt/main.cpp (main): Ditto. Fixed typo.
897
898 * gtk/pinentry-gtk.c: Include memory.h.
899
9002003-12-20 Marcus Brinkmann <marcus@g10code.de>
901
902 * pinentry/pinentry.h (struct pinentry): New member PARENT_WID.
903 * pinentry/pinentry.c (pinentry): Add new member here.
904 (usage): Add --parent-wid.
905 (pinentry_parse_opts): Add case for "parent-wid".
906 (option_handler): Same here.
907
9082003-12-19 Marcus Brinkmann <marcus@g10code.de>
909
910 * pinentry/pinentry.c (cmd_setcancel): Use strcpy_escaped.
911 (cmd_setok): Likewise.
912 (cmd_setprompt): Likewise.
913 (pinentry_utf8_to_local): Don't use
914 nl_langinfo, but just lc_ctype directly.
915 * pinentry/pinentry.c (cmd_getpin): Do not convert passphrase to
916 UTF-8 here.
917 * gtk/pinentry-gtk.c (button_clicked): Convert passphrase to UTF8
918 here.
919 * pinentry/pinentry-curses.c (dialog_run): Likewise.
920
9212003-12-14 Marcus Brinkmann <marcus@g10code.de>
922
923 * pinentry/pinentry.c (pinentry_init): Register secmem_term as
924 atexit function. Set assuan malloc hooks to secmem.
925 (pinentry_parse_opts): Add break statement to silence gcc warning.
926 * pinentry/pinentry.c (cmd_getpin): If canceled, release and clear
927 PINENTRY->pin nevertheless.
928
929 * acinclude.m4 (qt_incdirs): Add /usr/include/qt3.
930 * qt/Makefile.am (pinentry_qt_SOURCES): Remove cppmemory.h,
931 cppmemory.cpp, pinentrycontroller.h, pinentrycontroller.cpp.
932 (nodist_pinentry_qt_SOURCES): Remove pinentrycontroller.moc.cpp.
933 (libcurses): Move ../pinentry/libpinentry.a from here to ...
934 (pinentry_qt_LDADD): ... here. Change order a bit to make it
935 work.
936 * qt/cppmemory.h, qt/cppmemory.cpp, qt/pinentrycontroller.h,
937 qt/pinentrycontroller.cpp: Files removed.
938 * qt/secqstring.h, qt/secqstring.cpp, secqlineedit.h,
939 secqlineedit.cpp: New files.
940 * qt/Makefile.am (pinentry_qt_SOURCES): Add secqstring.h,
941 secqstring.cpp, secqlineedit.h, and secqlineedit.cpp.
942 (nodist_pinentry_qt_SOURCES): Add secqlineedit.moc.cpp.
943 * qt/main.cpp: Do not include "memory.h" or "secmem-util.h", nor
944 <new> or "pinentrycontroller.h". Include <qapplication.h>,
945 <qmessagebox.h>, <qwidget.h> and "secqstring.h". Always include
946 <pinentry.h>.
947 [USE_KDE]: Remove all instances.
948 (curses_main): Function removed.
949 (my_new_handler): Likewise.
950 (qt_main): Likewise.
951 (qt_cmd_handler): New function.
952 (pinentry_cmd_handler): Define always (to qt_cmd_handler).
953 (main): Rewritten.
954 * qt/pinentrydialog.cpp: Do not include <qlineedit.h>, but
955 "secqlineedit.h".
956 (PinEntryDialog::PinEntryDialog): Make _edit a SecQLineEdit
957 object. Connect accepted SIGNAL to accept SLOT, and rejected
958 SIGNAL to reject SLOT.
959 (PinEntryDialog::setText): Make argument SecQString rather than
960 QString.
961 (PinEntryDialog::text): Likewise for return value.
962 * qt/pinentrydialog.h: Declare SecQString and SecQLineEdit classes.
963 (class PinEntryDialog): Disable property text (for now). Adjust
964 argument of setText and return value of text, as well as type of
965 _edit.
966
9672003-12-09 Werner Koch <wk@gnupg.org>
968
969 * README.CVS: New.
970 * Makefile.am (EXTRA_DIST): Add README.CVS
971 (ACLOCAL_AMFLAGS): New.
972 * configure.ac: Added min_automake_versions.
973 * autogen.sh: Revamped.
974
9752003-04-23 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
976
977 * configure.ac: Version 0.6.10-cvs
978
9792003-04-23 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
980
981 * configure.ac: Version 0.6.9
982 * qt/Makefile.am: Added moc files to DISTCLEANFILES
983 * qt/pinentrycontroller.cpp: Dont spew assuan debug stuff out on stderr.
984
9852003-03-26 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
986
987 * qt/cppmemory.cpp, qt/main.cpp: Only override array allocation
988 operators. This should take care of the reported memory-problems
989 and even make pinentry-qt use a bit less memory.
990
9912003-02-15 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
992
993 * qt/pinentrydialog.h, qt/pinentrydialog.cpp: Added icons
994 for error/non-error messages.
995
9962003-02-07 Marcus Brinkmann <marcus@g10code.de>
997
998 Released 0.6.8.
999
10002003-02-04 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
1001
1002 * qt/main.cpp: Work around '--display' option. This fixes
1003 the pinentry-qt problem reported by several people lately.
1004
10052003-01-24 Werner Koch <wk@gnupg.org>
1006
1007 * autogen.sh: Print a hint to use maintainer mode.
1008
10092002-12-24 Marcus Brinkmann <marcus@g10code.de>
1010
1011 * pinentry/pinentry-curses.c (collect_line): New function.
1012 (COPY_OUT, MAKE_BUTTON): New macros.
1013 (dialog_create): Rewrite the initializing code and the description
1014 calculation routine with word wrapping.
1015
10162002-11-20 Werner Koch <wk@gnupg.org>
1017
1018 Released 0.6.7.
1019
1020 * pinentry/pinentry-curses.c (dialog_create): Better truncate
1021 lines than to go into an infinite loop. We need to implement word
1022 wrap.
1023 (dialog_run): Add DIALOG_POS_NONE to switch so prevent a warning.
1024
10252002-11-12 Werner Koch <wk@gnupg.org>
1026
1027 * config.sub, config.guess: Updated from ftp.gnu.org/gnu/config
1028 to version 2002-11-08.
1029
10302002-11-09 Werner Koch <wk@gnupg.org>
1031
1032 Released 0.6.6.
1033
10342002-11-08 Werner Koch <wk@gnupg.org>
1035
1036 * pinentry/pinentry-curses.c (convert_utf8_string): Renamed to
1037 * pinentry/pinentry.c (pinentry_utf8_to_local): this. Changed
1038 callers.
1039 (pinentry_local_to_utf8): New.
1040 (cmd_getpin): Convert result back to UTF-8.
1041 * gtk/pinentry-gtk.c (create_utf8_label): New.
1042 (create_window): Use it here to set the prompts.
1043
10442002-11-06 Werner Koch <wk@gnupg.org>
1045
1046 * pinentry/pinentry-curses.c (dialog_run): Fixed retrun value tests
1047 for fopen.
1048
10492002-11-05 Werner Koch <wk@gnupg.org>
1050
1051 * secmem/util.c (init_uids): Make it a prototype.
1052
1053 * gtk/pinentry-gtk.c (enter_callback): Changed argument name to
1054 avoid shadowing warning.
1055 (create_window): Removed unused variable I.
1056 (ok): Not used, commented.
1057
1058 * pinentry/pinentry.c: Include headers for getpid and sleep
1059 prototypes.
1060
1061 * secmem/util.h: Correctly declare functions taking no args.
1062
1063 * gtk/pinentry-gtk.c: Move gtk headers to the top to avoid
1064 compiler warnings about shadowing index etc.
1065
1066 * curses/pinentry-curses.c: Include stdio.h for the printf prototype.
1067
1068 * pinentry/pinentry-curses.c (dialog_switch_pos): Return a value.
1069
1070 * pinentry/pinentry.c (pinentry_have_display): New.
1071 (pinentry_setbufferlen): Must return a value. Fixed documentation.
1072 (usage): Print a question mark as a substitue for the program name.
1073
1074 * gtk/pinentry-gtk.c (main): use it here instead of getenv().
1075 * qt/main.cpp (main): Ditto.
1076
10772002-10-11 Werner Koch <wk@gnupg.org>
1078
1079 * configure.ac, Makefile.am: Added doc/ and tests for makeinfo
1080
1081 * doc/pinentry.texi, doc/Makefile.am: New.
1082 * doc/gpl.texi, doc/fdl.texi: Added these standard files.
1083
10842002-09-30 Werner Koch <wk@gnupg.org>
1085
1086 Released 0.6.5.
1087
1088 * qt/pinentrycontroller.cpp (optionHandler): Make sure that a
1089 value is returned.
1090 * configure.ac: Use -Wall also for C++.
1091
10922002-08-19 Steffen Hansen <steffen@hrhansen.dk>
1093
1094 * Relased 0.6.4.
1095
10962002-08-11 Steffen Hansen <steffen@hrhansen.dk>
1097
1098 * Adapted pinentry-qt to new CONFIRM spec.
1099
11002002-06-26 Werner Koch <wk@gnupg.org>
1101
1102 Release 0.6.3.
1103
11042002-05-24 Werner Koch <wk@gnupg.org>
1105
1106 * AUTHORS: Added Marcus
1107 * README: Fixed spelling of Quintuple-Agent.
1108
11092002-05-13 Marcus Brinkmann <marcus@g10code.de>
1110
1111 Released 0.6.2.
1112
1113 * configure.ac: Set version number to 0.6.2.
1114 * NEWS: Add information for 0.6.2.
1115 * README: Update for release.
1116
11172002-05-09 Marcus Brinkmann <marcus@g10code.de>
1118
1119 * configure.ac: Add option --enable-fallback-curses and bind it to
1120 the ncurses check. Add automake conditional
1121 BUILD_LIBPINENTRY_CURSES and FALLBACK_CURSES. Add preprocessor
1122 symbol FALLBACK_CURSES.
1123
1124 * curses/Makefile.am (AM_CPPFLAGS): Add $(NCURSES_INCLUDE).
1125 (LDADD): Add ../pinentry/libpinentry-curses.a.
1126 * curses/pinentry-curses.c: Include "pinentry-curses.h".
1127 Moved most of the meat to ...
1128 * pinentry/pinentry-curses.c: ... here. New file. Make all
1129 functions and global variables static.
1130 (dialog_cmd_handler): Rename to ...
1131 (curses_cmd_handler): ... this.
1132 * pinentry/pinentry-curses.h: New file.
1133 * pinentry/Makefile.am (noinst_LIBRARIES)
1134 [BUILD_LIBPINENTRY_CURSES]: Add libpinentry-curses.a.
1135 (libpinentry_curses_a_SOURCES): New target.
1136
1137 * gtk/Makefile.am (INCLUDES): Moved all to ...
1138 (AM_CPPFLAGS): ... here.
1139 [CURSES_FALLBACK]: Define ncurses_include and libcurses.
1140 (AM_CPPFLAGS): Add $(ncurses_include).
1141 (LDADD): Add $(libcurses).
1142 * gtk/pinentry-gtk.c: Rename TIMEOUT to TIME_OUT to avoid conflict
1143 with curses.h.
1144 [CURSES_FALLBACK]: Include "pinentry-curses.h".
1145 (button_clicked): Likewise.
1146 (create_window): Likewise.
1147 (cmd_handler): Renamed to ...
1148 (gtk_cmd_handler): ... this.
1149 (pinentry_cmd_handler): Set to gtk_cmd_handler.
1150 (main) [CURSES_FALLBACK]: Initialize GTK+ only if environment
1151 variable DISPLAY is set, otherwise fall back to curses dialog.
1152
1153 * pinentry/pinentry.h: Protect against multiple inclusion.
1154
11552002-05-09 Marcus Brinkmann <marcus@g10code.de>
1156
1157 * curses/pinentry-curses.c (dialog_create): Allow multi-line error
1158 texts.
1159
1160 * pinentry/pinentry.c (cmd_seterror): Call strcpy_escaped, rather
1161 than strcpy, to allow percent-escaping the error text.
1162
11632002-04-25 Steffen Hansen <steffen@hrhansen.dk>
1164
1165 * pinentry-qt: Use ok and cancel value if
1166 provided.
1167
11682002-04-25 Marcus Brinkmann <marcus@g10code.de>
1169
1170 * gtk/pinentry-gtk.c (create_window): Use ok and cancel value if
1171 provided.
1172
11732002-04-25 Marcus Brinkmann <marcus@g10code.de>
1174
1175 * qt/pinentrycontroller.h: New members _ok and _cancel.
1176 * qt/pinentrycontroller.cpp (registerCommands): Add SETOK and SETCANCEL.
1177 (assuanOk): New method.
1178 (assuanCancel): Likewise.
1179
11802002-04-25 Marcus Brinkmann <marcus@g10code.de>
1181
1182 * curses/pinentry-curses.c (dialog_create): Grok the new ok and
1183 cancel members to set the pbutton texts, rather than parsing the
1184 prompt in the confirm case.
1185
1186 * pinentry/pinentry.h (struct pinentry): Add new members ok and cancel.
1187 * pinentry/pinentry.c (register_commands): Add new commands SETOK
1188 and SETCANCEL to set button texts.
1189 (struct pinentry pinentry): Add initializers for new members.
1190 (cmd_setok): New function.
1191 (cmd_setcancel): Likewise.
1192
11932002-04-24 Marcus Brinkmann <marcus@g10code.de>
1194
1195 * curses/pinentry-curses.c (dialog_create): Add '<' and '>' around
1196 the user provided button texts. Replace sizeof by strlen to fix
1197 size calculation of ok and cancel button.
1198
11992002-04-23 Marcus Brinkmann <marcus@g10code.de>
1200
1201 * pinentry/pinentry.h (struct pinentry): New variables lc_ctype
1202 and lc_messages.
1203 * pinentry/pinentry.c (usage): New options --lc-ctype and
1204 --lc-messages.
1205 (pinentry_parse_opts): Likewise.
1206 (option_handler): Likewise.
1207 (struct pinentry pinentry): New initializers for new members.
1208
1209 * curses/pinentry-curses.c (convert_utf8_string): New function.
1210 (struct dialog): New members ok and cancel.
1211 (dialog_create): New variables ERR, DESCRIPTION, ERROR, PROMPT,
1212 OK, and CANCEL. Initialize them with the localised versions of
1213 the pinentry strings. If in confirm mode, split up the prompt at
1214 '|' and use the values as button texts. Use localised strings.
1215 (dialog_switch_pos): Use localised strings.
1216 (dialog_run): Free dialog strings.
1217
1218 * acinclude.m4 (AM_ICONV): New check from gettext.
1219 * configure.ac: Run AM_ICONV if curses pinentry is build.
1220 Don't check for inttypes.h, don't check size of unsigned int or
1221 unsigned long.
1222 (LIBCAP): Move check to interface independent part.
1223
12242002-04-21 Steffen Hansen <steffen@hrhansen.dk>
1225
1226 * Removed X11 dependency and use Qt for grabbing the keyboard.
1227 * Clear the lineedit before asking the user for the PIN.
1228
12292002-04-12 Steffen Hansen <steffen@hrhansen.dk>
1230
1231 * Enable pinentry-qt if Qt is found
1232
12332002-04-06 Marcus Brinkmann <marcus@g10code.de>
1234
1235 * qt: New directory.
1236 * qt/Makefile.am, qt/cppmemory.cpp, qt/main.cpp,
1237 pinentrycontroller.cpp, qt/pinentrycontroller.h,
1238 qt/pinentrydialog.cpp, qt/pinentrydialog.h: New file, copied from
1239 kde/.
1240 * kde: Directory removed.
1241 * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
1242 kde/pinentry.desktop, kde/pinentrycontroller.cpp,
1243 kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
1244 kde/pinentrydialog.h: Files removed.
1245 * acinclude.m4: Removed the KE checks and completely overhauled
1246 the Qt checks, putting all Qt checks in their own namespace QT_,
1247 and make it declare QT_-prefixed variables for linking and
1248 compilation.
1249 * configure.ac: Use the new Qt checks instead the KDE checks.
1250 Replace "kde" with "qt" everywhere.
1251 * Makefile.am: Replace "kde" with "qt" everywhere.
1252
12532002-04-06 Marcus Brinkmann <marcus@g10code.de>
1254
1255 * acinclude.m4: Reworked the Qt and KDE checks, cutting out a lot
1256 of dead and not-so-dead wood. Gave all KDE checks proper names.
1257 * configure.ac: Use the new names for the KDE checks.
1258
12592002-04-06 Marcus Brinkmann <marcus@g10code.de>
1260
1261 * kde/Makefile.am (EXTRA_DIST): Remove variable.
1262 (install-data-local): Remove target.
1263 (uninstall-local): Likewise.
1264
12652002-04-05 Marcus Brinkmann <marcus@g10code.de>
1266
1267 Released 0.6.0.
1268
1269 * configure.ac: Set version number to 0.6.
1270 * NEWS: Add information for 0.6.0.
1271 * secmem/Makefile.am (libsecmem_a_SOURCES): Replace secmem.h with memory.
1272 * kde/Makefile.am (pinentry_kde_SOURCES): Move
1273 pinentrydialog.moc.cpp and pinentrycontroller.moc.cpp to ...
1274 (nodist_pinentry_kde_SOURCES): ... this new target.
1275
12762002-04-05 Marcus Brinkmann <marcus@g10code.de>
1277
1278 * acinclude.m4: A lot of new checks more or less straight from KDE's
1279 admin/acinclude.m4.in.
1280 * configure.ac (AC_CANONICAL_HOST): Call that macro.
1281 (AC_CHECK_COMPILERS, AC_PATH_KDE): Call those macros if KDE
1282 pinentry is enabled.
1283 * kde/Makefile.am (CXXFLAGS, XXX_PREFIX, XXX_KDE_DEFINES, LIB_QT,
1284 LIB_KDECORE, LIB_KDEUI, KDE_RPATH, MOC, kde_appsdir): Variables removed.
1285 (AM_CPPFLAGS): Replace XXX_KDE_DEFINES by all_includes.
1286 (pinentry_kde_LDFLAGS): Add all_libraries.
1287 * README: Document that automatic check is not possible for KDE.
1288
12892002-04-05 Marcus Brinkmann <marcus@g10code.de>
1290
1291 * curses/pinentry-curses.c (dialog_run): Add handling for TAB key.
1292 (dialog_create): New variable description_x. Calculate dimension
1293 of multi-line description correctly.
1294
12952002-04-04 Marcus Brinkmann <marcus@g10code.de>
1296
1297 * pinentry/pinentry.h (struct pinentry): New members DISPLAY,
1298 TTYNAME and TTYTYPE.
1299 * pinentry/pinentry.c (pinentry): Likewise.
1300 * pinentry/pinentry.c: Include <string.h>.
1301 (usage): Add new options --display,
1302 --ttyname and --ttytype.
1303 (option_handler): Likewise.
1304 (pinentry_parse_opts): Likewise.
1305
1306 * curses/pinentry-curses.c (dialog_cmd_handler): Use
1307 PINENTRY->ttyname and PINENTRY->ttytype.
1308
13092002-03-30 Marcus Brinkmann <marcus@g10code.de>
1310
1311 * acinclude.m4: Add AM_PATH_GLIB and AM_PATH_GTK.
1312
13132002-03-29 Marcus Brinkmann <marcus@g10code.de>
1314
1315 * configure.ac: Choose a more appropriate AC_CONFIG_SRCDIR.
1316
13172002-03-29 Marcus Brinkmann <marcus@g10code.de>
1318
1319 * kde/Makefile.am (pinentry_kde_LDADD): Link with $(LIBCAP).
1320 * gtk/Makefile.am (install-exec-local): Moved to ...
1321 * Makefile.am (install-exec-local): ... here.
1322
13232002-03-29 Marcus Brinkmann <marcus@g10code.de>
1324
1325 * kde/Makefile.am (kde_appsdir): New variable.
1326 * kde/Makefile.am (install-data-local): Use DESTDIR.
1327 (uninstall-local): Likewise.
1328
13292002-03-29 Marcus Brinkmann <marcus@g10code.de>
1330
1331 Merge of the gpinentry and curses pinentry program into the
1332 pinentry distribution. For this, the structure of the repository
1333 has been thoroughly overhauled. Some of the changes:
1334 * secmem: New directory with secure memory allocation code.
1335 * pinentry: New directory with pinentry support library.
1336 * curses: New directory with curses frontend.
1337 * gtk: New directory with GTK+ frontend.
1338 * kde: New directory with only the core of the old kpinentry program.
1339 * admin: Directory removed.
1340 * po: Directory removed.
1341 * kpinentry: Directory removed.
1342 * doc: Directory removed.
1343 * jnlib: Directory removed.x
1344
1345 The changes in more detail:
1346 * AUTHORS: Add authors of other pinentry frontends.
1347 * ChangeLog: Add the one from gpinentry.
1348 * Makefile.am: Completely rewritten.
1349 * README: Add content.
1350 * TODO: Add content.
1351 * NEWS: New file from gpinentry.
1352 * THANKS: New file from gpinentry.
1353 * acinclude.m4: New file.
1354 * configure.ac: New file which configures for all frontends.
1355 * curses/Makefile.am, curses/pinentry-curses.c: New files for
1356 curses frontend.
1357 * gtk/Makefile.am, gtk/gtksecentry.c, gtk/gtksecentry.h,
1358 gtk/pinentry-gtk.c: New files, modified from gpinentry, for GTK+
1359 frontend.
1360 * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
1361 kde/pinentry.desktop, kde/pinentrycontroller.cpp,
1362 kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
1363 kde/pinentrydialog.h: New files, modified from kpinentry, for KDE
1364 frontend.
1365 * pinentry/Makefile.am, pinentry/pinentry.c, pinentry/pinentry.h:
1366 New files containing pinentry support library, partly factored out
1367 from gpinentry.
1368 * secmem/Makefile.am, secmem/memory.h, secmem/secmem-util.h,
1369 secmem/secmem.c, secmem/util.c, secmem/util.h: New files
1370 containing secure memory allocation code common to all pinentry
1371 frontends.
1372 * Makefile.dist, acconfig.h, configure.files, configure.in.in:
1373 Files removed in favor of new configure.ac.
1374 * pinentry.lsm: Removed file never used.
1375 * stamp-h.in: Removed generated file.
1376 * admin/ChangeLog, admin/Makefile.common, admin/acinclude.m4.in,
1377 admin/am_edit, admin/am_edit.py, admin/conf.change.pl,
1378 admin/config.guess, admin/config.pl, admin/config.sub,
1379 admin/configure.in.min, admin/debianrules, admin/depcomp,
1380 admin/install-sh, admin/libtool.m4.in, admin/ltcf-c.sh,
1381 admin/ltcf-cxx.sh, admin/ltcf-gcj.sh, admin/ltconfig,
1382 admin/ltmain.sh, admin/missing, admin/mkinstalldirs, admin/ylwrap:
1383 Removed KDE build suite in favor of configure.ac.
1384 * doc/Makefile.am, doc/en/Makefile.am, doc/en/index.docbook:
1385 Removed files never used.
1386 * jnlib/ChangeLog, jnlib/Makefile.am, jnlib/argparse.c,
1387 jnlib/argparse.h jnlib/dotlock.c, jnlib/dotlock.h,
1388 jnlib/libjnlib-config.h, jnlib/logging.c, jnlib/logging.h,
1389 jnlib/mischelp.h, jnlib/stringhelp.c, jnlib/stringhelp.h,
1390 jnlib/strlist.c, jnlib/strlist.h, jnlib/types.h, jnlib/xmalloc.c,
1391 jnlib/xmalloc.h: Removed files no longer used.
1392 * kpinentry/Makefile.am, kpinentry/cppmemory.cpp,
1393 kpinentry/cppmemory.h, kpinentry/i18n.h, kpinentry/main.cpp,
1394 kpinentry/memory.h, kpinentry/pinentry.desktop,
1395 kpinentry/pinentrycontroller.cpp, kpinentry/pinentrycontroller.h,
1396 kpinentry/pinentrydialog.cpp, kpinentry/pinentrydialog.h,
1397 kpinentry/secmem.cpp, kpinentry/util.cpp, kpinentry/util.h:
1398 Removed files in favor of new files in kde/.
1399 * po/Makefile.am, po/pinentry.pot: Removed files never used.
1400
1401 * autogen.sh: New file.
1402
14032002-03-04 Werner Koch <wk@gnupg.org>
1404
1405 * gpinentry.c (enter_callback): New
1406 (create_window): Connect it to the entry field.
1407
14082002-02-18 Werner Koch <wk@gnupg.org>
1409
1410 Released 0.5.1.
1411
1412 * gpinentry.c (create_window): Add CONFIRM_MODE.
1413 (cmd_confirm): Implemented.
1414
1415 * assuan/: Updated from NewPG.
1416
14172002-01-20 Werner Koch <wk@gnupg.org>
1418
1419 * gpinentry.c (option_handler): New to allow changing of the grab
1420 status.
1421 (grab_keyboard): Shortcut this when global grab is not set.
1422
14232002-01-04 Werner Koch <wk@gnupg.org>
1424
1425 Released 0.5.0.
1426
1427 * configure.ac: Bumbed version
1428
1429 * util.h (xtoi_1, xtoi_2): New.
1430 * gpinentry.c (strcpy_escaped): New
1431 (cmd_setdesc, cmd_seterror): Use it here to allo multiline texts.
1432
1433 * gpinentry: Removed debugging outbut
1434 (create_window): Tweaked layout.
1435
14362001-12-07 Werner Koch <wk@gnupg.org>
1437
1438 New package gpinentry based on quintuple-agent.
1439
1440 Removed all stuff except for the basic configuration stuff and
1441 what is needed to build gpinentry. Also removed i18n support.
1442 * gpinentry.c: Renamed from secret-query.c
1443
14442001-02-12 Robert Bihlmeyer <robbe@orcus.priv.at>
1445
1446 * 1.0.0 released. Woo-hoo!
1447
1448 * configure.in, NEWS: Bumped version.
1449
14502001-02-04 Robert Bihlmeyer <robbe@orcus.priv.at>
1451
1452 * agent.c (make_tmpdir): Honor $TMPDIR.
1453
1454 (agent): Would exit on every minor problem. Now, we just close the
1455 offending connection.
1456 Ignore SIGPIPE, so that EPIPE will close connection.
1457
14582001-01-11 Robert Bihlmeyer <robbe@orcus.priv.at>
1459
1460 * secmem.c: Move one include statement so that the thing compiles.
1461
1462 * secret-query.c (main): Minor source cosmetics.
1463
14642000-11-16 Robert Bihlmeyer <robbe@orcus.priv.at>
1465
1466 * gtksecentry.c (gtk_secure_entry_insert_text): Secured a couple
1467 of memory (de)allocations that were missed. Thanks to John Steele
1468 <jhs28@eng.cam.ac.uk> for spotting these.
1469
14702000-11-10 Robert Bihlmeyer <robbe@orcus.priv.at>
1471
1472 * Thoughts: Removed in favor of new TODO.
1473
1474 * README: Remove content and refer to doc/manual.info instead.
1475
1476 * agent.c (do_get): Would burn badly on a premature exit of the
1477 query program (which would occur routinely if you selected /cancel/).
1478
14792000-10-25 Robert Bihlmeyer <robbe@orcus.priv.at>
1480
1481 * memory.h: Include sys/types.h for size_t.
1482
14832000-10-08 Robert Bihlmeyer <robbe@orcus.priv.at>
1484
1485 * README: Removed apology about missing documentation.
1486 Updated paragraph about Linux capability patch.
1487 Typo & Refill.
1488
14892000-10-03 Robert Bihlmeyer <robbe@orcus.priv.at>
1490
1491 * 0.9 released.
1492
1493 * Makefile.am (EXTRA_DIST): Distribute BUGS (the file, that is).
1494
1495 * configure.in, NEWS: Bumped version.
1496
1497 * Makefile.am, configure.in: Add debian subdir.
1498
1499 * README: Recommend GTK+.
1500 Update list of checked platforms.
1501
15022000-10-02 Robert Bihlmeyer <robbe@orcus.priv.at>
1503
1504 * secret-query.c (ok): Simplify.
1505 Put empty line between headers and secret.
1506 (usage): Document '--help' and '--version'.
1507
1508 * agent.c (do_get): Use enhanced secret-query output to fill in
1509 options.
1510
15112000-10-01 Robert Bihlmeyer <robbe@orcus.priv.at>
1512
1513 * secret-query.c (main): Clarify error.
1514
1515 * client.c (query_options): New global variable.
1516 (main): New option '--query-options' to pass options to the query
1517 program.
1518 (xgetpass): Use it.
1519
1520 * agent.c (main): New option '--query-options' to pass options to
1521 the query program.
1522 (do_get): Use 'query_options'.
1523
1524 * acconfig.h, configure.in: Add QUERY_PROGRAM definition.
1525 * client.c: Remove here.
1526 * agent.c (do_get): Use it here, too.
1527
1528 * secret-query.c (main): New option '--no-global-grab' introduced,
1529 that prevents keyboard grabbing unless the window has focus.
1530
15312000-09-11 Robert Bihlmeyer <robbe@orcus.priv.at>
1532
1533 * secret-query.c (usage): Add two missing pieces of "\n\".
1534
1535 * agent.c (main): --nofork is now the default, and the option is
1536 deprecated. New option --fork added to turn forking on again.
1537 Close stdout (and stderr unless debugging) even when not forking,
1538 so that normal usage inside eval is still possible.
1539 (agent): Exit gracefully on HUP, so that logging out now kills the
1540 agent.
1541
1542 * README (Contact Information): Old URL - duh!
1543 (Using Secret Agent): We no longer fork per default.
1544
1545 * Makefile.am (lib/libutil.a): New target, allows targets that not
1546 automatically recurse (but still depend on libutil.a) to succeed.
1547
15482000-07-20 Robert Bihlmeyer <robbe@orcus.priv.at>
1549
1550 * secret-query.c (usage): New function.
1551 (main): Parse options: debug, enhanced, help, version.
1552 Turn on locale support.
1553 If enhanced, insert widgets to ask for timeout and insurance.
1554 (ok): If enhanced, print more information on exit.
1555 (grab_keyboard): Die if grab was unsuccessful.
1556
15572000-05-31 Robert Bihlmeyer <robbe@orcus.priv.at>
1558
1559 * 0.8 released.
1560
1561 * configure.in, NEWS: Bumped version.
1562
1563 * Makefile.am (SUBDIRS): Include doc.
1564
1565 * configure.in, acconfig.h: Check for ssize_t.
1566 Check for vsnprintf(), strdup().
1567 Generate doc/Makefile.
1568
1569 * apgp.c, agpg.c, agentlib.c, util.c: Include more stuff.
1570
1571 * agent.c (do_get): Use asprintf() instead of snprintf() so we
1572 don't need to roll our own for yet another function.
1573 Fix some includes.
1574
1575 * acinclude.m4: gettext macros copied from automake and fixed.
1576
15772000-05-30 Robert Bihlmeyer <robbe@orcus.priv.at>
1578
1579 * configure.in, Makefile.am: Properly include doc subdir.
1580
15812000-05-29 Robert Bihlmeyer <robbe@orcus.priv.at>
1582
1583 * configure.in, acconfig.h: Add test for XMESSAGE path.
1584
1585 * client.c (main): Decode command from string to integer code
1586 first, then evaluate that in ifs.
1587
1588 * secret-ask.c: New file, external ask-for-confirmation utility.
1589
1590 * configure.in, Makefile.am: Add secret-ask to programs being
1591 built when GTK is available. Rename QUERY to more descriptive
1592 GTK_PROGRAMS.
1593
1594 * agent.c (do_get): If GTK is available, try executing secret-ask
1595 first.
1596 Only put the comment into the insure-question if there is a
1597 comment.
1598 (main): --csh was missing from usage message.
1599
16002000-04-23 Robert Bihlmeyer <robbe@orcus.priv.at>
1601
1602 * secret-query.c (constrain_size): Lower window max_width to
1603 accomodate bugs in GTK and Scwm.
1604
1605 * agent.c (main): Set x_enabled if X appears to be available.
1606 Use it to selectively make FLAGS_INSURE supported.
1607 (do_get): Use it instead of testing at every call.
1608 (do_put): Requests containing unsupported flags fail.
1609 (forget_old_stuff): Would not set next_deadline correctly.
1610 (do_get): Implement FLAGS_INSURE.
1611
1612 * client.c (main): "list" format changed so that comment is to the
1613 far right. Display the deadline as proper date/time, too.
1614
16151999-11-11 Robert Bihlmeyer <robbe@orcus.priv.at>
1616
1617 * agent.c (next_deadline): New global variable, holds time when
1618 next secret has to be killed.
1619 (store): Keep it up-to-date.
1620 (forget_old_stuff): New function, reaps secrets ready to kill,
1621 keeps next_deadline updated.
1622 (agent): Use it on all secrets, whenever a deadline is active.
1623
16241999-11-08 Robert Bihlmeyer <robbe@orcus.priv.at>
1625
1626 * agent.h (request_put): Add flags, deadline. Increase REQUEST_MAGIC.
1627 (reply_get): Ditto, and increase REPLY_MAGIC.
1628 * agent.c (store): Store flags, deadline in reply.
1629 (do_put): Hand flags, deadline from request on to store().
1630 (do_get): Store on-demand queried secrets without deadline or
1631 special flags, for now.
1632 (agent): Do not ignore obsolete clients, return an error reply.
1633 * agentlib.c (agent_put): Add flags, deadline arguments, and copy
1634 them into the request.
1635 * agentlib.h (agent_put): Update prototype.
1636* * client.c (main): Added --time-to-live (-t) and --insure (-i)
1637 options, influencing PUT's deadline and flags, respectively.
1638 (main): Change list format to include new attributes.
1639
16401999-11-05 Robert Bihlmeyer <robbe@orcus.priv.at>
1641
1642 * configure.in: <getopt.h> check had redundant definition.
1643 * acconfig.h: Remove here, too.
1644
1645 * configure.in: Check for <inttypes.h>. If not found, check for
1646 unsigned {int, long} sizes.
1647 * agent.h: Either include <inttypes.h>, or try to define uint32_t
1648 yourself.
1649 Need to include "config.h".
1650
16511999-11-04 Robert Bihlmeyer <robbe@orcus.priv.at>
1652
1653 * Makefile.am (signed-dist): New rule, generates sig for dist.
1654 (%.sig): New rule, for detached signatures in general.
1655
1656 * configure.in: Check for ulong.
1657 * acconfig.h: Document it.
1658 * secmem.c: Unconditionally defining it is no longer necessary
1659 here. But do include <sys/types.h> in all cases.
1660
1661 * 0.7 released.
1662
1663 * secmem.c: ulong is not defined on all systems.
1664
1665 * agent.h: <inttypes.h> should define `uint32_t' as per Unix98, so
1666 we use that.
1667
16681999-11-02 Robert Bihlmeyer <robbe@orcus.priv.at>
1669
1670 * agent.h: Augmented requests and replies with magic numbers.
1671 Data structures heavily commented.
1672 All structures and enums typedef'd.
1673 * agent.c: Adapted.
1674 (store): Set magic number in stored reply.
1675 (do_put): Set magic number in reply.
1676 (do_delete): Ditto.
1677 (do_list): Ditto.
1678 (agent): Check magic number in request.
1679 * agentlib.c: Adapted.
1680 (send_request): Set magic number in request. Check it in reply.
1681 * agentlib.h: Adapted.
1682 * agpg.c: Adapted.
1683 * apgp.c: Adapted.
1684 * client.c: Adapted.
1685
16861999-10-31 Robert Bihlmeyer <robbe@orcus.priv.at>
1687
1688 * secmem.c: Instead of defining ulong directly, include
1689 <sys/types.h>
1690
1691 * secret-query.c (constrain_size): New function, puts constrains
1692 on size of toplevel window.
1693 (grab_keyboard): Removed protection against multiple calls.
1694 (ungrab_keyboard): New function, cancelling a keyboard grab.
1695 (main): Hang `grab_keyboard' onto map-event which makes it
1696 actually work, hang `ungrab_keyboard' onto unmap-event.
1697 Hang `constrain_size' onto size-request.
1698
1699 * secmem.c: ulong was undefined on some systems.
1700
17011999-10-19 Robert Bihlmeyer <robbe@orcus.priv.at>
1702
1703 * Makefile.am (install-exec-local): Ignore setcap errors.
1704
1705 * apgp.c: New program, based on agpg.c, but for pgp2.6.
1706 * Makefile.am (bin_PROGRAMS, apgp_SOURCES): Added it.
1707
1708 * agpg.c (GPG): New constant.
1709 (find_id, main): Use it throughout.
1710 (find_id): Forgot to pclose on success.
1711
1712 * secret-query.c (main): Don't expand anything.
1713 Use a button box for the buttons.
1714 Prompt label can be overridden from the commandline.
1715 * agent.c (do_get): Make spawned secret-query show the id.
1716 * client.c (xgetpass): Pass prompt to secret-query.
1717 (main): Include id in xgetpass prompt.
1718
17191999-10-14 Robert Bihlmeyer <robbe@orcus.priv.at>
1720
1721 * configure.in: setcap must be searched outside the usual user
1722 PATH, too.
1723 * Makefile.am (install-exec-local): Set cap_ipc_lock permitted on
1724 installed binaries, if possible.
1725
1726 * agent.c (xdup2): New function, dup2 with error handling.
1727 (move_fd): New function, moves fds.
1728 (store): New function, abstracted out from do_put.
1729 (do_put): Use it.
1730 (do_get): If secret was not found, and DISPLAY is set, try to
1731 query the user about it. If successful, store it.
1732 (main): Route standard file descriptors to /dev/null rather than
1733 just closing them. The latter would confuse children.
1734
17351999-10-13 Robert Bihlmeyer <robbe@orcus.priv.at>
1736
1737 * gtksecentry.c, gtksecentry.h: New files, being slightly modified
1738 versions of GTK+'s gtkentry.[ch], spiffed up to use secure memory.
1739 * secret-query.c (ok, unselect, main): Replace GtkEntry with
1740 GtkSecureEntry.
1741 (main): Initialize secure memory.
1742 * Makefile.am (secret_query_SOURCES): Added gtksecentry.[ch].
1743
1744 * README (Security): New chapter.
1745
1746 * configure.in, acconfig.h: Check for POSIX capabilities, and the
1747 setcap program.
1748 * Makefile.am: Link LIBCAP to those binaries using secmem.c.
1749
1750 * util.h: Include <sys/types.h> for size_t.
1751
17521999-09-21 Robert Bihlmeyer <robbe@orcus.priv.at>
1753
1754 * secmem.c: Synced with gnupg-1.0 (top new feature: capabilities).
1755 (log_fatal): New function, logs to stderr, and dies.
1756
17571999-09-08 Robert Bihlmeyer <robbe@orcus.priv.at>
1758
1759 * secmem.c (log_info): New function, logs to stderr.
1760
1761 * agent.c (agent): select() expects the number of fds, not the
1762 highest fd. So remember that number.
1763
1764 * agent.c (agent): Don't use FD_SETSIZE, which is not defined on
1765 all systems. Remember the number of the highest descriptor
1766 instead.
1767
1768 * configure.in: Replace getline() instead of getdelim() because
1769 this is the function we really need. Still check for getdelim(),
1770 though - there are systems out there where this is provided, but
1771 getline() is not.
1772
17731999-09-01 Robert Bihlmeyer <robbe@orcus.priv.at>
1774
1775 * 0.6 released.
1776
1777 * configure.in: Bump version.
1778
1779 * NEWS: Updated.
1780
17811999-08-31 Robert Bihlmeyer <robbe@orcus.priv.at>
1782
1783 * util.c (init_uids, lower_privs, raise_privs, drop_privs): New
1784 functions, for setuid binaries, extracted from agent.c.
1785 * util.h: Add prototypes for them.
1786 * agpg.c (main): Use them.
1787 * client.c (main): Ditto.
1788 * agent.c (main): Ditto. Removed code that did the same.
1789 Unconditionally include "asprintf.h" (it protects itself now).
1790
17911999-08-25 Robert Bihlmeyer <robbe@orcus.priv.at>
1792
1793 * Makefile.am (SUBDIRS): Process . before test so that "make
1794 check" always builds all in . first.
1795
17961999-08-21 Robert Bihlmeyer <robbe@orcus.priv.at>
1797
1798 * secret-query.c: Include "config.h".
1799
1800 * agent.h (reply_list_entry, reply_list): New reply structures.
1801 * agent.c (send_list_entry): New function.
1802 (do_list): First send number of entries, then each entry via
1803 send_list_entry().
1804 * agentlib.c (agent_list): Read entries returned by LIST request.
1805 * client.c (main): Output all entries returned by agent_list().
1806
1807 * agentlib.c (agent_put): Don't construct PUT request in insecure
1808 stack space.
1809
18101999-08-20 Robert Bihlmeyer <robbe@orcus.priv.at>
1811
1812 * NEWS: Bump patchlevel.
1813
1814 * configure.in: Bump patchlevel.
1815 Check for missing setenv().
1816
18171999-08-09 Robert Bihlmeyer <robbe@orcus.priv.at>
1818
1819 * configure.in: Check for strsignal().
1820
1821 * client-test: Obsoleted by test/client.
1822
1823 * Makefile.am (SUBDIRS): New subdirectory.
1824 * configure.in (AC_OUTPUT): Add here, too.
1825
1826 * 0.5 released.
1827
1828 * README: Explain why secret-client will not output secrets to a
1829 tty, and mention the cat-trick.
1830
1831 * agent.c (main): If seteuid is not available, don't use it and
1832 issue a warning if running setuid.
1833
1834 * configure.in: Run together two REPLACE_FUNCS.
1835 Check for seteuid.
1836
1837 * client-test: Mask out insecure memory warnings.
1838
1839 * agentlib.c (send_request): Let the calling functions reserve
1840 space for the reply, but offer a simple way for simple requests.
1841 (agent_get): Allocate secure memory.
1842
1843 * agent.c (main): Moved secmem_init() after the fork, since that
1844 seemingly munlock's all pages.
1845 Drop priviledges just in case somebody wants to install this
1846 suid-root.
1847 Flush stdout.
1848
1849 * agpg.c (find_id): Would reorder arguments.
1850 Initialize opt_version.
1851 (main): Initialize secure memory.
1852
1853 * Makefile.am (agpg_SOURCES): Link with secure memory module.
1854
1855 * client.c (usage): Fixed another program name reference.
1856
18571999-08-06 Robert Bihlmeyer <robbe@orcus.priv.at>
1858
1859 * configure.in: Conditionally define HAVE_GTK.
1860 * acconfig.h: Add here too.
1861
1862 * client.c (xgetpass): Use "secret-query" only if it was built.
1863 (main): Don't output secret (GET command) to ttys.
1864
1865 * agpg.c (find_id): Also print own version if "--version" is given.
1866 (main): Check agent_init() errors.
1867 Print error if exec fails.
1868
1869 * agent.c (main): Added an option to produce csh-compatible
1870 output.
1871
1872 * agent.c, client.c: Forgot the terminating NULL in long options.
1873 Fixed the program names in usage and version output.
1874
1875 * agent.c (create_socket): AF_UNIX and PF_UNIX are Unix98, so
1876 that's what we use. AF_LOCAL, PF_LOCAL removed.
1877 * agentlib.c (agent_init): Ditto.
1878
18791999-08-05 Robert Bihlmeyer <robbe@orcus.priv.at>
1880
1881 * 0.4 released.
1882
1883 * configure.in: Bumped version.
1884 Check for missing getdelim.
1885
1886 * cgpg: Removed, obsoleted by agpg.
1887 * Makefile.am: Here, too.
1888
1889 * agpg.c (find_id): New function.
1890 (main): Use it.
1891
1892 * Makefile.am (INCLUDES): Put GTK_FLAGS and GLIB_FLAGS here. It
1893 is the easiest way for sources needing it, and it won't hurt those
1894 that don't.
1895 (agent.o): Explicit command removed accordingly.
1896
18971999-08-04 Robert Bihlmeyer <robbe@orcus.priv.at>
1898
1899 * configure.in: Need double quoting in nested AC_MSG_WARN.
1900
1901 * client.c (xgetpass): If no tty is available, but a DISPLAY is,
1902 fork off "secure-query" to read the secret.
1903 Put the fgets into a loop that keeps reading until all of the
1904 secret is read.
1905
1906 * client-test: Unset DISPLAY, so that "secret-query" is never used.
1907
19081999-08-03 Robert Bihlmeyer <robbe@orcus.priv.at>
1909
1910 * agpg.c: New file, first cut at a C version of the gpg wrapper,
1911 written in a hurry (20 keys waiting to be signed, and a growling
1912 stomach).
1913 * Makefile.am: Add it to built programs.
1914 (LDADD): New default.
1915 (secret_client_LDADD): Removed, since it was identical to default.
1916
19171999-08-01 Robert Bihlmeyer <robbe@orcus.priv.at>
1918
1919 * secret-query.c: New program, queries the user for a password.
1920 * Makefile.am (bin_PROGRAMS): Added it.
1921 * configure.in: Check for GTK+, build "secret-query" only when
1922 that is available.
1923
1924 * cgpg: Extra argument for ID is no longer necessary. cgpg will
1925 scan the gpg args for switches that affect user-id, and determine
1926 the right key itself. Per convention, the key-id is used by "GET".
1927
1928 * configure.in: The project name is now "secret-agent".
1929
1930 * Makefile.am: "agent" & "client" renamed to "secret-agent" &
1931 "secret-client", respectively.
1932 * client-test: Adapt to new names.
1933
1934 * Thoughts: Removed discussion of other names.
1935 Added indication of which things already work.
1936
1937 * agent.c (make_tmpdir): Removed occurance of "gpg-agent."
1938
1939 * README: First proper version.
1940
1941 * client-test: Context diffs are more portable then unified diffs.
1942
1943 * agent.c, agent.h, agentlib.c, agentlib.h, client.c, memory.h,
1944 util.c, util.h: Banner updated to new name.
1945
19461999-07-29 Robert Bihlmeyer <robbe@orcus.priv.at>
1947
1948 * configure.in: Check for missing asprintf.
1949 Check if -lsocket is needed.
1950
1951 * secmem.c (secmem_dump_stats): Replace usage of ulong.
1952
1953 * Makefile.am (INCLUDES): Add the lib subdirectory to include search.
1954
1955 * agent.c: Forgot to include <string.h>.
1956 Include RYO asprintf header if this function is missing.
1957 For the sake of compatibility, provide a definition for AF_LOCAL,
1958 PF_LOCAL, if missing.
1959 * agentlib.c: Ditto.
1960
19611999-07-28 Robert Bihlmeyer <robbe@orcus.priv.at>
1962
1963 * Makefile.am (client_SOURCES): Add "secmem.c", "memory.h".
1964
1965 * client.c (xgetpass): Use secmem_malloc() instead of RYO.
1966 (main): Init and shutdown secmem.
1967
19681999-07-27 Robert Bihlmeyer <robbe@orcus.priv.at>
1969
1970 * Makefile.am (agent_SOURCES): Add "secmem.c", "i18n.h", "memory.h".
1971 (client_SOURCES): Add "i18n.h".
1972
1973 * client.c (main): Exit on agent_init() failure.
1974
1975 * agent.c (main): Init secmem.
1976 Make --debug switch cumulative.
1977 (cleanup): Shutdown secmem.
1978 (do_put): Use secmem for storage of secrets.
1979 (do_delete): Use secmem_free(). Since this wipes the memory on its
1980 own, wipe() is superflous now.
1981 (agent): Use secmem for inbound requests.
1982 (delete_secret): New function, takes part of do_delete's
1983 functionality.
1984 (do_put): Use it to remove old versions stored under the same id.
1985 (do_delete): Use it to delete secrets.
1986
1987 * memory.h: New file.
1988
1989 * secmem.c: New file, snarfed from GnuPG and modified slightly.
1990
1991 * acinclude.m4: New file.
1992 * configure.in: (ALL_LINGUAS): Expanded list of available
1993 languages. Most of them only have a few translations from gpg,
1994 tough ...
1995 getopt_long test was commented out for debugging,
1996 and left such. Fixed.
1997 Check for mlock.
1998 * acconfig.h: Comment HAVE_BROKEN_MLOCK.
1999
2000 * cgpg: A space was missing.
2001
2002 * i18n.h: New file, centralizing the gettext macro defs.
2003
2004 * agent.c (BLIND): New macro, that blinds out a secret if debug
2005 level is too low.
2006 (do_put): Use it.
2007 (do_get): Use it.
2008 Include i18n.h.
2009
2010 * agentlib.c: Include i18n.h
2011
2012 * client.c (usage): New function.
2013 Usage-message made gettext-friendly.
2014 (xgetpass): Use perror() instead of fprintf().
2015 (main): Use it.
2016 Make comment an optional argument of PUT.
2017 Include i18n.h.
2018
20191999-07-26 Robert Bihlmeyer <robbe@orcus.priv.at>
2020
2021 * Makefile.am (client_LDADD): Add lib/libutil.a for portability.
2022 (agent_LDADD): Ditto.
2023 (SUBDIRS): Add lib directory.
2024 (bin_SCRIPTS): New with cgpg, so it gets installed, too.
2025
2026 * configure.in: Add lib/Makefile to output.
2027
20281999-07-24 Robert Bihlmeyer <robbe@orcus.priv.at>
2029
2030 * cgpg: New file.
2031 * Makefile.am (EXTRA_DIST): Added it.
2032
2033 * agent.c: Moved inclusion of config.h before inclusion of
2034 libintl.h since the latter needs HAVE_LC_MESSAGE.
2035 * client.c: Ditto.
2036 * clientlib.c: Ditto.
2037
2038 * client-test: Update for new client semantics.
2039
2040 * client.c (check_status): Use debugmsg(). Do nothing if not
2041 debugging.
2042 (xgetpass): New function, getpass replacement that uses mlock'ed
2043 memory.
2044 (main): PUT now asks for the secret rather then getting it from
2045 the commandline.
2046 GET prints only the secret to stdout.
2047
2048 * configure.in: Rearranged.
2049 Check for socklen_t.
2050 * acconfig.h: Added a definition for it.
2051
2052 * client.c: Include packaged getopt.h if the system doesn't provide
2053 one.
2054 * agent.c: Ditto.
2055 (create_socket): Replace AF_FILE, PF_FILE with AF_LOCAL, PF_LOCAL
2056 for portability.
2057 * agentlib.c (agent_init): Ditto.
2058 Explicitly cast addr to a sockaddr pointer.
2059
2060 * Makefile.am (client_LDADD): Added @INTLLIBS@.
2061 (agent_LDADD): Ditto.
2062
20631999-07-19 Robert Bihlmeyer <robbe@orcus.priv.at>
2064
2065 * configure.in: Check for getopt.h and getopt_long.
2066 * acconfig.h (HAVE_GETOPT_H): New define.
2067 * lib/getopt.c, lib/getopt1.c, lib/getopt.h: Added.
2068
20691999-07-18 Robert Bihlmeyer <robbe@orcus.priv.at>
2070
2071 * 0.2 released.
2072
2073 * NEWS: Updated.
2074
2075 * Makefile.am (agent.o): Mentioning the source explicitly does not
2076 work for srcdir!=builddir.
2077
2078 * client.c (main): Function arguments are not always evaluated in
2079 order, so drop the neat ++optind in favor of optind+1, optind+2,
2080 etc.
2081
2082 * configure.in: Upped version.
2083
20841999-06-28 Robert Bihlmeyer <robbe@orcus.priv.at>
2085
2086 * util.h: Added multi-inclusion guard.
2087
2088 * agent.c Include "util.h".
2089 (main): Forgot to exit at end.
2090 (do_delete): Assume that value is a string and wipe it accordingly.
2091
2092 * configure.in (--enable-debug): New switch.
2093
2094 * agent.h (status_t): Added STATUS_COMM_ERR code.
2095 Added multi-inclusion guard.
2096
2097 * client.c (main): Abstracted out most functionality into a
2098 function library, namely:
2099 * agentlib.c: New file.
2100 * agentlib.h: New file.
2101 * Makefile.am (client_SOURCES): Added agentlib.c, agentlib.h.
2102
2103 * Makefile.am (INCLUDES): GLIB_CFLAGS moved again, this time to
2104 the agent.o target.
2105
21061999-06-15 Robert Bihlmeyer <robbe@orcus.priv.at>
2107
2108 * 0.1 released.
2109
2110 * Makefile.am (agent_CFLAGS): Removed - did not work.
2111 (INCLUDES): Moved the GLIB stuff here.
2112
21131999-06-14 Robert Bihlmeyer <robbe@orcus.priv.at>
2114
2115 * configure.in (ALL_LINGUAS): Added `de'.
2116
2117 * agent.c (do_get): Added more debugmsgs.
2118 (do_put): Wouldn't allocate enough for `value'.
2119 (main): New option "--nofork" prevents forking.
2120 Use macros for the std filedescriptor numbers.
2121 Only close stderr if not debugging.
2122 (main): Make Usage string gettext-friendly.
2123
2124 * client-test (cleanup): New function.
2125 Call it on shell exit.
2126 (client): New function.
2127 Use it instead of calling client binary directly.
2128 diff client output with expected one in GET testcases.
2129
21301999-06-13 Robert Bihlmeyer <robbe@orcus.priv.at>
2131
2132 * agent.c (failed_reply): New constant.
2133 (do_list): Use it.
2134 (do_put): The hash key was overwritten - strdup it.
2135 Construct a GET reply and save that in the hash.
2136 (do_get): Just send the preconstructed reply if the id is present,
2137 and failed_reply otherwise.
2138 (do_delete): Actually free the hashed stuff.
2139
2140 * client.c: Exit with error if agent returned STATUS_FAIL.
2141
2142 * Makefile.am (EXTRA_DIST): Added autogen.sh, Thoughts,
2143 client-test.
2144 (TESTS): Added client-test.
2145 (AUTOMAKE_OPTIONS): Added gnits.
2146
2147
2148 Copyright 2002, 2003, 2010 g10 Code GmbH
2149
2150 This file is free software; as a special exception the author gives
2151 unlimited permission to copy and/or distribute it, with or without
2152 modifications, as long as this notice is preserved.
2153
2154 This file is distributed in the hope that it will be useful, but
2155 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
2156 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
215781
=== added file 'ChangeLog-old'
--- ChangeLog-old 1970-01-01 00:00:00 +0000
+++ ChangeLog-old 2014-01-24 03:16:14 +0000
@@ -0,0 +1,2175 @@
12012-08-08 Werner Koch <wk@gnupg.org>
2
3 NB: ChangeLog files are no longer manually maintained. Starting
4 on August 8, 2012 we put change information only in the GIT commit
5 log, and generate a top-level ChangeLog file from logs at "make
6 dist". See doc/HACKING for details.
7
82011-08-10 Werner Koch <wk@g10code.com>
9
10 * configure.ac: Change bug report address to the BTS. Fix
11 autoconf warnings.
12
132011-06-28 Werner Koch <wk@g10code.com>
14
15 * gtk+-2/gtksecentry.c (PROP_EDITING_CANCELED): New.
16 (gtk_secure_entry_class_init, gtk_secure_entry_set_property)
17 (gtk_secure_entry_get_property): Implement as dummy it to get rid
18 of a runtime warning.
19
202010-12-16 Werner Koch <wk@g10code.com>
21
22 Release 0.8.1.
23
24 * doc/pinentry.texi: Remove the custom font setting for underscores.
25
26 Update to automake 1.10.
27
28 * missing, config.guess, config.sub: Update from GnuPG.
29
30 * w32/main.c (debugfp): Define to stderr.
31 (raise_sip) [!W32CE]: Make it a dummy function.
32
33 * qt4/pinentrydialog.cpp (raiseWindow): Use SetForegroundWindow
34 API directly.
35 (SetForegroundWindowEx): Comment out.
36
372010-10-19 Werner Koch <wk@g10code.com>
38
39 * pinentry/pinentry.c (pinentry_have_display): Also detect
40 --display=DISPID.
41
422010-10-12 Werner Koch <wk@g10code.com>
43
44 * qt/main.cpp (escape_accel): New. Adapt from from qt4/.
45 (qt_cmd_handler): Implement default-ok and default-cancel. Escape
46 accelerators.
47
482010-09-30 Werner Koch <wk@g10code.com>
49
50 * pinentry/pinentry.h (struct pinentry): Add CLOSE_BUTTON.
51 * pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message): Send
52 BUTTON_INFO.
53 * gtk+-2/pinentry-gtk-2.c (delete_event): Set close_button.
54
552010-09-22 Werner Koch <wk@g10code.com>
56
57 * gtk+-2/pinentry-gtk-2.c (create_window): Make use of
58 default_cancel and default_ok.
59
602010-08-19 Werner Koch <wk@g10code.com>
61
62 * gtk+-2/Makefile.am (pinentry_gtk_2_SOURCES): Add gseal-gtk-compat.h.
63
64 * configure.ac (AH_TOP, AH_BOTTOM): New. Define
65 GPG_ERR_ENABLE_ERRNO_MACROS.
66
672010-06-08 Marc Mutz <marc.mutz@kdab.com> (wk)
68
69 * qt4/pinentrydialog.cpp (PinEntryDialog): Add WindowStaysOnTopHint.
70
71 * qt/pinentrydialog.cpp (PinEntryDialog): Add WStyle_StaysOnTop.
72
732010-05-12 Guido Günther <agx@sigxcpu.org> (wk)
74
75 * gtk+-2/gtksecentry.c: Make -DSEAL safe.
76 * gtk+-2/gseal-gtk-compat.h: New.
77 * gtk+-2/gtksecentry.h: Include new header.
78
792010-05-07 Werner Koch <wk@g10code.com>
80
81 * gtk+-2/pinentry-gtk-2.c (create_window): Keep the window above
82 and make sure it has the focus. Fixes bug#1162.
83
842010-05-03 Werner Koch <wk@g10code.com>
85
86 * gtk+-2/pinentry-gtk-2.c (create_window): Use
87 visibility-notify-event instead of map-event. Suggested by Ed
88 Marten.
89
902010-04-26 Werner Koch <wk@g10code.com>
91
92 * gtk+-2/pinentry-gtk-2.c (grab_failed): New.
93 (grab_keyboard): s/g_error/g_critical/. Set GRAB_FAILED.
94 (gtk_cmd_handler): Return Cancel if a grab failed.
95
962010-04-20 Marcus Brinkmann <marcus@g10code.de>
97
98 * pinentry/pinentry.c: Move include config.h to top!
99
1002010-04-19 Werner Koch <wk@g10code.com>
101
102 * gtk+-2/gtksecentry.c (gtk_secure_entry_delete_cb)
103 (gtk_secure_entry_toggle_overwrite, activate_cb)
104 (unichar_chosen_func): Comment out these unused functions.
105 (secentry_malloc): Fix format string error.
106
1072010-04-19 Stanislav Ochotnicky <sochotnicky@redhat.com> (wk)
108
109 * gtk+-2/pinentry-gtk-2.c (ungrab_keyboard): Fix segv when using
110 option -g.
111
1122010-04-16 Marcus Brinkmann <marcus@g10code.de>
113
114 * secmem/util.c: Fix inverted test.
115
1162010-04-12 Werner Koch <wk@g10code.com>
117
118 * w32/main.c (dlg_proc): Act on VK_RETURN.
119
120 * w32/pinentry-w32.rc: Include config.h. Add basic support for
121 small screens as used with WindowsCE.
122
123 * w32/Makefile.am (pinentry-w32.o): Add -I.. to the command.
124
1252010-04-08 Werner Koch <wk@g10code.com>
126
127 * pinentry/pinentry.c [W32CE]: Do not include errno.h and
128 locale.h.
129 (pinentry_have_display) [W32CE]: Do not use getenv.
130 (pinentry_parse_opts) [W32CE]: No error diagnostics due to missing
131 errno.
132 (sleep) [W32CE]: New.
133 (option_handler) [W32CE]: Ignore option --debug-wait.
134 (getpid) [W32CE]: New.
135 (pinentry_loop): Use STDIN_FILENO and STDOUT_FILENO.
136 (pinentry_loop): Factor code out to ...
137 (pinentry_loop2): New.
138 * w32/main.c (w32_strerror) [W32CE]: Do not use FormatMessage.
139 (main) [W32CE]: Do not use LockSetForegroundWindow.
140 (set_dlg_item_text): Use wchar_t for static string.
141 * secmem/util.c [W32CE]: Do not include errno.h.
142 (xwrite) [W32CE]: Shortcut EINTR loop.
143
1442010-04-07 Werner Koch <wk@g10code.com>
145
146 * autogen.sh: Modernized.
147
1482010-03-03 Werner Koch <wk@g10code.com>
149
150 Release 0.8.0.
151
1522010-03-02 Werner Koch <wk@g10code.com>
153
154 * qt4/main.cpp (from_utf8): Add extra braces for clarity.
155 (main): Copy the fixed --display string.
156
1572010-02-25 Marc Mutz <marc@kdab.com> (wk)
158
159 * qt4/main.cpp (from_utf8): don't throw InvalidUtf8(); for now,
160 fall back to QString::fromLocal8Bit()
161
1622010-02-22 Marc Mutz <marc@kdab.com> (wk)
163
164 * qt4/main.cpp (InvalidUtf8): New exception class.
165 (from_utf8): wrapper around QString::fromUtf8 throwing
166 InvalidUtf8.
167 (qt_cmd_handler): Use from_utf8 instead of QString::fromUtf8.
168 (qt_cmd_handler_ex): New wrapper around qt_cmd_handler.
169 (pinentry_cmd_handler): Use qt_cmd_handler_ex.
170
171 * qt4/main.cpp (qt_cmd_handler): Also handle accels in
172 SET{OK,NOTOK,CANCEL} string.
173
1742010-02-19 Marc Mutz <marc@kdab.com> (wk)
175
176 * qt4/main.cpp (qt_cmd_handler), qt4/pinentrydialog.cpp
177 (PinentryDialog::PinEntryDialog): Use the button icons that come
178 with Qt.
179
180 * qt4/pinentry_qrc, qt4/qrc_pinentry.cpp: New.
181 * qt4/gtk-cancel.png, qt4/gtk-ok.png: Removed.
182 * qt4/Makefile.am (EXTRA_DIST): Remove the GTK icons, add
183 pinentry.qrc.
184 (pinentry_qt4_SOURCES): add qrc_pinentry.cpp.
185
186 * qt4/main.cpp (qt_cmd_handler): Remove i18n support again.
187
188 * qt4/pinentrydialog.cpp (PinentryDialog::PinentryDialog):
189 set PIN entry field as buddy of its prompt
190
191 * qt4/main.cpp (escape_accel): New.
192 (qt_cmd_handler): use it on default_cancel, default_ok, prompt.
193
194 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp
195 (PinEntryDialog::PinEntryDialog): don't use a nested vbox layout.
196
197 * qt4/pinentrydialog.h: replace include file with forward decl.
198 * qt4/pinentrydialog.cpp: add include file here.
199
200 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp
201 (PinentryDialog::keyPressEvent()): Removed.
202
203 * qt/4pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): use
204 QLayout::SetFixedSize instead of rolling our own solution.
205 * qt4/pinentrydialog.h: (PinentryDialog::setFixedSize): Removed.
206 * qt4/pinentrydialog.moc: Re-created.
207
208 * qt4/main.cpp: (qt_cmd_handler) make Cancel the default button
209 for CONFIRM
210
211 * qt4/main.cpp: (qt_cmd_handler) implement the confirm/message
212 logic correctly
213
214 * qt4/pinentrydialog.h (accepted, rejected): Removed; already
215 provided by base class.
216 * qt4/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Use
217 QDialog::{accepted,rejected}.
218 * qt4/pinentrydialog.moc: Re-created.
219
220 * qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: Make compatible
221 with newer Qt version.
222
2232010-02-19 Werner Koch <wk@g10code.com>
224
225 * gtk+-2/pinentry-gtk-2.c (create_window): Allow mnemonics in
226 button labels.
227
228 * pinentry/pinentry.h (struct pinentry): Add default_prompt.
229 * pinentry/pinentry.c (option_handler): Support "default-prompt".
230 (cmd_getpin): Use it.
231 (noprefix_strdup): Remove; should be done by caller.
232
2332010-02-17 Werner Koch <wk@g10code.com>
234
235 * pinentry/pinentry.h (struct pinentry): Add default_ok and
236 default_cancel.
237 * pinentry/pinentry.c (noprefix_strdup): New.
238 (option_handler): Support "default-ok" and "default-cancel".
239 (strcpy_escaped): Change second arg from unsigend char to char.
240
2412010-02-16 Werner Koch <wk@g10code.com>
242
243 * qt4/document-encrypt.png, qt4/gtk-cancel.png, qt4/gtk-ok.png: New.
244 * qt4/Makefile.am (EXTRA_DIST): Add them.
245
2462010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
247
248 Also attributed to Marc Mutz <marc@kdab.com>.
249
250 * qt4/main.cpp, qt/pinentrydialog.cpp: If the style says so,
251 set (GTK) icons on OK and Cancel buttons.
252
2532010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
254
255 * qt4/main.cpp: Use an explicit QMessageBox instead of the
256 'information' convenience method. We do this for two reasons:
257 1. So we can set our own icon (icon()). 2. So we can call our
258 raiseWindow() function on it.
259
2602010-02-15 Christoph Schleifenbaum <christoph@kdab.com>
261
262 * qt4/main.cpp: Use title. Use Qt translation of "OK" and "Cancel"
263
264 * qt4/pinentrydialog.cpp: Don't show the question-mark icon in the
265 window title.
266
2672010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
268
269 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp: Use the
270 document-encrypt icon instead of the
271 QMessageBox::{Information,Critical} ones.
272
2732010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
274
275 Also attributed to Marc Mutz <marc@kdab.com>.
276
277 * qt4/pinentrydialog.cpp: Properly show/hide optional widgets.
278
2792010-02-15 Christoph Schleifenbaum <christoph@kdab.com>
280
281 * qt4/pinentrydialog.cpp: Set text color or error label to red.
282
2832010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
284
285 Also attributed to Marc Mutz <marc@kdab.com>.
286
287 * qt4/pinentrydialog.cpp: Gather scattered layouting code, use a
288 single gridlayout for all, and use QDialogButtonBox.
289
2902010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
291
292 * qt4/pinentrydialog.cpp: Call SetForegroundWindow on showEvent()
293 and set a fixed size on the dialog.
294
295 * qt4/main.cpp: Set document-encrypt as the window icon.
296
2972010-02-15 Marc Mutz <marc@kdab.com> (wk)
298
299 * qt4/main.cpp: Load the correct Qt translation file based on
300 either lc_messages or the current locale.
301
302 * qt4/main.cpp: Use pinentry_t->parent_wid also for message-box
303 case.
304
305 * qt4/main.cpp: Properly delete the QApplication.
306
3072010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk)
308
309 * qt4/main.cpp: Remove guard clause with impossible condition.
310
311 * qt4/main.cpp: Respect pinentry_t->title.
312
313 * qt4/main.cpp: Include config.h.
314
3152009-12-16 Marcus Brinkmann <marcus@g10code.de>
316
317 * gtk+-2/gtksecentry.c: Don't translate properties.
318 Patch by Guido Guenther <agx@sigxcpu.org>.
319
3202009-12-02 Werner Koch <wk@g10code.com>
321
322 * secmem/util.c: Re-indent function names.
323 (TEMP_FAILURE_RETRY): Remove because it is non-portable.
324 (xwrite): Open code the EINTR retry.
325 * pinentry/pinentry-curses.c (dialog_run): Replace '\e' by a
326 standard escape. Reported by Wyllys Ingersoll.
327
3282009-08-10 Marcus Brinkmann <marcus@g10code.de>
329
330 * pinentry/pinentry.c [!ENABLE_ENHANCED]: Remove option enhanced.
331 * pinentry/pinentry.h (struct pinentry) [!ENABLE_ENHANCED]: Remove
332 member enhanced.
333 * gtk+-2/pinentry-gtk-2.c: New macro.
334 (button_clicked, create_window) [!ENABLE_ENHANCED]: Disable code.
335 * gtk/pinentry-gtk.c (button_clicked, create_window): Likewise.
336 * doc/pinentry.texi (Using pinentry): Comment out enhanced option.
337
3382009-07-10 Till Adam <till@kdab.com>
339
340 * qt4/pinentrydialog.cpp (PinEntryDialog): Redesign the dialog to
341 be prettier.
342
3432009-06-19 Marcus Brinkmann <marcus@g10code.de>
344
345 * configure.ac: Post-release changes.
346
347 Release version 0.7.6.
348
349 * configure.ac: Bump version.
350
3512009-01-29 Bernhard Reiter <bernhard@intevation.de>
352
353 * doc/pinentry.texi (Using pinentry): Fix typo.
354
3552009-04-24 Guido Guenther <agx@sigxcpu.org>
356
357 * gtk+-2/gtksecentry.c (gtk_secure_entry_class_init): Don't
358 install "gtk-entry-select-on-focus" settings property since it
359 clashes with the one from GtkEntry.
360 (gtk_secure_entry_grab_focus): Create a temporary GtkEntry widget
361 to read that value instead. Allows to have GtkEntry and
362 GtkSecureEntry in the same process.
363
3642009-06-19 Marcus Brinkmann <marcus@g10code.de>
365
366 Suggested by Simon McVittie:
367 * gtk+-2/gtksecentry.c (g_malloc, g_realloc, g_free): Renamed to
368 secentry_malloc, secentry_realloc.
369 (g_malloc0): Removed.
370 (GMALLOC_SIZE): Move to ...
371 * gtk+-2/gtksecentry.h (GMALLOC_SIZE): ... here.
372 (secentry_malloc, secentry_realloc, secentry_free): New prototypes.
373 * gtk+-2/pinentry-gtk-2.c (main): Set memory allocation vtable.
374
3752009-05-04 Till Adam <till@kdab.net>
376
377 * qt4/main.cpp (qt_cmd_handler): Use WId instead of HWND.
378
3792009-04-14 Marcus Brinkmann <marcus@g10code.de>
380
381 * pinentry/pinentry.h (struct pinentry): New member NOTOK.
382 Rename member USER_CLOSED to CANCELED.
383 * pinentry/pinentry.c: Add initializer for NOTOK.
384 (register_commands): Add SETNOTOK.
385 * pinentry/pinentry-curses.c (STRING_NOTOK): New macro.
386 (dialog_pos_t): New value DIALOG_POS_NOTOK.
387 (struct dialog): New members notok, notok_x, notok_y.
388 (dialog_create): Implement NOTOK.
389 (dialog_switch_pos): Likewise.
390 (dialog_run): Likewise.
391 * gtk+-2/pinentry-gtk-2.c: Rename confirm_yes to confirm_value.
392 (confirm_value_t): New type. Use it for confirm_value.
393 (window_closed): Remove.
394 (confirm_button_clicked): Set confirm_value.
395 (create_window): Implement NOTOK.
396 (gtk_cmd_handler): Implement cancel behaviour a bit differently.
397
3982009-04-09 Marcus Brinkmann <marcus@g10code.de>
399
400 * qt4/qsecurelineedit.h (QSecureLineEdit): Don't export.
401
4022009-04-06 Marcus Brinkmann <marcus@g10code.de>
403
404 * configure.ac: Portability fixes.
405
4062009-04-03 Marcus Brinkmann <marcus@g10code.de>
407
408 * qt4/Makefile.am (pinentry_qt4_SOURCES): Add qsecurelineedit_p.h.
409
410 * secmem/Makefile.am (libsecmem_a_SOURCES): Add secmem++.h.
411 * qt4/Makefile.am (pinentry_qt4_SOURCES): Add pinentrydialog.moc
412 and qsecurelineedit.
413
414 * configure.ac: Incorporate revision number in version string.
415
4162009-04-02 Till Adam <till@kdab.net>
417
418 * qt4/qsecurelineedit.moc, qt4/main.cpp, qt4/pinentrydialog.moc,
419 qt4/qsecurelineedit.cpp, qt4/pinentrydialog.cpp,
420 qt4/pinentrydialog.h: Implement quality bar and grabbing.
421
422 * qt4/pinentrydialog.cpp (PinEntryDialog): Enable word wrapping.
423
4242009-04-03 Marcus Brinkmann <marcus@g10code.de>
425
426 * qt4/main.cpp (qt_cmd_handler): Cast window handle ID.
427
4282009-03-19 Werner Koch <wk@g10code.com>
429
430 * pinentry/pinentry.h (struct pinentry): Add field user_closed.
431 * pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message):
432 Reset this field.
433 (cmd_confirm): Return cancel if the user closed the window.
434 * gtk+-2/pinentry-gtk-2.c (window_closed): New.
435 (gtk_cmd_handler, delete_event): Set it.
436
4372009-02-19 Marcus Brinkmann <marcus@g10code.de>
438
439 * secmem/secmem++.h: New file.
440 * qt4/Makefile.am, qt4/main.cpp, qt4/pinentrydialog.cpp,
441 qt4/pinentrydialog.h: Changes to use secure memory.
442 * qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: New files.
443 * qt4/qsecurelineedit.cpp, qt4/qsecurelineedit.h,
444 qt4/qsecurelineedit_p.h, qt4/secstring.h, qt4/secstring.cpp: New
445 files.
446 Submitted by Marc Mutz <marc@kdab.net>.
447
4482008-12-08 Werner Koch <wk@g10code.com>
449
450 * qt/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8.
451 * qt4/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8.
452
4532008-11-12 Ludovic Rousseau <ludovic.rousseau@gmail.com> (wk)
454
455 * pinentry/pinentry.h (struct pinentry): Add field TITLE.
456 * pinentry/pinentry.c (cmd_settitle): New.
457 (register_commands): Add command SETTITLE.
458 * gtk+-2/pinentry-gtk-2.c (create_window): Set the title.
459
4602008-10-17 Werner Koch <wk@g10code.com>
461
462 * secmem/memory.h: Add C++ extern declaration.
463
464 * secmem/secmem.c (secmem_get_max_size): New.
465
4662008-07-25 Marcus Brinkmann <marcus@ulysses.g10code.com>
467
468 * qt4/Makefile.am (DISTCLEANFILES): Rename to CLEANFILES.
469 (BUILD_SOURCES): New.
470
4712008-07-25 Marcus Brinkmann <marcus@g10code.de>
472
473 * configure.ac: Prefer pinentry gtk2 over gtk. Now also choose
474 qt4 (after qt and before w32 native).
475 * README: Document Qt.
476
4772008-07-24 Marcus Brinkmann <marcus@g10code.de>
478
479 * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp, qt4/main.cpp,
480 qt4/Makefile.am: New files.
481 * configure.ac: Add check for Qt4.
482 (AC_CONFIG_FILES): Add qt4/Makefile.am.
483 * Makefile.am (pinentry_qt4): New variable.
484 (SUBDIRS): Add ${pinentry_qt4}.
485
4862008-07-23 Werner Koch <wk@g10code.com>
487
488 * secmem/secmem.c (secmem_init): Fix apostrophe in error
489 message. Reported by Petr Uzel.
490
4912008-05-05 Marcus Brinkmann <marcus@ulysses.g10code.com>
492
493 * gtk+-2/gtksecentry.c (GMALLOC_SIZE): New symbol.
494 (g_malloc, g_malloc0, g_realloc): Use GMALLOC_SIZE instead of
495 gulong for size attribute.
496
4972008-03-03 Marcus Brinkmann <marcus@g10code.de>
498
499 * gtk+-2/pinentry-gtk-2.c (create_window): Install realize callback.
500 (ungrab_keyboard): Unmake dialog transient.
501 (make_transient): New function.
502 Submitted by Joachim Breitner.
503
5042008-02-15 Werner Koch <wk@g10code.com>
505
506 Release 0.7.4.
507
5082008-02-14 Werner Koch <wk@g10code.com>
509
510 * configure.ac: Check for -Wno-pointer-sign.
511
512 * pinentry/pinentry.c (cmd_getinfo): New.
513 (register_commands): Register it.
514
5152008-01-02 Marcus Brinkmann <marcus@g10code.de>
516
517 * configure.ac: Use PKG_CONFIG instead of PKGCONFIG and
518 pkg-config. Use AC_PATH_PROG instead of AC_CHECK_PROG.
519
520 * Makefile.am (install-exec-local): Add exe extension to link.
521
5222007-11-29 Marcus Brinkmann <marcus@g10code.de>
523
524 Released 0.7.4.
525
5262007-11-19 Werner Koch <wk@g10code.com>
527
528 * doc/pinentry.texi (Protocol): Typo fixes by Bernhard Herzog.
529 Describe SETQUALITYBAR_TT.
530
5312007-11-19 Bernhard Herzog <bernhard.herzog@intevation.de> (wk)
532
533 * qt/pinentrydialog.cpp (PinEntryDialog): Fixed crash
534
5352007-11-19 Werner Koch <wk@g10code.com>
536
537 * gtk+-2/pinentry-gtk-2.c (create_window): Use again map-event and
538 unmap-event as this works on my setup far more reliable than
539 expose-event/no-expose-event.
540
541 * gtk+-2/gtksecentry.c (get_cursor_time): s/time/blinktime/ t
542 avoid shadowing warning.
543
544 * pinentry/pinentry.h (struct pinentry): Change QUALITY_BAR to a
545 char ptr.
546 (struct pinentry): Add QUALITY_BAR_TT.
547 * pinentry/pinentry.c (cmd_setqualitybar): Allow to set a label text.
548 (cmd_setqualitybar_tt): New.
549 * gtk+-2/pinentry-gtk-2.c (create_window): Take label and tooltip
550 from global.
551 * qt/pinentrydialog.h (setQualityBar, setQualityBarTT)
552 (_quality_bar_label): New.
553 * qt/pinentrydialog.cpp (setQualityBar, setQualityBarTT): New.
554 (PinEntryDialog): Remove setting of tooltip.
555
556 * qt/main.cpp (qt_cmd_handler): Propagate quality bar label and tootip.
557
5582007-11-19 Bernhard Herzog <bernhard.herzog@intevation.de> (wk)
559
560 * qt/pinentrydialog.cpp (PinEntryDialog): Move the quality bar
561 below the text entry and align them properly. Show a tooltip.
562 * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. Don't let it
563 change its height.
564 (QUALITYBAR_EMPTY_TEXT): New.
565
5662007-09-18 Werner Koch <wk@g10code.com>
567
568 * qt/secqlineedit.h (SecQLineEdit): New signal textModified.
569 * qt/secqlineedit.cpp (finishChange): Emit it.
570 * qt/pinentrydialog.cpp (setPinentryInfo): New.
571 (PinEntryDialog): Add arg ENABLE_QUALITY_BAR.
572 * qt/pinentrydialog.h (setPinentryInfo): New.
573 (PinEntryDialog): Add arg ENABLE_QUALITY_BAR.
574
575 * pinentry/pinentry.h (struct pinentry): Add member QUALITY_BAR
576 and CTX_ASSUAN.
577 * pinentry/pinentry.c (cmd_setqualitybar): New.
578 (copy_and_escape): New.
579 (pinentry_inq_quality): New.
580
5812007-07-09 Werner Koch <wk@g10code.com>
582
583 * doc/pinentry.texi: Fixed direntry syntax.
584
585 * configure.ac: Add --without-libcap. From the Gentoo patch archive.
586
587 * gtk+-2/pinentry-gtk-2.c (create_window): Use expose-event
588 instead of map-event. From Alon Bar-Lev.
589
5902007-07-06 Werner Koch <wk@g10code.com>
591
592 Released 0.7.3.
593
594 * config.sub, config.guess: Updated from current Savannah CVS.
595
5962007-06-27 Werner Koch <wk@g10code.com>
597
598 * w32/main.c: Revamped the SetFocus stuff. It is all not that easy.
599
6002007-06-26 Werner Koch <wk@g10code.com>
601
602 * w32/Makefile.am (pinentry_w32_LDFLAGS): Add -mconsole again.
603
604 * w32/main.c (dlg_proc): Set focus.
605 (resize_button): New. No code yet.
606 (dlg_proc): Call it for the buttons.
607 (w32_cmd_handler): Restore old foreground window.
608
6092007-06-20 Werner Koch <wk@g10code.com>
610
611 * w32/Makefile.am (pinentry_w32_LDFLAGS): Remove -mconsole.
612
613 * w32/main.c (wchar_to_utf8): New.
614 (ok_button_clicked): Use it.
615 (utf8_to_wchar): New.
616 (set_dlg_item_text): New.
617 (dlg_proc): Use new function so that we are able to correctly
618 display all prompts.
619 (main): Load LockSetForegroundWindow.
620 (dlg_proc): Call LockSetForegroundWindow via its fnc ptr.
621 (center_window): New. Taken from GPGol.
622 (dlg_proc): Call it.
623 (w32_cmd_handler): Revamped the confirm mode.
624
6252007-06-18 Werner Koch <wk@g10code.com>
626
627 * w32/main.c (dlg_proc): Call LockSetForegroundWindow.
628
629 * Makefile.am (signed-dist, %.sig): Remove.
630
631 * autogen.sh: Modernized.
632
6332007-05-10 Marcus Brinkmann <marcus@g10code.de>
634
635 * pinentry/pinentry.h (pinentry_color_t): New type.
636 (struct pinentry): New members COLOR_FG, COLOR_FG_BRIGHT,
637 COLOR_BG, COLOR_SO.
638 * pinentry/pinentry.c (pinentry_parse_opts): Support new option --colors.
639 (parse_color): New function.
640 * pinentry/pinentry-curses.c (USE_COLORS): New macro.
641 (pinentry_color): New static variable.
642 (dialog_create): Redo color management.
643
644 * pinentry/pinentry-curses.c (dialog_create): Re-add calculation
645 of cancel button position. Adjust calculation of OK button
646 position if it is the only one used.
647
6482007-04-13 Marcus Brinkmann <marcus@g10code.de>
649
650 * qt/secqlineedit.h (SecQLineEdit::contextMenuEvent,
651 SecQLineEdit::createPopupMenu): Remove prototype.
652 * qt/secqlineedit.cpp (SecQLineEdit::contextMenuEvent,
653 SecQLineEdit::createPopupMenu): Remove implementation.
654 Submitted by Tobias Koenig <tokoe@kde.org>.
655
6562007-02-14 Werner Koch <wk@g10code.com>
657
658 * pinentry/pinentry.h (struct pinentry): Add TOUCH_FILE.
659 * pinentry/pinentry.c (option_handler): New option "touch-file".
660 (pinentry_have_display): Ignore an empty DISPLAY.
661 * pinentry/pinentry-curses.c (do_touch_file): New.
662 (curses_cmd_handler): Call it.
663 * configure.ac: Check for utime.h.
664
6652007-01-24 Werner Koch <wk@g10code.com>
666
667 * pinentry/pinentry.c (cmd_message): New.
668 (cmd_confirm): New command option --one-button.
669 (cmd_getpin): Zeroise ONE_BUTTON.
670 * pinentry/pinentry.h (struct pinentry): Add field ONE_BUTTON.
671 * gtk/pinentry-gtk.c (create_window): Take care of new option.
672 * gtk+-2/pinentry-gtk-2.c (create_window): Ditto.
673 * pinentry/pinentry-curses.c (dialog_create): Ditto.
674 (dialog_create, dialog_switch_pos): Allow CANCEL to be optional.
675
6762006-07-29 Marcus Brinkmann <marcus@g10code.de>
677
678 * secmem/secmem.c (init_pool): Close FD after establishing the
679 mapping.
680
6812005-09-28 Marcus Brinkmann <marcus@g10code.de>
682
683 * configure.ac (PINENTRY_GTK): Error out if iconv is not found but
684 needed.
685
686 * config.rpath: New file from gettext. Needed by iconv.m4.
687
6882005-07-11 Marcus Brinkmann <marcus@g10code.de>
689
690 * pinentry/pinentry-curses.c (dialog_switch_pos): Set the cursor
691 state to invisible before moving around. Move the cursor to the
692 beginning of the dialog buttons for accessibility.
693
6942005-06-16 Marcus Brinkmann <marcus@g10code.de>
695
696 * pinentry/pinentry-curses.c (dialog_run): Only convert pin if a
697 pin actually exists.
698
6992005-01-27 Werner Koch <wk@g10code.com>
700
701 Released 0.7.2.
702
703 * gtk+-2/Makefile.am: Removed padlock-keyhole.xpm.
704
705 * configure.ac: Use AC_GNU_SOURCE instead of the custom define.
706 Prefer gtk2 pinentry over qt.
707
7082005-01-21 Marcus Brinkmann <marcus@g10code.de>
709
710 * doc/pinentry.texi: Fix spelling errors.
711 Submitted by Ville Skyttä.
712
7132004-12-23 Werner Koch <wk@g10code.com>
714
715 * w32/pinentry-w32.rc: Remove the default texts for description,
716 prompt and error. Make it system modal. Enlarge the description
717 field.
718
7192004-12-22 Timo Schulz <twoaday@g10code.com>
720
721 * w32/main.c: Remove all helper functions and use a callback
722 to set the dialog items directly.
723 (dlg_proc): Set 'result' to -1 to indicate cancel.
724 (ok_button_clicked): Adjusted. Set 'result' to the len of
725 the PIN to indicate success.
726
7272004-12-22 Werner Koch <wk@g10code.com>
728
729 * w32/main.c: Simplified.
730 * w32/dialog.h, w32/dialog.c, w32/controller.h, w32/controller.c:
731 Removed
732
733 * w32/resource.h, w32/pinentry-w32.rc, w32/main.c, w32/dialog.h
734 * w32/dialog.c, w32/controller.h, w32/controller.c
735 * w32/Makefile.am: New. Based on Timo's work.
736
737 Update to automake 1.9.
738
739 * autogen.sh (configure_ac): Add --build-w32 option.
740 * Makefile.am: Support for the W32 pinentry.
741 * configure.ac: Ditto. Reformatted some error messages.
742 Define the usual conditionals for W32.
743 Check for a couple of more usually required headers.
744
745 * pinentry/pinentry.h (sleep) [W32]: New.
746
747 * pinentry/pinentry.c: Include langinfo.h only if available.
748 (pinentry_loop) [DOSISH]: Don't do uid check.
749
750 * secmem/util.c [DOSISH]: Disable UID stuff.
751
7522004-09-27 Marcus Brinkmann <marcus@g10code.de>
753
754 * acinclude.m4 (IU_LIB_NCURSES, IU_LIB_CURSES, IU_LIB_TERMCAP):
755 Moved to m4/curses.m4.
756 (AM_ICONV): Moved to m4/iconv.m4.
757 (AM_PATH_GLIB): Moved to m4/glib.m4.
758 (QT_FIND_FILE, QT_PATH_MOC, QT_PATH_X, QT_PRINT_PROGRAM,
759 QT_CHECK_VERSION, QT_PATH_1_3, QT_PATH, QT_CHECK_COMPILER_FLAG,
760 QT_REMOVE_FORBIDDEN, QT_VALIDIFY_CXXFLAGS, QT_CHECK_COMPILERS,
761 QT_CHECK_RPATH, QT_CHECK_LIBPTHREAD, QT_CHECK_PTHREAD_OPTION,
762 QT_CHECK_THREADING): Move to m4/qt.m4.
763
7642004-09-21 Marcus Brinkmann <marcus@g10code.de>
765
766 * qt/Makefile.am (pinentry_qt_LDFLAGS): Add $(QT_RPATH).
767 Requested by Leo Savernik <l.savernik@aon.at>.
768
7692004-09-02 Marcus Brinkmann <marcus@g10code.de>
770
771 * gtk+-2/padlock-keyhole.xpm: File removed.
772 * gtk+-2/pinentry-gtk-2.c (create_window): Use stock icon.
773 * gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c: Fix copyright notice.
774
775 Submitted by Albrecht Dress albrecht.dress@arcor.de.
776
7772004-08-17 Marcus Brinkmann <marcus@g10code.de>
778
779 * configure.ac: Invoke AC_PROG_LN_S.
780 (PINENTRY_DEFAULT): New variable. Substitute it. Fail if no
781 default can be determined.
782 * Makefile.am (install-exec-local): Install pinentry default link.
783
784 * configure.ac: Check for Gtk+-2.
785 * gtk+-2: New directory with gtk+-2 pinentry.
786 * gtk+-2/Makefile.am, gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c,
787 gtk+-2/pinentry-gtk-2.c, gtk+-2/padlock-keyhole.xpm: New files.
788 * Makefile.am (pinentry_gtk_2): New variable.
789 (SUBDIRS): Add pinentry_gtk_2.
790
791 Submitted by Albrecht Dress albrecht.dress@arcor.de.
792
7932004-08-04 Werner Koch <wk@g10code.de>
794
795 * pinentry/pinentry.c (usage): Print help to stdout.
796
7972004-07-30 Moritz Schulte <moritz@g10code.com>
798
799 * qt/Makefile.am (ncurses_include): Removed
800 -I$(top_srcdir)/pinentry ...
801 (AM_CPPFLAGS): ... added: -I$(top_srcdir)/pinentry. Thanks to
802 Peter Eisentraut.
803
804 * pinentry/pinentry.c (pinentry_utf8_to_local): Declare INPUT
805 const.
806 (pinentry_local_to_utf8): Likewise.
807 (pinentry_utf8_to_local, pinentry_local_to_utf8): Compile only, if
808 either Curses or GTK+ support is enabled.
809 * configure.ac: Do also check for libiconv when the GTK+ version
810 of pinentry is to be build. Define PINENTRY_CURSES, PINENTRY_GTK,
811 PINENTRY_QT depending on which versions of pinentry should be
812 build.
813
8142004-05-21 Marcus Brinkmann <marcus@g10code.de>
815
816 * acinclude.m4 (QT_CHECK_DIRECT): Removed.
817 (QT_PATH_1_3): Do never invoke QT_CHECK_DIRECT.
818
8192004-04-21 Werner Koch <wk@gnupg.org>
820
821 Released 0.7.1.
822
8232004-04-20 Werner Koch <wk@gnupg.org>
824
825 * secmem/secmem.c [!ORIGINAL_GPG_VERSION]: Include util.h for some
826 typedefs and protos.
827 (secmem_free, secmem_term): Use wipememory2 instead of memset.
828
829 * autogen.sh (configure_ac): Fixed version check (s/==/=/).
830
8312004-04-02 Thomas Schwinge <schwinge@nic-nac-project.de>
832
833 * autogen.sh: Added ACLOCAL_FLAGS.
834
8352004-02-23 Marcus Brinkmann <marcus@g10code.de>
836
837 * qt/main.cpp: Include "pinentry.h", not <pinentry.h>.
838
8392004-01-30 Werner Koch <wk@gnupg.org>
840
841 * configure.ac (fopencookie): Remove that test.
842
8432004-01-28 Moritz Schulte <mo@g10code.com>
844
845 * gtk/gtksecentry.c:
846 (gtk_secure_entry_key_press): Treat GDK_KP_Enter just like
847 GDK_Return.
848
8492004-01-18 Marcus Brinkmann <marcus@g10code.de>
850
851 * qt/secqstring.cpp: Do not include "private/qunicodetables_p.h".
852 (isRightToLeft): De-optimize direction query.
853
854 * qt/secqinternal_p.h, qt/secqinternal.cpp: New files.
855 * qt/Makefile.am (pinentry_qt_SOURCES): Add secqinternal_p.h
856 and secqinternal.cpp.
857 (EXTRA_DIST): Add README.SecQ.
858 * qt/secqlineedit.cpp: Include "secqinternal_p.h".
859 (drawContents): Use SecQSharedDoubleBuffer.
860
8612004-01-02 Werner Koch <wk@gnupg.org>
862
863 * configure.ac: Early check for a c++ compiler.
864
8652003-12-23 Werner Koch <wk@gnupg.org>
866
867 Released 0.7.0.
868
869 Added Manifest files to all directories.
870
8712003-12-22 Werner Koch <wk@gnupg.org>
872
873 * qt/main.cpp: Include errno.h.
874 (main): Translate the --display option to -display, so that the Qt
875 init code can grasp it.
876
877 * doc/ChangeLog: Removed and merged with this file.
878 * doc/pinentry.texi: Cleaned up.
879 * doc/fdl.texi: Removed.
880
881 * pinentry/pinentry.h (struct pinentry): Added LOCALE_ERR.
882 * gtk/pinentry-gtk.c (button_clicked): Set the LOCAE_ERR flag.
883 * pinentry/pinentry-curses.c (dialog_run): Ditto.
884 * pinentry/pinentry.c (cmd_getpin, cmd_confirm): Check this flag.
885 (pinentry_local_to_utf8): Release the correct buffer in the error
886 case. Print diagnostics.
887 (pinentry_utf8_to_local): Print diagnostics.
888 (pinentry_parse_opts): Make short options work.
889 (pinentry_utf8_to_local): Pass nl_langinfo to iconv_open.
890
891 * gtk/pinentry-gtk.c (button_clicked): Use the right value as
892 input for the conversion.
893
894 * pinentry/pinentry.c: New variable THIS_PGMNAME.
895 (pinentry_init): Add arg PGMNAME and store it. Use it at all
896 marked placed instead of the constant "pinentry".
897 (usage): Use it here too.
898 * curses/pinentry-curses.c (main): Call pinentry_init with our name.
899 * qt/main.cpp (main): Ditto.
900 * gtk/pinentry-gtk.c (main): Ditto.
901
902 * configure.ac: Check for mmap.
903
904 * secmem/util.h (wipememory2,wipememory,wipe): New.
905 * secmem/util.c (wipe): Removed.
906 * secmem/util.c (lower_privs, raise_privs): Commented out.
907
908 * pinentry/pinentry.c (pinentry_loop): Add paranoia check for
909 dropped privs.
910
911 * secmem/secmem.c (lock_pool): Cleanup syntax of cpp directives.
912
913 * gtk/pinentry-gtk.c (main): Print package name in the version line.
914 * curses/pinentry-curses.c (main): Ditto.
915 * qt/main.cpp (main): Ditto. Fixed typo.
916
917 * gtk/pinentry-gtk.c: Include memory.h.
918
9192003-12-20 Marcus Brinkmann <marcus@g10code.de>
920
921 * pinentry/pinentry.h (struct pinentry): New member PARENT_WID.
922 * pinentry/pinentry.c (pinentry): Add new member here.
923 (usage): Add --parent-wid.
924 (pinentry_parse_opts): Add case for "parent-wid".
925 (option_handler): Same here.
926
9272003-12-19 Marcus Brinkmann <marcus@g10code.de>
928
929 * pinentry/pinentry.c (cmd_setcancel): Use strcpy_escaped.
930 (cmd_setok): Likewise.
931 (cmd_setprompt): Likewise.
932 (pinentry_utf8_to_local): Don't use
933 nl_langinfo, but just lc_ctype directly.
934 * pinentry/pinentry.c (cmd_getpin): Do not convert passphrase to
935 UTF-8 here.
936 * gtk/pinentry-gtk.c (button_clicked): Convert passphrase to UTF8
937 here.
938 * pinentry/pinentry-curses.c (dialog_run): Likewise.
939
9402003-12-14 Marcus Brinkmann <marcus@g10code.de>
941
942 * pinentry/pinentry.c (pinentry_init): Register secmem_term as
943 atexit function. Set assuan malloc hooks to secmem.
944 (pinentry_parse_opts): Add break statement to silence gcc warning.
945 * pinentry/pinentry.c (cmd_getpin): If canceled, release and clear
946 PINENTRY->pin nevertheless.
947
948 * acinclude.m4 (qt_incdirs): Add /usr/include/qt3.
949 * qt/Makefile.am (pinentry_qt_SOURCES): Remove cppmemory.h,
950 cppmemory.cpp, pinentrycontroller.h, pinentrycontroller.cpp.
951 (nodist_pinentry_qt_SOURCES): Remove pinentrycontroller.moc.cpp.
952 (libcurses): Move ../pinentry/libpinentry.a from here to ...
953 (pinentry_qt_LDADD): ... here. Change order a bit to make it
954 work.
955 * qt/cppmemory.h, qt/cppmemory.cpp, qt/pinentrycontroller.h,
956 qt/pinentrycontroller.cpp: Files removed.
957 * qt/secqstring.h, qt/secqstring.cpp, secqlineedit.h,
958 secqlineedit.cpp: New files.
959 * qt/Makefile.am (pinentry_qt_SOURCES): Add secqstring.h,
960 secqstring.cpp, secqlineedit.h, and secqlineedit.cpp.
961 (nodist_pinentry_qt_SOURCES): Add secqlineedit.moc.cpp.
962 * qt/main.cpp: Do not include "memory.h" or "secmem-util.h", nor
963 <new> or "pinentrycontroller.h". Include <qapplication.h>,
964 <qmessagebox.h>, <qwidget.h> and "secqstring.h". Always include
965 <pinentry.h>.
966 [USE_KDE]: Remove all instances.
967 (curses_main): Function removed.
968 (my_new_handler): Likewise.
969 (qt_main): Likewise.
970 (qt_cmd_handler): New function.
971 (pinentry_cmd_handler): Define always (to qt_cmd_handler).
972 (main): Rewritten.
973 * qt/pinentrydialog.cpp: Do not include <qlineedit.h>, but
974 "secqlineedit.h".
975 (PinEntryDialog::PinEntryDialog): Make _edit a SecQLineEdit
976 object. Connect accepted SIGNAL to accept SLOT, and rejected
977 SIGNAL to reject SLOT.
978 (PinEntryDialog::setText): Make argument SecQString rather than
979 QString.
980 (PinEntryDialog::text): Likewise for return value.
981 * qt/pinentrydialog.h: Declare SecQString and SecQLineEdit classes.
982 (class PinEntryDialog): Disable property text (for now). Adjust
983 argument of setText and return value of text, as well as type of
984 _edit.
985
9862003-12-09 Werner Koch <wk@gnupg.org>
987
988 * README.CVS: New.
989 * Makefile.am (EXTRA_DIST): Add README.CVS
990 (ACLOCAL_AMFLAGS): New.
991 * configure.ac: Added min_automake_versions.
992 * autogen.sh: Revamped.
993
9942003-04-23 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
995
996 * configure.ac: Version 0.6.10-cvs
997
9982003-04-23 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
999
1000 * configure.ac: Version 0.6.9
1001 * qt/Makefile.am: Added moc files to DISTCLEANFILES
1002 * qt/pinentrycontroller.cpp: Dont spew assuan debug stuff out on stderr.
1003
10042003-03-26 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
1005
1006 * qt/cppmemory.cpp, qt/main.cpp: Only override array allocation
1007 operators. This should take care of the reported memory-problems
1008 and even make pinentry-qt use a bit less memory.
1009
10102003-02-15 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
1011
1012 * qt/pinentrydialog.h, qt/pinentrydialog.cpp: Added icons
1013 for error/non-error messages.
1014
10152003-02-07 Marcus Brinkmann <marcus@g10code.de>
1016
1017 Released 0.6.8.
1018
10192003-02-04 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
1020
1021 * qt/main.cpp: Work around '--display' option. This fixes
1022 the pinentry-qt problem reported by several people lately.
1023
10242003-01-24 Werner Koch <wk@gnupg.org>
1025
1026 * autogen.sh: Print a hint to use maintainer mode.
1027
10282002-12-24 Marcus Brinkmann <marcus@g10code.de>
1029
1030 * pinentry/pinentry-curses.c (collect_line): New function.
1031 (COPY_OUT, MAKE_BUTTON): New macros.
1032 (dialog_create): Rewrite the initializing code and the description
1033 calculation routine with word wrapping.
1034
10352002-11-20 Werner Koch <wk@gnupg.org>
1036
1037 Released 0.6.7.
1038
1039 * pinentry/pinentry-curses.c (dialog_create): Better truncate
1040 lines than to go into an infinite loop. We need to implement word
1041 wrap.
1042 (dialog_run): Add DIALOG_POS_NONE to switch so prevent a warning.
1043
10442002-11-12 Werner Koch <wk@gnupg.org>
1045
1046 * config.sub, config.guess: Updated from ftp.gnu.org/gnu/config
1047 to version 2002-11-08.
1048
10492002-11-09 Werner Koch <wk@gnupg.org>
1050
1051 Released 0.6.6.
1052
10532002-11-08 Werner Koch <wk@gnupg.org>
1054
1055 * pinentry/pinentry-curses.c (convert_utf8_string): Renamed to
1056 * pinentry/pinentry.c (pinentry_utf8_to_local): this. Changed
1057 callers.
1058 (pinentry_local_to_utf8): New.
1059 (cmd_getpin): Convert result back to UTF-8.
1060 * gtk/pinentry-gtk.c (create_utf8_label): New.
1061 (create_window): Use it here to set the prompts.
1062
10632002-11-06 Werner Koch <wk@gnupg.org>
1064
1065 * pinentry/pinentry-curses.c (dialog_run): Fixed retrun value tests
1066 for fopen.
1067
10682002-11-05 Werner Koch <wk@gnupg.org>
1069
1070 * secmem/util.c (init_uids): Make it a prototype.
1071
1072 * gtk/pinentry-gtk.c (enter_callback): Changed argument name to
1073 avoid shadowing warning.
1074 (create_window): Removed unused variable I.
1075 (ok): Not used, commented.
1076
1077 * pinentry/pinentry.c: Include headers for getpid and sleep
1078 prototypes.
1079
1080 * secmem/util.h: Correctly declare functions taking no args.
1081
1082 * gtk/pinentry-gtk.c: Move gtk headers to the top to avoid
1083 compiler warnings about shadowing index etc.
1084
1085 * curses/pinentry-curses.c: Include stdio.h for the printf prototype.
1086
1087 * pinentry/pinentry-curses.c (dialog_switch_pos): Return a value.
1088
1089 * pinentry/pinentry.c (pinentry_have_display): New.
1090 (pinentry_setbufferlen): Must return a value. Fixed documentation.
1091 (usage): Print a question mark as a substitue for the program name.
1092
1093 * gtk/pinentry-gtk.c (main): use it here instead of getenv().
1094 * qt/main.cpp (main): Ditto.
1095
10962002-10-11 Werner Koch <wk@gnupg.org>
1097
1098 * configure.ac, Makefile.am: Added doc/ and tests for makeinfo
1099
1100 * doc/pinentry.texi, doc/Makefile.am: New.
1101 * doc/gpl.texi, doc/fdl.texi: Added these standard files.
1102
11032002-09-30 Werner Koch <wk@gnupg.org>
1104
1105 Released 0.6.5.
1106
1107 * qt/pinentrycontroller.cpp (optionHandler): Make sure that a
1108 value is returned.
1109 * configure.ac: Use -Wall also for C++.
1110
11112002-08-19 Steffen Hansen <steffen@hrhansen.dk>
1112
1113 * Relased 0.6.4.
1114
11152002-08-11 Steffen Hansen <steffen@hrhansen.dk>
1116
1117 * Adapted pinentry-qt to new CONFIRM spec.
1118
11192002-06-26 Werner Koch <wk@gnupg.org>
1120
1121 Release 0.6.3.
1122
11232002-05-24 Werner Koch <wk@gnupg.org>
1124
1125 * AUTHORS: Added Marcus
1126 * README: Fixed spelling of Quintuple-Agent.
1127
11282002-05-13 Marcus Brinkmann <marcus@g10code.de>
1129
1130 Released 0.6.2.
1131
1132 * configure.ac: Set version number to 0.6.2.
1133 * NEWS: Add information for 0.6.2.
1134 * README: Update for release.
1135
11362002-05-09 Marcus Brinkmann <marcus@g10code.de>
1137
1138 * configure.ac: Add option --enable-fallback-curses and bind it to
1139 the ncurses check. Add automake conditional
1140 BUILD_LIBPINENTRY_CURSES and FALLBACK_CURSES. Add preprocessor
1141 symbol FALLBACK_CURSES.
1142
1143 * curses/Makefile.am (AM_CPPFLAGS): Add $(NCURSES_INCLUDE).
1144 (LDADD): Add ../pinentry/libpinentry-curses.a.
1145 * curses/pinentry-curses.c: Include "pinentry-curses.h".
1146 Moved most of the meat to ...
1147 * pinentry/pinentry-curses.c: ... here. New file. Make all
1148 functions and global variables static.
1149 (dialog_cmd_handler): Rename to ...
1150 (curses_cmd_handler): ... this.
1151 * pinentry/pinentry-curses.h: New file.
1152 * pinentry/Makefile.am (noinst_LIBRARIES)
1153 [BUILD_LIBPINENTRY_CURSES]: Add libpinentry-curses.a.
1154 (libpinentry_curses_a_SOURCES): New target.
1155
1156 * gtk/Makefile.am (INCLUDES): Moved all to ...
1157 (AM_CPPFLAGS): ... here.
1158 [CURSES_FALLBACK]: Define ncurses_include and libcurses.
1159 (AM_CPPFLAGS): Add $(ncurses_include).
1160 (LDADD): Add $(libcurses).
1161 * gtk/pinentry-gtk.c: Rename TIMEOUT to TIME_OUT to avoid conflict
1162 with curses.h.
1163 [CURSES_FALLBACK]: Include "pinentry-curses.h".
1164 (button_clicked): Likewise.
1165 (create_window): Likewise.
1166 (cmd_handler): Renamed to ...
1167 (gtk_cmd_handler): ... this.
1168 (pinentry_cmd_handler): Set to gtk_cmd_handler.
1169 (main) [CURSES_FALLBACK]: Initialize GTK+ only if environment
1170 variable DISPLAY is set, otherwise fall back to curses dialog.
1171
1172 * pinentry/pinentry.h: Protect against multiple inclusion.
1173
11742002-05-09 Marcus Brinkmann <marcus@g10code.de>
1175
1176 * curses/pinentry-curses.c (dialog_create): Allow multi-line error
1177 texts.
1178
1179 * pinentry/pinentry.c (cmd_seterror): Call strcpy_escaped, rather
1180 than strcpy, to allow percent-escaping the error text.
1181
11822002-04-25 Steffen Hansen <steffen@hrhansen.dk>
1183
1184 * pinentry-qt: Use ok and cancel value if
1185 provided.
1186
11872002-04-25 Marcus Brinkmann <marcus@g10code.de>
1188
1189 * gtk/pinentry-gtk.c (create_window): Use ok and cancel value if
1190 provided.
1191
11922002-04-25 Marcus Brinkmann <marcus@g10code.de>
1193
1194 * qt/pinentrycontroller.h: New members _ok and _cancel.
1195 * qt/pinentrycontroller.cpp (registerCommands): Add SETOK and SETCANCEL.
1196 (assuanOk): New method.
1197 (assuanCancel): Likewise.
1198
11992002-04-25 Marcus Brinkmann <marcus@g10code.de>
1200
1201 * curses/pinentry-curses.c (dialog_create): Grok the new ok and
1202 cancel members to set the pbutton texts, rather than parsing the
1203 prompt in the confirm case.
1204
1205 * pinentry/pinentry.h (struct pinentry): Add new members ok and cancel.
1206 * pinentry/pinentry.c (register_commands): Add new commands SETOK
1207 and SETCANCEL to set button texts.
1208 (struct pinentry pinentry): Add initializers for new members.
1209 (cmd_setok): New function.
1210 (cmd_setcancel): Likewise.
1211
12122002-04-24 Marcus Brinkmann <marcus@g10code.de>
1213
1214 * curses/pinentry-curses.c (dialog_create): Add '<' and '>' around
1215 the user provided button texts. Replace sizeof by strlen to fix
1216 size calculation of ok and cancel button.
1217
12182002-04-23 Marcus Brinkmann <marcus@g10code.de>
1219
1220 * pinentry/pinentry.h (struct pinentry): New variables lc_ctype
1221 and lc_messages.
1222 * pinentry/pinentry.c (usage): New options --lc-ctype and
1223 --lc-messages.
1224 (pinentry_parse_opts): Likewise.
1225 (option_handler): Likewise.
1226 (struct pinentry pinentry): New initializers for new members.
1227
1228 * curses/pinentry-curses.c (convert_utf8_string): New function.
1229 (struct dialog): New members ok and cancel.
1230 (dialog_create): New variables ERR, DESCRIPTION, ERROR, PROMPT,
1231 OK, and CANCEL. Initialize them with the localised versions of
1232 the pinentry strings. If in confirm mode, split up the prompt at
1233 '|' and use the values as button texts. Use localised strings.
1234 (dialog_switch_pos): Use localised strings.
1235 (dialog_run): Free dialog strings.
1236
1237 * acinclude.m4 (AM_ICONV): New check from gettext.
1238 * configure.ac: Run AM_ICONV if curses pinentry is build.
1239 Don't check for inttypes.h, don't check size of unsigned int or
1240 unsigned long.
1241 (LIBCAP): Move check to interface independent part.
1242
12432002-04-21 Steffen Hansen <steffen@hrhansen.dk>
1244
1245 * Removed X11 dependency and use Qt for grabbing the keyboard.
1246 * Clear the lineedit before asking the user for the PIN.
1247
12482002-04-12 Steffen Hansen <steffen@hrhansen.dk>
1249
1250 * Enable pinentry-qt if Qt is found
1251
12522002-04-06 Marcus Brinkmann <marcus@g10code.de>
1253
1254 * qt: New directory.
1255 * qt/Makefile.am, qt/cppmemory.cpp, qt/main.cpp,
1256 pinentrycontroller.cpp, qt/pinentrycontroller.h,
1257 qt/pinentrydialog.cpp, qt/pinentrydialog.h: New file, copied from
1258 kde/.
1259 * kde: Directory removed.
1260 * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
1261 kde/pinentry.desktop, kde/pinentrycontroller.cpp,
1262 kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
1263 kde/pinentrydialog.h: Files removed.
1264 * acinclude.m4: Removed the KE checks and completely overhauled
1265 the Qt checks, putting all Qt checks in their own namespace QT_,
1266 and make it declare QT_-prefixed variables for linking and
1267 compilation.
1268 * configure.ac: Use the new Qt checks instead the KDE checks.
1269 Replace "kde" with "qt" everywhere.
1270 * Makefile.am: Replace "kde" with "qt" everywhere.
1271
12722002-04-06 Marcus Brinkmann <marcus@g10code.de>
1273
1274 * acinclude.m4: Reworked the Qt and KDE checks, cutting out a lot
1275 of dead and not-so-dead wood. Gave all KDE checks proper names.
1276 * configure.ac: Use the new names for the KDE checks.
1277
12782002-04-06 Marcus Brinkmann <marcus@g10code.de>
1279
1280 * kde/Makefile.am (EXTRA_DIST): Remove variable.
1281 (install-data-local): Remove target.
1282 (uninstall-local): Likewise.
1283
12842002-04-05 Marcus Brinkmann <marcus@g10code.de>
1285
1286 Released 0.6.0.
1287
1288 * configure.ac: Set version number to 0.6.
1289 * NEWS: Add information for 0.6.0.
1290 * secmem/Makefile.am (libsecmem_a_SOURCES): Replace secmem.h with memory.
1291 * kde/Makefile.am (pinentry_kde_SOURCES): Move
1292 pinentrydialog.moc.cpp and pinentrycontroller.moc.cpp to ...
1293 (nodist_pinentry_kde_SOURCES): ... this new target.
1294
12952002-04-05 Marcus Brinkmann <marcus@g10code.de>
1296
1297 * acinclude.m4: A lot of new checks more or less straight from KDE's
1298 admin/acinclude.m4.in.
1299 * configure.ac (AC_CANONICAL_HOST): Call that macro.
1300 (AC_CHECK_COMPILERS, AC_PATH_KDE): Call those macros if KDE
1301 pinentry is enabled.
1302 * kde/Makefile.am (CXXFLAGS, XXX_PREFIX, XXX_KDE_DEFINES, LIB_QT,
1303 LIB_KDECORE, LIB_KDEUI, KDE_RPATH, MOC, kde_appsdir): Variables removed.
1304 (AM_CPPFLAGS): Replace XXX_KDE_DEFINES by all_includes.
1305 (pinentry_kde_LDFLAGS): Add all_libraries.
1306 * README: Document that automatic check is not possible for KDE.
1307
13082002-04-05 Marcus Brinkmann <marcus@g10code.de>
1309
1310 * curses/pinentry-curses.c (dialog_run): Add handling for TAB key.
1311 (dialog_create): New variable description_x. Calculate dimension
1312 of multi-line description correctly.
1313
13142002-04-04 Marcus Brinkmann <marcus@g10code.de>
1315
1316 * pinentry/pinentry.h (struct pinentry): New members DISPLAY,
1317 TTYNAME and TTYTYPE.
1318 * pinentry/pinentry.c (pinentry): Likewise.
1319 * pinentry/pinentry.c: Include <string.h>.
1320 (usage): Add new options --display,
1321 --ttyname and --ttytype.
1322 (option_handler): Likewise.
1323 (pinentry_parse_opts): Likewise.
1324
1325 * curses/pinentry-curses.c (dialog_cmd_handler): Use
1326 PINENTRY->ttyname and PINENTRY->ttytype.
1327
13282002-03-30 Marcus Brinkmann <marcus@g10code.de>
1329
1330 * acinclude.m4: Add AM_PATH_GLIB and AM_PATH_GTK.
1331
13322002-03-29 Marcus Brinkmann <marcus@g10code.de>
1333
1334 * configure.ac: Choose a more appropriate AC_CONFIG_SRCDIR.
1335
13362002-03-29 Marcus Brinkmann <marcus@g10code.de>
1337
1338 * kde/Makefile.am (pinentry_kde_LDADD): Link with $(LIBCAP).
1339 * gtk/Makefile.am (install-exec-local): Moved to ...
1340 * Makefile.am (install-exec-local): ... here.
1341
13422002-03-29 Marcus Brinkmann <marcus@g10code.de>
1343
1344 * kde/Makefile.am (kde_appsdir): New variable.
1345 * kde/Makefile.am (install-data-local): Use DESTDIR.
1346 (uninstall-local): Likewise.
1347
13482002-03-29 Marcus Brinkmann <marcus@g10code.de>
1349
1350 Merge of the gpinentry and curses pinentry program into the
1351 pinentry distribution. For this, the structure of the repository
1352 has been thoroughly overhauled. Some of the changes:
1353 * secmem: New directory with secure memory allocation code.
1354 * pinentry: New directory with pinentry support library.
1355 * curses: New directory with curses frontend.
1356 * gtk: New directory with GTK+ frontend.
1357 * kde: New directory with only the core of the old kpinentry program.
1358 * admin: Directory removed.
1359 * po: Directory removed.
1360 * kpinentry: Directory removed.
1361 * doc: Directory removed.
1362 * jnlib: Directory removed.x
1363
1364 The changes in more detail:
1365 * AUTHORS: Add authors of other pinentry frontends.
1366 * ChangeLog: Add the one from gpinentry.
1367 * Makefile.am: Completely rewritten.
1368 * README: Add content.
1369 * TODO: Add content.
1370 * NEWS: New file from gpinentry.
1371 * THANKS: New file from gpinentry.
1372 * acinclude.m4: New file.
1373 * configure.ac: New file which configures for all frontends.
1374 * curses/Makefile.am, curses/pinentry-curses.c: New files for
1375 curses frontend.
1376 * gtk/Makefile.am, gtk/gtksecentry.c, gtk/gtksecentry.h,
1377 gtk/pinentry-gtk.c: New files, modified from gpinentry, for GTK+
1378 frontend.
1379 * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp,
1380 kde/pinentry.desktop, kde/pinentrycontroller.cpp,
1381 kde/pinentrycontroller.h, kde/pinentrydialog.cpp,
1382 kde/pinentrydialog.h: New files, modified from kpinentry, for KDE
1383 frontend.
1384 * pinentry/Makefile.am, pinentry/pinentry.c, pinentry/pinentry.h:
1385 New files containing pinentry support library, partly factored out
1386 from gpinentry.
1387 * secmem/Makefile.am, secmem/memory.h, secmem/secmem-util.h,
1388 secmem/secmem.c, secmem/util.c, secmem/util.h: New files
1389 containing secure memory allocation code common to all pinentry
1390 frontends.
1391 * Makefile.dist, acconfig.h, configure.files, configure.in.in:
1392 Files removed in favor of new configure.ac.
1393 * pinentry.lsm: Removed file never used.
1394 * stamp-h.in: Removed generated file.
1395 * admin/ChangeLog, admin/Makefile.common, admin/acinclude.m4.in,
1396 admin/am_edit, admin/am_edit.py, admin/conf.change.pl,
1397 admin/config.guess, admin/config.pl, admin/config.sub,
1398 admin/configure.in.min, admin/debianrules, admin/depcomp,
1399 admin/install-sh, admin/libtool.m4.in, admin/ltcf-c.sh,
1400 admin/ltcf-cxx.sh, admin/ltcf-gcj.sh, admin/ltconfig,
1401 admin/ltmain.sh, admin/missing, admin/mkinstalldirs, admin/ylwrap:
1402 Removed KDE build suite in favor of configure.ac.
1403 * doc/Makefile.am, doc/en/Makefile.am, doc/en/index.docbook:
1404 Removed files never used.
1405 * jnlib/ChangeLog, jnlib/Makefile.am, jnlib/argparse.c,
1406 jnlib/argparse.h jnlib/dotlock.c, jnlib/dotlock.h,
1407 jnlib/libjnlib-config.h, jnlib/logging.c, jnlib/logging.h,
1408 jnlib/mischelp.h, jnlib/stringhelp.c, jnlib/stringhelp.h,
1409 jnlib/strlist.c, jnlib/strlist.h, jnlib/types.h, jnlib/xmalloc.c,
1410 jnlib/xmalloc.h: Removed files no longer used.
1411 * kpinentry/Makefile.am, kpinentry/cppmemory.cpp,
1412 kpinentry/cppmemory.h, kpinentry/i18n.h, kpinentry/main.cpp,
1413 kpinentry/memory.h, kpinentry/pinentry.desktop,
1414 kpinentry/pinentrycontroller.cpp, kpinentry/pinentrycontroller.h,
1415 kpinentry/pinentrydialog.cpp, kpinentry/pinentrydialog.h,
1416 kpinentry/secmem.cpp, kpinentry/util.cpp, kpinentry/util.h:
1417 Removed files in favor of new files in kde/.
1418 * po/Makefile.am, po/pinentry.pot: Removed files never used.
1419
1420 * autogen.sh: New file.
1421
14222002-03-04 Werner Koch <wk@gnupg.org>
1423
1424 * gpinentry.c (enter_callback): New
1425 (create_window): Connect it to the entry field.
1426
14272002-02-18 Werner Koch <wk@gnupg.org>
1428
1429 Released 0.5.1.
1430
1431 * gpinentry.c (create_window): Add CONFIRM_MODE.
1432 (cmd_confirm): Implemented.
1433
1434 * assuan/: Updated from NewPG.
1435
14362002-01-20 Werner Koch <wk@gnupg.org>
1437
1438 * gpinentry.c (option_handler): New to allow changing of the grab
1439 status.
1440 (grab_keyboard): Shortcut this when global grab is not set.
1441
14422002-01-04 Werner Koch <wk@gnupg.org>
1443
1444 Released 0.5.0.
1445
1446 * configure.ac: Bumbed version
1447
1448 * util.h (xtoi_1, xtoi_2): New.
1449 * gpinentry.c (strcpy_escaped): New
1450 (cmd_setdesc, cmd_seterror): Use it here to allo multiline texts.
1451
1452 * gpinentry: Removed debugging outbut
1453 (create_window): Tweaked layout.
1454
14552001-12-07 Werner Koch <wk@gnupg.org>
1456
1457 New package gpinentry based on quintuple-agent.
1458
1459 Removed all stuff except for the basic configuration stuff and
1460 what is needed to build gpinentry. Also removed i18n support.
1461 * gpinentry.c: Renamed from secret-query.c
1462
14632001-02-12 Robert Bihlmeyer <robbe@orcus.priv.at>
1464
1465 * 1.0.0 released. Woo-hoo!
1466
1467 * configure.in, NEWS: Bumped version.
1468
14692001-02-04 Robert Bihlmeyer <robbe@orcus.priv.at>
1470
1471 * agent.c (make_tmpdir): Honor $TMPDIR.
1472
1473 (agent): Would exit on every minor problem. Now, we just close the
1474 offending connection.
1475 Ignore SIGPIPE, so that EPIPE will close connection.
1476
14772001-01-11 Robert Bihlmeyer <robbe@orcus.priv.at>
1478
1479 * secmem.c: Move one include statement so that the thing compiles.
1480
1481 * secret-query.c (main): Minor source cosmetics.
1482
14832000-11-16 Robert Bihlmeyer <robbe@orcus.priv.at>
1484
1485 * gtksecentry.c (gtk_secure_entry_insert_text): Secured a couple
1486 of memory (de)allocations that were missed. Thanks to John Steele
1487 <jhs28@eng.cam.ac.uk> for spotting these.
1488
14892000-11-10 Robert Bihlmeyer <robbe@orcus.priv.at>
1490
1491 * Thoughts: Removed in favor of new TODO.
1492
1493 * README: Remove content and refer to doc/manual.info instead.
1494
1495 * agent.c (do_get): Would burn badly on a premature exit of the
1496 query program (which would occur routinely if you selected /cancel/).
1497
14982000-10-25 Robert Bihlmeyer <robbe@orcus.priv.at>
1499
1500 * memory.h: Include sys/types.h for size_t.
1501
15022000-10-08 Robert Bihlmeyer <robbe@orcus.priv.at>
1503
1504 * README: Removed apology about missing documentation.
1505 Updated paragraph about Linux capability patch.
1506 Typo & Refill.
1507
15082000-10-03 Robert Bihlmeyer <robbe@orcus.priv.at>
1509
1510 * 0.9 released.
1511
1512 * Makefile.am (EXTRA_DIST): Distribute BUGS (the file, that is).
1513
1514 * configure.in, NEWS: Bumped version.
1515
1516 * Makefile.am, configure.in: Add debian subdir.
1517
1518 * README: Recommend GTK+.
1519 Update list of checked platforms.
1520
15212000-10-02 Robert Bihlmeyer <robbe@orcus.priv.at>
1522
1523 * secret-query.c (ok): Simplify.
1524 Put empty line between headers and secret.
1525 (usage): Document '--help' and '--version'.
1526
1527 * agent.c (do_get): Use enhanced secret-query output to fill in
1528 options.
1529
15302000-10-01 Robert Bihlmeyer <robbe@orcus.priv.at>
1531
1532 * secret-query.c (main): Clarify error.
1533
1534 * client.c (query_options): New global variable.
1535 (main): New option '--query-options' to pass options to the query
1536 program.
1537 (xgetpass): Use it.
1538
1539 * agent.c (main): New option '--query-options' to pass options to
1540 the query program.
1541 (do_get): Use 'query_options'.
1542
1543 * acconfig.h, configure.in: Add QUERY_PROGRAM definition.
1544 * client.c: Remove here.
1545 * agent.c (do_get): Use it here, too.
1546
1547 * secret-query.c (main): New option '--no-global-grab' introduced,
1548 that prevents keyboard grabbing unless the window has focus.
1549
15502000-09-11 Robert Bihlmeyer <robbe@orcus.priv.at>
1551
1552 * secret-query.c (usage): Add two missing pieces of "\n\".
1553
1554 * agent.c (main): --nofork is now the default, and the option is
1555 deprecated. New option --fork added to turn forking on again.
1556 Close stdout (and stderr unless debugging) even when not forking,
1557 so that normal usage inside eval is still possible.
1558 (agent): Exit gracefully on HUP, so that logging out now kills the
1559 agent.
1560
1561 * README (Contact Information): Old URL - duh!
1562 (Using Secret Agent): We no longer fork per default.
1563
1564 * Makefile.am (lib/libutil.a): New target, allows targets that not
1565 automatically recurse (but still depend on libutil.a) to succeed.
1566
15672000-07-20 Robert Bihlmeyer <robbe@orcus.priv.at>
1568
1569 * secret-query.c (usage): New function.
1570 (main): Parse options: debug, enhanced, help, version.
1571 Turn on locale support.
1572 If enhanced, insert widgets to ask for timeout and insurance.
1573 (ok): If enhanced, print more information on exit.
1574 (grab_keyboard): Die if grab was unsuccessful.
1575
15762000-05-31 Robert Bihlmeyer <robbe@orcus.priv.at>
1577
1578 * 0.8 released.
1579
1580 * configure.in, NEWS: Bumped version.
1581
1582 * Makefile.am (SUBDIRS): Include doc.
1583
1584 * configure.in, acconfig.h: Check for ssize_t.
1585 Check for vsnprintf(), strdup().
1586 Generate doc/Makefile.
1587
1588 * apgp.c, agpg.c, agentlib.c, util.c: Include more stuff.
1589
1590 * agent.c (do_get): Use asprintf() instead of snprintf() so we
1591 don't need to roll our own for yet another function.
1592 Fix some includes.
1593
1594 * acinclude.m4: gettext macros copied from automake and fixed.
1595
15962000-05-30 Robert Bihlmeyer <robbe@orcus.priv.at>
1597
1598 * configure.in, Makefile.am: Properly include doc subdir.
1599
16002000-05-29 Robert Bihlmeyer <robbe@orcus.priv.at>
1601
1602 * configure.in, acconfig.h: Add test for XMESSAGE path.
1603
1604 * client.c (main): Decode command from string to integer code
1605 first, then evaluate that in ifs.
1606
1607 * secret-ask.c: New file, external ask-for-confirmation utility.
1608
1609 * configure.in, Makefile.am: Add secret-ask to programs being
1610 built when GTK is available. Rename QUERY to more descriptive
1611 GTK_PROGRAMS.
1612
1613 * agent.c (do_get): If GTK is available, try executing secret-ask
1614 first.
1615 Only put the comment into the insure-question if there is a
1616 comment.
1617 (main): --csh was missing from usage message.
1618
16192000-04-23 Robert Bihlmeyer <robbe@orcus.priv.at>
1620
1621 * secret-query.c (constrain_size): Lower window max_width to
1622 accomodate bugs in GTK and Scwm.
1623
1624 * agent.c (main): Set x_enabled if X appears to be available.
1625 Use it to selectively make FLAGS_INSURE supported.
1626 (do_get): Use it instead of testing at every call.
1627 (do_put): Requests containing unsupported flags fail.
1628 (forget_old_stuff): Would not set next_deadline correctly.
1629 (do_get): Implement FLAGS_INSURE.
1630
1631 * client.c (main): "list" format changed so that comment is to the
1632 far right. Display the deadline as proper date/time, too.
1633
16341999-11-11 Robert Bihlmeyer <robbe@orcus.priv.at>
1635
1636 * agent.c (next_deadline): New global variable, holds time when
1637 next secret has to be killed.
1638 (store): Keep it up-to-date.
1639 (forget_old_stuff): New function, reaps secrets ready to kill,
1640 keeps next_deadline updated.
1641 (agent): Use it on all secrets, whenever a deadline is active.
1642
16431999-11-08 Robert Bihlmeyer <robbe@orcus.priv.at>
1644
1645 * agent.h (request_put): Add flags, deadline. Increase REQUEST_MAGIC.
1646 (reply_get): Ditto, and increase REPLY_MAGIC.
1647 * agent.c (store): Store flags, deadline in reply.
1648 (do_put): Hand flags, deadline from request on to store().
1649 (do_get): Store on-demand queried secrets without deadline or
1650 special flags, for now.
1651 (agent): Do not ignore obsolete clients, return an error reply.
1652 * agentlib.c (agent_put): Add flags, deadline arguments, and copy
1653 them into the request.
1654 * agentlib.h (agent_put): Update prototype.
1655* * client.c (main): Added --time-to-live (-t) and --insure (-i)
1656 options, influencing PUT's deadline and flags, respectively.
1657 (main): Change list format to include new attributes.
1658
16591999-11-05 Robert Bihlmeyer <robbe@orcus.priv.at>
1660
1661 * configure.in: <getopt.h> check had redundant definition.
1662 * acconfig.h: Remove here, too.
1663
1664 * configure.in: Check for <inttypes.h>. If not found, check for
1665 unsigned {int, long} sizes.
1666 * agent.h: Either include <inttypes.h>, or try to define uint32_t
1667 yourself.
1668 Need to include "config.h".
1669
16701999-11-04 Robert Bihlmeyer <robbe@orcus.priv.at>
1671
1672 * Makefile.am (signed-dist): New rule, generates sig for dist.
1673 (%.sig): New rule, for detached signatures in general.
1674
1675 * configure.in: Check for ulong.
1676 * acconfig.h: Document it.
1677 * secmem.c: Unconditionally defining it is no longer necessary
1678 here. But do include <sys/types.h> in all cases.
1679
1680 * 0.7 released.
1681
1682 * secmem.c: ulong is not defined on all systems.
1683
1684 * agent.h: <inttypes.h> should define `uint32_t' as per Unix98, so
1685 we use that.
1686
16871999-11-02 Robert Bihlmeyer <robbe@orcus.priv.at>
1688
1689 * agent.h: Augmented requests and replies with magic numbers.
1690 Data structures heavily commented.
1691 All structures and enums typedef'd.
1692 * agent.c: Adapted.
1693 (store): Set magic number in stored reply.
1694 (do_put): Set magic number in reply.
1695 (do_delete): Ditto.
1696 (do_list): Ditto.
1697 (agent): Check magic number in request.
1698 * agentlib.c: Adapted.
1699 (send_request): Set magic number in request. Check it in reply.
1700 * agentlib.h: Adapted.
1701 * agpg.c: Adapted.
1702 * apgp.c: Adapted.
1703 * client.c: Adapted.
1704
17051999-10-31 Robert Bihlmeyer <robbe@orcus.priv.at>
1706
1707 * secmem.c: Instead of defining ulong directly, include
1708 <sys/types.h>
1709
1710 * secret-query.c (constrain_size): New function, puts constrains
1711 on size of toplevel window.
1712 (grab_keyboard): Removed protection against multiple calls.
1713 (ungrab_keyboard): New function, cancelling a keyboard grab.
1714 (main): Hang `grab_keyboard' onto map-event which makes it
1715 actually work, hang `ungrab_keyboard' onto unmap-event.
1716 Hang `constrain_size' onto size-request.
1717
1718 * secmem.c: ulong was undefined on some systems.
1719
17201999-10-19 Robert Bihlmeyer <robbe@orcus.priv.at>
1721
1722 * Makefile.am (install-exec-local): Ignore setcap errors.
1723
1724 * apgp.c: New program, based on agpg.c, but for pgp2.6.
1725 * Makefile.am (bin_PROGRAMS, apgp_SOURCES): Added it.
1726
1727 * agpg.c (GPG): New constant.
1728 (find_id, main): Use it throughout.
1729 (find_id): Forgot to pclose on success.
1730
1731 * secret-query.c (main): Don't expand anything.
1732 Use a button box for the buttons.
1733 Prompt label can be overridden from the commandline.
1734 * agent.c (do_get): Make spawned secret-query show the id.
1735 * client.c (xgetpass): Pass prompt to secret-query.
1736 (main): Include id in xgetpass prompt.
1737
17381999-10-14 Robert Bihlmeyer <robbe@orcus.priv.at>
1739
1740 * configure.in: setcap must be searched outside the usual user
1741 PATH, too.
1742 * Makefile.am (install-exec-local): Set cap_ipc_lock permitted on
1743 installed binaries, if possible.
1744
1745 * agent.c (xdup2): New function, dup2 with error handling.
1746 (move_fd): New function, moves fds.
1747 (store): New function, abstracted out from do_put.
1748 (do_put): Use it.
1749 (do_get): If secret was not found, and DISPLAY is set, try to
1750 query the user about it. If successful, store it.
1751 (main): Route standard file descriptors to /dev/null rather than
1752 just closing them. The latter would confuse children.
1753
17541999-10-13 Robert Bihlmeyer <robbe@orcus.priv.at>
1755
1756 * gtksecentry.c, gtksecentry.h: New files, being slightly modified
1757 versions of GTK+'s gtkentry.[ch], spiffed up to use secure memory.
1758 * secret-query.c (ok, unselect, main): Replace GtkEntry with
1759 GtkSecureEntry.
1760 (main): Initialize secure memory.
1761 * Makefile.am (secret_query_SOURCES): Added gtksecentry.[ch].
1762
1763 * README (Security): New chapter.
1764
1765 * configure.in, acconfig.h: Check for POSIX capabilities, and the
1766 setcap program.
1767 * Makefile.am: Link LIBCAP to those binaries using secmem.c.
1768
1769 * util.h: Include <sys/types.h> for size_t.
1770
17711999-09-21 Robert Bihlmeyer <robbe@orcus.priv.at>
1772
1773 * secmem.c: Synced with gnupg-1.0 (top new feature: capabilities).
1774 (log_fatal): New function, logs to stderr, and dies.
1775
17761999-09-08 Robert Bihlmeyer <robbe@orcus.priv.at>
1777
1778 * secmem.c (log_info): New function, logs to stderr.
1779
1780 * agent.c (agent): select() expects the number of fds, not the
1781 highest fd. So remember that number.
1782
1783 * agent.c (agent): Don't use FD_SETSIZE, which is not defined on
1784 all systems. Remember the number of the highest descriptor
1785 instead.
1786
1787 * configure.in: Replace getline() instead of getdelim() because
1788 this is the function we really need. Still check for getdelim(),
1789 though - there are systems out there where this is provided, but
1790 getline() is not.
1791
17921999-09-01 Robert Bihlmeyer <robbe@orcus.priv.at>
1793
1794 * 0.6 released.
1795
1796 * configure.in: Bump version.
1797
1798 * NEWS: Updated.
1799
18001999-08-31 Robert Bihlmeyer <robbe@orcus.priv.at>
1801
1802 * util.c (init_uids, lower_privs, raise_privs, drop_privs): New
1803 functions, for setuid binaries, extracted from agent.c.
1804 * util.h: Add prototypes for them.
1805 * agpg.c (main): Use them.
1806 * client.c (main): Ditto.
1807 * agent.c (main): Ditto. Removed code that did the same.
1808 Unconditionally include "asprintf.h" (it protects itself now).
1809
18101999-08-25 Robert Bihlmeyer <robbe@orcus.priv.at>
1811
1812 * Makefile.am (SUBDIRS): Process . before test so that "make
1813 check" always builds all in . first.
1814
18151999-08-21 Robert Bihlmeyer <robbe@orcus.priv.at>
1816
1817 * secret-query.c: Include "config.h".
1818
1819 * agent.h (reply_list_entry, reply_list): New reply structures.
1820 * agent.c (send_list_entry): New function.
1821 (do_list): First send number of entries, then each entry via
1822 send_list_entry().
1823 * agentlib.c (agent_list): Read entries returned by LIST request.
1824 * client.c (main): Output all entries returned by agent_list().
1825
1826 * agentlib.c (agent_put): Don't construct PUT request in insecure
1827 stack space.
1828
18291999-08-20 Robert Bihlmeyer <robbe@orcus.priv.at>
1830
1831 * NEWS: Bump patchlevel.
1832
1833 * configure.in: Bump patchlevel.
1834 Check for missing setenv().
1835
18361999-08-09 Robert Bihlmeyer <robbe@orcus.priv.at>
1837
1838 * configure.in: Check for strsignal().
1839
1840 * client-test: Obsoleted by test/client.
1841
1842 * Makefile.am (SUBDIRS): New subdirectory.
1843 * configure.in (AC_OUTPUT): Add here, too.
1844
1845 * 0.5 released.
1846
1847 * README: Explain why secret-client will not output secrets to a
1848 tty, and mention the cat-trick.
1849
1850 * agent.c (main): If seteuid is not available, don't use it and
1851 issue a warning if running setuid.
1852
1853 * configure.in: Run together two REPLACE_FUNCS.
1854 Check for seteuid.
1855
1856 * client-test: Mask out insecure memory warnings.
1857
1858 * agentlib.c (send_request): Let the calling functions reserve
1859 space for the reply, but offer a simple way for simple requests.
1860 (agent_get): Allocate secure memory.
1861
1862 * agent.c (main): Moved secmem_init() after the fork, since that
1863 seemingly munlock's all pages.
1864 Drop priviledges just in case somebody wants to install this
1865 suid-root.
1866 Flush stdout.
1867
1868 * agpg.c (find_id): Would reorder arguments.
1869 Initialize opt_version.
1870 (main): Initialize secure memory.
1871
1872 * Makefile.am (agpg_SOURCES): Link with secure memory module.
1873
1874 * client.c (usage): Fixed another program name reference.
1875
18761999-08-06 Robert Bihlmeyer <robbe@orcus.priv.at>
1877
1878 * configure.in: Conditionally define HAVE_GTK.
1879 * acconfig.h: Add here too.
1880
1881 * client.c (xgetpass): Use "secret-query" only if it was built.
1882 (main): Don't output secret (GET command) to ttys.
1883
1884 * agpg.c (find_id): Also print own version if "--version" is given.
1885 (main): Check agent_init() errors.
1886 Print error if exec fails.
1887
1888 * agent.c (main): Added an option to produce csh-compatible
1889 output.
1890
1891 * agent.c, client.c: Forgot the terminating NULL in long options.
1892 Fixed the program names in usage and version output.
1893
1894 * agent.c (create_socket): AF_UNIX and PF_UNIX are Unix98, so
1895 that's what we use. AF_LOCAL, PF_LOCAL removed.
1896 * agentlib.c (agent_init): Ditto.
1897
18981999-08-05 Robert Bihlmeyer <robbe@orcus.priv.at>
1899
1900 * 0.4 released.
1901
1902 * configure.in: Bumped version.
1903 Check for missing getdelim.
1904
1905 * cgpg: Removed, obsoleted by agpg.
1906 * Makefile.am: Here, too.
1907
1908 * agpg.c (find_id): New function.
1909 (main): Use it.
1910
1911 * Makefile.am (INCLUDES): Put GTK_FLAGS and GLIB_FLAGS here. It
1912 is the easiest way for sources needing it, and it won't hurt those
1913 that don't.
1914 (agent.o): Explicit command removed accordingly.
1915
19161999-08-04 Robert Bihlmeyer <robbe@orcus.priv.at>
1917
1918 * configure.in: Need double quoting in nested AC_MSG_WARN.
1919
1920 * client.c (xgetpass): If no tty is available, but a DISPLAY is,
1921 fork off "secure-query" to read the secret.
1922 Put the fgets into a loop that keeps reading until all of the
1923 secret is read.
1924
1925 * client-test: Unset DISPLAY, so that "secret-query" is never used.
1926
19271999-08-03 Robert Bihlmeyer <robbe@orcus.priv.at>
1928
1929 * agpg.c: New file, first cut at a C version of the gpg wrapper,
1930 written in a hurry (20 keys waiting to be signed, and a growling
1931 stomach).
1932 * Makefile.am: Add it to built programs.
1933 (LDADD): New default.
1934 (secret_client_LDADD): Removed, since it was identical to default.
1935
19361999-08-01 Robert Bihlmeyer <robbe@orcus.priv.at>
1937
1938 * secret-query.c: New program, queries the user for a password.
1939 * Makefile.am (bin_PROGRAMS): Added it.
1940 * configure.in: Check for GTK+, build "secret-query" only when
1941 that is available.
1942
1943 * cgpg: Extra argument for ID is no longer necessary. cgpg will
1944 scan the gpg args for switches that affect user-id, and determine
1945 the right key itself. Per convention, the key-id is used by "GET".
1946
1947 * configure.in: The project name is now "secret-agent".
1948
1949 * Makefile.am: "agent" & "client" renamed to "secret-agent" &
1950 "secret-client", respectively.
1951 * client-test: Adapt to new names.
1952
1953 * Thoughts: Removed discussion of other names.
1954 Added indication of which things already work.
1955
1956 * agent.c (make_tmpdir): Removed occurance of "gpg-agent."
1957
1958 * README: First proper version.
1959
1960 * client-test: Context diffs are more portable then unified diffs.
1961
1962 * agent.c, agent.h, agentlib.c, agentlib.h, client.c, memory.h,
1963 util.c, util.h: Banner updated to new name.
1964
19651999-07-29 Robert Bihlmeyer <robbe@orcus.priv.at>
1966
1967 * configure.in: Check for missing asprintf.
1968 Check if -lsocket is needed.
1969
1970 * secmem.c (secmem_dump_stats): Replace usage of ulong.
1971
1972 * Makefile.am (INCLUDES): Add the lib subdirectory to include search.
1973
1974 * agent.c: Forgot to include <string.h>.
1975 Include RYO asprintf header if this function is missing.
1976 For the sake of compatibility, provide a definition for AF_LOCAL,
1977 PF_LOCAL, if missing.
1978 * agentlib.c: Ditto.
1979
19801999-07-28 Robert Bihlmeyer <robbe@orcus.priv.at>
1981
1982 * Makefile.am (client_SOURCES): Add "secmem.c", "memory.h".
1983
1984 * client.c (xgetpass): Use secmem_malloc() instead of RYO.
1985 (main): Init and shutdown secmem.
1986
19871999-07-27 Robert Bihlmeyer <robbe@orcus.priv.at>
1988
1989 * Makefile.am (agent_SOURCES): Add "secmem.c", "i18n.h", "memory.h".
1990 (client_SOURCES): Add "i18n.h".
1991
1992 * client.c (main): Exit on agent_init() failure.
1993
1994 * agent.c (main): Init secmem.
1995 Make --debug switch cumulative.
1996 (cleanup): Shutdown secmem.
1997 (do_put): Use secmem for storage of secrets.
1998 (do_delete): Use secmem_free(). Since this wipes the memory on its
1999 own, wipe() is superflous now.
2000 (agent): Use secmem for inbound requests.
2001 (delete_secret): New function, takes part of do_delete's
2002 functionality.
2003 (do_put): Use it to remove old versions stored under the same id.
2004 (do_delete): Use it to delete secrets.
2005
2006 * memory.h: New file.
2007
2008 * secmem.c: New file, snarfed from GnuPG and modified slightly.
2009
2010 * acinclude.m4: New file.
2011 * configure.in: (ALL_LINGUAS): Expanded list of available
2012 languages. Most of them only have a few translations from gpg,
2013 tough ...
2014 getopt_long test was commented out for debugging,
2015 and left such. Fixed.
2016 Check for mlock.
2017 * acconfig.h: Comment HAVE_BROKEN_MLOCK.
2018
2019 * cgpg: A space was missing.
2020
2021 * i18n.h: New file, centralizing the gettext macro defs.
2022
2023 * agent.c (BLIND): New macro, that blinds out a secret if debug
2024 level is too low.
2025 (do_put): Use it.
2026 (do_get): Use it.
2027 Include i18n.h.
2028
2029 * agentlib.c: Include i18n.h
2030
2031 * client.c (usage): New function.
2032 Usage-message made gettext-friendly.
2033 (xgetpass): Use perror() instead of fprintf().
2034 (main): Use it.
2035 Make comment an optional argument of PUT.
2036 Include i18n.h.
2037
20381999-07-26 Robert Bihlmeyer <robbe@orcus.priv.at>
2039
2040 * Makefile.am (client_LDADD): Add lib/libutil.a for portability.
2041 (agent_LDADD): Ditto.
2042 (SUBDIRS): Add lib directory.
2043 (bin_SCRIPTS): New with cgpg, so it gets installed, too.
2044
2045 * configure.in: Add lib/Makefile to output.
2046
20471999-07-24 Robert Bihlmeyer <robbe@orcus.priv.at>
2048
2049 * cgpg: New file.
2050 * Makefile.am (EXTRA_DIST): Added it.
2051
2052 * agent.c: Moved inclusion of config.h before inclusion of
2053 libintl.h since the latter needs HAVE_LC_MESSAGE.
2054 * client.c: Ditto.
2055 * clientlib.c: Ditto.
2056
2057 * client-test: Update for new client semantics.
2058
2059 * client.c (check_status): Use debugmsg(). Do nothing if not
2060 debugging.
2061 (xgetpass): New function, getpass replacement that uses mlock'ed
2062 memory.
2063 (main): PUT now asks for the secret rather then getting it from
2064 the commandline.
2065 GET prints only the secret to stdout.
2066
2067 * configure.in: Rearranged.
2068 Check for socklen_t.
2069 * acconfig.h: Added a definition for it.
2070
2071 * client.c: Include packaged getopt.h if the system doesn't provide
2072 one.
2073 * agent.c: Ditto.
2074 (create_socket): Replace AF_FILE, PF_FILE with AF_LOCAL, PF_LOCAL
2075 for portability.
2076 * agentlib.c (agent_init): Ditto.
2077 Explicitly cast addr to a sockaddr pointer.
2078
2079 * Makefile.am (client_LDADD): Added @INTLLIBS@.
2080 (agent_LDADD): Ditto.
2081
20821999-07-19 Robert Bihlmeyer <robbe@orcus.priv.at>
2083
2084 * configure.in: Check for getopt.h and getopt_long.
2085 * acconfig.h (HAVE_GETOPT_H): New define.
2086 * lib/getopt.c, lib/getopt1.c, lib/getopt.h: Added.
2087
20881999-07-18 Robert Bihlmeyer <robbe@orcus.priv.at>
2089
2090 * 0.2 released.
2091
2092 * NEWS: Updated.
2093
2094 * Makefile.am (agent.o): Mentioning the source explicitly does not
2095 work for srcdir!=builddir.
2096
2097 * client.c (main): Function arguments are not always evaluated in
2098 order, so drop the neat ++optind in favor of optind+1, optind+2,
2099 etc.
2100
2101 * configure.in: Upped version.
2102
21031999-06-28 Robert Bihlmeyer <robbe@orcus.priv.at>
2104
2105 * util.h: Added multi-inclusion guard.
2106
2107 * agent.c Include "util.h".
2108 (main): Forgot to exit at end.
2109 (do_delete): Assume that value is a string and wipe it accordingly.
2110
2111 * configure.in (--enable-debug): New switch.
2112
2113 * agent.h (status_t): Added STATUS_COMM_ERR code.
2114 Added multi-inclusion guard.
2115
2116 * client.c (main): Abstracted out most functionality into a
2117 function library, namely:
2118 * agentlib.c: New file.
2119 * agentlib.h: New file.
2120 * Makefile.am (client_SOURCES): Added agentlib.c, agentlib.h.
2121
2122 * Makefile.am (INCLUDES): GLIB_CFLAGS moved again, this time to
2123 the agent.o target.
2124
21251999-06-15 Robert Bihlmeyer <robbe@orcus.priv.at>
2126
2127 * 0.1 released.
2128
2129 * Makefile.am (agent_CFLAGS): Removed - did not work.
2130 (INCLUDES): Moved the GLIB stuff here.
2131
21321999-06-14 Robert Bihlmeyer <robbe@orcus.priv.at>
2133
2134 * configure.in (ALL_LINGUAS): Added `de'.
2135
2136 * agent.c (do_get): Added more debugmsgs.
2137 (do_put): Wouldn't allocate enough for `value'.
2138 (main): New option "--nofork" prevents forking.
2139 Use macros for the std filedescriptor numbers.
2140 Only close stderr if not debugging.
2141 (main): Make Usage string gettext-friendly.
2142
2143 * client-test (cleanup): New function.
2144 Call it on shell exit.
2145 (client): New function.
2146 Use it instead of calling client binary directly.
2147 diff client output with expected one in GET testcases.
2148
21491999-06-13 Robert Bihlmeyer <robbe@orcus.priv.at>
2150
2151 * agent.c (failed_reply): New constant.
2152 (do_list): Use it.
2153 (do_put): The hash key was overwritten - strdup it.
2154 Construct a GET reply and save that in the hash.
2155 (do_get): Just send the preconstructed reply if the id is present,
2156 and failed_reply otherwise.
2157 (do_delete): Actually free the hashed stuff.
2158
2159 * client.c: Exit with error if agent returned STATUS_FAIL.
2160
2161 * Makefile.am (EXTRA_DIST): Added autogen.sh, Thoughts,
2162 client-test.
2163 (TESTS): Added client-test.
2164 (AUTOMAKE_OPTIONS): Added gnits.
2165
2166
2167 Copyright 2002, 2003, 2010 g10 Code GmbH
2168
2169 This file is free software; as a special exception the author gives
2170 unlimited permission to copy and/or distribute it, with or without
2171 modifications, as long as this notice is preserved.
2172
2173 This file is distributed in the hope that it will be useful, but
2174 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
2175 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
02176
=== modified file 'Makefile.am'
--- Makefile.am 2010-03-18 23:36:51 +0000
+++ Makefile.am 2014-01-24 03:16:14 +0000
@@ -1,18 +1,18 @@
1# Makefile.am1# Makefile.am
2# Copyright (C) 2002 g10 Code GmbH2# Copyright (C) 2002, 2012 g10 Code GmbH
3# 3#
4# This file is part of PINENTRY.4# This file is part of PINENTRY.
5# 5#
6# PINENTRY is free software; you can redistribute it and/or modify6# PINENTRY is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2 of the License, or8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version.9# (at your option) any later version.
10# 10#
11# PINENTRY is distributed in the hope that it will be useful,11# PINENTRY is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.14# GNU General Public License for more details.
15# 15#
16# You should have received a copy of the GNU General Public License16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA18# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
@@ -20,43 +20,49 @@
20## Process this file with automake to produce Makefile.in20## Process this file with automake to produce Makefile.in
2121
22ACLOCAL_AMFLAGS = -I m422ACLOCAL_AMFLAGS = -I m4
2323AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
24EXTRA_DIST = autogen.sh README.SVN Manifest24#DISTCHECK_CONFIGURE_FLAGS = --disable-pinentry-qt4
25
26GITLOG_TO_CHANGELOG=gitlog-to-changelog
27
28EXTRA_DIST = autogen.sh README.GIT ChangeLog-old \
29 build-aux/gitlog-to-changelog \
30 build-aux/git-log-fix build-aux/git-log-footer
2531
26if BUILD_PINENTRY_CURSES32if BUILD_PINENTRY_CURSES
27pinentry_curses = curses33pinentry_curses = curses
28else34else
29pinentry_curses = 35pinentry_curses =
30endif36endif
3137
32if BUILD_PINENTRY_GTK38if BUILD_PINENTRY_GTK
33pinentry_gtk = gtk39pinentry_gtk = gtk
34else40else
35pinentry_gtk = 41pinentry_gtk =
36endif42endif
3743
38if BUILD_PINENTRY_GTK_244if BUILD_PINENTRY_GTK_2
39pinentry_gtk_2 = gtk+-245pinentry_gtk_2 = gtk+-2
40else46else
41pinentry_gtk_2 = 47pinentry_gtk_2 =
42endif48endif
4349
44if BUILD_PINENTRY_QT50if BUILD_PINENTRY_QT
45pinentry_qt = qt51pinentry_qt = qt
46else52else
47pinentry_qt = 53pinentry_qt =
48endif54endif
4955
50if BUILD_PINENTRY_QT456if BUILD_PINENTRY_QT4
51pinentry_qt4 = qt457pinentry_qt4 = qt4
52else58else
53pinentry_qt4 = 59pinentry_qt4 =
54endif60endif
5561
56if BUILD_PINENTRY_W3262if BUILD_PINENTRY_W32
57pinentry_w32 = w3263pinentry_w32 = w32
58else64else
59pinentry_w32 = 65pinentry_w32 =
60endif66endif
6167
62SUBDIRS = assuan secmem pinentry ${pinentry_curses} \68SUBDIRS = assuan secmem pinentry ${pinentry_curses} \
@@ -73,3 +79,19 @@
73 (cd $(DESTDIR)$(bindir); \79 (cd $(DESTDIR)$(bindir); \
74 rm -f pinentry; \80 rm -f pinentry; \
75 $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry)81 $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry)
82
83dist-hook: gen-ChangeLog
84 echo "$(VERSION)" > $(distdir)/VERSION
85
86gen_start_date = 2012-08-08T00:00:00
87.PHONY: gen-ChangeLog
88gen-ChangeLog:
89 if test -d $(top_srcdir)/.git; then \
90 (cd $(top_srcdir) && \
91 $(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
92 --amend=build-aux/git-log-fix \
93 --since=$(gen_start_date) ) > $(distdir)/cl-t; \
94 cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
95 rm -f $(distdir)/ChangeLog; \
96 mv $(distdir)/cl-t $(distdir)/ChangeLog; \
97 fi
7698
=== modified file 'Makefile.in'
--- Makefile.in 2011-02-16 20:18:53 +0000
+++ Makefile.in 2014-01-24 03:16:14 +0000
@@ -1,8 +1,9 @@
1# Makefile.in generated by automake 1.10.2 from Makefile.am.1# Makefile.in generated by automake 1.11.6 from Makefile.am.
2# @configure_input@2# @configure_input@
33
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.5# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
6# Foundation, Inc.
6# This Makefile.in is free software; the Free Software Foundation7# This Makefile.in is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it,8# gives unlimited permission to copy and/or distribute it,
8# with or without modifications, as long as this notice is preserved.9# with or without modifications, as long as this notice is preserved.
@@ -15,27 +16,45 @@
15@SET_MAKE@16@SET_MAKE@
1617
17# Makefile.am18# Makefile.am
18# Copyright (C) 2002 g10 Code GmbH19# Copyright (C) 2002, 2012 g10 Code GmbH
19# 20#
20# This file is part of PINENTRY.21# This file is part of PINENTRY.
21# 22#
22# PINENTRY is free software; you can redistribute it and/or modify23# PINENTRY is free software; you can redistribute it and/or modify
23# it under the terms of the GNU General Public License as published by24# it under the terms of the GNU General Public License as published by
24# the Free Software Foundation; either version 2 of the License, or25# the Free Software Foundation; either version 2 of the License, or
25# (at your option) any later version.26# (at your option) any later version.
26# 27#
27# PINENTRY is distributed in the hope that it will be useful,28# PINENTRY is distributed in the hope that it will be useful,
28# but WITHOUT ANY WARRANTY; without even the implied warranty of29# but WITHOUT ANY WARRANTY; without even the implied warranty of
29# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the30# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30# GNU General Public License for more details.31# GNU General Public License for more details.
31# 32#
32# You should have received a copy of the GNU General Public License33# You should have received a copy of the GNU General Public License
33# along with this program; if not, write to the Free Software34# along with this program; if not, write to the Free Software
34# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA35# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35VPATH = @srcdir@36VPATH = @srcdir@
37am__make_dryrun = \
38 { \
39 am__dry=no; \
40 case $$MAKEFLAGS in \
41 *\\[\ \ ]*) \
42 echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
43 | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
44 *) \
45 for am__flg in $$MAKEFLAGS; do \
46 case $$am__flg in \
47 *=*|--*) ;; \
48 *n*) am__dry=yes; break;; \
49 esac; \
50 done;; \
51 esac; \
52 test $$am__dry = yes; \
53 }
36pkgdatadir = $(datadir)/@PACKAGE@54pkgdatadir = $(datadir)/@PACKAGE@
55pkgincludedir = $(includedir)/@PACKAGE@
37pkglibdir = $(libdir)/@PACKAGE@56pkglibdir = $(libdir)/@PACKAGE@
38pkgincludedir = $(includedir)/@PACKAGE@57pkglibexecdir = $(libexecdir)/@PACKAGE@
39am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd58am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
40install_sh_DATA = $(install_sh) -c -m 64459install_sh_DATA = $(install_sh) -c -m 644
41install_sh_PROGRAM = $(install_sh) -c60install_sh_PROGRAM = $(install_sh) -c
@@ -69,6 +88,7 @@
69mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs88mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
70CONFIG_HEADER = config.h89CONFIG_HEADER = config.h
71CONFIG_CLEAN_FILES =90CONFIG_CLEAN_FILES =
91CONFIG_CLEAN_VPATH_FILES =
72SOURCES =92SOURCES =
73DIST_SOURCES =93DIST_SOURCES =
74RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \94RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -78,8 +98,16 @@
78 install-pdf-recursive install-ps-recursive install-recursive \98 install-pdf-recursive install-ps-recursive install-recursive \
79 installcheck-recursive installdirs-recursive pdf-recursive \99 installcheck-recursive installdirs-recursive pdf-recursive \
80 ps-recursive uninstall-recursive100 ps-recursive uninstall-recursive
101am__can_run_installinfo = \
102 case $$AM_UPDATE_INFO_DIR in \
103 n|no|NO) false;; \
104 *) (install-info --version) >/dev/null 2>&1;; \
105 esac
81RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \106RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
82 distclean-recursive maintainer-clean-recursive107 distclean-recursive maintainer-clean-recursive
108AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
109 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
110 distdir dist dist-all distcheck
83ETAGS = etags111ETAGS = etags
84CTAGS = ctags112CTAGS = ctags
85DIST_SUBDIRS = assuan secmem pinentry curses gtk gtk+-2 qt qt4 w32 doc113DIST_SUBDIRS = assuan secmem pinentry curses gtk gtk+-2 qt qt4 w32 doc
@@ -87,12 +115,41 @@
87distdir = $(PACKAGE)-$(VERSION)115distdir = $(PACKAGE)-$(VERSION)
88top_distdir = $(distdir)116top_distdir = $(distdir)
89am__remove_distdir = \117am__remove_distdir = \
90 { test ! -d $(distdir) \118 if test -d "$(distdir)"; then \
91 || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \119 find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
92 && rm -fr $(distdir); }; }120 && rm -rf "$(distdir)" \
93DIST_ARCHIVES = $(distdir).tar.gz121 || { sleep 5 && rm -rf "$(distdir)"; }; \
122 else :; fi
123am__relativize = \
124 dir0=`pwd`; \
125 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
126 sed_rest='s,^[^/]*/*,,'; \
127 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
128 sed_butlast='s,/*[^/]*$$,,'; \
129 while test -n "$$dir1"; do \
130 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
131 if test "$$first" != "."; then \
132 if test "$$first" = ".."; then \
133 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
134 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
135 else \
136 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
137 if test "$$first2" = "$$first"; then \
138 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
139 else \
140 dir2="../$$dir2"; \
141 fi; \
142 dir0="$$dir0"/"$$first"; \
143 fi; \
144 fi; \
145 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
146 done; \
147 reldir="$$dir2"
94GZIP_ENV = --best148GZIP_ENV = --best
149DIST_ARCHIVES = $(distdir).tar.bz2
95distuninstallcheck_listfiles = find . -type f -print150distuninstallcheck_listfiles = find . -type f -print
151am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
152 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
96distcleancheck_listfiles = find . -type f -print153distcleancheck_listfiles = find . -type f -print
97ACLOCAL = @ACLOCAL@154ACLOCAL = @ACLOCAL@
98AMTAR = @AMTAR@155AMTAR = @AMTAR@
@@ -117,6 +174,8 @@
117ECHO_T = @ECHO_T@174ECHO_T = @ECHO_T@
118EGREP = @EGREP@175EGREP = @EGREP@
119EXEEXT = @EXEEXT@176EXEEXT = @EXEEXT@
177#DISTCHECK_CONFIGURE_FLAGS = --disable-pinentry-qt4
178GITLOG_TO_CHANGELOG = gitlog-to-changelog
120GLIB_CFLAGS = @GLIB_CFLAGS@179GLIB_CFLAGS = @GLIB_CFLAGS@
121GLIB_CONFIG = @GLIB_CONFIG@180GLIB_CONFIG = @GLIB_CONFIG@
122GLIB_LIBS = @GLIB_LIBS@181GLIB_LIBS = @GLIB_LIBS@
@@ -240,7 +299,11 @@
240top_srcdir = @top_srcdir@299top_srcdir = @top_srcdir@
241x_libraries = @x_libraries@300x_libraries = @x_libraries@
242ACLOCAL_AMFLAGS = -I m4301ACLOCAL_AMFLAGS = -I m4
243EXTRA_DIST = autogen.sh README.SVN Manifest302AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
303EXTRA_DIST = autogen.sh README.GIT ChangeLog-old \
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: