sqlmap 0.7-rc3: Reset takeover OOB features (if any of --os-pwn, --os-smbrelay or --os-bof is selected) when running under Windows because msfconsole and msfcli are not supported on the native Windows Ruby interpreter. Correctly handle fcntl to be imported only on systems different from Windows. Minor code refactoring.

This commit is contained in:
Bernardo Damele
2009-06-11 15:01:48 +00:00
parent 3bca0d4b28
commit 150abc0f1e
5 changed files with 45 additions and 21 deletions

View File

@@ -24,17 +24,21 @@ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import fcntl
import errno
import os
import sys
import time
from lib.core.settings import IS_WIN
if (sys.hexversion >> 16) >= 0x202:
FCNTL = fcntl
else:
import FCNTL
if IS_WIN is not True:
import fcntl
if (sys.hexversion >> 16) >= 0x202:
FCNTL = fcntl
else:
import FCNTL
def blockingReadFromFD(fd):
@@ -84,6 +88,7 @@ def setNonBlocking(fd):
Make a file descriptor non-blocking
"""
flags = fcntl.fcntl(fd, FCNTL.F_GETFL)
flags = flags | os.O_NONBLOCK
fcntl.fcntl(fd, FCNTL.F_SETFL, flags)
if IS_WIN is not True:
flags = fcntl.fcntl(fd, FCNTL.F_GETFL)
flags = flags | os.O_NONBLOCK
fcntl.fcntl(fd, FCNTL.F_SETFL, flags)