diff --git a/ci/compile.sh b/ci/compile.sh index 052cfa37..c2d6fc45 100755 --- a/ci/compile.sh +++ b/ci/compile.sh @@ -74,7 +74,7 @@ if [[ $tags == *"moose"* ]]; then -X 'main.EventsDomain=${events_domain:-""}' \ -X 'main.EventsSubdomain=${EVENTS_SUBDOMAIN:-""}'" - source "${WORKDIR}"/ci/add_private_bindings.sh moose/events ./third-party/moose-events/moosenordvpnappgo/v14 + source "${WORKDIR}"/ci/add_private_bindings.sh moose/events ./third-party/moose-events/moosenordvpnappgo/v15 source "${WORKDIR}"/ci/add_private_bindings.sh moose/worker ./third-party/moose-worker/mooseworkergo/v14 fi diff --git a/config/protocol.pb.go b/config/protocol.pb.go index bda3372a..bdbc8a4d 100644 --- a/config/protocol.pb.go +++ b/config/protocol.pb.go @@ -26,6 +26,7 @@ const ( Protocol_UNKNOWN_PROTOCOL Protocol = 0 Protocol_UDP Protocol = 1 Protocol_TCP Protocol = 2 + Protocol_Webtunnel Protocol = 3 ) // Enum value maps for Protocol. @@ -34,11 +35,13 @@ var ( 0: "UNKNOWN_PROTOCOL", 1: "UDP", 2: "TCP", + 3: "Webtunnel", } Protocol_value = map[string]int32{ "UNKNOWN_PROTOCOL": 0, "UDP": 1, "TCP": 2, + "Webtunnel": 3, } ) @@ -75,13 +78,14 @@ var file_protobuf_daemon_config_protocol_proto_rawDesc = []byte{ 0x0a, 0x25, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, - 0x32, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x10, 0x55, + 0x41, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, - 0x50, 0x10, 0x02, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x4e, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x6e, - 0x6f, 0x72, 0x64, 0x76, 0x70, 0x6e, 0x2d, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x65, 0x62, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x10, 0x03, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4e, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x6e, 0x6f, + 0x72, 0x64, 0x76, 0x70, 0x6e, 0x2d, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/daemon/rpc_set_technology.go b/daemon/rpc_set_technology.go index 695105d7..cedd7093 100644 --- a/daemon/rpc_set_technology.go +++ b/daemon/rpc_set_technology.go @@ -70,6 +70,9 @@ func (r *RPC) SetTechnology(ctx context.Context, in *pb.SetTechnologyRequest) (* if in.GetTechnology() == config.Technology_NORDLYNX { protocol = config.Protocol_UDP obfuscate = false + } else if in.GetTechnology() == config.Technology_QUENCH { + protocol = config.Protocol_Webtunnel + obfuscate = false } if in.GetTechnology() != config.Technology_NORDLYNX && cfg.AutoConnectData.PostquantumVpn { diff --git a/events/moose/moose.go b/events/moose/moose.go index a9cd9c9b..cfeba869 100644 --- a/events/moose/moose.go +++ b/events/moose/moose.go @@ -428,6 +428,8 @@ func (s *Subscriber) NotifyTechnology(data config.Technology) error { technology = moose.NordvpnappVpnConnectionTechnologyNordlynx case config.Technology_OPENVPN: technology = moose.NordvpnappVpnConnectionTechnologyOpenvpn + case config.Technology_QUENCH: + technology = moose.NordvpnappVpnConnectionTechnologyNordwhisper case config.Technology_UNKNOWN_TECHNOLOGY: return errors.New("unknown technology") default: @@ -479,6 +481,8 @@ func (s *Subscriber) NotifyConnect(data events.DataConnect) error { protocol = moose.NordvpnappVpnConnectionProtocolTcp case config.Protocol_UDP: protocol = moose.NordvpnappVpnConnectionProtocolUdp + case config.Protocol_Webtunnel: + protocol = moose.NordvpnappVpnConnectionProtocolWebtunnel case config.Protocol_UNKNOWN_PROTOCOL: protocol = moose.NordvpnappVpnConnectionProtocolNone default: @@ -491,6 +495,8 @@ func (s *Subscriber) NotifyConnect(data events.DataConnect) error { technology = moose.NordvpnappVpnConnectionTechnologyOpenvpn case config.Technology_NORDLYNX: technology = moose.NordvpnappVpnConnectionTechnologyNordlynx + case config.Technology_QUENCH: + technology = moose.NordvpnappVpnConnectionTechnologyNordwhisper case config.Technology_UNKNOWN_TECHNOLOGY: technology = moose.NordvpnappVpnConnectionTechnologyNone default: @@ -574,6 +580,8 @@ func (s *Subscriber) NotifyDisconnect(data events.DataDisconnect) error { technology = moose.NordvpnappVpnConnectionTechnologyOpenvpn case config.Technology_NORDLYNX: technology = moose.NordvpnappVpnConnectionTechnologyNordlynx + case config.Technology_QUENCH: + technology = moose.NordvpnappVpnConnectionTechnologyNordwhisper case config.Technology_UNKNOWN_TECHNOLOGY: technology = moose.NordvpnappVpnConnectionTechnologyNone default: @@ -586,6 +594,8 @@ func (s *Subscriber) NotifyDisconnect(data events.DataDisconnect) error { protocol = moose.NordvpnappVpnConnectionProtocolTcp case config.Protocol_UDP: protocol = moose.NordvpnappVpnConnectionProtocolUdp + case config.Protocol_Webtunnel: + protocol = moose.NordvpnappVpnConnectionProtocolWebtunnel case config.Protocol_UNKNOWN_PROTOCOL: protocol = moose.NordvpnappVpnConnectionProtocolNone default: diff --git a/lib-versions.env b/lib-versions.env index 1a809276..54fade1e 100644 --- a/lib-versions.env +++ b/lib-versions.env @@ -5,6 +5,6 @@ # shellcheck disable=SC2034 # used in the build process later LIBTELIO_VERSION=v5.1.4 LIBDROP_VERSION=v8.1.1 -LIBMOOSE_NORDVPNAPP_VERSION=v14.3.0-nordVpnApp +LIBMOOSE_NORDVPNAPP_VERSION=v15.0.2-nordVpnApp LIBMOOSE_WORKER_VERSION=v14.3.0-worker LIBQUENCH_VERSION=v0.0.16 diff --git a/protobuf/daemon/config/protocol.proto b/protobuf/daemon/config/protocol.proto index 488fc293..aa08b927 100644 --- a/protobuf/daemon/config/protocol.proto +++ b/protobuf/daemon/config/protocol.proto @@ -8,4 +8,5 @@ enum Protocol { UNKNOWN_PROTOCOL = 0; UDP = 1; TCP = 2; + Webtunnel = 3; } diff --git a/test/qa/lib/protobuf/daemon/config/protocol_pb2.py b/test/qa/lib/protobuf/daemon/config/protocol_pb2.py index 0e53d423..7378364d 100644 --- a/test/qa/lib/protobuf/daemon/config/protocol_pb2.py +++ b/test/qa/lib/protobuf/daemon/config/protocol_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x63onfig/protocol.proto\x12\x06\x63onfig*2\n\x08Protocol\x12\x14\n\x10UNKNOWN_PROTOCOL\x10\x00\x12\x07\n\x03UDP\x10\x01\x12\x07\n\x03TCP\x10\x02\x42.Z,github.com/NordSecurity/nordvpn-linux/configb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x63onfig/protocol.proto\x12\x06\x63onfig*A\n\x08Protocol\x12\x14\n\x10UNKNOWN_PROTOCOL\x10\x00\x12\x07\n\x03UDP\x10\x01\x12\x07\n\x03TCP\x10\x02\x12\r\n\tWebtunnel\x10\x03\x42.Z,github.com/NordSecurity/nordvpn-linux/configb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,5 +33,5 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z,github.com/NordSecurity/nordvpn-linux/config' _globals['_PROTOCOL']._serialized_start=33 - _globals['_PROTOCOL']._serialized_end=83 + _globals['_PROTOCOL']._serialized_end=98 # @@protoc_insertion_point(module_scope) diff --git a/test/qa/lib/protobuf/daemon/config/protocol_pb2.pyi b/test/qa/lib/protobuf/daemon/config/protocol_pb2.pyi index ec432de4..07d96578 100644 --- a/test/qa/lib/protobuf/daemon/config/protocol_pb2.pyi +++ b/test/qa/lib/protobuf/daemon/config/protocol_pb2.pyi @@ -9,6 +9,8 @@ class Protocol(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): UNKNOWN_PROTOCOL: _ClassVar[Protocol] UDP: _ClassVar[Protocol] TCP: _ClassVar[Protocol] + Webtunnel: _ClassVar[Protocol] UNKNOWN_PROTOCOL: Protocol UDP: Protocol TCP: Protocol +Webtunnel: Protocol diff --git a/test/qa/lib/protobuf/daemon/config/technology_pb2.py b/test/qa/lib/protobuf/daemon/config/technology_pb2.py index ccc542c5..f2cabfe4 100644 --- a/test/qa/lib/protobuf/daemon/config/technology_pb2.py +++ b/test/qa/lib/protobuf/daemon/config/technology_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63onfig/technology.proto\x12\x06\x63onfig*?\n\nTechnology\x12\x16\n\x12UNKNOWN_TECHNOLOGY\x10\x00\x12\x0b\n\x07OPENVPN\x10\x01\x12\x0c\n\x08NORDLYNX\x10\x02\x42.Z,github.com/NordSecurity/nordvpn-linux/configb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63onfig/technology.proto\x12\x06\x63onfig*K\n\nTechnology\x12\x16\n\x12UNKNOWN_TECHNOLOGY\x10\x00\x12\x0b\n\x07OPENVPN\x10\x01\x12\x0c\n\x08NORDLYNX\x10\x02\x12\n\n\x06QUENCH\x10\x03\x42.Z,github.com/NordSecurity/nordvpn-linux/configb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,5 +33,5 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z,github.com/NordSecurity/nordvpn-linux/config' _globals['_TECHNOLOGY']._serialized_start=35 - _globals['_TECHNOLOGY']._serialized_end=98 + _globals['_TECHNOLOGY']._serialized_end=110 # @@protoc_insertion_point(module_scope) diff --git a/test/qa/lib/protobuf/daemon/config/technology_pb2.pyi b/test/qa/lib/protobuf/daemon/config/technology_pb2.pyi index fbc37db2..398d73ff 100644 --- a/test/qa/lib/protobuf/daemon/config/technology_pb2.pyi +++ b/test/qa/lib/protobuf/daemon/config/technology_pb2.pyi @@ -9,6 +9,8 @@ class Technology(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): UNKNOWN_TECHNOLOGY: _ClassVar[Technology] OPENVPN: _ClassVar[Technology] NORDLYNX: _ClassVar[Technology] + QUENCH: _ClassVar[Technology] UNKNOWN_TECHNOLOGY: Technology OPENVPN: Technology NORDLYNX: Technology +QUENCH: Technology diff --git a/test/qa/lib/protobuf/daemon/quench_hidden_pb2.py b/test/qa/lib/protobuf/daemon/quench_hidden_pb2.py new file mode 100644 index 00000000..13b0cade --- /dev/null +++ b/test/qa/lib/protobuf/daemon/quench_hidden_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: quench_hidden.proto +# Protobuf Python Version: 5.28.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'quench_hidden.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13quench_hidden.proto\x12\x02pb\" \n\rQuenchEnabled\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x42\x31Z/github.com/NordSecurity/nordvpn-linux/daemon/pbb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'quench_hidden_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z/github.com/NordSecurity/nordvpn-linux/daemon/pb' + _globals['_QUENCHENABLED']._serialized_start=27 + _globals['_QUENCHENABLED']._serialized_end=59 +# @@protoc_insertion_point(module_scope) diff --git a/test/qa/lib/protobuf/daemon/quench_hidden_pb2.pyi b/test/qa/lib/protobuf/daemon/quench_hidden_pb2.pyi new file mode 100644 index 00000000..6d221434 --- /dev/null +++ b/test/qa/lib/protobuf/daemon/quench_hidden_pb2.pyi @@ -0,0 +1,11 @@ +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional + +DESCRIPTOR: _descriptor.FileDescriptor + +class QuenchEnabled(_message.Message): + __slots__ = ("enabled",) + ENABLED_FIELD_NUMBER: _ClassVar[int] + enabled: bool + def __init__(self, enabled: bool = ...) -> None: ... diff --git a/test/qa/lib/protobuf/daemon/service_pb2.py b/test/qa/lib/protobuf/daemon/service_pb2.py index 8826027a..f3af7e23 100644 --- a/test/qa/lib/protobuf/daemon/service_pb2.py +++ b/test/qa/lib/protobuf/daemon/service_pb2.py @@ -40,9 +40,10 @@ import purchase_pb2 as purchase__pb2 import state_pb2 as state__pb2 import servers_pb2 as servers__pb2 +import quench_hidden_pb2 as quench__hidden__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x12\x02pb\x1a\raccount.proto\x1a\x0c\x63ities.proto\x1a\x0c\x63ommon.proto\x1a\rconnect.proto\x1a\x0blogin.proto\x1a\x0clogout.proto\x1a\x16login_with_token.proto\x1a\nping.proto\x1a\x0bplans.proto\x1a\nrate.proto\x1a\x0eregister.proto\x1a\tset.proto\x1a\x0esettings.proto\x1a\x0cstatus.proto\x1a\x0btoken.proto\x1a\x0epurchase.proto\x1a\x0bstate.proto\x1a\rservers.proto2\xe3\x11\n\x06\x44\x61\x65mon\x12-\n\x0b\x41\x63\x63ountInfo\x12\t.pb.Empty\x1a\x13.pb.AccountResponse\x12-\n\tTokenInfo\x12\t.pb.Empty\x1a\x15.pb.TokenInfoResponse\x12\x31\n\x06\x43ities\x12\x11.pb.CitiesRequest\x1a\x14.pb.ServerGroupsList\x12,\n\x07\x43onnect\x12\x12.pb.ConnectRequest\x1a\x0b.pb.Payload0\x01\x12\'\n\rConnectCancel\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12,\n\tCountries\x12\t.pb.Empty\x1a\x14.pb.ServerGroupsList\x12&\n\nDisconnect\x12\t.pb.Empty\x1a\x0b.pb.Payload0\x01\x12)\n\x06Groups\x12\t.pb.Empty\x1a\x14.pb.ServerGroupsList\x12!\n\nIsLoggedIn\x12\t.pb.Empty\x1a\x08.pb.Bool\x12>\n\x0eLoginWithToken\x12\x19.pb.LoginWithTokenRequest\x1a\x11.pb.LoginResponse\x12&\n\x0bLoginOAuth2\x12\t.pb.Empty\x1a\n.pb.String0\x01\x12,\n\x13LoginOAuth2Callback\x12\n.pb.String\x1a\t.pb.Empty\x12(\n\x06Logout\x12\x11.pb.LogoutRequest\x1a\x0b.pb.Payload\x12%\n\x05Plans\x12\t.pb.Empty\x1a\x11.pb.PlansResponse\x12#\n\x04Ping\x12\t.pb.Empty\x1a\x10.pb.PingResponse\x12.\n\x0eRateConnection\x12\x0f.pb.RateRequest\x1a\x0b.pb.Payload\x12,\n\x08Register\x12\x13.pb.RegisterRequest\x1a\x0b.pb.Payload\x12\x38\n\x0eSetAutoConnect\x12\x19.pb.SetAutoconnectRequest\x1a\x0b.pb.Payload\x12\x62\n\x17SetThreatProtectionLite\x12\".pb.SetThreatProtectionLiteRequest\x1a#.pb.SetThreatProtectionLiteResponse\x12%\n\x0bSetDefaults\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12/\n\x06SetDNS\x12\x11.pb.SetDNSRequest\x1a\x12.pb.SetDNSResponse\x12\x31\n\x0bSetFirewall\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x34\n\x0fSetFirewallMark\x12\x14.pb.SetUint32Request\x1a\x0b.pb.Payload\x12\x30\n\nSetRouting\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x32\n\x0cSetAnalytics\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x36\n\rSetKillSwitch\x12\x18.pb.SetKillSwitchRequest\x1a\x0b.pb.Payload\x12.\n\tSetNotify\x12\x14.pb.SetNotifyRequest\x1a\x0b.pb.Payload\x12*\n\x07SetTray\x12\x12.pb.SetTrayRequest\x1a\x0b.pb.Payload\x12\x32\n\x0cSetObfuscate\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12>\n\x0bSetProtocol\x12\x16.pb.SetProtocolRequest\x1a\x17.pb.SetProtocolResponse\x12\x36\n\rSetTechnology\x12\x18.pb.SetTechnologyRequest\x1a\x0b.pb.Payload\x12J\n\x0fSetLANDiscovery\x12\x1a.pb.SetLANDiscoveryRequest\x1a\x1b.pb.SetLANDiscoveryResponse\x12\x34\n\x0cSetAllowlist\x12\x17.pb.SetAllowlistRequest\x1a\x0b.pb.Payload\x12\x36\n\x0eUnsetAllowlist\x12\x17.pb.SetAllowlistRequest\x1a\x0b.pb.Payload\x12+\n\x11UnsetAllAllowlist\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12+\n\x08Settings\x12\t.pb.Empty\x1a\x14.pb.SettingsResponse\x12+\n\x11SettingsProtocols\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12.\n\x14SettingsTechnologies\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12\'\n\x06Status\x12\t.pb.Empty\x1a\x12.pb.StatusResponse\x12-\n\x07SetIpv6\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x41\n\x13\x43laimOnlinePurchase\x12\t.pb.Empty\x1a\x1f.pb.ClaimOnlinePurchaseResponse\x12\x38\n\x12SetVirtualLocation\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x34\n\x17SubscribeToStateChanges\x12\t.pb.Empty\x1a\x0c.pb.AppState0\x01\x12,\n\nGetServers\x12\t.pb.Empty\x1a\x13.pb.ServersResponse\x12\x34\n\x0eSetPostQuantum\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.PayloadB1Z/github.com/NordSecurity/nordvpn-linux/daemon/pbb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x12\x02pb\x1a\raccount.proto\x1a\x0c\x63ities.proto\x1a\x0c\x63ommon.proto\x1a\rconnect.proto\x1a\x0blogin.proto\x1a\x0clogout.proto\x1a\x16login_with_token.proto\x1a\nping.proto\x1a\x0bplans.proto\x1a\nrate.proto\x1a\x0eregister.proto\x1a\tset.proto\x1a\x0esettings.proto\x1a\x0cstatus.proto\x1a\x0btoken.proto\x1a\x0epurchase.proto\x1a\x0bstate.proto\x1a\rservers.proto\x1a\x13quench_hidden.proto2\x94\x12\n\x06\x44\x61\x65mon\x12-\n\x0b\x41\x63\x63ountInfo\x12\t.pb.Empty\x1a\x13.pb.AccountResponse\x12-\n\tTokenInfo\x12\t.pb.Empty\x1a\x15.pb.TokenInfoResponse\x12\x31\n\x06\x43ities\x12\x11.pb.CitiesRequest\x1a\x14.pb.ServerGroupsList\x12,\n\x07\x43onnect\x12\x12.pb.ConnectRequest\x1a\x0b.pb.Payload0\x01\x12\'\n\rConnectCancel\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12,\n\tCountries\x12\t.pb.Empty\x1a\x14.pb.ServerGroupsList\x12&\n\nDisconnect\x12\t.pb.Empty\x1a\x0b.pb.Payload0\x01\x12)\n\x06Groups\x12\t.pb.Empty\x1a\x14.pb.ServerGroupsList\x12!\n\nIsLoggedIn\x12\t.pb.Empty\x1a\x08.pb.Bool\x12>\n\x0eLoginWithToken\x12\x19.pb.LoginWithTokenRequest\x1a\x11.pb.LoginResponse\x12&\n\x0bLoginOAuth2\x12\t.pb.Empty\x1a\n.pb.String0\x01\x12,\n\x13LoginOAuth2Callback\x12\n.pb.String\x1a\t.pb.Empty\x12(\n\x06Logout\x12\x11.pb.LogoutRequest\x1a\x0b.pb.Payload\x12%\n\x05Plans\x12\t.pb.Empty\x1a\x11.pb.PlansResponse\x12#\n\x04Ping\x12\t.pb.Empty\x1a\x10.pb.PingResponse\x12.\n\x0eRateConnection\x12\x0f.pb.RateRequest\x1a\x0b.pb.Payload\x12,\n\x08Register\x12\x13.pb.RegisterRequest\x1a\x0b.pb.Payload\x12\x38\n\x0eSetAutoConnect\x12\x19.pb.SetAutoconnectRequest\x1a\x0b.pb.Payload\x12\x62\n\x17SetThreatProtectionLite\x12\".pb.SetThreatProtectionLiteRequest\x1a#.pb.SetThreatProtectionLiteResponse\x12%\n\x0bSetDefaults\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12/\n\x06SetDNS\x12\x11.pb.SetDNSRequest\x1a\x12.pb.SetDNSResponse\x12\x31\n\x0bSetFirewall\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x34\n\x0fSetFirewallMark\x12\x14.pb.SetUint32Request\x1a\x0b.pb.Payload\x12\x30\n\nSetRouting\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x32\n\x0cSetAnalytics\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x36\n\rSetKillSwitch\x12\x18.pb.SetKillSwitchRequest\x1a\x0b.pb.Payload\x12.\n\tSetNotify\x12\x14.pb.SetNotifyRequest\x1a\x0b.pb.Payload\x12*\n\x07SetTray\x12\x12.pb.SetTrayRequest\x1a\x0b.pb.Payload\x12\x32\n\x0cSetObfuscate\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12>\n\x0bSetProtocol\x12\x16.pb.SetProtocolRequest\x1a\x17.pb.SetProtocolResponse\x12\x36\n\rSetTechnology\x12\x18.pb.SetTechnologyRequest\x1a\x0b.pb.Payload\x12J\n\x0fSetLANDiscovery\x12\x1a.pb.SetLANDiscoveryRequest\x1a\x1b.pb.SetLANDiscoveryResponse\x12\x34\n\x0cSetAllowlist\x12\x17.pb.SetAllowlistRequest\x1a\x0b.pb.Payload\x12\x36\n\x0eUnsetAllowlist\x12\x17.pb.SetAllowlistRequest\x1a\x0b.pb.Payload\x12+\n\x11UnsetAllAllowlist\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12+\n\x08Settings\x12\t.pb.Empty\x1a\x14.pb.SettingsResponse\x12+\n\x11SettingsProtocols\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12.\n\x14SettingsTechnologies\x12\t.pb.Empty\x1a\x0b.pb.Payload\x12\'\n\x06Status\x12\t.pb.Empty\x1a\x12.pb.StatusResponse\x12-\n\x07SetIpv6\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x41\n\x13\x43laimOnlinePurchase\x12\t.pb.Empty\x1a\x1f.pb.ClaimOnlinePurchaseResponse\x12\x38\n\x12SetVirtualLocation\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12\x34\n\x17SubscribeToStateChanges\x12\t.pb.Empty\x1a\x0c.pb.AppState0\x01\x12,\n\nGetServers\x12\t.pb.Empty\x1a\x13.pb.ServersResponse\x12\x34\n\x0eSetPostQuantum\x12\x15.pb.SetGenericRequest\x1a\x0b.pb.Payload\x12/\n\x0fIsQuenchEnabled\x12\t.pb.Empty\x1a\x11.pb.QuenchEnabledB1Z/github.com/NordSecurity/nordvpn-linux/daemon/pbb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -50,6 +51,6 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z/github.com/NordSecurity/nordvpn-linux/daemon/pb' - _globals['_DAEMON']._serialized_start=282 - _globals['_DAEMON']._serialized_end=2557 + _globals['_DAEMON']._serialized_start=303 + _globals['_DAEMON']._serialized_end=2627 # @@protoc_insertion_point(module_scope) diff --git a/test/qa/lib/protobuf/daemon/service_pb2.pyi b/test/qa/lib/protobuf/daemon/service_pb2.pyi index 88c6d823..afa73adb 100644 --- a/test/qa/lib/protobuf/daemon/service_pb2.pyi +++ b/test/qa/lib/protobuf/daemon/service_pb2.pyi @@ -16,6 +16,7 @@ import token_pb2 as _token_pb2 import purchase_pb2 as _purchase_pb2 import state_pb2 as _state_pb2 import servers_pb2 as _servers_pb2 +import quench_hidden_pb2 as _quench_hidden_pb2 from google.protobuf import descriptor as _descriptor from typing import ClassVar as _ClassVar diff --git a/test/qa/lib/protobuf/daemon/service_pb2_grpc.py b/test/qa/lib/protobuf/daemon/service_pb2_grpc.py index edd813da..d3368aab 100644 --- a/test/qa/lib/protobuf/daemon/service_pb2_grpc.py +++ b/test/qa/lib/protobuf/daemon/service_pb2_grpc.py @@ -13,6 +13,7 @@ import ping_pb2 as ping__pb2 import plans_pb2 as plans__pb2 import purchase_pb2 as purchase__pb2 +import quench_hidden_pb2 as quench__hidden__pb2 import rate_pb2 as rate__pb2 import register_pb2 as register__pb2 import servers_pb2 as servers__pb2 @@ -276,6 +277,11 @@ def __init__(self, channel): request_serializer=set__pb2.SetGenericRequest.SerializeToString, response_deserializer=common__pb2.Payload.FromString, _registered_method=True) + self.IsQuenchEnabled = channel.unary_unary( + '/pb.Daemon/IsQuenchEnabled', + request_serializer=common__pb2.Empty.SerializeToString, + response_deserializer=quench__hidden__pb2.QuenchEnabled.FromString, + _registered_method=True) class DaemonServicer(object): @@ -551,6 +557,12 @@ def SetPostQuantum(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def IsQuenchEnabled(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_DaemonServicer_to_server(servicer, server): rpc_method_handlers = { @@ -779,6 +791,11 @@ def add_DaemonServicer_to_server(servicer, server): request_deserializer=set__pb2.SetGenericRequest.FromString, response_serializer=common__pb2.Payload.SerializeToString, ), + 'IsQuenchEnabled': grpc.unary_unary_rpc_method_handler( + servicer.IsQuenchEnabled, + request_deserializer=common__pb2.Empty.FromString, + response_serializer=quench__hidden__pb2.QuenchEnabled.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'pb.Daemon', rpc_method_handlers) @@ -2004,3 +2021,30 @@ def SetPostQuantum(request, timeout, metadata, _registered_method=True) + + @staticmethod + def IsQuenchEnabled(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/pb.Daemon/IsQuenchEnabled', + common__pb2.Empty.SerializeToString, + quench__hidden__pb2.QuenchEnabled.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/third-party/moose-events b/third-party/moose-events index 485fefbb..668c1639 160000 --- a/third-party/moose-events +++ b/third-party/moose-events @@ -1 +1 @@ -Subproject commit 485fefbbcb0ed0cada3c2fb3968bc66c12ceef50 +Subproject commit 668c1639c6fdafe8352f7e2c3fdb96472b6e8f46