Changeset 41b53c2


Ignore:
Timestamp:
11/03/05 17:17:41 (16 years ago)
Author:
Daniel Lawson <dlawson@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
fe3d755
Parents:
117e83b
Message:

2.0.25

Fixes for builds under openbsd:

  • pcap uses a struct bpf_filter, not struct timeval. fixed format_pcap to solve this
  • #includes in libpacketdump - libpacketdump still not working properly
  • rijndael.c and .h conflicted with a system function called 'encrypt' - renamed encrypt and decrypt to r_* within rijndael*
  • UINT64_MAX not defined under freebsd
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • README

    ra3505a8 r41b53c2  
    11$Header$
    22
    3 libtrace 2.0.24
     3libtrace 2.0.25
    44
    55---------------------------------------------------------------------------
  • configure.in

    rbf7018a r41b53c2  
    33LIBTRACE_MAJOR=2
    44LIBTRACE_MID=0
    5 LIBTRACE_MINOR=24
    6 
    7 AC_INIT(libtrace,2.0.24,[contact@wand.net.nz],libtrace)
     5LIBTRACE_MINOR=25
     6
     7AC_INIT(libtrace,2.0.25,[contact@wand.net.nz],libtrace)
    88AC_CONFIG_SRCDIR(lib/trace.c)
    9 AM_INIT_AUTOMAKE(libtrace,2.0.24)
     9AM_INIT_AUTOMAKE(libtrace,2.0.25)
    1010
    1111AC_CONFIG_FILES([Makefile lib/Makefile docs/Makefile libpacketdump/Makefile tools/Makefile tools/traceanon/Makefile tools/tracedump/Makefile tools/tracemerge/Makefile tools/tracereport/Makefile tools/tracertstats/Makefile tools/tracesplit/Makefile  ])
     
    3737AC_CHECK_FUNCS(socket strdup)
    3838
     39AC_CHECK_SIZEOF([long int])
     40
     41# Check for various broken functions
     42AC_FUNC_MALLOC
     43AC_FUNC_REALLOC
     44
     45# *BSD doesn't have strndup. Currently provide our own.
     46AC_REPLACE_FUNCS(strndup)
     47
    3948# Checks for header files.
    4049AC_HEADER_STDC
     
    5059])
    5160
     61
     62AC_CHECK_HEADER(netinet/ether.h,
     63                AC_DEFINE(HAVE_NETINET_ETHER_H,1,[We have netinet/ether.h]
     64), [],
     65[
     66 #include <sys/types.h>
     67 #include <sys/socket.h>
     68 #include <netinet/in.h>
     69 #include <net/if.h>
     70])
    5271
    5372AC_CHECK_HEADER(netinet/if_ether.h,
     
    96115             [AC_DEFINE(HAVE_GDC_H,0,[Conditional for building with libGDC support]) libtrace_gdc=false])
    97116
    98 # Check for various broken functions
    99 AC_FUNC_MALLOC
    100 AC_FUNC_REALLOC
    101 
    102 # *BSD doesn't have strndup. Currently provide our own.
    103 AC_REPLACE_FUNCS(strndup)
    104117
    105118# Check to see if we have libpcap
     
    354367AC_OUTPUT
    355368
    356 function reportopt() {
     369reportopt() {
    357370        if test x"$2" = xtrue -o x"$2" = xyes; then
    358371                AC_MSG_NOTICE([$1: Yes])
  • lib/Makefile.am

    ra3505a8 r41b53c2  
    1111INCLUDES = @ADD_INCLS@
    1212libtrace_la_LIBADD = @ADD_LIBS@ @LTLIBOBJS@
    13 libtrace_la_LDFLAGS=-version-info 2:24:0 @ADD_LDFLAGS@
     13libtrace_la_LDFLAGS=-version-info 2:25:0 @ADD_LDFLAGS@
    1414
    1515dagapi.c:
  • lib/format_pcap.c

    r8013711 r41b53c2  
    238238
    239239        if (!OUTPUT.trace.pcap) {
    240                 OUTPUT.trace.pcap = pcap_open_dead(
     240                OUTPUT.trace.pcap = (pcap_t *)pcap_open_dead(
    241241                                linktype_to_dlt(trace_get_link_type(packet)),
    242242                                65536);
     
    249249                pcap_dump((u_char*)OUTPUT.trace.dump,(struct pcap_pkthdr *)packet->buffer,link);
    250250        } else {
    251                 pcap_pkt_hdr.ts = trace_get_timeval(packet);
     251                // Leave the manual copy as it is, as it gets around
     252                // some OS's having different structures in pcap_pkt_hdr
     253                struct timeval ts = trace_get_timeval(packet);
     254                pcap_pkt_hdr.ts.tv_sec = ts.tv_sec;
     255                pcap_pkt_hdr.ts.tv_usec = ts.tv_usec;
    252256                pcap_pkt_hdr.caplen = trace_get_capture_length(packet);
    253257                pcap_pkt_hdr.len = trace_get_wire_length(packet);
     
    347351
    348352
    349 static struct timeval pcap_get_timeval(const struct libtrace_packet_t *packet) { 
     353static struct timeval pcap_get_timeval(const struct libtrace_packet_t *packet) {
    350354        struct pcap_pkthdr *pcapptr = (struct pcap_pkthdr *)packet->buffer;
    351         return pcapptr->ts;
     355        struct timeval ts;
     356        ts.tv_sec = pcapptr->ts.tv_sec;
     357        ts.tv_usec = pcapptr->ts.tv_usec;
     358        return ts;
    352359}
    353360
  • libpacketdump/Makefile.am

    rdc98704 r41b53c2  
    1616INCLUDES= @ADD_INCLS@ -I../lib -I../
    1717libpacketdump_la_LIBADD = @ADD_LIBS@  -ldl
    18 libpacketdump_la_LDFLAGS=-version-info 2:24:0 @ADD_LDFLAGS@
     18libpacketdump_la_LDFLAGS=-version-info 2:25:0 @ADD_LDFLAGS@
    1919
    2020AM_CXXFLAGS=-g -Wall -DDIRNAME=\"$(PLUGINDIR)\" -rdynamic $(INCLUDES)
  • libpacketdump/libpacketdump.cc

    r950d54a r41b53c2  
    33#include <time.h>
    44#include "libpacketdump.h"
     5#include "config.h"
    56#include <stdio.h>
     7#include <netdb.h>
    68#include <stdlib.h>
    79#include <getopt.h>
    8 #include <netinet/ether.h>
     10
     11#ifdef HAVE_NETINET_ETHER
     12#  include <netinet/ether.h>
     13#endif
     14
     15
     16#ifdef HAVE_INTTYPES_H
     17#  include <inttypes.h>
     18#else
     19#  error "Can't find inttypes.h"
     20#endif
     21
     22#ifdef HAVE_LIMITS_H
     23#  include <limits.h>
     24#endif
     25
     26#ifdef HAVE_SYS_LIMITS_H
     27#  include <sys/limits.h>
     28#endif
     29
     30#ifdef HAVE_SYS_TYPES_H
     31#  include <sys/types.h>
     32#endif
     33#include <net/if.h>
    934#include <netinet/in.h>
    1035#include <stdio.h>
    11 #include <inttypes.h>
     36
     37#include <net/if_arp.h>
     38#ifdef HAVE_NETINET_IF_ETHER_H
     39#  include <netinet/if_ether.h>
     40#endif
    1241#include <dlfcn.h>
    1342#include <map>
  • tools/traceanon/rijndael.c

    r49f147b r41b53c2  
    10591059                        for(i = numBlocks;i > 0;i--)
    10601060                        {
    1061                                 encrypt(input,outBuffer);
     1061                                r_encrypt(input,outBuffer);
    10621062                                input += 16;
    10631063                                outBuffer += 16;
     
    10691069                        ((UINT32*)block)[2] = ((UINT32*)m_initVector)[2] ^ ((UINT32*)input)[2];
    10701070                        ((UINT32*)block)[3] = ((UINT32*)m_initVector)[3] ^ ((UINT32*)input)[3];
    1071                         encrypt(block,outBuffer);
     1071                        r_encrypt(block,outBuffer);
    10721072                        input += 16;
    10731073                        for(i = numBlocks - 1;i > 0;i--)
     
    10781078                                ((UINT32*)block)[3] = ((UINT32*)outBuffer)[3] ^ ((UINT32*)input)[3];
    10791079                                outBuffer += 16;
    1080                                 encrypt(block,outBuffer);
     1080                                r_encrypt(block,outBuffer);
    10811081                                input += 16;
    10821082                        }
     
    10991099                                        *((UINT32*)(block+ 8)) = *((UINT32*)iv[2]);
    11001100                                        *((UINT32*)(block+12)) = *((UINT32*)iv[3]);
    1101                                         encrypt(block,block);
     1101                                        r_encrypt(block,block);
    11021102                                        outBuffer[k/8] ^= (block[0] & 0x80) >> (k & 7);
    11031103                                        iv[0][0] = (iv[0][0] << 1) | (iv[0][1] >> 7);
     
    11451145                        for(i = numBlocks; i > 0; i--)
    11461146                        {
    1147                                 encrypt(input, outBuffer);
     1147                                r_encrypt(input, outBuffer);
    11481148                                input += 16;
    11491149                                outBuffer += 16;
     
    11531153                        memcpy(block, input, 16 - padLen);
    11541154                        memset(block + 16 - padLen, padLen, padLen);
    1155                         encrypt(block,outBuffer);
     1155                        r_encrypt(block,outBuffer);
    11561156                        break;
    11571157                case CBC:
     
    11631163                                ((UINT32*)block)[2] = ((UINT32*)input)[2] ^ ((UINT32*)iv)[2];
    11641164                                ((UINT32*)block)[3] = ((UINT32*)input)[3] ^ ((UINT32*)iv)[3];
    1165                                 encrypt(block, outBuffer);
     1165                                r_encrypt(block, outBuffer);
    11661166                                iv = outBuffer;
    11671167                                input += 16;
     
    11761176                                block[i] = (UINT8)padLen ^ iv[i];
    11771177                        }
    1178                         encrypt(block,outBuffer);
     1178                        r_encrypt(block,outBuffer);
    11791179                        break;
    11801180                default:
     
    12031203                        for (i = numBlocks; i > 0; i--)
    12041204                        {
    1205                                 decrypt(input,outBuffer);
     1205                                r_decrypt(input,outBuffer);
    12061206                                input += 16;
    12071207                                outBuffer += 16;
     
    12191219                        for (i = numBlocks; i > 0; i--)
    12201220                        {
    1221                                 decrypt(input, block);
     1221                                r_decrypt(input, block);
    12221222                                ((UINT32*)block)[0] ^= *((UINT32*)iv[0]);
    12231223                                ((UINT32*)block)[1] ^= *((UINT32*)iv[1]);
     
    12541254                                        *((UINT32*)(block+ 8)) = *((UINT32*)iv[2]);
    12551255                                        *((UINT32*)(block+12)) = *((UINT32*)iv[3]);
    1256                                         encrypt(block, block);
     1256                                        r_encrypt(block, block);
    12571257                                        iv[0][0] = (iv[0][0] << 1) | (iv[0][1] >> 7);
    12581258                                        iv[0][1] = (iv[0][1] << 1) | (iv[0][2] >> 7);
     
    13021302                        for (i = numBlocks - 1; i > 0; i--)
    13031303                        {
    1304                                 decrypt(input, outBuffer);
     1304                                r_decrypt(input, outBuffer);
    13051305                                input += 16;
    13061306                                outBuffer += 16;
    13071307                        }
    13081308
    1309                         decrypt(input, block);
     1309                        r_decrypt(input, block);
    13101310                        padLen = block[15];
    13111311                        if (padLen >= 16)return RIJNDAEL_CORRUPTED_DATA;
     
    13211321                        for (i = numBlocks - 1; i > 0; i--)
    13221322                        {
    1323                                 decrypt(input, block);
     1323                                r_decrypt(input, block);
    13241324                                ((UINT32*)block)[0] ^= iv[0];
    13251325                                ((UINT32*)block)[1] ^= iv[1];
     
    13321332                        }
    13331333                        /* last block */
    1334                         decrypt(input, block);
     1334                        r_decrypt(input, block);
    13351335                        ((UINT32*)block)[0] ^= iv[0];
    13361336                        ((UINT32*)block)[1] ^= iv[1];
     
    14561456}       
    14571457
    1458 void encrypt(const UINT8 a[16], UINT8 b[16])
     1458void r_encrypt(const UINT8 a[16], UINT8 b[16])
    14591459{
    14601460        int r;
     
    15311531}
    15321532
    1533 void decrypt(const UINT8 a[16], UINT8 b[16])
     1533void r_decrypt(const UINT8 a[16], UINT8 b[16])
    15341534{
    15351535        int r;
  • tools/traceanon/rijndael.h

    r49f147b r41b53c2  
    155155void keySched(UINT8 key[_MAX_KEY_COLUMNS][4]);
    156156void keyEncToDec();
    157 void encrypt(const UINT8 a[16], UINT8 b[16]);
    158 void decrypt(const UINT8 a[16], UINT8 b[16]);
     157void r_encrypt(const UINT8 a[16], UINT8 b[16]);
     158void r_decrypt(const UINT8 a[16], UINT8 b[16]);
    159159//};
    160160       
  • tools/tracesplit/tracesplit.c

    r5d022cd r41b53c2  
    22#include <stdio.h>
    33#include <stdlib.h>
    4 #include <inttypes.h>
     4#ifdef HAVE_INTTYPES_H
     5#  include <inttypes.h>
     6#endif
    57#include <stdbool.h>
    68#include <getopt.h>
    79#include <string.h>
     10
     11#ifndef UINT64_MAX
     12# if __WORDSIZE == 64
     13#  define UINT64_MAX    18446744073709551615UL
     14# else
     15#  define UINT64_MAX    18446744073709551615ULL
     16# endif
     17#endif
    818
    919char *strdupcat(char *str,char *app)
Note: See TracChangeset for help on using the changeset viewer.