Merge ~liushuyu-011/ubuntu/+source/ucspi-tcp:ubuntu/devel into ubuntu/+source/ucspi-tcp:ubuntu/devel

Proposed by Zixing Liu
Status: Merged
Merged at revision: b0dcbc77aaa4fe878001b945677423ec749ebe5b
Proposed branch: ~liushuyu-011/ubuntu/+source/ucspi-tcp:ubuntu/devel
Merge into: ubuntu/+source/ucspi-tcp:ubuntu/devel
Diff against target: 479 lines (+375/-22)
4 files modified
debian/changelog (+8/-0)
debian/ipv6-support.patch (+10/-22)
debian/patches/0006-implicit-declarations.patch (+356/-0)
debian/patches/series (+1/-0)
Reviewer Review Type Date Requested Status
Steve Langasek (community) Approve
Review via email: mp+464230@code.launchpad.net

Description of the change

This MP fixes an FTBFS issue on armhf where a lot of headers and prototype definitions are missing.

To post a comment you must log in.
Revision history for this message
Zixing Liu (liushuyu-011) wrote :
Revision history for this message
Zixing Liu (liushuyu-011) :
Revision history for this message
Steve Langasek (vorlon) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index f488aa0..62a8b7b 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,11 @@
6+ucspi-tcp (1:0.88-8ubuntu1) noble; urgency=medium
7+
8+ * debian/patches/0006-implicit-declarations.patch: Add missing
9+ includes and prototypes. Closes LP: #2061188.
10+ * debian/ipv6-support.patch: Refresh deferred patch.
11+
12+ -- Zixing Liu <zixing.liu@canonical.com> Fri, 12 Apr 2024 14:33:32 -0600
13+
14 ucspi-tcp (1:0.88-8build1) noble; urgency=medium
15
16 * No-change rebuild for CVE-2024-3094
17diff --git a/debian/ipv6-support.patch b/debian/ipv6-support.patch
18index 81e50c2..0d6350b 100644
19--- a/debian/ipv6-support.patch
20+++ b/debian/ipv6-support.patch
21@@ -741,7 +741,7 @@ diff --git a/dns.h b/dns.h
22 index 0948b1a..f06c5a8 100644
23 --- a/dns.h
24 +++ b/dns.h
25-@@ -34,51 +34,60 @@ struct dns_transmit {
26+@@ -34,51 +34,61 @@ struct dns_transmit {
27 unsigned int curserver;
28 struct taia deadline;
29 unsigned int pos;
30@@ -812,6 +812,7 @@ index 0948b1a..f06c5a8 100644
31 -extern int dns_mx_packet(stralloc *,char *,unsigned int);
32 -extern int dns_mx(stralloc *,stralloc *);
33 +extern int dns_name4(stralloc *,const char *);
34++extern int dns_name6(stralloc *,char *);
35 +extern int dns_txt_packet(stralloc *,const char *,unsigned int);
36 +extern int dns_txt(stralloc *,const stralloc *);
37 +extern int dns_mx_packet(stralloc *,const char *,unsigned int);
38@@ -1330,11 +1331,6 @@ diff --git a/dns_random.c b/dns_random.c
39 index b9892b4..2158ed4 100644
40 --- a/dns_random.c
41 +++ b/dns_random.c
42-@@ -1,3 +1,4 @@
43-+#include <unistd.h>
44- #include "dns.h"
45- #include "taia.h"
46- #include "uint32.h"
47 @@ -29,7 +30,7 @@ static void surf(void)
48 }
49 }
50@@ -1433,8 +1429,8 @@ diff --git a/dns_rcrw.c b/dns_rcrw.c
51 index 6f215ac..b0c8e6d 100644
52 --- a/dns_rcrw.c
53 +++ b/dns_rcrw.c
54-@@ -1,16 +1,17 @@
55-+#include <unistd.h>
56+@@ -1,16 +1,16 @@
57+ #include <unistd.h>
58 #include "taia.h"
59 -#include "env.h"
60 #include "byte.h"
61@@ -1511,17 +1507,7 @@ diff --git a/dns_transmit.c b/dns_transmit.c
62 index df12826..9511511 100644
63 --- a/dns_transmit.c
64 +++ b/dns_transmit.c
65-@@ -1,12 +1,15 @@
66-+#include <sys/types.h>
67-+#include <sys/socket.h>
68-+#include <unistd.h>
69-+#include <stdlib.h>
70- #include "socket.h"
71--#include "alloc.h"
72--#include "error.h"
73-+#include <errno.h>
74- #include "byte.h"
75--#include "readwrite.h"
76+@@ -7,7 +7,8 @@
77 #include "uint16.h"
78 #include "dns.h"
79 +#include "ip6.h"
80@@ -1985,7 +1971,7 @@ index 0000000..88ff120
81 +#include "byte.h"
82 +
83 +extern unsigned int scan_ip6(const char *src,char *ip);
84-+extern unsigned int fmt_ip6(char *dest,const char *ip);
85++extern unsigned int ip6_fmt(char *dest,char *ip);
86 +
87 +extern unsigned int scan_ip6_flat(const char *src,char *);
88 +extern unsigned int fmt_ip6_flat(char *dest,const char *);
89@@ -2357,7 +2343,8 @@ new file mode 100644
90 index 0000000..cf3b7c1
91 --- /dev/null
92 +++ b/remoteinfo6.c
93-@@ -0,0 +1,98 @@
94+@@ -0,0 +1,99 @@
95++#include <unistd.h>
96 +#include "fmt.h"
97 +#include "buffer.h"
98 +#include "socket.h"
99@@ -3065,7 +3052,8 @@ new file mode 100644
100 index 0000000..74099e2
101 --- /dev/null
102 +++ b/socket_tcp6.c
103-@@ -0,0 +1,44 @@
104+@@ -0,0 +1,45 @@
105++#include <unistd.h>
106 +#include <sys/types.h>
107 +#include <sys/param.h>
108 +#include <sys/socket.h>
109diff --git a/debian/patches/0006-implicit-declarations.patch b/debian/patches/0006-implicit-declarations.patch
110new file mode 100644
111index 0000000..412d9cc
112--- /dev/null
113+++ b/debian/patches/0006-implicit-declarations.patch
114@@ -0,0 +1,356 @@
115+Description: Add missing includes and prototypes
116+Author: Zixing Liu <zixing.liu@canonical.com>
117+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066629
118+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ucspi-tcp/+bug/2061188
119+Forwarded: no
120+Last-Update: 2024-04-12
121+---
122+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
123+Index: ucspi-tcp/dns_random.c
124+===================================================================
125+--- ucspi-tcp.orig/dns_random.c
126++++ ucspi-tcp/dns_random.c
127+@@ -1,3 +1,4 @@
128++#include <unistd.h>
129+ #include "dns.h"
130+ #include "taia.h"
131+ #include "uint32.h"
132+Index: ucspi-tcp/dns_rcrw.c
133+===================================================================
134+--- ucspi-tcp.orig/dns_rcrw.c
135++++ ucspi-tcp/dns_rcrw.c
136+@@ -1,3 +1,4 @@
137++#include <unistd.h>
138+ #include "taia.h"
139+ #include "env.h"
140+ #include "byte.h"
141+Index: ucspi-tcp/remoteinfo.c
142+===================================================================
143+--- ucspi-tcp.orig/remoteinfo.c
144++++ ucspi-tcp/remoteinfo.c
145+@@ -1,3 +1,4 @@
146++#include <unistd.h>
147+ #include "fmt.h"
148+ #include "buffer.h"
149+ #include "socket.h"
150+Index: ucspi-tcp/tcpserver.c
151+===================================================================
152+--- ucspi-tcp.orig/tcpserver.c
153++++ ucspi-tcp/tcpserver.c
154+@@ -1,3 +1,4 @@
155++#include <unistd.h>
156+ #include <sys/types.h>
157+ #include <sys/param.h>
158+ #include <netdb.h>
159+@@ -63,7 +64,8 @@ static stralloc addresses;
160+ char bspace[16];
161+ buffer b;
162+
163+-
164++int socket_ipoptionskill(int s);
165++int socket_tcpnodelay(int s);
166+
167+ /* ---------------------------- child */
168+
169+Index: ucspi-tcp/auto-str.c
170+===================================================================
171+--- ucspi-tcp.orig/auto-str.c
172++++ ucspi-tcp/auto-str.c
173+@@ -1,7 +1,6 @@
174+ #include "buffer.h"
175+ #include "readwrite.h"
176+ #include "exit.h"
177+-
178+ char bspace[256];
179+ buffer b = BUFFER_INIT(write,1,bspace,sizeof bspace);
180+
181+Index: ucspi-tcp/chkshsgr.c
182+===================================================================
183+--- ucspi-tcp.orig/chkshsgr.c
184++++ ucspi-tcp/chkshsgr.c
185+@@ -1,3 +1,5 @@
186++#include <unistd.h>
187++#include <grp.h>
188+ #include "exit.h"
189+
190+ main()
191+Index: ucspi-tcp/dns_transmit.c
192+===================================================================
193+--- ucspi-tcp.orig/dns_transmit.c
194++++ ucspi-tcp/dns_transmit.c
195+@@ -1,8 +1,12 @@
196++#include <sys/types.h>
197++#include <sys/socket.h>
198++#include <unistd.h>
199++#include <stdlib.h>
200+ #include "socket.h"
201++#include <errno.h>
202+ #include "alloc.h"
203+ #include "error.h"
204+ #include "byte.h"
205+-#include "readwrite.h"
206+ #include "uint16.h"
207+ #include "dns.h"
208+
209+Index: ucspi-tcp/fd_copy.c
210+===================================================================
211+--- ucspi-tcp.orig/fd_copy.c
212++++ ucspi-tcp/fd_copy.c
213+@@ -1,4 +1,5 @@
214+ #include <fcntl.h>
215++#include <unistd.h>
216+ #include "fd.h"
217+
218+ int fd_copy(int to,int from)
219+Index: ucspi-tcp/fd_move.c
220+===================================================================
221+--- ucspi-tcp.orig/fd_move.c
222++++ ucspi-tcp/fd_move.c
223+@@ -1,3 +1,4 @@
224++#include <unistd.h>
225+ #include "fd.h"
226+
227+ int fd_move(int to,int from)
228+Index: ucspi-tcp/fixcrio.c
229+===================================================================
230+--- ucspi-tcp.orig/fixcrio.c
231++++ ucspi-tcp/fixcrio.c
232+@@ -1,3 +1,5 @@
233++#include <unistd.h>
234++#include "fd.h"
235+ #include "sig.h"
236+ #include "buffer.h"
237+ #include "strerr.h"
238+Index: ucspi-tcp/hier.c
239+===================================================================
240+--- ucspi-tcp.orig/hier.c
241++++ ucspi-tcp/hier.c
242+@@ -1,5 +1,9 @@
243+ #include "auto_home.h"
244+
245++void h(char *home, int uid, int gid, int mode);
246++void d(char *home, char *subdir, int uid, int gid, int mode);
247++void c(char *home, char *subdir, char *file, int uid, int gid, int mode);
248++
249+ void hier()
250+ {
251+ h(auto_home,-1,-1,02755);
252+Index: ucspi-tcp/install.c
253+===================================================================
254+--- ucspi-tcp.orig/install.c
255++++ ucspi-tcp/install.c
256+@@ -1,3 +1,5 @@
257++#include <sys/stat.h>
258++#include <unistd.h>
259+ #include "buffer.h"
260+ #include "strerr.h"
261+ #include "error.h"
262+Index: ucspi-tcp/instcheck.c
263+===================================================================
264+--- ucspi-tcp.orig/instcheck.c
265++++ ucspi-tcp/instcheck.c
266+@@ -1,5 +1,6 @@
267+ #include <sys/types.h>
268+ #include <sys/stat.h>
269++#include <unistd.h>
270+ #include "strerr.h"
271+ #include "error.h"
272+ #include "readwrite.h"
273+Index: ucspi-tcp/mconnect-io.c
274+===================================================================
275+--- ucspi-tcp.orig/mconnect-io.c
276++++ ucspi-tcp/mconnect-io.c
277+@@ -1,3 +1,4 @@
278++#include <signal.h>
279+ #include "sig.h"
280+ #include "wait.h"
281+ #include "fork.h"
282+Index: ucspi-tcp/pathexec_run.c
283+===================================================================
284+--- ucspi-tcp.orig/pathexec_run.c
285++++ ucspi-tcp/pathexec_run.c
286+@@ -1,3 +1,4 @@
287++#include <unistd.h>
288+ #include "error.h"
289+ #include "stralloc.h"
290+ #include "str.h"
291+Index: ucspi-tcp/prot.c
292+===================================================================
293+--- ucspi-tcp.orig/prot.c
294++++ ucspi-tcp/prot.c
295+@@ -1,3 +1,5 @@
296++#include <unistd.h>
297++#include <grp.h>
298+ #include "hasshsgr.h"
299+ #include "prot.h"
300+
301+Index: ucspi-tcp/rblsmtpd.c
302+===================================================================
303+--- ucspi-tcp.orig/rblsmtpd.c
304++++ ucspi-tcp/rblsmtpd.c
305+@@ -1,3 +1,4 @@
306++#include <unistd.h>
307+ #include "byte.h"
308+ #include "str.h"
309+ #include "scan.h"
310+Index: ucspi-tcp/readclose.c
311+===================================================================
312+--- ucspi-tcp.orig/readclose.c
313++++ ucspi-tcp/readclose.c
314+@@ -1,3 +1,4 @@
315++#include <unistd.h>
316+ #include "readwrite.h"
317+ #include "error.h"
318+ #include "readclose.h"
319+Index: ucspi-tcp/recordio.c
320+===================================================================
321+--- ucspi-tcp.orig/recordio.c
322++++ ucspi-tcp/recordio.c
323+@@ -1,3 +1,5 @@
324++#include <unistd.h>
325++#include "fd.h"
326+ #include "sig.h"
327+ #include "buffer.h"
328+ #include "strerr.h"
329+Index: ucspi-tcp/seek_set.c
330+===================================================================
331+--- ucspi-tcp.orig/seek_set.c
332++++ ucspi-tcp/seek_set.c
333+@@ -1,3 +1,4 @@
334++#include <unistd.h>
335+ #include <sys/types.h>
336+ #include "seek.h"
337+
338+Index: ucspi-tcp/sig_pause.c
339+===================================================================
340+--- ucspi-tcp.orig/sig_pause.c
341++++ ucspi-tcp/sig_pause.c
342+@@ -1,3 +1,4 @@
343++#define __USE_XOPEN_EXTENDED 1
344+ #include <signal.h>
345+ #include "sig.h"
346+ #include "hassgprm.h"
347+Index: ucspi-tcp/socket_tcp.c
348+===================================================================
349+--- ucspi-tcp.orig/socket_tcp.c
350++++ ucspi-tcp/socket_tcp.c
351+@@ -1,3 +1,4 @@
352++#include <unistd.h>
353+ #include <sys/types.h>
354+ #include <sys/param.h>
355+ #include <sys/socket.h>
356+Index: ucspi-tcp/socket_udp.c
357+===================================================================
358+--- ucspi-tcp.orig/socket_udp.c
359++++ ucspi-tcp/socket_udp.c
360+@@ -1,3 +1,4 @@
361++#include <unistd.h>
362+ #include <sys/types.h>
363+ #include <sys/param.h>
364+ #include <sys/socket.h>
365+Index: ucspi-tcp/tcpclient.c
366+===================================================================
367+--- ucspi-tcp.orig/tcpclient.c
368++++ ucspi-tcp/tcpclient.c
369+@@ -1,6 +1,7 @@
370+ #include <sys/types.h>
371+ #include <sys/param.h>
372+ #include <netdb.h>
373++#include <unistd.h>
374+ #include "sig.h"
375+ #include "exit.h"
376+ #include "sgetopt.h"
377+@@ -24,6 +25,7 @@
378+ #define FATAL "tcpclient: fatal: "
379+ #define CONNECT "tcpclient: unable to connect to "
380+
381++int socket_tcpnodelay(int s);
382+ void nomem(void)
383+ {
384+ strerr_die2x(111,FATAL,"out of memory");
385+Index: ucspi-tcp/tcprules.c
386+===================================================================
387+--- ucspi-tcp.orig/tcprules.c
388++++ ucspi-tcp/tcprules.c
389+@@ -1,3 +1,7 @@
390++#include <stdio.h>
391++#include <unistd.h>
392++#include "scan.h"
393++#include "open.h"
394+ #include "strerr.h"
395+ #include "stralloc.h"
396+ #include "getln.h"
397+Index: ucspi-tcp/tcprulescheck.c
398+===================================================================
399+--- ucspi-tcp.orig/tcprulescheck.c
400++++ ucspi-tcp/tcprulescheck.c
401+@@ -1,3 +1,5 @@
402++#include <unistd.h>
403++#include "open.h"
404+ #include "byte.h"
405+ #include "buffer.h"
406+ #include "strerr.h"
407+Index: ucspi-tcp/trypoll.c
408+===================================================================
409+--- ucspi-tcp.orig/trypoll.c
410++++ ucspi-tcp/trypoll.c
411+@@ -1,3 +1,4 @@
412++#include <unistd.h>
413+ #include <sys/types.h>
414+ #include <fcntl.h>
415+ #include <poll.h>
416+Index: ucspi-tcp/tryshsgr.c
417+===================================================================
418+--- ucspi-tcp.orig/tryshsgr.c
419++++ ucspi-tcp/tryshsgr.c
420+@@ -1,3 +1,5 @@
421++#include <unistd.h>
422++#include <grp.h>
423+ main()
424+ {
425+ short x[4];
426+Index: ucspi-tcp/tryulong32.c
427+===================================================================
428+--- ucspi-tcp.orig/tryulong32.c
429++++ ucspi-tcp/tryulong32.c
430+@@ -1,4 +1,6 @@
431+-main()
432++#include <unistd.h>
433++
434++int main()
435+ {
436+ unsigned long u;
437+ u = 1;
438+Index: ucspi-tcp/tryulong64.c
439+===================================================================
440+--- ucspi-tcp.orig/tryulong64.c
441++++ ucspi-tcp/tryulong64.c
442+@@ -1,4 +1,5 @@
443+-main()
444++#include <unistd.h>
445++int main()
446+ {
447+ unsigned long u;
448+ u = 1;
449+Index: ucspi-tcp/tryvfork.c
450+===================================================================
451+--- ucspi-tcp.orig/tryvfork.c
452++++ ucspi-tcp/tryvfork.c
453+@@ -1,3 +1,4 @@
454++#include <unistd.h>
455+ main()
456+ {
457+ vfork();
458+Index: ucspi-tcp/readwrite.h
459+===================================================================
460+--- ucspi-tcp.orig/readwrite.h
461++++ ucspi-tcp/readwrite.h
462+@@ -1,7 +1,6 @@
463+ #ifndef READWRITE_H
464+ #define READWRITE_H
465+
466+-extern int read();
467+-extern int write();
468++#include <unistd.h>
469+
470+ #endif
471diff --git a/debian/patches/series b/debian/patches/series
472index 84c9cf3..d010a64 100644
473--- a/debian/patches/series
474+++ b/debian/patches/series
475@@ -3,3 +3,4 @@
476 0003-Makefile-target-choose-do-not-depend-on-conf-home.diff
477 0004-respect-DESTDIR-variable.patch
478 0005-build-verbose.patch
479+0006-implicit-declarations.patch

Subscribers

People subscribed via source and target branches

to all changes: