Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit c42f8a3

Browse files
committed
Initial commit
Signed-off-by: Patrick McCarty <[email protected]>
0 parents  commit c42f8a3

File tree

236 files changed

+18402
-0
lines changed

Some content is hidden

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

236 files changed

+18402
-0
lines changed

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
*.kdev4
2+
*.lo
3+
*.o
4+
*.trs
5+
*~
6+
.cproject
7+
.deps
8+
.dirstamp
9+
.libs/
10+
.project
11+
DEADJOE
12+
Makefile
13+
Makefile.in
14+
aclocal.m4
15+
ar-lib
16+
autom4te.cache/
17+
compile
18+
config.*
19+
configure
20+
cscope.*
21+
data/check-update.service
22+
data/check-update.timer
23+
depcomp
24+
functional-tests.log
25+
fuzzout/
26+
install-sh
27+
kw*
28+
libswupd*
29+
libtool
30+
ltmain.sh
31+
m4/
32+
missing
33+
regression/*.out
34+
stamp-h1
35+
swupd
36+
swupd-client*tar.gz
37+
swupd_*
38+
tap-driver.sh
39+
test-suite.log
40+
test/functional/*/*/*/*/*.tar
41+
test/functional/*/*/*/*/*/*.tar

COPYING

Lines changed: 353 additions & 0 deletions
Large diffs are not rendered by default.

Makefile.am

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
EXTRA_DIST = COPYING findstatic.pl
2+
3+
AM_CFLAGS = -fPIC -Iinclude/ -O2 -g -Wall -W -Wformat-security -D_FORTIFY_SOURCE=2 -fno-common -std=gnu99
4+
ACLOCAL_AMFLAGS = -I m4
5+
6+
bin_PROGRAMS = swupd
7+
8+
swupd_SOURCES = \
9+
src/swupd.c \
10+
$(swupd_hashdump_SOURCES) \
11+
$(swupd_update_SOURCES) \
12+
$(swupd_check_update_SOURCES) \
13+
$(swupd_verify_SOURCES) \
14+
$(clr_bundle_add_SOURCES) \
15+
$(clr_bundle_rm_SOURCES)
16+
17+
check_PROGRAMS = \
18+
swupd_bsdiff_bench \
19+
swupd_hashtest \
20+
swupd_listtest \
21+
swupd_fuzz \
22+
swupd_locktest \
23+
swupd_sig_verifytest
24+
25+
SWUPD_COMMON_SOURCES = \
26+
src/curl.c \
27+
src/delta.c \
28+
src/download.c \
29+
src/filedesc.c \
30+
src/hash.c \
31+
src/helpers.c \
32+
src/heuristics.c \
33+
src/list.c \
34+
src/lock.c \
35+
src/manifest.c \
36+
src/packs.c \
37+
src/signature.c \
38+
src/staging.c \
39+
src/stats.c \
40+
src/subscriptions.c \
41+
src/update.c \
42+
src/version.c \
43+
src/xattrs.c \
44+
src/globals.c \
45+
src/scripts.c \
46+
src/bundle.c
47+
48+
lib_LTLIBRARIES = libswupd.la
49+
libswupd_la_SOURCES = $(SWUPD_COMMON_SOURCES)
50+
libswupd_la_LIBADD = $(SWUPD_COMPRESSION_LIBS) $(openssl_LIBS) $(curl_LIBS) $(bsdiff_LIBS)
51+
# Library version changes according to the libtool convention:
52+
# http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
53+
LIBSWUPD_CURRENT=1
54+
LIBSWUPD_REVISION=0
55+
LIBSWUPD_AGE=0
56+
libswupd_la_LDFLAGS = \
57+
-version-info $(LIBSWUPD_CURRENT):$(LIBSWUPD_REVISION):$(LIBSWUPD_AGE)
58+
59+
swupd_update_SOURCES = src/main.c
60+
swupd_verify_SOURCES = src/verify.c
61+
swupd_check_update_SOURCES = src/check_update.c
62+
63+
clr_bundle_add_SOURCES = src/clr_bundle_add.c
64+
clr_bundle_rm_SOURCES = src/clr_bundle_rm.c
65+
66+
swupd_hashdump_SOURCES = src/hashdump.c
67+
68+
swupd_bsdiff_bench_SOURCES = test/bsdiff_bench.c
69+
swupd_hashtest_SOURCES = test/hash_test.c
70+
swupd_listtest_SOURCES = test/listtest.c
71+
swupd_fuzz_SOURCES = test/fuzz.c
72+
swupd_locktest_SOURCES = test/locktest.c
73+
swupd_sig_verifytest_SOURCES = test/signature_verify_test.c
74+
75+
76+
AM_CPPFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/include
77+
SWUPD_COMPRESSION_LIBS = $(lzma_LIBS) $(zlib_LIBS) $(bzip2_LIBS)
78+
SWUPD_CORE_LIBS = libswupd.la ${curl_LIBS} $(openssl_LIBS) $(SWUPD_COMPRESSION_LIBS) $(bsdiff_LIBS)
79+
80+
swupd_LDADD = $(SWUPD_CORE_LIBS) $(pthread_LIBS)
81+
82+
swupd_bsdiff_bench_LDADD = $(SWUPD_CORE_LIBS)
83+
swupd_hashtest_LDADD = $(SWUPD_CORE_LIBS) $(pthread_LIBS)
84+
swupd_listtest_LDADD = $(SWUPD_CORE_LIBS)
85+
swupd_fuzz_LDADD = $(SWUPD_CORE_LIBS) $(pthread_LIBS)
86+
swupd_locktest_LDADD = $(SWUPD_CORE_LIBS) $(pthread_LIBS)
87+
swupd_sig_verifytest_LDADD = $(SWUPD_CORE_LIBS)
88+
89+
noinst_HEADERS = $(top_srcdir)/include/*
90+
91+
swupdcertsdir = @swupdcertsdir@
92+
SWUPD_CERTS = certs/157753a5.0 \
93+
certs/425b0f6b.0 \
94+
certs/425b0f6b.key \
95+
certs/8d28ae65.0 \
96+
certs/d6325660.0 \
97+
certs/d6325660.1
98+
swupdcerts_DATA = $(SWUPD_CERTS)
99+
dist_swupdcerts_DATA = $(SWUPD_CERTS)
100+
101+
EXTRA_DIST += \
102+
data/check-update.service \
103+
data/check-update.timer
104+
105+
DISTCHECK_CONFIGURE_FLAGS = \
106+
--with-systemdsystemunitdir=$$dc_install_base/$(systemdunitdir)
107+
108+
systemdunitdir = @SYSTEMD_UNITDIR@
109+
110+
systemdunit_DATA = \
111+
data/check-update.service \
112+
data/check-update.timer
113+
114+
systemdunit-install-local:
115+
mkdir -p $(DESTDIR)$(systemdunitdir)/multi-user.target.wants/
116+
ln -sf ../check-update.timer $(DESTDIR)$(systemdunitdir)/multi-user.target.wants/check-update.timer
117+
install-data-local: systemdunit-install-local
118+
119+
systemdunit-uninstall-local:
120+
rm -f $(DESTDIR)$(systemdunitdir)/multi-user.target.wants/check-update.timer
121+
uninstall-local: systemdunit-uninstall-local
122+
123+
distclean-local:
124+
rm -rf aclocal.m4 ar-lib autom4te.cache config.guess config.h.in config.h.in~ config.sub configure depcomp install-sh ltmain.sh m4 Makefile.in missing compile
125+
126+
install-exec-hook:
127+
perl findstatic.pl */*.o | grep -v Checking ||:
128+
129+
130+
TEST_EXTENSIONS = .py
131+
132+
if ENABLE_TESTS
133+
tap_driver = env AM_TAP_AWK='$(AWK)' $(SHELL) \
134+
$(top_srcdir)/tap-driver.sh
135+
136+
LOG_DRIVER = $(tap_driver)
137+
PY_LOG_DRIVER = $(tap_driver)
138+
139+
TESTS = $(dist_check_SCRIPTS)
140+
141+
dist_check_SCRIPTS = \
142+
functional-tests.py
143+
endif
144+
145+
release:
146+
@git rev-parse v$(PACKAGE_VERSION) &> /dev/null; \
147+
if [ "$$?" -eq 0 ]; then \
148+
echo "Error: Release for $(PACKAGE_VERSION) already exists."; \
149+
echo "Bump version in configure.ac before releasing."; \
150+
exit 1; \
151+
fi
152+
@git tag -a -m "$(PACKAGE_NAME) release $(PACKAGE_VERSION)" v$(PACKAGE_VERSION)
153+
@printf "\nNew release $(PACKAGE_VERSION) tagged!\n\n"

README

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
The swupd-client package provides a reference implementation of a software
2+
update client which performs file level updates of an OS, preferentially
3+
using binary deltas whenever possible for efficiency under an assumption
4+
that the OS develops with a release process aimed at rapidly deploying
5+
small incremental changes.

certs/157753a5.0

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
3+
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
4+
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
5+
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
6+
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
7+
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
8+
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
9+
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
10+
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
11+
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
12+
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
13+
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
14+
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
15+
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
16+
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
17+
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
18+
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
19+
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
20+
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
21+
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
22+
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
23+
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
24+
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
25+
-----END CERTIFICATE-----

certs/425b0f6b.0

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIHEzCCBfugAwIBAgIQAfSnvLCU184JB1YkkQ8KkDANBgkqhkiG9w0BAQsFADCB
3+
kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
4+
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
5+
BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
6+
QTAeFw0xNTA0MzAwMDAwMDBaFw0xODA0MjkyMzU5NTlaMIGqMSEwHwYDVQQLExhE
7+
b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxNzA1BgNVBAsTLklzc3VlZCB0aHJvdWdo
8+
IEludGVsIENvcnBvcmF0aW9uIEUtUEtJIE1hbmFnZXIxKjAoBgNVBAsTIUNPTU9E
9+
TyBTU0wgVW5pZmllZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAxMXZG93bmxvYWQu
10+
Y2xlYXJsaW51eC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC5
11+
xkCgSShYdkDdT9LsWW3bPHDxtTyDT4fIucCyE+npRPP5IdFYHFbeXIUsiyKm/hiw
12+
1egvsczSQcc81IsNUYC/2qKqiA3E+jIYXnP/CXRHVBwXfBvajUjbRiiyY+xMWc5k
13+
tRsZ9+eYysH/9YFcLkrRiqBrHl2pzZWsUcZ/ehe5RUFg9Pb2y3Qsc5+TJmS6Bf0l
14+
Z5su4X93GCFPATu6Yp5IE20YM8E593egD4tZq1Os/+3TNr9J+aBIjQ0d+AMPvWdF
15+
cLX6ax1XKZ/6V40X8yWxb2wmkquogoWjdNGGLYQAFludTCpyTRoXX3QiS3XVDzu/
16+
Yq32/hOA4uV5Un2dcTmjfb/0EhcKI2YToAEGr5K0rwXDbUJsxJcJxqkya71WdJ4L
17+
3Xy//4JEXuol6XV4YTonclbRDHL/ZYsa4VHp1ziADaDCvM+Z1mOE8K0UgTMQnqy7
18+
c/9fcOEhDnBoHiiolmcyISgMM3RJSiFzDTh8BnKAX2eDrb6/xMSROeFs1Eo0USd0
19+
N4/pNm31fekrs/nD69JUi2rVCHB1dZhlbQ/wh233nzX1z/L39+HoQeXtUKcamcav
20+
LVVv+uOiYIG96B6hZ5CmsinWET01yn1mQx82EvDC8lZIxINp5fpPP4Syvfgukf8V
21+
2XtxMcJstKtRm1evzO3Aa0TJwTRUD/5Mq9EXvF2zuwIDAQABo4ICSzCCAkcwHwYD
22+
VR0jBBgwFoAUkK9qOpRaC9iQ6hJWc99DtDoo2ucwHQYDVR0OBBYEFFEbI3dnKS70
23+
5opGdwihGFg4dNCeMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1Ud
24+
JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBPBgNVHSAESDBGMDoGCysGAQQBsjEB
25+
AgIHMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BT
26+
MAgGBmeBDAECATBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vY3JsLmNvbW9kb2Nh
27+
LmNvbS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3Js
28+
MIGFBggrBgEFBQcBAQR5MHcwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuY29tb2Rv
29+
Y2EuY29tL0NPTU9ET1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5j
30+
cnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNvbTCBmAYDVR0R
31+
BIGQMIGNghdkb3dubG9hZC5jbGVhcmxpbnV4Lm9yZ4IYZGVidWdpbmZvLmNsZWFy
32+
bGludXgub3JnghRwYWNrcy5jbGVhcmxpbnV4Lm9yZ4ITcGtncy5jbGVhcmxpbnV4
33+
Lm9yZ4IVdXBkYXRlLmNsZWFybGludXgub3JnghZ2ZXJzaW9uLmNsZWFybGludXgu
34+
b3JnMA0GCSqGSIb3DQEBCwUAA4IBAQAT6AZcA5nNl7J8Aeia6t2pwHOIUx8dsJcJ
35+
yK6dDm8C05hfGtg/IMYxE2zKQjhWK3fM4ISdsizRja5IctXBeYxXV22tk+khXPVU
36+
m2XgspsN7TLHxlHvMaAoFgC7pcNOET8wPi6yPgjrsoqnjOhJMgADDB4zT+sUApoQ
37+
SmZ23xwBm4B2MRmIdgRHzH362W7mxSbpTIF00DGuUBBxoj1xt8PY03q8DvlVxlYn
38+
weI/QE+ws8Qe/85gYgFFRjrX4SELZS1qN0A/3IYnVuwosrLK40fRSg1gqCCvwRI3
39+
KdfW/WchUc8XfB+AGjaWKGvf3BpB3vt9CnGtRwmEj6MZgzvYhmcy
40+
-----END CERTIFICATE-----

certs/425b0f6b.key

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAucZAoEkoWHZA3U/S7Flt
3+
2zxw8bU8g0+HyLnAshPp6UTz+SHRWBxW3lyFLIsipv4YsNXoL7HM0kHHPNSLDVGA
4+
v9qiqogNxPoyGF5z/wl0R1QcF3wb2o1I20YosmPsTFnOZLUbGffnmMrB//WBXC5K
5+
0Yqgax5dqc2VrFHGf3oXuUVBYPT29st0LHOfkyZkugX9JWebLuF/dxghTwE7umKe
6+
SBNtGDPBOfd3oA+LWatTrP/t0za/SfmgSI0NHfgDD71nRXC1+msdVymf+leNF/Ml
7+
sW9sJpKrqIKFo3TRhi2EABZbnUwqck0aF190Ikt11Q87v2Kt9v4TgOLleVJ9nXE5
8+
o32/9BIXCiNmE6ABBq+StK8Fw21CbMSXCcapMmu9VnSeC918v/+CRF7qJel1eGE6
9+
J3JW0Qxy/2WLGuFR6dc4gA2gwrzPmdZjhPCtFIEzEJ6su3P/X3DhIQ5waB4oqJZn
10+
MiEoDDN0SUohcw04fAZygF9ng62+v8TEkTnhbNRKNFEndDeP6TZt9X3pK7P5w+vS
11+
VItq1QhwdXWYZW0P8Idt95819c/y9/fh6EHl7VCnGpnGry1Vb/rjomCBvegeoWeQ
12+
prIp1hE9Ncp9ZkMfNhLwwvJWSMSDaeX6Tz+Esr34LpH/Fdl7cTHCbLSrUZtXr8zt
13+
wGtEycE0VA/+TKvRF7xds7sCAwEAAQ==
14+
-----END PUBLIC KEY-----

certs/8d28ae65.0

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
3+
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
4+
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
5+
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
6+
MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
7+
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
8+
Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
9+
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
10+
ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
11+
bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
12+
Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
13+
ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
14+
UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
15+
c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
16+
MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
17+
30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
18+
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
19+
BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
20+
bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
21+
AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
22+
T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
23+
ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
24+
mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
25+
e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
26+
P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
27+
dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
28+
2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
29+
V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
30+
HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
31+
j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
32+
0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
33+
lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
34+
+AZxAeKCINT+b72x
35+
-----END CERTIFICATE-----

certs/d6325660.0

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
3+
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
4+
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
5+
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
6+
MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
7+
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
8+
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
9+
dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
10+
6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
11+
pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
12+
9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
13+
/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
14+
Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
15+
+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
16+
qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
17+
SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
18+
u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
19+
Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
20+
crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
21+
FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
22+
/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
23+
wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
24+
4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
25+
2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
26+
FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
27+
CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
28+
boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
29+
jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
30+
S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
31+
QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
32+
0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
33+
NVOFBkpdn627G190
34+
-----END CERTIFICATE-----

certs/d6325660.1

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
3+
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
4+
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
5+
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
6+
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
7+
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
8+
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
9+
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
10+
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
11+
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
12+
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
13+
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
14+
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
15+
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
16+
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
17+
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
18+
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
19+
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
20+
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
21+
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
22+
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
23+
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
24+
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
25+
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
26+
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
27+
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
28+
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
29+
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
30+
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
31+
pu/xO28QOG8=
32+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)