]> git.pld-linux.org Git - packages/pump.git/commitdiff
8bc6cc32a6c2224a8b87e7785eee5fca pump-0.8.11.tar.gz
authormarcus <marcus@pld-linux.org>
Wed, 27 Feb 2002 07:49:46 +0000 (07:49 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
c01590caadcc2b91142b0d2fa33a2f9e  pump-Makefile.patch
6ba7cf00d997b542efd97afaa940f206  pump-nobootp.patch
5335c88cea48a1a9898840e78cbe7f66  pump-retry-forever.patch
07881bc7c7764cd8f83d0d37326363c7  pump-rhbug-17724.patch
aeba82da33d77bb962402241752f887c  pump-rhbug-21088.patch

Source and patches stolen from RedHat src.rpm package

Changed files:
    pump-nobootp.patch -> 1.1
    pump-retry-forever.patch -> 1.1
    pump-rhbug-17724.patch -> 1.1
    pump-rhbug-21088.patch -> 1.1

pump-nobootp.patch [new file with mode: 0644]
pump-retry-forever.patch [new file with mode: 0644]
pump-rhbug-17724.patch [new file with mode: 0644]
pump-rhbug-21088.patch [new file with mode: 0644]

diff --git a/pump-nobootp.patch b/pump-nobootp.patch
new file mode 100644 (file)
index 0000000..8623f8b
--- /dev/null
@@ -0,0 +1,69 @@
+--- pump-0.8.11/pump.c.nobootp Thu Mar  1 02:15:22 2001
++++ pump-0.8.11/pump.c Thu Jul 19 18:29:55 2001
+@@ -758,7 +758,7 @@
+     int killDaemon = 0;
+     int winId = 0;
+     int release = 0, renew = 0, status = 0, lookupHostname = 0, nodns = 0;
+-    int nogateway = 0;
++    int nogateway = 0, nobootp = 0;
+     struct command cmd, response;
+     char * configFile = "/etc/pump.conf";
+     struct pumpOverrideInfo * overrides;
+@@ -788,6 +788,8 @@
+                       N_("Don't update resolv.conf"), NULL },
+           { "no-gateway", '\0', POPT_ARG_NONE, &nogateway, 0,
+                       N_("Don't set a gateway for this interface"), NULL },
++          { "no-bootp", '\0', POPT_ARG_NONE, &nobootp, 0,
++                      N_("Ignore non-DHCP BOOTP responses"), NULL },
+           { "win-client-ident", '\0', POPT_ARG_NONE, &winId, 0,
+                       N_("Set the client identifier to match Window's") },
+           /*{ "test", 't', POPT_ARG_NONE, &test, 0,
+@@ -831,6 +833,8 @@
+       flags |= PUMP_FLAG_FORCEHNLOOKUP;
+     if (nodns)
+       overrides->flags |= OVERRIDE_FLAG_NODNS;
++    if (nobootp)
++      overrides->flags |= OVERRIDE_FLAG_NOBOOTP;
+     if (nogateway)
+       overrides->flags |= OVERRIDE_FLAG_NOGATEWAY;
+--- pump-0.8.11/dhcp.c.nobootp Tue Feb 27 12:03:02 2001
++++ pump-0.8.11/dhcp.c Thu Jul 19 18:29:55 2001
+@@ -1321,8 +1321,11 @@
+     syslog (LOG_DEBUG, "PUMP: sending discover\n");
++    if (override && (override->flags & OVERRIDE_FLAG_NOBOOTP))
++      syslog (LOG_DEBUG, "PUMP: Ignoring non-DHCP BOOTP responses\n");
++ 
+     if ((chptr = handleTransaction(s, override, &breq, &bresp, &broadcastAddr,
+-                                 NULL, 1, startTime, DHCP_TYPE_OFFER))) {
++                                 NULL, (override && (override->flags & OVERRIDE_FLAG_NOBOOTP))?0:1, startTime, DHCP_TYPE_OFFER))) {
+       close(s);
+       pumpDisableInterface(intf->device);
+       return chptr;
+--- pump-0.8.11/pump.h.nobootp Thu Feb  1 17:58:16 2001
++++ pump-0.8.11/pump.h Thu Jul 19 18:29:55 2001
+@@ -74,6 +74,7 @@
+ #define OVERRIDE_FLAG_NODNS           (1 << 0)
+ #define OVERRIDE_FLAG_NONISDOMAIN     (1 << 1)
+ #define OVERRIDE_FLAG_NOGATEWAY               (1 << 2)
++#define OVERRIDE_FLAG_NOBOOTP           (1 << 3)
+ struct pumpOverrideInfo {
+     struct pumpNetIntf intf;
+--- pump-0.8.11/config.c.nobootp       Thu Jul 19 18:30:02 2001
++++ pump-0.8.11/config.c       Thu Jul 19 18:30:20 2001
+@@ -182,6 +182,12 @@
+               return 1;
+           }
+           override->flags |= OVERRIDE_FLAG_NODNS;
++      } else if (!strcmp(start, "nobootp")) {
++          if (*rest) {
++              parseError(*lineNum, "unexpected argument to nobootp directive");
++              return 1;
++          }
++          override->flags |= OVERRIDE_FLAG_NOBOOTP;
+       } else if (!strcmp(start, "nogateway")) {
+           if (*rest) {
+               parseError(*lineNum, "unexpected argument to nogateway directive");
diff --git a/pump-retry-forever.patch b/pump-retry-forever.patch
new file mode 100644 (file)
index 0000000..902694d
--- /dev/null
@@ -0,0 +1,111 @@
+--- pump-0.8.11/pump.c.retryforever    Fri Jul 20 10:42:10 2001
++++ pump-0.8.11/pump.c Fri Jul 20 11:03:01 2001
+@@ -386,7 +386,36 @@
+       closest = -1;
+       if (numInterfaces) {
+           for (i = 0; i < numInterfaces; i++)
+-              if ((intf[i].set & PUMP_INTFINFO_HAS_LEASE) && 
++              /* if this interface has an expired lease due to
++               * renewal failures and it's time to try again to
++               * get a new lease, then try again
++               *
++               * note: this trys every 30 secs FOREVER; this may
++               * or may not be desirable.  could also have a back-off
++               * hueristic that increases the retry delay after each
++               * failed attempt and a maximum number of tries or
++               * maximum period of time to try for.
++               */
++              if ((intf[i].set & PUMP_INTFINFO_NEEDS_NEWLEASE) &&
++                 (intf[i].renewAt < pumpUptime())) {
++                  if (pumpDhcpRun(intf[i].device, 0, 
++                        intf[i].reqLease,
++                        intf[i].set & PUMP_NETINFO_HAS_HOSTNAME
++                          ? intf[i].hostname : NULL,
++                        intf + i, overrides)) {
++
++                          /* failed to get a new lease, so try
++                           * again in 30 seconds
++                             */
++                          intf[i].renewAt = pumpUptime() + 30;
++
++                  } else {
++                      intf[i].set &= ~PUMP_INTFINFO_NEEDS_NEWLEASE;
++                      callScript(overrides->script, PUMP_SCRIPT_NEWLEASE,
++                                 &intf[i]);
++                    }
++              }
++              else if ((intf[i].set & PUMP_INTFINFO_HAS_LEASE) && 
+                       (closest == -1 || 
+                              (intf[closest].renewAt > intf[i].renewAt)))
+                   closest = i;
+@@ -398,7 +427,12 @@
+                               "failed to renew lease for device %s",
+                               intf[closest].device);
+-                      if ((intf[closest].renewAt += pumpUptime() + 30) >
++                      /* if the renewal failed, then set renewAt to
++                       * try again in 30 seconds AND then if renewAt's
++                       * value is after the lease expiration then
++                       * try to get a fresh lease for the interface
++                       */
++                      if ((intf[closest].renewAt = pumpUptime() + 30) >
+                           intf[closest].leaseExpiration) {
+                           o = overrides;
+                           while (*o->intf.device &&
+@@ -408,6 +442,8 @@
+                           if (!*o->intf.device) o = overrides;
+                           intf[closest].set &= ~PUMP_INTFINFO_HAS_LEASE;
++                          intf[closest].set |= PUMP_INTFINFO_NEEDS_NEWLEASE;
++
+                           if (pumpDhcpRun(intf[closest].device, 
+                                 intf[closest].flags, 
+@@ -415,6 +451,16 @@
+                                 intf[closest].set & PUMP_NETINFO_HAS_HOSTNAME
+                                   ? intf[closest].hostname : NULL,
+                                 intf + closest, o)) {
++ 
++                                  /* failed to get a new lease, so try
++                                   * again in 30 seconds
++                                      */
++                                  intf[closest].renewAt = pumpUptime() + 30;
++#if 0
++      /* ifdef this out since we now try more than once to get
++       * a new lease and don't, therefore, want to remove the interface
++       */
++ 
+                               if (numInterfaces == 1) {
+                                   callScript(o->script, PUMP_SCRIPT_DOWN,
+                                              &intf[closest]);
+@@ -426,7 +472,10 @@
+                               intf[i] = intf[numInterfaces - 1];
+                               numInterfaces--;
++#endif
+                           } else {
++                              intf[closest].set &=
++                                      ~PUMP_INTFINFO_NEEDS_NEWLEASE;
+                               callScript(o->script, PUMP_SCRIPT_NEWLEASE,
+                                          &intf[closest]);
+                             }
+--- pump-0.8.11/pump.h.retryforever    Fri Jul 20 10:42:10 2001
++++ pump-0.8.11/pump.h Fri Jul 20 10:42:10 2001
+@@ -23,6 +23,7 @@
+ #define PUMP_INTFINFO_HAS_LEASE               (1 << 7)
+ #define PUMP_INTFINFO_HAS_REQLEASE    (1 << 8)
+ #define PUMP_INTFINFO_HAS_NEXTSERVER  (1 << 9)
++#define PUMP_INTFINFO_NEEDS_NEWLEASE  (1 << 10)
+ #define PUMP_NETINFO_HAS_LOGSRVS      (1 << 15)
+ #define PUMP_NETINFO_HAS_LPRSRVS      (1 << 16)
+--- pump-0.8.11/dhcp.c.sopwith Mon Jul 23 19:18:29 2001
++++ pump-0.8.11/dhcp.c Mon Jul 23 19:18:49 2001
+@@ -47,6 +47,7 @@
+ #include <sys/wait.h>
+ #include <syslog.h>
+ #include <unistd.h>
++#include <time.h>
+ #include "pump.h"
diff --git a/pump-rhbug-17724.patch b/pump-rhbug-17724.patch
new file mode 100644 (file)
index 0000000..1d20332
--- /dev/null
@@ -0,0 +1,45 @@
+--- pump-0.8.11/pump.c.sopwith Sun Aug 26 18:19:18 2001
++++ pump-0.8.11/pump.c Sun Aug 26 18:21:42 2001
+@@ -67,7 +67,7 @@
+       struct {
+           char device[20];
+           int flags;
+-          int reqLease;                       /* in hours */
++          int reqLease;                       /* in seconds */
+           char reqHostname[200];
+       } start;
+       int result;                             /* 0 for success */
+@@ -803,7 +803,8 @@
+     int rc;
+     int test = 0;
+     int flags = 0;
+-    int lease = 12;
++    int lease_hrs = 0;
++    int lease = 12*3600;
+     int killDaemon = 0;
+     int winId = 0;
+     int release = 0, renew = 0, status = 0, lookupHostname = 0, nodns = 0;
+@@ -823,8 +824,10 @@
+                       N_("iface") },
+           { "kill", 'k', POPT_ARG_NONE, &killDaemon, 0,
+                       N_("Kill daemon (and disable all interfaces)"), NULL },
+-          { "lease", 'l', POPT_ARG_INT, &lease, 0,
++          { "lease", 'l', POPT_ARG_INT, &lease_hrs, 0,
+                       N_("Lease time to request (in hours)"), N_("hours") },
++          { "leasesecs", 'L', POPT_ARG_INT, &lease, 0,
++                      N_("Lease time to request (in seconds)"), N_("seconds") },
+           { "lookup-hostname", '\0', POPT_ARG_NONE, &lookupHostname, 0,
+                       N_("Force lookup of hostname") },
+           { "release", 'r', POPT_ARG_NONE, &release, 0,
+@@ -906,7 +909,10 @@
+       cmd.type = CMD_STARTIFACE;
+       strcpy(cmd.u.start.device, device);
+       cmd.u.start.flags = flags;
+-      cmd.u.start.reqLease = lease * 60 * 60;
++      if(lease_hrs)
++              cmd.u.start.reqLease = lease_hrs * 60 * 60;
++      else
++              cmd.u.start.reqLease = lease;
+       strcpy(cmd.u.start.reqHostname, hostname);
+     }
diff --git a/pump-rhbug-21088.patch b/pump-rhbug-21088.patch
new file mode 100644 (file)
index 0000000..b800ac1
--- /dev/null
@@ -0,0 +1,20 @@
+--- pump-0.8.11/net.c.21088    Fri Jul 20 12:26:57 2001
++++ pump-0.8.11/net.c  Fri Jul 20 12:29:59 2001
+@@ -738,6 +738,7 @@
+ int main(int argc, const char **argv) {
+     int netSet, rc;
+     int x;
++    int noDns = 0;
+     char * bootProto = NULL;
+     char * device = NULL;
+     char * hostname = NULL;
+@@ -768,6 +769,9 @@
+           },
+           { "device", 'd', POPT_ARG_STRING, &device, 0,
+             _("Network device"), NULL 
++          },
++          { "nodns", '\0', POPT_ARG_NONE, &noDns, 0,
++            _("No DNS lookups"), NULL 
+           },
+           { 0, 0, 0, 0, 0 }
+     };
This page took 0.04002 seconds and 4 git commands to generate.