-- GPL3+ Copyright 2025 by Sean Conner -- luacheck: ignore 611 local clock = require "org.conman.clock" local signal = require "org.conman.signal" local tls = require "org.conman.net.tls" local net = require "org.conman.net" local SYSLOG = "192.168.1.10" local HOST = "brevard.conman.org" local CERT = "/home/spc/projects/CA/ca/intermediate/certs/sean.conner.cert.pem" local KEY = "/home/spc/projects/CA/ca/intermediate/private/sean.conner.key.pem" -- ************************************************************************* local function main(ios,sock,addr) for data in ios:lines() do if signal.caught() then ios:close() os.exit(0,true) end sock:send(addr,data) end ios:close() end -- ************************************************************************* local function connect(sock,addr) local ios,err = tls.connect(HOST,514,function(conf) return conf:keypair_file(CERT,KEY) and conf:protocols("tlsv1.3") end) if not ios then io.stderr:write("Failure: ",err," retrying in a bit ...\n") clock.sleep(1) else io.stderr:write("\n\n\nConnected\n") main(ios,sock,addr) end if not signal.caught() then return connect(sock,addr) end end -- ************************************************************************* signal.catch('int') signal.catch('term') local addr = net.address(SYSLOG,'udp',514) local sock = net.socket(addr.family,'udp') connect(sock,addr)