Added support for Redis

This commit is contained in:
Joseph Henry 2015-10-27 17:12:32 -07:00
commit 721d58b464
8 changed files with 226 additions and 60 deletions

View file

@ -15,6 +15,7 @@ vsftpd [BROKEN as of 20151021] Server sends 500 when 220 is expected
mysql [BROKEN as of 20151021]
postresql [BROKEN as of 20151021]
MongoDB [BROKEN as of 20151021]
Redis-server [ WORKS as of 20151027]
pure-ftpd [BROKEN as of 20151021] Socket operation on non-socket
To Test:
@ -27,8 +28,16 @@ To Test:
Multithreaded software (e.g. apache in thread mode)
20151021 Added Node.js support
20151027 Added Redis-server support
Notes:
- Added extra logic to detect socket re-issuing and consequent service-side double mapping.
Redis appears to try to set its initial listen socket to IPV6 only, this currently fails. As
a result, Redis will close the socket and re-open it. The server will now test for closures
during mapping and will eliminate any mappings to broken pipes.
20151021 Added Node.js support
Notes:
- syscall(long number, ...) is now intercepted and re-directs the __NR_accept4 call to our intercepted accept4() function
- accept() now returns -EAGAIN in the case that we cannot read a signal byte from the descriptor linked to the service. This
@ -40,3 +49,7 @@ Notes:
This might be unnecessary or might need a better workaround
- Careful attention should be given to how arguments are passed in the intercepted syscall() function, this differs for
32/64-bit systems