Bug#635479: openresolv: Feature request: DHCPv6 support in DHCP hook script
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
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
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)
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
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