|
@@ -29,101 +29,101 @@
|
29
|
29
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
30
|
30
|
|
31
|
31
|
function create_avahi_service {
|
32
|
|
- service_name=$1
|
33
|
|
- service_type=$2
|
34
|
|
- service_protocol=$3
|
35
|
|
- service_port=$4
|
36
|
|
- service_description="$5"
|
|
32
|
+ service_name=$1
|
|
33
|
+ service_type=$2
|
|
34
|
+ service_protocol=$3
|
|
35
|
+ service_port=$4
|
|
36
|
+ service_description="$5"
|
37
|
37
|
|
38
|
|
- if [ ! -d /etc/avahi ]; then
|
39
|
|
- echo $'create_avahi_service: avahi was not installed'
|
40
|
|
- exit 52925
|
41
|
|
- fi
|
|
38
|
+ if [ ! -d /etc/avahi ]; then
|
|
39
|
+ echo $'create_avahi_service: avahi was not installed'
|
|
40
|
+ exit 52925
|
|
41
|
+ fi
|
42
|
42
|
|
43
|
|
- echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/${service_name}.service
|
44
|
|
- echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/${service_name}.service
|
45
|
|
- echo '<service-group>' >> /etc/avahi/services/${service_name}.service
|
46
|
|
- echo " <name replace-wildcards=\"yes\">%h ${service_type}</name>" >> /etc/avahi/services/${service_name}.service
|
47
|
|
- echo ' <service>' >> /etc/avahi/services/${service_name}.service
|
48
|
|
- echo " <type>_${service_type}._${service_protocol}</type>" >> /etc/avahi/services/${service_name}.service
|
49
|
|
- echo " <port>${service_port}</port>" >> /etc/avahi/services/${service_name}.service
|
50
|
|
- if [ "$service_description" ]; then
|
51
|
|
- echo " <txt-record>$service_description</txt-record>" >> /tmp/zeronet-blog.service
|
52
|
|
- fi
|
53
|
|
- echo ' </service>' >> /etc/avahi/services/${service_name}.service
|
54
|
|
- echo '</service-group>' >> /etc/avahi/services/${service_name}.service
|
|
43
|
+ echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/${service_name}.service
|
|
44
|
+ echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/${service_name}.service
|
|
45
|
+ echo '<service-group>' >> /etc/avahi/services/${service_name}.service
|
|
46
|
+ echo " <name replace-wildcards=\"yes\">%h ${service_type}</name>" >> /etc/avahi/services/${service_name}.service
|
|
47
|
+ echo ' <service>' >> /etc/avahi/services/${service_name}.service
|
|
48
|
+ echo " <type>_${service_type}._${service_protocol}</type>" >> /etc/avahi/services/${service_name}.service
|
|
49
|
+ echo " <port>${service_port}</port>" >> /etc/avahi/services/${service_name}.service
|
|
50
|
+ if [ "$service_description" ]; then
|
|
51
|
+ echo " <txt-record>$service_description</txt-record>" >> /etc/avahi/services/${service_name}.service
|
|
52
|
+ fi
|
|
53
|
+ echo ' </service>' >> /etc/avahi/services/${service_name}.service
|
|
54
|
+ echo '</service-group>' >> /etc/avahi/services/${service_name}.service
|
55
|
55
|
}
|
56
|
56
|
|
57
|
57
|
function mesh_avahi {
|
58
|
|
- chroot "$rootdir" apt-get -y install avahi-utils avahi-autoipd avahi-dnsconfd
|
|
58
|
+ chroot "$rootdir" apt-get -y install avahi-utils avahi-autoipd avahi-dnsconfd
|
59
|
59
|
|
60
|
|
- decarray=( 1 2 3 4 5 6 7 8 9 0 )
|
61
|
|
- PEER_ID=${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}
|
62
|
|
- sed -i "s|#host-name=.*|host-name=P$PEER_ID|g" $rootdir/etc/avahi/avahi-daemon.conf
|
|
60
|
+ decarray=( 1 2 3 4 5 6 7 8 9 0 )
|
|
61
|
+ PEER_ID=${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}
|
|
62
|
+ sed -i "s|#host-name=.*|host-name=P$PEER_ID|g" $rootdir/etc/avahi/avahi-daemon.conf
|
63
|
63
|
|
64
|
|
- if [ ! -d $rootdir/etc/avahi/services ]; then
|
65
|
|
- mkdir -p $rootdir/etc/avahi/services
|
66
|
|
- fi
|
|
64
|
+ if [ ! -d $rootdir/etc/avahi/services ]; then
|
|
65
|
+ mkdir -p $rootdir/etc/avahi/services
|
|
66
|
+ fi
|
67
|
67
|
|
68
|
|
- # remove an avahi service which isn't used
|
69
|
|
- if [ -f $rootdir/etc/avahi/services/udisks.service ]; then
|
70
|
|
- rm $rootdir/etc/avahi/services/udisks.service
|
71
|
|
- fi
|
|
68
|
+ # remove an avahi service which isn't used
|
|
69
|
+ if [ -f $rootdir/etc/avahi/services/udisks.service ]; then
|
|
70
|
+ rm $rootdir/etc/avahi/services/udisks.service
|
|
71
|
+ fi
|
72
|
72
|
|
73
|
|
- # Add an ssh service
|
74
|
|
- echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > $rootdir/etc/avahi/services/ssh.service
|
75
|
|
- echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> $rootdir/etc/avahi/services/ssh.service
|
76
|
|
- echo '<service-group>' >> $rootdir/etc/avahi/services/ssh.service
|
77
|
|
- echo ' <name replace-wildcards="yes">%h SSH</name>' >> $rootdir/etc/avahi/services/ssh.service
|
78
|
|
- echo ' <service>' >> $rootdir/etc/avahi/services/ssh.service
|
79
|
|
- echo ' <type>_ssh._tcp</type>' >> $rootdir/etc/avahi/services/ssh.service
|
80
|
|
- echo " <port>$SSH_PORT</port>" >> $rootdir/etc/avahi/services/ssh.service
|
81
|
|
- echo ' </service>' >> $rootdir/etc/avahi/services/ssh.service
|
82
|
|
- echo '</service-group>' >> $rootdir/etc/avahi/services/ssh.service
|
|
73
|
+ # Add an ssh service
|
|
74
|
+ echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > $rootdir/etc/avahi/services/ssh.service
|
|
75
|
+ echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> $rootdir/etc/avahi/services/ssh.service
|
|
76
|
+ echo '<service-group>' >> $rootdir/etc/avahi/services/ssh.service
|
|
77
|
+ echo ' <name replace-wildcards="yes">%h SSH</name>' >> $rootdir/etc/avahi/services/ssh.service
|
|
78
|
+ echo ' <service>' >> $rootdir/etc/avahi/services/ssh.service
|
|
79
|
+ echo ' <type>_ssh._tcp</type>' >> $rootdir/etc/avahi/services/ssh.service
|
|
80
|
+ echo " <port>$SSH_PORT</port>" >> $rootdir/etc/avahi/services/ssh.service
|
|
81
|
+ echo ' </service>' >> $rootdir/etc/avahi/services/ssh.service
|
|
82
|
+ echo '</service-group>' >> $rootdir/etc/avahi/services/ssh.service
|
83
|
83
|
|
84
|
|
- # keep the daemon running
|
85
|
|
- WATCHDOG_SCRIPT_NAME="keepon"
|
86
|
|
- echo '' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
87
|
|
- echo '# keep avahi daemon running' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
88
|
|
- echo 'AVAHI_RUNNING=$(pgrep avahi-daemon > /dev/null && echo Running)' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
89
|
|
- echo 'if [ ! $AVAHI_RUNNING ]; then' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
90
|
|
- echo ' systemctl start avahi-daemon' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
91
|
|
- echo ' echo -n $CURRENT_DATE >> $LOGFILE' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
92
|
|
- echo ' echo " Avahi daemon restarted" >> $LOGFILE' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
93
|
|
- echo 'fi' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
94
|
|
- chmod +x $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
84
|
+ # keep the daemon running
|
|
85
|
+ WATCHDOG_SCRIPT_NAME="keepon"
|
|
86
|
+ echo '' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
87
|
+ echo '# keep avahi daemon running' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
88
|
+ echo 'AVAHI_RUNNING=$(pgrep avahi-daemon > /dev/null && echo Running)' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
89
|
+ echo 'if [ ! $AVAHI_RUNNING ]; then' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
90
|
+ echo ' systemctl start avahi-daemon' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
91
|
+ echo ' echo -n $CURRENT_DATE >> $LOGFILE' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
92
|
+ echo ' echo " Avahi daemon restarted" >> $LOGFILE' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
93
|
+ echo 'fi' >> $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
94
|
+ chmod +x $rootdir/usr/bin/$WATCHDOG_SCRIPT_NAME
|
95
|
95
|
}
|
96
|
96
|
|
97
|
97
|
function install_avahi {
|
98
|
|
- if [ $INSTALLING_MESH ]; then
|
99
|
|
- mesh_avahi
|
100
|
|
- return
|
101
|
|
- fi
|
102
|
|
- if grep -Fxq "install_avahi" $COMPLETION_FILE; then
|
103
|
|
- return
|
104
|
|
- fi
|
105
|
|
- # only enable avahi if we're doing mesh networking
|
106
|
|
- if [[ $ENABLE_BABEL != "yes" && $ENABLE_BATMAN != "yes" && $ENABLE_CJDNS != "yes" ]]; then
|
107
|
|
- return
|
108
|
|
- fi
|
|
98
|
+ if [ $INSTALLING_MESH ]; then
|
|
99
|
+ mesh_avahi
|
|
100
|
+ return
|
|
101
|
+ fi
|
|
102
|
+ if grep -Fxq "install_avahi" $COMPLETION_FILE; then
|
|
103
|
+ return
|
|
104
|
+ fi
|
|
105
|
+ # only enable avahi if we're doing mesh networking
|
|
106
|
+ if [[ $ENABLE_BABEL != "yes" && $ENABLE_BATMAN != "yes" && $ENABLE_CJDNS != "yes" ]]; then
|
|
107
|
+ return
|
|
108
|
+ fi
|
109
|
109
|
|
110
|
|
- ${PROJECT_NAME}-mesh-install -f avahi
|
111
|
|
- if [ ! "$?" = "0" ]; then
|
112
|
|
- echo $'Failed to install avahi'
|
113
|
|
- exit 68442
|
114
|
|
- fi
|
|
110
|
+ ${PROJECT_NAME}-mesh-install -f avahi
|
|
111
|
+ if [ ! "$?" = "0" ]; then
|
|
112
|
+ echo $'Failed to install avahi'
|
|
113
|
+ exit 68442
|
|
114
|
+ fi
|
115
|
115
|
|
116
|
|
- if [ $DEFAULT_DOMAIN_NAME ]; then
|
117
|
|
- sed -i "s|#host-name=.*|host-name=$DEFAULT_DOMAIN_NAME|g" /etc/avahi/avahi-daemon.conf
|
118
|
|
- sed -i "s|host-name=.*|host-name=$DEFAULT_DOMAIN_NAME|g" /etc/avahi/avahi-daemon.conf
|
119
|
|
- else
|
120
|
|
- decarray=( 1 2 3 4 5 6 7 8 9 0 )
|
121
|
|
- PEER_ID=${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}
|
122
|
|
- sed -i "s|#host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
|
123
|
|
- sed -i "s|host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
|
124
|
|
- fi
|
|
116
|
+ if [ $DEFAULT_DOMAIN_NAME ]; then
|
|
117
|
+ sed -i "s|#host-name=.*|host-name=$DEFAULT_DOMAIN_NAME|g" /etc/avahi/avahi-daemon.conf
|
|
118
|
+ sed -i "s|host-name=.*|host-name=$DEFAULT_DOMAIN_NAME|g" /etc/avahi/avahi-daemon.conf
|
|
119
|
+ else
|
|
120
|
+ decarray=( 1 2 3 4 5 6 7 8 9 0 )
|
|
121
|
+ PEER_ID=${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}
|
|
122
|
+ sed -i "s|#host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
|
|
123
|
+ sed -i "s|host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
|
|
124
|
+ fi
|
125
|
125
|
|
126
|
|
- echo 'install_avahi' >> $COMPLETION_FILE
|
|
126
|
+ echo 'install_avahi' >> $COMPLETION_FILE
|
127
|
127
|
}
|
128
|
128
|
|
129
|
129
|
# NOTE: deliberately there is no "exit 0"
|