From a4eb9210d4e3fe714b46b9f1fa7999a7168c4e8a Mon Sep 17 00:00:00 2001 From: cinerea0 Date: Mon, 11 Oct 2021 23:41:50 -0400 Subject: [PATCH 1/4] New package: protobuf-go-1.27.1 --- srcpkgs/protobuf-go/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/protobuf-go/template diff --git a/srcpkgs/protobuf-go/template b/srcpkgs/protobuf-go/template new file mode 100644 index 000000000000..8f4bddbbae8d --- /dev/null +++ b/srcpkgs/protobuf-go/template @@ -0,0 +1,17 @@ +# Template file for 'protobuf-go' +pkgname=protobuf-go +version=1.27.1 +revision=1 +build_style=go +go_import_path="google.golang.org/protobuf" +go_package="${go_import_path}/cmd/protoc-gen-go" +short_desc="Go support for Google's protocol buffers" +maintainer="cinerea0 " +license="BSD-3-Clause" +homepage="https://github.com/protocolbuffers/protobuf-go" +distfiles="https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v${version}.tar.gz" +checksum=3ec41a8324431e72f85e0dc0c2c098cc14c3cb1ee8820996c8f46afca2d65609 + +post_install() { + vlicense LICENSE +} From 07e9916bdd5ce75a5541459ba8ffb0d30809edb4 Mon Sep 17 00:00:00 2001 From: cinerea0 Date: Mon, 11 Oct 2021 23:49:04 -0400 Subject: [PATCH 2/4] New package: protoc-gen-go-grpc-1.1.0 --- srcpkgs/protoc-gen-go-grpc/template | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 srcpkgs/protoc-gen-go-grpc/template diff --git a/srcpkgs/protoc-gen-go-grpc/template b/srcpkgs/protoc-gen-go-grpc/template new file mode 100644 index 000000000000..456bd3d54a66 --- /dev/null +++ b/srcpkgs/protoc-gen-go-grpc/template @@ -0,0 +1,14 @@ +# Template file for 'protoc-gen-go-grpc' +pkgname=protoc-gen-go-grpc +version=1.1.0 +revision=1 +wrksrc="grpc-go-cmd-${pkgname}-v${version}" +build_wrksrc="cmd/protoc-gen-go-grpc" +build_style=go +go_import_path="google.golang.org/grpc/cmd/protoc-gen-go-grpc" +short_desc="Generates Go language bindings of protobuf services for gRPC" +maintainer="cinerea0 " +license="Apache-2.0" +homepage="https://github.com/grpc/grpc-go/tree/master/cmd/protoc-gen-go-grpc" +distfiles="https://github.com/grpc/grpc-go/archive/refs/tags/cmd/protoc-gen-go-grpc/v${version}.tar.gz" +checksum=9aa1f1f82b45a409c25eb7c06c6b4d2a41eb3c9466ebd808fe6d3dc2fb9165b3 From a45b829d4b25b4bdc36fddd3e62ef3de65b16945 Mon Sep 17 00:00:00 2001 From: cinerea0 Date: Tue, 12 Oct 2021 00:25:51 -0400 Subject: [PATCH 3/4] New package: python3-unicode-slugify-0.1.3 --- srcpkgs/python3-unicode-slugify/template | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 srcpkgs/python3-unicode-slugify/template diff --git a/srcpkgs/python3-unicode-slugify/template b/srcpkgs/python3-unicode-slugify/template new file mode 100644 index 000000000000..650a953fdeca --- /dev/null +++ b/srcpkgs/python3-unicode-slugify/template @@ -0,0 +1,18 @@ +# Template file for 'python3-unicode-slugify' +pkgname=python3-unicode-slugify +version=0.1.3 +revision=1 +wrksrc="unicode-slugify-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Slugifier that generates unicode slugs" +maintainer="cinerea0 " +license="BSD-3-Clause" +homepage="https://pypi.org/project/unicode-slugify/" +distfiles="${PYPI_SITE}/u/unicode-slugify/unicode-slugify-${version}.tar.gz" +checksum=34cf3afefa6480efe705a4fc0eaeeaf7f49754aec322ba3e8b2f27dc1cbcf650 +make_check=no # checks were not ported from python2 + +post_install() { + vlicense LICENSE +} From 6eef91a381a3ecba1f503c3377a0b069985b5448 Mon Sep 17 00:00:00 2001 From: cinerea0 Date: Tue, 12 Oct 2021 12:06:52 -0400 Subject: [PATCH 4/4] New package: opensnitch-1.4.1 --- srcpkgs/opensnitch/files/opensnitchd/run | 4 +++ srcpkgs/opensnitch/patches/cc-check.patch | 13 ++++++++ srcpkgs/opensnitch/patches/go-sum.patch | 14 +++++++++ srcpkgs/opensnitch/patches/musl-int.patch | 16 ++++++++++ srcpkgs/opensnitch/patches/protoc-gen.patch | 35 +++++++++++++++++++++ srcpkgs/opensnitch/template | 33 +++++++++++++++++++ 6 files changed, 115 insertions(+) create mode 100644 srcpkgs/opensnitch/files/opensnitchd/run create mode 100644 srcpkgs/opensnitch/patches/cc-check.patch create mode 100644 srcpkgs/opensnitch/patches/go-sum.patch create mode 100644 srcpkgs/opensnitch/patches/musl-int.patch create mode 100644 srcpkgs/opensnitch/patches/protoc-gen.patch create mode 100644 srcpkgs/opensnitch/template diff --git a/srcpkgs/opensnitch/files/opensnitchd/run b/srcpkgs/opensnitch/files/opensnitchd/run new file mode 100644 index 000000000000..2c1855eef621 --- /dev/null +++ b/srcpkgs/opensnitch/files/opensnitchd/run @@ -0,0 +1,4 @@ +#!/bin/sh + +[ -r conf ] && . ./conf +exec opensnitchd ${OPTS:--rules-path /etc/opensnitchd/rules} diff --git a/srcpkgs/opensnitch/patches/cc-check.patch b/srcpkgs/opensnitch/patches/cc-check.patch new file mode 100644 index 000000000000..004f0861a7d9 --- /dev/null +++ b/srcpkgs/opensnitch/patches/cc-check.patch @@ -0,0 +1,13 @@ +diff --git a/daemon/netfilter/queue.go b/daemon/netfilter/queue.go +index 3797486baf..4ee09d68b5 100644 +--- a/daemon/netfilter/queue.go ++++ b/daemon/netfilter/queue.go +@@ -3,7 +3,7 @@ package netfilter + /* + #cgo pkg-config: libnetfilter_queue + #cgo CFLAGS: -Wall -I/usr/include +-#cgo LDFLAGS: -L/usr/lib64/ -ldl ++#cgo LDFLAGS: -L/usr/lib64 -ldl + + #include "queue.h" + */ diff --git a/srcpkgs/opensnitch/patches/go-sum.patch b/srcpkgs/opensnitch/patches/go-sum.patch new file mode 100644 index 000000000000..19537e68545a --- /dev/null +++ b/srcpkgs/opensnitch/patches/go-sum.patch @@ -0,0 +1,14 @@ +# Need to generate go.sum otherwise we get errors +# https://github.com/evilsocket/opensnitch/commit/35975bc76018dbf37a68283463ab9d74948b6892 +diff --git a/daemon/Makefile b/daemon/Makefile +index 1acfbb0d19..618e96d543 100644 +--- a/daemon/Makefile ++++ b/daemon/Makefile +@@ -12,6 +12,7 @@ install: + @systemctl daemon-reload + + opensnitchd: $(SRC) ++ @go get + @go build -o opensnitchd . + + clean: diff --git a/srcpkgs/opensnitch/patches/musl-int.patch b/srcpkgs/opensnitch/patches/musl-int.patch new file mode 100644 index 000000000000..99a23ff22674 --- /dev/null +++ b/srcpkgs/opensnitch/patches/musl-int.patch @@ -0,0 +1,16 @@ +diff --git a/daemon/netfilter/queue.h b/daemon/netfilter/queue.h +index 64c3ea7c0c..2ced3bb39e 100644 +--- a/daemon/netfilter/queue.h ++++ b/daemon/netfilter/queue.h +@@ -14,6 +14,11 @@ + #include + #include + ++typedef unsigned int uint; ++typedef uint8_t u_int8_t; ++typedef uint16_t u_int16_t; ++typedef uint32_t u_int32_t; ++ + typedef struct { + uint verdict; + uint mark; diff --git a/srcpkgs/opensnitch/patches/protoc-gen.patch b/srcpkgs/opensnitch/patches/protoc-gen.patch new file mode 100644 index 000000000000..5210d9bf2d10 --- /dev/null +++ b/srcpkgs/opensnitch/patches/protoc-gen.patch @@ -0,0 +1,35 @@ +# Support newer version of protoc-gen-go +diff --git a/proto/Makefile b/proto/Makefile +index 2af601d599..2d4c3d6dcf 100644 +--- a/proto/Makefile ++++ b/proto/Makefile +@@ -1,7 +1,7 @@ + all: ../daemon/ui/protocol/ui.pb.go ../ui/opensnitch/ui_pb2.py + + ../daemon/ui/protocol/ui.pb.go: ui.proto +- protoc -I. ui.proto --go_out=plugins=grpc:../daemon/ui/protocol/ --go_opt=paths=source_relative ++ protoc -I. ui.proto --go_out=../daemon/ui/protocol/ --go-grpc_out=../daemon/ui/protocol/ --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative + + ../ui/opensnitch/ui_pb2.py: ui.proto + python3 -m grpc_tools.protoc -I. --python_out=../ui/opensnitch/ --grpc_python_out=../ui/opensnitch/ ui.proto + +diff --git a/daemon/go.mod b/daemon/go.mod +index ec21c04..77bdced 100644 +--- a/daemon/go.mod ++++ b/daemon/go.mod +@@ -6,7 +6,6 @@ require ( + github.com/evilsocket/ftrace v1.2.0 + github.com/fsnotify/fsnotify v1.4.7 + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect +- github.com/golang/protobuf v1.5.0 + github.com/google/gopacket v1.1.14 + github.com/google/nftables v0.0.0-20210514154851-a285acebcad3 + github.com/iovisor/gobpf v0.2.0 +@@ -16,6 +15,6 @@ require ( + golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 // indirect + golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444 // indirect + golang.org/x/text v0.3.0 // indirect +- google.golang.org/grpc v1.27.0 ++ google.golang.org/grpc v1.32.0 + google.golang.org/protobuf v1.26.0 + ) diff --git a/srcpkgs/opensnitch/template b/srcpkgs/opensnitch/template new file mode 100644 index 000000000000..5fdfc7916c71 --- /dev/null +++ b/srcpkgs/opensnitch/template @@ -0,0 +1,33 @@ +# Template file for 'opensnitch' +pkgname=opensnitch +version=1.4.1 +revision=1 +build_style=gnu-makefile +hostmakedepends="git go pkg-config protobuf protobuf-go protoc-gen-go-grpc + qt5-host-tools python3-grpcio-tools python3-pip python3-PyQt5-devel-tools + python3-setuptools" +makedepends="libnetfilter_queue-devel libpcap-devel python3-devel python3-inotify + python3-slugify python3-Unidecode python3-unicode-slugify" +depends="python3-googleapis-common-protos python3-grpcio python3-inotify + python3-PyQt5 python3-PyQt5-sql python3-slugify qt5-wayland qt5-plugin-sqlite" +conf_files="/etc/opensnitchd/default-config.json + /etc/opensnitchd/system-fw.json" +make_dirs="/etc/opensnitchd/rules/ 0755 root root + /etc/opensnitchd/ 0755 root root" +short_desc="GNU/Linux port of the Little Snitch application firewall" +maintainer="cinerea0 " +license="GPL-3.0-only" +homepage="https://github.com/evilsocket/opensnitch" +distfiles="https://github.com/evilsocket/opensnitch/archive/refs/tags/v${version}.tar.gz" +checksum=a0b89a5acc1880db114bbda52b5e7ac59bc1a4460122e071cb865adfa0c63618 +nopie_files="/usr/bin/opensnitchd" +nocross="https://github.com/void-linux/void-packages/runs/3835106512" + +do_install() { + vbin daemon/opensnitchd + vinstall daemon/default-config.json 0644 etc/opensnitchd + vinstall daemon/system-fw.json 0644 etc/opensnitchd + cd ui + python3 setup.py install --prefix=/usr --root=${DESTDIR} + vsv opensnitchd +}