diff options
| -rw-r--r-- | ChangeLog | 11 | ||||
| -rw-r--r-- | configure.ac | 47 | ||||
| -rw-r--r-- | gpgme/ChangeLog | 9 | ||||
| -rw-r--r-- | gpgme/gpgme-config.in | 8 | ||||
| -rw-r--r-- | gpgme/rungpg.c | 10 | ||||
| -rw-r--r-- | gpgme/w32-glib-io.c | 2 | ||||
| -rw-r--r-- | gpgme/w32-io.c | 2 | 
7 files changed, 62 insertions, 27 deletions
| @@ -1,8 +1,13 @@ +2007-01-26  Werner Koch  <[email protected]> + +	* configure.ac: Changed gpg and gpgsm version checks to work with +	arbitrary names of the gpg binary. New option --disable-gpg-test +	and --disable-gpgsm-test. +  2007-01-09  Werner Koch  <[email protected]> -	* configure.ac (NEED_GPG_VERSION, -	(NEED_GPGSM_VERSION): Must define after it may have been changed -	by an option. +	* configure.ac (NEED_GPG_VERSION, NEED_GPGSM_VERSION): Must define +	after it may have been changed by an option.  2007-01-08  Werner Koch  <[email protected]> diff --git a/configure.ac b/configure.ac index 09384b8a..e3b4e2e6 100644 --- a/configure.ac +++ b/configure.ac @@ -324,21 +324,20 @@ else    fi  fi  if test "$ok" = "maybe"; then -  AC_MSG_CHECKING(for GnuPG >= $NEED_GPG_VERSION) +  AC_MSG_CHECKING(for GPG >= $NEED_GPG_VERSION)    req_major=`echo $NEED_GPG_VERSION | \               sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`    req_minor=`echo $NEED_GPG_VERSION | \  	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`    req_micro=`echo $NEED_GPG_VERSION | \  	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` -  gpg_version=`$GPG --version | grep ^gpg` -  major=`echo $gpg_version | \ -	 sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -  minor=`echo $gpg_version | \ -	 sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` -  micro=`echo $gpg_version | \ -	 sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` -  GPG_VERSION=`echo $gpg_version | sed 's/^gpg (GnuPG) //'` +  GPG_VERSION=`$GPG --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'` +  major=`echo $GPG_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` +  minor=`echo $GPG_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` +  micro=`echo $GPG_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`    if test "$major" -gt "$req_major"; then      ok=yes @@ -359,10 +358,14 @@ if test "$ok" = "maybe"; then      AC_MSG_RESULT(yes)    else      AC_MSG_RESULT(no) -    AC_MSG_WARN([GnuPG must be at least version $NEED_GPG_VERSION]) +    AC_MSG_WARN([GPG must be at least version $NEED_GPG_VERSION])    fi  fi -AM_CONDITIONAL(RUN_GPG_TESTS, test "$ok" = "yes") +run_gpg_test="$ok" +AC_ARG_ENABLE(gpg-test, +  AC_HELP_STRING([--disable-gpg-test], [disable GPG run test]), +         run_gpg_test=$enableval) +AM_CONDITIONAL(RUN_GPG_TESTS, test "$run_gpg_test" = "yes")  AC_SUBST(GPG_PATH)  NO_OVERRIDE=no @@ -424,14 +427,13 @@ if test "$ok" = "maybe"; then  	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`    req_micro=`echo $NEED_GPGSM_VERSION | \  	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` -  gpgsm_version=`$GPGSM --version | grep ^gpgsm` -  major=`echo $gpgsm_version | \ -	 sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -  minor=`echo $gpgsm_version | \ -	 sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` -  micro=`echo $gpgsm_version | \ -	 sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` -  GPGSM_VERSION=`echo $gpgsm_version | sed 's/^gpgsm (GnuPG) //'` +  GPGSM_VERSION=`$GPGSM --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'` +  major=`echo $GPGSM_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` +  minor=`echo $GPGSM_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` +  micro=`echo $GPGSM_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`    if test "$major" -gt "$req_major"; then      ok=yes @@ -455,7 +457,12 @@ if test "$ok" = "maybe"; then      AC_MSG_WARN([GPGSM must be at least version $NEED_GPGSM_VERSION])    fi  fi -AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$ok" = "yes") +run_gpgsm_test="$ok" +AC_ARG_ENABLE(gpgsm-test, +  AC_HELP_STRING([--disable-gpgsm-test], [disable GPGSM run test]), +         run_gpgsm_test=$enableval) +AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$run_gpgsm_test" = "yes") +  # FIXME: Only build if supported.  AM_CONDITIONAL(BUILD_ASSUAN, test "$GPGSM" != "no") diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 2d04c3cd..0d190cdf 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,12 @@ +2007-01-26  Werner Koch  <[email protected]> + +	* w32-io.c (build_commandline): Fixed stupid quoting bug. +	* w32-glib-io.c (build_commandline): Ditto. + +	* rungpg.c (gpg_set_locale): Avoid dangling pointer after free. + +	* gpgme-config.in: New options --get-gpg and --get-gpgsm. +  2007-01-18  Marcus Brinkmann  <[email protected]>  	* data.h (_gpgme_data_get_fd): Add prototype. diff --git a/gpgme/gpgme-config.in b/gpgme/gpgme-config.in index 4b6ddb39..4a67b3f9 100644 --- a/gpgme/gpgme-config.in +++ b/gpgme/gpgme-config.in @@ -51,6 +51,8 @@ Options:          [--api-version]  	[--libs]  	[--cflags] +        [--get-gpg] +        [--get-gpgsm]  EOF      exit $1  } @@ -144,6 +146,12 @@ while test $# -gt 0; do  		usage 1 1>&2  	    fi  	    ;; +        --get-gpg) +            output="$output @GPG@" +            ;; +        --get-gpgsm) +            output="$output @GPGSM@" +            ;;  	*)              usage 1 1>&2  	    ;; diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c index 243d0b59..58ab39d8 100644 --- a/gpgme/rungpg.c +++ b/gpgme/rungpg.c @@ -517,7 +517,10 @@ gpg_set_locale (void *engine, int category, const char *value)    if (category == LC_CTYPE)      {        if (gpg->lc_ctype) -	free (gpg->lc_ctype); +        { +          free (gpg->lc_ctype); +          gpg->lc_ctype = NULL; +        }        if (value)  	{  	  gpg->lc_ctype = strdup (value); @@ -529,7 +532,10 @@ gpg_set_locale (void *engine, int category, const char *value)    else if (category == LC_MESSAGES)      {        if (gpg->lc_messages) -	free (gpg->lc_messages); +        { +          free (gpg->lc_messages); +          gpg->lc_messages = NULL; +        }        if (value)  	{  	  gpg->lc_messages = strdup (value); diff --git a/gpgme/w32-glib-io.c b/gpgme/w32-glib-io.c index 87b65fb6..20099ef6 100644 --- a/gpgme/w32-glib-io.c +++ b/gpgme/w32-glib-io.c @@ -389,7 +389,7 @@ build_commandline (char **argv)        *(p++) = '"';        while (*argvp)  	{ -	  if (*p == '\\' || *p == '"') +	  if (*argvp == '\\' || *argvp == '"')  	    *(p++) = '\\';  	  *(p++) = *(argvp++);  	} diff --git a/gpgme/w32-io.c b/gpgme/w32-io.c index 6810fd50..fd53a6fb 100644 --- a/gpgme/w32-io.c +++ b/gpgme/w32-io.c @@ -841,7 +841,7 @@ build_commandline (char **argv)        *(p++) = '"';        while (*argvp)  	{ -	  if (*p == '\\' || *p == '"') +	  if (*argvp == '\\' || *argvp == '"')  	    *(p++) = '\\';  	  *(p++) = *(argvp++);  	} | 
