]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
doc: mysql: declare MAC protocol columns unsigned
authorJeremy Sowden <jeremy@azazel.net>
Sat, 5 Nov 2022 16:54:02 +0000 (16:54 +0000)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 9 Nov 2022 15:07:50 +0000 (16:07 +0100)
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 <jeremy@azazel.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
doc/mysql-ulogd2-flat.sql
doc/mysql-ulogd2.sql

index d71608c65f7f1cb0d7428e2b842541cf91040614..6d663f6e035d522752b33eb12e52878fb9d8ae94 100644 (file)
@@ -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,
index c44f9a9db1e46ec41706df696fa4e2dae72bbab7..782f3689dc0b45b95c85b32b8fa0b394e5ac1080 100644 (file)
@@ -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,