Skip to content

Commit 3afc9a9

Browse files
Bump scionproto and rains dependencies (#246)
* Update imports to newest SCION version * Apply migrations to newest SCION and QUIC versions * Uncomment replace for now * Update to newest rains, remove some todos * Update Go to 1.21 * Update examples, remove example/hellodrkey The hellodrkey is now maintained in scionproto/scion as demo/drkey. * lint: replace deprecated io/iotuil * circleci: updates to build current SCION * linter: remove unused closerListener, leave the bug that the conn is never closed * fixup: circleci * fixup: circleci, again * fixup: note go version for circleci image * pan: revert Source/Destination to public fields * pan: replace inet.af/netaddr with net/netip (API change!) * fixup: readme drkey --------- Co-authored-by: Matthias Frei <[email protected]>
1 parent 28b48f6 commit 3afc9a9

Some content is hidden

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

63 files changed

+691
-2051
lines changed

.circleci/config.yml

+14-20
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
jobs:
33
build:
44
docker:
5-
- image: cimg/go:1.20
5+
- image: cimg/go:1.21
66
steps:
77
- run:
88
name: Go version
@@ -36,8 +36,14 @@ jobs:
3636

3737
integration:
3838
machine:
39-
image: ubuntu-2004:202111-02 # using go1.17.3
39+
image: ubuntu-2204:2023.10.1 # using go1.21.0
4040
steps:
41+
- run:
42+
name: Check build tool versions
43+
command: |
44+
# Log tool versions provided by CircleCi
45+
go version
46+
python3 --version
4147
- checkout
4248
# The following step are shared with netsec-ethz/rains
4349
- run:
@@ -60,45 +66,33 @@ jobs:
6066
- run:
6167
name: Build SCION services and install python3 dependencies
6268
command: |
63-
# Log tool versions provided by CircleCi
64-
go version
65-
python3 --version
66-
6769
cd ~/scion
68-
for service in "posix-router" "cs" "dispatcher" "scion-pki" "daemon" "co"; do
69-
go build -o ./bin/ ./go/${service}/ && echo "Built ${service}";
70+
for service in "router" "control" "dispatcher" "scion-pki" "daemon"; do
71+
go build -o ./bin/ ./${service}/cmd/${service} && echo "Built ${service}";
7072
done
7173
7274
pip3 install -U wheel setuptools
73-
pip3 install -r ~/scion/env/pip3/requirements.txt
75+
pip3 install -r tools/env/pip3/requirements.txt
7476
- run:
7577
name: Configure and start local SCION AS
7678
command: |
7779
cd ~/scion
78-
export PYTHONPATH=python/:.
7980
8081
# Generate tiny4.topo
8182
printf '#!/bin/bash\necho "0.0.0.0"' > tools/docker-ip # Some hackery to make topo scripts run
8283
# Use IPv4 addresses for this test
83-
python3 python/topology/generator.py -c ./topology/tiny4.topo
84+
python3 tools/topogen.py -c ./topology/tiny4.topo
8485
# Link the gen directory containing sciond_addresses.json and as_list.json
8586
ln -s ~/scion/gen /home/circleci/project/gen
8687
mkdir gen-cache
8788
8889
# Start all AS tiny4.topo
89-
supervisor/supervisor.sh reload
90-
supervisor/supervisor.sh start all
90+
tools/supervisor.sh reload
91+
tools/supervisor.sh start all
9192
- run:
9293
name: Install libpam0g-dev
9394
command:
9495
sudo apt-get update && sudo apt-get install -y libpam0g-dev
95-
# Use different Go version to build scion-apps
96-
- run:
97-
name: Install Go 1.20.7 to build scion-apps
98-
command: |
99-
wget https://go.dev/dl/go1.20.7.linux-amd64.tar.gz
100-
sudo rm -rf /usr/local/go
101-
sudo tar -C /usr/local -xzf go1.20.7.linux-amd64.tar.gz
10296
- run:
10397
name: Integration tests
10498
command: |

Makefile

+9-5
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ build: scion-bat \
2424
scion-web-gateway \
2525
example-helloworld \
2626
example-helloquic \
27-
example-hellodrkey \
28-
example-shttp-client example-shttp-server example-shttp-fileserver example-shttp-proxy
27+
example-shttp-client example-shttp-server example-shttp-fileserver example-shttp-proxy \
28+
example-sgrpc-server example-sgrpc-client
2929

3030
clean:
3131
go clean ./...
@@ -122,6 +122,10 @@ example-shttp-fileserver:
122122
example-shttp-proxy:
123123
cd _examples && go build -tags=$(TAGS) -o ../$(BIN)/$@ ./shttp/proxy
124124

125-
.PHONY: example-hellodrkey
126-
example-hellodrkey:
127-
cd _examples && go build -tags=$(TAGS) -o ../$(BIN)/$@ ./hellodrkey/
125+
.PHONY: example-sgrpc-server
126+
example-sgrpc-server:
127+
cd _examples && go build -tags=$(TAGS) -o ../$(BIN)/$@ ./sgrpc/server
128+
129+
.PHONY: example-sgrpc-client
130+
example-sgrpc-client:
131+
cd _examples && go build -tags=$(TAGS) -o ../$(BIN)/$@ ./sgrpc/client

README.md

-2
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ The directory _examples contains examples for the usage of the SCION libraries.
9999
A minimal "hello, world" application using UDP over SCION.
100100
* [_examples/helloquic](_examples/helloquic/README.md):
101101
Example for the use of QUIC over SCION.
102-
* [_examples/hellodrkey](_examples/hellodrkey/README.md):
103-
Example for the the use of DRKey.
104102
* [_examples/sgrpc](_examples/sgrpc/README.md):
105103
Example for using gRPC over SCION/QUIC with the PAN library.
106104
* [_examples/shttp](_examples/shttp/README.md):

_examples/go.mod

+65-9
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,74 @@
11
module examples
22

3-
go 1.16
3+
go 1.21
44

55
require (
6-
github.com/golang/protobuf v1.5.2
6+
github.com/golang/protobuf v1.5.3
77
github.com/gorilla/handlers v1.5.1
8-
github.com/netsec-ethz/scion-apps v0.5.1-0.20220504120040-79211109ed3f
9-
github.com/quic-go/quic-go v0.34.0
10-
github.com/scionproto/scion v0.6.1-0.20220202161514-5883c725f748
11-
google.golang.org/grpc v1.40.0
12-
google.golang.org/protobuf v1.28.0
13-
inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a
8+
github.com/netsec-ethz/scion-apps v0.5.0
9+
github.com/quic-go/quic-go v0.38.1
10+
google.golang.org/grpc v1.57.2
1411
)
1512

16-
replace github.com/scionproto/scion => github.com/netsec-ethz/scion v0.6.1-0.20220929101513-2408583f35d1
13+
require (
14+
github.com/antlr/antlr4 v0.0.0-20181218183524-be58ebffde8e // indirect
15+
github.com/beorn7/perks v1.0.1 // indirect
16+
github.com/britram/borat v0.0.0-20181011130314-f891bcfcfb9b // indirect
17+
github.com/cespare/xxhash/v2 v2.2.0 // indirect
18+
github.com/dchest/cmac v1.0.0 // indirect
19+
github.com/dustin/go-humanize v1.0.1 // indirect
20+
github.com/felixge/httpsnoop v1.0.1 // indirect
21+
github.com/go-stack/stack v1.8.0 // indirect
22+
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
23+
github.com/golang/mock v1.6.0 // indirect
24+
github.com/google/gopacket v1.1.19 // indirect
25+
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 // indirect
26+
github.com/google/uuid v1.3.0 // indirect
27+
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
28+
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
29+
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
30+
github.com/inconshreveable/log15 v0.0.0-20180818164646-67afb5ed74ec // indirect
31+
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
32+
github.com/mattn/go-colorable v0.1.13 // indirect
33+
github.com/mattn/go-isatty v0.0.17 // indirect
34+
github.com/mattn/go-sqlite3 v1.14.17 // indirect
35+
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
36+
github.com/netsec-ethz/rains v0.5.1-0.20231016120129-1e8d70642e60 // indirect
37+
github.com/onsi/ginkgo/v2 v2.9.5 // indirect
38+
github.com/opentracing/opentracing-go v1.2.0 // indirect
39+
github.com/pelletier/go-toml v1.9.5 // indirect
40+
github.com/prometheus/client_golang v1.14.0 // indirect
41+
github.com/prometheus/client_model v0.3.0 // indirect
42+
github.com/prometheus/common v0.37.0 // indirect
43+
github.com/prometheus/procfs v0.8.0 // indirect
44+
github.com/quic-go/qtls-go1-20 v0.3.3 // indirect
45+
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
46+
github.com/scionproto/scion v0.9.1 // indirect
47+
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
48+
github.com/uber/jaeger-lib v2.0.0+incompatible // indirect
49+
go.uber.org/atomic v1.9.0 // indirect
50+
go.uber.org/multierr v1.8.0 // indirect
51+
go.uber.org/zap v1.24.0 // indirect
52+
golang.org/x/crypto v0.9.0 // indirect
53+
golang.org/x/exp v0.0.0-20221205204356-47842c84f3db // indirect
54+
golang.org/x/mod v0.10.0 // indirect
55+
golang.org/x/net v0.10.0 // indirect
56+
golang.org/x/sys v0.8.0 // indirect
57+
golang.org/x/text v0.9.0 // indirect
58+
golang.org/x/tools v0.9.1 // indirect
59+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230815205213-6bfd019c3878 // indirect
60+
google.golang.org/protobuf v1.31.0 // indirect
61+
gopkg.in/yaml.v2 v2.4.0 // indirect
62+
lukechampine.com/uint128 v1.2.0 // indirect
63+
modernc.org/cc/v3 v3.40.0 // indirect
64+
modernc.org/ccgo/v3 v3.16.13 // indirect
65+
modernc.org/libc v1.22.5 // indirect
66+
modernc.org/mathutil v1.5.0 // indirect
67+
modernc.org/memory v1.5.0 // indirect
68+
modernc.org/opt v0.1.3 // indirect
69+
modernc.org/sqlite v1.24.0 // indirect
70+
modernc.org/strutil v1.1.3 // indirect
71+
modernc.org/token v1.0.1 // indirect
72+
)
1773

1874
replace github.com/netsec-ethz/scion-apps => ../

0 commit comments

Comments
 (0)