Gentoo Archives: gentoo-commits

From: Michael Orlitzky <mjo@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/updatedd/, net-dns/updatedd/files/
Date: Tue, 30 Mar 2021 02:18:07
Message-Id: 1617070573.2b3b0bac1a60894fe8d1d5b2d19b0c14bdc6d692.mjo@gentoo
1 commit: 2b3b0bac1a60894fe8d1d5b2d19b0c14bdc6d692
2 Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
3 AuthorDate: Tue Mar 30 02:16:13 2021 +0000
4 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 30 02:16:13 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b3b0bac
7
8 net-dns/updatedd: new revision to fix OVH support.
9
10 Closes: https://bugs.gentoo.org/777423
11 Package-Manager: Portage-3.0.13, Repoman-3.0.2
12 Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
13
14 net-dns/updatedd/files/fix-ovh-support.patch | 70 ++++++++++++++++++++++++++++
15 net-dns/updatedd/updatedd-2.6-r6.ebuild | 29 ++++++++++++
16 2 files changed, 99 insertions(+)
17
18 diff --git a/net-dns/updatedd/files/fix-ovh-support.patch b/net-dns/updatedd/files/fix-ovh-support.patch
19 new file mode 100644
20 index 00000000000..da9e64d9085
21 --- /dev/null
22 +++ b/net-dns/updatedd/files/fix-ovh-support.patch
23 @@ -0,0 +1,70 @@
24 +https://bugs.gentoo.org/777423
25 +
26 +--- a/src/plugins/libovh.c
27 ++++ b/src/plugins/libovh.c
28 +@@ -181,6 +181,7 @@
29 +
30 + char *b64user;
31 + char message[BUFLEN];
32 ++ size_t pos, towrite;
33 +
34 + if(strlen(args->login) > 128) {
35 + ret_msg(NONE, "username is too long");
36 +@@ -220,10 +221,18 @@
37 + "\n--------------------------------------\n"
38 + "%s--------------------------------------\n\n",
39 + message);
40 +-
41 +- if(write(s, message, strlen(message)) == -1) {
42 +- ret_msg(PERR, "write() failed");
43 +- return RET_WARNING;
44 ++
45 ++ for (pos = 0, towrite = strlen(message); towrite > 0; ) {
46 ++ ssize_t ret;
47 ++
48 ++ ret = write(s, message + pos, towrite - pos);
49 ++ if(ret <= 0) {
50 ++ ret_msg(PERR, "write() failed");
51 ++ return RET_WARNING;
52 ++ }
53 ++
54 ++ pos += ret;
55 ++ towrite -= ret;
56 + }
57 +
58 + free(b64user);
59 +@@ -236,13 +245,22 @@
60 + {
61 +
62 + int n;
63 +- char server_msg[BUFSIZE], *ptr;
64 ++ char server_msg[BUFLEN], *ptr;
65 +
66 + /* get server_msg */
67 + (void)memset(server_msg, 0, sizeof(server_msg));
68 +- if(read(s, server_msg, sizeof(server_msg) - 1) < 0) {
69 +- ret_msg(PERR, "read() failed");
70 +- return RET_WARNING;
71 ++
72 ++ for (ptr = server_msg; ptr < &server_msg[BUFLEN]; ) {
73 ++ ssize_t ret;
74 ++
75 ++ ret = read(s, ptr, &server_msg[BUFLEN] - ptr);
76 ++ if (ret < 0) {
77 ++ ret_msg(PERR, "read() failed");
78 ++ return RET_WARNING;
79 ++ } else if (ret == 0)
80 ++ break;
81 ++
82 ++ ptr += ret;
83 + }
84 +
85 + print_debug("\n\nServer message:"
86 +@@ -267,6 +285,7 @@
87 + }
88 + }
89 + }
90 ++ ret_msg(NONE, "unknown server response");
91 + } else if(strstr(server_msg, "401 Authorization Required")) {
92 + ret_msg(NONE, "wrong username or password");
93 + } else {
94
95 diff --git a/net-dns/updatedd/updatedd-2.6-r6.ebuild b/net-dns/updatedd/updatedd-2.6-r6.ebuild
96 new file mode 100644
97 index 00000000000..d352c43644a
98 --- /dev/null
99 +++ b/net-dns/updatedd/updatedd-2.6-r6.ebuild
100 @@ -0,0 +1,29 @@
101 +# Copyright 1999-2021 Gentoo Authors
102 +# Distributed under the terms of the GNU General Public License v2
103 +
104 +EAPI=7
105 +
106 +DESCRIPTION="Dynamic DNS client with plugins for several dynamic dns services"
107 +HOMEPAGE="https://savannah.nongnu.org/projects/updatedd/"
108 +SRC_URI="https://savannah.nongnu.org/download/updatedd/${PN}_${PV}.tar.gz"
109 +
110 +LICENSE="GPL-2"
111 +SLOT="0"
112 +KEYWORDS="~amd64 ~arm ~ppc ~x86"
113 +IUSE=""
114 +
115 +DEPEND=""
116 +RDEPEND="dev-lang/perl
117 + dev-perl/IO-Socket-Timeout"
118 +
119 +PATCHES=(
120 + "${FILESDIR}/${P}-options.patch"
121 + "${FILESDIR}/fix-ovh-DYNDNSHOST.patch"
122 + "${FILESDIR}/respect-docdir.patch"
123 + "${FILESDIR}/set-socket-timeouts-for-ipserv.patch"
124 + "${FILESDIR}/fix-ovh-support.patch"
125 +)
126 +
127 +src_configure() {
128 + econf --disable-static
129 +}