* Thu Mar 06 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-30.sme

-  systemd unit for ippp [SME: 12876]
-  systemd unit for wan [SME: 12875]
This commit is contained in:
Jean-Philippe Pialasse 2025-03-06 17:11:29 -05:00
parent a3f80cc6fa
commit 33833b4033
26 changed files with 170 additions and 42 deletions

View File

@ -45,7 +45,7 @@ foreach (qw(
/etc/diald.conf
/etc/diald.filter
/etc/diald/link
/var/service/ippp/config
/usr/lib/systemd/system/ippp.service.d/50koozali.conf
/etc/ppp/ioptions
))
{

View File

@ -1,4 +1,3 @@
# dhcpd
:programname, isequal, "dhcpd" /var/log/dhcpd/dhcpd.log
& stop

View File

@ -0,0 +1,3 @@
# ippp
:programname, isequal, "ippp" /var/log/ippp/ippp.log
& stop

View File

@ -0,0 +1,3 @@
# wan
:programname, isequal, "wan" /var/log/wan/wan.log
& stop

View File

@ -0,0 +1,11 @@
[Service]
Environment={
$OUT = 'ppp_options="';
$OUT .= "user $DialupUserAccount name $DialupUserAccount ";
# If you really want to change the options used by ipppd, then
# you can set the IpppdOptions property of the 'isdn' service.
# If you do this, you'd better know what you are doing!
$OUT .= $isdn{'IpppdOptions'} || "noauth debug -vj -vjccomp -bsdcomp -ac -pc";
$OUT .= " noipdefault ipcp-accept-local ipcp-accept-remote";
$OUT .= ' ipparam diald"';
}

View File

@ -0,0 +1,9 @@
/var/log/ippp/ippp.log {
weekly
rotate 5
copytruncate
compress
notifempty
missingok
}

9
root/etc/logrotate.d/wan Normal file
View File

@ -0,0 +1,9 @@
/var/log/wan/wan.log {
weekly
rotate 5
copytruncate
compress
notifempty
missingok
}

View File

@ -11,7 +11,7 @@
# This should run before dialds are started and before any attempt
# is made to reconfigure ippp interfaces differently.
config_file=./config
LocalIP=$(/sbin/e-smith/config get LocalIP|| echo "127.0.0.88")
modprobe hisax
# TODO should check here for failure!!
@ -55,4 +55,5 @@ ifconfig ippp0 "$LocalIP" \
# where all the traffic is to/from the local
# system. i.e. our reply must go out via the
# diald slip proxy.
exec ipppd ippp0 -detach -hostroute $pppopts
# will be done in main process
exit 0

View File

@ -1 +0,0 @@
/var/service/ippp

View File

@ -1 +0,0 @@
/var/service/wan

View File

@ -0,0 +1,21 @@
[Unit]
Description=Koozali SME Server ippp service for dialup
After=network-pre.target
After=networking.service
Requires=network.target
[Service]
Type=simple
#this needs to be updated in a dropin file
Environment=pppopts="user sme name sme noauth debug -vj -vjccomp -bsdcomp -ac -pc noipdefault ipcp-accept-local ipcp-accept-remote ipparam diald"
ExecStartPre=-/sbin/e-smith/service-status ippp
ExecStartPre=/sbin/e-smith/systemd/ippp-pre
ExecStart=/usr/sbin/ipppd ippp0 -detach -hostroute $pppopts
Restart=always
RestartSec=20s
SyslogIdentifier=ippp
[Install]
WantedBy=sme-server.target

View File

@ -1,16 +1,24 @@
[Unit]
Description=WAN interface for Koozali SME Server
After=network-pre.target networking.service
After=network-pre.target
After=networking.service
Before=network-online.target
PartOf=networking.service
[Service]
Type=oneshot
PermissionsStartOnly=true
WorkingDirectory=/var/service/wan
Type=simple
ExecStartPre=/sbin/e-smith/service-status wan
ExecStart=/usr/bin/sv u /service/wan
ExecStop=/usr/bin/sv stop /service/wan
ExecReload=/usr/bin/sv t /service/wan
ExecStart=/var/service/wan/run
ExecReload=/var/service/wan/run
#run.static will just exit, this might create an infinite loop
#unless set on-failure on-abnormal on-abort on-watchdog
Restart=on-failure
RestartSec=20s
RemainAfterExit=yes
SyslogIdentifier=wan
[Install]
WantedBy=sme-server.target

View File

@ -1,6 +0,0 @@
#! /bin/sh
exec \
/usr/bin/setuidgid smelog \
/usr/bin/multilog t s5000000 \
/var/log/ippp

View File

@ -1,7 +0,0 @@
#! /bin/sh
exec \
/usr/bin/setuidgid smelog \
/usr/bin/multilog t s5000000 \
/var/log/wan

View File

@ -9,4 +9,5 @@ then
fi
echo script run.$config not found - please report this as a bug
sleep 100
#sleep 100
exit 0

View File

@ -0,0 +1,31 @@
#!/bin/sh
#----------------------------------------------------------------------
# copyright (C) 1999-2006 Mitel Networks Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#----------------------------------------------------------------------
exec 2>&1
. ./dhclient.config
configfile=/var/lib/dhclient/dhclient-$interface.conf
leasefile=/var/lib/dhclient/dhclient-$interface.leases
export PEERDNS=no
exec /sbin/dhclient -d \
-cf $configfile \
-lf $leasefile \
$interface

View File

@ -0,0 +1,31 @@
#!/bin/sh
#----------------------------------------------------------------------
# copyright (C) 1999-2006 Mitel Networks Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#----------------------------------------------------------------------
exec 2>&1
. ./dhclient.config
configfile=/var/lib/dhclient/dhclient-$interface.conf
leasefile=/var/lib/dhclient/dhclient-$interface.leases
export PEERDNS=no
exec /sbin/dhclient -d \
-cf $configfile \
-lf $leasefile \
$interface

View File

@ -3,7 +3,8 @@
ISDN=$(/sbin/e-smith/config getprop isdn status)
if [ "$ISDN" = "enabled" ]
then
sv u /service/ippp
# Stop and then start. If the units are not running yet, they will be started.
/usr/bin/systemctl restart ippp
sleep 10
# TODO check here that ISDN device is available!!
fi

View File

@ -0,0 +1,21 @@
#------------------------------------------------------------
# !!DO NOT MODIFY THIS FILE!!
#
# Manual changes will be lost when this file is regenerated.
#
# Please read the developer's guide, which is available
# at http://www.contribs.org/development/
#
# Copyright (C) 1999-2006 Mitel Networks Corporation
#------------------------------------------------------------
/sbin/ifconfig eth1 up mtu 1500
/sbin/modprobe ppp_generic
/sbin/modprobe ppp_async
/sbin/modprobe ppp_synctty
DEVICE=eth1
# add pppoe module
/sbin/modprobe pppoe
PPPD_MLIMIT=100000000
# PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
PPPOE_TIMEOUT=120

View File

@ -4,7 +4,7 @@ Summary: smeserver server and gateway - base module
%define name smeserver-base
Name: %{name}
%define version 11.0.0
%define release 29
%define release 30
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@ -49,10 +49,9 @@ Requires: bash-completion
Requires: smeserver-runit >= 2.6.0-7
Requires: smeserver-php >= 3.0.0-22
Requires: smeserver-yum >= 2.6.0-43
# daemontools bins in use
# daemontools bins in use :
# /var/service/wan/run.pppoe
Requires: /usr/bin/softlimit
Requires: /usr/bin/setuidgid
Requires: /usr/bin/multilog
Obsoletes: nss_ldap < 254
Obsoletes: cpu
Obsoletes: rlinetd, e-smith-mod_ssl
@ -122,25 +121,13 @@ mkdir -p $RPM_BUILD_ROOT/etc/selinux
--dir /home/e-smith/ssl.crt 'attr(0700,root,root)' \
--dir /home/e-smith/ssl.pem 'attr(0700,root,root)' \
--dir /var/service/wan 'attr(1755,root,root)' \
--file /var/service/wan/down 'attr(0644,root,root)' \
--file /var/service/wan/run 'attr(0750,root,root)' \
--file /var/service/wan/run.dhclient 'attr(0750,root,root)' \
--file /var/service/wan/run.pppoe 'attr(0750,root,root)' \
--file /var/service/wan/run.static 'attr(0750,root,root)' \
--file /var/service/wan/run.dialup 'attr(0750,root,root)' \
--file /var/service/wan/run.disabled 'attr(0750,root,root)' \
--dir /var/service/wan/supervise 'attr(0700,root,root)' \
--dir /var/service/wan/log 'attr(1755,root,root)' \
--file /var/service/wan/log/run 'attr(0750,root,root)' \
--dir /var/service/wan/log/supervise 'attr(0700,root,root)' \
--dir /var/log/wan 'attr(2750,smelog,smelog)' \
--dir /var/service/ippp 'attr(1755,root,root)' \
--file /var/service/ippp/down 'attr(0644,root,root)' \
--file /var/service/ippp/run 'attr(0750,root,root)' \
--dir /var/service/ippp/supervise 'attr(0700,root,root)' \
--dir /var/service/ippp/log 'attr(1755,root,root)' \
--file /var/service/ippp/log/run 'attr(0750,root,root)' \
--dir /var/service/ippp/log/supervise 'attr(0700,root,root)' \
--dir /var/log/ippp 'attr(2750,smelog,smelog)' \
--dir /etc/e-smith/skel/user/.ssh 'attr(0700,root,root)' \
--file /etc/sysconfig/modules/dummy.modules 'attr(0755,root,root)' \
@ -168,6 +155,9 @@ rm -rf $RPM_BUILD_ROOT
/sbin/e-smith/create-system-user smelastsys 2999 \
'sme last system user marker' /tmp /bin/false
exit 0
%post
LEXICONS=$(find /etc/e-smith/locale/*/etc/e-smith/web/panels/password/cgi-bin/userpassword -type f 2>/dev/null)
@ -192,6 +182,10 @@ fi
%changelog
* Thu Mar 06 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-30.sme
- systemd unit for ippp [SME: 12876]
- systemd unit for wan [SME: 12875]
* Wed Mar 05 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-29.sme
- change key type from service to configuration [SME: 11367]