new clients rc.66 on the server
Peter Van Epp
vanepp at sfu.ca
Fri Dec 28 14:12:56 EST 2007
On Thu, Dec 27, 2007 at 03:52:33PM -0500, Carter Bullard wrote:
> Gentle people,
> I have upload
> ftp://qosient.com/dev/argus-3.0/argus-clients-3.0.0.rc.66.tar.gz
>
> This fixes all reported bugs except the GRE flow parsing problem.
> The bugs include:
> clients can now be compiled without threads support (.threads
> tagfile).
> netflow interface binding - this has caused us to change the
> command line interface for specifying Cisco data sources
> using the -C option. Now the -C option acts much like the
> -S option now, where you specify a host and port pair for
> where the data will come from ( so -CS host:port is now -C
> host:port).
> Please see the man page for ra() to see the changes.
>
> racluster RACLUSTER_AUTO_CORRECTION=no parsing fixed.
> ra() not printing data by default. this is now fixed.
> ragrep() fixes for specifying hex patterns in regular expression.
> rahisto() keywords for rate and load are now correct.
>
> Plus a number of undocumented issues in documentation.
> Please take a look at this release candidate and see if it addresses
> your particular issue.
>
> Thanks, and I hope all had a wonderful holiday!!!!!!
>
> Carter
>
>
>
Closer but still no cookie (at least here :-). On rc.66:
vanepp at sniffer1:~> gdb ra3
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc-suse-linux"...Using host libthread_db library "/lib/power5+/libthread_db.so.1".
(gdb) l ArgusGetServerSocket
...
(gdb) r -C 192.75.244.195:1025 -n
Starting program: /usr/local/bin/ra3 -C 192.75.244.195:1025 -n
[Thread debugging using libthread_db enabled]
[New Thread -134574080 (LWP 3910)]
[Switching to Thread -134574080 (LWP 3910)]
Breakpoint 1, ArgusGetServerSocket (input=0xf7f48008, timeout=5)
at ./argus_client.c:2256
2256 if (hp != NULL)
(gdb) l
2251 } while (hp && (retn < 0));
2252 break;
2253 }
2254
2255 case ARGUS_CISCO_DATA_SOURCE: {
2256 if (hp != NULL)
2257 s = socket (hp->ai_family, hp->ai_socktype, hp->ai_protocol);
2258 else
2259 s = socket (AF_INET, SOCK_DGRAM, 0);
2260
(gdb) l
2261 if (s >= 0) {
2262 if (hp != NULL) {
2263 if (getnameinfo(hp->ai_addr, hp->ai_addrlen, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV))
2264 ArgusLog(LOG_ERR, "could not get numeric hostname");
2265
2266 if (hp->ai_canonname) {
2267 if (input->hostname)
2268 free(input->hostname);
2269 input->hostname = strdup(hp->ai_canonname);
2270 } else {
(gdb) l
2271 if (input->hostname)
2272 free(input->hostname);
2273 input->hostname = strdup(hbuf);
2274 }
2275
2276 if (hp->ai_socktype == SOCK_DGRAM) {
2277 #ifdef ARGUSDEBUG
2278 ArgusLog (1, "Binding %s:%s Expecting %s records", input->hostname, sbuf, ArgusRecordType);
2279 #endif
2280 if ((retn = bind (s, hp->ai_addr, hp->ai_addrlen)) < 0) {
(gdb) l
2281 ArgusLog(LOG_WARNING, "connect to %s:%s failed '%s'", input->hostname, sbuf, strerror(errno));
2282 hp = hp->ai_next;
2283 } else {
2284 retn = s;
2285 input->fd = s;
2286 }
2287
2288 } else {
2289 if (setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (char *)&optval, sizeof(int)) < 0) {
2290 #ifdef ARGUSDEBUG
(gdb) b 2280
Breakpoint 2 at 0x1005a5bc: file ./argus_client.c, line 2280.
(gdb) c
Continuing.
ra3[3910]: 07-12-28 11:02:49 Binding 192.75.244.195:1025 Expecting Netflow records
Breakpoint 2, ArgusGetServerSocket (input=0xf7f48008, timeout=5)
at ./argus_client.c:2280
2280 if ((retn = bind (s, hp->ai_addr, hp->ai_addrlen)) < 0) {
(gdb) print *hp
$3 = {ai_flags = 0, ai_family = 2, ai_socktype = 2, ai_protocol = 17,
ai_addrlen = 16, ai_addr = 0x101f5298, ai_canonname = 0x0, ai_next = 0x0}
(gdb) print *hp->ai_addr
$4 = {sa_family = 2, sa_data = "\004\001 at KtC\000\000\000\000\000\000\000"}
(gdb) s
2281 ArgusLog(LOG_WARNING, "connect to %s:%s failed '%s'", input->hostname, sbuf, strerror(errno));
(gdb)
ra3[3910]: 07-12-28 11:04:38 connect to 192.75.244.195:1025 failed 'Cannot assign requested address'
Program exited normally.
So unless I don't understand what is wanted (I'm assuming the remote
netflow host ip and port number) there looks to be something still wrong. As
usual this is Linux on PPC 64 bit without threads (although gdb claims it is
using the threads librarys it does seem to be a single thread).
Peter Van Epp / Operations and Technical Support
Simon Fraser University, Burnaby, B.C. Canada
More information about the argus
mailing list