[SSSD] [PATCH] more fixes for older libpcre versions
Sumit Bose
sbose at redhat.com
Wed Sep 9 11:23:59 UTC 2009
Hi,
older versions of libpcre only support the Python naming style,
?P<name>, for subpatterns. This patch changes our default pattern and
adds some hints about this.
bye,
Sumit
-------------- next part --------------
>From d5730a503f6d923c1cc21b27d7693a496e13e054 Mon Sep 17 00:00:00 2001
From: sbose <sbose at sles10.site>
Date: Wed, 9 Sep 2009 12:10:53 +0200
Subject: [PATCH] more fixes for older libpcre versions
- older version of libpcre only support the Python syntax (?P<name>)
for named subpatterns
---
server/man/sssd.conf.5.xml | 7 ++++++-
server/util/usertools.c | 6 ++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/server/man/sssd.conf.5.xml b/server/man/sssd.conf.5.xml
index f4cb87a..b64899a 100644
--- a/server/man/sssd.conf.5.xml
+++ b/server/man/sssd.conf.5.xml
@@ -133,7 +133,7 @@
containing user name and domain into these components.
</para>
<para>
- Default: <quote>(?<name>[^@]+)@?(?<domain>[^@]*$)</quote>
+ Default: <quote>(?P<name>[^@]+)@?(?P<domain>[^@]*$)</quote>
which translates to "the name is everything up to the
<quote>@</quote> sign, the domain everything after that"
</para>
@@ -144,6 +144,11 @@
libpcre version 7 or higher can support non-unique
named subpatterns.
</para>
+ <para>
+ PLEASE NOTE ALSO: older version of libpcre only
+ support the Python syntax (?P<name>) to label
+ subpatterns.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
diff --git a/server/util/usertools.c b/server/util/usertools.c
index 2134839..e4e941a 100644
--- a/server/util/usertools.c
+++ b/server/util/usertools.c
@@ -64,16 +64,18 @@ int sss_names_init(TALLOC_CTX *mem_ctx, struct confdb_ctx *cdb, struct sss_names
if (!ctx->re_pattern) {
ctx->re_pattern = talloc_strdup(ctx,
- "(?<name>[^@]+)@?(?<domain>[^@]*$)");
+ "(?P<name>[^@]+)@?(?P<domain>[^@]*$)");
if (!ctx->re_pattern) {
ret = ENOMEM;
goto done;
}
#ifdef HAVE_LIBPCRE_LESSER_THAN_7
+ } else {
DEBUG(2, ("This binary was build with a version of libpcre that does "
"not support non-unique named subpatterns.\n"));
DEBUG(2, ("Please make sure that your pattern [%s] only contains "
- "subpatterns with a unique name.\n", ctx->re_pattern));
+ "subpatterns with a unique name and uses "
+ "the Python syntax (?P<name>).\n", ctx->re_pattern));
#endif
}
--
1.6.2.5
More information about the sssd-devel
mailing list