chiark / gitweb /
tun: add hard routes even if they are currently down.
[secnet.git] / slip.c
diff --git a/slip.c b/slip.c
index 055caf5b6ab293d8fbed819bd5153f33a1f21c71..db89a274c2fe1769c055b496a208462e160a44a1 100644 (file)
--- a/slip.c
+++ b/slip.c
@@ -33,7 +33,7 @@ static void slip_stuff(struct slip *st, struct buffer_if *buf, int fd)
 {
     uint8_t txbuf[DEFAULT_BUFSIZE];
     uint8_t *i;
 {
     uint8_t txbuf[DEFAULT_BUFSIZE];
     uint8_t *i;
-    uint32_t j=0;
+    int32_t j=0;
 
     BUF_ASSERT_USED(buf);
 
 
     BUF_ASSERT_USED(buf);
 
@@ -132,8 +132,7 @@ struct userv {
 };
 
 static int userv_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
 };
 
 static int userv_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
-                           int *timeout_io, const struct timeval *tv_now,
-                           uint64_t *now)
+                           int *timeout_io)
 {
     struct userv *st=sst;
 
 {
     struct userv *st=sst;
 
@@ -149,8 +148,7 @@ static int userv_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
     return 0;
 }
 
     return 0;
 }
 
-static void userv_afterpoll(void *sst, struct pollfd *fds, int nfds,
-                           const struct timeval *tv_now, uint64_t *now)
+static void userv_afterpoll(void *sst, struct pollfd *fds, int nfds)
 {
     struct userv *st=sst;
     uint8_t rxbuf[DEFAULT_BUFSIZE];
 {
     struct userv *st=sst;
     uint8_t rxbuf[DEFAULT_BUFSIZE];
@@ -259,7 +257,7 @@ static void userv_invoke_userv(struct userv *st)
 
     allnets=ipset_new();
     for (r=st->slip.nl.clients; r; r=r->next) {
 
     allnets=ipset_new();
     for (r=st->slip.nl.clients; r; r=r->next) {
-       if (r->up) {
+       if (r->link_quality > LINK_QUALITY_UNUSED) {
            struct ipset *nan;
            r->kup=True;
            nan=ipset_union(allnets,r->networks);
            struct ipset *nan;
            r->kup=True;
            nan=ipset_union(allnets,r->networks);