| Index: src/tspi/rpc/tcstp/rpc.c
|
| diff --git a/src/tspi/rpc/tcstp/rpc.c b/src/tspi/rpc/tcstp/rpc.c
|
| index 963da1f6a206565abff72400127e42121227ccae..fd9b3903f1549490f266e4b9df110b04f060aa49 100644
|
| --- a/src/tspi/rpc/tcstp/rpc.c
|
| +++ b/src/tspi/rpc/tcstp/rpc.c
|
| @@ -13,6 +13,7 @@
|
| #include <string.h>
|
| #include <sys/socket.h>
|
| #include <sys/types.h>
|
| +#include <sys/un.h>
|
| #include <netinet/in.h>
|
| #include <arpa/inet.h>
|
| #include <netdb.h>
|
| @@ -32,7 +33,6 @@
|
| #include "obj.h"
|
| #include "rpc_tcstp_tsp.h"
|
|
|
| -
|
| void
|
| initData(struct tcsd_comm_data *comm, int parm_count)
|
| {
|
| @@ -345,10 +345,9 @@ send_init(struct host_table_entry *hte)
|
| BYTE *buffer;
|
| TSS_RESULT result;
|
|
|
| - struct sockaddr_in addr;
|
| - struct hostent *hEnt = NULL;
|
| + struct sockaddr_un addr;
|
|
|
| - sd = socket(PF_INET, SOCK_STREAM, 0);
|
| + sd = socket(PF_UNIX, SOCK_STREAM, 0);
|
| if (sd == -1) {
|
| LogError("socket: %s", strerror(errno));
|
| result = TSPERR(TSS_E_COMM_FAILURE);
|
| @@ -356,27 +355,11 @@ send_init(struct host_table_entry *hte)
|
| }
|
|
|
| memset(&addr, 0, sizeof(addr));
|
| - addr.sin_family = AF_INET;
|
| - addr.sin_port = htons(get_port());
|
| -
|
| - LogDebug("Sending TSP packet to host %s.", hte->hostname);
|
| -
|
| - /* try to resolve by hostname first */
|
| - hEnt = gethostbyname((char *)hte->hostname);
|
| - if (hEnt == NULL) {
|
| - /* if by hostname fails, try by dot notation */
|
| - if (inet_aton((char *)hte->hostname, &addr.sin_addr) == 0) {
|
| - LogError("hostname %s does not resolve to a valid address.", hte->hostname);
|
| - result = TSPERR(TSS_E_CONNECTION_FAILED);
|
| - goto err_exit;
|
| - }
|
| - } else {
|
| - memcpy(&addr.sin_addr, hEnt->h_addr_list[0], 4);
|
| - }
|
| -
|
| - LogDebug("Connecting to %s", inet_ntoa(addr.sin_addr));
|
| + addr.sun_family = AF_UNIX;
|
| + strcpy(addr.sun_path, TCSD_UNIX_SOCKET);
|
|
|
| - if (connect(sd, (struct sockaddr *) &addr, sizeof (addr))) {
|
| + if (connect(sd, (struct sockaddr *) &addr,
|
| + strlen(addr.sun_path) + sizeof (addr.sun_family))) {
|
| LogError("connect: %s", strerror(errno));
|
| result = TSPERR(TSS_E_COMM_FAILURE);
|
| goto err_exit;
|
| @@ -511,4 +494,3 @@ get_port(void)
|
|
|
| return (short)port;
|
| }
|
| -
|
|
|