diff options
-rw-r--r-- | epan/dissectors/packet-mysql.c | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/epan/dissectors/packet-mysql.c b/epan/dissectors/packet-mysql.c index 8faaca10a0..639a014379 100644 --- a/epan/dissectors/packet-mysql.c +++ b/epan/dissectors/packet-mysql.c @@ -51,23 +51,26 @@ void proto_reg_handoff_mysql(void); /* port for protocol registration */ #define TCP_PORT_MySQL 3306 -/* client/server capabilities */ -#define MYSQL_CAPS_LP 0x0001 -#define MYSQL_CAPS_FR 0x0002 -#define MYSQL_CAPS_LF 0x0004 -#define MYSQL_CAPS_CD 0x0008 -#define MYSQL_CAPS_NS 0x0010 -#define MYSQL_CAPS_CP 0x0020 -#define MYSQL_CAPS_OB 0x0040 -#define MYSQL_CAPS_LI 0x0080 -#define MYSQL_CAPS_IS 0x0100 -#define MYSQL_CAPS_CU 0x0200 -#define MYSQL_CAPS_IA 0x0400 -#define MYSQL_CAPS_SL 0x0800 -#define MYSQL_CAPS_II 0x1000 -#define MYSQL_CAPS_TA 0x2000 -#define MYSQL_CAPS_RS 0x4000 -#define MYSQL_CAPS_SC 0x8000 +/* client/server capabilities + * Source: http://dev.mysql.com/doc/internals/en/capability-flags.html + * Source: mysql_com.h + */ +#define MYSQL_CAPS_LP 0x0001 /* CLIENT_LONG_PASSWORD */ +#define MYSQL_CAPS_FR 0x0002 /* CLIENT_FOUND_ROWS */ +#define MYSQL_CAPS_LF 0x0004 /* CLIENT_LONG_FLAG */ +#define MYSQL_CAPS_CD 0x0008 /* CLIENT_CONNECT_WITH_DB */ +#define MYSQL_CAPS_NS 0x0010 /* CLIENT_NO_SCHEMA */ +#define MYSQL_CAPS_CP 0x0020 /* CLIENT_COMPRESS */ +#define MYSQL_CAPS_OB 0x0040 /* CLIENT_ODBC */ +#define MYSQL_CAPS_LI 0x0080 /* CLIENT_LOCAL_FILES */ +#define MYSQL_CAPS_IS 0x0100 /* CLIENT_IGNORE_SPACE */ +#define MYSQL_CAPS_CU 0x0200 /* CLIENT_PROTOCOL_41 */ +#define MYSQL_CAPS_IA 0x0400 /* CLIENT_INTERACTIVE */ +#define MYSQL_CAPS_SL 0x0800 /* CLIENT_SSL */ +#define MYSQL_CAPS_II 0x1000 /* CLIENT_IGNORE_SPACE */ +#define MYSQL_CAPS_TA 0x2000 /* CLIENT_TRANSACTIONS */ +#define MYSQL_CAPS_RS 0x4000 /* CLIENT_RESERVED */ +#define MYSQL_CAPS_SC 0x8000 /* CLIENT_SECURE_CONNECTION */ /* field flags */ @@ -84,14 +87,21 @@ void proto_reg_handoff_mysql(void); #define MYSQL_FLD_TIMESTAMP_FLAG 0x0400 #define MYSQL_FLD_SET_FLAG 0x0800 -/* extended capabilities: 4.1+ client only */ -#define MYSQL_CAPS_MS 0x0001 -#define MYSQL_CAPS_MR 0x0002 -#define MYSQL_CAPS_PM 0x0004 -#define MYSQL_CAPS_PA 0x0008 -#define MYSQL_CAPS_CA 0x0010 -#define MYSQL_CAPS_PL 0x0020 -#define MYSQL_CAPS_ST 0x0080 +/* extended capabilities: 4.1+ client only + * + * These are libmysqlclient flags and NOT present + * in the protocol: + * CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30) + * CLIENT_REMEMBER_OPTIONS (1UL << 31) + */ +#define MYSQL_CAPS_MS 0x0001 /* CLIENT_MULTI_STATMENTS */ +#define MYSQL_CAPS_MR 0x0002 /* CLIENT_MULTI_RESULTS */ +#define MYSQL_CAPS_PM 0x0004 /* CLIENT_PS_MULTI_RESULTS */ +#define MYSQL_CAPS_PA 0x0008 /* CLIENT_PLUGIN_AUTH */ +#define MYSQL_CAPS_CA 0x0010 /* CLIENT_CONNECT_ATTRS */ +#define MYSQL_CAPS_AL 0x0020 /* CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA */ +#define MYSQL_CAPS_EP 0x0040 /* CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS */ +#define MYSQL_CAPS_ST 0x0080 /* CLIENT_SESSION_TRACK */ #define MYSQL_CAPS_UNUSED 0xFF40 /* status bitfield */ @@ -2336,7 +2346,7 @@ void proto_register_mysql(void) { &hf_mysql_cap_plugin_auth_lenenc_client_data, { "Plugin Auth LENENC Client Data","mysql.caps.pm", - FT_BOOLEAN, 16, TFS(&tfs_set_notset), MYSQL_CAPS_PL, + FT_BOOLEAN, 16, TFS(&tfs_set_notset), MYSQL_CAPS_AL, NULL, HFILL }}, { &hf_mysql_cap_session_track, |