tags 475188 + patch
kthxbye

The attached patch makes nm use the proper address family in the ADDRFAM
environment variable instead of using the string "NetworkManager" (which
is bizarre and wrong).  The dispatcher does not currently have support
for passing information about IPv6; this is bug #598662.  However, this
patch anticipates that it might at some point in the future and uses the
"IP6" prefix (which corresponds to the "IP4" prefix used for IPv4).  The
patch has been only lightly tested. 

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
--- 01ifupdown.old	2010-09-30 21:39:00.000000000 +0000
+++ 01ifupdown	2010-09-30 21:44:32.000000000 +0000
@@ -9,41 +9,52 @@
     exit 1;
 fi
 
+if [ -n "$IP4_NUM_ADDRESSES" ] && [ "$IP4_NUM_ADDRESSES" -gt 0 ]; then
+	ADDRESS_FAMILIES="$ADDRESS_FAMILIES inet"
+fi
+if [ -n "$IP6_NUM_ADDRESSES" ] && [ "$IP6_NUM_ADDRESSES" -gt 0 ]; then
+	ADDRESS_FAMILIES="$ADDRESS_FAMILIES inet6"
+fi
+
 # Fake ifupdown environment
 export IFACE="$1"
 export LOGICAL="$1"
-export ADDRFAM="NetworkManager"
 export METHOD="NetworkManager"
 export VERBOSITY="0"
 
-# Run the right scripts
-case "$2" in
-    up|vpn-up)
-	export MODE="start"
-	export PHASE="post-up"
-	exec run-parts /etc/network/if-up.d
-	;;
-    down|vpn-down)
-	export MODE="stop"
-	export PHASE="post-down"
-	exec run-parts /etc/network/if-post-down.d
-	;;
-# pre-up/pre-down not implemented. See
-# https://bugzilla.gnome.org/show_bug.cgi?id=387832
-#    pre-up)
-#	export MODE="start"
-#	export PHASE="pre-up"
-#	exec run-parts /etc/network/if-pre-up.d
-#	;;
-#    pre-down)
-#	export MODE="stop"
-#	export PHASE="pre-down"
-#	exec run-parts /etc/network/if-down.d
-#	;;
-    hostname)
-	;;
-    *)
-	echo "$0: called with unknown action \`$2'" 1>&2
-	exit 1
-	;;
-esac
+for i in $ADDRESS_FAMILIES
+do
+	export ADDRFAM="$i"
+	
+	# Run the right scripts
+	case "$2" in
+	    up|vpn-up)
+		export MODE="start"
+		export PHASE="post-up"
+		exec run-parts /etc/network/if-up.d
+		;;
+	    down|vpn-down)
+		export MODE="stop"
+		export PHASE="post-down"
+		exec run-parts /etc/network/if-post-down.d
+		;;
+	# pre-up/pre-down not implemented. See
+	# https://bugzilla.gnome.org/show_bug.cgi?id=387832
+	#    pre-up)
+	#	export MODE="start"
+	#	export PHASE="pre-up"
+	#	exec run-parts /etc/network/if-pre-up.d
+	#	;;
+	#    pre-down)
+	#	export MODE="stop"
+	#	export PHASE="pre-down"
+	#	exec run-parts /etc/network/if-down.d
+	#	;;
+	    hostname)
+		;;
+	    *)
+		echo "$0: called with unknown action \`$2'" 1>&2
+		exit 1
+		;;
+	esac
+done

Attachment: signature.asc
Description: Digital signature

Reply via email to