Example #1
0
        #		XByteField("TokenType", 0x21),
        FieldLenField("Length", None, fmt="<I", length_of="Language"),
        ByteField("Status", 0),
        StrLenField("Language", "", length_from=lambda x:x.Length),
    ]


# http://web.cecs.pdx.edu/~kirkenda/tdsserver.html
class TDS_TDS5_Query_Request(Packet):
    name = "TDS5 Query Request"
    fields_desc =[
        PacketListField("Queries", None, TDS_Token)
    ]


bind_bottom_up(TDS_Header, TDS_Prelogin_Request, Type=lambda x: x==0x12)
bind_bottom_up(TDS_Header, TDS_Prelogin_Response, Type=lambda x: x==0x04)
bind_bottom_up(TDS_Header, TDS_Login7_Request, Type=lambda x:x ==0x10)
bind_bottom_up(TDS_Header, TDS_PreTDS7_Login_Request, Type=lambda x:x ==0x02)
#bind_bottom_up(TDS_Header, TDS_Token_AllHeader, Type=lambda x:x == 0x01)
bind_bottom_up(TDS_Header, TDS_SQLBatchData, Type=lambda x:x == 0x01)

bind_bottom_up(
    TDS_Token, TDS_Token_Language, TokenType=lambda x:x == TDS_TOKEN_LANGUAGE)
bind_bottom_up(TDS_Token, TDS_Token_ReturnStatus,
               TokenType=lambda x:x == TDS_TOKEN_RETURNSTATUS)


bind_top_down(TDS_Header, TDS_Prelogin_Request, Type=0x12)
bind_top_down(TDS_Header, TDS_Prelogin_Response, Type=0x04)
bind_top_down(TDS_Header, TDS_Token, Status=0x01)
Example #2
0
    name = "TDS5 Token Language"
    fields_desc = [
        #		XByteField("TokenType", 0x21),
        FieldLenField("Length", None, fmt="<I", length_of="Language"),
        ByteField("Status", 0),
        StrLenField("Language", "", length_from=lambda x: x.Length),
    ]


# http://web.cecs.pdx.edu/~kirkenda/tdsserver.html
class TDS_TDS5_Query_Request(Packet):
    name = "TDS5 Query Request"
    fields_desc = [PacketListField("Queries", None, TDS_Token)]


bind_bottom_up(TDS_Header, TDS_Prelogin_Request, Type=lambda x: x == 0x12)
bind_bottom_up(TDS_Header, TDS_Prelogin_Response, Type=lambda x: x == 0x04)
bind_bottom_up(TDS_Header, TDS_Login7_Request, Type=lambda x: x == 0x10)
bind_bottom_up(TDS_Header, TDS_PreTDS7_Login_Request, Type=lambda x: x == 0x02)
#bind_bottom_up(TDS_Header, TDS_Token_AllHeader, Type=lambda x:x == 0x01)
bind_bottom_up(TDS_Header, TDS_SQLBatchData, Type=lambda x: x == 0x01)

bind_bottom_up(TDS_Token,
               TDS_Token_Language,
               TokenType=lambda x: x == TDS_TOKEN_LANGUAGE)
bind_bottom_up(TDS_Token,
               TDS_Token_ReturnStatus,
               TokenType=lambda x: x == TDS_TOKEN_RETURNSTATUS)

bind_top_down(TDS_Header, TDS_Prelogin_Request, Type=0x12)
bind_top_down(TDS_Header, TDS_Prelogin_Response, Type=0x04)
Example #3
0
    ]

class MySQL_COM_INIT_DB(Packet):
    name="MySQL Command INIT DB"
    fields_desc = [
        StrField("Database",b"")
    ]

class MySQL_COM_FIELD_LIST(Packet):
    name="MySQL Command FIELD LIST"
    fields_desc = [
        StrNullField("Table",b""),
        StrField("Column",b"")
    ]

bind_bottom_up(
    MySQL_Command_Header, MySQL_COM_QUERY, Command=lambda x: x==COM_QUERY)
bind_bottom_up(
    MySQL_Command_Header, MySQL_COM_INIT_DB, Command=lambda x: x==COM_INIT_DB)
bind_bottom_up(MySQL_Command_Header, MySQL_COM_FIELD_LIST,
               Command=lambda x: x==COM_FIELD_LIST)

class MySQL_Result_OK(Packet):
    name="MySQL Result OK"
    fields_desc = [
        ByteField("ResultMarker", 0x00),
        LengthCodedIntField("AffectedRows",0),
        LengthCodedIntField("InsertID",0),
        LEShortEnumField(
            "ServerStatus", SERVER_STATUS_AUTOCOMMIT, MySQL_Server_Status),
        LEShortField("WarningCount",0),
        StrField("Message",b'')
Example #4
0
    name = "MySQL Command QUERY"
    fields_desc = [StrNullField("Query", b"")]


class MySQL_COM_INIT_DB(Packet):
    name = "MySQL Command INIT DB"
    fields_desc = [StrField("Database", b"")]


class MySQL_COM_FIELD_LIST(Packet):
    name = "MySQL Command FIELD LIST"
    fields_desc = [StrNullField("Table", b""), StrField("Column", b"")]


bind_bottom_up(MySQL_Command_Header,
               MySQL_COM_QUERY,
               Command=lambda x: x == COM_QUERY)
bind_bottom_up(MySQL_Command_Header,
               MySQL_COM_INIT_DB,
               Command=lambda x: x == COM_INIT_DB)
bind_bottom_up(MySQL_Command_Header,
               MySQL_COM_FIELD_LIST,
               Command=lambda x: x == COM_FIELD_LIST)


class MySQL_Result_OK(Packet):
    name = "MySQL Result OK"
    fields_desc = [
        ByteField("ResultMarker", 0x00),
        LengthCodedIntField("AffectedRows", 0),
        LengthCodedIntField("InsertID", 0),