1
2008-03-17 Werner Koch <wk@g10code.com>
3
* agent.h (agent_inq_pinentry_launched): New prototype.
5
* call-pinentry.c: Include sys/types.h and signal.h.
7
2008-02-14 Werner Koch <wk@g10code.com>
9
* command.c (agent_inq_pinentry_launched): New.
10
(option_handler): Add option allow-pinentry-notify.
11
* call-pinentry.c (getinfo_pid_cb): New.
12
(start_pinentry): Ask for the PID and notify the client.
14
2008-01-15 Marcus Brinkmann <marcus@g10code.de>
16
* call-pinentry.c (start_pinentry): Start pinentry in detached
19
2007-12-04 Werner Koch <wk@g10code.com>
21
* call-pinentry.c (agent_askpin): Use gnupg_get_help_string.
23
2007-12-03 Werner Koch <wk@g10code.com>
25
* gpg-agent.c (main): s/standard_socket/use_standard_socket/ for
27
(create_server_socket): New arg IS_SSH to avoid testing with
30
2007-11-20 Werner Koch <wk@g10code.com>
32
* gpg-agent.c (get_agent_scd_notify_event): New.
33
(handle_signal): Factor SIGUSR2 code out to:
34
(agent_sigusr2_action): .. New.
35
(agent_sighup_action): Print info message here and not in
37
(handle_connections) [PTH_EVENT_HANDLE]: Call agent_sigusr2_action.
39
* call-scd.c (agent_scd_check_aliveness) [W32]: Implemented.
40
(start_scd) [W32]: Send event-signal option.
42
2007-11-19 Werner Koch <wk@g10code.com>
44
* call-pinentry.c (agent_askpin): Set the tooltip for the quality
47
2007-11-15 Werner Koch <wk@g10code.com>
49
* agent.h (struct server_control_s): Add XAUTHORITY and
51
* gpg-agent.c: New option --xauthority.
52
(main, agent_init_default_ctrl)
53
(agent_deinit_default_ctrl): Implemented
54
* command.c (cmd_updatestartuptty): Ditto.
55
* command-ssh.c (start_command_handler_ssh): Ditto.
56
* call-pinentry.c (atfork_cb): Set the environment.
57
(start_pinentry): Pass CTRL as arg to atfork_cb.
59
2007-11-14 Werner Koch <wk@g10code.com>
61
* call-scd.c (start_scd) [W32]: Take care of fflush peculiarities.
63
2007-11-07 Werner Koch <wk@g10code.com>
65
* agent.h: Remove errors.h.
67
2007-10-24 Werner Koch <wk@g10code.com>
69
* genkey.c (check_passphrase_constraints): Changed the wording of
72
2007-10-19 Werner Koch <wk@g10code.com>
74
* protect-tool.c (get_passphrase): Use new utf8 switch fucntions.
76
2007-10-15 Daiki Ueno <ueno@unixuser.org> (wk)
78
* command-ssh.c (reenter_compare_cb): New function; imported from
80
(ssh_identity_register): Ask initial passphrase twice.
82
2007-10-02 Werner Koch <wk@g10code.com>
84
* command.c (cmd_getinfo): Add "pid" subcommand.
86
2007-10-01 Werner Koch <wk@g10code.com>
88
* agent.h (struct server_control_s): Remove unused CONNECTION_FD.
90
* gpg-agent.c: Remove w32-afunix.h. Include mkdtemp.h.
91
(socket_nonce, socket_nonce_ssh): New.
92
(create_server_socket): Use assuan socket wrappers. Remove W32
93
specific stuff. Save the server nonce.
95
(start_connection_thread, start_connection_thread_ssh): Call it.
96
(handle_connections): Change args to gnupg_fd_t.
97
* command.c (start_command_handler): Change LISTEN_FD to gnupg_fd_t.
98
* command-ssh.c (start_command_handler_ssh): Ditto.
100
2007-09-18 Werner Koch <wk@g10code.com>
102
* agent.h (struct pin_entry_info_s): Add element WITH_QUALITYBAR.
103
* genkey.c (check_passphrase_constraints): New arg SILENT.
105
(agent_protect_and_store, agent_genkey): Enable qualitybar.
106
* call-pinentry.c (agent_askpin): Send that option.
107
(unescape_passphrase_string): New.
109
(estimate_passphrase_quality): New.
111
2007-09-14 Marcus Brinkmann <marcus@g10code.de>
113
* call-pinentry.c (agent_popup_message_stop): Implement kill for
116
2007-08-28 Werner Koch <wk@g10code.com>
118
* gpg-agent.c (main): Add option --faked-system-time.
120
* protect-tool.c (read_and_unprotect): Print the protected-at date.
122
* agent.h (struct server_control_s): Add member IN_PASSWD.
123
* command.c (cmd_passwd): Set it.
124
* findkey.c (try_unprotect_cb): Use it.
126
* protect.c (do_encryption): Replace asprintf by xtryasprint.
127
(agent_protect): Create the protected-at item.
128
(agent_unprotect): Add optional arg PROTECTED_AT.
129
(merge_lists): Add args CUTOFF and CUTLEN.
130
(agent_unprotect): Use them.
131
* findkey.c (try_unprotect_cb): Add code to test for expired keys.
132
(unprotect): Allow changing the passphrase.
134
2007-08-27 Werner Koch <wk@g10code.com>
136
* gpg-agent.c: Add options --min-passphrase-nonalpha,
137
--check-passphrase-pattern and --enforce-passphrase-constraints.
138
(MIN_PASSPHRASE_NONALPHA): Init nonalpha option to 1.
139
(main): Declare options for gpgconf.
140
* agent.h (struct): Add members MIN_PASSPHRASE_NONALPHA,
141
ENFORCE_PASSPHRASE_CONSTRAINTS and CHECK_PASSPHRASE_PATTERN.
142
* genkey.c (nonalpha_charcount): New.
143
(check_passphrase_pattern): New.
144
(check_passphrase_constraints): Implement. Factor some code out...
145
(take_this_one_anyway, take_this_one_anyway2): .. New.
147
* call-pinentry.c (agent_show_message): New.
148
(agent_askpin): We better reset the pin buffer before asking.
150
* trustlist.c (insert_colons): New.
151
(agent_marktrusted): Pretty print the fpr.
153
2007-08-22 Werner Koch <wk@g10code.com>
155
* findkey.c (O_BINARY): Make sure it is defined.
156
(agent_write_private_key): Use O_BINARY
158
* protect-tool.c (import_p12_file): Add hack to allow importing of
159
gnupg 2.0.4 generated files.
161
2007-08-06 Werner Koch <wk@g10code.com>
163
* trustlist.c (read_one_trustfile): Add flag "cm".
164
(agent_istrusted): Ditto.
166
2007-08-02 Werner Koch <wk@g10code.com>
168
* gpg-agent.c: Include gc-opt-flags.h and remove their definition
171
2007-07-13 Werner Koch <wk@g10code.com>
173
* genkey.c (check_passphrase_constraints): Require a confirmation
174
for an empty passphrase.
175
(agent_genkey, agent_protect_and_store): No need to repeat an
178
2007-07-05 Werner Koch <wk@g10code.com>
180
* call-scd.c (struct inq_needpin_s): New.
181
(inq_needpin): Pass unknown inquiries up.
183
2007-07-04 Werner Koch <wk@g10code.com>
185
* gpg-agent.c (TIMERTICK_INTERVAL): New.
186
(fixed_gcry_pth_init, main): Kludge to fix Pth initialization.
188
2007-07-03 Werner Koch <wk@g10code.com>
190
* gpg-agent.c (handle_connections): Do not use FD_SETSIZE for
191
select but compute the correct number.
193
2007-07-02 Werner Koch <wk@g10code.com>
195
* command.c (cmd_reloadagent) [W32]: New.
196
(register_commands) [W32]: New command RELOADAGENT.
198
* Makefile.am (gpg_agent_SOURCES): Remove w32main.c and w32main.h.
199
(gpg_agent_res_ldflags): Remove icon file as we don't have a
201
* gpg-agent.c (main): do not include w32main.h. Remove all calls
203
(agent_sighup_action): New.
204
(handle_signal): Use it.
206
2007-06-26 Werner Koch <wk@g10code.com>
208
* gpg-agent.c (create_directories) [W32]: Made it work.
210
2007-06-21 Werner Koch <wk@g10code.com>
212
* agent.h (ctrl_t): Remove. It is now declared in ../common/util.h.
214
* gpg-agent.c (check_for_running_agent): New arg SILENT. Changed
216
(create_server_socket): If the standard socket is in use check
217
whether a agent is running and avoid starting another one.
219
2007-06-18 Marcus Brinkmann <marcus@g10code.de>
221
* gpg-agent.c (main): Percent escape pathname in --gpgconf-list
224
2007-06-18 Werner Koch <wk@g10code.com>
226
* w32main.c (build_argv): New.
229
* command.c (cmd_killagent) [W32]: New.
231
* gpg-agent.c (get_agent_ssh_socket_name): New.
232
(no_force_standard_socket) New.
233
(create_server_socket): Use it.
234
* Makefile.am (gpg_agent_res_ldflags): Pass windows option to ld.
236
2007-06-14 Werner Koch <wk@g10code.com>
238
* protect-tool.c (main): Setup default socket name for
240
(MAP_SPWQ_ERROR_IMPL): New. Use map_spwq_error for spqw related
242
* preset-passphrase.c (main): Setup default socket name for
244
(map_spwq_error): Remove.
245
(MAP_SPWQ_ERROR_IMPL): New.
247
* call-pinentry.c (start_pinentry): Use gnupg_module_name.
248
* call-scd.c (start_scd): Ditto.
250
2007-06-12 Werner Koch <wk@g10code.com>
254
* trustlist.c (read_one_trustfile): Replace GNUPG_SYSCONFDIR by a
256
(read_trustfiles): Ditto.
258
* gpg-agent.c (main): Replace some calls by init_common_subsystems.
259
* preset-passphrase.c (main): Ditto.
260
* protect-tool.c (main): Ditto.
262
2007-06-11 Werner Koch <wk@g10code.com>
264
* Makefile.am (common_libs): Use libcommonstd macro.
265
(commonpth_libs): Use libcommonpth macro.
267
* protect-tool.c (main) [W32]: Call pth_init.
269
* preset-passphrase.c (main) [W32]: Replace the explicit Winsocket
270
init by a call to pth_init.
272
* trustlist.c (initialize_module_trustlist): New.
273
* gpg-agent.c (main): Call it.
275
* call-pinentry.c (initialize_module_query): Rename to
276
initialize_module_call_pinentry.
278
* minip12.c: Remove iconv.h. Add utf8conf.h. Changed all iconv
279
calss to use these jnlib wrappers.
281
2007-06-06 Werner Koch <wk@g10code.com>
283
* minip12.c (enum): Rename CONTEXT to ASNCONTEXT as winnt.h
284
defines such a symbol to access the process context.
286
* call-pinentry.c (dump_mutex_state) [W32]: Handle the W32Pth case.
287
* call-scd.c (dump_mutex_state): Ditto.
289
* protect-tool.c (i18n_init): Remove.
290
* preset-passphrase.c (i18n_init): Remove.
291
* gpg-agent.c (i18n_init): Remove.
293
2007-05-19 Marcus Brinkmann <marcus@g10code.de>
295
* protect-tool.c (get_passphrase): Free ORIG_CODESET on error.
297
2007-05-14 Werner Koch <wk@g10code.com>
299
* protect.c (make_shadow_info): Replace sprintf by smklen.
301
2007-04-20 Werner Koch <wk@g10code.com>
303
* gpg-agent.c (my_gcry_logger, my_gcry_outofcore_handler): Removed.
304
(main): Call the setup_libgcrypt_logging helper.
305
* protect-tool.c (my_gcry_logger): Removed.
306
(main): Call the setup_libgcrypt_logging helper.
308
2007-04-03 Werner Koch <wk@g10code.com>
310
* trustlist.c (read_trustfiles): Take a missing trustlist as an
313
2007-03-20 Werner Koch <wk@g10code.com>
315
* protect-tool.c: New option --p12-charset.
316
* minip12.c (p12_build): Implement it.
318
2007-03-19 Werner Koch <wk@g10code.com>
320
* minip12.c: Include iconv.h.
321
(decrypt_block): New.
322
(parse_bag_encrypted_data, parse_bag_data): Use it here.
323
(bag_data_p, bag_decrypted_data_p): New helpers.
325
2007-03-06 Werner Koch <wk@g10code.com>
327
* gpg-agent.c (main) <gpgconf>: Add entries for all ttl options.
329
2007-02-20 Werner Koch <wk@g10code.com>
331
* call-pinentry.c (start_pinentry): Fix for OS X to allow loading
332
of the bundle. Tested by Benjamin Donnachie.
334
2007-02-14 Werner Koch <wk@g10code.com>
336
* gpg-agent.c: New option --pinentry-touch-file.
337
(get_agent_socket_name): New.
338
* agent.h (opt): Add pinentry_touch_file.
339
* call-pinentry.c (start_pinentry): Send new option to the
342
2007-01-31 Moritz Schulte <moritz@g10code.com> (wk)
344
* command-ssh.c (stream_read_string): Initialize LENGTH to zero.
345
(start_command_handler_ssh): Use es_fgetc/es_ungetc to check if
346
EOF has been reached before trying to process another request.
348
2007-01-31 Werner Koch <wk@g10code.com>
350
* command-ssh.c (start_command_handler_ssh):
352
* Makefile.am (t_common_ldadd): Add LIBICONV.
354
2007-01-25 Werner Koch <wk@g10code.com>
356
* genkey.c (check_passphrase_constraints): Get ngettext call right
357
and use UTF-8 aware strlen.
359
* protect-tool.c (get_passphrase): New arg OPT_CHECK.
360
(get_new_passphrase): Enable OPT_CHECK on the first call.
361
* command.c (cmd_get_passphrase): Implement option --check.
363
2007-01-24 Werner Koch <wk@g10code.com>
365
* gpg-agent.c (MIN_PASSPHRASE_LEN): New
366
(parse_rereadable_options): New option --min-passphrase-len.
367
* genkey.c (check_passphrase_constraints): New.
368
(agent_genkey, agent_protect_and_store): Call new function. Fix
371
* call-pinentry.c (agent_askpin): Allow translation of the displayed
373
(agent_popup_message_start): Remove arg CANCEL_BTN.
374
(popup_message_thread): Use --one-button option.
376
* command.c (cmd_passwd): Now that we don't distinguish between
377
assuan and regular error codes we can jump to the end on error.
379
2006-12-07 David Shaw <dshaw@jabberwocky.com>
381
* Makefile.am: Link to iconv for jnlib dependency.
383
2006-11-20 Werner Koch <wk@g10code.com>
385
* call-pinentry.c (agent_popup_message_stop): Use SIGKILL.
386
* call-scd.c (inq_needpin): Implement POPUPKEYPADPROMPT and
389
2006-11-15 Werner Koch <wk@g10code.com>
391
* protect.c (make_shadow_info): Cast printf arg to unsigned int.
392
* minip12.c (parse_bag_encrypted_data): Ditto.
393
(parse_bag_data, p12_parse): Ditto.
394
* command-ssh.c (ssh_identity_register): Changed buffer_n to
397
* agent.h (struct server_control_s): New field thread_startup.
398
* command.c (start_command_handler): Moved CTRL init code to ..
399
* gpg-agent.c (start_connection_thread): .. here.
400
(agent_deinit_default_ctrl): New.
401
(agent_init_default_ctrl): Made static.
402
(handle_connections): Allocate CTRL and pass it pth_spawn.
403
* command-ssh.c (start_command_handler_ssh): Moved CTRL init code
405
* gpg-agent.c (start_connection_thread_ssh): .. here.
407
2006-11-14 Werner Koch <wk@g10code.com>
409
* command.c (bump_key_eventcounter): New.
410
(bump_card_eventcounter): New.
411
(cmd_geteventcounter): New command.
412
* gpg-agent.c (handle_signal): Call bump_card_eventcounter.
413
* findkey.c (agent_write_private_key): Call bump_key_eventcounter.
414
* trustlist.c (agent_reload_trustlist): Ditto.
416
* command.c (post_cmd_notify, io_monitor): New.
417
(register_commands, start_command_handler): Register them.
419
2006-11-09 Werner Koch <wk@g10code.com>
421
* gpg-agent.c (main): In detached mode connect standard
422
descriptors to /dev/null.
424
* trustlist.c (read_trustfiles): Make sure not to pass a zero size
425
to realloc as the C standards says that this behaves like free.
427
2006-11-06 Werner Koch <wk@g10code.com>
429
* protect-tool.c (my_strusage): Fixed typo.
431
2006-10-23 Werner Koch <wk@g10code.com>
433
* gpg-agent.c (main): New command --gpgconf-test.
435
* minip12.c (parse_bag_encrypted_data, parse_bag_data): Allow for
438
2006-10-20 Werner Koch <wk@g10code.com>
440
* Makefile.am (t_common_ldadd): Use GPG_ERROR_LIBS instead -o just -l
442
2006-10-19 Werner Koch <wk@g10code.com>
444
* findkey.c (unprotect): Use it to avoid unnecessary calls to
446
* call-pinentry.c (pinentry_active_p): New.
448
2006-10-17 Werner Koch <wk@g10code.com>
450
* Makefile.am (gpg_agent_LDADD): Link to libcommonpth.
451
(gpg_agent_CFLAGS): New. This allows to only link this with Pth.
453
2006-10-16 Werner Koch <wk@g10code.com>
455
* call-pinentry.c (agent_get_confirmation): Map Cancel code here too.
456
* trustlist.c (agent_marktrusted): Return Cancel instead of
457
Not_Confirmed for the first question.
459
2006-10-12 Werner Koch <wk@g10code.com>
461
* protect-tool.c (get_passphrase): Fix if !HAVE_LANGINFO_CODESET.
463
2006-10-06 Werner Koch <wk@g10code.com>
465
* Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
466
(gpg_agent_LDADD): Ditto.
468
* divert-scd.c (divert_pksign): Use PKAUTH for the TLS algo.
470
2006-10-05 Werner Koch <wk@g10code.com>
472
* command.c (has_option_name): New.
473
(cmd_sethash): New --hash option.
474
* pksign.c (do_encode_raw_pkcs1): New.
475
(agent_pksign_do): Use it here for the TLS algo.
476
* agent.h (GCRY_MD_USER_TLS_MD5SHA1): New.
477
* divert-scd.c (pksign): Add case for tls-md5sha1.
479
* divert-scd.c (encode_md_for_card): Check that the algo is valid.
481
2006-10-04 Werner Koch <wk@g10code.com>
483
* call-pinentry.c (agent_get_passphrase): Changed to return the
484
unencoded passphrase.
485
(agent_askpin, agent_get_passphrase, agent_get_confirmation): Need
486
to map the cancel error.
487
* command.c (send_back_passphrase): New.
488
(cmd_get_passphrase): Use it here. Also implement --data option.
491
2006-09-26 Werner Koch <wk@g10code.com>
493
* learncard.c (agent_handle_learn): Send back the keypair
496
2006-09-25 Werner Koch <wk@g10code.com>
498
* trustlist.c (read_one_trustfile): Allow extra flags.
499
(struct trustitem_s): Replaced KEYFLAGS by a FLAGS struct.
500
Changed all code to use this.
501
(agent_istrusted): New arg CTRL. Changed all callers. Send back
503
* command.c (agent_write_status): New.
505
2006-09-20 Werner Koch <wk@g10code.com>
507
* Makefile.am: Changes to allow parallel make runs.
509
2006-09-15 Werner Koch <wk@g10code.com>
511
* trustlist.c: Entirely rewritten.
512
(agent_trustlist_housekeeping): Removed and removed all calls.
514
2006-09-14 Werner Koch <wk@g10code.com>
516
Replaced all call gpg_error_from_errno(errno) by
517
gpg_error_from_syserror().
519
* call-pinentry.c (start_pinentry): Replaced pipe_connect2 by
521
* call-scd.c (start_scd): Ditto.
522
* command.c (start_command_handler): Replaced
523
init_connected_socket_server by init_socket_server_ext.
525
2006-09-13 Werner Koch <wk@g10code.com>
527
* preset-passphrase.c (main) [W32]: Check for WSAStartup error.
529
2006-09-08 Werner Koch <wk@g10code.com>
531
* call-scd.c: Add signal.h as we are referencing SIGUSR2.
533
2006-09-06 Marcus Brinkmann <marcus@g10code.de>
535
* Makefile.am (AM_CFLAGS): Add $(GPG_ERR_CFLAGS).
536
(gpg_agent_LDADD): Replace -lgpg-error with $(GPG_ERROR_LIBS).
538
2006-09-06 Werner Koch <wk@g10code.com>
540
* query.c: Renamed to ..
541
* call-pinentry.c: .. this.
543
* agent.h (out_of_core): Removed.
544
(CTRL): Removed and changed everywhere to ctrl_t.
546
Replaced all Assuan error codes by libgpg-error codes. Removed
547
all map_to_assuan_status and map_assuan_err.
549
* gpg-agent.c (main): Call assuan_set_assuan_err_source to have Assuan
550
switch to gpg-error codes.
551
* command.c (set_error): Adjusted.
553
2006-09-04 Werner Koch <wk@g10code.com>
555
* command.c (percent_plus_unescape): New.
556
(cmd_get_val, cmd_putval): New.
558
2006-08-29 Werner Koch <wk@g10code.com>
560
* command-ssh.c (stream_read_mpi): Sanity check for early
561
detecting of too large keys.
562
* gpg-agent.c (my_gcry_outofcore_handler): New.
564
(main): No allocate 32k secure memory (was 16k).
566
2006-07-31 Werner Koch <wk@g10code.com>
568
* preset-passphrase.c (make_hexstring): For consistency use
569
xtrymalloc and changed caller to use xfree. Fixed function
572
2006-07-29 Marcus Brinkmann <marcus@g10code.de>
574
* preset-passphrase.c (preset_passphrase): Do not strip off last
575
character of passphrase.
576
(make_hexstring): New function.
577
* command.c (cmd_preset_passphrase): Use parse_hexstring to syntax
578
check passphrase argument. Truncate passphrase at delimiter.
580
2006-07-24 Werner Koch <wk@g10code.com>
582
* minip12.c (build_key_bag): New args SHA1HASH and
583
KEYIDSTR. Append bag Attributes if these args are given.
584
(build_cert_sequence): ditto.
585
(p12_build): Calculate certificate hash and pass to build
588
2006-07-21 Werner Koch <wk@g10code.com>
590
* minip12.c (oid_pkcs_12_keyBag): New.
591
(parse_bag_encrypted_data): New arg R_RESULT. Support keybags and
592
return the key object.
593
(p12_parse): Take new arg into account. Free RESULT on error.
595
2006-06-26 Werner Koch <wk@g10code.com>
597
* gpg-agent.c (handle_signal): Print info for SIGUSR2 only in
600
2006-06-22 Werner Koch <wk@g10code.com>
602
* command-ssh.c (make_cstring): Use memcpy instead of strncpy.
603
(ssh_receive_mpint_list, sexp_key_extract, data_sign): Use
604
xtrycalloc instead of xtrymalloc followed by memset.
606
2006-06-20 Werner Koch <wk@g10code.com>
608
* minip12.c (create_final): New arg PW. Add code to calculate the
611
2006-06-09 Marcus Brinkmann <marcus@g10code.de>
613
* Makefile.am (gpg_agent_LDADD): Add $(NETLIBS).
614
(gpg_protect_tool_LDADD): Likewise.
615
(gpg_preset_passphrase_LDADD): Likewise.
617
2006-04-09 Moritz Schulte <moritz@g10code.com>
619
* command-ssh.c (ssh_request_process): Removed FIXME mentioning a
622
2006-04-01 Moritz Schulte <moritz@g10code.com>
624
* command-ssh.c (ssh_identity_register): Make KEY_GRIP_RAW be 20
625
instead of 21 bytes long; do not fill KEY_GRIP_RAW[20] with NUL
626
byte - KEY_GRIP_RAW is a raw binary string anyway.
628
2006-02-09 Werner Koch <wk@g10code.com>
630
* call-scd.c (struct scd_local_s): New field next_local.
631
(scd_local_list): New.
632
(start_scd): Put new local into list.
633
(agent_reset_scd): Remove it from the list.
634
(agent_scd_check_aliveness): Here is the actual reason why we need
636
(agent_reset_scd): Send the new command RESTART instead of RESET.
1
638
2005-12-16 Werner Koch <wk@g10code.com>
3
640
* minip12.c (cram_octet_string): New