Comment 1 for bug 3429

Revision history for this message
In , Felix Kroeger-Naudiet (f-kroeger-naudiet) wrote : Re: Bug#285007: ddclient: A patch adding use=web support to webconf (and a minor bug correction)

Hello Itay,

> Lack of "use=web" support is very annoying to us who need it. This
> patch should add preliminary support for that (to be improved on...)
>
> Also corrects a minor bug in the config script where it tries to guess
> some default answers ([ -z ... ] should have been [ -n ... ])

Thanks for the patch.
>
>
> -- System Information:
> Debian Release: 3.1
> APT prefers unstable
> APT policy: (990, 'unstable')
> Architecture: i386 (i686)
> Kernel: Linux 2.6.9-3
> Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
>
> Versions of packages ddclient depends on:
> ii debconf 1.4.41 Debian configuration management sy
> ii perl [perl5] 5.8.4-4 Larry Wall's Practical Extraction
>
> -- debconf information excluded

> diff -u -Nru ddclient-3.6.2/debian/config ddclient-3.6.2.new/debian/config
> --- ddclient-3.6.2/debian/config 2004-12-09 20:05:36.000000000 -0600
> +++ ddclient-3.6.2.new/debian/config 2004-12-09 20:00:09.000000000 -0600
> @@ -102,16 +102,24 @@
> db_input critical ddclient/names || true
> db_input critical ddclient/username || true
> db_input critical ddclient/password || true
> - db_input critical ddclient/interface || true
> + db_input critical ddclient/method || true
> db_go
>
> + db_get ddclient/method
> + if [ "$RET" = interface ]; then
> + db_input critical ddclient/interface || true
> + db_go
> +
> + db_get ddclient/interface
> + interface="$RET"
> + else
> + interface=""
> + fi
> +
> # set the default mode ddclient should run in (ip-up | daemon),
> # depending on the entered interface (XpppX or other)
> - db_get ddclient/interface
> - interface=$RET
> -
> # if it is actually a ppp or related interface
> - if [ -z "${interface##*ppp*}" ]; then
> + if [ -n "${interface##*ppp*}" ]; then
> db_fget ddclient/run_ipup seen
> if [ $RET = "false" ]; then
> db_set ddclient/run_ipup true
> diff -u -Nru ddclient-3.6.2/debian/postinst ddclient-3.6.2.new/debian/postinst
> --- ddclient-3.6.2/debian/postinst 2004-12-09 20:05:36.000000000 -0600
> +++ ddclient-3.6.2.new/debian/postinst 2004-12-09 20:02:33.000000000 -0600
> @@ -44,8 +44,17 @@
> db_get ddclient/names && names="$RET"
> db_get ddclient/username && username="$RET"
> db_get ddclient/password && password="$RET"
> + db_get ddclient/method && method="$RET"
> db_get ddclient/interface && interface="$RET"
>
> + case "$method" in
> + interface)
> + use="if, if=$interface"
> + ;;
> + web)
> + use="web, web=checkip.dyndns.org/, fw-skip='IP Address'"
> + ;;
> + esac
>
> # create configuration file /etc/ddclient.conf
> config=`mktemp /etc/ddclient.conf.XXXXXX`
> @@ -57,7 +66,7 @@
>
> pid=/var/run/ddclient.pid
> protocol=$protocol
> -use=if, if=$interface
> +use=$use
> server=$server
> login=$username
> password=$password
> diff -u -Nru ddclient-3.6.2/debian/templates ddclient-3.6.2.new/debian/templates
> --- ddclient-3.6.2/debian/templates 2004-12-09 20:05:36.000000000 -0600
> +++ ddclient-3.6.2.new/debian/templates 2004-12-09 19:56:09.000000000 -0600
> @@ -61,6 +61,14 @@
> Geben Sie das zu Ihrem DynDNS Benutzernamen zugehörige Passwort ein.
> Die Tastatureingabe wird nicht auf dem Bildschirm dargestellt.
>
> +Template: ddclient/method
> +Type: select
> +Choices: interface, web
> +Default: interface
> +Description: IP detection method
> + You can detect your current IP address by watching an interface,
> + or using web-based detection.
> +
> Template: ddclient/interface
> Type: string
> Description: Interface used for dynamic DNS service

--
 .''`. Felix Kröger Lennéstraße 26,
 : :' : \|/ 53113 Bonn, Germany
 `. `' (o o) +49-228 / 62 02 667
   `- Debian GNU/Linux -----oOO-(_)-OOo------------------------------fk-