Bug#635479: openresolv: Feature request: DHCPv6 support in DHCP hook script

2011-07-27 Thread Geoffrey Sisson
Roy Marples r...@marples.name wrote:

 On Tue, 2011-07-26 at 00:12 -0700, Geoffrey Sisson wrote:
  This patch adds basic DHCPv6 support for openresolv.  It's unlikely
  that this is a comlete patch.  For example, some applications might
  resonably expect resolvconf -d eth0 to remove both the IPv4 and
  IPv6 interface information.  However, it does provide basic DHCPv6
  functionality.

 The patch looks good, but my understanding is that ISC dhclient can only
 operate for IPv4 OR IPv6 and not both at the same time.

Hi Roy,

That's correct.

 As such, why
 make a distinction in protocol when dealing with resolvconf?

DHCPv4 can't be used to transport IPv6 config info, and DHCPv6 can't be
used to transport IPv4 config info, so for a dual-stack DHCP client you
have to run two instances of ISC dhclient -- one DHCPv4 session and
one DHCPv6 session.  (More of course if you have more than one interface
under DHCP control.)  If you want both IPv4 and IPv6 addresses for
resolvers in resolv.conf at the same time, openresolv has to distinguish
between by protocol as well as by interface; otherwise you end up with
the same race between protocols that you had among interfaces.

I'm not sure whether appending _ipv6 to interface names is the most
elegant fix, but I wanted to provide a simple proof-of-concept.  It may
be cleaner to make the interfaces into directories, e.g.:

/var/run/resolvconf/interface/eth0/ipv4
/var/run/resolvconf/interface/eth0/ipv6
/var/run/resolvconf/interface/eth1/ipv4
/var/run/resolvconf/interface/eth1/ipv6
. . .

Geoff




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#635479: openresolv: Feature request: DHCPv6 support in DHCP hook script

2011-07-26 Thread Geoffrey Sisson
Package: openresolv
Version: 3.4.0-1
Severity: wishlist
Tags: patch ipv6


This patch adds basic DHCPv6 support for openresolv.  It's unlikely
that this is a comlete patch.  For example, some applications might
resonably expect resolvconf -d eth0 to remove both the IPv4 and
IPv6 interface information.  However, it does provide basic DHCPv6
functionality.

Geoff


 Begin included text 
--- debian.orig/dhclient
+++ debian/dhclient
@@ -1,25 +1,47 @@
 # resolvconf support for dhclient3
 
 if [ -x /sbin/resolvconf ]; then
+   # Undefine default make_resolv_conf(), just in case.
make_resolv_conf() {
-   local conf=
-   if [ -n $new_domain_name ]; then
-   conf=${conf}domain ${new_domain_name}\n
-   fi
-   if [ -n $new_domain_search ]; then
-   conf=${conf}search ${new_domain_search}\n
-   fi
-   for nameserver in $new_domain_name_servers; do
-   conf=${conf}nameserver $nameserver\n
-   done
-   [ -n $conf ]  conf=# resolv.conf for $interface\n${conf}
-   [ -z $interface -a -n $conf ] || printf $conf | \
-   /sbin/resolvconf -a $interface
+   true;
}
-
case $reason in
+   BOUND|RENEW|REBIND|REBOOT|TIMEOUT)
+   make_resolv_conf() {
+   local conf=
+   if [ -n $new_domain_name ]; then
+   conf=${conf}domain ${new_domain_name}\n
+   fi
+   if [ -n $new_domain_search ]; then
+   conf=${conf}search ${new_domain_search}\n
+   fi
+   for nameserver in $new_domain_name_servers; do
+   conf=${conf}nameserver $nameserver\n
+   done
+   [ -n $conf ]  conf=# resolv.conf for 
$interface\n${conf}
+   [ -z $interface -a -n $conf ] || printf $conf | \
+   /sbin/resolvconf -a $interface
+   }
+   ;;
+   BOUND6|RENEW6|REBIND6)
+   make_resolv_conf() {
+   local conf=
+   if [ -n $new_dhcp6_domain_search ]; then
+   conf=${conf}search 
${new_dhcp6_domain_search}\n
+   fi
+   for nameserver in $new_dhcp6_name_servers; do
+   conf=${conf}nameserver $nameserver\n
+   done
+   [ -n $conf ]  conf=# resolv.conf for 
$interface\n${conf}
+   [ -z $interface -a -n $conf ] || printf $conf | \
+   /sbin/resolvconf -a ${interface}_ipv6
+   }
+   ;;
EXPIRE|FAIL|RELEASE|STOP)
[ -z $interface ] || /sbin/resolvconf -f -d $interface
;;
+   EXPIRE6|RELEASE6|STOP6)
+   [ -z $interface ] || /sbin/resolvconf -f -d 
${interface}_ipv6
+   ;;
esac
 fi
- End included text -

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#635470: resolvconf: Feature request: DHCPv6 support

2011-07-25 Thread Geoffrey Sisson
Package: resolvconf
Version: 1.58
Severity: wishlist
Tags: ipv6 patch

This patch adds basic DHCPv6 support for resolvconf.  It's unlikely
that this is a comlete patch.  For example, some applications might
resonably expect resolvconf -d eth0 to remove both the IPv4 and
IPv6 interface information.  However, it does provide basic DHCPv6
functionality.

Geoff

 Begin included text 
--- resolvconf.orig/etc/dhcp/dhclient-enter-hooks.d/resolvconf
+++ resolvconf/etc/dhcp/dhclient-enter-hooks.d/resolvconf
@@ -15,6 +15,10 @@
# Delete resolv.conf info 
[ ! $interface ] || /sbin/resolvconf -d $interface
;;
+   EXPIRE6|RELEASE6|STOP6)
+   # Delete resolv.conf info 
+   [ ! $interface ] || /sbin/resolvconf -d 
${interface}_ip6
+   ;;
esac
# For safety, undefine the nasty default make_resolv_conf()
make_resolv_conf() {
@@ -44,5 +48,20 @@
[ ! $interface ] || echo -n $R | 
/sbin/resolvconf -a $interface
}
;;
+   BOUND6|RENEW6|REBIND6)
+   make_resolv_conf() {
+   R=
+   if [ $new_dhcp6_name_servers ]  [ 
$new_dhcp6_domain_search ] ; then
+   R=${R}search $new_dhcp6_domain_search
+
+   fi
+   for nameserver in $new_dhcp6_name_servers ; do
+   touch /tmp/$nameserver
+   R=${R}nameserver $nameserver
+
+   done
+   [ ! $interface ] || echo -n $R | 
/sbin/resolvconf -a ${interface}_ip6
+   }
+   ;;
esac
 fi
- End included text -

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.39-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages resolvconf depends on:
ii  coreutils 8.5-1  GNU core utilities
ii  debconf [debconf-2.0] 1.5.40 Debian configuration management sy
ii  lsb-base  3.2-27 Linux Standard Base 3.2 init scrip

resolvconf recommends no packages.

resolvconf suggests no packages.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#635470: Acknowledgement (resolvconf: Feature request: DHCPv6 support)

2011-07-25 Thread Geoffrey Sisson
The provided patch had a leftover debug statetment in it:

touch /tmp/$nameserver

Here's an updated version with the statement removed.

Geoff

 Begin included text 
--- resolvconf.orig/etc/dhcp/dhclient-enter-hooks.d/resolvconf
+++ resolvconf/etc/dhcp/dhclient-enter-hooks.d/resolvconf
@@ -15,6 +15,10 @@
# Delete resolv.conf info 
[ ! $interface ] || /sbin/resolvconf -d $interface
;;
+   EXPIRE6|RELEASE6|STOP6)
+   # Delete resolv.conf info 
+   [ ! $interface ] || /sbin/resolvconf -d 
${interface}_ip6
+   ;;
esac
# For safety, undefine the nasty default make_resolv_conf()
make_resolv_conf() {
@@ -44,5 +48,19 @@
[ ! $interface ] || echo -n $R | 
/sbin/resolvconf -a $interface
}
;;
+   BOUND6|RENEW6|REBIND6)
+   make_resolv_conf() {
+   R=
+   if [ $new_dhcp6_name_servers ]  [ 
$new_dhcp6_domain_search ] ; then
+   R=${R}search $new_dhcp6_domain_search
+
+   fi
+   for nameserver in $new_dhcp6_name_servers ; do
+   R=${R}nameserver $nameserver
+
+   done
+   [ ! $interface ] || echo -n $R | 
/sbin/resolvconf -a ${interface}_ip6
+   }
+   ;;
esac
 fi
- End included text -



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#522350: Pidgin Crashes Immediately on open

2009-04-05 Thread Geoffrey Sisson
I'm seeing the same problem.  I did a dist-upgrade of unstable on
April 3rd and now any attempt to start a jabber session causes pidgin
to SEGV in __xmlRaiseError in libxml2 (2.6.32.dfsg-5).  Specifically, at
line 612 of error.c in libxml2, schannel is called with what appears to
be a bad function pointer.  As a workaround, I set a breakpoint at
line 611, set schannel = 0 on each break, and pidgin goes on to
run normally.  Here's a backtrace of the SEGV (using libxml2-dbg,
libgtk2.0-0-dbg, libglib2.0-0-dbg, libssl0.9.8-dbg and pidgin-dbg).
I can't really go any further with this but hopefully this will be
of help.

$ gdb ../../pidgin/pidgin-2.5.5/build/pidgin/.libs/pidgin
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as i486-linux-gnu...
(gdb) run
Starting program: /var/home/src/pidgin/pidgin-2.5.5/build/pidgin/.libs/pidgin
[Thread debugging using libthread_db enabled]
[New Thread 0xb6f92970 (LWP 30956)]
warning: Lowest section in /usr/lib/libicudata.so.40 is .hash at 00b4

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6f92970 (LWP 30956)]
0xb4ece1e0 in ?? ()
(gdb) bt
#0  0xb4ece1e0 in ?? ()
#1  0xb73f4ef6 in __xmlRaiseError (schannel=0xb4ece1e0, channel=0,
data=0x836c1e4, ctx=0x8802650, nod=0x0, domain=1, code=5,
level=XML_ERR_FATAL, file=0x0, line=1, str1=0x0, str2=0x0, str3=0x0,
int1=0, col=296,
msg=0xb74e7068 Extra content at the end of the document\n) at error.c:612
#2  0xb73f951b in xmlFatalErr (ctxt=0x8802650, error=137806308,
info=0xb750a678 \002) at parser.c:464
#3  0xb740e8da in xmlParseChunk__internal_alias (ctxt=0x8802650, chunk=0x0,
size=0, terminate=1) at parser.c:11473
#4  0xb52f5571 in jabber_parser_free (js=0x87f7948)
at ../../../../libpurple/protocols/jabber/parser.c:210
#5  0xb52f55ad in jabber_parser_setup (js=0x87f7948)
at ../../../../libpurple/protocols/jabber/parser.c:205
#6  0xb52eee6e in jabber_stream_init (js=0x87f7948)
at ../../../../libpurple/protocols/jabber/jabber.c:81
#7  0xb52f024b in jabber_login_callback_ssl (data=0x87f73a0, gsc=0x81bcfe0,
cond=PURPLE_INPUT_READ)
at ../../../../libpurple/protocols/jabber/jabber.c:579
#8  0xb579c475 in ssl_nss_verified_cb (st=PURPLE_CERTIFICATE_VALID,
userdata=0x81bcfe0) at ../../../../libpurple/plugins/ssl/ssl-nss.c:251
#9  0xb76c21b9 in purple_certificate_verify_complete (vrq=0x88292a8,
st=PURPLE_CERTIFICATE_VALID) at ../../libpurple/certificate.c:105
#10 0xb76c2ab0 in x509_tls_cached_start_verify (vrq=0x88292a8)
at ../../libpurple/certificate.c:1273
#11 0xb76c332f in purple_certificate_verify (verifier=0xb775e5e0,
subject_name=0x8380ff0 jabber.org, cert_chain=0x83d2a30,
cb=0xb579c410 ssl_nss_verified_cb, cb_data=0x81bcfe0)
at ../../libpurple/certificate.c:80
#12 0xb579c6ee in ssl_nss_handshake_cb (data=0x81bcfe0, fd=20,
cond=PURPLE_INPUT_READ) at ../../../../libpurple/plugins/ssl/ssl-nss.c:357
#13 0x080a8943 in pidgin_io_invoke (source=0x87f82b0,
condition=value optimized out, data=0x8119330)
at ../../pidgin/gtkeventloop.c:78
#14 0xb77d434d in g_io_unix_dispatch (source=0x87faf80,
callback=0x80a8900 pidgin_io_invoke, user_data=0x8119330)
at 
/build/buildd-glib2.0_2.20.0-2-i386-rcJiVy/glib2.0-2.20.0/glib/giounix.c:162
#15 0xb779d718 in IA__g_main_context_dispatch (context=0x8137560)
at 
/build/buildd-glib2.0_2.20.0-2-i386-rcJiVy/glib2.0-2.20.0/glib/gmain.c:1814
#16 0xb77a0c7b in g_main_context_iterate (context=0x8137560, block=1,
dispatch=1, self=0x8110188)
at 
/build/buildd-glib2.0_2.20.0-2-i386-rcJiVy/glib2.0-2.20.0/glib/gmain.c:2448
#17 0xb77a114a in IA__g_main_loop_run (loop=0x87f3738)
at 
/build/buildd-glib2.0_2.20.0-2-i386-rcJiVy/glib2.0-2.20.0/glib/gmain.c:2656
#18 0xb7a823e9 in IA__gtk_main ()
at 
/build/buildd-gtk+2.0_2.14.7-5-i386-7mYrFV/gtk+2.0-2.14.7/gtk/gtkmain.c:1200
#19 0x080c29f6 in main (argc=0, argv=0x836f868) at ../../pidgin/gtkmain.c:881
(gdb)



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org