Hai - can you try this patch against original edge.c.

Index: edge.c
===================================================================
--- edge.c      (revision 3486)
+++ edge.c      (working copy)
@@ -608,9 +608,12 @@
     if(ntohs(eh->ether_type) == 0x0800) {
 
       /* Note: all elements of the_ip are in network order */
-      struct ip *the_ip = (struct ip*)(decrypted_msg+sizeof(struct
ether_header));
+      struct ip the_ip; /* Make sure this struct is aligned for all platforms.
*/
+      memcpy( &the_ip, 
+              (decrypted_msg+sizeof(struct ether_header)),
+              sizeof(the_ip) );
 
-      if(the_ip->ip_src.s_addr != device.ip_addr) {
+      if(the_ip.ip_src.s_addr != device.ip_addr) {
        /* This is a packet that needs to be routed */
        traceEvent(TRACE_INFO, "Discarding routed packet");
        return;


--- Richard Andrews <[EMAIL PROTECTED]> wrote:

> Hai - can you please create a new patch that modifies send_packet2net() such
> that "the_ip" is a local variable (not a pointer) and the data is put into it
> via memcpy. Something like:
> 
>     struct ip the_ip;
>     memcpy( &the_ip, 
>             decrypted_msg+sizeof(struct ether_header), 
>             sizeof(the_ip) );



      Get the name you always wanted with the new y7mail email address. 
www.yahoo7.com.au/y7mail

_______________________________________________
Ntop-dev mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to