-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jonas Smedegaard wrote:
| I don't like putting too much effort into solving this bug, then.
|
| Keeping the code relatively sane to avoid bugs hitting users of stable
| Debian releases is much more important than handling bugs hitting only
| those (possibly many) choosing to live on the edge and running testing
| releases. Especially when the workaround is simply to try installing
again.
I guess it affects users of stable Debian releases if -8 gets into
next stable release.
| I may have lost you (my mind is at several places simultanously - quite
| annoying actually, but not your fault), but the bug in -6.1 causes
| _wrong_ info in the cache file. Can't see how you will sanely handle
| that situation (without special code for that single release).
|
| As I understand it, it should always be safe to do update-inetd (or if
| not, we can't trust our own knowledge of the world, and then we should
| fail rather than go silent about it!).
It's not about "do update-inetd or not", it's about "do update-inetd with
invalid arguments".
By the previous diff, I try to skip running update-inetd after the
while-loop
restore my inetd.conf and $UPDATE_INETD_ARG_EXTRA is null.
It's a *wrong* try, since if I enable more protocols in debconf, they won't
be handled.
And, no, it does not handle the wrong cache file. It's just a try to
deal with
the invalid arguments of update-inetd. Feel free to drop it.
| I appreciate your efforts, but please if you want to help improve the
| code then have a close look at my work-in-progress on -9 (the file
| "___PKG__.postinst.in" - also see if you can spot errors in my changed
| code!): http://debian.jones.dk/auryn/pool/official/uw-imap/debian-test/
With my limited knowledge about maintainer scripts:
For people upgrades ipopd from versions less than or equal to -6 (applies to
stable users),
1. line23: true.
2. I have a pop3s line in /etc/inetd.conf. line 25 will be true, line 26
through 29
~ executed, restore my pop3s settings in inet.conf, and then goto line 39.
3. line 46 invoke update-inetd with $UPDATE_INETD_ARG='--enable' and
~ $UPDATE_INETD_ARG_EXTRA='', that is
~ update-inetd --enable "pop3s /usr/sbin/ipop3d"
~ And update-inetd fails with
~ "The service name may not include a whitespace character!"
- --
Best Regards,
Wen-chien Jesse Sung
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCSmQilZ/JOHsLIwgRArbtAJ0f9+/YZxZ0i0anAGfZd0s0ZkKd2QCg7b/5
4n0VEnLocfnb4BzmSPwdF/k=
=GR3A
-----END PGP SIGNATURE-----
#!/bin/sh
set -e
group="__INETDGRP__" # inetd group
pkgname="__PKG__" # basename of package
certname="__CERTNAME__" # basename of certificate
description="__DESC__" # descriptive text
daemonsets="__DAEMONSETS__" # space-seperated list of colon-seperated list
of port and binary name (or path if not /usr/sbin)
# Source debconf library.
. /usr/share/debconf/confmodule
db_version 2.0
if [ "$1" = "configure" ]; then
if [ -z "$2" ]; then
UPDATE_INETD_ARG="--group \"$inetgroup\" --add"
UPDATE_INETD_ARG_EXTRA=" stream tcp nowait root
/usr/sbin/tcpd"
else
UPDATE_INETD_ARG='--enable'
# Bug#295306
if dpkg --compare-versions "$2" le 7:2002edebian1-6; then
MY_FILE=/var/cache/${pkgname}_inetd.conf_copy
if [ -r "$MY_FILE" ]; then
while read line; do
update-inetd --group "$inetgroup" --add
"$line"
done < "$MY_FILE"
rm -f "$MY_FILE"
else
# The file has disappeared, or we're installing
from
# 'config files' state. Install default entries.
UPDATE_INETD_ARG="--group \"$inetgroup\" --add"
UPDATE_INETD_ARG_EXTRA=" stream tcp
nowait root /usr/sbin/tcpd"
fi
fi
fi
db_get "$pkgname/protocol"
for debconf_entry in `echo "$RET" | tr ',' ' '`; do
seen=""
for daemonset in $daemonsets; do
service="`echo "$daemonset" | awk -F: '{ print $1 }'`"
binary="`echo "$daemonset" | awk -F: '{ print $2 }' |
sed 's,^\([^/]\),/usr/sbin/\1,'`"
if [ "$debconf_entry" = "$service" ]; then
update-inetd $UPDATE_INETD_ARG
"${service}${UPDATE_INETD_ARG_EXTRA} $binary"
seen="yes"
break
fi
done
if [ "$seen" != "yes" ]; then
echo "WARNING: Unsupported debconf value
\"$daemon_entry\" in \"$pkgname/protocol\"" >/dev/stderr
fi
done
fi
cd /etc/ssl/certs
PATH=$PATH:/usr/bin/ssl
if [ -f "$certname.pem" ]; then
echo "You already have /etc/ssl/certs/$certname.pem"
else
echo "Creating generic self-signed certificate:
/etc/ssl/certs/$certname.pem"
echo "(replace with hand-crafted or authorized one if needed)."
HOSTNAME=`hostname -s`
FQDN=`hostname -f`
MAILNAME=`cat /etc/mailname 2> /dev/null || hostname -f`
openssl req -new -x509 -days 365 -nodes -out "$certname.pem" -keyout
"$certname.pem" > /dev/null 2>&1 <<+
.
.
.
$description
$HOSTNAME
$FQDN
[EMAIL PROTECTED]
+
ln -sf "$certname.pem" `openssl x509 -noout -hash < "$certname.pem"`.0
chown root.root "/etc/ssl/certs/$certname.pem"
chmod 0640 "/etc/ssl/certs/$certname.pem"
fi
#DEBHELPER#
exit 0