aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2011-01-20 13:21:46 +0000
committerWerner Koch <[email protected]>2011-01-20 13:21:46 +0000
commit49d25d3185636237b356781cdde7960f234f2d11 (patch)
tree3558e3a7ba9aec79e9ace48348f775a23635d208
parentAll standard keyserver commands are now using dirmngr. (diff)
parentFixed a CR/LF problem on Windows (diff)
downloadgnupg-49d25d3185636237b356781cdde7960f234f2d11.tar.gz
gnupg-49d25d3185636237b356781cdde7960f234f2d11.zip
Merge branch 'master' into keyserver-via-dirmngr
-rw-r--r--ChangeLog8
-rw-r--r--NEWS3
-rw-r--r--agent/ChangeLog4
-rw-r--r--agent/trustlist.c9
-rwxr-xr-xautogen.sh3
-rw-r--r--common/ChangeLog9
-rw-r--r--common/homedir.c2
-rw-r--r--common/session-env.c5
-rw-r--r--configure.ac18
-rw-r--r--dirmngr/ChangeLog4
-rw-r--r--dirmngr/dirmngr.c58
-rw-r--r--doc/debugging.texi4
-rw-r--r--doc/gnupg.texi8
-rw-r--r--doc/tools.texi5
14 files changed, 97 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog
index 656fe7212..d36c23c43 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-01-19 Werner Koch <[email protected]>
+
+ * configure.ac: Add new option --enable-gpg2-is-gpg.
+ (NAME_OF_INSTALLED_GPG): New ac_define.
+ * autogen.sh [--build-w32ce]: Use --enable-gpg2-is-gpg.
+
2011-01-03 Werner Koch <[email protected]>
* README.SVN: Rename to README.GIT.
@@ -16,7 +22,7 @@
2010-11-17 Werner Koch <[email protected]>
- * configure.ac (ENABLE_CARD_SUPPORT): Define.
+ * configure.ac (ENABLE_CARD_SUPPORT): Define.
2010-10-27 Werner Koch <[email protected]>
diff --git a/NEWS b/NEWS
index 2cdf854bf..215373345 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,9 @@ Noteworthy changes in version 2.1.0beta2 (unreleased)
* Fixed CRL loading under W32 (bug#1010).
+ * Fixed TTY management for pinentries and session variable update
+ problem.
+
Noteworthy changes in version 2.1.0beta1 (2010-10-26)
-----------------------------------------------------
diff --git a/agent/ChangeLog b/agent/ChangeLog
index ce1fdccd8..542695bea 100644
--- a/agent/ChangeLog
+++ b/agent/ChangeLog
@@ -1,3 +1,7 @@
+2011-01-19 Werner Koch <[email protected]>
+
+ * trustlist.c (read_one_trustfile): Also chop an CR.
+
2010-12-02 Werner Koch <[email protected]>
* gpg-agent.c (CHECK_OWN_SOCKET_INTERVAL) [W32CE]: Set to 60
diff --git a/agent/trustlist.c b/agent/trustlist.c
index 791df9682..d56598245 100644
--- a/agent/trustlist.c
+++ b/agent/trustlist.c
@@ -139,8 +139,9 @@ read_one_trustfile (const char *fname, int allow_include,
while (es_fgets (line, DIM(line)-1, fp))
{
lnr++;
-
- if (!*line || line[strlen(line)-1] != '\n')
+
+ n = strlen (line);
+ if (!n || line[n-1] != '\n')
{
/* Eat until end of line. */
while ( (c=es_getc (fp)) != EOF && c != '\n')
@@ -151,7 +152,9 @@ read_one_trustfile (const char *fname, int allow_include,
fname, lnr, gpg_strerror (err));
continue;
}
- line[strlen(line)-1] = 0; /* Chop the LF. */
+ line[--n] = 0; /* Chop the LF. */
+ if (n && line[n-1] == '\r')
+ line[--n] = 0; /* Chop an optional CR. */
/* Allow for empty lines and spaces */
for (p=line; spacep (p); p++)
diff --git a/autogen.sh b/autogen.sh
index 72e5fee2c..d05415507 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -104,7 +104,8 @@ if [ "$myhost" = "w32" ]; then
[ -z "$w32root" ] && w32root="$HOME/w32ce_root"
toolprefixes="$w32ce_toolprefixes arm-mingw32ce"
extraoptions="--enable-dirmngr-auto-start --disable-scdaemon "
- extraoptions="$extraoptions --disable-zip $w32ce_extraoptions"
+ extraoptions="$extraoptions --disable-zip --enable-gpg2-is-gpg"
+ extraoptions="$extraoptions $w32ce_extraoptions"
;;
*)
[ -z "$w32root" ] && w32root="$HOME/w32root"
diff --git a/common/ChangeLog b/common/ChangeLog
index 3b7506492..88e91f967 100644
--- a/common/ChangeLog
+++ b/common/ChangeLog
@@ -9,14 +9,17 @@
(insert_escapes): Implement using escape_data.
(http_escape_data): New.
+2011-01-19 Werner Koch <[email protected]>
+
+ * homedir.c (gnupg_module_name): Use NAME_OF_INSTALLED_GPG instead
+ of "gpg2".
+
2011-01-18 Werner Koch <[email protected]>
* iobuf.c (file_es_filter_ctx_t): New.
(file_es_filter): New.
(iobuf_esopen): New.
- * estream.c (es_func_mem_write): Fix computation of NEWSIZE.
-
* membuf.c (clear_membuf, peek_membuf): New.
* util.h (GPG_ERR_NO_KEYSERVER): New.
@@ -29,6 +32,8 @@
* http.h (parsed_uri_s): Add field IS_HTTP.
(http_parse_uri): Support NO_SCHEME_CHECK arg.
+ * estream.c (es_func_mem_write): Fix computation of NEWSIZE.
+
2011-01-10 Werner Koch <[email protected]>
* session-env.c (update_var): Fix same value detection. Fixes
diff --git a/common/homedir.c b/common/homedir.c
index a6364f8b5..3d31bd376 100644
--- a/common/homedir.c
+++ b/common/homedir.c
@@ -528,7 +528,7 @@ gnupg_module_name (int which)
X(bindir, "gpgsm");
case GNUPG_MODULE_NAME_GPG:
- X(bindir, "gpg2");
+ X(bindir, NAME_OF_INSTALLED_GPG);
case GNUPG_MODULE_NAME_CONNECT_AGENT:
X(bindir, "gpg-connect-agent");
diff --git a/common/session-env.c b/common/session-env.c
index 2dcf425b6..d719a7b87 100644
--- a/common/session-env.c
+++ b/common/session-env.c
@@ -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;
}
diff --git a/configure.ac b/configure.ac
index b6ed4b34c..82d15096e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -168,6 +168,24 @@ show_gnupg_dirmngr_ldap_pgm="(default)"
test -n "$GNUPG_DIRMNGR_LDAP_PGM" \
&& show_gnupg_dirmngr_ldap_pgm="$GNUPG_DIRMNGR_LDAP_PGM"
+#
+# On some platforms gpg2 is usually installed as gpg without using a
+# symlink. For correct operation of gpgconf it needs to know the
+# installed name of gpg. This option sets "gpg2"'s installed name to
+# just "gpg". Note that it might be required to rename gpg2 to gpg
+# manually after the build process.
+#
+AC_ARG_ENABLE(gpg2-is-gpg,
+ AC_HELP_STRING([--enable-gpg2-is-gpg],[Set installed name of gpg2 to gpg]),
+ gpg2_is_gpg=$enableval)
+if test "$gpg2_is_gpg" = "yes"; then
+ name_of_installed_gpg=gpg
+else
+ name_of_installed_gpg=gpg2
+fi
+AC_DEFINE_UNQUOTED(NAME_OF_INSTALLED_GPG, "$name_of_installed_gpg",
+ [The name of the installed GPG tool])
+
# Some folks want to use only the agent from this packet. Make it
# easier for them by providing the configure option
diff --git a/dirmngr/ChangeLog b/dirmngr/ChangeLog
index 47c7fe012..39df05d0b 100644
--- a/dirmngr/ChangeLog
+++ b/dirmngr/ChangeLog
@@ -11,6 +11,10 @@
(cmd_ks_search): New.
* Makefile.am (dirmngr_SOURCES): Add new files.
+2011-01-19 Werner Koch <[email protected]>
+
+ * dirmngr.c (main): Use es_printf for --gpgconf-list.
+
2010-12-14 Werner Koch <[email protected]>
* cdb.h (struct cdb) [W32]: Add field CDB_MAPPING.
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 9b06851bd..ae922fa31 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -1019,7 +1019,7 @@ main (int argc, char **argv)
start of the dirmngr. */
#ifdef HAVE_W32_SYSTEM
pid = getpid ();
- printf ("set DIRMNGR_INFO=%s;%lu;1\n", socket_name, (ulong) pid);
+ es_printf ("set DIRMNGR_INFO=%s;%lu;1\n", socket_name, (ulong) pid);
#else
pid = pth_fork ();
if (pid == (pid_t)-1)
@@ -1051,11 +1051,11 @@ main (int argc, char **argv)
if (csh_style)
{
*strchr (infostr, '=') = ' ';
- printf ( "setenv %s\n", infostr);
+ es_printf ( "setenv %s\n", infostr);
}
else
{
- printf ( "%s; export DIRMNGR_INFO;\n", infostr);
+ es_printf ( "%s; export DIRMNGR_INFO;\n", infostr);
}
free (infostr);
exit (0);
@@ -1220,15 +1220,15 @@ main (int argc, char **argv)
"dirmngr.conf", NULL );
filename = percent_escape (opt.config_filename, NULL);
- printf ("gpgconf-dirmngr.conf:%lu:\"%s\n",
+ es_printf ("gpgconf-dirmngr.conf:%lu:\"%s\n",
GC_OPT_FLAG_DEFAULT, filename);
xfree (filename);
- printf ("verbose:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("quiet:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("debug-level:%lu:\"none\n", flags | GC_OPT_FLAG_DEFAULT);
- printf ("log-file:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("force:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("verbose:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("quiet:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("debug-level:%lu:\"none\n", flags | GC_OPT_FLAG_DEFAULT);
+ es_printf ("log-file:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("force:%lu:\n", flags | GC_OPT_FLAG_NONE);
/* --csh and --sh are mutually exclusive, something we can not
express in GPG Conf. --options is only usable from the
@@ -1241,34 +1241,34 @@ main (int argc, char **argv)
"ldapservers.conf":"dirmngr_ldapservers.conf",
NULL);
filename_esc = percent_escape (filename, NULL);
- printf ("ldapserverlist-file:%lu:\"%s\n", flags | GC_OPT_FLAG_DEFAULT,
+ es_printf ("ldapserverlist-file:%lu:\"%s\n", flags | GC_OPT_FLAG_DEFAULT,
filename_esc);
xfree (filename_esc);
xfree (filename);
- printf ("ldaptimeout:%lu:%u\n",
+ es_printf ("ldaptimeout:%lu:%u\n",
flags | GC_OPT_FLAG_DEFAULT, DEFAULT_LDAP_TIMEOUT);
- printf ("max-replies:%lu:%u\n",
+ es_printf ("max-replies:%lu:%u\n",
flags | GC_OPT_FLAG_DEFAULT, DEFAULT_MAX_REPLIES);
- printf ("allow-ocsp:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("ocsp-responder:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("ocsp-signer:%lu:\n", flags | GC_OPT_FLAG_NONE);
-
- printf ("faked-system-time:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("no-greeting:%lu:\n", flags | GC_OPT_FLAG_NONE);
-
- printf ("disable-http:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("disable-ldap:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("honor-http-proxy:%lu\n", flags | GC_OPT_FLAG_NONE);
- printf ("http-proxy:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("ldap-proxy:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("only-ldap-proxy:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("ignore-ldap-dp:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("ignore-http-dp:%lu:\n", flags | GC_OPT_FLAG_NONE);
- printf ("ignore-ocsp-service-url:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("allow-ocsp:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ocsp-responder:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ocsp-signer:%lu:\n", flags | GC_OPT_FLAG_NONE);
+
+ es_printf ("faked-system-time:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("no-greeting:%lu:\n", flags | GC_OPT_FLAG_NONE);
+
+ es_printf ("disable-http:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("disable-ldap:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("honor-http-proxy:%lu\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("http-proxy:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ldap-proxy:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("only-ldap-proxy:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ignore-ldap-dp:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ignore-http-dp:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ignore-ocsp-service-url:%lu:\n", flags | GC_OPT_FLAG_NONE);
/* Note: The next one is to fix a typo in gpgconf - should be
removed eventually. */
- printf ("ignore-ocsp-servic-url:%lu:\n", flags | GC_OPT_FLAG_NONE);
+ es_printf ("ignore-ocsp-servic-url:%lu:\n", flags | GC_OPT_FLAG_NONE);
}
cleanup ();
return !!rc;
diff --git a/doc/debugging.texi b/doc/debugging.texi
index 7b1d068d3..c83ab1ef9 100644
--- a/doc/debugging.texi
+++ b/doc/debugging.texi
@@ -103,7 +103,7 @@ used. Using the keyserver debug option as in
is thus often helpful. Note that the actual output depends on the
backend and may change from release to release.
-
+@ifset gpgtwoone
@item Logging on WindowsCE
For development, the best logging method on WindowsCE is the use of
@@ -113,7 +113,7 @@ on the given port. (@pxref{option watchgnupg --tcp}). For in the field
tests it is better to make use of the logging facility provided by the
@command{gpgcedev} driver (part of libassuan); this is enabled by using
a log file name of @file{GPG2:}. (@pxref{option --log-file}).
-
+@end ifset
@end itemize
diff --git a/doc/gnupg.texi b/doc/gnupg.texi
index 86e192e0c..7bb54af51 100644
--- a/doc/gnupg.texi
+++ b/doc/gnupg.texi
@@ -34,7 +34,7 @@ Published by the Free Software Foundation@*
Boston, MA 02110-1301 USA
@end iftex
-Copyright @copyright{} 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+Copyright @copyright{} 2002, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -51,8 +51,10 @@ section entitled ``Copying''.
* gpg2: (gnupg). OpenPGP encryption and signing tool.
* gpgsm: (gnupg). S/MIME encryption and signing tool.
* gpg-agent: (gnupg). The secret key daemon.
+@ifset gpgtwoone
* dirmngr: (gnupg). X.509 CRL and OCSP server.
* dirmngr-client: (gnupg). X.509 CRL and OCSP client.
+@end ifset
@end direntry
@@ -124,7 +126,9 @@ the administration and the architecture.
* Installation:: A short installation guide.
* Invoking GPG-AGENT:: How to launch the secret key daemon.
+@ifset gpgtwoone
* Invoking DIRMNGR:: How to launch the CRL and OCSP daemon.
+@end ifset
* Invoking GPG:: Using the OpenPGP protocol.
* Invoking GPGSM:: Using the S/MIME protocol.
* Invoking SCDAEMON:: How to handle Smartcards.
@@ -156,7 +160,9 @@ the administration and the architecture.
@include instguide.texi
@include gpg-agent.texi
+@ifset gpgtwoone
@include dirmngr.texi
+@end ifset
@include gpg.texi
@include gpgsm.texi
@include scdaemon.texi
diff --git a/doc/tools.texi b/doc/tools.texi
index a21f41353..c85f9e243 100644
--- a/doc/tools.texi
+++ b/doc/tools.texi
@@ -16,7 +16,9 @@ GnuPG comes with a couple of smaller tools:
* gpgsm-gencert.sh:: Generate an X.509 certificate request.
* gpg-preset-passphrase:: Put a passphrase into the cache.
* gpg-connect-agent:: Communicate with a running agent.
+@ifset gpgtwoone
* dirmngr-client:: How to use the Dirmngr client tool.
+@end ifset
* gpgparsemail:: Parse a mail message into an annotated format
* symcryptrun:: Call a simple symmetric encryption tool.
* gpg-zip:: Encrypt or sign files into an archive.
@@ -1434,6 +1436,7 @@ Print a list of available control commands.
@include see-also-note.texi
@end ifset
+@ifset gpgtwoone
@c
@c DIRMNGR-CLIENT
@c
@@ -1594,7 +1597,7 @@ Squid's @option{external_acl_type} option.
@command{gpgsm}(1)
@include see-also-note.texi
@end ifset
-
+@end ifset
@c
@c GPGPARSEMAIL