summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)Author
2018-01-11Remove some legacy codejvoisin
2018-01-10Rework the priority of bl/wl in evaljvoisin
2018-01-10Minor constificationjvoisin
2018-01-10Eval whitelistjvoisin
Implement whitelist in eval
2018-01-08Hopefully fix a crashjvoisin
This should close #115
2018-01-08Add a test to see what happens when no configuration file is givenjvoisin
2018-01-06Ignore a test when running the testsuite as rootjvoisin
2018-01-05Fix a bypass in our eval blacklistjvoisin
2018-01-04Eval blacklistjvoisin
Add support for eval filtering, only blacklist for now
2018-01-04Bump a bit the coveragejvoisin
2018-01-03Handle correctly configuration files with Windows EOLjvoisin
Thanks to @fr33tux for the bug report ♥
2018-01-03Remove some dead codejvoisin
2018-01-02Remove some useless code in the testsuitejvoisin
2017-12-29Fix two broken testsjvoisin
2017-12-28Add two test to prove that we're not prone to old-school bypassesjvoisin
2017-12-28Bump again the coveragejvoisin
2017-12-28Clang-format passThibault "bui" Koechlin
- `clang-format --style="{BasedOnStyle: google, SortIncludes: false}" -i snuffleu*.c sp_*.c sp_*.h` - Update the documentation accordingly
2017-12-28Show in the phpinfo() is the config is validjvoisin
This should close #39
2017-12-28Fix a non-working testjvoisin
2017-12-28Bump a bit the coveragejvoisin
2017-12-28re-integrate simulation token for cookiesbui
2017-12-28Implement regexp support for cookies encryptionThibault "bui" Koechlin
It's now possible to encrypt cookies matching a specific regexp. This should close #106
2017-12-28Add two tests to verify that we can hook indirect callsjvoisin
This should close #104
2017-12-28Implement hooking on user-defined functions return valuesjvoisin
This should close #99, thanks to @blotus for the implementation idea!
2017-12-27Implement simulation mode for cookies (de/en)cryptionjvoisin
This should close #102 This commit can be useful for two use-cases: 1. When deploying Snuffleupagus on big CMS like Magento, and not knowing what cookies are modified via javascript. 2. When deploying Snuffleupagus on big websites: you don't want to disconnect every single user at once. When simulation is enabled, if the decryption fails, a log message is now issued, and the cookie value taken as it (since odds are that it's non-encrypted).
2017-12-26Improve the portability of our ipv6 supportjvoisin
Apparently, the in6_addr can have different fields in its union, making it a bit non-portable. We're solving this via macros. This should close #100, thanks to @fichtner for the report ♥
2017-12-21Add coverageslefevre
2017-12-21Refactor a bitslefevre
2017-12-21Add testslefevre
2017-12-21Remove the now useless `validate_str` functionxXx-caillou-xXx
2017-12-21Add testslefevre
2017-12-21Rename, again, some typesjvoisin
2017-12-21Rename sp_node_t to sp_list_nodejvoisin
Since we now have sp_list and sp_tree, it makes sense to specify that nodes are only for lists.
2017-12-21Add some tests (#96)xXx-caillou-xXx
2017-12-21Re-indent a bit a functionjvoisin
2017-12-21Add a constant-related testjvoisin
2017-12-21Minor code cleanupxXx-caillou-xXx
2017-12-20Refactor a bit the sp_tree implementationxXx-caillou-xXx
2017-12-20Better parsing of the rulesxXx-caillou-xXx
Thanks to this huge commit from @xXx-caillou-xXx, we can now write amazingly flexible rules.
2017-12-20Improve the previous commitxXx-caillou-xXx
We can simply use the return value of the original `setcookie` :>
2017-12-20Make `setcookie` return truexXx-caillou-xXx
We forgot to set a return value to the setcookie function, thus always returning false. Since very few frameworks/developers are checking the return value, it went unnoticed until we played with Magento, who effectively checks the return value.
2017-12-19Fix a segfault related to cookiesxXx-caillou-xXx
Apparently, PHP doesn't like when you're trying to save some memory when you're playing with strings.
2017-12-19Rework a bit the order of operationjvoisin
- There is no need to generate the key if the cookie has no value - There is no need to generate the key if the cookie length is invalid - Use yoda condition
2017-12-19remove useless varslefevre
2017-12-19fix double decodingslefevre
2017-12-18Fix cookie encryptionxXx-caillou-xXx
Previously, when a cookie was set with the `httpOnly` flag, it was automatically encrypted, due to a logic flaw. This is now fixed and tested.
2017-12-06Vastly simplify the dumping of zval in `.dump`jvoisin
2017-12-06Fix a format string, thanks to coverityjvoisin
2017-12-05Dump environnement variables (#83)jvoisin
Apparently, PHP thinks that it's a great idea to type environnement variables, because why not.
2017-12-05Add two failing testsjvoisin