Przeglądaj źródła

Imported Upstream version 0.7.4

0.7.4  18/02/02         Fix condition too strong in docsis_decode.c.
evvolve

0.7.3  16/02/02         Change symbols so that {symbol_name,docsis_code} is
evvolve                 "primary key" (the above pairs are unique in the
                        entire symbol table).
                        Fix errors with IpTos encoding (still buggy)
                        We took over full maintainership from Cornel.
Evvolve Media SRL 23 lat temu
rodzic
commit
abb6364b91
11 zmienionych plików z 187 dodań i 72 usunięć
  1. 12 0
      CHANGES
  2. 21 3
      README
  3. 0 1
      docsis_common.h
  4. 4 3
      docsis_decode.c
  5. 7 7
      docsis_symtable.h
  6. 48 52
      examples/docsis20.cfg
  7. 2 2
      examples/example-non-rfc2669.cfg
  8. 2 2
      examples/example.cfg
  9. 1 1
      examples/modem.cfg
  10. 89 0
      examples/snmp20.cfg
  11. 1 1
      version.h

+ 12 - 0
CHANGES

@@ -1,3 +1,15 @@
+0.7.4  18/02/02		Fix condition too strong in docsis_decode.c.
+evvolve			
+
+0.7.3  16/02/02		Change symbols so that {symbol_name,docsis_code} is 
+evvolve			"primary key" (the above pairs are unique in the
+			entire symbol table).
+			Fix errors with IpTos encoding (still buggy)
+			We took over full maintainership from Cornel.
+
+0.7.2  12/02/02		Fix typos in docsis_symtable.h
+evvolve			
+
 0.7.1  08/02/02		Split encoding functions into docsis_encode.{h,c}	
 evvolve			Implemented Hex String and Ether+Ethermask encoders.
 			Implemented range checking for string and hex string

+ 21 - 3
README

@@ -1,16 +1,16 @@
 1. General Information
+======================
 
 This software is 	Copyright (c) 2000,2001 Cornel Ciocirlan
 			Copyright (c) 2002 Evvolve Media SRL
 
 To contact the original author, send an E-mail to: ctrl@users.sourceforge.net.
-To contact the current developers, send an E-mail to: office@evvolve.com. If 
-you need new features they can help.
+To contact the current maintainers developers, send an E-mail to: office@evvolve.com. 
 
 General questions about this software can be  sent to docsis-users@sourceforge.net. 
 
 Visit http://docsis.sourceforge.net and http://sourceforge.net/projects/docsis 
-for the latest news on this software.
+for the latest news on this program.
 
 PLEASE READ THE FILE COPYING.GPL. 
 
@@ -18,6 +18,7 @@ This is Unsupported software that may crash your computer, damage all your data
 or otherwise drive you nuts. You'd better know what you're doing. 
 
 2. Description
+==============
 
 This program encodes text configuration files which contain Configuration File 
 Settings into binary configuration files, as specified by the DOCSIS RFI 1.1
@@ -43,6 +44,7 @@ encode_vbind (well, maybe a few changes are needed, but I trust the reader can
 figure it out).
 
 A. DOCSIS 1.0 considerations 
+============================
 
 More than one (up to 16) ClassOfService statements can appear in the 
 configuration file. Only one BaselinePrivacy (BPI) statement can appear. 
@@ -58,6 +60,7 @@ The program is not yet as "intelligent" as to detect these problems
 automatically (quite trivial).
 
 B. DOCSIS 1.1 considerations
+============================
 
 The DOCSIS 1.1 implementation is being tested. A major rewrite was needed to 
 add support for DOCSIS 1.1 and clean up the parsing, encoding and decoding, so
@@ -67,6 +70,7 @@ guys) the bugs will be much easier to fix and the new features (configuration
 settings) A LOT easier to add. 
 
 3. Usage
+========
 
 To encode a configuration file, do:
 
@@ -96,3 +100,17 @@ If you want to encode back a decoded file, you have to fix the syntax of
 SnmpMibObject settings and delete CM MIC and CMTS MIC lines. 
 Then you should be able to encode the file back.
 
+4. Adding new configuration settings
+====================================
+
+To add new configuration settings, in most cases the only thing you need to 
+do is add them to the docsis_symtable.h (make sure you select the correct 
+type-functions for encoding and decoding). 
+
+Because of the way the encoder works, the {symbol_name, docsis_code} pair 
+must be unique, e.g. if two symbols share the same name they MUST share the 
+same docsis_code, type-functions, limits etc. Only the id and parent can be 
+different.
+
+
+

+ 0 - 1
docsis_common.h

@@ -1,4 +1,3 @@
-
 /* 
  *  DOCSIS configuration file encoder. 
  *  Copyright (c) 2001 Cornel Ciocirlan, ctrl@users.sourceforge.net.

+ 4 - 3
docsis_decode.c

@@ -162,10 +162,10 @@ void decode_aggregate (unsigned char *tlvbuf, symbol_type *sym)
   register unsigned char *cp;
   symbol_type *current_symbol;
   
-  cp = tlvbuf+2; /* skip type,len of parent TLV */
+  cp = tlvbuf+2*sizeof(unsigned char); /* skip type,len of parent TLV */
   printf( "%s {\n", sym->sym_ident);
 
-  while ( (unsigned int) (cp - tlvbuf +(sizeof(unsigned char))) < (unsigned int) tlvbuf[1] ) {
+  while ( (unsigned int) (cp - tlvbuf)  < (unsigned int) tlvbuf[1] ) {
   current_symbol = find_symbol_by_code_and_pid (cp[0], sym->id);
   if (current_symbol == NULL) { 
 		decode_unknown(cp, NULL);	
@@ -183,7 +183,8 @@ void decode_aggregate (unsigned char *tlvbuf, symbol_type *sym)
  * DOCSIS use. 
  * It's also a bif different from docsis_aggregate in that docsis_aggregate 
  * takes an aggregate tlvbuf as argument that INCLUDES the "parent" code and 
- * length. On the main aggregate we don't have a code / length. 
+ * length. On the main aggregate we don't have a "parent" code / length, the 
+ * first code/length is the first configuration setting.
  */
 
 void decode_main_aggregate (unsigned char *tlvbuf, unsigned int buflen)

+ 7 - 7
docsis_symtable.h

@@ -72,7 +72,7 @@ symbol_type symtable[NUM_IDENTIFIERS] =  {
 { 32,	"ServiceFlowId",	4, 28, (get_uint), 	(decode_uint),		1, 0xFFFFFFFF }, 
 { 33,	"RulePriority",		5, 28, (get_uchar), 	(decode_uchar),		0, 255 },
 { 34,	"ActivationState",	6, 28, (get_uchar), 	(decode_uchar),		0, 1 },
-{ 35,	"DscAction	",	6, 28, (get_uchar), 	(decode_uchar),		0, 2 },
+{ 35,	"DscAction	",	7, 28, (get_uchar), 	(decode_uchar),		0, 2 },
 { 36,   "IpPacketClassifier",   9, 28, (get_nothing),   (decode_aggregate),     0, 0 },      
 { 37,   "IpTos",                1, 36, (get_hexstr),    (decode_hexstr),        3, 3 },
 { 38,   "IpProto",              2, 36, (get_ushort),     (decode_ushort),       0, 257 },    
@@ -100,9 +100,9 @@ symbol_type symtable[NUM_IDENTIFIERS] =  {
 { 58,	"ServiceFlowId",	4, 54, (get_uint), 	(decode_uint),		1, 0xFFFFFFFF }, 
 { 59,	"RulePriority",		5, 54, (get_uchar), 	(decode_uchar),		0, 255 },
 { 60,	"ActivationState",	6, 54, (get_uchar), 	(decode_uchar),		0, 1 },
-{ 61,	"DscAction	",	6, 54, (get_uchar), 	(decode_uchar),		0, 2 },
+{ 61,	"DscAction	",	7, 54, (get_uchar), 	(decode_uchar),		0, 2 },
 { 62,   "IpPacketClassifier",   9, 54, (get_nothing),   (decode_aggregate),     0, 0 },      
-{ 63,   "IpTos",                1, 62, (get_uint),      (decode_uint),          0, 16777215 },
+{ 63,   "IpTos",                1, 62, (get_hexstr),    (decode_hexstr),        3, 3 },
 { 64,   "IpProto",              2, 62, (get_ushort),     (decode_ushort),        0, 257 },    
 { 65,   "IpSrcAddr",            3, 62, (get_ip),        (decode_ip),            0, 0 },      
 { 66,   "IpSrcMask",            4, 62, (get_ip),        (decode_ip),            0, 0 },      
@@ -121,8 +121,8 @@ symbol_type symtable[NUM_IDENTIFIERS] =  {
 { 79,   "VlanID",		2, 77, (get_ushort), 	(decode_ushort),    	0, 0 },      
 /* Upstream Service Flow */
 { 80,   "UsServiceFlow",	24, 0, (get_nothing), 	(decode_aggregate),    	0, 0 },      
-{ 81,   "ServiceFlowRef",	1, 80, (get_ushort), 	(decode_ushort),    	1, 65535 },      
-{ 81,   "ServiceFlowId",	2, 80, (get_uint), 	(decode_uint),    	1, 0xFFFFFFFF },  
+{ 81,   "UsServiceFlowRef",	1, 80, (get_ushort), 	(decode_ushort),    	1, 65535 },      
+{ 81,   "UsServiceFlowId",	2, 80, (get_uint), 	(decode_uint),    	1, 0xFFFFFFFF },  
 { 82,   "ServiceClassName",	4, 80, (get_string), 	(decode_string),    	2, 16 },      
 { 83,   "QosParamSetType",	6, 80, (get_uchar), 	(decode_uchar),    	0, 255 },      
 { 84,   "TrafficPriority",	7, 80, (get_uchar), 	(decode_uchar),    	0, 7 },      
@@ -145,8 +145,8 @@ symbol_type symtable[NUM_IDENTIFIERS] =  {
 { 99,   "IpTosOverwrite",	23,80, (get_hexstr), 	(decode_hexstr),    	2, 2 },
 /* Downstream Service Flow */
 {100,   "DsServiceFlow",	25,  0,(get_nothing), 	(decode_aggregate),    	0, 0 },      
-{101,   "ServiceFlowRef",	1, 100, (get_ushort), 	(decode_ushort),    	1, 65535 },      
-{102,   "ServiceFlowId",	2, 100, (get_uint), 	(decode_uint),    	1, 0xFFFFFFFF },  
+{101,   "DsServiceFlowRef",	1, 100, (get_ushort), 	(decode_ushort),    	1, 65535 },      
+{102,   "DsServiceFlowId",	2, 100, (get_uint), 	(decode_uint),    	1, 0xFFFFFFFF },  
 {103,   "ServiceClassName",	4, 100, (get_string), 	(decode_string),    	2, 16 },      
 {104,   "QosParamSetType",	6, 100, (get_uchar), 	(decode_uchar),    	0, 255 },      
 {105,   "TrafficPriority",	7, 100, (get_uchar), 	(decode_uchar),    	0, 7 },      

+ 48 - 52
examples/docsis20.cfg

@@ -1,59 +1,56 @@
-Main { /* this is a comment */
+Main {
 DsPacketClass {
-  ClassifierRef   255;          /* 23.1 len 1 1-255 */
-  ClassifierId    65535;        /* 23.2 len 2 1-65535 */
-  ServiceFlowRef  65535;        /* 23.3 len 2 1-65535 */
-  ServiceFlowId 4294967295;     /* 23.4 len 4 1-2^32-1 */
-  RulePriority  255;            /* 23.5 len 1 0-255 */
-  ActivationState   1;          /* 23.6 len 1 0-1 */
-  IpPacketClassifier {
-    IpTos   0x00FFFF;               /* 23.9.1 len 3  0x00low_high_mask */
-    IpProto     234;            /* 23.9.2 len 2 0-257 */
-    IpSrcAddr 10.1.2.3;         /* 23.9.3 len 4 */
-    IpSrcMask 255.255.0.0;      /* 23.9.4 len 4 */
-    IpDstAddr 10.5.2.5;         /* 23.9.5 len 4 */
-    IpDstMask 255.255.0.0;      /* 23.9.6 len 4 */
-    SrcPortStart 80;            /* 23.9.7 len 2 0-65535 */
-    SrcPortEnd 81;              /* 23.9.8 len 2 0-65535 */
-    DstPortStart 500;           /* 23.9.9 len 2 0-65535 */
-    DstPortEnd 501;             /* 23.9.10 len 2 0-65535 */
-  }
+ClassifierRef 255;
+ClassifierId 65535;
+ServiceFlowRef 65535;
+ServiceFlowId 2147483647;
+RulePriority 255;
+ActivationState 1;
+IpPacketClassifier {
+IpTos 0x00ffff;
+IpProto 234;
+IpSrcAddr 10.1.2.3;
+IpSrcMask 255.255.0.0;
+IpDstAddr 10.5.2.5;
+IpDstMask 255.255.0.0;
+SrcPortStart 80;
+SrcPortEnd 81;
+DstPortStart 500;
+DstPortEnd 501;
+}
 }
 UsPacketClass {
-  ClassifierRef   253;          /* 23.1 len 1 1-255 */
-  ClassifierId    65533;        /* 23.2 len 2 1-65535 */
-  ServiceFlowRef  65533;        /* 23.3 len 2 1-65535 */
-  ServiceFlowId 4294967294;     /* 23.4 len 4 1-2^32-1 */
-  RulePriority  255;            /* 23.5 len 1 0-255 */
-  ActivationState   1;          /* 23.6 len 1 0-1 */
-  LLCPacketClassifier	{
-	DstMacAddress	00:00:de:ad:be:ef/00:00:ff:ff:ff:ff;
-        SrcMacAddress	00:a0:a0:a0:a0:a0;
-	EtherType 	0x030303;
-  }
+ClassifierRef 253;
+ClassifierId 65533;
+ServiceFlowRef 65533;
+ServiceFlowId 2147483647;
+RulePriority 255;
+ActivationState 1;
+LLCPacketClassifier {
+DstMacAddress 00:00:de:ad:be:ef/00:00:ff:ff:ff:ff;
+SrcMacAddress 00:a0:a0:a0:a0:a0;
+EtherType 0x030303;
+}
 }
-NetworkAccess		1;
-DownstreamFrequency 	123000000;
-UpstreamChannelId   	1; 
-/* this is a comment */ 
+NetworkAccess 1;
+DownstreamFrequency 123000000;
+UpstreamChannelId 1;
 ClassOfService {
-	ClassID		1; 
-	MaxRateDown	512000;
-	MaxRateUp	64000;
-	PriorityUp	3 ;	
-	GuaranteedUp	32000;
-	MaxBurstUp	254;
-	PrivacyEnable	1;
+ClassID 1;
+MaxRateDown 512000;
+MaxRateUp 64000;
+PriorityUp 3;
+GuaranteedUp 32000;
+MaxBurstUp 254;
 }
-
-BaselinePrivacy { /* ONLY if PrivacyEnable == 1 ! */
-        AuthTimeout             10;
-        ReAuthTimeout           10;
-        AuthGraceTime           600;
-        OperTimeout         10;
-        ReKeyTimeout            10;
-        TEKGraceTime            600;
-        AuthRejectTimeout       9;
+BaselinePrivacy {
+AuthTimeout 10;
+ReAuthTimeout 10;
+AuthGraceTime 600;
+OperTimeout 10;
+ReKeyTimeout 10;
+TEKGraceTime 600;
+AuthRejectTimeout 9;
 }
 
 SnmpMibObject .1.3.6.1.2.1.69.1.6.3.0 Integer 1;    /* Default discard */
@@ -145,6 +142,5 @@ SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.13.6 Integer 53; /* SrcPortHigh */
 SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.14.6 Integer 53; /* DstPortLow */ 
 SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.15.6 Integer 53; /* DstPortHigh */ 
 SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.6 Integer 4;/* IpStatus/6 cAndGo */
-
-MaxCPE	3;
+MaxCPE 3;
 }

+ 2 - 2
examples/example-non-rfc2669.cfg

@@ -23,8 +23,8 @@ BaselinePrivacy { /* ONLY if PrivacyEnable == 1 ! */
         AuthRejectTimeout       9;
 }
 
-SnmpMibObject system.sysContact.0 String "ctrl@users.sourceforge.net";
-SnmpMibObject system.sysName.0 String "DCM105 test rolab";   
+SnmpMibObject system.sysContact.0 String "evvolve@users.sourceforge.net";
+SnmpMibObject system.sysName.0 String "DCM105 test";   
 
 SnmpMibObject .1.3.6.1.3.83.1.6.3.0 Integer 1;    /* Default discard */
 

+ 2 - 2
examples/example.cfg

@@ -32,8 +32,8 @@ BaselinePrivacy { /* ONLY if PrivacyEnable == 1 ! */
         AuthRejectTimeout       9;
 }
 
-SnmpMibObject system.sysContact.0 String "ctrl@users.sourceforge.net";
-SnmpMibObject system.sysName.0 String "DCM105 test rolab";   
+SnmpMibObject system.sysContact.0 String "evvolve@users.sourceforge.net";
+SnmpMibObject system.sysName.0 String "DCM105 test";   
 
 SnmpMibObject .1.3.6.1.3.83.1.6.3.0 Integer 1;    /* Default discard */
 

+ 1 - 1
examples/modem.cfg

@@ -31,7 +31,7 @@ BaselinePrivacy { /* ONLY if PrivacyEnable == 1 ! */
 }
 
 SnmpMibObject system.sysName.0 String "gamadelta";	/* Set sysName */
-SnmpMibObject system.sysContact.0 String "ctrl@users.sourceforge.net" ;/* sysContact  */
+SnmpMibObject system.sysContact.0 String "evvolve@users.sourceforge.net" ;/* sysContact  */
 
 SnmpMibObject .1.3.6.1.2.1.69.1.6.3.0 Integer 1;    /* Default discard */
 

+ 89 - 0
examples/snmp20.cfg

@@ -0,0 +1,89 @@
+SnmpMibObject .1.3.6.1.2.1.69.1.6.3.0 Integer 1;    /* Default discard */
+
+/* Row 1 */
+
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.1 Integer 6;/* IpStatus/1 destroy */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.3.1 Integer 2;/* IpControl/1 accept */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.4.1 Integer 0;/* IpIfIndex/1 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.5.1 Integer 3;/* IpDirection/1 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.6.1 Integer 2;/* IpBroadcast/1 false */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.7.1 IPAddress 0.0.0.0; /* SAddr */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.8.1 IPAddress 0.0.0.0;/*Smask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.9.1 IPAddress 0.0.0.0; /*DAddr*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.10.1 IPAddress 0.0.0.0; /*DMask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.11.1 Integer 1; /* Proto ICMP */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.1 Integer 4;/* IpStatus/1 cAndGo */
+
+/* Row 2 */
+
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.2 Integer 6;/* IpStatus/2 destroy */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.3.2 Integer 2;/* IpControl/2 accept */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.4.2 Integer 0;/* IpIfIndex/2 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.5.2 Integer 3;/* IpDirection/2 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.6.2 Integer 2;/* IpBroadcast/2 false */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.7.2 IPAddress 0.0.0.0; /* SAddr */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.8.2 IPAddress 0.0.0.0;/*Smask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.9.2 IPAddress 10.1.1.1; /*DAddr*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.10.2 IPAddress 255.255.255.255; /*DMask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.11.2 Integer 6; /* Proto TCP */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.2 Integer 4;/* IpStatus/2 cAndGo */
+
+/* Row 3 */
+
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.3 Integer 6;/* IpStatus/3 destroy */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.3.3 Integer 2;/* IpControl/3 accept */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.4.3 Integer 0;/* IpIfIndex/3 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.5.3 Integer 3;/* IpDirection/3 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.6.3 Integer 2;/* IpBroadcast/3 false */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.7.3 IPAddress 10.1.1.1; /* SAddr */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.8.3 IPAddress 255.255.255.255;/*Smask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.9.3 IPAddress 0.0.0.0; /*DAddr*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.10.3 IPAddress 0.0.0.0; /*DMask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.11.3 Integer 6; /* Proto TCP */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.3 Integer 4;/* IpStatus/3 cAndGo */
+
+/* Row 4 */
+
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.4 Integer 6;/* IpStatus/4 destroy */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.3.4 Integer 2;/* IpControl/4 accept */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.4.4 Integer 0;/* IpIfIndex/4 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.5.4 Integer 3;/* IpDirection/4 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.6.4 Integer 1;/* IpBroadcast/4 true */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.7.4 IPAddress 0.0.0.0;  /* SAddr */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.8.4 IPAddress 0.0.0.0;  /* Smask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.9.4 IPAddress 0.0.0.0;  /* DAddr*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.10.4 IPAddress 0.0.0.0; /* DMask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.11.4 Integer 17; /* Proto UDP */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.4 Integer 4;/* IpStatus/4 cAndGo */
+
+/* Row 5 */
+
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.5 Integer 6;/* IpStatus/5 destroy */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.3.5 Integer 2;/* IpControl/5 accept */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.4.5 Integer 0;/* IpIfIndex/5 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.5.5 Integer 3;/* IpDirection/5 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.6.5 Integer 2;/* IpBroadcast/5 true */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.7.5 IPAddress 0.0.0.0;  /* SAddr */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.8.5 IPAddress 0.0.0.0;  /* Smask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.9.5 IPAddress 0.0.0.0;  /* DAddr*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.10.5 IPAddress 0.0.0.0; /* DMask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.11.5 Integer 17; /* Proto UDP */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.5 Integer 4;/* IpStatus/5 cAndGo */
+
+/* Row 6 */
+
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.6 Integer 6;/* IpStatus/6 destroy */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.3.6 Integer 2;/* IpControl/6 accept */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.4.6 Integer 0;/* IpIfIndex/6 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.5.6 Integer 3;/* IpDirection/6 both */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.6.6 Integer 2;/* IpBroadcast/6 true */
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.7.6 IPAddress 0.0.0.0;  /* SAddr */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.8.6 IPAddress 0.0.0.0;  /* Smask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.9.6 IPAddress 0.0.0.0;  /* DAddr*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.10.6 IPAddress 0.0.0.0; /* DMask*/ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.11.6 Integer 6; /* Proto TCP */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.12.6 Integer 53; /* SrcPortLow */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.13.6 Integer 53; /* SrcPortHigh */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.14.6 Integer 53; /* DstPortLow */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.15.6 Integer 53; /* DstPortHigh */ 
+SnmpMibObject .1.3.6.1.2.1.69.1.6.4.1.2.6 Integer 4;/* IpStatus/6 cAndGo */

+ 1 - 1
version.h

@@ -20,4 +20,4 @@
  */
 
 #define VERSION "0.7"
-#define PATCHLEVEL "2"
+#define PATCHLEVEL "4"