Skip to content

Commit 3f9e646

Browse files
committed
vendor freedesktop slirp
Now v0.3.x branch is synced with the latest upstream libslirp for ease of applying security fixes. From rootless-containers#94 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
1 parent b8c8d25 commit 3f9e646

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+10160
-11588
lines changed

Makefile.am

+72-67
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ bin_PROGRAMS = slirp4netns
22

33
AM_CFLAGS = @GLIB_CFLAGS@
44

5-
noinst_LIBRARIES = libqemu_slirp.a libparson.a
5+
noinst_LIBRARIES = libslirp.a libparson.a
66

77
AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$(PATH)"
88
TESTS = tests/test-slirp4netns.sh tests/test-slirp4netns-configure.sh tests/test-slirp4netns-exit-fd.sh tests/test-slirp4netns-ready-fd.sh tests/test-slirp4netns-api-socket.sh tests/test-slirp4netns-disable-host-loopback.sh tests/test-slirp4netns-cidr.sh
@@ -14,65 +14,70 @@ EXTRA_DIST = \
1414
tests/common.sh \
1515
slirp4netns.h \
1616
api.h \
17-
qemu/slirp/src/bootp.h \
18-
qemu/slirp/src/debug.h \
19-
qemu/slirp/src/dhcpv6.h \
20-
qemu/slirp/src/if.h \
21-
qemu/slirp/src/ip6.h \
22-
qemu/slirp/src/ip6_icmp.h \
23-
qemu/slirp/src/ip.h \
24-
qemu/slirp/src/ip_icmp.h \
25-
qemu/slirp/src/libslirp.h \
26-
qemu/slirp/src/main.h \
27-
qemu/slirp/src/mbuf.h \
28-
qemu/slirp/src/misc.h \
29-
qemu/slirp/src/ncsi-pkt.h \
30-
qemu/slirp/src/qtailq.h \
31-
qemu/slirp/src/sbuf.h \
32-
qemu/slirp/src/slirp.h \
33-
qemu/slirp/src/socket.h \
34-
qemu/slirp/src/stream.h \
35-
qemu/slirp/src/tftp.h \
36-
qemu/slirp/src/tcp.h \
37-
qemu/slirp/src/tcpip.h \
38-
qemu/slirp/src/tcp_timer.h \
39-
qemu/slirp/src/tcp_var.h \
40-
qemu/slirp/src/udp.h \
41-
qemu/slirp/src/util.h \
42-
qemu/slirp/src/vmstate.h \
43-
parson/parson.h
44-
45-
libqemu_slirp_a_SOURCES = \
46-
qemu/slirp/src/arp_table.c \
47-
qemu/slirp/src/bootp.c \
48-
qemu/slirp/src/cksum.c \
49-
qemu/slirp/src/dhcpv6.c \
50-
qemu/slirp/src/dnssearch.c \
51-
qemu/slirp/src/if.c \
52-
qemu/slirp/src/ip6_icmp.c \
53-
qemu/slirp/src/ip6_input.c \
54-
qemu/slirp/src/ip6_output.c \
55-
qemu/slirp/src/ip_icmp.c \
56-
qemu/slirp/src/ip_input.c \
57-
qemu/slirp/src/ip_output.c \
58-
qemu/slirp/src/mbuf.c \
59-
qemu/slirp/src/misc.c \
60-
qemu/slirp/src/ncsi.c \
61-
qemu/slirp/src/ndp_table.c \
62-
qemu/slirp/src/sbuf.c \
63-
qemu/slirp/src/slirp.c \
64-
qemu/slirp/src/socket.c \
65-
qemu/slirp/src/state.c \
66-
qemu/slirp/src/stream.c \
67-
qemu/slirp/src/tcp_input.c \
68-
qemu/slirp/src/tcp_output.c \
69-
qemu/slirp/src/tcp_subr.c \
70-
qemu/slirp/src/tcp_timer.c \
71-
qemu/slirp/src/tftp.c \
72-
qemu/slirp/src/udp6.c \
73-
qemu/slirp/src/udp.c \
74-
qemu/slirp/src/util.c \
75-
qemu/slirp/src/vmstate.c
17+
vendor/libslirp/COPYRIGHT \
18+
vendor/libslirp/README.md \
19+
vendor/libslirp/src/bootp.h \
20+
vendor/libslirp/src/debug.h \
21+
vendor/libslirp/src/dhcpv6.h \
22+
vendor/libslirp/src/if.h \
23+
vendor/libslirp/src/ip6.h \
24+
vendor/libslirp/src/ip6_icmp.h \
25+
vendor/libslirp/src/ip.h \
26+
vendor/libslirp/src/ip_icmp.h \
27+
vendor/libslirp/src/libslirp.h \
28+
vendor/libslirp/src/libslirp-version.h \
29+
vendor/libslirp/src/main.h \
30+
vendor/libslirp/src/mbuf.h \
31+
vendor/libslirp/src/misc.h \
32+
vendor/libslirp/src/ncsi-pkt.h \
33+
vendor/libslirp/src/sbuf.h \
34+
vendor/libslirp/src/slirp.h \
35+
vendor/libslirp/src/socket.h \
36+
vendor/libslirp/src/stream.h \
37+
vendor/libslirp/src/tftp.h \
38+
vendor/libslirp/src/tcp.h \
39+
vendor/libslirp/src/tcpip.h \
40+
vendor/libslirp/src/tcp_timer.h \
41+
vendor/libslirp/src/tcp_var.h \
42+
vendor/libslirp/src/udp.h \
43+
vendor/libslirp/src/util.h \
44+
vendor/libslirp/src/vmstate.h \
45+
vendor/parson/LICENSE \
46+
vendor/parson/README.md \
47+
vendor/parson/parson.h
48+
49+
libslirp_a_SOURCES = \
50+
vendor/libslirp/src/arp_table.c \
51+
vendor/libslirp/src/bootp.c \
52+
vendor/libslirp/src/cksum.c \
53+
vendor/libslirp/src/dhcpv6.c \
54+
vendor/libslirp/src/dnssearch.c \
55+
vendor/libslirp/src/if.c \
56+
vendor/libslirp/src/ip6_icmp.c \
57+
vendor/libslirp/src/ip6_input.c \
58+
vendor/libslirp/src/ip6_output.c \
59+
vendor/libslirp/src/ip_icmp.c \
60+
vendor/libslirp/src/ip_input.c \
61+
vendor/libslirp/src/ip_output.c \
62+
vendor/libslirp/src/mbuf.c \
63+
vendor/libslirp/src/misc.c \
64+
vendor/libslirp/src/ncsi.c \
65+
vendor/libslirp/src/ndp_table.c \
66+
vendor/libslirp/src/sbuf.c \
67+
vendor/libslirp/src/slirp.c \
68+
vendor/libslirp/src/socket.c \
69+
vendor/libslirp/src/state.c \
70+
vendor/libslirp/src/stream.c \
71+
vendor/libslirp/src/tcp_input.c \
72+
vendor/libslirp/src/tcp_output.c \
73+
vendor/libslirp/src/tcp_subr.c \
74+
vendor/libslirp/src/tcp_timer.c \
75+
vendor/libslirp/src/tftp.c \
76+
vendor/libslirp/src/udp6.c \
77+
vendor/libslirp/src/udp.c \
78+
vendor/libslirp/src/util.c \
79+
vendor/libslirp/src/version.c \
80+
vendor/libslirp/src/vmstate.c
7681

7782
# define specific commit if git available or it was replaced during git-archive creation
7883
COMMIT := $(shell V=$Format:%H$ ; \
@@ -82,12 +87,12 @@ COMMIT := $(shell V=$Format:%H$ ; \
8287
DEFINE_COMMIT = -DCOMMIT="\"$(COMMIT)\""
8388

8489
slirp4netns_CFLAGS = $(AM_CFLAGS) $(DEFINE_COMMIT)
85-
libqemu_slirp_a_CFLAGS = $(AM_CFLAGS) -I$(abs_top_builddir)/qemu/slirp/src
86-
libparson_a_CFLAGS = $(AM_CFLAGS) -I$(abs_top_builddir)/parson
87-
libparson_a_SOURCES = parson/parson.c
90+
libslirp_a_CFLAGS = $(AM_CFLAGS) -I$(abs_top_builddir)/vendor/libslirp/src
91+
libparson_a_CFLAGS = $(AM_CFLAGS) -I$(abs_top_builddir)/vendor/parson
92+
libparson_a_SOURCES = vendor/parson/parson.c
8893

8994
slirp4netns_SOURCES = main.c slirp4netns.c api.c
90-
slirp4netns_LDADD = libqemu_slirp.a libparson.a @GLIB_LIBS@ -lpthread
95+
slirp4netns_LDADD = libslirp.a libparson.a @GLIB_LIBS@ -lpthread
9196
man1_MANS = slirp4netns.1
9297

9398
generate-man:
@@ -99,7 +104,7 @@ lint:
99104
$(CLANGTIDY) $(slirp4netns_SOURCES) -- $(AM_CFLAGS)
100105

101106
lint-full:
102-
$(CLANGTIDY) $(slirp4netns_SOURCES) $(libqemu_slirp_a_SOURCES) $(libparson_a_SOURCES) -- $(AM_CFLAGS)
107+
$(CLANGTIDY) $(slirp4netns_SOURCES) $(libslirp_a_SOURCES) $(libparson_a_SOURCES) -- $(AM_CFLAGS)
103108

104109
indent:
105110
# indent(1): "You must use the ‘-T’ option to tell indent the name of all the typenames in your program that are defined by typedef."
@@ -120,8 +125,8 @@ benchmark:
120125
ci:
121126
$(MAKE) indent
122127
test -z "$(git diff)"
123-
# TODO: make sure ./qemu is synced with ./qemu_patches/sync.sh
124-
# (hard to verify during `make`, because sync.sh removes ./qemu/slirp/src/.deps)
128+
# TODO: make sure ./vendor is synced with ./vendor.sh
129+
# (hard to verify during `make`, because sync.sh removes ./vendor/libslirp/src/.deps)
125130
$(MAKE) lint
126131
$(MAKE) -j $(shell nproc) distcheck || ( find . -name test-suite.log | xargs cat; exit 1 )
127132
PATH=$(shell pwd):$$PATH $(MAKE) benchmark MTU=1500

README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -172,5 +172,4 @@ The latest revision of slirp4netns is regularly benchmarked (`make benchmark`) o
172172

173173
## Acknowledgement
174174

175-
* The files under [`qemu`](./qemu) directory were forked from [QEMU](https://github.com/qemu/qemu) with the patches under [`qemu_patches`](./qemu_patches) directory.
176-
* The files under [`parson`](./parson) directory were copied from [kgabis/parson](https://github.com/kgabis/parson/commit/0a1896939faff5f69e179637fc49f678ff0128ba) without any modification.
175+
See [`vendor/README.md`](./vendor/README.md).

api.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
#include <unistd.h>
55
#include <sys/un.h>
66
#include <glib.h>
7-
#include "parson/parson.h"
8-
#include "qemu/slirp/src/libslirp.h"
7+
#include "vendor/parson/parson.h"
8+
#include "vendor/libslirp/src/libslirp.h"
99
#include "api.h"
1010
#include "slirp4netns.h"
1111

parson/README.md

-3
This file was deleted.

0 commit comments

Comments
 (0)