summaryrefslogtreecommitdiff
path: root/src/sp_config.h (follow)
AgeCommit message (Collapse)Author
2022-05-03More const frenzyjvoisin
2022-05-03Add a `const`jvoisin
2022-02-05introduced sp_regexp / store original regexBen Fuhrmannek
2021-11-19added old php version checkBen Fuhrmannek
2021-11-11inverted logic. set xxe_protection.enable() instead of disable_xxe.disable()Ben Fuhrmannek
2021-09-23config 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-09-16ported sid min/max restriction from suhosinBen Fuhrmannek
2021-09-16ported server.strip and server.encode features from suhosinBen Fuhrmannek
2021-09-15implemented execution depth limitBen Fuhrmannek
2021-08-16fincy new scanner/parser for config rules + fixed a few bugs along the way + ↵Ben Fuhrmannek
fixed related unittests
2021-08-07more ini protection featuresBen Fuhrmannek
2021-08-06implemented ini settings protectionBen Fuhrmannek
2021-08-02properly free memory on shutdownBen Fuhrmannek
2021-05-08Remove some memory-leaksjvoisin
2019-08-31Support direct syslog loggingThibault "bui" Koechlin
Add the possibility to log directly into the syslog, instead of using php's log system.
2018-08-29Change how we're validating certificatesxXx-caillou-xXx
2018-08-29Verify certs (#223)jvoisin
Ensure that certificates are verified in curl should close #47
2018-08-27Add whitelist support for php's wrappersxXx-caillou-xXx
2018-07-13Yet an other pass of clang-formatjvoisin
2018-07-13Massively optimize how rules are handledxXx-caillou-xXx
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*`
2018-07-09Trying to fix sloppy comparison (#186)jvoisin
* Trying to fix sloppy comparison https://github.com/nbs-system/snuffleupagus/issues/10 by modifying php's opcode
2018-05-29Support session encryptionkkadosh
Implement session encryption.
2018-03-02Add .dump() for eval whitelist/blacklist + simulation mode for whitelistkkadosh
2018-03-02Implement dump() for execution of writable PHP fileskkadosh
2018-02-27Implements .dump() for unserialize and fix some related testskkadosh
2018-02-05Compatibility layer for pcre2jvoisin
This should close #129
2018-01-10Eval whitelistjvoisin
Implement whitelist in eval
2018-01-04Eval blacklistjvoisin
Add support for eval filtering, only blacklist for now
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-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-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-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-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-04Improve the `.dump` filterjvoisin
2017-11-29Hide an enum definitionjvoisin
2017-11-29Implement eval hookingjvoisin
It's not possible to hook the `eval` builtin like other functions.
2017-11-24Implement anti csrf measuresxXx-caillou-xXx
This is done by using the "samesite" cookie attribute.
2017-10-31Unify two struct members related to virtual-patchingxXx-caillou-xXx
This should close #65
2017-10-26Free additionally allocated `sp_list` instancesBen Foster
References #43.
2017-10-24Remove the `enable` member from the disable function structurejvoisin
Also add some more tests
2017-10-23Implement the .line filterjvoisin
Close #48
2017-10-18Implement match on arguments positionjvoisin
2017-10-13Rename a confusing structure memberjvoisin
`regexp` is more confusing than `value_r`
2017-10-11s/disable_functions/disable_function/gjvoisin
This should close #36 and #30
2017-10-09Better hooking of language constructs (#26)jvoisin
* Vastly improve the support of language construct hooking
2017-10-09Implement matching on the calltrace (#17)jvoisin
* Implement matching on the calltrace
2017-10-02First pass for #9jvoisin
2017-09-25Show the line number in case of processing errorjvoisin
2017-09-20Initial importSebastien Blot