mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
mdns: Rework mdns's conf handling such that it's generated by the regen-conf. Also drop avahi-daemon because not needed anymore.
This commit is contained in:
parent
a2a50d0e45
commit
fe2e014b56
10 changed files with 78 additions and 120 deletions
|
@ -3,7 +3,6 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
services_path="/etc/yunohost/services.yml"
|
services_path="/etc/yunohost/services.yml"
|
||||||
mdns_path="/etc/yunohost/mdns.yml"
|
|
||||||
|
|
||||||
do_init_regen() {
|
do_init_regen() {
|
||||||
if [[ $EUID -ne 0 ]]; then
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
@ -19,11 +18,9 @@ do_init_regen() {
|
||||||
[[ -f /etc/yunohost/current_host ]] \
|
[[ -f /etc/yunohost/current_host ]] \
|
||||||
|| echo "yunohost.org" > /etc/yunohost/current_host
|
|| echo "yunohost.org" > /etc/yunohost/current_host
|
||||||
|
|
||||||
# copy default services, mdns, and firewall
|
# copy default services and firewall
|
||||||
[[ -f $services_path ]] \
|
[[ -f $services_path ]] \
|
||||||
|| cp services.yml "$services_path"
|
|| cp services.yml "$services_path"
|
||||||
[[ -f $mdns_path ]] \
|
|
||||||
|| cp mdns.yml "$mdns_path"
|
|
||||||
[[ -f /etc/yunohost/firewall.yml ]] \
|
[[ -f /etc/yunohost/firewall.yml ]] \
|
||||||
|| cp firewall.yml /etc/yunohost/firewall.yml
|
|| cp firewall.yml /etc/yunohost/firewall.yml
|
||||||
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
do_pre_regen() {
|
|
||||||
pending_dir=$1
|
|
||||||
|
|
||||||
cd /usr/share/yunohost/templates/avahi-daemon
|
|
||||||
|
|
||||||
install -D -m 644 avahi-daemon.conf \
|
|
||||||
"${pending_dir}/etc/avahi/avahi-daemon.conf"
|
|
||||||
}
|
|
||||||
|
|
||||||
do_post_regen() {
|
|
||||||
regen_conf_files=$1
|
|
||||||
|
|
||||||
[[ -z "$regen_conf_files" ]] \
|
|
||||||
|| systemctl restart avahi-daemon
|
|
||||||
}
|
|
||||||
|
|
||||||
FORCE=${2:-0}
|
|
||||||
DRY_RUN=${3:-0}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
pre)
|
|
||||||
do_pre_regen $4
|
|
||||||
;;
|
|
||||||
post)
|
|
||||||
do_post_regen $4
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
75
data/hooks/conf_regen/37-mdns
Executable file
75
data/hooks/conf_regen/37-mdns
Executable file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
_generate_config() {
|
||||||
|
echo "domains:"
|
||||||
|
echo " - yunohost.local"
|
||||||
|
for domain in $YNH_DOMAINS
|
||||||
|
do
|
||||||
|
# Only keep .local domains (don't keep
|
||||||
|
[[ "$domain" =~ [^.]+\.[^.]+\.local$ ]] && echo "Subdomain $domain cannot be handled by Bonjour/Zeroconf/mDNS" >&2
|
||||||
|
[[ "$domain" =~ ^[^.]+\.local$ ]] || continue
|
||||||
|
echo " - $domain"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "interfaces:"
|
||||||
|
local_network_interfaces="$(ip --brief a | grep ' 10\.\| 192\.168\.' | awk '{print $1}')"
|
||||||
|
for interface in $local_network_interfaces
|
||||||
|
do
|
||||||
|
echo " - $interface"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
do_init_regen() {
|
||||||
|
do_pre_regen
|
||||||
|
do_post_regen /etc/systemd/system/yunomdns.service
|
||||||
|
systemctl enable yunomdns
|
||||||
|
}
|
||||||
|
|
||||||
|
do_pre_regen() {
|
||||||
|
pending_dir="$1"
|
||||||
|
|
||||||
|
cd /usr/share/yunohost/templates/dnsmasq
|
||||||
|
cp yunomdns.service ${pending_dir}/etc/systemd/system/
|
||||||
|
|
||||||
|
getent passwd mdns &>/dev/null || useradd --no-create-home --shell /usr/sbin/nologin --system --user-group mdns
|
||||||
|
|
||||||
|
_generate_config > ${pending_dir}/etc/yunohost/mdns.yml
|
||||||
|
}
|
||||||
|
|
||||||
|
do_post_regen() {
|
||||||
|
regen_conf_files="$1"
|
||||||
|
|
||||||
|
chown mdns:mdns ${pending_dir}/etc/yunohost/mdns.yml
|
||||||
|
|
||||||
|
# If we changed the systemd ynh-override conf
|
||||||
|
if echo "$regen_conf_files" | sed 's/,/\n/g' | grep -q "^/etc/systemd/system/yunomdns.service$"
|
||||||
|
then
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| systemctl restart yunomdns
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCE=${2:-0}
|
||||||
|
DRY_RUN=${3:-0}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
pre)
|
||||||
|
do_pre_regen $4
|
||||||
|
;;
|
||||||
|
post)
|
||||||
|
do_post_regen $4
|
||||||
|
;;
|
||||||
|
init)
|
||||||
|
do_init_regen
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
|
@ -1,68 +0,0 @@
|
||||||
# This file is part of avahi.
|
|
||||||
#
|
|
||||||
# avahi is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU Lesser General Public License as
|
|
||||||
# published by the Free Software Foundation; either version 2 of the
|
|
||||||
# License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# avahi 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 Lesser General Public
|
|
||||||
# License along with avahi; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
||||||
# USA.
|
|
||||||
|
|
||||||
# See avahi-daemon.conf(5) for more information on this configuration
|
|
||||||
# file!
|
|
||||||
|
|
||||||
[server]
|
|
||||||
host-name=yunohost
|
|
||||||
domain-name=local
|
|
||||||
#browse-domains=0pointer.de, zeroconf.org
|
|
||||||
use-ipv4=yes
|
|
||||||
use-ipv6=yes
|
|
||||||
#allow-interfaces=eth0
|
|
||||||
#deny-interfaces=eth1
|
|
||||||
#check-response-ttl=no
|
|
||||||
#use-iff-running=no
|
|
||||||
#enable-dbus=yes
|
|
||||||
#disallow-other-stacks=no
|
|
||||||
#allow-point-to-point=no
|
|
||||||
#cache-entries-max=4096
|
|
||||||
#clients-max=4096
|
|
||||||
#objects-per-client-max=1024
|
|
||||||
#entries-per-entry-group-max=32
|
|
||||||
ratelimit-interval-usec=1000000
|
|
||||||
ratelimit-burst=1000
|
|
||||||
|
|
||||||
[wide-area]
|
|
||||||
enable-wide-area=yes
|
|
||||||
|
|
||||||
[publish]
|
|
||||||
#disable-publishing=no
|
|
||||||
#disable-user-service-publishing=no
|
|
||||||
#add-service-cookie=no
|
|
||||||
#publish-addresses=yes
|
|
||||||
#publish-hinfo=yes
|
|
||||||
#publish-workstation=yes
|
|
||||||
#publish-domain=yes
|
|
||||||
#publish-dns-servers=192.168.50.1, 192.168.50.2
|
|
||||||
#publish-resolv-conf-dns-servers=yes
|
|
||||||
#publish-aaaa-on-ipv4=yes
|
|
||||||
#publish-a-on-ipv6=no
|
|
||||||
|
|
||||||
[reflector]
|
|
||||||
#enable-reflector=no
|
|
||||||
#reflect-ipv=no
|
|
||||||
|
|
||||||
[rlimits]
|
|
||||||
#rlimit-as=
|
|
||||||
rlimit-core=0
|
|
||||||
rlimit-data=4194304
|
|
||||||
rlimit-fsize=0
|
|
||||||
rlimit-nofile=768
|
|
||||||
rlimit-stack=4194304
|
|
||||||
rlimit-nproc=3
|
|
|
@ -1,4 +0,0 @@
|
||||||
enabled: True
|
|
||||||
regen: all
|
|
||||||
interfaces:
|
|
||||||
domains:
|
|
|
@ -1,4 +1,3 @@
|
||||||
avahi-daemon: {}
|
|
||||||
dnsmasq:
|
dnsmasq:
|
||||||
test_conf: dnsmasq --test
|
test_conf: dnsmasq --test
|
||||||
dovecot:
|
dovecot:
|
||||||
|
@ -71,3 +70,4 @@ rmilter: null
|
||||||
php5-fpm: null
|
php5-fpm: null
|
||||||
php7.0-fpm: null
|
php7.0-fpm: null
|
||||||
nslcd: null
|
nslcd: null
|
||||||
|
avahi-daemon: null
|
||||||
|
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -21,7 +21,7 @@ Depends: ${python3:Depends}, ${misc:Depends}
|
||||||
, openssh-server, iptables, fail2ban, dnsutils, bind9utils
|
, openssh-server, iptables, fail2ban, dnsutils, bind9utils
|
||||||
, openssl, ca-certificates, netcat-openbsd, iproute2
|
, openssl, ca-certificates, netcat-openbsd, iproute2
|
||||||
, slapd, ldap-utils, sudo-ldap, libnss-ldapd, unscd, libpam-ldapd
|
, slapd, ldap-utils, sudo-ldap, libnss-ldapd, unscd, libpam-ldapd
|
||||||
, dnsmasq, avahi-daemon, libnss-mdns, resolvconf, libnss-myhostname
|
, dnsmasq, libnss-mdns, resolvconf, libnss-myhostname
|
||||||
, postfix, postfix-ldap, postfix-policyd-spf-perl, postfix-pcre
|
, postfix, postfix-ldap, postfix-policyd-spf-perl, postfix-pcre
|
||||||
, dovecot-core, dovecot-ldap, dovecot-lmtpd, dovecot-managesieved, dovecot-antispam
|
, dovecot-core, dovecot-ldap, dovecot-lmtpd, dovecot-managesieved, dovecot-antispam
|
||||||
, rspamd, opendkim-tools, postsrsd, procmail, mailutils
|
, rspamd, opendkim-tools, postsrsd, procmail, mailutils
|
||||||
|
|
1
debian/install
vendored
1
debian/install
vendored
|
@ -5,7 +5,6 @@ doc/yunohost.8.gz /usr/share/man/man8/
|
||||||
data/actionsmap/* /usr/share/moulinette/actionsmap/
|
data/actionsmap/* /usr/share/moulinette/actionsmap/
|
||||||
data/hooks/* /usr/share/yunohost/hooks/
|
data/hooks/* /usr/share/yunohost/hooks/
|
||||||
data/other/yunoprompt.service /etc/systemd/system/
|
data/other/yunoprompt.service /etc/systemd/system/
|
||||||
data/other/yunomdns.service /etc/systemd/system/
|
|
||||||
data/other/password/* /usr/share/yunohost/other/password/
|
data/other/password/* /usr/share/yunohost/other/password/
|
||||||
data/other/dpkg-origins/yunohost /etc/dpkg/origins
|
data/other/dpkg-origins/yunohost /etc/dpkg/origins
|
||||||
data/other/dnsbl_list.yml /usr/share/yunohost/other/
|
data/other/dnsbl_list.yml /usr/share/yunohost/other/
|
||||||
|
|
4
debian/postinst
vendored
4
debian/postinst
vendored
|
@ -38,10 +38,6 @@ do_configure() {
|
||||||
|
|
||||||
# Yunoprompt
|
# Yunoprompt
|
||||||
systemctl enable yunoprompt.service
|
systemctl enable yunoprompt.service
|
||||||
|
|
||||||
# Yunomdns
|
|
||||||
chown avahi:avahi /etc/yunohost/mdns.yml
|
|
||||||
systemctl enable yunomdns.service
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# summary of how this script can be called:
|
# summary of how this script can be called:
|
||||||
|
|
Loading…
Add table
Reference in a new issue