summaryrefslogtreecommitdiff
path: root/src/sp_execute.c (follow)
AgeCommit message (Collapse)Author
2018-08-09Fix yet an other hang/crashjvoisin
There are valid reasons for `orig_zend_execute_internal` to be `NULL`, we we're not checking if it is, well, `NULL`.
2018-08-09Fix a typo in the previous commitsjvoisin
2018-08-09Fix a crash/hang when using fpm's poolsjvoisin
We might have ended up in infinite loops when using php-fpm, if several different process hooked some functions twice. Thanks to @sriccio for reporting the issue
2018-07-13Yet an other pass of clang-formatjvoisin
2018-07-13Reduce call to get_complete_function_pathxXx-caillou-xXx
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-03-12Bump the changelogv0.2.2jvoisin
2018-03-08Marginally improve the performances when dealing with evaljvoisin
2018-03-05Improve performances by a significant factorjvoisin
Only check if a function should be disabled when we're after a `*CALL` opcode, end not on every single opcode. Based on @blotus ideas ♥
2018-03-02Add .dump() for eval whitelist/blacklist + simulation mode for whitelistkkadosh
2018-03-02Implement dump() for execution of writable PHP fileskkadosh
2018-01-19Fix a possible double-executejvoisin
Some extensions might hook `zend_execute_internal` for various reason, although few are doing it. We're not supposed to call the original function in our hook if someone else is hooking it. Thanks to @remicollet for the bug report and troubleshooting
2018-01-18Minor code improvements in sp_execute.cjvoisin
2018-01-17Remove useless "head" member in our linked lists implementationsimon MAGNIN-FEYSOT
This should close #85
2018-01-10Rework the priority of bl/wl in evaljvoisin
2018-01-10Minor constificationjvoisin
2018-01-10Eval whitelistjvoisin
Implement whitelist in eval
2018-01-05Fix a bypass in our eval blacklistjvoisin
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 hooking on user-defined functions return valuesjvoisin
This should close #99, thanks to @blotus for the implementation idea!
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-11-30Minor refactoring and clarificationjvoisin
2017-11-29Implement eval hookingjvoisin
It's not possible to hook the `eval` builtin like other functions.
2017-10-30Fix the segfault?jvoisin
2017-10-25.drop() is now bailoutjvoisin
Courtesy of @buixor
2017-10-13Rename a confusing structure memberjvoisin
`regexp` is more confusing than `value_r`
2017-10-13Maybe this will address #35jvoisin
- We shouldn't assume that people are only using regexps - Make an internal function a bit more obvious
2017-10-13Fix some pedantic warningsjvoisin
2017-10-10.allow() is now working for requirejvoisin
2017-10-10Make the `simulation` mode logs more obviousjvoisin
2017-10-09Better hooking of language constructs (#26)jvoisin
* Vastly improve the support of language construct hooking
2017-09-21Add travisjvoisin
2017-09-20Initial importSebastien Blot