OpenCALEA
Date Prev | Date Next |
Date Index |
Thread Index |
Author Index |
Historical
Re: [OpenCALEA] Debian compile problem
- From: Jesse Norell
- Date: Tue Mar 27 18:14:08 2007
Nope, that doesn't work on freebsd:
tap.c: In function `process_packet':
tap.c:90: error: structure has no member named `source'
tap.c:91: error: structure has no member named `dest'
tap.c:94: error: structure has no member named `source'
tap.c:95: error: structure has no member named `dest'
So just stick the #define back in and it should be fine.
On Tue, 2007-03-27 at 15:55 -0600, Jesse Norell wrote:
> Hello,
>
> Yeah, previously __FAVOR_BSD was defined, and I screwed that up
> (though I thought I tested a build on debian); you can just:
>
> --- common.h (revision 8)
> +++ common.h (working copy)
> @@ -38,6 +38,7 @@
> #include <stdarg.h>
> #include <time.h>
> #include <unistd.h>
> +#define __FAVOR_BSD
> #include <netinet/in_systm.h>
> #include <netinet/in.h>
> #include <netinet/ip.h>
>
> or rename the structure members .. don't know which is better for
> portability (I could test that on FreeBSD .. don't if the other
> structure names work there or not (I don't see them in
> netint/{tcp,udp}.h right offhand).
>
>
>
>
>
> On Tue, 2007-03-27 at 16:53 -0400, Norman Brandinger wrote:
> > I'm running debian and received the following compile errors:
> >
> > tap.c: In function ‘process_packet’:
> > tap.c:90: error: ‘struct udphdr’ has no member named ‘uh_sport’
> > tap.c:91: error: ‘struct udphdr’ has no member named ‘uh_dport’
> > tap.c:94: error: ‘struct tcphdr’ has no member named ‘th_sport’
> > tap.c:95: error: ‘struct tcphdr’ has no member named ‘th_dport’
> >
> > Applying the patch below has corrected the compile problem for me.
> >
> > I suppose an alternate solution would be as follows:
> >
> > In udp.h, the uh_sport/uh_dport definitions can be activated by defining
> > __FAVOR_BSD at compile time (ditto for tcp.h).
> >
> > /usr/include/netinet/udp.h:
> > ....
> > /* UDP header as specified by RFC 768, August 1980. */
> > #ifdef __FAVOR_BSD
> > ....
> >
> > Regards,
> > Norm
> >
> >
> > --- tap.c 2007-03-27 16:41:08.000000000 -0400
> > +++ tap.c.new 2007-03-27 16:42:38.000000000 -0400
> > @@ -87,12 +87,12 @@
> > payload.dstIP = htonl(ip->ip_dst.s_addr);
> > if ( ip->ip_p == IPPROTO_UDP ) {
> > udp = ( struct udphdr* ) ( (u_char *)ip + (ip->ip_hl *4) );
> > - payload.srcPort = htons(udp->uh_sport);
> > - payload.dstPort = htons(udp->uh_dport);
> > + payload.srcPort = htons(udp->source);
> > + payload.dstPort = htons(udp->dest);
> > } else if ( ip->ip_p == IPPROTO_TCP ) {
> > tcp = ( struct tcphdr* ) ( (u_char *)ip + (ip->ip_hl *4) );
> > - payload.srcPort = htons(tcp->th_sport);
> > - payload.dstPort = htons(tcp->th_dport);
> > + payload.srcPort = htons(tcp->source);
> > + payload.dstPort = htons(tcp->dest);
> > } else {
> > payload.srcPort = 0;
> > payload.dstPort = 0;
> >
--
Jesse Norell - jesse@kci.net
Kentec Communications, Inc.
|