sqlmapproject/sqlmap · error · SqlmapMissingMandatoryOptionException

shared library file must end with '.dll' or '.so'

Error message

shared library file must end with '.dll' or '.so'

What it means

Error "shared library file must end with '.dll' or '.so'" thrown in sqlmapproject/sqlmap.

Source

Thrown at lib/takeover/udf.py:222

            msg = "what is the local path of the shared library? "

            while True:
                self.udfLocalFile = readInput(msg, default=None, checkBatch=False)

                if self.udfLocalFile:
                    break
                else:
                    logger.warning("you need to specify the local path of the shared library")
        else:
            self.udfLocalFile = conf.shLib

        if not os.path.exists(self.udfLocalFile):
            errMsg = "the specified shared library file does not exist"
            raise SqlmapFilePathException(errMsg)

        if not self.udfLocalFile.endswith(".dll") and not self.udfLocalFile.endswith(".so"):
            errMsg = "shared library file must end with '.dll' or '.so'"
            raise SqlmapMissingMandatoryOptionException(errMsg)

        elif self.udfLocalFile.endswith(".so") and Backend.isOs(OS.WINDOWS):
            errMsg = "you provided a shared object as shared library, but "
            errMsg += "the database underlying operating system is Windows"
            raise SqlmapMissingMandatoryOptionException(errMsg)

        elif self.udfLocalFile.endswith(".dll") and Backend.isOs(OS.LINUX):
            errMsg = "you provided a dynamic-link library as shared library, "
            errMsg += "but the database underlying operating system is Linux"
            raise SqlmapMissingMandatoryOptionException(errMsg)

        self.udfSharedLibName = os.path.splitext(os.path.basename(self.udfLocalFile))[0]
        self.udfSharedLibExt = os.path.splitext(self.udfLocalFile)[1][1:]

        msg = "how many user-defined functions do you want to create "
        msg += "from the shared library? "

        while True:

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at lib/takeover/udf.py:222 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/9caea054e16aa4de. Report an issue: GitHub.