diff options
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch | 103 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb (renamed from meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb) | 5 |
2 files changed, 2 insertions, 106 deletions
diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch deleted file mode 100644 index 6d40d3cce8..0000000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | Patch from Fedora https://src.fedoraproject.org/rpms/libtirpc/raw/master/f/libtirpc-1.0.4-rc1.patch | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
5 | |||
6 | diff --git a/src/clnt_generic.c b/src/clnt_generic.c | ||
7 | index e5a314f..3f3dabf 100644 | ||
8 | --- a/src/clnt_generic.c | ||
9 | +++ b/src/clnt_generic.c | ||
10 | @@ -47,7 +47,6 @@ | ||
11 | |||
12 | extern bool_t __rpc_is_local_host(const char *); | ||
13 | int __rpc_raise_fd(int); | ||
14 | -extern int __binddynport(int fd); | ||
15 | |||
16 | #ifndef NETIDLEN | ||
17 | #define NETIDLEN 32 | ||
18 | @@ -341,8 +340,7 @@ clnt_tli_create(int fd, const struct netconfig *nconf, | ||
19 | servtype = nconf->nc_semantics; | ||
20 | if (!__rpc_fd2sockinfo(fd, &si)) | ||
21 | goto err; | ||
22 | - if (__binddynport(fd) == -1) | ||
23 | - goto err; | ||
24 | + bindresvport(fd, NULL); | ||
25 | } else { | ||
26 | if (!__rpc_fd2sockinfo(fd, &si)) | ||
27 | goto err; | ||
28 | diff --git a/src/rpc_soc.c b/src/rpc_soc.c | ||
29 | index af6c482..5a6eeb7 100644 | ||
30 | --- a/src/rpc_soc.c | ||
31 | +++ b/src/rpc_soc.c | ||
32 | @@ -67,8 +67,6 @@ | ||
33 | |||
34 | extern mutex_t rpcsoc_lock; | ||
35 | |||
36 | -extern int __binddynport(int fd); | ||
37 | - | ||
38 | static CLIENT *clnt_com_create(struct sockaddr_in *, rpcprog_t, rpcvers_t, | ||
39 | int *, u_int, u_int, char *, int); | ||
40 | static SVCXPRT *svc_com_create(int, u_int, u_int, char *); | ||
41 | @@ -147,8 +145,7 @@ clnt_com_create(raddr, prog, vers, sockp, sendsz, recvsz, tp, flags) | ||
42 | bindaddr.maxlen = bindaddr.len = sizeof (struct sockaddr_in); | ||
43 | bindaddr.buf = raddr; | ||
44 | |||
45 | - if (__binddynport(fd) == -1) | ||
46 | - goto err; | ||
47 | + bindresvport(fd, NULL); | ||
48 | cl = clnt_tli_create(fd, nconf, &bindaddr, prog, vers, | ||
49 | sendsz, recvsz); | ||
50 | if (cl) { | ||
51 | diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c | ||
52 | index a94fc73..4b44364 100644 | ||
53 | --- a/src/rpcb_clnt.c | ||
54 | +++ b/src/rpcb_clnt.c | ||
55 | @@ -752,7 +752,7 @@ __try_protocol_version_2(program, version, nconf, host, tp) | ||
56 | |||
57 | client = getpmaphandle(nconf, host, &parms.r_addr); | ||
58 | if (client == NULL) | ||
59 | - return (NULL); | ||
60 | + goto error; | ||
61 | |||
62 | /* | ||
63 | * Set retry timeout. | ||
64 | @@ -771,11 +771,11 @@ __try_protocol_version_2(program, version, nconf, host, tp) | ||
65 | if (clnt_st != RPC_SUCCESS) { | ||
66 | rpc_createerr.cf_stat = RPC_PMAPFAILURE; | ||
67 | clnt_geterr(client, &rpc_createerr.cf_error); | ||
68 | - return (NULL); | ||
69 | + goto error; | ||
70 | } else if (port == 0) { | ||
71 | pmapaddress = NULL; | ||
72 | rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED; | ||
73 | - return (NULL); | ||
74 | + goto error; | ||
75 | } | ||
76 | port = htons(port); | ||
77 | CLNT_CONTROL(client, CLGET_SVC_ADDR, (char *)&remote); | ||
78 | @@ -789,14 +789,24 @@ __try_protocol_version_2(program, version, nconf, host, tp) | ||
79 | free(pmapaddress); | ||
80 | pmapaddress = NULL; | ||
81 | } | ||
82 | - return (NULL); | ||
83 | + goto error; | ||
84 | } | ||
85 | memcpy(pmapaddress->buf, remote.buf, remote.len); | ||
86 | memcpy(&((char *)pmapaddress->buf)[sizeof (short)], | ||
87 | (char *)(void *)&port, sizeof (short)); | ||
88 | pmapaddress->len = pmapaddress->maxlen = remote.len; | ||
89 | |||
90 | + CLNT_DESTROY(client); | ||
91 | return pmapaddress; | ||
92 | + | ||
93 | +error: | ||
94 | + if (client) { | ||
95 | + CLNT_DESTROY(client); | ||
96 | + client = NULL; | ||
97 | + | ||
98 | + } | ||
99 | + return (NULL); | ||
100 | + | ||
101 | } | ||
102 | #endif | ||
103 | |||
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb b/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb index f978c8c8ab..9c480b825f 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb | |||
@@ -10,13 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \ | |||
10 | PROVIDES = "virtual/librpc" | 10 | PROVIDES = "virtual/librpc" |
11 | 11 | ||
12 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ | 12 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ |
13 | file://libtirpc-1.0.4-rc1.patch \ | ||
14 | file://musl.patch \ | 13 | file://musl.patch \ |
15 | " | 14 | " |
16 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" | 15 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" |
17 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" | 16 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" |
18 | SRC_URI[md5sum] = "f8403a10695348854e71d525c4db5931" | 17 | SRC_URI[md5sum] = "f5d2a623e9dfbd818d2f3f3a4a878e3a" |
19 | SRC_URI[sha256sum] = "86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e" | 18 | SRC_URI[sha256sum] = "2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d" |
20 | 19 | ||
21 | inherit autotools pkgconfig | 20 | inherit autotools pkgconfig |
22 | 21 | ||