Fix bug#1311
authorWerner Koch <wk@gnupg.org>
Mon, 10 Jan 2011 14:16:07 +0000 (15:16 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 10 Jan 2011 14:16:07 +0000 (15:16 +0100)
.gitignore [new file with mode: 0644]
NEWS
common/ChangeLog
common/session-env.c

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..04335fa
--- /dev/null
@@ -0,0 +1,135 @@
+Makefile.in
+aclocal.m4
+autom4te.cache/
+configure
+config.h.in
+config.h
+config.log
+config.status
+common/audit-events.h
+common/status-codes.h
+doc/gnupg.info*
+doc/stamp-vti
+doc/version.texi
+po/gnupg2.pot
+po/POTFILES
+stamp-h1
+Makefile
+.deps/
+keyserver/gpg2keys_mailto
+keyserver/gpg2keys_test
+tools/gpg-zip
+
+# Files created by make when not using a VPATH build
+*.o
+po/en@boldquot.insert-header
+po/en@boldquot.po
+po/en@quot.insert-header
+po/en@quot.po
+po/stamp-po
+agent/gpg-agent
+agent/gpg-preset-passphrase
+agent/gpg-protect-tool
+agent/t-protect
+common/libcommon.a
+common/libcommonpth.a
+common/libgpgrl.a
+common/libsimple-pwquery.a
+common/t-b64
+common/t-convert
+common/t-exechelp
+common/t-gettime
+common/t-helpfile
+common/t-percent
+common/t-session-env
+common/t-sexputil
+common/t-sysutils
+doc/FAQ
+doc/addgnupghome.8
+doc/applygnupgdefaults.8
+doc/faq.html
+doc/faq.raw.xref
+doc/gnupg-card-architecture.eps
+doc/gnupg-card-architecture.pdf
+doc/gnupg-card-architecture.png
+doc/gnupg.7
+doc/gpg-agent.1
+doc/gpg-connect-agent.1
+doc/gpg-preset-passphrase.1
+doc/gpg-zip.1
+doc/gpg2.1
+doc/gpgconf.1
+doc/gpgparsemail.1
+doc/gpgsm-gencert.sh.1
+doc/gpgsm.1
+doc/gpgv2.1
+doc/scdaemon.1
+doc/symcryptrun.1
+doc/watchgnupg.1
+doc/yat2m
+doc/yat2m-stamp
+g10/gpg2
+g10/gpgv2
+g10/t-rmd160
+gl/alloca.h
+gl/libgnu.a
+jnlib/libjnlib.a
+jnlib/t-stringhelp
+kbx/kbxutil
+kbx/libkeybox.a
+keyserver/gpg2keys_curl
+keyserver/gpg2keys_finger
+keyserver/gpg2keys_hkp
+keyserver/gpg2keys_kdns
+keyserver/gpg2keys_ldap
+scd/gnupg-pcsc-wrapper
+scd/scdaemon
+sm/gpgsm
+tests/asschk
+tests/gpg-agent.conf
+tests/gpgsm.conf
+tests/inittests.stamp
+tests/openpgp/data-32000
+tests/openpgp/data-500
+tests/openpgp/data-80000
+tests/openpgp/data-9000
+tests/openpgp/gpg-agent.conf
+tests/openpgp/gpg_dearmor
+tests/openpgp/plain-1
+tests/openpgp/plain-2
+tests/openpgp/plain-3
+tests/openpgp/plain-large
+tests/openpgp/prepared.stamp
+tests/openpgp/pubring.gpg
+tests/openpgp/pubring.pkr
+tests/openpgp/secring.gpg
+tests/openpgp/secring.skr
+tests/pkits/ReadMe.txt
+tests/pkits/certpairs/
+tests/pkits/certs/
+tests/pkits/crls/
+tests/pkits/gpg-agent.conf
+tests/pkits/gpgsm.conf
+tests/pkits/inittests.stamp
+tests/pkits/pkcs12/
+tests/pkits/pkits.ldif
+tests/pkits/pkits.schema
+tests/pkits/policies.txt
+tests/pkits/smime/
+tests/pkits/testdir.stamp
+tests/pkits/trustlist.txt
+tests/private-keys-v1.d/
+tests/pubring.kbx
+tests/testdir.stamp
+tests/trustlist.txt
+tools/clean-sat
+tools/gpg-check-pattern
+tools/gpg-connect-agent
+tools/gpgconf
+tools/gpgkey2ssh
+tools/gpgparsemail
+tools/gpgsplit
+tools/make-dns-cert
+tools/mk-tdata
+tools/symcryptrun
+tools/watchgnupg
diff --git a/NEWS b/NEWS
index 8e3ff65..97ba097 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,9 @@ Noteworthy changes in version 2.0.17 (unreleased)
  * Fixed a bug where Scdaemon sends a signal to Gpg-agent running in
    non-daemon mode.
 
+ * Fixed TTY management for pinentries and session variable update
+   problem.
+
 
 Noteworthy changes in version 2.0.16 (2010-07-19)
 -------------------------------------------------
index c0f618e..9c18680 100644 (file)
@@ -1,3 +1,8 @@
+2011-01-10  Werner Koch  <wk@g10code.com>
+
+       * session-env.c (update_var): Fix same value test.  Fixes
+       bug#1311.
+
 2010-09-16  Werner Koch  <wk@g10code.com>
 
        * util.h: Add GPG_ERR_MISSING_ISSUER_CERT.
index ef36dbc..10f5dfe 100644 (file)
@@ -183,10 +183,11 @@ update_var (session_env_t se, const char *string, size_t namelen,
       else if (!strncmp (se->array[idx]->name, string, namelen)
                && strlen (se->array[idx]->name) == namelen)
         {
-          /* Check if the value is the same; no need to update it,
-             except for updating the default flag.  */
           if (strlen (se->array[idx]->value) == valuelen)
             {
+              /* The new value has the same length.  We can update it
+                 in-place.  */
+              memcpy (se->array[idx]->value, value, valuelen);
               se->array[idx]->is_default = !!set_default;
               return 0;
             }