|
From: <nor...@us...> - 2007-05-09 16:40:20
|
Revision: 10
http://opencalea.svn.sourceforge.net/opencalea/?rev=10&view=rev
Author: norm_brandinger
Date: 2007-05-09 09:40:21 -0700 (Wed, 09 May 2007)
Log Message:
-----------
added: etc/opencalea/opencalea.conf
df_collector: socket fixes
Modified Paths:
--------------
src/calea.c
src/common.h
src/df_collector.c
src/util.c
src/util.h
Modified: src/calea.c
===================================================================
--- src/calea.c 2007-05-09 14:44:04 UTC (rev 9)
+++ src/calea.c 2007-05-09 16:40:21 UTC (rev 10)
@@ -126,7 +126,8 @@
int bytes_sent;
if ( (bytes_sent = send ( *send_socket, packet, length, 0)) == -1 ) {
- pdie ( "PacketSend:" );
+ debug_5("PacketSend error: %s", strerror(errno));
+ // pdie ( "PacketSend:" );
switch ( errno ) {
case EHOSTUNREACH:
case EHOSTDOWN:
Modified: src/common.h
===================================================================
--- src/common.h 2007-05-09 14:44:04 UTC (rev 9)
+++ src/common.h 2007-05-09 16:40:21 UTC (rev 10)
@@ -101,7 +101,7 @@
#endif
#ifndef CmC_PORT
-#define CmC_PORT 41815
+#define CmC_PORT 41820
#endif
#ifndef DF_CONTROL_PORT
Modified: src/df_collector.c
===================================================================
--- src/df_collector.c 2007-05-09 14:44:04 UTC (rev 9)
+++ src/df_collector.c 2007-05-09 16:40:21 UTC (rev 10)
@@ -216,6 +216,15 @@
int id;
char route_port[8];
+ socklen_t socklen;
+ /* returned by Getsockopt */
+ union sockval {
+ int i_sockval;
+ long l_sockval;
+ struct linger linger_sockval;
+ struct timeval timeval_sockval;
+ } sockval;
+
switch(msg->msgh.msgtype) {
case MSGTYPE_NONE:
@@ -329,14 +338,8 @@
}
id = ntohs(msg->msgh.routeid);
-
inet_ntop (route[id].lea_addr.sin_family, &route[id].lea_addr.sin_addr.s_addr, addrstr, sizeof(addrstr));
- debug_5("df_collector: CmII packet -> route[%d] %s:%d",
- id,
- addrstr,
- ntohs(route[id].lea_addr.sin_port));
-
num_sent = sendto (route[id].fd,
((char *)msg + msg_len),
msg->msgh.msglen,
@@ -349,6 +352,8 @@
id,
addrstr,
ntohs(route[id].lea_addr.sin_port));
+ socklen = sizeof(sockval);
+ Getsockopt(route[id].fd, SOL_SOCKET, SO_ERROR, &sockval, &socklen);
} else {
debug_5("df_collector: CmII packet -> route[%d] %s:%d %d bytes sent ",
id,
@@ -378,12 +383,8 @@
}
id = ntohs(msg->msgh.routeid);
+ inet_ntop (route[id].lea_addr.sin_family, &route[id].lea_addr.sin_addr.s_addr, addrstr, sizeof(addrstr));
- debug_5("df_collector: CmC packet -> route[%d]=%d port:%d",
- id,
- route[id].fd,
- ntohs(route[id].lea_addr.sin_port));
-
num_sent = sendto (route[id].fd,
((char *)msg + msg_len),
msg->msgh.msglen,
@@ -396,6 +397,8 @@
id,
addrstr,
ntohs(route[id].lea_addr.sin_port));
+ socklen = sizeof(sockval);
+ Getsockopt(route[id].fd, SOL_SOCKET, SO_ERROR, &sockval, &socklen);
} else {
debug_5("df_collector: CmC packet -> route[%d] %s:%d %d bytes sent ",
id,
@@ -648,9 +651,9 @@
FD_SET(CmII_tcpfd, &allset);
FD_SET(CmII_udpfd, &allset);
- FD_SET(CmC_tcpfd, &allset);
- FD_SET(CmC_udpfd, &allset);
- FD_SET(controlfd, &allset);
+ FD_SET(CmC_tcpfd, &allset);
+ FD_SET(CmC_udpfd, &allset);
+ FD_SET(controlfd, &allset);
/* initialize the maximum file desctiptor for the select() */
maxfd = max(CmII_tcpfd, CmII_udpfd);
Modified: src/util.c
===================================================================
--- src/util.c 2007-05-09 14:44:04 UTC (rev 9)
+++ src/util.c 2007-05-09 16:40:21 UTC (rev 10)
@@ -433,6 +433,20 @@
* Setsockopt - set the socket options
*/
+int Getsockopt(int socket, int level, int option_name, void *option_value, socklen_t *option_len) {
+ int rc;
+
+ rc = getsockopt(socket, level, option_name, option_value, option_len);
+ if (rc == -1) {
+ debug_5("Getsockopt error: %s", strerror(errno));
+ }
+ return(rc);
+}
+
+/**
+ * Setsockopt - set the socket options
+ */
+
int Setsockopt(int socket, int level, int option_name, const void *option_value, socklen_t option_len) {
int rc;
@@ -486,7 +500,6 @@
char *trim_line(char *buf) {
char *buf_ptr, *p2;
- int i;
if (buf) {
Modified: src/util.h
===================================================================
--- src/util.h 2007-05-09 14:44:04 UTC (rev 9)
+++ src/util.h 2007-05-09 16:40:21 UTC (rev 10)
@@ -57,6 +57,7 @@
int Connect(int socket, const struct sockaddr *address, socklen_t address_len);
int Bind(int socket, const struct sockaddr *address, socklen_t address_len);
int Listen(int socket, int backlog);
+int Getsockopt(int socket, int level, int option_name, void *option_value, socklen_t *option_len);
int Setsockopt(int socket, int level, int option_name, const void *option_value, socklen_t option_len);
struct addrinfo *Getaddrinfo1st(const char *hostname, int port, int family, int socktype);
int Gethostname(char *, size_t );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|