public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH 1/2] wsdd: Install wsdd - fixes bug13445
Date: Fri, 01 Mar 2024 17:17:37 +0100	[thread overview]
Message-ID: <BE6F1493-E2B0-4EA5-9BC3-A4FFB91A916A@ipfire.org> (raw)
In-Reply-To: <f5b3cf46-97d8-4e7e-824b-9f294feea88e@ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 25742 bytes --]

Thank you for the notice. I merged the initscripts branch, too!

-Michael

> On 29 Feb 2024, at 14:38, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
> 
> Hi Michael,
> 
> On 28/02/2024 17:45, Michael Tremer wrote:
>> Hello Adolf,
>>> On 16 Feb 2024, at 17:15, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>> 
>>> Hi Michael,
>>> 
>>> On 16/01/2024 11:30, daniel.weismueller(a)ipfire.org wrote:
>>>> Hi there.
>>>> I've installed and testetd the latest / modified version of the wsdd addon on two machines.
>>>> Nearly everything works as exspected. Also my Winodws PCs see the IPFIRE as a menber of the workgroup and could browse and use the samba shares.
>>>> If you use the firewall option "Drop all Microsoft ports 135,137,138,139,445,1025" the clients in the blue network see the IPFIRE but aren't able to browse or connect to the shares.
>>>> I've recogniced only one thing that don't work like I exspected.
>>>> - If you stop or restart samba the wsdd addon won't stop or restart, too.
>>>> I think it would be better if the wssd stop too because if you change the workgroup and start the samba again the wsdd won't recognice it.
>>> 
>>> To make a patch to support this I need to have the wsdd patches that you created merged into next. Then I can work on having samba trigger the start and stop of wsdd so that it does not run independently but is synchronised with samba.
>> Okay, I have merged the wsdd branch into next.
>> Please let me know if there is anything else you need from me.
> Thanks for the merge. Ran unstable on a vm system but wsdd failed to start. After a bit of investigating I realised that it was the same issue I had originally of pid not being correctly created.
> 
> You also need to merge the two patches in your initscripts branch. I manually added the two patch changes into the functions file in my vm system and then wsdd started without any problems. So I can do the work on linking the start of samba with wsdd but those two patches will be needed for CU185.
> 
> Regards,
> Adolf.
>>> Regards,
>>> Adolf.
>>> 
>>>> -
>>>> Daniel
>>>> Am 12. Januar 2024 um 16:09 schrieb "Adolf Belka" <adolf.belka(a)ipfire.org<mailto:adolf.belka(a)ipfire.org?to=%22Adolf%20Belka%22%20%3Cadolf.belka%40ipfire.org%3E>>:
>>>>    Hi Michael,
>>>>    On 12/01/2024 14:40, Michael Tremer wrote:
>>>>        Hello,
>>>>        On 12 Jan 2024, at 11:14, Adolf Belka <adolf.belka(a)ipfire.org
>>>>        <mailto:adolf.belka(a)ipfire.org>> wrote:
>>>>            Hi Daniel,
>>>>            On 11/01/2024 17:11, daniel.weismueller(a)ipfire.org
>>>>            <mailto:daniel.weismueller(a)ipfire.org> wrote:
>>>>        Hi Adolf.
>>>>        We have looked at your work. First of all, thank you very much.
>>>>        Your scripts seems to work fine. I will start tomorrow to test
>>>>        them in whole. However we have made a few changes.
>>>>        In particular, we have adapted the code to the existing code in
>>>>        IPFire.
>>>>        Please take look at Michaels wsdd branch.
>>>>        https://git.ipfire.org/?p=people/ms/ipfire-2.x.git;a=shortlog;h=refs/heads/wsdd <https://git.ipfire.org/?p=people/ms/ipfire-2.x.git;a=shortlog;h=refs/heads/wsdd> <https://git.ipfire.org/?p=people/ms/ipfire-2.x.git;a=shortlog;h=refs/heads/wsdd> <https://git.ipfire.org/?p=people/ms/ipfire-2.x.git;a=shortlog;h=refs/heads/wsdd>>
>>>>            That looks very good. I clearly still have a bit to learn
>>>>            about how to code in a more tidy manner.
>>>>        It worked… I was just in the swing of it :)
>>>>        I also see that Michael fixed the pid fault in the
>>>>        loadproc/statusproc/killproc while I just created a workaround
>>>>        solution for the wsdd initscript alone.
>>>>        loadproc/statusproc/killproc are really difficult to handle.
>>>>        They are supposed to be LSB-conformant functions, but I believe
>>>>        that it never really happened that they because universally used
>>>>        and compatible between distributions. Now with systemd, there is
>>>>        no more need…
>>>>        And it is also because of systemd that daemons behave
>>>>        differently now - actually not even like daemons whatsoever any
>>>>        more. They used to fork themselves into the background which
>>>>        made all the PID processing necessary, because the init script
>>>>        could not know the PID of the process forked in the background.
>>>>        Now, they don’t do this any more because without the fork,
>>>>        things are easier for systemd to manage.
>>>>        The new -b switch that was added some while ago is already
>>>>        helping us to launch such new processes into the background, but
>>>>        we don’t have PID files any more. And since scripts don’t work
>>>>        with statusproc/killproc, I thought it might be a good idea to
>>>>        add this to loadproc as I am expecting us to need this more
>>>>        often in the future.
>>>>        And while I was thinking about the problem, I figured it would
>>>>        be easier to send a patch for those few lines instead of
>>>>        explaining it in words - which probably would have been a little
>>>>        bit longer.
>>>>        The only noteworthy thing is that there was a potential security
>>>>        issue in passing around the shell arguments as strings because
>>>>        the workgroup variable could have been almost anything. I am not
>>>>        sure what validation samba would do, but I thought it would be
>>>>        best not to rely on that. A two words (with a space) workgroup
>>>>        would have caused wsdd not to start, because it would have seen
>>>>        a command line like “—-workgroup ABC DEF” with ABC being
>>>>        interpreted as the workgroup and DEF being some garbage that
>>>>        wsdd would not understand. The trick with the array is that it
>>>>        would pass the arguments like this “—-workgroup ‘ABC DEF’” which
>>>>        prevents that “DEF” would be interpreted as an extra parameter.
>>>>        So, everything is fine :) Especially after I added the “restart”
>>>>        command :)
>>>>        I did have a look at the code in the functions file but
>>>>        struggled to understand it enough to be able to figure out what
>>>>        was giving the problem I was experiencing.
>>>>        Which functions?
>>>>    The /src/initscripts/system/functions file from the git repo that
>>>>    has the loadproc, statusproc and killproc functions in it.
>>>>    Regards,
>>>>    Adolf.
>>>>        I am glad that has been sorted and the initscript tidied up in
>>>>        line with IPFire coding style.
>>>>        That is why we are all working together...
>>>>        Will try and remember that in future.
>>>>        If not, we are here to help :)
>>>>        -Michael
>>>>        Regards,
>>>>            Adolf.
>>>>        -
>>>>        Daniel
>>>>        Am 10. Januar 2024 um 14:30 schrieb "Adolf Belka"
>>>>        <adolf.belka(a)ipfire.org <mailto:adolf.belka(a)ipfire.org>
>>>>        <mailto:adolf.belka(a)ipfire.org?to=%22Adolf%20Belka%22%20%3Cadolf
>>>>        <mailto:adolf.belka(a)ipfire.org?to=%22Adolf%20Belka%22%20%3Cadolf>.belka%40ipfire.org%3E>>:
>>>>        - lfs and toorfile created for wsdd
>>>>        - wsdd added to make.sh script
>>>>        - created install/update/uninstall scripts for wsdd that create an
>>>>        unpriveleged user and
>>>>        group.
>>>>        - initscript created for wsdd. As wsdd is a python3 script, when it
>>>>        is run as a daemon the
>>>>        pidof command does not find any pid for wsdd. So a directory/file
>>>>        for a pid file was
>>>>        created. This is then passed to the loadproc and killproc commands.
>>>>        After the loadproc
>>>>        command has been created the pid is extracted from the ps aux
>>>>        command and put into the
>>>>        pid file. This then works when running the killproc command for it
>>>>        to know what to go
>>>>        and stop. The statusproc command does not have the ability to feed
>>>>        in the pid from a
>>>>        pid file and so it fails to find a running wsdd as it uses the pidof
>>>>        command. Code was
>>>>        added to the status section of the initscript to check if the pid
>>>>        file exists and if so
>>>>        to print the same command as used with the statusproc command, and
>>>>        also the same
>>>>        wording if the pid file does not exist because wsdd is not running.
>>>>        - info from the ethernet/settings file is used to identify if only
>>>>        green0 is available or
>>>>        if blue0 is also used and based on this the appropriate interface
>>>>        commands are added to
>>>>        the wsdd command.
>>>>        - wsdd is also set up to run in a chroot
>>>>        - Has been tested on my vm testbed, initially by editing the files
>>>>        on the vm clone. After
>>>>        everything confiremd to be working, the build was successfully
>>>>        carried out and the
>>>>        .ipfire package was copied to a new vm clone installed and shown to
>>>>        perform as expected.
>>>>        This test only confirms that wsdd is correctly installed and
>>>>        started. Shutsdown and
>>>>        restarts on reboot successfully. Confirmed from the ps aux info that
>>>>        wsdd has been
>>>>        started with the correct options. Thge testing can not evaluate if
>>>>        wsdd enables windows
>>>>        systems newer than version 7 top be able to detect the samba shares
>>>>        as I have no
>>>>        windows systems.
>>>>        Fixes: Bug13445
>>>>        Tested-by: Adolf Belka <adolf.belka(a)ipfire.org
>>>>        <mailto:adolf.belka(a)ipfire.org>>
>>>>        Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org
>>>>        <mailto:adolf.belka(a)ipfire.org>>
>>>>        ---
>>>>        config/rootfiles/packages/wsdd | 2 +
>>>>        lfs/wsdd | 89 ++++++++++++++++++++++++++++++++++
>>>>        make.sh | 1 +
>>>>        src/initscripts/packages/wsdd | 63 ++++++++++++++++++++++++
>>>>        src/paks/wsdd/install.sh | 40 +++++++++++++++
>>>>        src/paks/wsdd/uninstall.sh | 30 ++++++++++++
>>>>        src/paks/wsdd/update.sh | 27 +++++++++++
>>>>        7 files changed, 252 insertions(+)
>>>>        create mode 100644 config/rootfiles/packages/wsdd
>>>>        create mode 100644 lfs/wsdd
>>>>        create mode 100644 src/initscripts/packages/wsdd
>>>>        create mode 100644 src/paks/wsdd/install.sh
>>>>        create mode 100644 src/paks/wsdd/uninstall.sh
>>>>        create mode 100644 src/paks/wsdd/update.sh
>>>>        diff --git a/config/rootfiles/packages/wsdd
>>>>        b/config/rootfiles/packages/wsdd
>>>>        new file mode 100644
>>>>        index 000000000..ce225043a
>>>>        --- /dev/null
>>>>        +++ b/config/rootfiles/packages/wsdd
>>>>        @@ -0,0 +1,2 @@
>>>>        +etc/rc.d/init.d/wsdd
>>>>        +usr/bin/wsdd
>>>>        diff --git a/lfs/wsdd b/lfs/wsdd
>>>>        new file mode 100644
>>>>        index 000000000..aa65e47ef
>>>>        --- /dev/null
>>>>        +++ b/lfs/wsdd
>>>>        @@ -0,0 +1,89 @@
>>>>        +###############################################################################
>>>>        +# #
>>>>        +# IPFire.org - A linux based firewall #
>>>>        +# Copyright (C) 2007-2024 IPFire Team <info(a)ipfire.org
>>>>        <mailto:info(a)ipfire.org>> #
>>>>        +# #
>>>>        +# 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 3 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, see
>>>>        <http://www.gnu.org/licenses/> <http://www.gnu.org/licenses/>>
>>>>        <http://www.gnu.org/licenses/>> <http://www.gnu.org/licenses/>>>. #
>>>>        +# #
>>>>        +###############################################################################
>>>>        +
>>>>        +###############################################################################
>>>>        +# Definitions
>>>>        +###############################################################################
>>>>        +
>>>>        +include Config
>>>>        +
>>>>        +VER = 0.7.1
>>>>        +SUMMARY = A Web Service Discovery host daemon.
>>>>        +
>>>>        +THISAPP = wsdd-$(VER)
>>>>        +DL_FILE = $(THISAPP).tar.gz
>>>>        +DL_FROM = $(URL_IPFIRE)
>>>>        +DIR_APP = $(DIR_SRC)/$(THISAPP)
>>>>        +TARGET = $(DIR_INFO)/$(THISAPP)
>>>>        +PROG = wsdd
>>>>        +PAK_VER = 1
>>>>        +
>>>>        +DEPS =
>>>>        +
>>>>        +SERVICES = wsdd
>>>>        +
>>>>        +###############################################################################
>>>>        +# Top-level Rules
>>>>        +###############################################################################
>>>>        +
>>>>        +objects = $(DL_FILE)
>>>>        +
>>>>        +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>>        +
>>>>        +$(DL_FILE)_BLAKE2 =
>>>>        ce43022c3bd9f7ff1fd7169ac0d5ab6b2ff78d35c221c05b2e20908a5772d563ab2aca571d4e6ae48a55d19d4adcb9cde60f720ae47af8ee950198224fcfdb26
>>>>        +
>>>>        +install : $(TARGET)
>>>>        +
>>>>        +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>>>        +
>>>>        +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>>>        +
>>>>        +b2 : $(subst %,%_BLAKE2,$(objects))
>>>>        +
>>>>        +dist:
>>>>        + @$(PAK)
>>>>        +
>>>>        +###############################################################################
>>>>        +# Downloading, checking, b2sum
>>>>        +###############################################################################
>>>>        +
>>>>        +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>>>        + @$(CHECK)
>>>>        +
>>>>        +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>>>        + @$(LOAD)
>>>>        +
>>>>        +$(subst %,%_BLAKE2,$(objects)) :
>>>>        + @$(B2SUM)
>>>>        +
>>>>        +###############################################################################
>>>>        +# Installation Details
>>>>        +###############################################################################
>>>>        +
>>>>        +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>>        + @$(PREBUILD)
>>>>        + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf
>>>>        $(DIR_DL)/$(DL_FILE)
>>>>        + cd $(DIR_APP) && cp src/wsdd.py /usr/bin/wsdd
>>>>        +
>>>>        + #install initscripts
>>>>        + $(call INSTALL_INITSCRIPTS,$(SERVICES))
>>>>        +
>>>>        + @rm -rf $(DIR_APP)
>>>>        + @$(POSTBUILD)
>>>>        diff --git a/make.sh b/make.sh
>>>>        index 06e09c9a3..5af3dedc3 100755
>>>>        --- a/make.sh
>>>>        +++ b/make.sh
>>>>        @@ -1699,6 +1699,7 @@ buildipfire() {
>>>>        lfsmake2 perl-MIME-Base32
>>>>        lfsmake2 perl-URI-Encode
>>>>        lfsmake2 rsnapshot
>>>>        + lfsmake2 wsdd
>>>>        # Kernelbuild ... current we have no platform that need
>>>>        # multi kernel builds so KCFG is empty
>>>>        diff --git a/src/initscripts/packages/wsdd
>>>>        b/src/initscripts/packages/wsdd
>>>>        new file mode 100644
>>>>        index 000000000..c5207f872
>>>>        --- /dev/null
>>>>        +++ b/src/initscripts/packages/wsdd
>>>>        @@ -0,0 +1,63 @@
>>>>        +#!/bin/sh
>>>>        +###############################################################################
>>>>        +# #
>>>>        +# IPFire.org - A linux based firewall #
>>>>        +# Copyright (C) 2007-2024 IPFire Team <info(a)ipfire.org
>>>>        <mailto:info(a)ipfire.org>> #
>>>>        +# #
>>>>        +# 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 3 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, see
>>>>        <http://www.gnu.org/licenses/> <http://www.gnu.org/licenses/>>
>>>>        <http://www.gnu.org/licenses/>> <http://www.gnu.org/licenses/>>>. #
>>>>        +# #
>>>>        +###############################################################################
>>>>        +
>>>>        +. /etc/sysconfig/rc
>>>>        +. $rc_functions
>>>>        +
>>>>        +eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
>>>>        +
>>>>        +# Create chroot directory for wsdd
>>>>        +mkdir -p /var/run/wsdd
>>>>        +
>>>>        +INTERFACES="-i ${GREEN_DEV}"
>>>>        + if [ -n "${BLUE_DEV}" ]; then
>>>>        + INTERFACES="${INTERFACES} -i ${BLUE_DEV}"
>>>>        + fi
>>>>        +WSDD_WORKGROUP="-w $(/usr/bin/testparm -s --parameter-name
>>>>        workgroup 2>/dev/null)"
>>>>        +WSDD_USER="-u wsdd:wsdd"
>>>>        +WSDD_CHROOT="-c /var/run/wsdd"
>>>>        +
>>>>        +case "$1" in
>>>>        + start)
>>>>        + boot_mesg "Starting wsdd daemon..."
>>>>        + loadproc -b /usr/bin/wsdd -4 ${WSDD_USER} ${INTERFACES}
>>>>        ${WSDD_WORKGROUP} ${WSDD_CHROOT}
>>>>        + sleep 1
>>>>        + echo $(ps aux | grep "/usr/bin/wsdd" | grep -v grep | awk '{print
>>>>        $2}') > /var/run/wsdd/pid
>>>>        + ;;
>>>>        + stop)
>>>>        + boot_mesg "Stopping wsdd daemon..."
>>>>        + killproc -p /var/run/wsdd/pid /usr/bin/wsdd
>>>>        + ;;
>>>>        + status)
>>>>        + WSDD_PID=$(ps aux | grep "/usr/bin/wsdd" | grep -v grep | awk
>>>>        '{print $2}')
>>>>        + if [ -n "${WSDD_PID}" ]; then
>>>>        + echo -e "\\033[1;36m /usr/bin/wsdd is running with Process"\
>>>>        + "ID(s) $WSDD_PID.\\033[0;39m"
>>>>        + else
>>>>        + echo -e "\\033[1;36m /usr/bin/wsdd is not running.\\033[0;39m"
>>>>        + fi
>>>>        + ;;
>>>>        + *)
>>>>        + echo "Usage: $0 (start|stop|status)"
>>>>        + exit 1
>>>>        + ;;
>>>>        +esac
>>>>        +
>>>>        diff --git a/src/paks/wsdd/install.sh b/src/paks/wsdd/install.sh
>>>>        new file mode 100644
>>>>        index 000000000..181b84eb9
>>>>        --- /dev/null
>>>>        +++ b/src/paks/wsdd/install.sh
>>>>        @@ -0,0 +1,40 @@
>>>>        +#!/bin/bash
>>>>        +############################################################################
>>>>        +# #
>>>>        +# This file is part of the IPFire Firewall. #
>>>>        +# #
>>>>        +# IPFire 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. #
>>>>        +# #
>>>>        +# IPFire 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 IPFire; if not, write to the Free Software #
>>>>        +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
>>>>        02111-1307 USA #
>>>>        +# #
>>>>        +# Copyright (C) 2007 IPFire-Team <info(a)ipfire.org
>>>>        <mailto:info(a)ipfire.org>>. #
>>>>        +# #
>>>>        +############################################################################
>>>>        +#
>>>>        +. /opt/pakfire/lib/functions.sh
>>>>        +
>>>>        +# If the wsdd user does not exist yet, then create it and add to
>>>>        wsdd group.
>>>>        +if ! getent user wsdd >/dev/null; then
>>>>        + useradd -r -U -d / -s /bin/false -c "wsdd user" wsdd
>>>>        + usermod -a -G wsdd wsdd
>>>>        +fi
>>>>        +
>>>>        +extract_files
>>>>        +restore_backup ${NAME}
>>>>        +
>>>>        +# Create startlinks
>>>>        +ln -sf ../init.d/wsdd /etc/rc.d/rc0.d/K35wsdd
>>>>        +ln -sf ../init.d/wsdd /etc/rc.d/rc3.d/S65wsdd
>>>>        +ln -sf ../init.d/wsdd /etc/rc.d/rc6.d/K35wsdd
>>>>        +start_service ${NAME}
>>>>        +exit 0
>>>>        diff --git a/src/paks/wsdd/uninstall.sh b/src/paks/wsdd/uninstall.sh
>>>>        new file mode 100644
>>>>        index 000000000..4c52ee281
>>>>        --- /dev/null
>>>>        +++ b/src/paks/wsdd/uninstall.sh
>>>>        @@ -0,0 +1,30 @@
>>>>        +#!/bin/bash
>>>>        +############################################################################
>>>>        +# #
>>>>        +# This file is part of the IPFire Firewall. #
>>>>        +# #
>>>>        +# IPFire 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. #
>>>>        +# #
>>>>        +# IPFire 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 IPFire; if not, write to the Free Software #
>>>>        +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
>>>>        02111-1307 USA #
>>>>        +# #
>>>>        +# Copyright (C) 2007 IPFire-Team <info(a)ipfire.org
>>>>        <mailto:info(a)ipfire.org>>. #
>>>>        +# #
>>>>        +############################################################################
>>>>        +#
>>>>        +. /opt/pakfire/lib/functions.sh
>>>>        +stop_service ${NAME}
>>>>        +make_backup ${NAME}
>>>>        +remove_files
>>>>        +# Remove all start links.
>>>>        +rm -rf /etc/rc.d/rc*.d/*wsdd
>>>>        +exit 0
>>>>        diff --git a/src/paks/wsdd/update.sh b/src/paks/wsdd/update.sh
>>>>        new file mode 100644
>>>>        index 000000000..99776659c
>>>>        --- /dev/null
>>>>        +++ b/src/paks/wsdd/update.sh
>>>>        @@ -0,0 +1,27 @@
>>>>        +#!/bin/bash
>>>>        +############################################################################
>>>>        +# #
>>>>        +# This file is part of the IPFire Firewall. #
>>>>        +# #
>>>>        +# IPFire 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. #
>>>>        +# #
>>>>        +# IPFire 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 IPFire; if not, write to the Free Software #
>>>>        +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
>>>>        02111-1307 USA #
>>>>        +# #
>>>>        +# Copyright (C) 2007-2020 IPFire-Team <info(a)ipfire.org
>>>>        <mailto:info(a)ipfire.org>>. #
>>>>        +# #
>>>>        +############################################################################
>>>>        +#
>>>>        +. /opt/pakfire/lib/functions.sh
>>>>        +extract_backup_includes
>>>>        +./uninstall.sh
>>>>        +./install.sh
>>>>        -- 2.43.0
>>>>            -- >> Sent from my laptop
>>>>    -- Sent from my laptop
>>> 
>>> -- 
>>> Sent from my laptop



       reply	other threads:[~2024-03-01 16:17 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f5b3cf46-97d8-4e7e-824b-9f294feea88e@ipfire.org>
2024-03-01 16:17 ` Michael Tremer [this message]
     [not found] <14d2e2fe07dfcbad2fc01a7ab62025b0c2e3cf61@ipfire.org>
2024-02-16 17:15 ` Adolf Belka
2024-02-28 16:45   ` Michael Tremer
     [not found] <31ed55928f921d6f36c4559a2e41b4a9e1c53e1c@ipfire.org>
2024-01-12 11:14 ` Adolf Belka
2024-01-12 13:40   ` Michael Tremer
2024-01-12 15:09     ` Adolf Belka
2024-01-10 13:30 Adolf Belka

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=BE6F1493-E2B0-4EA5-9BC3-A4FFB91A916A@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /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