Arran Cudbard-Bell wrote:
Alan DeKok wrote:
Arran Cudbard-Bell wrote:
Hi,

Got this on my 32bit intel box running Ubuntu Linux 6.10

if("%{User-Name}" =~ /(?:.*)/){

  I'm not sure that's a valid regular expression... '?' is usually a
modifier...
It is...

It allows you to create backreferences but not capture the result directly.

http://www.regular-expressions.info/brackets.html

Pretty sure it's supported with the PCRE library.
man pcre

SUBPATTERNS

      Subpatterns are delimited by parentheses (round brackets), which can be
      nested.  Turning part of a pattern into a subpattern does two things:

      1. It localizes a set of alternatives. For example, the pattern

        cat(aract|erpillar|)

      matches  one  of the words "cat", "cataract", or "caterpillar". Without
      the parentheses, it would match  "cataract",  "erpillar"  or  an  empty
      string.

      2.  It  sets  up  the  subpattern as a capturing subpattern. This means
      that, when the whole pattern  matches,  that  portion  of  the  subject
      string that matched the subpattern is passed back to the caller via the
      ovector argument of pcre_exec(). Opening parentheses are  counted  from
      left  to  right  (starting  from 1) to obtain numbers for the capturing
      subpatterns.

      For example, if the string "the red king" is matched against  the  pat-
      tern

        the ((red|white) (king|queen))

      the captured substrings are "red king", "red", and "king", and are num-
      bered 1, 2, and 3, respectively.

      The fact that plain parentheses fulfil  two  functions  is  not  always
      helpful.   There are often times when a grouping subpattern is required
      without a capturing requirement. If an opening parenthesis is  followed
      by  a question mark and a colon, the subpattern does not do any captur-
      ing, and is not counted when computing the  number  of  any  subsequent
      capturing  subpatterns. For example, if the string "the white queen" is
      matched against the pattern

        the ((?:red|white) (king|queen))

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1213196608 (LWP 6433)]
0xb7bc9492 in regexec () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0  0xb7bc9492 in regexec () from /lib/tls/i686/cmov/libc.so.6

  It might be a bug in the regular expression library...

#1  0x0806d6a9 in ?? ()

  Ugh.  2.0.x *should* be built with debugging symbols, and should *not*
be stripped of those symbols before being installed.
Yes, and this is from CVS. I'll rebuild with the debug flags...
Ok with --enable-developer , it's exactly the same. Grrr
  Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


--
Arran Cudbard-Bell ([EMAIL PROTECTED])
Authentication, Authorisation and Accounting Officer
Infrastructure Services | ENG1 E1-1-08 University Of Sussex, Brighton
EXT:01273 873900 | INT: 3900

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to