aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorDaniel van Eeden <wireshark@myname.nl>2014-07-20 21:11:19 +0200
committerEvan Huus <eapache@gmail.com>2014-07-22 02:05:00 +0000
commit7dcb1d7e86cc50fde1d1e2a3ff2a6603f95dd978 (patch)
tree39ca911c81a918c236144c6cc86863d3334b57a0 /epan
parentdacb1f652e882be3fe6228cee397eda4a8779e94 (diff)
Update MySQL Capability flags
Change-Id: I62d0a26ec1c81efa2ee8dbefcbdb308155f64ad5 Reviewed-on: https://code.wireshark.org/review/3136 Reviewed-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-mysql.c62
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,