<feed xmlns='http://www.w3.org/2005/Atom'>
<title>snuffleupagus/src/sp_pcre_compat.h, branch master</title>
<subtitle>Security module for php7 and php8 - Killing bugclasses and virtual-patching the rest! 
</subtitle>
<id>http://git.dustri.org/snuffleupagus/atom?h=master</id>
<link rel='self' href='http://git.dustri.org/snuffleupagus/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/'/>
<updated>2024-06-06T14:27:13Z</updated>
<entry>
<title>Reorder calloc(3) arguments</title>
<updated>2024-06-06T14:27:13Z</updated>
<author>
<name>Christian Göttsche</name>
</author>
<published>2024-05-27T19:32:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=97836fae360422baf9c62dd0eb0de6e7b2cfab09'/>
<id>urn:sha1:97836fae360422baf9c62dd0eb0de6e7b2cfab09</id>
<content type='text'>
Please GCC:

    In file included from /usr/include/php/20220829/Zend/zend.h:30,
                     from /usr/include/php/20220829/main/php.h:31,
                     from /usr/include/php/20220829/main/SAPI.h:20,
                     from src/php_snuffleupagus.h:37,
                     from src/sp_ifilter.c:1:
    src/sp_pcre_compat.h: In function 'sp_regexp_compile':
    src/sp_pcre_compat.h:38:36: warning: '__zend_calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
       38 |   sp_regexp *ret = pecalloc(sizeof(sp_regexp), 1, 1);
          |                                    ^~~~~~~~~
    /usr/include/php/20220829/Zend/zend_alloc.h:199:72: note: in definition of macro 'pecalloc'
      199 | #define pecalloc(nmemb, size, persistent) ((persistent)?__zend_calloc((nmemb), (size)):ecalloc((nmemb), (size)))
          |                                                                        ^~~~~
    src/sp_pcre_compat.h:38:36: note: earlier argument should specify number of elements, later size of each element
       38 |   sp_regexp *ret = pecalloc(sizeof(sp_regexp), 1, 1);
          |                                    ^~~~~~~~~
    /usr/include/php/20220829/Zend/zend_alloc.h:199:72: note: in definition of macro 'pecalloc'
      199 | #define pecalloc(nmemb, size, persistent) ((persistent)?__zend_calloc((nmemb), (size)):ecalloc((nmemb), (size)))
          |                                                                        ^~~~~
</content>
</entry>
<entry>
<title>introduced sp_regexp / store original regex</title>
<updated>2022-02-05T11:22:13Z</updated>
<author>
<name>Ben Fuhrmannek</name>
</author>
<published>2022-02-05T11:22:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=323f818a6ce33d021bc0a6d34064598917e68c91'/>
<id>urn:sha1:323f818a6ce33d021bc0a6d34064598917e68c91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove some memory-leaks</title>
<updated>2021-05-08T15:14:46Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2021-05-08T15:14:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=194b0bc9f0a4699854ea314ffa23e59f8082ddae'/>
<id>urn:sha1:194b0bc9f0a4699854ea314ffa23e59f8082ddae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix #368 build with system libpcre</title>
<updated>2021-01-04T18:32:08Z</updated>
<author>
<name>Remi Collet</name>
</author>
<published>2021-01-04T18:32:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=48f927e9694fcfd76d9fe97542359c8b0bd0a46d'/>
<id>urn:sha1:48f927e9694fcfd76d9fe97542359c8b0bd0a46d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Constify a function</title>
<updated>2021-01-01T15:31:33Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2021-01-01T15:31:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=837fbdb88a513500520f057d27bdfedd0d3995ca'/>
<id>urn:sha1:837fbdb88a513500520f057d27bdfedd0d3995ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add PHP8 support</title>
<updated>2020-12-24T10:32:28Z</updated>
<author>
<name>Julien Voisin</name>
</author>
<published>2020-12-24T10:32:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=98ed3be52fa15521ef405fc8029176279d80778e'/>
<id>urn:sha1:98ed3be52fa15521ef405fc8029176279d80778e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Get rid of pcre1</title>
<updated>2020-12-13T15:26:19Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2020-12-13T15:26:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=efec261b07e76f6c3e53beb831bbc2c65d8884d3'/>
<id>urn:sha1:efec261b07e76f6c3e53beb831bbc2c65d8884d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Snuffleupagus now uses pcre2 by default</title>
<updated>2020-11-12T16:28:42Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2020-11-12T16:28:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=f4bc388f1e4adb1b9dde5f3af77785101ad19857'/>
<id>urn:sha1:f4bc388f1e4adb1b9dde5f3af77785101ad19857</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Yet an other pass of clang-format</title>
<updated>2018-07-13T21:36:06Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2018-07-13T21:36:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=02afd6c84f5e4f11b1de054f36d7d1da87206def'/>
<id>urn:sha1:02afd6c84f5e4f11b1de054f36d7d1da87206def</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Massively optimize how rules are handled</title>
<updated>2018-07-13T08:36:50Z</updated>
<author>
<name>xXx-caillou-xXx</name>
</author>
<published>2018-07-13T08:36:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=7963580d72a358975133f86f01de2d2eab08ba38'/>
<id>urn:sha1:7963580d72a358975133f86f01de2d2eab08ba38</id>
<content type='text'>
This commit does a lot of things:

- Use hashtables instead of lists to store the rules
- Rules that can be applied at launch time won't be tried at runtime
- Improve feedback when writing nonsensical rules
- Make intensive use of `zend_string` instead of `char*`</content>
</entry>
</feed>
