Index: nat-1.0/patch
===================================================================
--- /dev/null
+++ nat-1.0/patch
@@ -0,0 +1,25 @@
+diff -Naur nat-1.0.orig/client.c nat-1.0/client.c
+--- nat-1.0.orig/client.c	1997-02-17 04:18:04.000000000 +0100
++++ nat-1.0/client.c	2003-02-20 14:24:53.000000000 +0100
+@@ -3613,7 +3613,7 @@
+   username[0] = '\0';
+   while (!done) {
+     if (!userfd || !passfd)
+-       uppair();
++       done = !uppair();
+     else {
+        if (fgets(password, sizeof(password), passfd) == NULL) {
+           rewind(passfd);
+@@ -3636,8 +3636,11 @@
+     }
+ 
+     if ((! *username) && (! *password))
+-      uppair();				/* sleaze for NT */
++      done = !uppair();				/* sleaze for NT */
+ 
++    if (done)
++        break; /* Stop when uppair is done */
++    
+ #ifdef VERBOSE
+   natprintf("[*]--- Attempting to connect with Username: `%s' Password: `%s'\n",
+            username, password);
