assertion failure / key-locate local / macOS

Phil Pennock gnupg-devel at spodhuis.org
Sat Mar 4 23:02:06 CET 2017


On 2017-03-04 at 09:45 +0100, Werner Koch wrote:
> >   % gpg --auto-key-locate dane --locate-keys phil.pennock at spodhuis.org
> >   gpg: Ohhhh jeeee: Assertion "uid->ref > 0" in free_user_id failed (free-packet.c:310)
> 
> Can you please run it also under gdb (or another debugger), set a
> breakpoint at _log_assert and when it gets hit produce a stack backtace
> ("bt full")?

Found/reviewed some Python to give lldb the same "full" functionality,
but no frame variables available in the binary.

Installed from git; gettext dep for autogen resolved by rsync'ing the
autogen result files from the Linux box.  Resulting build (details
below) failed only in the svg generation, but otherwise installs fine,
and declares itself to be "gpg (GnuPG) 2.1.20-beta14".

Typescript of debugging is attached.  The "gbt" command is, at its core,
from <http://idrisr.com/2016/05/29/Improving-LLDBs-Backtrace.html>.

-Phil

------------------------8< install log notes >8-------------------------

Built with:

  CFLAGS=-ggdb ./configure --prefix=$HOME/usr \
     --disable-nls --disable-ldap --enable-key-cache=16384 --enable-wks-tools \
     --with-pinentry-pgm=/usr/local/opt/pinentry/bin/pinentry-curses \
     --with-libgpg-error-prefix=/usr/local/opt/libgpg-error \
     --with-libassuan-prefix=/usr/local/opt/libassuan \
     --with-libgcrypt-prefix=/usr/local/opt/libgcrypt \
     --with-ksba-prefix=/usr/local/opt/libksba \
     --with-npth-prefix=/usr/local/opt/npth \
     --enable-symcryptrun

Configure warnings:

*** The config script /usr/local/opt/libgpg-error/bin/gpg-error-config was
*** built for x86_64-apple-darwin16.3.0 and thus may not match the
*** used host x86_64-apple-darwin16.4.0.
*** You may want to use the configure option --with-gpg-error-prefix
*** to specify a matching config script or use $SYSROOT.

*** The config script /usr/local/opt/libgcrypt/bin/libgcrypt-config was
*** built for x86_64-apple-darwin16.3.0 and thus may not match the
*** used host x86_64-apple-darwin16.4.0.
*** You may want to use the configure option --with-libgcrypt-prefix
*** to specify a matching config script or use $SYSROOT.

*** The config script /usr/local/opt/npth/bin/npth-config was
*** built for x86_64-apple-darwin16.0.0 and thus may not match the
*** used host x86_64-apple-darwin16.4.0.
*** You may want to use the configure option --with-npth-prefix
*** to specify a matching config script.

-------------- next part --------------
Script started on Sat Mar  4 16:58:57 2017
]2;pdp at tungsten.lan:~%                                                                                                                                   
 

[2]-pdp@tungsten.lan:s010[16:58]3D(1001)~% [?2004hlldb gpg2 -- --auto-key-locate dane --locate-keys phil.pennock at spodhuis.orglldb gpg2 -- --auto-key-locate dane --locate-keys phil.pennock@spodhuis.org[?2004l

(lldb) target create "gpg2"
Current executable set to 'gpg2' (x86_64).
(lldb) settings set -- target.run-args  "--auto-key-locate" "dane" "--locate-keys" "phil.pennock at spodhuis.org"
(lldb) (lldb) breakpoint set -n _log_assert
Breakpoint 1: where = gpg2`_log_assert + 35 at logging.c:1087, address = 0x00000001000d5973
(lldb) (lldb) run
Process 50844 launched: '/Users/pdp/usr/bin/gpg2' (x86_64)
gpg: NOTE: THIS IS A DEVELOPMENT VERSION!

gpg: It is only intended for test purposes and should NOT be

gpg: used in a production environment or with production keys!

gpg: please do a --check-trustdb

Process 50844 stopped
* thread #1: tid = 0xd114f, 0x00000001000d5973 gpg2`_log_assert(expr="uid->ref > 0", file="free-packet.c", line=310, func="free_user_id") + 35 at logging.c:1087, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x00000001000d5973 gpg2`_log_assert(expr="uid->ref > 0", file="free-packet.c", line=310, func="free_user_id") + 35 at logging.c:1087
   1084	_log_assert (const char *expr, const char *file, int line, const char *func)
   1085	{
   1086	  log_log (GPGRT_LOG_BUG, "Assertion \"%s\" in %s failed (%s:%d)\n",
-> 1087	           expr, func, file, line);
   1088	  abort (); /* Never called; just to make the compiler happy.  */
   1089	}
   1090	#else /*!GPGRT_HAVE_MACRO_FUNCTION*/
(lldb) (lldb) bt
* thread #1: tid = 0xd114f, 0x00000001000d5973 gpg2`_log_assert(expr="uid->ref > 0", file="free-packet.c", line=310, func="free_user_id") + 35 at logging.c:1087, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x00000001000d5973 gpg2`_log_assert(expr="uid->ref > 0", file="free-packet.c", line=310, func="free_user_id") + 35 at logging.c:1087
    frame #1: 0x0000000100023afd gpg2`free_user_id(uid=0x00000001006194f0) + 77 at free-packet.c:310
    frame #2: 0x0000000100027457 gpg2`get_best_pubkey_byname(ctrl=0x00000001006003c0, retctx=0x00007fff5fbfe568, pk=0x0000000000000000, name="phil.pennock at spodhuis.org", ret_keyblock=0x00007fff5fbfe560, include_unusable=1, no_akl=0) + 423 at getkey.c:1612
    frame #3: 0x000000010005ce7e gpg2`locate_one(ctrl=0x00000001006003c0, names=0x0000000100600460) + 158 at keylist.c:650
    frame #4: 0x000000010005cd7e gpg2`public_key_list(ctrl=0x00000001006003c0, list=0x0000000100600460, locate_mode=1) + 686 at keylist.c:141
    frame #5: 0x0000000100005ccf gpg2`main(argc=0, argv=0x00007fff5fbfef50) + 20799 at gpg.c:4317
    frame #6: 0x00007fffc4011255 libdyld.dylib`start + 1
    frame #7: 0x00007fffc4011255 libdyld.dylib`start + 1
(lldb) (lldb) gbt
thread #1: tid = 0xd114f, 0x00000001000d5973 gpg2`_log_assert(expr="uid->ref > 0", file="free-packet.c", line=310, func="free_user_id") + 35 at logging.c:1087, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  frame #0: 0x00000001000d5973 gpg2`_log_assert(expr="uid->ref > 0", file="free-packet.c", line=310, func="free_user_id") + 35 at logging.c:1087
	(const char *) expr = 0x00000001000fe1c3 "uid->ref > 0"
	(const char *) file = 0x00000001000fe1a5 "free-packet.c"
	(int) line = 310
	(const char *) func = 0x00000001000fe1d0 "free_user_id"
	(estream_t) logstream = 0x0000000100600320
	(int) with_prefix = 1
	(int) with_pid = 0
	(int) running_detached = 0
	(int) force_prefixes = 0
	(int) missing_lf = 0
	(const char *(*)()) socket_dir_cb = 0x00000001000dc950 (gpg2`gnupg_socketdir at homedir.c:624)
	(int (*)(unsigned long *)) get_pid_suffix_cb = 0x0000000000000000
	(int) with_time = 0
	(char [80]) prefix_buffer = "gpg"
	(int) errorcount = 0
	(int) log_socket = 2
  frame #1: 0x0000000100023afd gpg2`free_user_id(uid=0x00000001006194f0) + 77 at free-packet.c:310
	(PKT_user_id *) uid = 0x00000001006194f0
	((anonymous struct)) glo_ctrl = (in_auto_key_retrieve = 0, lasterr = 0)
	((anonymous struct)) opt = {
  verbose = 0
  quiet = 0
  debug = 0
  armor = 0
  outfile = 0x0000000000000000
  outfp = 0x0000000000000000
  max_output = 0
  input_size_hint = 0
  dry_run = 0
  autostart = 1
  list_only = 0
  mimemode = 0
  textmode = 0
  expert = 0
  def_sig_expire = 0x00000001000f5f91 "0"
  ask_sig_expire = 0
  def_cert_expire = 0x00000001000f5f91 "0"
  ask_cert_expire = 0
  batch = 0
  answer_yes = 0
  answer_no = 0
  check_sigs = 0
  with_colons = 0
  with_key_data = 0
  with_icao_spelling = 0
  with_fingerprint = 0
  with_subkey_fingerprint = 0
  with_keygrip = 0
  with_tofu_info = 0
  with_secret = 0
  with_wkd_hash = 0
  fingerprint = 0
  list_sigs = 0
  no_armor = 0
  list_packets = 0
  def_cipher_algo = 0
  force_mdc = 0
  disable_mdc = 0
  def_digest_algo = 0
  cert_digest_algo = 0
  compress_algo = -1
  compress_level = -1
  bz2_compress_level = -1
  bz2_decompress_lowmem = 0
  def_secret_key = 0x0000000100600130
  def_recipient = 0x0000000000000000
  def_recipient_self = 1
  secret_keys_to_try = 0x0000000000000000
  sender_list = 0x0000000000000000
  def_cert_level = 0
  min_cert_level = 2
  ask_cert_level = 1
  emit_version = 0
  marginals_needed = 3
  completes_needed = 1
  max_cert_depth = 5
  agent_program = 0x0000000000000000
  dirmngr_program = 0x0000000000000000
  def_new_key_algo = 0x0000000000000000
  session_env = 0x00000001004024d0
  lc_ctype = 0x0000000000000000
  lc_messages = 0x0000000000000000
  skip_verify = 0
  skip_hidden_recipients = 0
  trust_model = TM_PGP
  tofu_default_policy = TOFU_POLICY_AUTO
  force_ownertrust = 0
  compliance = CO_GNUPG
  keyid_format = KF_NONE
  shm_coprocess = 0
  set_filename = 0x0000000000000000
  comments = 0x0000000000000000
  throw_keyids = 0
  photo_viewer = 0x0000000000000000
  s2k_mode = 3
  s2k_digest_algo = 0
  s2k_cipher_algo = 7
  s2k_count = '\0'
  not_dash_escaped = 0
  escape_from = 1
  lock_once = 1
  keyserver = 0x00000001006001e0
  keyserver_options = (options = 32, import_options = 2, export_options = 2, http_proxy = 0x0000000000000000)
  exec_disable = 0
  exec_path_set = 0
  import_options = 0
  export_options = 2
  list_options = 2614
  verify_options = 62
  def_preference_list = 0x00000001006000b0 "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES BZIP2 ZLIB ZIP"
  def_keyserver_url = 0x00000001006001b0 "hkp://ha.pool.sks-keyservers.net/"
  personal_cipher_prefs = 0x0000000000000000
  personal_digest_prefs = 0x0000000100600380
  personal_compress_prefs = 0x0000000000000000
  weak_digests = 0x0000000100402550
  no_perm_warn = 0
  no_mdc_warn = 0
  temp_dir = 0x0000000000000000
  no_encrypt_to = 0
  encrypt_to_default_key = 0
  interactive = 0
  sig_notations = 0x0000000000000000
  cert_notations = 0x0000000000000000
  sig_policy_url = 0x0000000000000000
  cert_policy_url = 0x0000000000000000
  sig_keyserver_url = 0x0000000000000000
  cert_subpackets = 0x0000000000000000
  sig_subpackets = 0x0000000000000000
  allow_non_selfsigned_uid = 0
  allow_freeform_uid = 0
  no_literal = 0
  set_filesize = 0
  fast_list_mode = 0
  legacy_list_mode = 0
  ignore_time_conflict = 0
  ignore_valid_from = 0
  ignore_crc_error = 0
  ignore_mdc_error = 0
  command_fd = -1
  override_session_key = 0x0000000000000000
  show_session_key = 0
  gpg_agent_info = 0x0000000000000000
  try_all_secrets = 0
  no_expensive_trust_checks = 0
  no_sig_cache = 0
  no_auto_check_trustdb = 1
  preserve_permissions = 0
  no_homedir_creation = 0
  grouplist = 0x0000000000000000
  mangle_dos_filenames = 0
  enable_progress_filter = 0
  screen_columns = 80
  screen_lines = 24
  show_subpackets = 0x0000000000000000
  rfc2440_text = 0
  exit_on_status_write_error = 0
  limit_card_insert_tries = 0
  flags = {
    require_cross_cert = 1
    use_embedded_filename = 0
    utf8_filename = 1
    dsa2 = 0
    allow_multiple_messages = 0
    allow_weak_digest_algos = 0
    large_rsa = 0
    disable_signer_uid = 0
    rfc4880bis = 0
  }
  auto_key_locate = 0x0000000100600250
  passphrase_repeat = 1
  pinentry_mode = 0
  unwrap_encryption = 0
  only_sign_text_ids = 0
}
	(int) iobuf_debug_mode = 0
	(int) memory_stat_debug_mode = 0
	(int) memory_debug_mode = 0
  frame #2: 0x0000000100027457 gpg2`get_best_pubkey_byname(ctrl=0x00000001006003c0, retctx=0x00007fff5fbfe568, pk=0x0000000000000000, name="phil.pennock at spodhuis.org", ret_keyblock=0x00007fff5fbfe560, include_unusable=1, no_akl=0) + 423 at getkey.c:1612
	(ctrl_t) ctrl = 0x00000001006003c0
	(GETKEY_CTX *) retctx = 0x00007fff5fbfe568
	(PKT_public_key *) pk = 0x0000000000000000
	(const char *) name = 0x000000010060046c "phil.pennock at spodhuis.org"
	(KBNODE *) ret_keyblock = 0x00007fff5fbfe560
	(int) include_unusable = 1
	(int) no_akl = 0
	(int) rc = 0
	(getkey_ctx_s *) ctx = 0x0000000100600570
	(pubkey_cmp_cookie) best = {
  valid = 1
  key = {
    timestamp = 1382417802
    expiredate = 0
    max_expiredate = 0
    revoked = {
      date = 0
      keyid = ([0] = 0, [1] = 0)
      algo = '\0'
    }
    hdrbytes = '\x03'
    version = '\x04'
    selfsigversion = '\x04'
    pubkey_algo = '\x01'
    pubkey_usage = '\x05'
    req_usage = '\0'
    has_expired = 0
    main_keyid = ([0] = 1293848590, [1] = 348244996)
    keyid = ([0] = 1293848590, [1] = 348244996)
    prefs = 0x0000000100515a20
    flags = {
      mdc = 1
      disabled_valid = 1
      disabled = 0
      primary = 1
      revoked = 0
      maybe_revoked = 0
      valid = 1
      dont_cache = 0
      backsig = 0
      serialno_valid = 0
      exact = 0
    }
    user_id = 0x000000010061c360
    revkey = 0x0000000000000000
    numrevkeys = 0
    trust_timestamp = 0
    trust_depth = '\0'
    trust_value = '\0'
    trust_regexp = 0x0000000000000000
    serialno = 0x0000000000000000
    seckey_info = 0x0000000000000000
    pkey = ([0] = 0x00000001005158c0, [1] = 0x00000001005156b0, [2] = 0x0000000000000000, [3] = 0x0000000000000000, [4] = 0x0000000000000000, [5] = 0x0000000000000000, [6] = 0x0000000000000000)
  }
  uid = 0x000000010061c360
  validity = 6
  creation_time = 1472278988
}
	(pubkey_cmp_cookie) new = {
  valid = 1
  key = {
    timestamp = 1472694340
    expiredate = 0
    max_expiredate = 0
    revoked = {
      date = 0
      keyid = ([0] = 0, [1] = 0)
      algo = '\0'
    }
    hdrbytes = '\x03'
    version = '\x04'
    selfsigversion = '\x04'
    pubkey_algo = '\x01'
    pubkey_usage = '\x05'
    req_usage = '\0'
    has_expired = 0
    main_keyid = ([0] = 3932611014, [1] = 1016984634)
    keyid = ([0] = 3932611014, [1] = 1016984634)
    prefs = 0x0000000000000000
    flags = {
      mdc = 1
      disabled_valid = 0
      disabled = 0
      primary = 1
      revoked = 0
      maybe_revoked = 0
      valid = 1
      dont_cache = 0
      backsig = 0
      serialno_valid = 0
      exact = 0
    }
    user_id = 0x0000000000000000
    revkey = 0x0000000000000000
    numrevkeys = 0
    trust_timestamp = 0
    trust_depth = '\0'
    trust_value = '\0'
    trust_regexp = 0x0000000000000000
    serialno = 0x0000000000000000
    seckey_info = 0x0000000000000000
    pkey = ([0] = 0x0000000000000000, [1] = 0x0000000000000000, [2] = 0x0000000000000000, [3] = 0x0000000000000000, [4] = 0x0000000000000000, [5] = 0x0000000000000000, [6] = 0x0000000000000000)
  }
  uid = 0x00000001006194f0
  validity = 1
  creation_time = 1472694340
}
	(KBNODE) new_keyblock = 0x000000010063ccc0
	(int) diff = 1
	((anonymous struct)) glo_ctrl = (in_auto_key_retrieve = 0, lasterr = 0)
	(int) pk_cache_entries = 0
	((anonymous struct)) opt = {
  verbose = 0
  quiet = 0
  debug = 0
  armor = 0
  outfile = 0x0000000000000000
  outfp = 0x0000000000000000
  max_output = 0
  input_size_hint = 0
  dry_run = 0
  autostart = 1
  list_only = 0
  mimemode = 0
  textmode = 0
  expert = 0
  def_sig_expire = 0x00000001000f5f91 "0"
  ask_sig_expire = 0
  def_cert_expire = 0x00000001000f5f91 "0"
  ask_cert_expire = 0
  batch = 0
  answer_yes = 0
  answer_no = 0
  check_sigs = 0
  with_colons = 0
  with_key_data = 0
  with_icao_spelling = 0
  with_fingerprint = 0
  with_subkey_fingerprint = 0
  with_keygrip = 0
  with_tofu_info = 0
  with_secret = 0
  with_wkd_hash = 0
  fingerprint = 0
  list_sigs = 0
  no_armor = 0
  list_packets = 0
  def_cipher_algo = 0
  force_mdc = 0
  disable_mdc = 0
  def_digest_algo = 0
  cert_digest_algo = 0
  compress_algo = -1
  compress_level = -1
  bz2_compress_level = -1
  bz2_decompress_lowmem = 0
  def_secret_key = 0x0000000100600130
  def_recipient = 0x0000000000000000
  def_recipient_self = 1
  secret_keys_to_try = 0x0000000000000000
  sender_list = 0x0000000000000000
  def_cert_level = 0
  min_cert_level = 2
  ask_cert_level = 1
  emit_version = 0
  marginals_needed = 3
  completes_needed = 1
  max_cert_depth = 5
  agent_program = 0x0000000000000000
  dirmngr_program = 0x0000000000000000
  def_new_key_algo = 0x0000000000000000
  session_env = 0x00000001004024d0
  lc_ctype = 0x0000000000000000
  lc_messages = 0x0000000000000000
  skip_verify = 0
  skip_hidden_recipients = 0
  trust_model = TM_PGP
  tofu_default_policy = TOFU_POLICY_AUTO
  force_ownertrust = 0
  compliance = CO_GNUPG
  keyid_format = KF_NONE
  shm_coprocess = 0
  set_filename = 0x0000000000000000
  comments = 0x0000000000000000
  throw_keyids = 0
  photo_viewer = 0x0000000000000000
  s2k_mode = 3
  s2k_digest_algo = 0
  s2k_cipher_algo = 7
  s2k_count = '\0'
  not_dash_escaped = 0
  escape_from = 1
  lock_once = 1
  keyserver = 0x00000001006001e0
  keyserver_options = (options = 32, import_options = 2, export_options = 2, http_proxy = 0x0000000000000000)
  exec_disable = 0
  exec_path_set = 0
  import_options = 0
  export_options = 2
  list_options = 2614
  verify_options = 62
  def_preference_list = 0x00000001006000b0 "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES BZIP2 ZLIB ZIP"
  def_keyserver_url = 0x00000001006001b0 "hkp://ha.pool.sks-keyservers.net/"
  personal_cipher_prefs = 0x0000000000000000
  personal_digest_prefs = 0x0000000100600380
  personal_compress_prefs = 0x0000000000000000
  weak_digests = 0x0000000100402550
  no_perm_warn = 0
  no_mdc_warn = 0
  temp_dir = 0x0000000000000000
  no_encrypt_to = 0
  encrypt_to_default_key = 0
  interactive = 0
  sig_notations = 0x0000000000000000
  cert_notations = 0x0000000000000000
  sig_policy_url = 0x0000000000000000
  cert_policy_url = 0x0000000000000000
  sig_keyserver_url = 0x0000000000000000
  cert_subpackets = 0x0000000000000000
  sig_subpackets = 0x0000000000000000
  allow_non_selfsigned_uid = 0
  allow_freeform_uid = 0
  no_literal = 0
  set_filesize = 0
  fast_list_mode = 0
  legacy_list_mode = 0
  ignore_time_conflict = 0
  ignore_valid_from = 0
  ignore_crc_error = 0
  ignore_mdc_error = 0
  command_fd = -1
  override_session_key = 0x0000000000000000
  show_session_key = 0
  gpg_agent_info = 0x0000000000000000
  try_all_secrets = 0
  no_expensive_trust_checks = 0
  no_sig_cache = 0
  no_auto_check_trustdb = 1
  preserve_permissions = 0
  no_homedir_creation = 0
  grouplist = 0x0000000000000000
  mangle_dos_filenames = 0
  enable_progress_filter = 0
  screen_columns = 80
  screen_lines = 24
  show_subpackets = 0x0000000000000000
  rfc2440_text = 0
  exit_on_status_write_error = 0
  limit_card_insert_tries = 0
  flags = {
    require_cross_cert = 1
    use_embedded_filename = 0
    utf8_filename = 1
    dsa2 = 0
    allow_multiple_messages = 0
    allow_weak_digest_algos = 0
    large_rsa = 0
    disable_signer_uid = 0
    rfc4880bis = 0
  }
  auto_key_locate = 0x0000000100600250
  passphrase_repeat = 1
  pinentry_mode = 0
  unwrap_encryption = 0
  only_sign_text_ids = 0
}
	(int) iobuf_debug_mode = 0
	(user_id_db_t) user_id_db = 0x0000000100403b00
	(int) memory_stat_debug_mode = 0
	(int) uid_cache_entries = 5
	(int) memory_debug_mode = 0
	(pk_cache_entry_t) pk_cache = 0x0000000000000000
	(int) pk_cache_disabled = 0
  frame #3: 0x000000010005ce7e gpg2`locate_one(ctrl=0x00000001006003c0, names=0x0000000100600460) + 158 at keylist.c:650
	(ctrl_t) ctrl = 0x00000001006003c0
	(strlist_t) names = 0x0000000100600460
	(int) rc = 0
	(strlist_t) sl = 0x0000000100600460
	(GETKEY_CTX) ctx = 0x0000000000000000
	(KBNODE) keyblock = 0x0000000100600b20
	(keylist_context) listctx = {
  check_sigs = 0
  good_sigs = 0
  inv_sigs = 0
  no_key = 0
  oth_err = 0
  no_validity = 0
}
	((anonymous struct)) glo_ctrl = (in_auto_key_retrieve = 0, lasterr = 0)
	((anonymous struct)) opt = {
  verbose = 0
  quiet = 0
  debug = 0
  armor = 0
  outfile = 0x0000000000000000
  outfp = 0x0000000000000000
  max_output = 0
  input_size_hint = 0
  dry_run = 0
  autostart = 1
  list_only = 0
  mimemode = 0
  textmode = 0
  expert = 0
  def_sig_expire = 0x00000001000f5f91 "0"
  ask_sig_expire = 0
  def_cert_expire = 0x00000001000f5f91 "0"
  ask_cert_expire = 0
  batch = 0
  answer_yes = 0
  answer_no = 0
  check_sigs = 0
  with_colons = 0
  with_key_data = 0
  with_icao_spelling = 0
  with_fingerprint = 0
  with_subkey_fingerprint = 0
  with_keygrip = 0
  with_tofu_info = 0
  with_secret = 0
  with_wkd_hash = 0
  fingerprint = 0
  list_sigs = 0
  no_armor = 0
  list_packets = 0
  def_cipher_algo = 0
  force_mdc = 0
  disable_mdc = 0
  def_digest_algo = 0
  cert_digest_algo = 0
  compress_algo = -1
  compress_level = -1
  bz2_compress_level = -1
  bz2_decompress_lowmem = 0
  def_secret_key = 0x0000000100600130
  def_recipient = 0x0000000000000000
  def_recipient_self = 1
  secret_keys_to_try = 0x0000000000000000
  sender_list = 0x0000000000000000
  def_cert_level = 0
  min_cert_level = 2
  ask_cert_level = 1
  emit_version = 0
  marginals_needed = 3
  completes_needed = 1
  max_cert_depth = 5
  agent_program = 0x0000000000000000
  dirmngr_program = 0x0000000000000000
  def_new_key_algo = 0x0000000000000000
  session_env = 0x00000001004024d0
  lc_ctype = 0x0000000000000000
  lc_messages = 0x0000000000000000
  skip_verify = 0
  skip_hidden_recipients = 0
  trust_model = TM_PGP
  tofu_default_policy = TOFU_POLICY_AUTO
  force_ownertrust = 0
  compliance = CO_GNUPG
  keyid_format = KF_NONE
  shm_coprocess = 0
  set_filename = 0x0000000000000000
  comments = 0x0000000000000000
  throw_keyids = 0
  photo_viewer = 0x0000000000000000
  s2k_mode = 3
  s2k_digest_algo = 0
  s2k_cipher_algo = 7
  s2k_count = '\0'
  not_dash_escaped = 0
  escape_from = 1
  lock_once = 1
  keyserver = 0x00000001006001e0
  keyserver_options = (options = 32, import_options = 2, export_options = 2, http_proxy = 0x0000000000000000)
  exec_disable = 0
  exec_path_set = 0
  import_options = 0
  export_options = 2
  list_options = 2614
  verify_options = 62
  def_preference_list = 0x00000001006000b0 "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES BZIP2 ZLIB ZIP"
  def_keyserver_url = 0x00000001006001b0 "hkp://ha.pool.sks-keyservers.net/"
  personal_cipher_prefs = 0x0000000000000000
  personal_digest_prefs = 0x0000000100600380
  personal_compress_prefs = 0x0000000000000000
  weak_digests = 0x0000000100402550
  no_perm_warn = 0
  no_mdc_warn = 0
  temp_dir = 0x0000000000000000
  no_encrypt_to = 0
  encrypt_to_default_key = 0
  interactive = 0
  sig_notations = 0x0000000000000000
  cert_notations = 0x0000000000000000
  sig_policy_url = 0x0000000000000000
  cert_policy_url = 0x0000000000000000
  sig_keyserver_url = 0x0000000000000000
  cert_subpackets = 0x0000000000000000
  sig_subpackets = 0x0000000000000000
  allow_non_selfsigned_uid = 0
  allow_freeform_uid = 0
  no_literal = 0
  set_filesize = 0
  fast_list_mode = 0
  legacy_list_mode = 0
  ignore_time_conflict = 0
  ignore_valid_from = 0
  ignore_crc_error = 0
  ignore_mdc_error = 0
  command_fd = -1
  override_session_key = 0x0000000000000000
  show_session_key = 0
  gpg_agent_info = 0x0000000000000000
  try_all_secrets = 0
  no_expensive_trust_checks = 0
  no_sig_cache = 0
  no_auto_check_trustdb = 1
  preserve_permissions = 0
  no_homedir_creation = 0
  grouplist = 0x0000000000000000
  mangle_dos_filenames = 0
  enable_progress_filter = 0
  screen_columns = 80
  screen_lines = 24
  show_subpackets = 0x0000000000000000
  rfc2440_text = 0
  exit_on_status_write_error = 0
  limit_card_insert_tries = 0
  flags = {
    require_cross_cert = 1
    use_embedded_filename = 0
    utf8_filename = 1
    dsa2 = 0
    allow_multiple_messages = 0
    allow_weak_digest_algos = 0
    large_rsa = 0
    disable_signer_uid = 0
    rfc4880bis = 0
  }
  auto_key_locate = 0x0000000100600250
  passphrase_repeat = 1
  pinentry_mode = 0
  unwrap_encryption = 0
  only_sign_text_ids = 0
}
	(int) iobuf_debug_mode = 0
	(int) memory_stat_debug_mode = 0
	(estream_t) attrib_fp = 0x0000000000000000
	(int) memory_debug_mode = 0
  frame #4: 0x000000010005cd7e gpg2`public_key_list(ctrl=0x00000001006003c0, list=0x0000000100600460, locate_mode=1) + 686 at keylist.c:141
	(ctrl_t) ctrl = 0x00000001006003c0
	(strlist_t) list = 0x0000000100600460
	(int) locate_mode = 1
	((anonymous struct)) glo_ctrl = (in_auto_key_retrieve = 0, lasterr = 0)
	((anonymous struct)) opt = {
  verbose = 0
  quiet = 0
  debug = 0
  armor = 0
  outfile = 0x0000000000000000
  outfp = 0x0000000000000000
  max_output = 0
  input_size_hint = 0
  dry_run = 0
  autostart = 1
  list_only = 0
  mimemode = 0
  textmode = 0
  expert = 0
  def_sig_expire = 0x00000001000f5f91 "0"
  ask_sig_expire = 0
  def_cert_expire = 0x00000001000f5f91 "0"
  ask_cert_expire = 0
  batch = 0
  answer_yes = 0
  answer_no = 0
  check_sigs = 0
  with_colons = 0
  with_key_data = 0
  with_icao_spelling = 0
  with_fingerprint = 0
  with_subkey_fingerprint = 0
  with_keygrip = 0
  with_tofu_info = 0
  with_secret = 0
  with_wkd_hash = 0
  fingerprint = 0
  list_sigs = 0
  no_armor = 0
  list_packets = 0
  def_cipher_algo = 0
  force_mdc = 0
  disable_mdc = 0
  def_digest_algo = 0
  cert_digest_algo = 0
  compress_algo = -1
  compress_level = -1
  bz2_compress_level = -1
  bz2_decompress_lowmem = 0
  def_secret_key = 0x0000000100600130
  def_recipient = 0x0000000000000000
  def_recipient_self = 1
  secret_keys_to_try = 0x0000000000000000
  sender_list = 0x0000000000000000
  def_cert_level = 0
  min_cert_level = 2
  ask_cert_level = 1
  emit_version = 0
  marginals_needed = 3
  completes_needed = 1
  max_cert_depth = 5
  agent_program = 0x0000000000000000
  dirmngr_program = 0x0000000000000000
  def_new_key_algo = 0x0000000000000000
  session_env = 0x00000001004024d0
  lc_ctype = 0x0000000000000000
  lc_messages = 0x0000000000000000
  skip_verify = 0
  skip_hidden_recipients = 0
  trust_model = TM_PGP
  tofu_default_policy = TOFU_POLICY_AUTO
  force_ownertrust = 0
  compliance = CO_GNUPG
  keyid_format = KF_NONE
  shm_coprocess = 0
  set_filename = 0x0000000000000000
  comments = 0x0000000000000000
  throw_keyids = 0
  photo_viewer = 0x0000000000000000
  s2k_mode = 3
  s2k_digest_algo = 0
  s2k_cipher_algo = 7
  s2k_count = '\0'
  not_dash_escaped = 0
  escape_from = 1
  lock_once = 1
  keyserver = 0x00000001006001e0
  keyserver_options = (options = 32, import_options = 2, export_options = 2, http_proxy = 0x0000000000000000)
  exec_disable = 0
  exec_path_set = 0
  import_options = 0
  export_options = 2
  list_options = 2614
  verify_options = 62
  def_preference_list = 0x00000001006000b0 "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES BZIP2 ZLIB ZIP"
  def_keyserver_url = 0x00000001006001b0 "hkp://ha.pool.sks-keyservers.net/"
  personal_cipher_prefs = 0x0000000000000000
  personal_digest_prefs = 0x0000000100600380
  personal_compress_prefs = 0x0000000000000000
  weak_digests = 0x0000000100402550
  no_perm_warn = 0
  no_mdc_warn = 0
  temp_dir = 0x0000000000000000
  no_encrypt_to = 0
  encrypt_to_default_key = 0
  interactive = 0
  sig_notations = 0x0000000000000000
  cert_notations = 0x0000000000000000
  sig_policy_url = 0x0000000000000000
  cert_policy_url = 0x0000000000000000
  sig_keyserver_url = 0x0000000000000000
  cert_subpackets = 0x0000000000000000
  sig_subpackets = 0x0000000000000000
  allow_non_selfsigned_uid = 0
  allow_freeform_uid = 0
  no_literal = 0
  set_filesize = 0
  fast_list_mode = 0
  legacy_list_mode = 0
  ignore_time_conflict = 0
  ignore_valid_from = 0
  ignore_crc_error = 0
  ignore_mdc_error = 0
  command_fd = -1
  override_session_key = 0x0000000000000000
  show_session_key = 0
  gpg_agent_info = 0x0000000000000000
  try_all_secrets = 0
  no_expensive_trust_checks = 0
  no_sig_cache = 0
  no_auto_check_trustdb = 1
  preserve_permissions = 0
  no_homedir_creation = 0
  grouplist = 0x0000000000000000
  mangle_dos_filenames = 0
  enable_progress_filter = 0
  screen_columns = 80
  screen_lines = 24
  show_subpackets = 0x0000000000000000
  rfc2440_text = 0
  exit_on_status_write_error = 0
  limit_card_insert_tries = 0
  flags = {
    require_cross_cert = 1
    use_embedded_filename = 0
    utf8_filename = 1
    dsa2 = 0
    allow_multiple_messages = 0
    allow_weak_digest_algos = 0
    large_rsa = 0
    disable_signer_uid = 0
    rfc4880bis = 0
  }
  auto_key_locate = 0x0000000100600250
  passphrase_repeat = 1
  pinentry_mode = 0
  unwrap_encryption = 0
  only_sign_text_ids = 0
}
	(int) iobuf_debug_mode = 0
	(int) memory_stat_debug_mode = 0
	(estream_t) attrib_fp = 0x0000000000000000
	(int) memory_debug_mode = 0
  frame #5: 0x0000000100005ccf gpg2`main(argc=0, argv=0x00007fff5fbfef50) + 20799 at gpg.c:4317
	(int) print_dane_records = 0
	(int) print_pka_records = 0
	(int) argc = 0
	(char **) argv = 0x00007fff5fbfef50
	(ARGPARSE_ARGS) pargs = {
  argc = 0x00007fff5fbfeef8
  argv = 0x00007fff5fbfeef0
  flags = 32769
  err = 0
  r_opt = 0
  r_type = 0
  r = (ret_int = 0, ret_long = 0, ret_ulong = 0, ret_str = 0x0000000000000000)
  internal = (idx = 4, inarg = 0, stopped = 1, last = "phil.pennock at spodhuis.org", aliases = 0x0000000000000000, cur_alias = 0x0000000000000000, iio_list = 0x0000000000000000)
}
	(IOBUF) a = 0x00007fff5fbfef10
	(int) rc = 0
	(int) orig_argc = 5
	(char **) orig_argv = 0x00007fff5fbfef28
	(const char *) fname = 0x00007fff5fbff1f2 "phil.pennock at spodhuis.org"
	(char *) username = 0x00007fff5fbfef58 "\f?_?\x7f"
	(int) may_coredump = 0
	(strlist_t) sl = 0x0000000100600460
	(strlist_t) remusr = 0x0000000100600180
	(strlist_t) locusr = 0x0000000000000000
	(strlist_t) nrings = 0x0000000000000000
	(armor_filter_context_t *) afx = 0x0000000000000000
	(int) detached_sig = 0
	(FILE *) configfp = 0x0000000000000000
	(char *) configname = 0x0000000000000000
	(char *) save_configname = 0x00000001004022b0 "@"
	(char *) default_configname = 0x0000000100402560 "@"
	(unsigned int) configlineno = 44
	(int) parse_debug = 0
	(int) default_config = 0
	(int) default_keyring = 1
	(int) greeting = 0
	(int) nogreeting = 1
	(char *) logfile = 0x0000000000000000
	(int) use_random_seed = 1
	(cmd_and_opt_values) cmd = aLocateKeys
	(const char *) debug_level = 0x0000000000000000
	(const char *) trustdb_name = 0x0000000000000000
	(char *) def_cipher_string = 0x0000000000000000
	(char *) def_digest_string = 0x0000000000000000
	(char *) compress_algo_string = 0x0000000000000000
	(char *) cert_digest_string = 0x0000000000000000
	(char *) s2k_cipher_string = 0x0000000000000000
	(char *) s2k_digest_string = 0x0000000000000000
	(char *) pers_cipher_list = 0x0000000000000000
	(char *) pers_digest_list = 0x00000001006000f0 "SHA256 SHA512 SHA384 SHA1"
	(char *) pers_compress_list = 0x0000000000000000
	(int) eyes_only = 0
	(int) multifile = 0
	(int) pwfd = -1
	(int) ovrseskeyfd = -1
	(int) fpr_maybe_cmd = 0
	(int) any_explicit_recipient = 0
	(int) require_secmem = 0
	(int) got_secmem = 1
	(assuan_malloc_hooks) malloc_hooks = {
  malloc = 0x00000001001f9f40 (libgcrypt.20.dylib`gcry_malloc)
  realloc = 0x00000001001f9f80 (libgcrypt.20.dylib`gcry_realloc)
  free = 0x00000001001fa000 (libgcrypt.20.dylib`gcry_free)
}
	(ctrl_t) ctrl = 0x00000001006003c0
	(debug_flags_s [15]) debug_flags = {
  [0] = (flag = 1, name = "packet")
  [1] = (flag = 2, name = "mpi")
  [2] = (flag = 4, name = "crypto")
  [3] = (flag = 8, name = "filter")
  [4] = (flag = 16, name = "iobuf")
  [5] = (flag = 32, name = "memory")
  [6] = (flag = 64, name = "cache")
  [7] = (flag = 128, name = "memstat")
  [8] = (flag = 256, name = "trust")
  [9] = (flag = 512, name = "hashing")
  [10] = (flag = 1024, name = "ipc")
  [11] = (flag = 4096, name = "clock")
  [12] = (flag = 8192, name = "lookup")
  [13] = (flag = 16384, name = "extprog")
  [14] = (flag = 0, name = 0x0000000000000000)
}
	(int) g10_errors_seen = 0
	(int) utf8_strings = 1
	(int) maybe_setuid = 0
	((anonymous struct)) glo_ctrl = (in_auto_key_retrieve = 0, lasterr = 0)
	((anonymous struct)) opt = {
  verbose = 0
  quiet = 0
  debug = 0
  armor = 0
  outfile = 0x0000000000000000
  outfp = 0x0000000000000000
  max_output = 0
  input_size_hint = 0
  dry_run = 0
  autostart = 1
  list_only = 0
  mimemode = 0
  textmode = 0
  expert = 0
  def_sig_expire = 0x00000001000f5f91 "0"
  ask_sig_expire = 0
  def_cert_expire = 0x00000001000f5f91 "0"
  ask_cert_expire = 0
  batch = 0
  answer_yes = 0
  answer_no = 0
  check_sigs = 0
  with_colons = 0
  with_key_data = 0
  with_icao_spelling = 0
  with_fingerprint = 0
  with_subkey_fingerprint = 0
  with_keygrip = 0
  with_tofu_info = 0
  with_secret = 0
  with_wkd_hash = 0
  fingerprint = 0
  list_sigs = 0
  no_armor = 0
  list_packets = 0
  def_cipher_algo = 0
  force_mdc = 0
  disable_mdc = 0
  def_digest_algo = 0
  cert_digest_algo = 0
  compress_algo = -1
  compress_level = -1
  bz2_compress_level = -1
  bz2_decompress_lowmem = 0
  def_secret_key = 0x0000000100600130
  def_recipient = 0x0000000000000000
  def_recipient_self = 1
  secret_keys_to_try = 0x0000000000000000
  sender_list = 0x0000000000000000
  def_cert_level = 0
  min_cert_level = 2
  ask_cert_level = 1
  emit_version = 0
  marginals_needed = 3
  completes_needed = 1
  max_cert_depth = 5
  agent_program = 0x0000000000000000
  dirmngr_program = 0x0000000000000000
  def_new_key_algo = 0x0000000000000000
  session_env = 0x00000001004024d0
  lc_ctype = 0x0000000000000000
  lc_messages = 0x0000000000000000
  skip_verify = 0
  skip_hidden_recipients = 0
  trust_model = TM_PGP
  tofu_default_policy = TOFU_POLICY_AUTO
  force_ownertrust = 0
  compliance = CO_GNUPG
  keyid_format = KF_NONE
  shm_coprocess = 0
  set_filename = 0x0000000000000000
  comments = 0x0000000000000000
  throw_keyids = 0
  photo_viewer = 0x0000000000000000
  s2k_mode = 3
  s2k_digest_algo = 0
  s2k_cipher_algo = 7
  s2k_count = '\0'
  not_dash_escaped = 0
  escape_from = 1
  lock_once = 1
  keyserver = 0x00000001006001e0
  keyserver_options = (options = 32, import_options = 2, export_options = 2, http_proxy = 0x0000000000000000)
  exec_disable = 0
  exec_path_set = 0
  import_options = 0
  export_options = 2
  list_options = 2614
  verify_options = 62
  def_preference_list = 0x00000001006000b0 "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES BZIP2 ZLIB ZIP"
  def_keyserver_url = 0x00000001006001b0 "hkp://ha.pool.sks-keyservers.net/"
  personal_cipher_prefs = 0x0000000000000000
  personal_digest_prefs = 0x0000000100600380
  personal_compress_prefs = 0x0000000000000000
  weak_digests = 0x0000000100402550
  no_perm_warn = 0
  no_mdc_warn = 0
  temp_dir = 0x0000000000000000
  no_encrypt_to = 0
  encrypt_to_default_key = 0
  interactive = 0
  sig_notations = 0x0000000000000000
  cert_notations = 0x0000000000000000
  sig_policy_url = 0x0000000000000000
  cert_policy_url = 0x0000000000000000
  sig_keyserver_url = 0x0000000000000000
  cert_subpackets = 0x0000000000000000
  sig_subpackets = 0x0000000000000000
  allow_non_selfsigned_uid = 0
  allow_freeform_uid = 0
  no_literal = 0
  set_filesize = 0
  fast_list_mode = 0
  legacy_list_mode = 0
  ignore_time_conflict = 0
  ignore_valid_from = 0
  ignore_crc_error = 0
  ignore_mdc_error = 0
  command_fd = -1
  override_session_key = 0x0000000000000000
  show_session_key = 0
  gpg_agent_info = 0x0000000000000000
  try_all_secrets = 0
  no_expensive_trust_checks = 0
  no_sig_cache = 0
  no_auto_check_trustdb = 1
  preserve_permissions = 0
  no_homedir_creation = 0
  grouplist = 0x0000000000000000
  mangle_dos_filenames = 0
  enable_progress_filter = 0
  screen_columns = 80
  screen_lines = 24
  show_subpackets = 0x0000000000000000
  rfc2440_text = 0
  exit_on_status_write_error = 0
  limit_card_insert_tries = 0
  flags = {
    require_cross_cert = 1
    use_embedded_filename = 0
    utf8_filename = 1
    dsa2 = 0
    allow_multiple_messages = 0
    allow_weak_digest_algos = 0
    large_rsa = 0
    disable_signer_uid = 0
    rfc4880bis = 0
  }
  auto_key_locate = 0x0000000100600250
  passphrase_repeat = 1
  pinentry_mode = 0
  unwrap_encryption = 0
  only_sign_text_ids = 0
}
	(int) iobuf_debug_mode = 0
	(int) memory_stat_debug_mode = 0
	(int) memory_debug_mode = 0
	(ARGPARSE_OPTS [384]) opts = {
  [0] = (short_opt = 300, long_opt = 0x0000000000000000, flags = 0, description = "@Commands:\n ")
  [1] = (short_opt = 115, long_opt = "sign", flags = 128, description = "make a signature")
  [2] = (short_opt = 510, long_opt = "clear-sign", flags = 128, description = "make a clear text signature")
  [3] = (short_opt = 510, long_opt = "clearsign", flags = 128, description = "@")
  [4] = (short_opt = 98, long_opt = "detach-sign", flags = 128, description = "make a detached signature")
  [5] = (short_opt = 101, long_opt = "encrypt", flags = 128, description = "encrypt data")
  [6] = (short_opt = 507, long_opt = "encrypt-files", flags = 128, description = "@")
  [7] = (short_opt = 99, long_opt = "symmetric", flags = 128, description = "encryption only with symmetric cipher")
  [8] = (short_opt = 511, long_opt = "store", flags = 128, description = "@")
  [9] = (short_opt = 100, long_opt = "decrypt", flags = 128, description = "decrypt data (default)")
  [10] = (short_opt = 509, long_opt = "decrypt-files", flags = 128, description = "@")
  [11] = (short_opt = 537, long_opt = "verify", flags = 128, description = "verify a signature")
  [12] = (short_opt = 538, long_opt = "verify-files", flags = 128, description = "@")
  [13] = (short_opt = 107, long_opt = "list-keys", flags = 128, description = "list keys")
  [14] = (short_opt = 107, long_opt = "list-public-keys", flags = 128, description = "@")
  [15] = (short_opt = 539, long_opt = "list-signatures", flags = 128, description = "list keys and signatures")
  [16] = (short_opt = 539, long_opt = "list-sigs", flags = 128, description = "@")
  [17] = (short_opt = 550, long_opt = "check-signatures", flags = 128, description = "list and check key signatures")
  [18] = (short_opt = 550, long_opt = "check-sigs", flags = 128, description = "@")
  [19] = (short_opt = 588, long_opt = "fingerprint", flags = 128, description = "list keys and fingerprints")
  [20] = (short_opt = 75, long_opt = "list-secret-keys", flags = 128, description = "list secret keys")
  [21] = (short_opt = 514, long_opt = "generate-key", flags = 128, description = "generate a new key pair")
  [22] = (short_opt = 514, long_opt = "gen-key", flags = 128, description = "@")
  [23] = (short_opt = 512, long_opt = "quick-generate-key", flags = 128, description = "quickly generate a new key pair")
  [24] = (short_opt = 512, long_opt = "quick-gen-key", flags = 128, description = "@")
  [25] = (short_opt = 522, long_opt = "quick-add-uid", flags = 128, description = "quickly add a new user-id")
  [26] = (short_opt = 522, long_opt = "quick-adduid", flags = 128, description = "@")
  [27] = (short_opt = 523, long_opt = "quick-add-key", flags = 128, description = "@")
  [28] = (short_opt = 523, long_opt = "quick-addkey", flags = 128, description = "@")
  [29] = (short_opt = 524, long_opt = "quick-revoke-uid", flags = 128, description = "quickly revoke a user-id")
  [30] = (short_opt = 524, long_opt = "quick-revuid", flags = 128, description = "@")
  [31] = (short_opt = 525, long_opt = "quick-set-expire", flags = 128, description = "quickly set a new expiration date")
  [32] = (short_opt = 513, long_opt = "full-generate-key", flags = 128, description = "full featured key pair generation")
  [33] = (short_opt = 513, long_opt = "full-gen-key", flags = 128, description = "@")
  [34] = (short_opt = 551, long_opt = "generate-revocation", flags = 128, description = "generate a revocation certificate")
  [35] = (short_opt = 551, long_opt = "gen-revoke", flags = 128, description = "@")
  [36] = (short_opt = 532, long_opt = "delete-keys", flags = 128, description = "remove keys from the public keyring")
  [37] = (short_opt = 533, long_opt = "delete-secret-keys", flags = 128, description = "remove keys from the secret keyring")
  [38] = (short_opt = 520, long_opt = "quick-sign-key", flags = 128, description = "quickly sign a key")
  [39] = (short_opt = 521, long_opt = "quick-lsign-key", flags = 128, description = "quickly sign a key locally")
  [40] = (short_opt = 518, long_opt = "sign-key", flags = 128, description = "sign a key")
  [41] = (short_opt = 519, long_opt = "lsign-key", flags = 128, description = "sign a key locally")
  [42] = (short_opt = 531, long_opt = "edit-key", flags = 128, description = "sign or edit a key")
  [43] = (short_opt = 531, long_opt = "key-edit", flags = 128, description = "@")
  [44] = (short_opt = 570, long_opt = "change-passphrase", flags = 128, description = "change a passphrase")
  [45] = (short_opt = 570, long_opt = "passwd", flags = 128, description = "@")
  [46] = (short_opt = 552, long_opt = "generate-designated-revocation", flags = 128, description = "@")
  [47] = (short_opt = 552, long_opt = "desig-revoke", flags = 128, description = "@")
  [48] = (short_opt = 546, long_opt = "export", flags = 128, description = "export keys")
  [49] = (short_opt = 540, long_opt = "send-keys", flags = 128, description = "export keys to a keyserver")
  [50] = (short_opt = 541, long_opt = "receive-keys", flags = 128, description = "import keys from a keyserver")
  [51] = (short_opt = 541, long_opt = "recv-keys", flags = 128, description = "@")
  [52] = (short_opt = 543, long_opt = "search-keys", flags = 128, description = "search for keys on a keyserver")
  [53] = (short_opt = 544, long_opt = "refresh-keys", flags = 128, description = "update all keys from a keyserver")
  [54] = (short_opt = 542, long_opt = "locate-keys", flags = 128, description = "@")
  [55] = (short_opt = 545, long_opt = "fetch-keys", flags = 128, description = "@")
  [56] = (short_opt = 547, long_opt = "export-secret-keys", flags = 128, description = "@")
  [57] = (short_opt = 548, long_opt = "export-secret-subkeys", flags = 128, description = "@")
  [58] = (short_opt = 549, long_opt = "export-ssh-key", flags = 128, description = "@")
  [59] = (short_opt = 535, long_opt = "import", flags = 128, description = "import/merge keys")
  [60] = (short_opt = 536, long_opt = "fast-import", flags = 128, description = "@")
  [61] = (short_opt = 567, long_opt = "card-status", flags = 128, description = "print the card status")
  [62] = (short_opt = 568, long_opt = "edit-card", flags = 128, description = "change data on a card")
  [63] = (short_opt = 568, long_opt = "card-edit", flags = 128, description = "@")
  [64] = (short_opt = 569, long_opt = "change-pin", flags = 128, description = "change a card's PIN")
  [65] = (short_opt = 526, long_opt = "list-config", flags = 128, description = "@")
  [66] = (short_opt = 527, long_opt = "list-gcrypt-config", flags = 128, description = "@")
  [67] = (short_opt = 528, long_opt = "gpgconf-list", flags = 128, description = "@")
  [68] = (short_opt = 529, long_opt = "gpgconf-test", flags = 128, description = "@")
  [69] = (short_opt = 530, long_opt = "list-packets", flags = 128, description = "@")
  [70] = (short_opt = 561, long_opt = "export-ownertrust", flags = 128, description = "@")
  [71] = (short_opt = 562, long_opt = "import-ownertrust", flags = 128, description = "@")
  [72] = (short_opt = 557, long_opt = "update-trustdb", flags = 128, description = "update the trust database")
  [73] = (short_opt = 556, long_opt = "check-trustdb", flags = 128, description = "@")
  [74] = (short_opt = 558, long_opt = "fix-trustdb", flags = 128, description = "@")
  [75] = (short_opt = 563, long_opt = "dearmor", flags = 128, description = "@")
  [76] = (short_opt = 563, long_opt = "dearmour", flags = 128, description = "@")
  [77] = (short_opt = 564, long_opt = "enarmor", flags = 128, description = "@")
  [78] = (short_opt = 564, long_opt = "enarmour", flags = 128, description = "@")
  [79] = (short_opt = 554, long_opt = "print-md", flags = 128, description = "print message digests")
  [80] = (short_opt = 553, long_opt = "gen-prime", flags = 128, description = "@")
  [81] = (short_opt = 565, long_opt = "gen-random", flags = 128, description = "@")
  [82] = (short_opt = 571, long_opt = "server", flags = 128, description = "run in server mode")
  [83] = (short_opt = 572, long_opt = "tofu-policy", flags = 128, description = "|VALUE|set the TOFU policy for a key")
  [84] = (short_opt = 301, long_opt = 0x0000000000000000, flags = 0, description = "@\nOptions:\n ")
  [85] = (short_opt = 97, long_opt = "armor", flags = 0, description = "create ascii armored output")
  [86] = (short_opt = 97, long_opt = "armour", flags = 0, description = "@")
  [87] = (short_opt = 114, long_opt = "recipient", flags = 2, description = "|USER-ID|encrypt for USER-ID")
  [88] = (short_opt = 82, long_opt = "hidden-recipient", flags = 2, description = "@")
  [89] = (short_opt = 102, long_opt = "recipient-file", flags = 2, description = "@")
  [90] = (short_opt = 70, long_opt = "hidden-recipient-file", flags = 2, description = "@")
  [91] = (short_opt = 114, long_opt = "remote-user", flags = 2, description = "@")
  [92] = (short_opt = 607, long_opt = "default-recipient", flags = 2, description = "@")
  [93] = (short_opt = 608, long_opt = "default-recipient-self", flags = 0, description = "@")
  [94] = (short_opt = 609, long_opt = "no-default-recipient", flags = 0, description = "@")
  [95] = (short_opt = 716, long_opt = "temp-directory", flags = 2, description = "@")
  [96] = (short_opt = 717, long_opt = "exec-path", flags = 2, description = "@")
  [97] = (short_opt = 718, long_opt = "encrypt-to", flags = 2, description = "@")
  [98] = (short_opt = 720, long_opt = "no-encrypt-to", flags = 0, description = "@")
  [99] = (short_opt = 719, long_opt = "hidden-encrypt-to", flags = 2, description = "@")
  [100] = (short_opt = 721, long_opt = "encrypt-to-default-key", flags = 0, description = "@")
  [101] = (short_opt = 117, long_opt = "local-user", flags = 2, description = "|USER-ID|use USER-ID to sign or decrypt")
  [102] = (short_opt = 814, long_opt = "sender", flags = 2, description = "@")
  [103] = (short_opt = 610, long_opt = "try-secret-key", flags = 2, description = "@")
  [104] = (short_opt = 122, long_opt = 0x0000000000000000, flags = 1, description = "|N|set compress level to N (0 disables)")
  [105] = (short_opt = 642, long_opt = "compress-level", flags = 1, description = "@")
  [106] = (short_opt = 643, long_opt = "bzip2-compress-level", flags = 1, description = "@")
  [107] = (short_opt = 644, long_opt = "bzip2-decompress-lowmem", flags = 0, description = "@")
  [108] = (short_opt = 573, long_opt = "mimemode", flags = 0, description = "@")
  [109] = (short_opt = 116, long_opt = 0x0000000000000000, flags = 0, description = "@")
  [110] = (short_opt = 574, long_opt = "textmode", flags = 0, description = "use canonical text mode")
  [111] = (short_opt = 575, long_opt = "no-textmode", flags = 0, description = "@")
  [112] = (short_opt = 576, long_opt = "expert", flags = 0, description = "@")
  [113] = (short_opt = 577, long_opt = "no-expert", flags = 0, description = "@")
  [114] = (short_opt = 578, long_opt = "default-sig-expire", flags = 2, description = "@")
  [115] = (short_opt = 579, long_opt = "ask-sig-expire", flags = 0, description = "@")
  [116] = (short_opt = 580, long_opt = "no-ask-sig-expire", flags = 0, description = "@")
  [117] = (short_opt = 581, long_opt = "default-cert-expire", flags = 2, description = "@")
  [118] = (short_opt = 582, long_opt = "ask-cert-expire", flags = 0, description = "@")
  [119] = (short_opt = 583, long_opt = "no-ask-cert-expire", flags = 0, description = "@")
  [120] = (short_opt = 584, long_opt = "default-cert-level", flags = 1, description = "@")
  [121] = (short_opt = 585, long_opt = "min-cert-level", flags = 1, description = "@")
  [122] = (short_opt = 586, long_opt = "ask-cert-level", flags = 0, description = "@")
  [123] = (short_opt = 587, long_opt = "no-ask-cert-level", flags = 0, description = "@")
  [124] = (short_opt = 111, long_opt = "output", flags = 2, description = "|FILE|write output to FILE")
  [125] = (short_opt = 501, long_opt = "max-output", flags = 20, description = "@")
  [126] = (short_opt = 502, long_opt = "input-size-hint", flags = 2, description = "@")
  [127] = (short_opt = 118, long_opt = "verbose", flags = 0, description = "verbose")
  [128] = (short_opt = 113, long_opt = "quiet", flags = 0, description = "@")
  [129] = (short_opt = 664, long_opt = "no-tty", flags = 0, description = "@")
  [130] = (short_opt = 693, long_opt = "force-mdc", flags = 0, description = "@")
  [131] = (short_opt = 694, long_opt = "no-force-mdc", flags = 0, description = "@")
  [132] = (short_opt = 695, long_opt = "disable-mdc", flags = 0, description = "@")
  [133] = (short_opt = 696, long_opt = "no-disable-mdc", flags = 0, description = "@")
  [134] = (short_opt = 813, long_opt = "disable-signer-uid", flags = 0, description = "@")
  [135] = (short_opt = 110, long_opt = "dry-run", flags = 0, description = "do not make any changes")
  [136] = (short_opt = 105, long_opt = "interactive", flags = 0, description = "prompt before overwriting")
  [137] = (short_opt = 500, long_opt = "batch", flags = 0, description = "@")
  [138] = (short_opt = 600, long_opt = "yes", flags = 0, description = "@")
  [139] = (short_opt = 601, long_opt = "no", flags = 0, description = "@")
  [140] = (short_opt = 602, long_opt = "keyring", flags = 2, description = "@")
  [141] = (short_opt = 603, long_opt = "primary-keyring", flags = 2, description = "@")
  [142] = (short_opt = 604, long_opt = "secret-keyring", flags = 2, description = "@")
  [143] = (short_opt = 605, long_opt = "show-keyring", flags = 0, description = "@")
  [144] = (short_opt = 606, long_opt = "default-key", flags = 2, description = "@")
  [145] = (short_opt = 708, long_opt = "keyserver", flags = 2, description = "@")
  [146] = (short_opt = 709, long_opt = "keyserver-options", flags = 2, description = "@")
  [147] = (short_opt = 710, long_opt = "import-options", flags = 2, description = "@")
  [148] = (short_opt = 711, long_opt = "import-filter", flags = 2, description = "@")
  [149] = (short_opt = 712, long_opt = "export-options", flags = 2, description = "@")
  [150] = (short_opt = 713, long_opt = "export-filter", flags = 2, description = "@")
  [151] = (short_opt = 714, long_opt = "list-options", flags = 2, description = "@")
  [152] = (short_opt = 715, long_opt = "verify-options", flags = 2, description = "@")
  [153] = (short_opt = 701, long_opt = "display-charset", flags = 2, description = "@")
  [154] = (short_opt = 701, long_opt = "charset", flags = 2, description = "@")
  [155] = (short_opt = 611, long_opt = "options", flags = 2, description = "@")
  [156] = (short_opt = 612, long_opt = "debug", flags = 2, description = "@")
  [157] = (short_opt = 613, long_opt = "debug-level", flags = 2, description = "@")
  [158] = (short_opt = 614, long_opt = "debug-all", flags = 0, description = "@")
  [159] = (short_opt = 615, long_opt = "debug-iolbf", flags = 0, description = "@")
  [160] = (short_opt = 616, long_opt = "status-fd", flags = 1, description = "@")
  [161] = (short_opt = 617, long_opt = "status-file", flags = 2, description = "@")
  [162] = (short_opt = 618, long_opt = "attribute-fd", flags = 1, description = "@")
  [163] = (short_opt = 619, long_opt = "attribute-file", flags = 2, description = "@")
  [164] = (short_opt = 622, long_opt = "completes-needed", flags = 1, description = "@")
  [165] = (short_opt = 623, long_opt = "marginals-needed", flags = 1, description = "@")
  [166] = (short_opt = 624, long_opt = "max-cert-depth", flags = 1, description = "@")
  [167] = (short_opt = 754, long_opt = "trusted-key", flags = 2, description = "@")
  [168] = (short_opt = 625, long_opt = "load-extension", flags = 2, description = "@")
  [169] = (short_opt = 626, long_opt = "compliance", flags = 2, description = "@")
  [170] = (short_opt = 627, long_opt = "gnupg", flags = 0, description = "@")
  [171] = (short_opt = 627, long_opt = "no-pgp2", flags = 0, description = "@")
  [172] = (short_opt = 627, long_opt = "no-pgp6", flags = 0, description = "@")
  [173] = (short_opt = 627, long_opt = "no-pgp7", flags = 0, description = "@")
  [174] = (short_opt = 627, long_opt = "no-pgp8", flags = 0, description = "@")
  [175] = (short_opt = 628, long_opt = "rfc2440", flags = 0, description = "@")
  [176] = (short_opt = 629, long_opt = "rfc4880", flags = 0, description = "@")
  [177] = (short_opt = 630, long_opt = "rfc4880bis", flags = 0, description = "@")
  [178] = (short_opt = 631, long_opt = "openpgp", flags = 0, description = "use strict OpenPGP behavior")
  [179] = (short_opt = 632, long_opt = "pgp6", flags = 0, description = "@")
  [180] = (short_opt = 633, long_opt = "pgp7", flags = 0, description = "@")
  [181] = (short_opt = 634, long_opt = "pgp8", flags = 0, description = "@")
  [182] = (short_opt = 636, long_opt = "rfc2440-text", flags = 0, description = "@")
  [183] = (short_opt = 637, long_opt = "no-rfc2440-text", flags = 0, description = "@")
  [184] = (short_opt = 697, long_opt = "s2k-mode", flags = 1, description = "@")
  [185] = (short_opt = 698, long_opt = "s2k-digest-algo", flags = 2, description = "@")
  [186] = (short_opt = 699, long_opt = "s2k-cipher-algo", flags = 2, description = "@")
  [187] = (short_opt = 700, long_opt = "s2k-count", flags = 1, description = "@")
  [188] = (short_opt = 638, long_opt = "cipher-algo", flags = 2, description = "@")
  [189] = (short_opt = 639, long_opt = "digest-algo", flags = 2, description = "@")
  [190] = (short_opt = 640, long_opt = "cert-digest-algo", flags = 2, description = "@")
  [191] = (short_opt = 641, long_opt = "compress-algo", flags = 2, description = "@")
  [192] = (short_opt = 641, long_opt = "compression-algo", flags = 2, description = "@")
  [193] = (short_opt = 688, long_opt = "throw-keyids", flags = 0, description = "@")
  [194] = (short_opt = 689, long_opt = "no-throw-keyids", flags = 0, description = "@")
  [195] = (short_opt = 690, long_opt = "show-photos", flags = 0, description = "@")
  [196] = (short_opt = 691, long_opt = "no-show-photos", flags = 0, description = "@")
  [197] = (short_opt = 692, long_opt = "photo-viewer", flags = 2, description = "@")
  [198] = (short_opt = 78, long_opt = "set-notation", flags = 2, description = "@")
  [199] = (short_opt = 503, long_opt = "sig-notation", flags = 2, description = "@")
  [200] = (short_opt = 504, long_opt = "cert-notation", flags = 2, description = "@")
  [201] = (short_opt = 302, long_opt = 0x0000000000000000, flags = 0, description = "@\n(See the man page for a complete listing of all commands and options)\n")
  [202] = (short_opt = 303, long_opt = 0x0000000000000000, flags = 0, description = "@\nExamples:\n\n -se -r Bob [file]          sign and encrypt for user Bob\n --clear-sign [file]        make a clear text signature\n --detach-sign [file]       make a detached signature\n --list-keys [names]        show keys\n --fingerprint [names]      show fingerprints\n")
  [203] = (short_opt = 555, long_opt = "print-mds", flags = 128, description = "@")
  [204] = (short_opt = 559, long_opt = "list-trustdb", flags = 128, description = "@")
  [205] = (short_opt = 534, long_opt = "delete-secret-and-public-keys", flags = 128, description = "@")
  [206] = (short_opt = 566, long_opt = "rebuild-keydb-caches", flags = 128, description = "@")
  [207] = (short_opt = 645, long_opt = "passphrase", flags = 2, description = "@")
  [208] = (short_opt = 646, long_opt = "passphrase-fd", flags = 1, description = "@")
  [209] = (short_opt = 647, long_opt = "passphrase-file", flags = 2, description = "@")
  [210] = (short_opt = 648, long_opt = "passphrase-repeat", flags = 1, description = "@")
  [211] = (short_opt = 649, long_opt = "pinentry-mode", flags = 2, description = "@")
  [212] = (short_opt = 650, long_opt = "command-fd", flags = 1, description = "@")
  [213] = (short_opt = 651, long_opt = "command-file", flags = 2, description = "@")
  [214] = (short_opt = 652, long_opt = "debug-quick-random", flags = 0, description = "@")
  [215] = (short_opt = 653, long_opt = "no-verbose", flags = 0, description = "@")
  [216] = (short_opt = 654, long_opt = "trustdb-name", flags = 2, description = "@")
  [217] = (short_opt = 759, long_opt = "auto-check-trustdb", flags = 0, description = "@")
  [218] = (short_opt = 760, long_opt = "no-auto-check-trustdb", flags = 0, description = "@")
  [219] = (short_opt = 673, long_opt = "force-ownertrust", flags = 2, description = "@")
  [220] = (short_opt = 655, long_opt = "no-secmem-warning", flags = 0, description = "@")
  [221] = (short_opt = 656, long_opt = "require-secmem", flags = 0, description = "@")
  [222] = (short_opt = 657, long_opt = "no-require-secmem", flags = 0, description = "@")
  [223] = (short_opt = 658, long_opt = "no-permission-warning", flags = 0, description = "@")
  [224] = (short_opt = 659, long_opt = "no-mdc-warning", flags = 0, description = "@")
  [225] = (short_opt = 660, long_opt = "no-armor", flags = 0, description = "@")
  [226] = (short_opt = 660, long_opt = "no-armour", flags = 0, description = "@")
  [227] = (short_opt = 661, long_opt = "no-default-keyring", flags = 0, description = "@")
  [228] = (short_opt = 662, long_opt = "no-keyring", flags = 0, description = "@")
  [229] = (short_opt = 663, long_opt = "no-greeting", flags = 0, description = "@")
  [230] = (short_opt = 665, long_opt = "no-options", flags = 0, description = "@")
  [231] = (short_opt = 667, long_opt = "homedir", flags = 2, description = "@")
  [232] = (short_opt = 666, long_opt = "no-batch", flags = 0, description = "@")
  [233] = (short_opt = 595, long_opt = "with-colons", flags = 0, description = "@")
  [234] = (short_opt = 597, long_opt = "with-tofu-info", flags = 0, description = "@")
  [235] = (short_opt = 596, long_opt = "with-key-data", flags = 0, description = "@")
  [236] = (short_opt = 598, long_opt = "with-sig-list", flags = 0, description = "@")
  [237] = (short_opt = 599, long_opt = "with-sig-check", flags = 0, description = "@")
  [238] = (short_opt = 107, long_opt = "list-key", flags = 128, description = "@")
  [239] = (short_opt = 539, long_opt = "list-sig", flags = 128, description = "@")
  [240] = (short_opt = 550, long_opt = "check-sig", flags = 128, description = "@")
  [241] = (short_opt = 668, long_opt = "skip-verify", flags = 0, description = "@")
  [242] = (short_opt = 669, long_opt = "skip-hidden-recipients", flags = 0, description = "@")
  [243] = (short_opt = 670, long_opt = "no-skip-hidden-recipients", flags = 0, description = "@")
  [244] = (short_opt = 584, long_opt = "default-cert-check-level", flags = 1, description = "@")
  [245] = (short_opt = 671, long_opt = "always-trust", flags = 0, description = "@")
  [246] = (short_opt = 672, long_opt = "trust-model", flags = 2, description = "@")
  [247] = (short_opt = 807, long_opt = "tofu-default-policy", flags = 2, description = "@")
  [248] = (short_opt = 674, long_opt = "set-filename", flags = 2, description = "@")
  [249] = (short_opt = 675, long_opt = "for-your-eyes-only", flags = 0, description = "@")
  [250] = (short_opt = 676, long_opt = "no-for-your-eyes-only", flags = 0, description = "@")
  [251] = (short_opt = 677, long_opt = "set-policy-url", flags = 2, description = "@")
  [252] = (short_opt = 678, long_opt = "sig-policy-url", flags = 2, description = "@")
  [253] = (short_opt = 679, long_opt = "cert-policy-url", flags = 2, description = "@")
  [254] = (short_opt = 680, long_opt = "show-policy-url", flags = 0, description = "@")
  [255] = (short_opt = 681, long_opt = "no-show-policy-url", flags = 0, description = "@")
  ...
}
  frame #6: 0x00007fffc4011255 libdyld.dylib`start + 1
  frame #7: 0x00007fffc4011255 libdyld.dylib`start + 1
(lldb) (lldb) ^D
%                                                                                                                                   
 

[2]-pdp@tungsten.lan:s010[16:59]3D(1002)~% [?2004h[?2004l


Script done on Sat Mar  4 16:59:30 2017
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 996 bytes
Desc: Digital signature
URL: </pipermail/attachments/20170304/c2ec0e36/attachment-0001.sig>


More information about the Gnupg-devel mailing list