Diff for /libaitrpc/src/cli.c between versions 1.9 and 1.9.2.2

version 1.9, 2012/05/14 08:39:05 version 1.9.2.2, 2012/05/14 15:35:58
Line 60  rpc_cli_openBLOBClient(rpc_cli_t * __restrict rpccli,  Line 60  rpc_cli_openBLOBClient(rpc_cli_t * __restrict rpccli, 
         io_sockaddr_t sa;          io_sockaddr_t sa;
         int n;          int n;
   
        if (!rpccli ||         if (!rpccli) {
                        (rpccli->cli_sa.sa.sa_family != AF_INET && rpccli->cli_sa.sa.sa_family != AF_INET6 &&  
                         rpccli->cli_sa.sa.sa_family != AF_LOCAL)) { 
                 rpc_SetErr(EINVAL, "Invalid parameters can`t connect to BLOB server");                  rpc_SetErr(EINVAL, "Invalid parameters can`t connect to BLOB server");
                 return NULL;                  return NULL;
         }          }
Line 158  rpc_cli_openClient(u_int ProgID, u_int ProcID, int net Line 156  rpc_cli_openClient(u_int ProgID, u_int ProcID, int net
                 u_short family, const char *csHost, u_short Port)                  u_short family, const char *csHost, u_short Port)
 {  {
         rpc_cli_t *cli = NULL;          rpc_cli_t *cli = NULL;
         struct hostent *host = NULL;  
         io_sockaddr_t sa;          io_sockaddr_t sa;
         int n;          int n;
   
        if (!csHost || (family != AF_INET && family != AF_INET6 && family != AF_LOCAL)) {        if (!io_gethostbyname(csHost, Port, &sa))
                rpc_SetErr(EINVAL, "Invalid parameters can`t connect to RPC server ..."); 
                 return NULL;                  return NULL;
         }  
         if (!Port)          if (!Port)
                 Port = RPC_DEFPORT;                  Port = RPC_DEFPORT;
         if (!netBuf)          if (!netBuf)
                 netBuf = BUFSIZ;                  netBuf = BUFSIZ;
         if (!Timeout)          if (!Timeout)
                 Timeout = DEF_RPC_TIMEOUT;                  Timeout = DEF_RPC_TIMEOUT;
         if (csHost && family != AF_LOCAL) {  
                 host = gethostbyname2(csHost, family);  
                 if (!host) {  
                         rpc_SetErr(h_errno, "%s", hstrerror(h_errno));  
                         return NULL;  
                 }  
         }  
         memset(&sa, 0, sizeof sa);  
         sa.sa.sa_family = family;  
         switch (family) {  
                 case AF_INET:  
                         sa.sin.sin_len = sizeof(struct sockaddr_in);  
                         sa.sin.sin_port = htons(Port);  
                         if (csHost)  
                                 memcpy(&sa.sin.sin_addr, host->h_addr, host->h_length);  
                         break;  
                 case AF_INET6:  
                         sa.sin6.sin6_len = sizeof(struct sockaddr_in6);  
                         sa.sin6.sin6_port = htons(Port);  
                         if (csHost)  
                                 memcpy(&sa.sin6.sin6_addr, host->h_addr, host->h_length);  
                         break;  
                 case AF_LOCAL:  
                         sa.sun.sun_len = sizeof(struct sockaddr_un);  
                         if (csHost)  
                                 strlcpy(sa.sun.sun_path, csHost, sizeof sa.sun.sun_path);  
                         break;  
                 default:  
                         rpc_SetErr(EINVAL, "Invalid parameters can`t connect to RPC server ...");  
                         return NULL;  
         }  
   
         cli = malloc(sizeof(rpc_cli_t));          cli = malloc(sizeof(rpc_cli_t));
         if (!cli) {          if (!cli) {
Line 227  rpc_cli_openClient(u_int ProgID, u_int ProcID, int net Line 191  rpc_cli_openClient(u_int ProgID, u_int ProcID, int net
         memcpy(&cli->cli_sa, &sa, sizeof cli->cli_sa);          memcpy(&cli->cli_sa, &sa, sizeof cli->cli_sa);
   
         /* connect to RPC server */          /* connect to RPC server */
        cli->cli_sock = socket(family, SOCK_STREAM, 0);        cli->cli_sock = socket(cli->cli_sa.sa.sa_family, SOCK_STREAM, 0);
         if (cli->cli_sock == -1) {          if (cli->cli_sock == -1) {
                 LOGERR;                  LOGERR;
                 free(cli->cli_parent);                  free(cli->cli_parent);

Removed from v.1.9  
changed lines
  Added in v.1.9.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>