| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-08-17 | Fix a NULL-ptr deref | jvoisin | |
| ``` Program terminated with signal SIGSEGV, Segmentation fault. 20 if (!(func->common.function_name)) { (gdb) info locals func = 0x0 function_name = 0xffb25f6d0190 "SearchByCallback" complete_path_function = 0xffb26c8a0570 "\240\005\212l\262\377" ``` It seems that in some callback shenanigans, there is currently no non-NULL `func` member in execute_data. PHP truly is marvelous. This should close #515 | |||
| 2022-05-15 | Fix a possible null-pointer dereference | jvoisin | |
| 2022-05-03 | Two more const | jvoisin | |
| 2022-02-05 | introduced sp_regexp / store original regex | Ben Fuhrmannek | |
| 2022-01-07 | fixed invalid return value | Ben Fuhrmannek | |
| 2022-01-06 | prevent double checks and fixed segfault on return value access | Ben Fuhrmannek | |
| 2021-12-14 | fix: include class name in eval whitelist matching | Ben Fuhrmannek | |
| 2021-12-14 | code cleanup + removed line breaks for easier IDE integration | Ben Fuhrmannek | |
| 2021-12-14 | get class name from execution_data | Ben Fuhrmannek | |
| 2021-11-30 | PHP 8.1 compatibility with streams/includes + fix for ticks | Ben Fuhrmannek | |
| 2021-09-23 | config is stack allocated now + some code improvements (see details) | Ben Fuhrmannek | |
| * for easier memory manegement, the entire sp_config struct was merged into snuffleupagus_globals and allocated on stack where possible * SNUFFLEUPAGUS_G() can be written as SPG(), which is faster to type and easier to read * execution_depth is re-initialized to 0 for each request * function calls with inline string and length parameters consistently use ZEND_STRL instead of sizeof()-1 * execution is actually hooked if recursion protection is enabled * some line breaks were removed to make the code more readable | |||
| 2021-08-16 | config supports variables now | Ben Fuhrmannek | |
| 2021-08-16 | fincy new scanner/parser for config rules + fixed a few bugs along the way + ↵ | Ben Fuhrmannek | |
| fixed related unittests | |||
| 2021-02-18 | rewrote parameter matching logic. breaks compatibility with previous versions. | Ben Fuhrmannek | |
| 2021-02-16 | Merge remote-tracking branch 'upstream/master' | Ben Fuhrmannek | |
| 2021-01-30 | Improve a bit type diversity | jvoisin | |
| 2021-01-01 | Constify a function | jvoisin | |
| 2020-11-29 | Fix zend_write booking type | jvoisin | |
| The signature was changed in PHP8: https://github.com/php/php-src/commit/e15409b43cacf711608189c299191f2969ea331c | |||
| 2020-11-29 | Make the `>` operator skip over functions | jvoisin | |
| 2020-08-12 | Allow empty configuration (#342) | jvoisin | |
| This commit allows php to run (with a warning) if there is no specified snuffleupagus configuration, instead of refusing to start. | |||
| 2020-07-22 | refactoring sp_log_* (#340) | Giovanni | |
| Co-authored-by: Giovanni Dante Grazioli <giovanni.dantegrazioli@nbs-system.com> | |||
| 2020-07-12 | One more const | jvoisin | |
| 2020-07-04 | Run clang-format on the codebase | jvoisin | |
| 2020-07-04 | Factorize how snuffleupagus gets client's ip addr | jvoisin | |
| 2020-06-15 | Merge remote-tracking branch 'upstream/master' | Ben Fuhrmannek | |
| 2020-06-15 | fixed trigger logic to parameter matching | Ben Fuhrmannek | |
| 2020-03-04 | %s/nbs-system/jvoisin | jvoisin | |
| Since I'm the only one to maintain Snuffleupagus, let's adjust the links and contact addresses of my fork, to point to well… my fork. | |||
| 2020-02-19 | Improve a bit php8 compatibility | jvoisin | |
| PHP changed the way it exposes if a function has variadic arguments or not, hence why we need yet an other ifdef. | |||
| 2019-06-20 | Fix snufflepagus_globals linking issues and one mac compatibility issue | bef | |
| 2019-06-19 | fix snufflepagus_globals linking issues and one mac compatibility issue | Ben Fuhrmannek | |
| 2019-05-14 | Fix the cookie's handling for PHP7.3+ | jvoisin | |
| PHP 7.3+ added a new prototype for the cookie setting mechanism, breaking our ghetto samesite-injection, this commit takes care of it. | |||
| 2019-02-23 | Try to unify the includes | jvoisin | |
| 2019-02-23 | Add php8 to travis and fix php7.4 | jvoisin | |
| - Use clang-format on the code - Improve portability wrt. php8 - Fix php7.4 compatibility. See https://dustri.org/b/fixing-snuffleupagus-sloppy-comparison-on-array_keys-for-php74.html for a detailed writeup | |||
| 2018-12-26 | Document that it's not possible to hook builtins via regexp | jvoisin | |
| Also bump a bit the coverage | |||
| 2018-11-18 | Minor code clarification | jvoisin | |
| 2018-10-09 | Bump again | jvoisin | |
| 2018-10-09 | Don't check the return values of functions that might not return (#255) | jvoisin | |
| This is due to our modifications to the logging system | |||
| 2018-10-06 | Bump coverage again | jvoisin | |
| 2018-10-06 | Bump a bit the coverage | jvoisin | |
| * `setcookie` doesn't always return `true` anymore * clang-format * Cookies with invalid decryption are dropped, but the request isn't anymore * faulty unserialize are now dumpable | |||
| 2018-10-06 | Remove sp_terminate and bump a bit the coverage | jvoisin | |
| 2018-09-03 | Fix #241 segfault on 32-bit related to bad protype (#242) | Remi Collet | |
| This should close #241 | |||
| 2018-08-30 | Minor code cleanup | xXx-caillou-xXx | |
| 2018-08-30 | Match on ret improvements | xXx-caillou-xXx | |
| This commit does two things: - Implement matching on calltraces for ret - Implement matching on ret of user functions if the return value is not used. | |||
| 2018-08-28 | Fix some compilation warnings | xXx-caillou-xXx | |
| 2018-08-28 | Use php's logging functions | xXx-caillou-xXx | |
| This commit replace our usage of `php_log_err` with `zend_error`. This should allow administrators to display errors in the webpage, should they want to; and to properly manipulate the verbosity's level. This should close #217 | |||
| 2018-08-20 | Fix two minor issues | xXx-caillou-xXx | |
| - Fix an infinite loop on `echo` hook - Use the correct function to compare filenames internally | |||
| 2018-07-13 | Yet an other pass of clang-format | jvoisin | |
| 2018-07-13 | Reduce call to get_complete_function_path | xXx-caillou-xXx | |
| 2018-07-13 | Fix hooking on `print` | xXx-caillou-xXx | |
| 2018-07-13 | Allow rules matching on echo and print | xXx-caillou-xXx | |
