Changeset 85

Show
Ignore:
Timestamp:
20.10.2002 19:38:30 (6 years ago)
Author:
tibob
Message:

- updated TODO (configure.in does not stop en lex & yacc missing)
- added lot of lin types in pcap.c

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/TODO

    r81 r85  
    55- use a pcap filter to select IP packets (integrate patch from Brieuc and do a non regression test) 
    66- if no packets are received, ipfm does not dump its files. 
     7- lex and yacc checks do not work as expected (if no yacc or bison is present, does not stop ./configure) 
    78 
    89- have a better detection of long command line options (actually, #ifdef LINUX...) 
  • trunk/source/pcap.c

    r63 r85  
    110110    return 0; 
    111111  } 
     112 
    112113  /* 
    113     these offsets were taken from queso, written by  
    114     Jordi Murgo <savage@apostols.org> 
    115     see http://apostols.org/projectz/queso/ 
     114    these offsets were taken from libpcap source. 
     115    See file gencode.c for more information. 
    116116  */ 
     117  switch(datalink) { 
     118  case DLT_ARCNET: 
     119    offset = 6; 
     120    break; 
     121  case DLT_EN10MB: 
     122    offset = 14; 
     123    break; 
     124  case DLT_SLIP: 
     125    offset = 16; 
     126    break; 
     127  case DLT_SLIP_BSDOS: 
     128    offset = 24; 
     129    break; 
     130  case DLT_NULL: 
     131  case DLT_LOOP: 
     132    offset = 4; 
     133    break; 
     134  case DLT_PPP: 
     135  case DLT_C_HDLC:              /* BSD/OS Cisco HDLC */ 
     136  case DLT_PPP_SERIAL:          /* NetBSD sync/async serial PPP */ 
     137    offset = 4; 
     138    break; 
     139  case DLT_PPP_ETHER: 
     140    offset = 8; 
     141    break; 
     142  case DLT_PPP_BSDOS: 
     143    offset = 24; 
     144    break; 
     145    /* 
     146[RC, 2002/10/20] Commented out FDDI since there is a strange pad complication 
     147on NetBSD, DEC OSF/1 aka Digital Unix aka Tru64 Unix and Ultrix. 
     148If someone yells because she needs FDDI, we'll have a closer look... 
     149 
     150  case DLT_FDDI: 
     151     * 
     152     * FDDI doesn't really have a link-level type field. 
     153     * We set "off_linktype" to the offset of the LLC header. 
     154     * 
     155     * To check for Ethernet types, we assume that SSAP = SNAP 
     156     * is being used and pick out the encapsulated Ethernet type. 
     157     * XXX - should we generate code to check for SNAP? 
     158     * 
     159    offset = 21; 
     160 
     161#ifdef PCAP_FDDIPAD 
     162    offset += pcap_fddipad; 
     163#endif 
     164    break; 
     165    */ 
     166  case DLT_IEEE802: 
     167    offset = 22; 
     168    break; 
     169  case DLT_IEEE802_11: 
     170    offset = 30; 
     171    break; 
     172  case DLT_PRISM_HEADER: 
     173    offset = 144+30; 
     174    break; 
     175  case DLT_ATM_RFC1483: 
     176    offset = 8; 
     177    break; 
     178  case DLT_RAW: 
     179    offset = 0; 
     180    break; 
     181  case DLT_ATM_CLIP:    /* Linux ATM defines this */ 
     182    offset = 8; 
     183    break; 
     184  case DLT_LINUX_SLL:   /* fake header for Linux cooked socket */ 
     185    offset = 16; 
     186    break; 
     187  case DLT_LTALK: 
     188    offset = 0; 
     189    break; 
     190/* 
    117191  switch(datalink) { 
    118192  case DLT_EN10MB: 
     
    129203  case DLT_PPP_BSDOS: 
    130204    offset = 24; break; 
    131 #endif /* __OS_OPENBSD__ */ 
     205#endif 
    132206  case DLT_ATM_RFC1483: 
    133207    offset =  8; break; 
    134208  case DLT_IEEE802: 
    135209    offset = 22; break; 
     210*/ 
    136211  default: 
    137212    fprintf(stderr, "[pcap] Unknown datalink type : %d.", datalink);