File nsupdate-gss-ad-sites2.patch of Package nsupdate-gss

--- nsupdate-gss.orig	2006-01-23 06:35:10.000000000 +0100
+++ nsupdate-gss	2007-08-01 17:30:35.000000000 +0200
@@ -5,6 +5,9 @@
 # jmruiz@animatika.net
 # updated, 2004-Enero
 
+# dag@wieers.com
+# updated, 2007-EMC
+
 
 # See draft-ietf-dnsext-gss-tsig-02, RFC2845 and RFC2930
 
@@ -20,21 +23,22 @@
 
 # Integrity of the arguments
 
-if ($#ARGV != 3) {
+if ($#ARGV < 3) {
     print "
-Usage: nsupdate-gss.pl HOST DOMAIN IP TTL
+Usage: nsupdate-gss.pl HOST DOMAIN IP TTL [NS]
 ";
     exit 1;
 }
 
 
 
-
-my $host = $ARGV[0];
-my $domain = $ARGV[1];
-my $ip = $ARGV[2];
+### FIXME: Fill in all information automatically
+my $host = $ARGV[0]; # hostname -s
+my $domain = $ARGV[1]; # domainname
+my $ip = $ARGV[2]; # ifconfig
 my $ttl = $ARGV[3];
 my $alg = "gss.microsoft.com";
+my $ns = $ARGV[4] if ($#ARGV >= 4);
 
 
 
@@ -229,7 +233,11 @@
 # find the nameservers
 my $nameserver = find_nameservers("$domain.");
 
-print "Found nameserver $nameserver\n";
+$nameserver->nameservers($ns) if (defined($ns));
+#print $nameserver->print;
+
+#print "Found nameserver $nameserver\n";
+print "Found ".$nameserver->nameservers." nameserver(s)\n";
 
 if (!defined($nameserver) || $nameserver->{'errorstring'} ne 'NOERROR') {
     print "Failed to find a nameserver for domain $domain\n";
@@ -238,12 +246,16 @@
 
 # find the name of the DNS server
 my $server_name = find_server_name($domain);
+$server_name = $ns if (defined($ns));
+
 if (!defined($server_name)) {
     print "Failed to find a DNS server name for $domain\n";
     exit 1;
 }
 print "Using DNS server name $server_name\n";
 
+$nameserver->nameservers($server_name);
+
 # use a long random key name
 my $key_name = int(rand 10000000000000);
 
openSUSE Build Service is sponsored by