Your message dated Wed, 9 Aug 2006 00:53:03 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Closing ancient (tagged woody) bugs
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
package: snort
severity: normal
version: 2.0.0-3.1

Hi Sander,

I just sent the message below to the snort-develop mailing list. I am
getting bus errors when running Snort on a Sparc. The problem is easy to
understand, and I believe the fix is easy (always align the IP header,
not only when the OS is Solaris or HP/UX - see below). I am opening a
bug in the hope that you have a good relationship with the Snort guys
and can work with them to get this fixed. Snort definitely has a lot of
"coded for i386" problems, and they should be fixed since not everybody
uses this platform.

Thanks!

Eloy.-

----- Forwarded message from peloy -----

Date: Mon, 16 Jun 2003 23:54:35 -0400
To: [EMAIL PROTECTED]
Subject: Getting bus errors on the Sparc - SPARC_TWIDDLE?
User-Agent: Mutt/1.5.4i

Hi!

I am getting 100% reproducible bus errors when running Snort 2.0.0 on
the Sparc (Linux).

The problem is that Snort is trying to write a 32-bit value (an IP
address, actually) to a non-aligned address. The crash happens around
line 3933 (+/- a couple of lines since I added some debug statements) of
src/preprocessors/spp_stream4.c:

        stream_pkt->iph->ip_src.s_addr = p->iph->ip_dst.s_addr;

The pointer to an IP header stream_pkt->iph contains a non-word aligned
address, so this statement causes a bus error on the Sparc.

stream_pkt->iph is initialized like this:

    stream_pkt->pkt = ((u_int8_t *)stream_pkt->pkth) + sizeof(SnortPktHeader);
    stream_pkt->eh = (EtherHdr *)((u_int8_t *)stream_pkt->pkt + SPARC_TWIDDLE);
    stream_pkt->iph = (IPHdr *)((u_int8_t *)stream_pkt->eh +
                      ETHERNET_HEADER_LEN);

Under Linux SPARC_TWIDDLE is 0, so stream_pkt->pkt == stream_pkt->eh,
which are word-aligned. Now, since ETHERNET_HEADER_LEN is 14,
stream_pkt->iph ends up non-aligned, which causes the bus error when
trying to write a 32-bit word to that address.

My question is: why not set SPARC_TWIDDLE to 2 in all cases, not just
for SOLARIS || SUNOS || HPUX? In any case, I think it is not correct to
set it to 2 based on Operating System, since Solaris runs on both Sparc
and Intel processors, and so does Linux. This "twiddle" should be set
based on the target architecture, IMHO.

Cheers,

Eloy.-


----- End forwarded message -----


--- End Message ---
--- Begin Message ---
Hi,

This bug has been open for quite a long time and it is tagged 'woody'. As the
latest Debian release 3.1 'sarge' has been available since last year and this
bugs do not seem to be present there I'm closing this bug.

Please reopen the bug if you have evidence that this bug is still present in
newer versions of the package. Any additional information would also be
really useful.

Thanks

Javier

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to