logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: adfc19c759066dfb2649f2fe5882541c22e6093d
parent 9aa9052cc198dcbd05b299f0d1b6dc7224c84dc9
Author: Michael Forney <mforney@mforney.org>
Date:   Tue, 23 Jun 2020 12:08:01 -0700

Move syslogd to separate repository

Diffstat:

M.gitmodules3+++
Mpkg/gen.lua1+
Apkg/syslogd/gen.lua5+++++
Apkg/syslogd/src1+
Apkg/syslogd/ver1+
Msets.lua1+
Msrc/gen.lua1-
Dsrc/syslogd.c67-------------------------------------------------------------------
8 files changed, 12 insertions(+), 68 deletions(-)

diff --git a/.gitmodules b/.gitmodules @@ -283,6 +283,9 @@ [submodule "pkg/swc/src"] path = pkg/swc/src url = https://github.com/michaelforney/swc +[submodule "pkg/syslogd/src"] + path = pkg/syslogd/src + url = https://github.com/oasislinux/syslogd.git [submodule "pkg/the_silver_searcher/src"] path = pkg/the_silver_searcher/src url = https://github.com/ggreer/the_silver_searcher diff --git a/pkg/gen.lua b/pkg/gen.lua @@ -102,6 +102,7 @@ subgen 'st' subgen 'strace' subgen 'swc' subgen 'syslinux' +subgen 'syslogd' subgen 'terminus-font' subgen 'texi2mdoc' subgen 'the_silver_searcher' diff --git a/pkg/syslogd/gen.lua b/pkg/syslogd/gen.lua @@ -0,0 +1,5 @@ +cflags{'-std=c11', '-Wall', '-Wextra', '-Wpedantic'} + +file('bin/syslogd', '755', exe('syslogd', {'syslogd.c'})) + +fetch 'git' diff --git a/pkg/syslogd/src b/pkg/syslogd/src @@ -0,0 +1 @@ +Subproject commit 4f40184d8ada98fb61d821d1a1bcf9ebd68d1f66 diff --git a/pkg/syslogd/ver b/pkg/syslogd/ver @@ -0,0 +1 @@ +4f40184d8a r0 diff --git a/sets.lua b/sets.lua @@ -25,6 +25,7 @@ return { 'sdhcp', 'sinit', 'skeleton', + 'syslogd', 'tz', 'ubase', 'util-linux', diff --git a/src/gen.lua b/src/gen.lua @@ -6,4 +6,3 @@ cflags{ file('libexec/applyperms', '755', exe('applyperms', {'applyperms.c'})) file('libexec/mergeperms', '755', exe('mergeperms', {'mergeperms.c'})) file('libexec/shutdown', '755', exe('shutdown', {'shutdown.c'})) -file('bin/syslogd', '755', exe('syslogd', {'syslogd.c'})) diff --git a/src/syslogd.c b/src/syslogd.c @@ -1,67 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#define _GNU_SOURCE -#define SYSLOG_NAMES -#include <err.h> -#include <stdio.h> -#include <stdlib.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <sys/un.h> -#include <syslog.h> -#include <unistd.h> - -static const char * -codename(CODE *code, int c) -{ - for (; code->c_name; ++code) { - if (code->c_val == c) - return code->c_name; - } - return "unknown"; -} - -int -main(int argc, char *argv[]) -{ - struct sockaddr_un addr = { - .sun_family = AF_UNIX, - .sun_path = _PATH_LOG, - }; - int s, code; - FILE *f; - char *line = NULL, *p; - size_t sz = 0; - ssize_t n; - const char *pri, *fac; - - umask(0); - s = socket(AF_UNIX, SOCK_DGRAM, 0); - if (s < 0) - err(1, "socket"); - unlink(addr.sun_path); - if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) - err(1, "bind"); - f = fdopen(s, "r"); - if (!f) - err(1, "fdopen"); - setlinebuf(stdout); - for (;;) { - n = getline(&line, &sz, f); - if (n == -1) - break; - p = line; - if (*p != '<') - continue; - ++p; - code = strtol(p, &p, 10); - if (*p != '>') - continue; - ++p; - pri = codename(prioritynames, code & LOG_PRIMASK); - fac = codename(facilitynames, code & LOG_FACMASK); - printf("%s.%s: %s", pri, fac, p); - } - fclose(f); - - return 0; -}