From 7b3b0b847e9da8d9f4827add86704457826bd0c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zsombor=20Bodn=C3=A1r?= <zsombor.bodnar@kszk.bme.hu>
Date: Wed, 25 Aug 2021 23:00:20 +0200
Subject: [PATCH] SM-19

---
 CMakeLists.txt             |  2 +-
 src/framework_functions.cc | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0a0da0e..cb04091 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,5 +31,5 @@ target_include_directories(${PROJECT_NAME} PRIVATE /usr/include/kea
 
 install(TARGETS ${PROJECT_NAME}
         LIBRARY DESTINATION /usr/lib/x86_64-linux-gnu/kea/hooks)
-install(FILES config/matrix-kea-dhcp4.conf config/matrix-keactrl.conf
+install(FILES config/schmatrix-kea-dhcp4.conf config/schmatrix-keactrl.conf
         DESTINATION /etc/kea/)
diff --git a/src/framework_functions.cc b/src/framework_functions.cc
index 00f63a9..386c905 100644
--- a/src/framework_functions.cc
+++ b/src/framework_functions.cc
@@ -42,35 +42,35 @@ int load(isc::hooks::LibraryHandle& handle) {
   }
 
   // Store prepared statements
-  std::array<isc::db::PgSqlTaggedStatement, 10> statements{
+  std::array<isc::db::PgSqlTaggedStatement, 6> statements{
       {{1,
         {isc::db::OID_TEXT},
         "ip_conflict",
-        "select ip_conflict::int from mueb where mac_address = $1"},
+        "select ip_conflict::int from mueb where mac_address = $1::macaddr"},
        {1,
         {isc::db::OID_TEXT},
         "ip_override",
-        "select ip_override from mueb where mac_address = $1 and ip_override "
+        "select ip_override from mueb where mac_address = $1::macaddr and ip_override "
         "is not null"},
        {2,
         {isc::db::OID_TEXT, isc::db::OID_TEXT},
         "ip_address",
         "select ip_address from port join room r using(room_id) where port_id "
-        "= $1 and switch_id = $2"},
+        "= $1 and switch_id = $2::inet"},
        {2,
         {isc::db::OID_TEXT, isc::db::OID_TEXT},
         "clear_port",
         "update mueb set port_id = null, switch_id = null where port_id = $1 "
-        "and switch_id = $2"},
+        "and switch_id = $2::inet"},
        {3,
         {isc::db::OID_TEXT, isc::db::OID_TEXT, isc::db::OID_TEXT},
         "insert_mueb",
-        "insert into mueb (mac_address) values ($1) on conflict do update set "
-        "port_id = $2, switch_id = $3 where mac_address = $1"},
+        "insert into mueb (mac_address) values ($1::macaddr) on conflict (mac_address) do update set "
+        "port_id = $2, switch_id = $3::inet where mueb.mac_address = $1::macaddr"},
        {1,
         {isc::db::OID_TEXT},
         "set_ip_conflict",
-        "update mueb set ip_conflict = true where mac_address = $1"}}};
+        "update mueb set ip_conflict = true where mac_address = $1::macaddr"}}};
   g_pg_sql_connection->prepareStatements(statements.cbegin(),
                                          statements.cend());
 
-- 
GitLab