http://gimel.esc.cam.ac.uk/james/rpld/src/rpld-1.5.tar.gz
authorMichael Brown <mcb30@dolphin.home>
Mon, 10 Mar 2008 23:55:38 +0000 (23:55 +0000)
committerMichael Brown <mcb30@dolphin.home>
Mon, 10 Mar 2008 23:55:38 +0000 (23:55 +0000)
Makefile
client.c
config.c
llc.c
project.h
protocol.c
rpl.h
rpld.c
rpld_conf.tab.c
rpld_conf.y

index 8b995de..588bd86 100644 (file)
--- a/Makefile
+++ b/Makefile
 #  */
 
 #
-# $Id: Makefile,v 1.17 2000/07/17 11:59:46 root Exp root $
+# $Id: Makefile,v 1.18 2000/07/23 19:07:49 root Exp $
 #
 # $Log: Makefile,v $
+# Revision 1.18  2000/07/23 19:07:49  root
+# #
+#
 # Revision 1.17  2000/07/17 11:59:46  root
 # #
 #
@@ -106,7 +109,7 @@ INSTALL=install
 
 ################# NO USER SERVICABLE PARTS BELOW HERE
 
-VERSION=1.4
+VERSION=1.5
 
 COFLAGS = -l
 
index adf1df4..ebf7ef8 100644 (file)
--- a/client.c
+++ b/client.c
  */
 
 
-static char rcsid[] = "$Id: client.c,v 1.17 2000/07/17 10:49:20 root Exp $";
+static char rcsid[] =
+  "$Id: client.c,v 1.20 2000/07/29 23:25:25 root Exp root $";
 
 /*
  * $Log: client.c,v $
+ * Revision 1.20  2000/07/29 23:25:25  root
+ * #
+ *
+ * Revision 1.19  2000/07/23 19:14:19  root
+ * #
+ *
+ * Revision 1.18  2000/07/23 19:07:49  root
+ * #
+ *
  * Revision 1.17  2000/07/17 10:49:20  root
  * #
  *
@@ -218,6 +228,10 @@ client_get_block (struct client *c, struct rpl_packet *p)
 
   f = c->file;
 
+  p->datalen = 0;               /* Some buggy clients request
+                                   * blocks after the end when
+                                   * they get confused */
+
   if ((!f) || (NOTINRANGE (f->sblock, c->blocknum, f->eblock)))
     {
       if ((f) && (f->f))
index 7210d7f..28b7eab 100644 (file)
--- a/config.c
+++ b/config.c
  */
 
 
-static char rcsid[] = "$Id: config.c,v 1.10 2000/07/17 10:49:20 root Exp $";
+static char rcsid[] =
+  "$Id: config.c,v 1.13 2000/07/29 23:25:25 root Exp root $";
 
 /*
  * $Log: config.c,v $
+ * Revision 1.13  2000/07/29 23:25:25  root
+ * #
+ *
+ * Revision 1.12  2000/07/23 19:14:19  root
+ * #
+ *
+ * Revision 1.11  2000/07/23 19:07:49  root
+ * #
+ *
  * Revision 1.10  2000/07/17 10:49:20  root
  * #
  *
diff --git a/llc.c b/llc.c
index e591169..89d61cd 100644 (file)
--- a/llc.c
+++ b/llc.c
@@ -16,7 +16,7 @@
  */
 
 
-static char rcsid[] = "$Id: llc.c,v 1.10 2000/07/17 11:59:45 root Exp root $";
+static char rcsid[] = "$Id: llc.c,v 1.10 2000/07/17 11:59:45 root Exp $";
 
 /*
  * $Log: llc.c,v $
index 0317ad2..183fee1 100644 (file)
--- a/project.h
+++ b/project.h
  */
 
 /*
- * $Id: project.h,v 1.14 2000/07/17 11:59:45 root Exp root $
+ * $Id: project.h,v 1.15 2000/07/23 19:14:19 root Exp $
  *
  * $Log: project.h,v $
+ * Revision 1.15  2000/07/23 19:14:19  root
+ * #
+ *
  * Revision 1.14  2000/07/17 11:59:45  root
  * #
  *
@@ -80,7 +83,7 @@ extern int downloading;
 
 #define MY_FRAME_LEN 1500
 #define MY_BLOCK_LEN 1440       /*quad word aligned */
-#define MY_PACING    1000
+#define MY_PACING    10000
 
 
 #define CONFIG_FILE "/etc/rpld.conf"
index 374e508..4af3e7f 100644 (file)
 
 
 static char rcsid[] =
-  "$Id: protocol.c,v 1.16 2000/07/17 11:59:45 root Exp root $";
+  "$Id: protocol.c,v 1.19 2000/07/29 23:25:25 root Exp root $";
 
 /*
  * $Log: protocol.c,v $
+ * Revision 1.19  2000/07/29 23:25:25  root
+ * #
+ *
+ * Revision 1.18  2000/07/29 23:20:02  root
+ * #
+ *
+ * Revision 1.17  2000/07/23 19:07:49  root
+ * #
+ *
  * Revision 1.16  2000/07/17 11:59:45  root
  * #
  *
@@ -150,7 +159,10 @@ file_data_frame (struct nit *n, struct client *c)
     }
   else
     {
-      out.addr.flags = RPL_AD_FLAGS_MORE;
+      if (c->nospew)
+        out.addr.flags = RPL_AD_FLAGS_ASK_MORE;
+      else
+        out.addr.flags = RPL_AD_FLAGS_MORE;
     }
 
 
diff --git a/rpl.h b/rpl.h
index 6b05370..1b36c34 100644 (file)
--- a/rpl.h
+++ b/rpl.h
 
 
 /*
- * $Id: rpl.h,v 1.11 2000/07/17 10:43:34 root Exp $
+ * $Id: rpl.h,v 1.12 2000/07/29 23:25:25 root Exp $
  *
  * $Log: rpl.h,v $
+ * Revision 1.12  2000/07/29 23:25:25  root
+ * #
+ *
  * Revision 1.11  2000/07/17 10:43:34  root
  * #
  *
@@ -88,6 +91,7 @@ typedef unsigned char u8;
 #define RPL_FL_IDENT   (1L << 9)
 #define RPL_FL_ADDR    (1L << 10)
 
+#define RPL_AD_FLAGS_ASK_MORE  0x10
 #define RPL_AD_FLAGS_MORE      0x20
 #define RPL_AD_FLAGS_DONE      0xc0
 
diff --git a/rpld.c b/rpld.c
index 371b86a..0ffc2b5 100644 (file)
--- a/rpld.c
+++ b/rpld.c
  */
 
 
-static char rcsid[] =
-  "$Id: rpld.c,v 1.17 2000/07/17 11:59:45 root Exp root $";
+static char rcsid[] = "$Id: rpld.c,v 1.19 2000/07/29 23:20:02 root Exp $";
 
 /*
  * $Log: rpld.c,v $
+ * Revision 1.19  2000/07/29 23:20:02  root
+ * #
+ *
+ * Revision 1.18  2000/07/23 19:14:19  root
+ * #
+ *
  * Revision 1.17  2000/07/17 11:59:45  root
  * #
  *
@@ -64,7 +69,7 @@ static char rcsid[] =
 static unsigned char RPL_MC_ADDR[ETH_ALEN] = { 0x3, 0x0, 0x2, 0x0, 0x0, 0x0 };
 
 int downloading = 0;
-int pacing = 1000;
+int pacing = 10000;
 
 int
 main (argc, argv)
index 56c9609..12a226e 100644 (file)
@@ -8,9 +8,9 @@ static char yysccsid[] = "@(#)yaccpar   1.9 (Berkeley) 02/21/93";
 #define yyerrok (yyerrflag=0)
 #define YYRECOVERING (yyerrflag!=0)
 #define YYPREFIX "yy"
-#line 74 "rpld_conf.y"
+#line 77 "rpld_conf.y"
 
-static char rcsid[]="$Id: rpld_conf.y,v 1.6 2000/07/17 11:59:45 root Exp root $";
+static char rcsid[]="$Id: rpld_conf.y,v 1.7 2000/07/23 19:14:19 root Exp $";
 
 #include "project.h"
 
@@ -21,7 +21,7 @@ typedef enum {INIT, GLOBALBLOCK, HOSTBLOCK, FILEBLOCK} STATE ;
 
 /*void process_thing(THING thing, char *name, int type, YYSTYPE *pvalue);*/
 
-#line 90 "rpld_conf.y"
+#line 93 "rpld_conf.y"
 typedef union {
                long number;
                char *name;
@@ -172,7 +172,7 @@ YYSTYPE yylval;
 short yyss[YYSTACKSIZE];
 YYSTYPE yyvs[YYSTACKSIZE];
 #define yystacksize YYSTACKSIZE
-#line 128 "rpld_conf.y"
+#line 131 "rpld_conf.y"
 
 //
 // ERROR REPORTING
@@ -265,6 +265,7 @@ void process_thing(THING thing, char *name, int type, YYSTYPE *pvalue)
 
                                pc->blocklen=MY_BLOCK_LEN;
                                pc->framelen=MY_FRAME_LEN;
+                               pc->pacing=MY_PACING;
                                
                                state = HOSTBLOCK;
                                break;
@@ -463,7 +464,7 @@ valid kernel must precede linux");
        
 
 }
-#line 467 "rpld_conf.tab.c"
+#line 468 "rpld_conf.tab.c"
 #define YYABORT goto yyabort
 #define YYREJECT goto yyabort
 #define YYACCEPT goto yyaccept
@@ -605,42 +606,42 @@ yyreduce:
     switch (yyn)
     {
 case 3:
-#line 109 "rpld_conf.y"
+#line 112 "rpld_conf.y"
 { process_thing(BLOCK_END, "", 0, NULL); }
 break;
 case 4:
-#line 110 "rpld_conf.y"
+#line 113 "rpld_conf.y"
 { process_thing(BLOCK_END, "", 0, NULL); }
 break;
 case 5:
-#line 112 "rpld_conf.y"
+#line 115 "rpld_conf.y"
 { process_thing(BLOCK_START, yyvsp[-1].name, 0, NULL); }
 break;
 case 6:
-#line 113 "rpld_conf.y"
+#line 116 "rpld_conf.y"
 { process_thing(BLOCK_START, "", 0, NULL); }
 break;
 case 10:
-#line 120 "rpld_conf.y"
+#line 123 "rpld_conf.y"
 { process_thing(ASSERTION, yyvsp[0].name, 0, NULL); }
 break;
 case 11:
-#line 121 "rpld_conf.y"
+#line 124 "rpld_conf.y"
 { process_thing(ASSIGNMENT, yyvsp[-2].name, TEXT, &yyvsp[0]); }
 break;
 case 12:
-#line 122 "rpld_conf.y"
+#line 125 "rpld_conf.y"
 { process_thing(ASSIGNMENT, yyvsp[-2].name, NUMBER, &yyvsp[0]); }
 break;
 case 13:
-#line 123 "rpld_conf.y"
+#line 126 "rpld_conf.y"
 { process_thing(ASSIGNMENT, yyvsp[-2].name, MACADDR, &yyvsp[0]); }
 break;
 case 14:
-#line 124 "rpld_conf.y"
+#line 127 "rpld_conf.y"
 { process_thing(ASSIGNMENT, yyvsp[-2].name, MACADDR_PARTIAL, &yyvsp[0]); }
 break;
-#line 644 "rpld_conf.tab.c"
+#line 645 "rpld_conf.tab.c"
     }
     yyssp -= yym;
     yystate = *yyssp;
index 5bf089e..b8239c2 100644 (file)
@@ -19,6 +19,9 @@
  *     YACC grammar for RPLD conf file parser
  *
  * $Log: rpld_conf.y,v $
+ * Revision 1.7  2000/07/23 19:14:19  root
+ * #
+ *
  * Revision 1.6  2000/07/17 11:59:45  root
  * #
  *
@@ -72,7 +75,7 @@
 
 %{
 
-static char rcsid[]="$Id: rpld_conf.y,v 1.6 2000/07/17 11:59:45 root Exp root $";
+static char rcsid[]="$Id: rpld_conf.y,v 1.7 2000/07/23 19:14:19 root Exp $";
 
 #include "project.h"
 
@@ -217,6 +220,7 @@ void process_thing(THING thing, char *name, int type, YYSTYPE *pvalue)
 
                                pc->blocklen=MY_BLOCK_LEN;
                                pc->framelen=MY_FRAME_LEN;
+                               pc->pacing=MY_PACING;
                                
                                state = HOSTBLOCK;
                                break;