aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xbuild.sh1
-rw-r--r--verify/cmd/verify.go3
-rw-r--r--verify/config/config.go3
-rw-r--r--verify/core/warn.go28
-rw-r--r--verify/getScreensize.c24
-rw-r--r--verifysetup/cmd/setup.go11
-rw-r--r--verifysetup/core/storage.go2
-rw-r--r--verifysetup/go.mod4
8 files changed, 66 insertions, 10 deletions
diff --git a/build.sh b/build.sh
index 4cf30eb..6adfcb7 100755
--- a/build.sh
+++ b/build.sh
@@ -73,6 +73,7 @@ sed 's|BVGLOCATION|"/fsverify/share/warn.bvg"|g' ./verifyConfig.go.tmp > verify/
echo "Building fsverify"
cd verify
go build -a -tags netgo -ldflags '-w -extldflags "-static"' -o ../fsverify_root/bin/fsverify
+gcc getScreensize.c -o ../fsverify_root/bin/getscreensize
cd ..
echo "Building verifysetup"
diff --git a/verify/cmd/verify.go b/verify/cmd/verify.go
index b5fa1cb..e263afa 100644
--- a/verify/cmd/verify.go
+++ b/verify/cmd/verify.go
@@ -88,6 +88,7 @@ func ValidateCommand(_ *cobra.Command, args []string) error {
if len(args) != 1 {
return fmt.Errorf("Usage: fsverify verify [disk]")
}
+
header, err := core.ReadHeader(config.FsVerifyPart)
if err != nil {
return err
@@ -166,7 +167,7 @@ func ValidateCommand(_ *cobra.Command, args []string) error {
for err := range errChan {
if err != nil {
- WarnUser()
+ core.WarnUser()
return err
}
}
diff --git a/verify/config/config.go b/verify/config/config.go
index 965243d..bd1527a 100644
--- a/verify/config/config.go
+++ b/verify/config/config.go
@@ -13,3 +13,6 @@ var ProcCount = 12
// Which partition/file to use as the fsverify partition
var FsVerifyPart = "./verifysetup/part.fsverify"
+
+var FbWarnLoc = "/fsverify/bin/fbwarn"
+var BVGLoc = "/fsverify/share/warn.bvg"
diff --git a/verify/core/warn.go b/verify/core/warn.go
index b00838f..0e41586 100644
--- a/verify/core/warn.go
+++ b/verify/core/warn.go
@@ -2,11 +2,37 @@ package core
import (
"fmt"
+ "os"
+ "os/exec"
+ "strconv"
"github.com/axtloss/fsverify/verify/config"
)
func WarnUser() {
- fmt.Println(config.ProcCount)
+ fmt.Println(config.FbWarnLoc)
+ fmt.Println(config.BVGLoc)
+ sizeCMD := exec.Command("./getscreensize")
+ out, err := sizeCMD.Output()
+ if err != nil {
+ fmt.Println(err)
+ }
+ fmt.Println(string(out))
+ height, err := strconv.Atoi(string(out))
+ var scaleFactor float64
+ if err != nil {
+ scaleFactor = 1
+ }
+
+ scaleFactor = 600.0 / float64(height)
+ fmt.Println(scaleFactor)
+
+ warnCMD := exec.Command(config.FbWarnLoc, config.BVGLoc, fmt.Sprintf("%f", scaleFactor))
+ _, err = warnCMD.Output()
+ if err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+ os.Exit(1)
}
diff --git a/verify/getScreensize.c b/verify/getScreensize.c
new file mode 100644
index 0000000..c383b71
--- /dev/null
+++ b/verify/getScreensize.c
@@ -0,0 +1,24 @@
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <linux/fb.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+
+
+int main(void) {
+ int fbfb = open("/dev/fb0", O_RDONLY);
+ struct fb_var_screeninfo vinfo;
+
+ printf("%d", 1920);
+ return 0;
+
+ if (fbfb < 0)
+ return 1;
+
+ if (ioctl(fbfb, FBIOGET_VSCREENINFO, &vinfo) == -1)
+ return 1;
+
+ printf("%d", vinfo.yres);
+ return 0;
+}
diff --git a/verifysetup/cmd/setup.go b/verifysetup/cmd/setup.go
index e946dd7..b1dbade 100644
--- a/verifysetup/cmd/setup.go
+++ b/verifysetup/cmd/setup.go
@@ -1,20 +1,21 @@
package cmd
import (
- "aead.dev/minisign"
"bytes"
"crypto/ed25519"
"encoding/base64"
"encoding/binary"
"fmt"
- verify "github.com/axtloss/fsverify/core"
- "github.com/axtloss/fsverify/verifysetup/core"
- "github.com/spf13/cobra"
- bolt "go.etcd.io/bbolt"
"math"
"os"
"strconv"
"sync"
+
+ "aead.dev/minisign"
+ verify "github.com/axtloss/fsverify/verify/core"
+ "github.com/axtloss/fsverify/verifysetup/core"
+ "github.com/spf13/cobra"
+ bolt "go.etcd.io/bbolt"
)
func NewSetupCommand() *cobra.Command {
diff --git a/verifysetup/core/storage.go b/verifysetup/core/storage.go
index a4fc66d..33efa30 100644
--- a/verifysetup/core/storage.go
+++ b/verifysetup/core/storage.go
@@ -6,7 +6,7 @@ import (
"encoding/json"
"fmt"
- verify "github.com/axtloss/fsverify/core"
+ verify "github.com/axtloss/fsverify/verify/core"
bolt "go.etcd.io/bbolt"
)
diff --git a/verifysetup/go.mod b/verifysetup/go.mod
index fa523e5..2795891 100644
--- a/verifysetup/go.mod
+++ b/verifysetup/go.mod
@@ -4,7 +4,7 @@ go 1.21.6
require (
aead.dev/minisign v0.2.1 // indirect
- github.com/axtloss/fsverify v0.0.0-20240217210050-61cc5e9a02a3 // indirect
+ github.com/axtloss/fsverify/verify v0.0.0-20240217210050-61cc5e9a02a3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267 // indirect
github.com/spf13/cobra v1.8.0 // indirect
@@ -16,4 +16,4 @@ require (
golang.org/x/term v0.16.0 // indirect
)
-replace github.com/axtloss/fsverify => ../verify/
+replace github.com/axtloss/fsverify/verify => ../verify/