From cdef3764ad42e7a2daa6d2faa393c9946762d388 Mon Sep 17 00:00:00 2001 From: Jeremy Sowden Date: Sat, 5 Nov 2022 16:54:02 +0000 Subject: doc: mysql: declare MAC protocol columns unsigned By default, MySQL smallints are signed. This causes problems inserting packets for ethertypes above 0x7fff, such as IPv6 (0x86dd): MariaDB [ulogd]> SELECT INSERT_PACKET_FULL(...,'f4:7b:09:41:7a:71','f0:2f:74:4e:b2:f3',34525,0,NULL,NULL,NULL); ^^^^^ which fails as follows: ERROR 1264 (22003): Out of range value for column 'mac_protocol' at row 1 Signed-off-by: Jeremy Sowden Signed-off-by: Pablo Neira Ayuso --- doc/mysql-ulogd2-flat.sql | 2 +- doc/mysql-ulogd2.sql | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/mysql-ulogd2-flat.sql b/doc/mysql-ulogd2-flat.sql index d71608c..6d663f6 100644 --- a/doc/mysql-ulogd2-flat.sql +++ b/doc/mysql-ulogd2-flat.sql @@ -51,7 +51,7 @@ CREATE TABLE `ulog2` ( `raw_label` tinyint(3) unsigned default NULL, `mac_saddr_str` varchar(32) default NULL, `mac_daddr_str` varchar(32) default NULL, - `oob_protocol` smallint(5) default NULL, + `oob_protocol` smallint(5) unsigned default NULL, `raw_type` int(10) unsigned default NULL, `mac_str` varchar(255) default NULL, `tcp_sport` int(5) unsigned default NULL, diff --git a/doc/mysql-ulogd2.sql b/doc/mysql-ulogd2.sql index c44f9a9..782f368 100644 --- a/doc/mysql-ulogd2.sql +++ b/doc/mysql-ulogd2.sql @@ -84,7 +84,7 @@ CREATE TABLE `mac` ( `_mac_id` bigint unsigned NOT NULL auto_increment, `mac_saddr` varchar(32) default NULL, `mac_daddr` varchar(32) default NULL, - `mac_protocol` smallint(5) default NULL, + `mac_protocol` smallint(5) unsigned default NULL, UNIQUE KEY `key_id` (`_mac_id`) ) ENGINE=INNODB; @@ -681,7 +681,7 @@ delimiter $$ CREATE FUNCTION INSERT_OR_SELECT_MAC( `_saddr` varchar(32), `_daddr` varchar(32), - `_protocol` smallint(5) + `_protocol` smallint(5) unsigned ) RETURNS bigint unsigned NOT DETERMINISTIC READS SQL DATA @@ -764,7 +764,7 @@ CREATE FUNCTION INSERT_PACKET_FULL( raw_header varchar(256), mac_saddr varchar(32), mac_daddr varchar(32), - mac_protocol smallint(5), + mac_protocol smallint(5) unsigned, _label tinyint(4) unsigned, sctp_sport smallint(5) unsigned, sctp_dport smallint(5) unsigned, -- cgit v1.2.3