From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] Add mini-snmpd package
Date: Sun, 11 Nov 2018 16:06:49 +0100 [thread overview]
Message-ID: <20181111150652.17459-4-alexander.sverdlin@gmail.com> (raw)
In-Reply-To: <20181111150652.17459-1-alexander.sverdlin@gmail.com>
Mini SNMPd is a minimal implementation targeted at small or embedded UNIX
systems with limited resources.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
Note:
check-package issues "Signed-off-by" warnings on the .patch files, but
that's how they present in the original repository.
package/Config.in | 1 +
...d-zero-byte-before-unsigned-integers.patch | 29 +++++++++++++++++++
| 26 +++++++++++++++++
package/mini-snmpd/Config.in | 7 +++++
package/mini-snmpd/mini-snmpd.mk | 21 ++++++++++++++
package/mini-snmpd/mini-snmpd.service | 12 ++++++++
6 files changed, 96 insertions(+)
create mode 100644 package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch
create mode 100644 package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch
create mode 100644 package/mini-snmpd/Config.in
create mode 100644 package/mini-snmpd/mini-snmpd.mk
create mode 100644 package/mini-snmpd/mini-snmpd.service
diff --git a/package/Config.in b/package/Config.in
index d136ab1f15..c9450cd033 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1886,6 +1886,7 @@ menu "Networking applications"
source "package/macchanger/Config.in"
source "package/memcached/Config.in"
source "package/mii-diag/Config.in"
+ source "package/mini-snmpd/Config.in"
source "package/minidlna/Config.in"
source "package/minissdpd/Config.in"
source "package/mjpg-streamer/Config.in"
diff --git a/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch b/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch
new file mode 100644
index 0000000000..990d5bb9b7
--- /dev/null
+++ b/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch
@@ -0,0 +1,29 @@
+From 949ae648bf7c654b8fae607a0988bfa672607156 Mon Sep 17 00:00:00 2001
+From: Patrick Rauscher <prauscher@prauscher.de>
+Date: Fri, 18 Aug 2017 17:31:23 +0200
+Subject: [PATCH] Prepend zero-byte before unsigned integers
+
+fixes #8
+---
+ mib.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/mib.c b/mib.c
+index 7d2e513..a9ffbe2 100644
+--- a/mib.c
++++ b/mib.c
+@@ -207,6 +207,11 @@ static int encode_unsigned(data_t *data, int type, unsigned int ticks_value)
+ else
+ length = 1;
+
++ /* check if the integer could be interpreted negative during a signed decode and prepend a zero-byte if necessary */
++ if ((ticks_value >> (8 * (length - 1))) & 0x80) {
++ length++;
++ }
++
+ *buffer++ = type;
+ *buffer++ = length;
+ while (length--)
+--
+2.13.2
+
--git a/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch b/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch
new file mode 100644
index 0000000000..d1b18050a5
--- /dev/null
+++ b/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch
@@ -0,0 +1,26 @@
+From 556c8a406c9e08dd9444222e072f7eb9c82a81e8 Mon Sep 17 00:00:00 2001
+From: Patrick Rauscher <prauscher@prauscher.de>
+Date: Fri, 18 Aug 2017 17:44:32 +0200
+Subject: [PATCH] mib.c: allow unsigned integers to have an extra byte
+
+The extra byte can be needed when encoding huge unsigned numbers (i.e. 0x80000000 or higher). In this case, during encoding we need an extra byte to make sure clients decoding as signed int do not get negative numbers. For further details, see commit 949ae648
+---
+ mib.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mib.c b/mib.c
+index a9ffbe2..83cc20d 100644
+--- a/mib.c
++++ b/mib.c
+@@ -372,7 +372,7 @@ static int data_alloc(data_t *data, int type)
+ case BER_TYPE_COUNTER:
+ case BER_TYPE_GAUGE:
+ case BER_TYPE_TIME_TICKS:
+- data->max_length = sizeof(unsigned int) + 2;
++ data->max_length = sizeof(unsigned int) + 3;
+ data->encoded_length = 0;
+ data->buffer = allocate(data->max_length);
+ break;
+--
+2.13.2
+
diff --git a/package/mini-snmpd/Config.in b/package/mini-snmpd/Config.in
new file mode 100644
index 0000000000..1f61cddbcf
--- /dev/null
+++ b/package/mini-snmpd/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_MINI_SNMPD
+ bool "mini-snmpd"
+ help
+ Mini SNMPd is a minimal implementation targeted at small or
+ embedded UNIX systems with limited resources
+
+ http://troglobit.com/mini-snmpd.html
diff --git a/package/mini-snmpd/mini-snmpd.mk b/package/mini-snmpd/mini-snmpd.mk
new file mode 100644
index 0000000000..ebcbcce1ce
--- /dev/null
+++ b/package/mini-snmpd/mini-snmpd.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# mini-snmpd
+#
+################################################################################
+
+MINI_SNMPD_VERSION = v1.4
+MINI_SNMPD_SITE = $(call github,troglobit,mini-snmpd,$(MINI_SNMPD_VERSION))
+MINI_SNMPD_LICENSE = GPL-2.0
+MINI_SNMPD_LICENSE_FILES = COPYING
+MINI_SNMPD_AUTORECONF = YES
+
+define MINI_SNMPD_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/mini-snmpd/mini-snmpd.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/mini-snmpd.service
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -sf ../../../../usr/lib/systemd/system/mini-snmpd.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mini-snmpd.service
+endef
+
+$(eval $(autotools-package))
diff --git a/package/mini-snmpd/mini-snmpd.service b/package/mini-snmpd/mini-snmpd.service
new file mode 100644
index 0000000000..8a15585e6e
--- /dev/null
+++ b/package/mini-snmpd/mini-snmpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Mini SNMP Daemon
+StartLimitIntervalSec=0
+
+[Service]
+Environment='COMMUNITY=public'
+ExecStart=/sbin/mini_snmpd -a -n -c ${COMMUNITY} $EXTRA_PARAMS
+Restart=always
+RestartSec=1
+
+[Install]
+WantedBy=multi-user.target
--
2.19.1
next prev parent reply other threads:[~2018-11-11 15:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-11 15:06 [Buildroot] [PATCH] libtool: Make libltdl a separate package Alexander Sverdlin
2018-11-11 15:06 ` [Buildroot] [PATCH] Add syslinux installer host package Alexander Sverdlin
2018-11-11 20:33 ` Thomas Petazzoni
2018-11-12 0:03 ` Carlos Santos
2018-11-11 15:06 ` [Buildroot] [PATCH] linux-tools: Add liblockdep Alexander Sverdlin
2018-11-11 21:53 ` Thomas Petazzoni
2018-11-11 15:06 ` Alexander Sverdlin [this message]
2018-11-13 21:52 ` [Buildroot] [PATCH] Add mini-snmpd package Thomas Petazzoni
2018-11-22 17:55 ` Alexander Sverdlin
2018-11-11 15:06 ` [Buildroot] [PATCH] acpid: Add systemd service Alexander Sverdlin
2018-11-11 20:46 ` Thomas Petazzoni
2018-11-11 15:06 ` [Buildroot] [PATCH] acpid: Make bundled event files optional Alexander Sverdlin
2018-11-11 20:50 ` Thomas Petazzoni
2018-11-11 23:36 ` Carlos Santos
2018-11-11 15:06 ` [Buildroot] [PATCH] systemd: Explicitly configure split-usr=false and split-bin=true Alexander Sverdlin
2018-11-11 16:34 ` Yann E. MORIN
2018-11-11 20:55 ` Thomas Petazzoni
2018-11-11 23:41 ` Alexander Sverdlin
2018-11-12 8:08 ` Yann E. MORIN
2018-11-13 22:19 ` Alexander Sverdlin
2018-11-11 21:17 ` [Buildroot] [PATCH] libtool: Make libltdl a separate package Thomas Petazzoni
2018-11-11 22:15 ` Arnout Vandecappelle
2018-11-12 8:06 ` Yann E. MORIN
2018-11-22 19:02 ` Alexander Sverdlin
2018-11-23 8:04 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181111150652.17459-4-alexander.sverdlin@gmail.com \
--to=alexander.sverdlin@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox