mirror of
git://git.gnupg.org/gnupg.git
synced 2025-05-16 08:33:24 +02:00
regexp: Fix use of regexp in g10/trustdb.c.
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
db38b551ba
commit
ece1764c12
@ -1479,12 +1479,6 @@ AC_CHECK_FUNCS([getpeerucred])
|
|||||||
#
|
#
|
||||||
GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
|
GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
|
||||||
|
|
||||||
#
|
|
||||||
# Define for regexp support
|
|
||||||
#
|
|
||||||
AC_DEFINE(DISABLE_REGEX,0, [Define to disable regular expression support])
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Do we have zlib? Must do it here because Solaris failed
|
# Do we have zlib? Must do it here because Solaris failed
|
||||||
|
@ -23,14 +23,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#ifndef DISABLE_REGEX
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <regex.h>
|
|
||||||
#endif /* !DISABLE_REGEX */
|
|
||||||
|
|
||||||
#include "gpg.h"
|
#include "gpg.h"
|
||||||
#include "../common/status.h"
|
#include "../common/status.h"
|
||||||
#include "../common/iobuf.h"
|
#include "../common/iobuf.h"
|
||||||
|
#include "../regexp/jimregexp.h"
|
||||||
#include "keydb.h"
|
#include "keydb.h"
|
||||||
#include "../common/util.h"
|
#include "../common/util.h"
|
||||||
#include "options.h"
|
#include "options.h"
|
||||||
@ -1507,7 +1503,6 @@ store_validation_status (ctrl_t ctrl, int depth,
|
|||||||
|
|
||||||
/* Returns a sanitized copy of the regexp (which might be "", but not
|
/* Returns a sanitized copy of the regexp (which might be "", but not
|
||||||
NULL). */
|
NULL). */
|
||||||
#ifndef DISABLE_REGEX
|
|
||||||
/* Operator characters except '.' and backslash.
|
/* Operator characters except '.' and backslash.
|
||||||
See regex(7) on BSD. */
|
See regex(7) on BSD. */
|
||||||
#define REGEXP_OPERATOR_CHARS "^[$()|*+?{"
|
#define REGEXP_OPERATOR_CHARS "^[$()|*+?{"
|
||||||
@ -1572,7 +1567,6 @@ sanitize_regexp(const char *old)
|
|||||||
|
|
||||||
return new;
|
return new;
|
||||||
}
|
}
|
||||||
#endif /*!DISABLE_REGEX*/
|
|
||||||
|
|
||||||
/* Used by validate_one_keyblock to confirm a regexp within a trust
|
/* Used by validate_one_keyblock to confirm a regexp within a trust
|
||||||
signature. Returns 1 for match, and 0 for no match or regex
|
signature. Returns 1 for match, and 0 for no match or regex
|
||||||
@ -1580,25 +1574,15 @@ sanitize_regexp(const char *old)
|
|||||||
static int
|
static int
|
||||||
check_regexp(const char *expr,const char *string)
|
check_regexp(const char *expr,const char *string)
|
||||||
{
|
{
|
||||||
#ifdef DISABLE_REGEX
|
|
||||||
(void)expr;
|
|
||||||
(void)string;
|
|
||||||
/* When DISABLE_REGEX is defined, assume all regexps do not
|
|
||||||
match. */
|
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
int ret;
|
int ret;
|
||||||
char *regexp;
|
char *regexp;
|
||||||
|
|
||||||
regexp=sanitize_regexp(expr);
|
regexp=sanitize_regexp(expr);
|
||||||
|
|
||||||
#ifdef __riscos__
|
|
||||||
ret=riscos_check_regexp(expr, string, DBG_TRUST);
|
|
||||||
#else
|
|
||||||
{
|
{
|
||||||
regex_t pat;
|
regex_t pat;
|
||||||
|
|
||||||
ret=regcomp(&pat,regexp,REG_ICASE|REG_NOSUB|REG_EXTENDED);
|
ret=regcomp(&pat,regexp,REG_ICASE|REG_EXTENDED);
|
||||||
if(ret==0)
|
if(ret==0)
|
||||||
{
|
{
|
||||||
ret=regexec(&pat,string,0,NULL,0);
|
ret=regexec(&pat,string,0,NULL,0);
|
||||||
@ -1606,7 +1590,6 @@ check_regexp(const char *expr,const char *string)
|
|||||||
}
|
}
|
||||||
ret=(ret==0);
|
ret=(ret==0);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if(DBG_TRUST)
|
if(DBG_TRUST)
|
||||||
log_debug("regexp '%s' ('%s') on '%s': %s\n",
|
log_debug("regexp '%s' ('%s') on '%s': %s\n",
|
||||||
@ -1615,7 +1598,6 @@ check_regexp(const char *expr,const char *string)
|
|||||||
xfree(regexp);
|
xfree(regexp);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user