ac6ed089d3
This version is a major upgrade release and everyone running older version is strongly recommended to upgrade to this version. This version introduces several bugfixes, security fixes and bunch of new features. This also completes the development work for the SILC protocol version 1.2. Changes: - removed patch-ac, merged into distribution - create server keys with strict permissions 0.9.14: ======= - Several bugfixes and security fixes were made. A major remote exploit was also fixed. - The SILC Server now ignores SIGXFSZ and SIGXCPU signals which will terminate the process if they occur. They can occur in poorly configured environment. - Fixed SERVER_SIGNOFF notify handling which caused ghosts to remain in the network. - Fixed inviting and banning by public key. Fixed invite and ban string handling. Implemented SILC 1.2 complying invite and ban data distribution between routers and servers. To also comply with SILC 1.2, prohibited using '@' and '!' characters in invite and ban strings. - Support for channel public keys added. A new feature in SILC 1.2, that allows join authentication using digital signatures. Use the latest SILC Client to take advantage of this feature. - Support for SILC 1.2 backup protocol. This version introduces rewritten version of the backup router protocol. The purpose of the backup router protocol is to prevent servers from splitting from the rest of the SILC network if the primary router becomes unresponsive. There are no changes to the configuration of the backup router support, and old configurations will work with this version too. This version is now able to detect much better different network failure situations and understand how to work with them. The servers are now able to actually detect when the backup router can/must be used. They are also able, in case of error in backup router protocol, to resume back to either to the backup router or to the primary router, and always recover from desyncs automatically (usually within 60 seconds). - Support for command reply error arguments was added. This allows clients to better handle error conditions within command execution. - The founder public key distribution now complies with the SILC 1.2.
82 lines
1.3 KiB
Text
82 lines
1.3 KiB
Text
# $NetBSD: silcd.generic,v 1.3 2003/10/16 12:37:44 salo Exp $
|
|
#
|
|
|
|
KILL="/bin/kill"
|
|
CAT="/bin/cat"
|
|
RM="/bin/rm"
|
|
|
|
name="silcd"
|
|
confdir="@PKG_SYSCONFDIR@"
|
|
required_files="$confdir/silcd.conf"
|
|
required_dirs="/var/log/silcd"
|
|
pidfile="/var/run/${name}.pid"
|
|
command="@PREFIX@/sbin/silcd"
|
|
start_precmd="silcd_precmd"
|
|
|
|
silcd_precmd() {
|
|
if [ ! -f $confdir/silcd.prv ]; then
|
|
umask 7177 && $command -C $confdir
|
|
fi
|
|
}
|
|
|
|
silcd_start() {
|
|
if [ ! -r $required_files ]; then
|
|
echo "$0: WARNING: $required_files is not readable."
|
|
exit 1
|
|
fi
|
|
if [ ! -d $required_dirs ]; then
|
|
echo "$0: WARNING: $required_dirs is not a directory."
|
|
exit 1
|
|
fi
|
|
|
|
eval $start_precmd
|
|
return_code=$?
|
|
if [ $return_code != "0" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
echo "Starting ${name}."
|
|
eval $command
|
|
return_code=$?
|
|
if [ $return_code != "0" ]; then
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
|
|
silcd_stop() {
|
|
if [ -r $pidfile -a ! -z $pidfile ]; then
|
|
_pid=`${CAT} ${pidfile}`
|
|
else
|
|
echo "${name} not running?"
|
|
fi
|
|
if [ ${_pid:=0} -gt 1 -a ! "X$_pid" = "X " ]; then
|
|
echo "Stopping ${name}."
|
|
${KILL} ${_pid}
|
|
return_code=$?
|
|
if [ $return_code != "0" ]; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
${RM} -f $pidfile
|
|
}
|
|
|
|
case $1 in
|
|
|
|
'start')
|
|
silcd_start
|
|
;;
|
|
|
|
'stop')
|
|
silcd_stop
|
|
;;
|
|
|
|
'restart')
|
|
silcd_stop
|
|
silcd_start
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 (start|stop|restart)"
|
|
;;
|
|
esac
|