author | Craig Mohrman <craig.mohrman@oracle.com> |
Thu, 04 Aug 2016 08:26:36 -0700 | |
changeset 6548 | 24913c16931e |
parent 5941 | db8aa9865e9f |
permissions | -rw-r--r-- |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
1 |
# Add ability to connect to UNIX socket and make it the default. |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
2 |
# Patch suitable for upstream use. |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
3 |
# This change was implemented in-house. |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
4 |
# |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
5 |
--- src/tspi/rpc/tcstp/rpc.c 2014-04-24 11:05:44.000000000 -0700 |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
6 |
+++ src/tspi/rpc/tcstp/rpc.c 2016-04-22 15:08:53.058153900 -0700 |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
7 |
@@ -477,6 +477,37 @@ |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
8 |
goto exit; |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
9 |
} |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
10 |
|
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
11 |
+ if ((port_str == NULL) || (strlen(port_str) == 0) || |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
12 |
+ (strcmp(port_str, "0") == 0)) { /* use UNIX socket (default) */ |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
13 |
+ struct sockaddr_un sock_addr; |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
14 |
+ |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
15 |
+ *sd = socket(PF_UNIX, SOCK_STREAM, 0); |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
16 |
+ if (*sd == -1) { |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
17 |
+ LogError("socket(PF_UNIX): %s", strerror(errno)); |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
18 |
+ result = TSPERR(TSS_E_COMM_FAILURE); |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
19 |
+ return (result); |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
20 |
+ } |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
21 |
+ |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
22 |
+ memset(&sock_addr, 0, sizeof(sock_addr)); |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
23 |
+ sock_addr.sun_family = AF_UNIX; |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
24 |
+ strncpy(sock_addr.sun_path, TCSD_DEFAULT_SOCKET, |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
25 |
+ sizeof(sock_addr.sun_path)); |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
26 |
+ |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
27 |
+ LogDebug("Connecting to UNIX Domain socket %s", |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
28 |
+ TCSD_DEFAULT_SOCKET); |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
29 |
+ |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
30 |
+ if (connect(*sd, (struct sockaddr *) &sock_addr, |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
31 |
+ sizeof (sock_addr))) { |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
32 |
+ LogError("connect: %s", strerror(errno)); |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
33 |
+ result = TSPERR(TSS_E_COMM_FAILURE); |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
34 |
+ return (result); |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
35 |
+ } |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
36 |
+ |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
37 |
+ return (TSS_SUCCESS); |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
38 |
+ } |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
39 |
+ |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
40 |
+ /* Use TCP/IP socket */ |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
41 |
+ |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
42 |
LogDebug("Retrieving address information from host: %s", (char *)hte->hostname); |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
43 |
rv = getaddrinfo((char *)hte->hostname, port_str, |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
44 |
&hints, &res); |