Fix: Issue #2

This commit is contained in:
aceberg 2022-08-26 12:27:06 +07:00
parent aad5a6bcba
commit c62d81ca5b
6 changed files with 19 additions and 10 deletions

View file

@ -15,7 +15,6 @@ run:
cd src && \
sudo \
env IFACE=$(IFACE) DBPATH=$(DBPATH) \
SHOUTRRR_URL=$(SHOUTRRR_URL) \
go run .
go-build:

View file

@ -13,7 +13,7 @@ func db_exec(sqlStatement string) {
_, err := db.Exec(sqlStatement)
if err != nil {
log.Fatal(err)
log.Fatal("ERROR: db_exec: ", err)
}
}
@ -25,7 +25,7 @@ func db_select() (dbHosts []Host) {
res, err := db.Query(sqlStatement)
if err != nil {
log.Fatal(err)
log.Fatal("ERROR: db_select: ", err)
}
dbHosts = []Host{}
@ -35,7 +35,7 @@ func db_select() (dbHosts []Host) {
if err != nil {
log.Fatal(err)
}
oneHost.Name = unquote_str(oneHost.Name)
dbHosts = append(dbHosts, oneHost)
}

View file

@ -28,7 +28,7 @@ func db_create() {
func db_insert(oneHost Host) {
sqlStatement := `INSERT INTO "now" (NAME, IP, MAC, HW, DATE, KNOWN, NOW)
VALUES ('%s','%s','%s','%s','%s','%d','%d');`
sqlStatement = fmt.Sprintf(sqlStatement, oneHost.Name, oneHost.Ip, oneHost.Mac, oneHost.Hw, oneHost.Date, oneHost.Known, oneHost.Now)
sqlStatement = fmt.Sprintf(sqlStatement, quote_str(oneHost.Name), oneHost.Ip, oneHost.Mac, oneHost.Hw, oneHost.Date, oneHost.Known, oneHost.Now)
//fmt.Println("Insert statement:", sqlStatement)
db_exec(sqlStatement)
}
@ -38,13 +38,12 @@ func db_update(oneHost Host) {
NAME = '%s', IP = '%s', MAC = '%s', HW = '%s', DATE = '%s',
KNOWN = '%d', NOW = '%d'
WHERE ID = '%d';`
sqlStatement = fmt.Sprintf(sqlStatement, oneHost.Name, oneHost.Ip, oneHost.Mac, oneHost.Hw, oneHost.Date, oneHost.Known, oneHost.Now, oneHost.Id)
// fmt.Println("Update statement:", sqlStatement)
sqlStatement = fmt.Sprintf(sqlStatement, quote_str(oneHost.Name), oneHost.Ip, oneHost.Mac, oneHost.Hw, oneHost.Date, oneHost.Known, oneHost.Now, oneHost.Id)
//fmt.Println("Update statement:", sqlStatement)
db_exec(sqlStatement)
}
func db_setnow() {
sqlStatement := `UPDATE "now" set NOW = '0';`
// fmt.Println("Set now 0 statement:", sqlStatement)
db_exec(sqlStatement)
}

11
src/quote_str.go Normal file
View file

@ -0,0 +1,11 @@
package main
import "strings"
func quote_str(str string) string {
return strings.ReplaceAll(str, "'", "''")
}
func unquote_str(str string) string {
return strings.ReplaceAll(str, "''", "'")
}

View file

@ -4,7 +4,7 @@
<title>Watch Your LAN</title>
<meta charset="utf-8">
<!--Auto refresh (seconds)-->
<!-- <meta http-equiv="refresh" content="{{ .Config.Timeout }}"> -->
<meta http-equiv="refresh" content="60">
<!--Favicon-->
<link href="data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA/6k7AP+uSQD/z50A7urjAD85MgAAOO8AWlpaAADIawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEREQAAAAAzEREREQAAAzEREREREAAzFxEREVERADN3d3VVVREDM3d3dYVlERMzd3d1VVUREzM3ERESERETMzcRESERERMzNxESMREREzM3ESNEQREwMzcSMxEREwAzNyM0REQzAAMzMzMzMzAAADMzMzMzAAAAADMzMwAAD4HwAA4AcAAMADAACAAQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABAACAAQAAwAMAAOAHAAD4HwAA" rel="icon" type="image/x-icon" />
<!--Bootstrap theme-->

View file

@ -5,7 +5,7 @@
<body>
<div class="container mt-3">
<h2>Online</h2>
<p>Scanning interface: {{ .Config.Iface }}</p>
<p>Scanning interfaces: {{ .Config.Iface }}</p>
<table class="table table-striped">
<tr>
<th>Name</th>