diff --git a/admin/syslog-ng/Makefile b/admin/syslog-ng/Makefile index a78f3857fc..842d447d21 100644 --- a/admin/syslog-ng/Makefile +++ b/admin/syslog-ng/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=syslog-ng -PKG_VERSION:=4.4.0 -PKG_RELEASE:=$(AUTORELEASE) +PKG_VERSION:=4.6.0 +PKG_RELEASE:=1 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later @@ -11,7 +11,7 @@ PKG_CPE_ID:=cpe:/a:balabit:syslog-ng PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/syslog-ng/syslog-ng/releases/download/$(PKG_NAME)-$(PKG_VERSION)/ -PKG_HASH:=583b147f3ec17fbc2dbbf31aafb1e3966237d7541313de5b41ea885dc16d932e +PKG_HASH:=b69e3360dfb96a754a4e1cbead4daef37128b1152a23572356db4ab64a475d4f PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 diff --git a/admin/syslog-ng/files/syslog-ng.conf b/admin/syslog-ng/files/syslog-ng.conf index 92574be61b..ca7b0972a8 100644 --- a/admin/syslog-ng/files/syslog-ng.conf +++ b/admin/syslog-ng/files/syslog-ng.conf @@ -1,10 +1,7 @@ -############################################################################# -# OpenWrt syslog-ng.conf specific file -# which collects all local logs into a single file called /var/log/messages. -# More details about these settings can be found here: -# https://www.syslog-ng.com/technical-documents/list/syslog-ng-open-source-edition +# Collect all local logs into a single file /var/log/messages. +# See https://www.syslog-ng.com/technical-documents/list/syslog-ng-open-source-edition -@version: 4.4 +@version: 4.6 @include "scl.conf" options { @@ -13,7 +10,7 @@ options { keep_hostname(yes); # Enable or disable hostname rewriting. log_fifo_size(256); # The number of messages that the output queue can store. log_msg_size(1024); # Maximum length of a message in bytes. - stats_freq(0); # The period between two STATS messages (sent by syslog-ng, containing statistics about dropped logs) in seconds. + stats(freq(0)); # The period between two STATS messages (sent by syslog-ng, containing statistics about dropped logs) in seconds. flush_lines(0); # How many lines are flushed to a destination at a time. use_fqdn(no); # Add Fully Qualified Domain Name instead of short hostname. }; @@ -43,7 +40,7 @@ source s_network { }; source kernel { - file("/proc/kmsg" program_override("kernel")); + file("/proc/kmsg" program_override("kernel")); }; destination messages { @@ -53,15 +50,13 @@ destination messages { log { source(src); source(net); - source(kernel); + source(kernel); destination(messages); # uncomment this line to open port 514 to receive messages #source(s_network); }; -# -# Finally, include any user settings last so that s/he can override or +# Include any user settings last so that s/he can override or # supplement all "canned" settings inherited from the distribution. -# @include "/etc/syslog-ng.d/" # Put any customization files in this directory diff --git a/net/apfree-wifidog/Makefile b/net/apfree-wifidog/Makefile index 8cf93e0174..79d1c5c47b 100644 --- a/net/apfree-wifidog/Makefile +++ b/net/apfree-wifidog/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apfree-wifidog -PKG_VERSION:=6.08.1950 +PKG_VERSION:=7.02.1977 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/liudf0716/apfree-wifidog.git PKG_SOURCE_VERSION:=$(PKG_VERSION) -PKG_MIRROR_HASH:=1fb8f80970b29e7af382c6d35cb23ee6eb932483579ce9497e21ce0fb65a381f +PKG_MIRROR_HASH:=f43786523099f90c46c4e7bf99b4bb3c705113939f5348f7136a13b346aed529 PKG_MAINTAINER:=Dengfeng Liu PKG_LICENSE:=GPL-3.0-or-later @@ -27,7 +27,7 @@ define Package/apfree-wifidog SUBMENU:=Captive Portals SECTION:=net CATEGORY:=Network - DEPENDS:=+zlib +libjson-c +libevent2 +libevent2-openssl +libuci + DEPENDS:=+zlib +libjson-c +libevent2 +libevent2-openssl +libuci +openssl-util +libnetfilter-queue TITLE:=Apfree's wireless captive portal solution URL:=https://github.com/liudf0716/apfree_wifidog endef diff --git a/net/apfree-wifidog/files/wifidogx.init b/net/apfree-wifidog/files/wifidogx.init index 595ea2dec6..8b9bbb8698 100644 --- a/net/apfree-wifidog/files/wifidogx.init +++ b/net/apfree-wifidog/files/wifidogx.init @@ -1,8 +1,6 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2018 Dengfeng Liu -. /lib/functions/network.sh - START=99 USE_PROCD=1 @@ -10,43 +8,46 @@ NAME=wifidogx PROG=/usr/bin/${NAME} CONFIGFILE=/tmp/wifidogx.conf -service_trigger() { - procd_add_reload_trigger ${NAME} -} - prepare_wifidog_conf() { [ -f ${CONFIGFILE} ] && rm -f ${CONFIGFILE} - network_get_device external_interface wan - uci_validate_section ${NAME} ${NAME} common \ 'enabled:bool:0' \ 'gateway_id:string' \ 'gateway_interface:string:br-lan' \ - 'external_interface:string:external_interface' \ 'auth_server_hostname:string' \ 'auth_server_port:port:443' \ 'auth_server_path:string:/wifidog/' \ 'check_interval:integer:60' \ 'client_timeout:integer:5' \ - 'js_filter:bool:1' \ 'wired_passed:bool:1' \ 'apple_cna:bool:0' \ + 'channel_path:string' \ + 'trusted_domains:string' \ + 'trusted_macs:string' \ 'js_filter:bool:1' # if gateway_id is not set, get it from br-lan if [ -z "$gateway_id" ]; then gateway_id=$(sed -e 's/://g' /sys/class/net/${gateway_interface}/address) + # convert to upper case + gateway_id=$(echo $gateway_id | tr '[a-z]' '[A-Z]') # uci add gateway_id to config file uci set ${NAME}.common.gateway_id=$gateway_id uci commit ${NAME} fi + # if channel_path is not set, set it to apfree + if [ -z "$channel_path" ]; then + channel_path=apfree + uci set ${NAME}.common.channel_path=$channel_path + uci commit ${NAME} + fi + # set above variables to config file echo "GatewayID $gateway_id" > ${CONFIGFILE} echo "GatewayInterface $gateway_interface" >> ${CONFIGFILE} - echo "ExternalInterface $external_interface" >> ${CONFIGFILE} echo "AuthServer { Hostname $auth_server_hostname HTTPPort $auth_server_port @@ -57,33 +58,31 @@ prepare_wifidog_conf() { echo "JsFilter $js_filter" >> ${CONFIGFILE} echo "WiredPassed $wired_passed" >> ${CONFIGFILE} echo "BypassAppleCNA $apple_cna" >> ${CONFIGFILE} -} - -init_config() { - - prepare_wifidog_conf - - if [ ! -f ${CONFIGFILE} ]; then - echo "no wifidogx.conf, exit..." >&2 - exit + # if has trusted_domains, add it to config file + if [ ! -z "$trusted_domains" ]; then + echo "TrustedDomains $trusted_domains" >> ${CONFIGFILE} + fi + # if has trusted_macs, add it to config file + if [ ! -z "$trusted_macs" ]; then + echo "TrustedMACList $trusted_macs" >> ${CONFIGFILE} fi } start_service() { config_load $NAME - init_config + prepare_wifidog_conf [ "$enabled" -eq 0 ] && { echo "wifidogx is disabled, exit..." >&2 - exit 0 + return } procd_open_instance # -f: run in foreground procd_set_param command $PROG -c $CONFIGFILE -f -d 0 procd_set_param respawn # respawn automatically if something died - procd_set_param file $CONFIGFILE + procd_set_param file /etc/config/wifidogx procd_close_instance } @@ -94,4 +93,8 @@ status_service() { reload_service() { stop start -} \ No newline at end of file +} + +service_triggers() { + procd_add_reload_trigger "${NAME}" +} diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index d290ef7b5f..3d9ff61fb2 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=https-dns-proxy -PKG_VERSION:=2023-10-25 -PKG_RELEASE:=5 +PKG_VERSION:=2023-11-19 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/ PKG_SOURCE_DATE:=$(PKG_VERSION) -PKG_SOURCE_VERSION:=977341a4e35a37ee454e97e82caf4276b1b4961a -PKG_MIRROR_HASH:=8622846f1038ac05436a48d9b36a07c516cbb6504ce68e7ee8c5529788fac39b +PKG_SOURCE_VERSION:=489c57efd46983e688579974a2ab7aeaa7df8d83 +PKG_MIRROR_HASH:=6c8e0e158dfbfde29b1c22f1a1c90a7deae540111c26daac13c8fbb5a49081a5 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=MIT @@ -24,7 +24,7 @@ define Package/https-dns-proxy CATEGORY:=Network TITLE:=DNS Over HTTPS Proxy URL:=https://docs.openwrt.melmac.net/https-dns-proxy/ - DEPENDS:=+libcares +libcurl +libev +ca-bundle +jsonfilter + DEPENDS:=+libcares +libcurl +libev +ca-bundle +jsonfilter +resolveip DEPENDS+=+!BUSYBOX_DEFAULT_GREP:grep DEPENDS+=+!BUSYBOX_DEFAULT_SED:sed CONFLICTS:=https_dns_proxy diff --git a/net/https-dns-proxy/files/etc/init.d/https-dns-proxy b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy index 0a11111c57..9a2cd4b427 100755 --- a/net/https-dns-proxy/files/etc/init.d/https-dns-proxy +++ b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy @@ -135,7 +135,7 @@ boot() { ubus -t 30 wait_for network.interface 2>/dev/null on_boot_trigger=1 rc_procd start_service 'on_boot' && service_started 'on_boot' - is_resolver_working || { rc_procd stop_service 'on_boot' && service_stopped 'on_boot'; } + is_resolver_working || { rc_procd stop_service 'on_failed_health_check' && service_stopped 'on_failed_health_check'; } } start_instance() { diff --git a/net/https-dns-proxy/patches/020-src-options.c-add-version.patch b/net/https-dns-proxy/patches/020-src-options.c-add-version.patch index 993a9b8d32..219fd8101c 100644 --- a/net/https-dns-proxy/patches/020-src-options.c-add-version.patch +++ b/net/https-dns-proxy/patches/020-src-options.c-add-version.patch @@ -5,7 +5,7 @@ return SW_VERSION; #else - return "2023.10.10-atLeast"; // update date sometimes, like 1-2 times a year -+ return "2023-10-25-5"; // update date sometimes, like 1-2 times a year ++ return "2023-11-19-1"; // update date sometimes, like 1-2 times a year #endif } diff --git a/net/knot/Makefile b/net/knot/Makefile index ecca6341b5..388bbb33b2 100644 --- a/net/knot/Makefile +++ b/net/knot/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=knot -PKG_VERSION:=3.3.4 +PKG_VERSION:=3.3.5 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/ -PKG_HASH:=2a771b43ce96b6b48d53b29f2086528732e6ac067bc71a3be934f859d1302fc0 +PKG_HASH:=0e0bf04319581280660e8e62ab04be64a7d632331e40fc9c87e76861305db3ad PKG_MAINTAINER:=Daniel Salzman PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8 diff --git a/net/natmap/Makefile b/net/natmap/Makefile index d4eb44f85f..fa8121937b 100644 --- a/net/natmap/Makefile +++ b/net/natmap/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=natmap -PKG_VERSION:=20240126 +PKG_VERSION:=20240303 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/heiher/natmap/releases/download/$(PKG_VERSION) -PKG_HASH:=7d8b3fe5c29dfe30271197b8ea1f78af292830483aefb1ccc21a3ec05f74627b +PKG_HASH:=d7b7a1ba2fc8dbd471ed88757fa6fc7c7e2d83f9f44c8f62661e9809d386d163 PKG_MAINTAINER:=Richard Yu , Ray Wang PKG_LICENSE:=MIT diff --git a/net/ntpclient/Makefile b/net/ntpclient/Makefile deleted file mode 100644 index ffe9e88412..0000000000 --- a/net/ntpclient/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# -# Copyright (C) 2006-2014 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=ntpclient -PKG_VERSION:=2015_365 -PKG_RELEASE:=4 - -PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://doolittle.icarus.com/ntpclient -PKG_HASH:=95c3646919a9a2278fa384aa8e37117b250577ff8b09b8c93ba53e04e729b54b - -PKG_MAINTAINER:=Ted Hess - -PKG_LICENSE:=GPL-2.0 - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-2015 - -include $(INCLUDE_DIR)/package.mk - -define Package/ntpclient - SUBMENU:=Time Synchronization - SECTION:=net - CATEGORY:=Network - TITLE:=NTP (Network Time Protocol) client - URL:=http://doolittle.icarus.com/ntpclient/ - DEPENDS:=+librt -endef - -define Package/ntpclient/description - NTP client for setting system time from NTP servers. -endef - -define Package/ntpclient/conffiles -/etc/config/ntpclient -endef - -MAKE_FLAGS += \ - all adjtimex - -define Package/ntpclient/install - $(INSTALL_DIR) $(1)/etc/hotplug.d/iface - $(INSTALL_DATA) ./files/ntpclient.hotplug $(1)/etc/hotplug.d/iface/20-ntpclient - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_CONF) ./files/ntpclient.config $(1)/etc/config/ntpclient - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpclient $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/adjtimex $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/rate.awk $(1)/usr/sbin/ -endef - -$(eval $(call BuildPackage,ntpclient)) diff --git a/net/ntpclient/files/ntpclient.config b/net/ntpclient/files/ntpclient.config deleted file mode 100644 index 10be886263..0000000000 --- a/net/ntpclient/files/ntpclient.config +++ /dev/null @@ -1,23 +0,0 @@ -config ntpserver - option hostname '0.openwrt.pool.ntp.org' - option port '123' - -config ntpserver - option hostname '1.openwrt.pool.ntp.org' - option port '123' - -config ntpserver - option hostname '2.openwrt.pool.ntp.org' - option port '123' - -config ntpserver - option hostname '3.openwrt.pool.ntp.org' - option port '123' - -config ntpdrift - option freq '0' - -config ntpclient - option interval 600 - #option count 10 - #option interface wan diff --git a/net/ntpclient/files/ntpclient.hotplug b/net/ntpclient/files/ntpclient.hotplug deleted file mode 100644 index 3a622b2b38..0000000000 --- a/net/ntpclient/files/ntpclient.hotplug +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# Copyright (C) 2006-2014 OpenWrt.org - -. /lib/functions.sh - -unset SERVER -unset PORT -unset INTERVAL -unset COUNT -unset INTERFACE_GLOBAL - -NTPC=$(command -v ntpclient) - -check_server() { - local hostname - local port - local interface - [ -n "$SERVER" ] && return - config_get hostname $1 hostname - config_get port $1 port - config_get interface $1 interface - - [ -z "$interface" ] && interface=$INTERFACE_GLOBAL - - [ -n "$interface" ] && { - # $INTERFACE is passed from hotplug event - [ "$interface" = "$INTERFACE" ] || return - } - - [ -z "$hostname" ] && return - $NTPC -c 1 -p ${port:-123} -i 2 -h $hostname > /dev/null && { SERVER=$hostname; PORT=${port:-123}; } -} - -set_drift() { - config_get freq $1 freq - [ -n "$freq" ] && adjtimex -f $freq >/dev/null -} - -start_ntpclient() { - config_foreach set_drift ntpdrift - config_foreach check_server ntpserver - [ -z "$SERVER" ] && exit 0 - logger starting ntpclient - $NTPC ${COUNT:+-c $COUNT} ${INTERVAL:+-i $INTERVAL} -s -l -D -p $PORT -h $SERVER 2> /dev/null -} - -stop_ntpclient() { - logger stopping ntpclient - killall ntpclient -} - -load_settings() { - local interval - local count - local interface - - config_get interval $1 interval - config_get count $1 count - config_get interface $1 interface - - [ -n "$count" ] && COUNT=$count - [ -n "$interval" ] && INTERVAL=$interval - [ -n "$interface" ] && INTERFACE_GLOBAL=$interface -} - -config_load ntpclient -config_foreach load_settings ntpclient - -NTP_RUNNING=$(busybox ps | grep $NTPC | grep -v grep) - -case "${ACTION:-ifup}" in - ifup) - [ -z "$NTP_RUNNING" ] && start_ntpclient - ;; - ifdown) - [ -n "$NTP_RUNNING" ] && stop_ntpclient - ;; -esac diff --git a/net/ntpclient/patches/100-daemon.patch b/net/ntpclient/patches/100-daemon.patch deleted file mode 100644 index 15135f0f2e..0000000000 --- a/net/ntpclient/patches/100-daemon.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ntpclient.c -+++ b/ntpclient.c -@@ -608,7 +608,7 @@ int main(int argc, char *argv[]) { - ntpc.cross_check=1; - - for (;;) { -- c = getopt( argc, argv, "c:" DEBUG_OPTION "f:g:h:i:lp:q:" REPLAY_OPTION "st"); -+ c = getopt( argc, argv, "c:" DEBUG_OPTION "f:g:h:i:lp:q:" REPLAY_OPTION "stD"); - if (c == EOF) break; - switch (c) { - case 'c': -@@ -657,6 +657,10 @@ int main(int argc, char *argv[]) { - ntpc.cross_check = 0; - break; - -+ case 'D': -+ daemon(0, 0); -+ break; -+ - default: - usage(argv[0]); - exit(1); diff --git a/net/ntpclient/patches/200-time.patch b/net/ntpclient/patches/200-time.patch deleted file mode 100644 index 38138e179c..0000000000 --- a/net/ntpclient/patches/200-time.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- a/adjtimex.c -+++ b/adjtimex.c -@@ -36,6 +36,7 @@ - * gcc -Wall -O adjtimex_1.c -o adjtimex - */ - -+#include - #include - #include - #include -@@ -143,12 +144,12 @@ int main(int argc, char ** argv) - " precision: %ld\n" - " tolerance: %ld\n" - "-t tick: %ld\n" -- " time.tv_sec: %ld\n" -- " time.tv_usec: %ld\n" -+ " time.tv_sec: %" PRId64 "\n" -+ " time.tv_usec: %" PRId64 "\n" - " return value: %d (%s)\n", - txc.constant, - txc.precision, txc.tolerance, txc.tick, -- txc.time.tv_sec, txc.time.tv_usec, ret, -+ (int64_t)txc.time.tv_sec, (int64_t)txc.time.tv_usec, ret, - (ret >= 0 && ret <= 5) ? ret_code_descript[ret] : "error" ); - } - return (ret<0); ---- a/ntpclient.c -+++ b/ntpclient.c -@@ -29,6 +29,7 @@ - * labelled "XXX fixme - non-automatic build configuration". - */ - -+#include - #include - #include - #include -@@ -181,7 +182,7 @@ static void set_time(struct ntptime *new - exit(1); - } - if (debug) { -- printf("set time to %lu.%.9lu\n", tv_set.tv_sec, tv_set.tv_nsec); -+ printf("set time to %" PRId64 ".%.9" PRId64 "\n", (int64_t)tv_set.tv_sec, (int64_t)tv_set.tv_nsec); - } - #else - /* Traditional Linux way to set the system clock -@@ -196,7 +197,7 @@ static void set_time(struct ntptime *new - exit(1); - } - if (debug) { -- printf("set time to %lu.%.6lu\n", tv_set.tv_sec, tv_set.tv_usec); -+ printf("set time to %" PRId64 ".%.6" PRId64 "\n", (int64_t)tv_set.tv_sec, (int64_t)tv_set.tv_usec); - } - #endif - } diff --git a/net/ntpclient/patches/300-siocgarp.patch b/net/ntpclient/patches/300-siocgarp.patch deleted file mode 100644 index e03c9b93e3..0000000000 --- a/net/ntpclient/patches/300-siocgarp.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/ntpclient.c -+++ b/ntpclient.c -@@ -43,6 +43,9 @@ - #include - #ifdef PRECISION_SIOCGSTAMP - #include -+#ifdef __GLIBC__ -+#include -+#endif - #endif - #ifdef USE_OBSOLETE_GETTIMEOFDAY - #include diff --git a/net/p910nd/Makefile b/net/p910nd/Makefile index a4949b8929..062a90bd19 100644 --- a/net/p910nd/Makefile +++ b/net/p910nd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=p910nd PKG_VERSION:=0.97 -PKG_RELEASE:=11 +PKG_RELEASE:=12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@SF/p910nd diff --git a/net/p910nd/files/p910nd.hotplug b/net/p910nd/files/p910nd.hotplug index 1c37a9f4c5..3440a86ed8 100644 --- a/net/p910nd/files/p910nd.hotplug +++ b/net/p910nd/files/p910nd.hotplug @@ -335,10 +335,9 @@ send_driver() { logger -t "$DAEMON_HOTPLUG" -p "$DAEMON_ERR" "Sending driver to $CHAR_DEV [ $THIS_USB_VIDPID ] failed for some reason." else logger -t "$DAEMON_HOTPLUG" -p "$DAEMON_INFO" "Sent $DRIVER_FILE to $CHAR_DEV [ $THIS_USB_VIDPID ]." - daemon_restart fi else - logger -t "$DAEMON_HOTPLUG" -p "$DAEMON_ERR" "Missing driver file: $DRIVER_FILE for $CHAR_DEV [ $THIS_USB_VIDPID ] (please upload it)." + logger -t "$DAEMON_HOTPLUG" -p "$DAEMON_INFO" "No driver file: $DRIVER_FILE for $CHAR_DEV [ $THIS_USB_VIDPID ] (upload it if your printer needs a driver loading)." fi } @@ -376,6 +375,8 @@ case "$ACTION" in fi fi + daemon_restart + ;; remove) # device is gone