L:
In the latest cvs, I'm seeing the warning from isLocalAddress().
Mar 4 12:07:48 tigger ntop[7782]: TEMP: flowsProcess() LastSeenWatchPlugin
deviceId=1
Mar 4 12:07:48 tigger ntop[7782]: TEMP: handleLsPacket(1158866564, ...)
Mar 4 12:07:48 tigger ntop[7782]: WARNING: Index 1158866564 out of range
[0..2]
Mar 4 12:07:48 tigger ntop[7782]: *****ntop backtrace*****
Mar 4 12:07:48 tigger ntop[7782]: backtrace is:
Mar 4 12:07:48 tigger ntop[7782]: 0.
/usr/lib/libntop-2.1.58pre.so(isLocalAddress+0xac) [0x40118f04]
Mar 4 12:07:48 tigger ntop[7782]: 1.
/usr/lib/libntop-2.1.58pre.so(isPseudoLocalAddress+0x20) [0x401196ec]
Mar 4 12:07:48 tigger ntop[7782]: 2.
/usr/lib/ntop/plugins/lastSeenPlugin.so(strftime+0x104e) [0x4062f04e]
Mar 4 12:07:48 tigger ntop[7782]: 3.
/usr/lib/libntop-2.1.58pre.so [0x4010bc47]
Mar 4 12:07:48 tigger ntop[7782]: 4.
/usr/lib/libntop-2.1.58pre.so(processPacket+0x520) [0x4010c494]
Mar 4 12:07:48 tigger ntop[7782]: 5. /usr/lib/libpcap.so.0.6.2
[0x4060ebf4]
Mar 4 12:07:48 tigger ntop[7782]: 6.
/usr/lib/libpcap.so.0.6.2(pcap_dispatch+0x5b) [0x4060ff0b]
Mar 4 12:07:48 tigger ntop[7782]: 7.
/usr/lib/libntop-2.1.58pre.so(pcapDispatch+0x143) [0x401059ff]
Mar 4 12:07:48 tigger ntop[7782]: 8. /lib/i686/libpthread.so.0
[0x40455941]
Mar 4 12:07:48 tigger ntop[7782]: 9. /usr/bin/ntop(__clone+0x3a)
[0x420da1ca]
Adding a couple of messages to pbuf.c
static void flowsProcess(const struct pcap_pkthdr *h, const u_char *p, int
deviceId) {
FlowFilterList *list = myGlobals.flowsList;
while(list != NULL) {
if((list->pluginStatus.activePlugin)
&& (list->fcode[deviceId].bf_insns != NULL)
&& (bpf_filter(list->fcode[deviceId].bf_insns,
(u_char*)p, h->len, h->caplen))) {
incrementTrafficCounter(&list->bytes, h->len);
incrementTrafficCounter(&list->packets, 1);
if(list->pluginStatus.pluginPtr != NULL) {
void(*pluginFunc)(u_char*, const struct pcap_pkthdr*, const
u_char*);
traceEvent(CONST_TRACE_INFO, "TEMP: flowsProcess() %s deviceId=%d\n",
list->flowName, deviceId);
pluginFunc = (void(*)(u_char *_deviceId, const struct pcap_pkthdr*,
const
u_char*))list->pluginStatus.pluginPtr->pluginFunc;
pluginFunc((u_char*)&deviceId, h, p);
#ifdef DEBUG
printf("Match on %s for '%s'\n", myGlobals.device[deviceId].name,
list->flowName);
#endif
}
} else {
#ifdef DEBUG
traceEvent(CONST_TRACE_INFO, "No match on %s for '%s'\n",
myGlobals.device[deviceId].name,
list->flowName);
#endif
}
list = list->next;
}
}
Looks like the int -> u_char conversion is messed up?? Now that we're using
the value?
-----Burton
_______________________________________________
Ntop-dev mailing list
[EMAIL PROTECTED]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev