EduVPN shared library
This repository contains a Go library with functions that all EduVPN clients can use. The goal is to let EduVPN clients link against this library and gradually merge more common logic between EduVPN clients into this repository.
cgo is used to build the go library into a shared dynamic library. Wrappers will be written using some FFI framework for each language used in EduVPN clients to easily interface with the library.
Functionality
Currently, only verification of signatures on files from disco.eduvpn.org
is supported. For now, these files have to be downloaded by the caller.
Build & test
Build shared library for current platform:
make
Build shared library for specified OS & architecture (example):
make OS=windows ARCH=386
Results will be output in exports/
.
Test Go code:
make test-go
Test wrappers:
make test-wrappers
Take a look at wrappers/
for descriptions per wrapper.
Directory
verify.go
: main APIverify_test.go
andtest_data/
: tests for APIexports/
: C API interfacewrappers/
: Wrappers per language, currently only C#