summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMikael Magnusson <mikma@users.sourceforge.net>2021-12-13 19:09:26 +0100
committerMikael Magnusson <mikma@users.sourceforge.net>2022-03-18 22:04:47 +0100
commitd5fffc635b9736808e0227693f1f461755381e14 (patch)
tree382082f05b602283742921f013df6fcf13f0b05e
parent2e5c0ca5c079a783992fc3f2bb6bd5f64bceadc1 (diff)
use google's protobuf.Empty
-rw-r--r--tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java2
-rw-r--r--tunnel/src/main/proto/libwg.proto11
-rw-r--r--tunnel/tools/libwg-go/Makefile5
-rw-r--r--tunnel/tools/libwg-go/service.go7
4 files changed, 12 insertions, 13 deletions
diff --git a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java
index a68d205b..575f6537 100644
--- a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java
+++ b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java
@@ -17,6 +17,7 @@ import android.util.Log;
import com.google.protobuf.ByteString;
import com.google.protobuf.InvalidProtocolBufferException;
+import com.google.protobuf.Empty;
import com.wireguard.android.backend.BackendException.Reason;
import com.wireguard.android.backend.Tunnel.State;
@@ -54,7 +55,6 @@ import androidx.annotation.Nullable;
import androidx.collection.ArraySet;
import com.wireguard.android.backend.gen.LibwgGrpc;
-import com.wireguard.android.backend.gen.Empty;
import com.wireguard.android.backend.gen.TunnelHandle;
import com.wireguard.android.backend.gen.TurnOnRequest;
import com.wireguard.android.backend.gen.TurnOnResponse;
diff --git a/tunnel/src/main/proto/libwg.proto b/tunnel/src/main/proto/libwg.proto
index ce908d02..c136ae4d 100644
--- a/tunnel/src/main/proto/libwg.proto
+++ b/tunnel/src/main/proto/libwg.proto
@@ -6,24 +6,21 @@ option java_outer_classname = "LibwgProto";
option java_generic_services = true;
option go_package = 'golang.zx2c4.com/wireguard/android/gen';
-//import "google/protobuf/empty.proto";
+import "google/protobuf/empty.proto";
package api;
service Libwg {
- rpc StopGrpc(Empty) returns (Empty);
+ rpc StopGrpc(google.protobuf.Empty) returns (google.protobuf.Empty);
rpc TurnOn(TurnOnRequest) returns (TurnOnResponse);
- rpc TurnOff(TurnOffRequest) returns (Empty);
+ rpc TurnOff(TurnOffRequest) returns (google.protobuf.Empty);
rpc GetConfig(GetConfigRequest) returns (GetConfigResponse);
- rpc Version(Empty) returns (VersionResponse);
+ rpc Version(google.protobuf.Empty) returns (VersionResponse);
rpc StartHttpProxy(StartHttpProxyRequest) returns (StartHttpProxyResponse);
rpc StopHttpProxy(StopHttpProxyRequest) returns (StopHttpProxyResponse);
rpc Reverse(stream ReverseRequest) returns (stream ReverseResponse);
}
-// FIXME use google.protobuf.Empty
-message Empty {}
-
message TunnelHandle { int32 handle = 1; }
message Error {
diff --git a/tunnel/tools/libwg-go/Makefile b/tunnel/tools/libwg-go/Makefile
index 10a8f409..189807d2 100644
--- a/tunnel/tools/libwg-go/Makefile
+++ b/tunnel/tools/libwg-go/Makefile
@@ -32,6 +32,7 @@ PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go
# FIXME autodetect protoc path
PROTOC := /root/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protoc/3.19.1/d231c807be82ffc29b02525c8c2691772eb945bc/protoc-3.19.1-linux-x86_64.exe
PROTODIR = $(CURDIR)/../../src/main/proto
+PROTO_INCLUDEDIR = $(CURDIR)/../../build/extracted-include-protos/debug
PBDIR = $(GOPATH)/pkg/mod
default: $(DESTDIR)/libwg-go.so
@@ -62,12 +63,12 @@ $(PROTOC_GEN_GO): $(BUILDDIR)/go-$(GO_VERSION)/.prepared Makefile
gen/%.pb.go: export PATH := $(GOPATH)/bin:$(PATH)
gen/%.pb.go: $(PROTODIR)/%.proto $(BUILDDIR)/go-$(GO_VERSION)/.prepared $(PROTOC_GEN_GO)
test -d gen || mkdir gen
- $(PROTOC) -I $(PROTODIR) --go_out=paths=source_relative:./gen $<
+ $(PROTOC) -I $(PROTODIR) -I $(PROTO_INCLUDEDIR) --go_out=paths=source_relative:./gen $<
gen/%_grpc.pb.go: export PATH := $(GOPATH)/bin:$(PATH)
gen/%_grpc.pb.go: $(PROTODIR)/%.proto $(BUILDDIR)/go-$(GO_VERSION)/.prepared $(PROTOC_GEN_GO)
test -d gen || mkdir gen
- $(PROTOC) -I $(PROTODIR) --go-grpc_out=./gen --go-grpc_opt=paths=source_relative $<
+ $(PROTOC) -I $(PROTODIR) -I $(PROTO_INCLUDEDIR) --go-grpc_out=./gen --go-grpc_opt=paths=source_relative $<
$(DESTDIR)/libwg-go.so: export PATH := $(BUILDDIR)/go-$(GO_VERSION)/bin/:$(PATH)
$(DESTDIR)/libwg-go.so: $(BUILDDIR)/go-$(GO_VERSION)/.prepared go.mod api-android.go http-proxy.go service.go gen/libwg.pb.go gen/libwg_grpc.pb.go jni.c
diff --git a/tunnel/tools/libwg-go/service.go b/tunnel/tools/libwg-go/service.go
index e370f824..c201e45d 100644
--- a/tunnel/tools/libwg-go/service.go
+++ b/tunnel/tools/libwg-go/service.go
@@ -10,6 +10,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
+ "google.golang.org/protobuf/types/known/emptypb"
"golang.zx2c4.com/go118/netip"
gen "golang.zx2c4.com/wireguard/android/gen"
@@ -71,7 +72,7 @@ func StartGrpc(sock_path string, logger *device.Logger) (int, string) {
return 0, ""
}
-func (e *LibwgServiceImpl) Version(ctx context.Context, req *gen.Empty) (*gen.VersionResponse, error) {
+func (e *LibwgServiceImpl) Version(ctx context.Context, req *emptypb.Empty) (*gen.VersionResponse, error) {
r := &gen.VersionResponse{
Version: Version(),
@@ -80,13 +81,13 @@ func (e *LibwgServiceImpl) Version(ctx context.Context, req *gen.Empty) (*gen.Ve
return r, nil
}
-func (e *LibwgServiceImpl) StopGrpc(ctx context.Context, req *gen.Empty) (*gen.Empty, error) {
+func (e *LibwgServiceImpl) StopGrpc(ctx context.Context, req *emptypb.Empty) (*emptypb.Empty, error) {
if server != nil {
server.Stop()
server = nil
}
- r := &gen.Empty{
+ r := &emptypb.Empty{
}
return r, nil