Package: php-openid
Version: 2.1.3-1
Severity: important
Tags: patch

*** Please type your report below this line ***
In Auth/OpenID/Parse.php, $_tag_expr regexp is "<%s\b(?!:)([^>]*?)(?:\/>|>(.*?)(?:<\/?%s\s*>|\Z))". And libpcre3's implementation of .*? is probably recursive. So, on big HTML pages with <link rel="openid.server">, like http://stas-fomin.blogspot.com/, <html>...</html> tag is not matched due to a stack overflow during matching of .*? (matching stops after approximately 99264 bytes). So, Auth_OpenID does not work with these pages.
A workaround is very simple: change .*? to .*
A patch is attached.

-- System Information:
Debian Release: squeeze/sid
  APT prefers oldstable
APT policy: (500, 'oldstable'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-1-686 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)
Shell: /bin/sh linked to /bin/bash

Versions of packages php-openid depends on:
ii php5 5.2.10.dfsg.1-1 server-side, HTML-embedded scripti
ii  php5-curl                5.2.10.dfsg.1-1 CURL module for php5
ii  php5-gmp                 5.2.10.dfsg.1-1 GMP module for php5

php-openid recommends no packages.

Versions of packages php-openid suggests:
pn  php-db                        <none>     (no description available)

-- no debconf information

--
Wbr,
  Vitaliy Filippov

Attachment: Parse.php.diff
Description: Binary data

Reply via email to