Hi Anders Widell,

ACK Reviewed & tested IPv4 & IPv6

-AVM

On 8/23/2016 3:34 PM, Anders Widell wrote:
>   osaf/services/infrastructure/dtms/dtm/dtm_inter_svc.c    |    5 +-
>   osaf/services/infrastructure/dtms/dtm/dtm_intra.c        |   10 +-
>   osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c    |   18 +-
>   osaf/services/infrastructure/dtms/dtm/dtm_main.c         |   18 -
>   osaf/services/infrastructure/dtms/dtm/dtm_node.c         |   96 ------
>   osaf/services/infrastructure/dtms/dtm/dtm_node_db.c      |   94 -----
>   osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c |  236 
> +--------------
>   osaf/services/infrastructure/dtms/dtm/dtm_read_config.c  |   41 +-
>   osaf/services/infrastructure/dtms/include/dtm.h          |    3 -
>   osaf/services/infrastructure/dtms/include/dtm_cb.h       |    2 +-
>   osaf/services/infrastructure/dtms/include/dtm_node.h     |    2 -
>   11 files changed, 49 insertions(+), 476 deletions(-)
>
>
> The following warnings, reported by cppcheck version 1.75, have been fixed:
>
> [osaf/services/infrastructure/dtms/dtm/dtm_inter_svc.c:342]: (style) The 
> scope of the variable 'buffer' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra.c:95]: (style) The scope of 
> the variable 'servlen' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra.c:97]: (style) The scope of 
> the variable 'server_ux_name' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra.c:155]: (style) Obsolescent 
> function 'bzero' called. It is recommended to use 'memset' instead.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra.c:207]: (error) 
> Uninitialized variable: serveraddr
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:139]: (style) The 
> scope of the variable 'del_ptr' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:243]: (style) The 
> scope of the variable 'tmp' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:1836]: (style) The 
> scope of the variable 'local_svc_node' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:710]: (style) Variable 
> 'node_id' is assigned a value that is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:320]: (error) Memory 
> leak: svc_node
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:512]: (error) Memory 
> leak: subscr_node
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:516]: (error) Memory 
> leak: subscr_info
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:1728]: (error) Memory 
> leak: svc_info
> [osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c:1754]: (error) Memory 
> leak: local_svc_info
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:54]: (style) 
> Assignment of function parameter has no effect outside the function.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:74]: (style) The 
> scope of the variable 'optlen' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:423]: (style) The 
> scope of the variable 'err' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:617]: (style) The 
> scope of the variable 'ip_addr_eth' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:720]: (style) The 
> scope of the variable 'mcast_addr_eth' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:812]: (style) The 
> scope of the variable 'mcast_addr_eth' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:1428]: (style) The 
> scope of the variable 'numericAddress' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:1429]: (style) The 
> scope of the variable 'addrBuffer' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:191]: (error) 
> Uninitialized variable: join_request
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:192]: (error) 
> Uninitialized variable: join_request
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:950]: (error) 
> Uninitialized variable: addr_list
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:1014]: (error) 
> Uninitialized variable: maddr
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:1015]: (error) 
> Uninitialized variable: maddr
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:1144]: (error) 
> Uninitialized variable: maddr
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:1145]: (error) 
> Uninitialized variable: maddr
> [osaf/services/infrastructure/dtms/dtm/dtm_read_config.c:139]: (style) The 
> scope of the variable 'tmp' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_read_config.c:140]: (style) The 
> scope of the variable 'buf' can be reduced.
> [osaf/services/infrastructure/dtms/dtm/dtm_read_config.c:271]: (warning) 
> fscanf() without field width limits can crash with huge input data.
> [osaf/services/infrastructure/dtms/dtm/dtm_read_config.c:327]: (error) 
> Resource leak: dtm_conf_file
> [osaf/services/infrastructure/dtms/dtm/dtm_node.c:155]: (style) The function 
> 'add_self_node' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_node.c:230]: (style) The function 
> 'datagram_buff_dump' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:421]: (style) The 
> function 'dtm_comm_socket_recv' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_db.c:252]: (style) The 
> function 'dtm_node_get_by_node_ip' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_db.c:219]: (style) The 
> function 'dtm_node_getnext_by_comm_socket' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_db.c:280]: (style) The 
> function 'dtm_node_getnext_by_nodeaddr' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_main.c:403]: (style) The function 
> 'dtms_cb_dump' is never used.
> [osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c:886]: (style) The 
> function 'get_in_addr' is never used.
>
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_inter_svc.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_inter_svc.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_inter_svc.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_inter_svc.c
> @@ -15,6 +15,7 @@
>    *
>    */
>   
> +#include <stdlib.h>
>   #include "usrbuf.h"
>   #include "dtm.h"
>   #include "dtm_cb.h"
> @@ -339,7 +340,6 @@ uint32_t dtm_internode_add_to_svc_dist_l
>    */
>   uint32_t dtm_internode_del_from_svc_dist_list(uint32_t server_type, 
> uint32_t server_inst, uint32_t pid)
>   {
> -     uint8_t *buffer = NULL;
>       DTM_SVC_DATA *back = NULL, *mov_ptr = NULL;
>       int check_val = 0;
>       TRACE_ENTER();
> @@ -380,7 +380,8 @@ uint32_t dtm_internode_del_from_svc_dist
>       }
>   
>       if (1 == check_val) {
> -             if (NULL == (buffer = calloc(1, DTM_DOWN_MSG_SIZE_FULL))) {
> +             uint8_t *buffer = calloc(1, DTM_DOWN_MSG_SIZE_FULL);
> +             if (buffer == NULL) {
>                       TRACE("DTM :CALLOC FAILED FOR buffer, unable to send 
> down to all nodes");
>                       TRACE_LEAVE();
>                       return NCSCC_RC_FAILURE;
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_intra.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_intra.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_intra.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_intra.c
> @@ -25,6 +25,7 @@
>   #include <sys/time.h>
>   #include <arpa/inet.h>
>   #include <netdb.h>
> +#include <netinet/in.h>
>   #include <configmake.h>
>   
>   #include "ncs_main_papi.h"
> @@ -92,9 +93,7 @@ uint32_t dtm_service_discovery_init(DTM_
>   uint32_t dtm_intra_processing_init(char *node_name, char *node_ip, 
> DTM_IP_ADDR_TYPE i_addr_family, int32_t sndbuf_size, int32_t rcvbuf_size)
>   {
>   
> -     int servlen;    /* For socket fd and server len */
>       struct sockaddr_un serv_addr;   /* For Unix Sock address */
> -     char server_ux_name[255];
>       NCS_PATRICIA_PARAMS pat_tree_params;
>       struct sockaddr_in serveraddr;
>       struct sockaddr_in6 serveraddr6;
> @@ -152,18 +151,19 @@ uint32_t dtm_intra_processing_init(char
>   
>       dtm_intranode_cb->nodeid = m_NCS_GET_NODE_ID;
>   
> -     bzero((char *)&serv_addr, sizeof(serv_addr));
> +     memset((char *)&serv_addr, 0, sizeof(serv_addr));
>   
>       if (dtm_socket_domain == AF_UNIX) {
>   #define UX_SOCK_NAME_PREFIX PKGLOCALSTATEDIR "/osaf_dtm_intra_server"
>   
> +             char server_ux_name[255];
>               sprintf(server_ux_name, "%s", UX_SOCK_NAME_PREFIX);
>               serv_addr.sun_family = AF_UNIX;
>               strcpy(serv_addr.sun_path, server_ux_name);
>   
>               unlink(serv_addr.sun_path);
>   
> -             servlen = strlen(serv_addr.sun_path) + 
> sizeof(serv_addr.sun_family);
> +             int servlen = strlen(serv_addr.sun_path) + 
> sizeof(serv_addr.sun_family);
>   
>               /* Bind the created socket here with the address  NODEID,
>                *  if bind fails return error by the closing the
> @@ -204,7 +204,7 @@ uint32_t dtm_intra_processing_init(char
>               } else {
>                       memset(&serveraddr6, 0, sizeof(serveraddr6));
>                       serveraddr6.sin6_family      = AF_INET6;
> -                     serveraddr.sin_port        = 
> htons(DTM_INTRA_SERVER_PORT);
> +                     serveraddr6.sin6_port        = 
> htons(DTM_INTRA_SERVER_PORT);
>                       inet_pton(AF_INET6, "localhost", 
> &serveraddr6.sin6_addr);
>    
>                       if (bind(dtm_intranode_cb->server_sockfd, (struct 
> sockaddr *)&serveraddr6, sizeof(serveraddr6) ) < 0) {
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c
> @@ -136,7 +136,7 @@ uint32_t dtm_intranode_process_pid_down(
>               LOG_ER("DTM INTRA: PID info coressponding to fd doesnt exist, 
> database mismatch. fd :%d",fd);           
>               osafassert(0);  /* This condition should never come,database 
> mismatch */
>       } else {
> -             DTM_PID_SVC_INSTALLED_INFO *svc_list = 
> pid_node->svc_installed_list, *del_ptr = NULL;
> +             DTM_PID_SVC_INSTALLED_INFO *svc_list = 
> pid_node->svc_installed_list;
>               DTM_INTRANODE_PID_INFO *pid_node1 = NULL;
>               DTM_PID_SVC_SUSBCR_INFO *subscr_data = pid_node->subscr_list;
>               DTM_NODE_SUBSCR_INFO *node_subscr = NULL;
> @@ -224,7 +224,7 @@ uint32_t dtm_intranode_process_pid_down(
>                                       subscr_list = subscr_list->next;
>                               }
>                       }
> -                     del_ptr = svc_list;
> +                     DTM_PID_SVC_INSTALLED_INFO* del_ptr = svc_list;
>   
>                       svc_list = svc_list->next;
>                       dtm_intranode_del_svclist_from_pid_tree(pid_node, 
> del_ptr);
> @@ -240,9 +240,8 @@ uint32_t dtm_intranode_process_pid_down(
>               m_NCS_IPC_RELEASE(&pid_node->mbx, NULL);
>   
>               close(pid_node->mbx_fd);
> -             DTM_INTRANODE_UNSENT_MSGS  *tmp = NULL;
>               while(pid_node->msgs_hdr != NULL) {
> -                     tmp = pid_node->msgs_hdr;
> +                     DTM_INTRANODE_UNSENT_MSGS* tmp = pid_node->msgs_hdr;
>                       if (tmp->buffer != NULL)
>                               free(tmp->buffer);
>                       pid_node->msgs_hdr = pid_node->msgs_hdr->next;
> @@ -317,6 +316,7 @@ uint32_t dtm_intranode_process_bind_msg(
>               if (NULL == (svc_list = calloc(1, sizeof(DTM_SVC_LIST)))) {
>                       TRACE("DTM :calloc failed for DTM_SVC_LIST");
>                       dtm_intranode_del_svclist_from_pid_tree(pid_node, 
> svc_install_info);
> +                     // cppcheck-suppress memleak
>                       return NCSCC_RC_FAILURE;
>               }
>               svc_list->server_inst_lower = 
> svc_install_info->server_instance_lower;
> @@ -509,10 +509,12 @@ uint32_t dtm_intranode_process_subscribe
>   
>               if (NULL == (subscr_info = calloc(1, 
> sizeof(DTM_SUBSCRIBER_LIST)))) {
>                       TRACE("DTM :calloc failed for DTM_SUBSCRIBER_LIST");
> +                     // cppcheck-suppress memleak
>                       return NCSCC_RC_FAILURE;
>               }
>               if (NULL == (subscr_data = calloc(1, 
> sizeof(DTM_PID_SVC_SUSBCR_INFO)))) {
>                       TRACE("DTM :calloc failed for DTM_PID_SVC_SUSBCR_INFO");
> +                     free(subscr_info);
>                       return NCSCC_RC_FAILURE;
>               }
>   
> @@ -707,7 +709,7 @@ uint32_t dtm_intranode_process_node_unsu
>               NODE_ID node_id = ncs_decode_32bit(&data);
>               uint32_t process_id = ncs_decode_32bit(&data);
>               uint64_t ref_val = ncs_decode_64bit(&data);
> -             node_id = node_id;      /* Just to avoid compilation error */
> +             (void) node_id;
>               TRACE_1("DTM: INTRA: node unsubscribe pid=%d", pid_node->pid);
>               dtm_del_from_node_subscr_list(process_id, ref_val);
>       }
> @@ -1725,6 +1727,7 @@ uint32_t dtm_process_internode_service_u
>                       }
>   
>                       if (NULL == (svc_list = calloc(1, 
> sizeof(DTM_SVC_LIST)))) {
> +                             // cppcheck-suppress memleak
>                               return NCSCC_RC_FAILURE;
>                       }
>                       svc_list->server_inst_lower = ncs_decode_32bit(&data);
> @@ -1751,6 +1754,7 @@ uint32_t dtm_process_internode_service_u
>                       }
>   
>                       if (NULL == (svc_list_local = calloc(1, 
> sizeof(DTM_SVC_LIST)))) {
> +                             // cppcheck-suppress memleak
>                               return NCSCC_RC_FAILURE;
>                       }
>                       svc_list_local->server_inst_lower = 
> svc_list->server_inst_lower;
> @@ -1833,7 +1837,7 @@ uint32_t dtm_process_internode_service_d
>   
>               while (0 != num_of_elements) {
>   
> -                     DTM_SVC_INSTALL_INFO *svc_info = NULL, *local_svc_node 
> = NULL;
> +                     DTM_SVC_INSTALL_INFO *svc_info = NULL;
>                       DTM_SVC_LIST svc_list = { 0 };
>                       DTM_SVC_SUBSCR_INFO *subscr_node = NULL;
>   
> @@ -1853,7 +1857,7 @@ uint32_t dtm_process_internode_service_d
>                               
> dtm_internode_del_svclist_from_svc_tree(node_info, svc_info, &svc_list);
>   
>                               /* local node delete */
> -                             local_svc_node = 
> dtm_intranode_get_svc_node(server_type);
> +                             DTM_SVC_INSTALL_INFO* local_svc_node = 
> dtm_intranode_get_svc_node(server_type);
>                               if (NULL == local_svc_node) {
>                                       LOG_ER("DTM INTRA:  Data base mismatch, 
> local_svc_node doesn't exist \n");
>                                       osafassert(0);
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_main.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_main.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_main.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_main.c
> @@ -391,21 +391,3 @@ int main(int argc, char *argv[])
>       exit(1);
>   
>   }
> -
> -/**
> - *  DTMS CB dump
> - *
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -void dtms_cb_dump(void)
> -{
> -
> -     TRACE("DTM : 
> ***************************************************************************************");
> -
> -     TRACE("DTM: My DB Snapshot ");
> -
> -     TRACE("DTM : 
> ***********************************************************************************");
> -}
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_node.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_node.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_node.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_node.c
> @@ -144,95 +144,6 @@ uint32_t dtm_process_node_info(DTM_INTER
>   }
>   
>   /**
> - * Function to add self node
> - *
> - * @param dtms_cb
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -uint32_t add_self_node(DTM_INTERNODE_CB * dtms_cb)
> -{
> -
> -     uint32_t rc = NCSCC_RC_SUCCESS;
> -     DTM_NODE_DB tmp_node;
> -     DTM_NODE_DB *node;
> -
> -     memset(&tmp_node, 0, sizeof(DTM_NODE_DB));
> -
> -     tmp_node.cluster_id = dtms_cb->cluster_id;
> -     tmp_node.node_id = dtms_cb->node_id;
> -     memcpy(tmp_node.node_ip, (uint8_t *)dtms_cb->ip_addr, INET6_ADDRSTRLEN);
> -     tmp_node.i_addr_family = dtms_cb->i_addr_family;
> -     strncpy(tmp_node.node_name, dtms_cb->node_name, 
> strlen(dtms_cb->node_name));
> -     tmp_node.comm_status = true;
> -     tmp_node.comm_socket = 0;
> -
> -     node = dtm_node_new(&tmp_node);
> -
> -     if (node == NULL) {
> -             LOG_ER("DTM:  dtm_node_new failed .node_ip : %s ", 
> tmp_node.node_ip);
> -             goto node_fail;
> -     }
> -
> -     rc = dtm_node_add(node, 0);
> -     if (rc != NCSCC_RC_SUCCESS) {
> -             LOG_ER("DTM: dtm_node_add fail  rc : %d node->node_id : %d 
> node->node_ip : %s", rc, node->node_id,
> -                    node->node_ip);
> -             rc = NCSCC_RC_FAILURE;
> -             free(node);
> -             goto done;
> -     }
> -
> -     rc = dtm_node_add(node, 1);
> -     if (rc != NCSCC_RC_SUCCESS) {
> -             LOG_ER("DTM: dtm_node_add fail  rc : %d node->node_id : %d 
> node->node_ip : %s", rc, node->node_id,
> -                    node->node_ip);
> -             if (dtm_node_delete(node, 0) != NCSCC_RC_SUCCESS) {
> -                     LOG_ER("DTM :dtm_node_delete failed ");
> -                     rc = NCSCC_RC_FAILURE;
> -                     free(node);
> -                     goto done;
> -             }
> -
> -     }
> -
> -     rc = dtm_node_add(node, 2);
> -     if (rc != NCSCC_RC_SUCCESS) {
> -             LOG_ER("DTM: dtm_node_add fail  rc : %d node->node_id : %d 
> node->node_ip : %s", rc, node->node_id,
> -                    node->node_ip);
> -             if (dtm_node_delete(node, 0) != NCSCC_RC_SUCCESS) {
> -                     LOG_ER("DTM :dtm_node_delete failed ");
> -             }
> -             if (dtm_node_delete(node, 1) != NCSCC_RC_SUCCESS) {
> -                     LOG_ER("DTM :dtm_node_delete failed");
> -             }
> -             free(node);
> -             rc = NCSCC_RC_FAILURE;
> -     }
> -
> - done:
> - node_fail:
> -     return rc;
> -
> -}
> -
> -/**
> - * Function to take dump of datagram
> - *
> - * @param buff len max
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -void datagram_buff_dump(uint8_t *buff, uint32_t len, uint32_t max)
> -{
> -     /* TBD */
> -}
> -
> -/**
>    * Function to process node up and down
>    *
>    * @param node_id node_name comm_status
> @@ -552,13 +463,6 @@ void node_discovery_process(void *arg)
>               LOG_ER("DTM: Set up the initial stream nonblocking serv  
> failed");
>               exit(1);
>       }
> -#if 0
> -
> -     if (add_self_node(dtms_cb) != NCSCC_RC_SUCCESS) {
> -             LOG_ER("DTM: add_self_node  failed");
> -             exit(1);
> -     }
> -#endif
>   
>       /*************************************************************/
>       /* Initialize the pollfd structure */
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_node_db.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_node_db.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_node_db.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_node_db.c
> @@ -208,100 +208,6 @@ DTM_NODE_DB *dtm_node_get_by_comm_socket
>   }
>   
>   /**
> - * Retrieve next node from node db by comm_socket
> - *
> - * @param comm_socket
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -DTM_NODE_DB *dtm_node_getnext_by_comm_socket(uint32_t comm_socket)
> -{
> -     DTM_NODE_DB *node = NULL;
> -     DTM_INTERNODE_CB *dtms_cb = dtms_gl_cb;
> -     TRACE_ENTER();
> -
> -     if (comm_socket == 0) {
> -
> -             node = (DTM_NODE_DB *) 
> ncs_patricia_tree_getnext(&dtms_cb->comm_sock_tree, (uint8_t *)0);
> -     } else
> -             node = (DTM_NODE_DB *) 
> ncs_patricia_tree_getnext(&dtms_cb->comm_sock_tree, (uint8_t *)&comm_socket);
> -
> -     if (node != (DTM_NODE_DB *) NULL) {
> -             /* Adjust the pointer */
> -             node = (DTM_NODE_DB *) (((char *)node)
> -                                     - (((char *)&(((DTM_NODE_DB *) 
> 0)->pat_comm_socket))
> -                                        - ((char *)((DTM_NODE_DB *) 0))));
> -             TRACE("DTM:Node found %d", node->comm_socket);
> -     }
> -
> -     TRACE_LEAVE();
> -     return node;
> -}
> -
> -/**
> - * Retrieve node from node db by node_ip
> - *
> - * @param comm_socket
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -DTM_NODE_DB *dtm_node_get_by_node_ip(uint8_t *node_ip)
> -{
> -     DTM_NODE_DB *node = NULL;
> -     DTM_INTERNODE_CB *dtms_cb = dtms_gl_cb;
> -     TRACE_ENTER();
> -
> -     node = (DTM_NODE_DB *) ncs_patricia_tree_get(&dtms_cb->ip_addr_tree, 
> (uint8_t *)node_ip);
> -     if (node != (DTM_NODE_DB *) NULL) {
> -             /* Adjust the pointer */
> -             node = (DTM_NODE_DB *) (((char *)node)
> -                                     - (((char *)&(((DTM_NODE_DB *) 
> 0)->pat_ip_address))
> -                                        - ((char *)((DTM_NODE_DB *) 0))));
> -             TRACE("DTM:Node found %s", node_ip);
> -     }
> -
> -     TRACE_LEAVE();
> -     return node;
> -}
> -
> -/**
> - * Retrieve next node from node db by node_ip
> - *
> - * @param node_ip
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -DTM_NODE_DB *dtm_node_getnext_by_nodeaddr(uint8_t *node_ip)
> -{
> -     DTM_NODE_DB *node = NULL;
> -     DTM_INTERNODE_CB *dtms_cb = dtms_gl_cb;
> -     TRACE_ENTER();
> -
> -     if (node_ip == NULL) {
> -
> -             node = (DTM_NODE_DB *) 
> ncs_patricia_tree_getnext(&dtms_cb->ip_addr_tree, (uint8_t *)0);
> -     } else {
> -             node = (DTM_NODE_DB *) 
> ncs_patricia_tree_getnext(&dtms_cb->ip_addr_tree, (uint8_t *)node_ip);
> -     }
> -     if (node != (DTM_NODE_DB *) NULL) {
> -             /* Adjust the pointer */
> -             node = (DTM_NODE_DB *) (((char *)node)
> -                                     - (((char *)&(((DTM_NODE_DB *) 
> 0)->pat_ip_address))
> -                                        - ((char *)((DTM_NODE_DB *) 0))));
> -             TRACE("DTM:Node found %s", node_ip);
> -     }
> -
> -     TRACE_LEAVE();
> -     return node;
> -}
> -
> -/**
>    * Adds the node to patricia tree
>    *
>    * @param node
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
> @@ -18,6 +18,9 @@
>   #include <netdb.h>
>   #include <netinet/tcp.h>
>   #include <arpa/inet.h>
> +#include <sys/socket.h>
> +#include <netinet/in.h>
> +#include <string.h>
>   #include "ncsencdec_pub.h"
>   #include "usrbuf.h"
>   #include "dtm.h"
> @@ -51,7 +54,6 @@ uint32_t dtm_sockdesc_close(int sock_des
>               LOG_ER("DTM : dtm_sockdesc_close err :%s", strerror(errno));
>               return NCSCC_RC_FAILURE;
>       }
> -     sock_desc = -1;
>   
>       TRACE_LEAVE2("rc :%d", NCSCC_RC_SUCCESS);
>       return NCSCC_RC_SUCCESS;
> @@ -71,7 +73,6 @@ static uint32_t set_keepalive(DTM_INTERN
>   {
>   
>       TRACE_ENTER();
> -     socklen_t optlen;
>       int comm_keepidle_time, comm_keepalive_intvl, comm_keepalive_probes;
>       int so_keepalive;
>       int smode = 1;
> @@ -83,6 +84,8 @@ static uint32_t set_keepalive(DTM_INTERN
>       comm_keepalive_probes = dtms_cb->comm_keepalive_probes;
>   
>       if (so_keepalive == true) {
> +             socklen_t optlen;
> +
>               /* Set SO_KEEPALIVE */
>               optlen = sizeof(so_keepalive);
>               if (setsockopt(sock_desc, SOL_SOCKET, SO_KEEPALIVE, 
> &so_keepalive, optlen) < 0) {
> @@ -188,6 +191,7 @@ static uint32_t dgram_join_mcast_group(D
>   
>               /* Now join the mcast "group" */
>               struct ip_mreq join_request;
> +             memset(&join_request, 0, sizeof(join_request));
>               join_request.imr_multiaddr = ((struct sockaddr_in 
> *)mcast_receiver_addr->ai_addr)->sin_addr;
>               join_request.imr_interface.s_addr =  
> inet_addr(dtms_cb->ip_addr);
>               TRACE("DTM :Joining IPv4 mcast group...");
> @@ -410,55 +414,6 @@ uint32_t dtm_comm_socket_send(int sock_d
>   }
>   
>   /**
> - * Rcv the message from the socket
> - *
> - * @param sock_desc buffer buffer_len
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -uint32_t dtm_comm_socket_recv(int sock_desc, void *buffer, int buffer_len)
> -{
> -     int rtn = 0, err = 0;
> -     int rc = NCSCC_RC_SUCCESS;
> -     TRACE_ENTER();
> -     if ((rtn = recv(sock_desc, (raw_type *) buffer, buffer_len, 0)) < 0) {
> -             err = errno;
> -             LOG_ER("DTM :dtm_comm_socket_recv failed err :%s", 
> strerror(err));
> -             rc = NCSCC_RC_FAILURE;
> -     }
> -     TRACE_LEAVE2("rc : %d", rc);
> -     return rc;
> -}
> -
> -#if 0
> -/*********************************************************
> -
> -  Function NAME:
> -  DESCRIPTION:
> -
> -  ARGUMENTS:
> -
> -  RETURNS:
> -
> -*********************************************************/
> -static char *comm_get_foreign_address(int sock_desc)
> -{
> -     struct addrinfo addr;
> -     unsigned int addr_len = sizeof(addr);
> -     TRACE_ENTER();
> -
> -     if (getpeername(sock_desc, (sockaddr *) & addr, (socklen_t *)&addr_len) 
> < 0) {
> -             LOG_ER("DTM :Fetch of foreign address failed (getpeername()) 
> err :%s", strerror(errno));
> -             return NULL;
> -     }
> -     TRACE_LEAVE();
> -     return inet_ntoa(addr.ai_addr);
> -}
> -#endif
> -
> -/**
>    * Setup the new communication socket
>    *
>    * @param dtms_cb foreign_address foreign_port ip_addr_type
> @@ -614,7 +569,6 @@ uint32_t dtm_stream_nonblocking_listener
>       struct addrinfo *addr_list = NULL, *p;; /* List of serv addresses */
>       int sndbuf_size = dtms_cb->sock_sndbuf_size, rcvbuf_size = 
> dtms_cb->sock_rcvbuf_size;
>       int rv;
> -     char ip_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
>       dtms_cb->stream_sock = -1;
>       TRACE_ENTER();
>       /* Construct the serv address structure */
> @@ -632,6 +586,7 @@ uint32_t dtm_stream_nonblocking_listener
>       /* For link-local address, need to set sin6_scope_id to match the
>          device index of the network device on it has to connecct */
>       if (dtms_cb->scope_link == true) {
> +             char ip_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
>               memset(ip_addr_eth, 0, (INET6_ADDRSTRLEN + IFNAMSIZ));
>               sprintf(ip_addr_eth,"%s%s%s", dtms_cb->ip_addr, "%", 
> dtms_cb->ifname);
>               rv = getaddrinfo(ip_addr_eth, local_port_str, &addr_criteria, 
> &addr_list);
> @@ -717,7 +672,6 @@ uint32_t dtm_dgram_mcast_listener(DTM_IN
>       char local_port_str[INET6_ADDRSTRLEN];
>       int rv;
>       struct addrinfo *addr_list;     /* Holder serv address */
> -     char mcast_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
>       TRACE_ENTER();
>   
>       TRACE("DTM :dgram_port_rcvr :%d", dtms_cb->dgram_port_rcvr);
> @@ -734,6 +688,7 @@ uint32_t dtm_dgram_mcast_listener(DTM_IN
>       /* For link-local address, need to set sin6_scope_id to match the
>          device index of the network device on it has to connecct */
>       if (dtms_cb->scope_link == true) {
> +             char mcast_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
>               memset(mcast_addr_eth, 0, (INET6_ADDRSTRLEN + IFNAMSIZ));
>               sprintf(mcast_addr_eth,"%s%s%s", dtms_cb->mcast_addr, "%", 
> dtms_cb->ifname);
>               rv = getaddrinfo(mcast_addr_eth, local_port_str, 
> &addr_criteria, &addr_list);
> @@ -809,7 +764,6 @@ uint32_t dtm_dgram_mcast_sender(DTM_INTE
>       struct addrinfo addr_criteria, *p;      // Criteria for address match
>       char local_port_str[INET6_ADDRSTRLEN];
>       int rv;
> -     char mcast_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
>       TRACE_ENTER();
>   
>       dtms_cb->dgram_sock_sndr = -1;
> @@ -826,6 +780,7 @@ uint32_t dtm_dgram_mcast_sender(DTM_INTE
>       /* For link-local address, need to set sin6_scope_id to match the
>          device index of the network device on it has to connecct */
>       if (dtms_cb->scope_link == true) {
> +             char mcast_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
>               memset(mcast_addr_eth, 0, (INET6_ADDRSTRLEN + IFNAMSIZ));
>               
> sprintf(mcast_addr_eth,"%s%s%s",dtms_cb->mcast_addr,"%",dtms_cb->ifname);
>               rv = getaddrinfo(mcast_addr_eth, local_port_str, 
> &addr_criteria, &mcast_sender_addr);
> @@ -875,24 +830,6 @@ uint32_t dtm_dgram_mcast_sender(DTM_INTE
>   }
>   
>   /**
> - * Function to get the address
> - *
> - * @param sa
> - *
> - * @return NCSCC_RC_SUCCESS
> - * @return NCSCC_RC_FAILURE
> - *
> - */
> -void *get_in_addr(struct sockaddr *sa)
> -{
> -     if (sa->sa_family == AF_INET) {
> -             return &(((struct sockaddr_in *)sa)->sin_addr);
> -     }
> -
> -     return &(((struct sockaddr_in6 *)sa)->sin6_addr);
> -}
> -
> -/**
>    * Function to listen to the bcast message
>    *
>    * @param dtms_cb
> @@ -904,7 +841,7 @@ void *get_in_addr(struct sockaddr *sa)
>   uint32_t dtm_dgram_bcast_listener(DTM_INTERNODE_CB * dtms_cb)
>   {
>   
> -     struct addrinfo addr_criteria, *addr_list, *p;  // Criteria for address
> +     struct addrinfo addr_criteria, *addr_list = NULL, *p;   // Criteria for 
> address
>       char local_port_str[INET6_ADDRSTRLEN];
>       int rv;
>       char bcast_addr_eth[INET6_ADDRSTRLEN + IFNAMSIZ];
> @@ -1011,6 +948,7 @@ uint32_t dtm_dgram_bcast_listener(DTM_IN
>   
>                       struct ipv6_mreq maddr;
>                       struct sockaddr_in6 *ipv6_mr = (struct sockaddr_in6 
> *)p->ai_addr;
> +                     memset(&maddr, 0, sizeof(maddr));
>                       maddr.ipv6mr_multiaddr =  ipv6_mr->sin6_addr;
>                       maddr.ipv6mr_interface = 
> if_nametoindex(dtms_cb->ifname);
>                       if (setsockopt(dtms_cb->dgram_sock_rcvr, IPPROTO_IPV6, 
> IPV6_ADD_MEMBERSHIP, &maddr,
> @@ -1141,6 +1079,7 @@ uint32_t dtm_dgram_bcast_sender(DTM_INTE
>               }
>   
>               struct ipv6_mreq maddr;
> +             memset(&maddr, 0, sizeof(maddr));
>               maddr.ipv6mr_multiaddr = bcast_sender_addr_in6->sin6_addr;
>               maddr.ipv6mr_interface = if_nametoindex(dtms_cb->ifname);
>               if (setsockopt (dtms_cb->dgram_sock_sndr, IPPROTO_IPV6, 
> IPV6_ADD_MEMBERSHIP, &maddr, sizeof maddr) < 0) {
> @@ -1425,8 +1364,6 @@ int dtm_process_accept(DTM_INTERNODE_CB
>   int dtm_dgram_recvfrom_bmcast(DTM_INTERNODE_CB * dtms_cb, char *node_ip, 
> void *buffer, int buffer_len)
>   {
>       struct sockaddr_storage clnt_addr;
> -     void *numericAddress = NULL;    /* Pointer to binary address */
> -     char addrBuffer[INET6_ADDRSTRLEN];
>       socklen_t addrLen = sizeof(clnt_addr);
>       int rtn;
>       TRACE_ENTER();
> @@ -1440,6 +1377,7 @@ int dtm_dgram_recvfrom_bmcast(DTM_INTERN
>   
>       } else {
>               const struct sockaddr *clnt_addr1 = (struct sockaddr 
> *)&clnt_addr;
> +             void *numericAddress = NULL;    /* Pointer to binary address */
>   
>               if (clnt_addr1->sa_family == AF_INET) {
>                       numericAddress = &((struct sockaddr_in 
> *)clnt_addr1)->sin_addr;
> @@ -1454,6 +1392,7 @@ int dtm_dgram_recvfrom_bmcast(DTM_INTERN
>               }
>   
>               /* Convert binary to printable address */
> +             char addrBuffer[INET6_ADDRSTRLEN];
>               if (inet_ntop(clnt_addr1->sa_family, numericAddress, 
> addrBuffer, sizeof(addrBuffer)) == NULL) {
>                       TRACE("DTM: invalid address :%s", addrBuffer);
>               } else {
> @@ -1464,150 +1403,3 @@ int dtm_dgram_recvfrom_bmcast(DTM_INTERN
>       TRACE_LEAVE2("rc :%d", rtn);
>       return rtn;
>   }
> -
> -#if 0
> -/*********************************************************
> -
> -  Function NAME:
> -DESCRIPTION:
> -
> -ARGUMENTS:
> -
> -RETURNS:
> -
> - *********************************************************/
> -
> -uint32_t dtm_get_sa_family(DTM_INTERNODE_CB * dtms_cb)
> -{
> -
> -     uint32_t rc = NCSCC_RC_SUCCESS;
> -     char local_port_str[INET6_ADDRSTRLEN];
> -     struct addrinfo addr_criteria;  /* Criteria for address match */
> -
> -     TRACE_ENTER();
> -
> -     char *addr_string = dtms_cb->ip_addr;   /* Server address/name */
> -
> -     TRACE("DTM :stream_port :%d", dtms_cb->stream_port);
> -     snprintf(local_port_str, sizeof(local_port_str), "%d", 
> (dtms_cb->stream_port));
> -
> -     /* Tell the system what kind(s) of address info we want */
> -     memset(&addr_criteria, 0, sizeof(addr_criteria));       /* Zero out 
> structure */
> -     addr_criteria.ai_family = AF_UNSPEC;    /* Any address family */
> -     addr_criteria.ai_socktype = SOCK_STREAM;        /* Only stream sockets 
> */
> -     addr_criteria.ai_protocol = IPPROTO_TCP;        /* Only TCP protocol */
> -     addr_criteria.ai_flags |= AI_NUMERICHOST;
> -
> -     /* Get address(es) associated with the specified name/service */
> -     struct addrinfo *addr_list;     /* Holder for list of addresses 
> returned */
> -     /* Modify servAddr contents to reference linked list of addresses */
> -     TRACE("DTM :addr_string : %s local_port_str :%s", addr_string, 
> local_port_str);
> -     int rtn_val = getaddrinfo(addr_string, local_port_str, &addr_criteria, 
> &addr_list);
> -     if (rtn_val != 0)
> -             LOG_ER("getaddrinfo() failed %d", rtn_val);
> -
> -     /* Display returned addresses */
> -     struct addrinfo *addr;
> -     for (addr = addr_list; addr != NULL; addr = addr->ai_next) {
> -
> -             if (addr->ai_addr->sa_family == AF_INET) {
> -                     dtms_cb->i_addr_family = DTM_IP_ADDR_TYPE_IPV4;
> -                     TRACE("DTM :dtms_cb->i_addr_family :%d", 
> dtms_cb->i_addr_family);
> -                     goto done;
> -             } else if (addr->ai_addr->sa_family == AF_INET6) {
> -                     dtms_cb->i_addr_family = DTM_IP_ADDR_TYPE_IPV6;
> -                     TRACE("DTM :dtms_cb->i_addr_family :%d", 
> dtms_cb->i_addr_family);
> -                     goto done;
> -             }
> -
> -             else
> -                     continue;
> -
> -     }
> -
> -     rc = NCSCC_RC_FAILURE;
> - done:
> -     /* Free address structure(s) allocated by getaddrinfo() */
> -     freeaddrinfo(addr_list);
> -     TRACE_LEAVE2("rc :%d", rc);
> -     return rc;
> -
> -}
> -
> -/*********************************************************
> -
> -  Function NAME:
> -DESCRIPTION:
> -
> -ARGUMENTS:
> -
> -RETURNS:
> -
> - *********************************************************/
> -
> -char *get_local_address(int sock_desc)
> -{
> -     TRACE_ENTER();
> -     struct addrinfo addr;
> -     unsigned int addr_len = sizeof(addr);
> -
> -     if (getsockname(sock_desc, (sockaddr *) & addr, (socklen_t *)&addr_len) 
> < 0) {
> -             LOG_ER("DTM :Fetch of local address failed (getsockname())");
> -             return NULL;
> -     }
> -     TRACE_LEAVE();
> -     return inet_ntoa(addr.sin_addr);
> -}
> -
> -unsigned short get_local_port(int sock_desc)
> -{
> -     TRACE_ENTER();
> -     struct addrinfo addr;
> -     unsigned int addr_len = sizeof(addr);
> -
> -     if (getsockname(sock_desc, (sockaddr *) & addr, (socklen_t *)&addr_len) 
> < 0) {
> -             LOG_ER("DTM :Fetch of local port failed (getsockname())");
> -             return 0;
> -     }
> -     TRACE_LEAVE();
> -     return ntohs(addr.sin_port);
> -}
> -
> -/*********************************************************
> -
> -  Function NAME:
> -DESCRIPTION:
> -
> -ARGUMENTS:
> -
> -RETURNS:
> -
> - *********************************************************/
> -uint32_t dgram_set_mcastloop(bool x)
> -{
> -
> -     TRACE_ENTER();
> -     if (mcast_sender_addr->ai_family == AF_INET6) {
> -             int val = x ? 1 : 0;
> -             if (setsockopt(dtms_cb->dgram_sock_rcvr, IPPROTO_IPV6, 
> IPV6_MULTICAST_LOOP, (char *)&val, sizeof(int))
> -                 == -1) {
> -                     LOG_ER("DTM:SetMulticastLoop(ipv6)");
> -             }
> -             return;
> -     } else if (mcast_sender_addr->ai_family == AF_INET) {
> -
> -             int val = x ? 1 : 0;
> -             if (setsockopt(dtms_cb->dgram_sock_rcvr, SOL_IP, 
> IP_MULTICAST_LOOP, (char *)&val, sizeof(int)) == -1) {
> -                     LOG_ER("DTM:SetMulticastLoop(ipv4)");
> -             }
> -
> -     } else {
> -             LOG_ER("DTM:Unable to set set_mcastloop invalid address 
> family");
> -     }
> -
> -     TRACE_LEAVE();
> -     return NCSCC_RC_SUCCESS;
> -
> -}
> -
> -#endif
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_read_config.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_read_config.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_read_config.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_read_config.c
> @@ -22,6 +22,7 @@
>   #include <netinet/in.h>
>   #include <netinet/ip.h>
>   #include <sys/socket.h>
> +#include <stdio.h>
>   #include <configmake.h>
>   #include "logtrace.h"
>   #include "ncs_main_papi.h"
> @@ -136,8 +137,6 @@ char *dtm_validate_listening_ip_addr(DTM
>   {
>       struct ifaddrs *if_addrs = NULL;
>       struct ifaddrs *if_addr = NULL;
> -     void *tmp = NULL;
> -     char buf[INET6_ADDRSTRLEN];
>       memset(match_ip, 0, INET6_ADDRSTRLEN);
>   
>       if (0 == getifaddrs(&if_addrs)) {
> @@ -149,6 +148,7 @@ char *dtm_validate_listening_ip_addr(DTM
>                               continue;
>   
>                       // Address
> +                     void *tmp = NULL;
>                       if (if_addr->ifa_addr->sa_family == AF_INET) {
>                               tmp = &((struct sockaddr_in 
> *)if_addr->ifa_addr)->sin_addr;
>                       } else if (if_addr->ifa_addr->sa_family == AF_INET6)  {
> @@ -191,7 +191,7 @@ char *dtm_validate_listening_ip_addr(DTM
>                                       inet_ntop(if_addr->ifa_addr->sa_family,
>                                                 &broadaddr,
>                                                 config->bcast_addr,
> -                                               sizeof(buf));
> +                                               sizeof(config->bcast_addr));
>                               } else if (if_addr->ifa_addr->sa_family == 
> AF_INET6) {
>                                       struct sockaddr_in6 *addr = (struct 
> sockaddr_in6 *)if_addr->ifa_addr;
>                                       memset(config->bcast_addr, 0, 
> INET6_ADDRSTRLEN);
> @@ -268,7 +268,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>               LOG_ER("DTM: Could not open file  node_name ");
>               return errno;
>       }
> -     if (EOF == fscanf(fp, "%s", config->node_name)) {
> +     if (EOF == fscanf(fp, "%255s", config->node_name)) {
>               fclose(fp);
>               LOG_ER("DTM: Could not get node name ");
>               return errno;
> @@ -324,6 +324,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->cluster_id = atoi(&line[tag_len]);
>                               if (config->cluster_id < 1) {
>                                       LOG_ER("DTM:cluster_id must be a 
> positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>                               tag = 0;
> @@ -335,6 +336,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               strncpy(config->ip_addr, &line[tag_len], 
> INET6_ADDRSTRLEN - 1); /* ipv4 ipv6 addrBuffer */
>                               if (strlen(config->ip_addr) == 0) {
>                                       LOG_ER("DTM:ip_addr Shouldn't  be 
> NULL");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -360,6 +362,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>   
>                               if (config->stream_port < 1) {
>                                       LOG_ER("DTM:stream_port  must be a 
> positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -372,6 +375,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->dgram_port_sndr = 
> ((in_port_t)atoi(&line[tag_len]));
>                               if (config->dgram_port_sndr < 1) {
>                                       LOG_ER("DTM:dgram_port_sndr  must be a 
> positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -385,6 +389,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               TRACE("DTM:dgram_port_rcvr  :%d", 
> config->dgram_port_rcvr);
>                               if (config->dgram_port_rcvr < 1) {
>                                       LOG_ER("DTM:dgram_port_rcvr t must be a 
> positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -397,6 +402,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->bcast_msg_freq = atoi(&line[tag_len]);
>                               if (config->bcast_msg_freq < 1) {
>                                       LOG_ER("DTM:bcast_msg_freq  must be a 
> positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -409,6 +415,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->initial_dis_timeout = 
> atoi(&line[tag_len]);
>                               if (config->initial_dis_timeout < 1) {
>                                       LOG_ER("DTM:initial_dis_timeout must be 
> a positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -421,6 +428,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->so_keepalive = atoi(&line[tag_len]);
>                               if (config->so_keepalive < 0 || 
> config->so_keepalive > 1) {
>                                       LOG_ER("DTM: so_keepalive needs to be 0 
> or 1");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -433,6 +441,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->comm_keepidle_time = 
> atoi(&line[tag_len]);
>                               if (config->comm_keepidle_time < 1) {
>                                       LOG_ER("DTM:comm_keepidle_time must be 
> a positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -445,6 +454,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->comm_keepalive_intvl = 
> atoi(&line[tag_len]);
>                               if (config->comm_keepalive_intvl < 1) {
>                                       LOG_ER("DTM:comm_keepalive_intvl must 
> be a positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -457,6 +467,7 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>                               config->comm_keepalive_probes = 
> atoi(&line[tag_len]);
>                               if (config->comm_keepalive_probes < 1) {
>                                       LOG_ER("DTM:comm_keepalive_probes must 
> be a positive integer");
> +                                     fclose(dtm_conf_file);
>                                       return -1;
>                               }
>   
> @@ -554,25 +565,3 @@ int dtm_read_config(DTM_INTERNODE_CB * c
>       TRACE_LEAVE();
>       return (err);
>   }
> -
> -#if 0
> -static int checkfile(char *buf)
> -{
> -     struct stat statbuf;
> -     int ii;
> -     char cmd[DTM_MAX_TAG_LEN];
> -
> -     strncpy(cmd, buf, DTM_MAX_TAG_LEN - 1);
> -     for (ii = 0; ii < strlen(cmd); ii++)
> -             if (cmd[ii] == ' ')
> -                     cmd[ii] = '\0';
> -
> -     if (stat(cmd, &statbuf) == -1) {
> -             LOG_ER("DTM: dtm_read_config: File does not exsist: %s", cmd);
> -             return -1;
> -     }
> -
> -     return 0;
> -}
> -
> -#endif
> diff --git a/osaf/services/infrastructure/dtms/include/dtm.h 
> b/osaf/services/infrastructure/dtms/include/dtm.h
> --- a/osaf/services/infrastructure/dtms/include/dtm.h
> +++ b/osaf/services/infrastructure/dtms/include/dtm.h
> @@ -106,9 +106,6 @@ extern uint32_t dtm_cb_init(DTM_INTERNOD
>   extern DTM_NODE_DB *dtm_node_get_by_id(uint32_t nodeid);
>   extern DTM_NODE_DB *dtm_node_getnext_by_id(uint32_t node_id);
>   extern DTM_NODE_DB *dtm_node_get_by_comm_socket(uint32_t comm_socket);
> -extern DTM_NODE_DB *dtm_node_getnext_by_comm_socket(uint32_t comm_socket);
> -extern DTM_NODE_DB *dtm_node_get_by_node_ip(uint8_t *node_ip);
> -extern DTM_NODE_DB *dtm_node_getnext_by_nodeaddr(uint8_t *node_ip);
>   extern uint32_t dtm_node_add(DTM_NODE_DB * node, int i);
>   extern uint32_t dtm_node_delete(DTM_NODE_DB * nnode, int i);
>   extern DTM_NODE_DB *dtm_node_new(DTM_NODE_DB * new_node);
> diff --git a/osaf/services/infrastructure/dtms/include/dtm_cb.h 
> b/osaf/services/infrastructure/dtms/include/dtm_cb.h
> --- a/osaf/services/infrastructure/dtms/include/dtm_cb.h
> +++ b/osaf/services/infrastructure/dtms/include/dtm_cb.h
> @@ -37,7 +37,7 @@ typedef struct dtm_internode_unsent_msgs
>   typedef struct node_list {
>     uint16_t cluster_id;
>     NODE_ID node_id;
> -  char node_name[_POSIX_HOST_NAME_MAX];
> +  char node_name[256];
>     char node_ip[INET6_ADDRSTRLEN];
>     DTM_IP_ADDR_TYPE i_addr_family; /* Indicates V4 or V6 */
>     int comm_socket;
> diff --git a/osaf/services/infrastructure/dtms/include/dtm_node.h 
> b/osaf/services/infrastructure/dtms/include/dtm_node.h
> --- a/osaf/services/infrastructure/dtms/include/dtm_node.h
> +++ b/osaf/services/infrastructure/dtms/include/dtm_node.h
> @@ -31,9 +31,7 @@ extern uint32_t dtm_sockdesc_close(int s
>   extern int dtm_process_connect(DTM_INTERNODE_CB * dtms_cb, char *node_ip, 
> uint8_t *buffer, uint16_t len);
>   extern int dtm_process_accept(DTM_INTERNODE_CB * dtms_cb, int stream_sock);
>   extern int dtm_dgram_recvfrom_bmcast(DTM_INTERNODE_CB * dtms_cb, char 
> *node_ip, void *buffer, int buffer_len);
> -/*extern uint32_t dtm_get_sa_family(DTM_INTERNODE_CB * dtms_cb);*/
>   extern uint32_t dtm_comm_socket_send(int sock_desc, const void *buffer, int 
> buffer_len);
> -extern uint32_t dtm_comm_socket_recv(int sock_desc, void *buffer, int 
> buffer_len);
>   extern uint32_t dtm_comm_socket_close(int *comm_socket);
>   extern uint32_t dtm_process_node_up_down(NODE_ID node_id, char *node_name, 
> char *node_ip, DTM_IP_ADDR_TYPE i_addr_family, uint8_t comm_status);
>   uint32_t dtm_internode_set_poll_fdlist(int fd, uint16_t event);


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to