Subject: [PATCH] gnu: Add knockd.

From: Hendur Saga <[email-masked]>
Date: Mon, 31 Aug 2020 21:26:30 +0000 (UTC)

A patch for a port-knocker daemon. I might work on a knockd-service definition sometime.
- Hendur Saga

From 4d76736c3f64c674bd80f8fd2806ed6be202d5fa Mon Sep 17 00:00:00 2001
From: Hendursaga <[email-masked]>
Date: Mon, 31 Aug 2020 21:22:54 +0000
Subject: [PATCH] gnu: Add knockd.

* gnu/packages/networking.scm (knockd): New variable.
---
 gnu/packages/networking.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1340bef8f0..10e66530df 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -379,6 +379,29 @@ sockets, and also some helper utilities around SCTP.")
       ;; Others.
       license:gpl2+))))
 
+(define-public knockd
+  (package
+    (name "knockd")
+    (version "0.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.zeroflux.org/proj/knock/files/knock-"
+                                  version ".tar.gz"))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "193qcpsy7v51c6awhg9652l5blyz8vp6n7y6fi7l4rhh6af4ff4r"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libpcap" ,libpcap)))
+    (home-page "https://www.zeroflux.org/projects/knock")
+    (synopsis "Small port-knock daemon")
+    (description "@command{knockd} is a port-knock daemon.  It listens to all traffic on
+an ethernet or PPP interface, looking for special \"knock\" sequences of @dfn{port-hits}
+(UDP/TCP packets sent to a server port).  This port need not be open, since knockd listens
+at the link-layer level.")
+    (license license:gpl2+)))
+
 (define-public nng
   (package
     (name "nng")
-- 
2.28.0