| Age | Commit message (Collapse) | Author |
|
This should close #104
|
|
This should close #99, thanks to @blotus for the implementation idea!
|
|
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).
|
|
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 ♥
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since we now have sp_list and sp_tree, it makes sense to specify that
nodes are only for lists.
|
|
|
|
|
|
|
|
|
|
|
|
Thanks to this huge commit from @xXx-caillou-xXx, we can now write amazingly flexible rules.
|
|
We can simply use the return value of the original `setcookie` :>
|
|
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.
|
|
Apparently, PHP doesn't like when you're trying to save some memory when you're playing with strings.
|
|
- 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
|
|
|
|
|
|
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.
|
|
|
|
|
|
Apparently, PHP thinks that it's a great idea to type environnement variables,
because why not.
|
|
|
|
|
|
This validation step is a bit idiotic, but we'll replace it with a
proper parser anyway.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Move the cheapest tests above the expensive ones
|
|
Refactoring of should_disable().
|
|
|
|
|
|
|
|
This commit is almost the same than 8df77884f38e7a7334b56aafe2f441567f175af8
|
|
It's not possible to hook the `eval` builtin like other functions.
|
|
There was an off-by-one in `should_disable`, effectively smashing the last byte of the stack canary. This was discovered while building the package for Alpine Linux. Kudos to their hardened toolchain!
|
|
|
|
Thanks to coverity
|
|
This one was tricky.
It was a great half-hour of joy, full of macros, ctags, gdb, radare2, tears, hardcoded `int3`, … to finally find that php calls `return` when it fails to parse some parameters for various reasons, even if everything goes fine.
This must be a better way to do this, but this is good enough™ for now.
This closes #66
|
|
This is done by using the "samesite" cookie attribute.
|