| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Since our configuration format is a bit more complex than php's one,
we have a `sp.allow_broken_configuration` parameter (`false` by default),
that you can set to `true` if you want PHP to carry on if your Snuffleupagus'
configuration contains syntax errors. You'll still get a big scary message in
your logs of course. We do **not** recommend to use it of course, but sometimes
it might be useful to be able to "debug in production" without breaking your
website.
|
|
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.
|
|
|
|
When calling glob() to get the configuration file location, the
GLOB_BRACE flag is used. This flag enables the parsing of '{a,b}', so
that '/path/{a,b}' represents '/path/a' and '/path/b'. Looking at
Snuffleupagus' documentation I saw nowhere this kind of path was
supported. Instead the documentation shows that glob() is used for paths
with wildcards.
The use of GLOB_BRACE is problematic as it is glibc specific and is not
supported by some other C libraries, such as Musl. Snuffleupagus cannot
be used in Apline for this reason.
Since the documentation does not give a valid usage of GLOB_BRACE this
patch removes it, which fixes the non-glibc support.
Signed-off-by: Antoine Tenart <antoine.tenart@ack.tf>
|
|
Ensure that certificates are verified in curl
should close #47
|
|
|
|
|
|
|
|
This should close #105
|
|
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
|
|
|
|
|
|
This commit vastly simplifies the code of cookies-fiddling mechanisms.
|
|
|
|
close #171
|
|
|
|
|
|
- Fix an infinite loop on `echo` hook
- Use the correct function to compare filenames internally
|
|
There are valid reasons for `orig_zend_execute_internal`
to be `NULL`, we we're not checking if it is,
well, `NULL`.
|
|
|
|
Like the two previous commits
|
|
This is in the same spirit than the previous commit
|
|
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
|
|
sp.disable_function.function().filename doesn't take phar:///
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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*`
|
|
* relax test to pass with 7.3
* skip test with 7.3 as samesite is broken + add TODO
|
|
* Trying to fix sloppy comparison https://github.com/nbs-system/snuffleupagus/issues/10 by
modifying php's opcode
|
|
|
|
Implement session encryption.
|
|
|
|
|
|
Refactor the encryption process to extract encrypt/decrypt functions
|
|
This commit will make certain logs easier to parse.
|
|
* Add match on the file where the function is called
* Add the test
* Constify some params
* Fix potentiel null deref
* Return more before if execute_data is NULL
|
|
|
|
|