'References for fingerprint:
* http://www.sqlite.org/lang_corefunc.html
* http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions'

def checkDbms(self):

    if ((not conf.extensiveFp) and (Backend.isDbmsWithin(SQLITE_ALIASES) or ((conf.dbms or '').lower() in SQLITE_ALIASES))):
        setDbms(DBMS.SQLITE)
        self.getBanner()
        return True
    infoMsg = ('testing    %s' % DBMS.SQLITE)
    logger.info(infoMsg)
    result = inject.checkBooleanExpression('LAST_INSERT_ROWID()=LAST_INSERT_ROWID()')
    if result:
        infoMsg = ('confirming    %s' % DBMS.SQLITE)
        logger.info(infoMsg)
        result = inject.checkBooleanExpression('SQLITE_VERSION()=SQLITE_VERSION()')
        if (not result):
            warnMsg = ('the    back-end    DBMS    is    not    %s' % DBMS.SQLITE)
            logger.warn(warnMsg)
            return False
        else:
            infoMsg = ('actively    fingerprinting    %s' % DBMS.SQLITE)
            logger.info(infoMsg)
            result = inject.checkBooleanExpression('RANDOMBLOB(-1)>0')
            version = ('3' if result else '2')
            Backend.setVersion(version)
        setDbms(DBMS.SQLITE)
        self.getBanner()
        return True
    else:
        warnMsg = ('the    back-end    DBMS    is    not    %s' % DBMS.SQLITE)
        logger.warn(warnMsg)
        return False
