Ejemplo n.º 1
0
        public VPNContext(VPNService service)
        {
            m_builder = new VPNService.Builder(service);

            m_builder.SetConfigureIntent(service.CreateConfigIntent());

            InitDNS();
            InitMTU();
            InitApplications();
        }
Ejemplo n.º 2
0
        private void TryRestoreLastProfile(Context context)
        {
            LogsManager.Instance.Debug("EddieBroadcastReceiver.TryRestoreLastProfile");

            if (VPNService.Prepare(context.ApplicationContext) != null)
            {
                LogsManager.Instance.Debug("VPNService.Prepare requires confirmation");

                return;
            }

            if (!settingsManager.SystemRestoreLastProfile)
            {
                LogsManager.Instance.Debug("EddieBroadcastReceiver: SystemRestoreLastProfile disabled");

                return;
            }

            if (!settingsManager.SystemLastProfileIsConnected)
            {
                LogsManager.Instance.Debug("EddieBroadcastReceiver: SystemLastProfileIsConnected false");

                return;
            }

            string lastProfile = settingsManager.SystemLastProfile;

            if (SupportTools.Empty(lastProfile))
            {
                LogsManager.Instance.Debug("EddieBroadcastReceiver: lastProfile is empty");
                return;
            }

            LogsManager.Instance.Debug("EddieBroadcastReceiver: restoring last profile");

            try
            {
                Bundle args = new Bundle();
                args.PutString(VPNService.PARAM_PROFILE, lastProfile);

                Intent intent = new Intent(context, typeof(VPNService));
                intent.PutExtra(VPNService.PARAM_START, true);
                intent.PutExtra(VPNService.EXTRA_RUN_ARGS, args);

                context.StartService(intent);
            }
            catch (Exception e)
            {
                LogsManager.Instance.Error("TryRestoreLastProfile", e);
            }
        }
Ejemplo n.º 3
0
        public VPNContext(VPNService service)
        {
            vpnServiceBuilder = new VPNService.Builder(service);

            vpnServiceBuilder.SetConfigureIntent(service.CreateConfigIntent());

            EddieLogger.Init(service);

            InitDNS();

            InitMTU();

            InitApplications();
        }
Ejemplo n.º 4
0
        public OpenVPNTunnel(VPNService service)
        {
            vpnService = service;

            EddieLogger.Init(vpnService);

            // NOTE: do NOT propagate any exception from the following callbacks since they are invoked from C++ code and could cause memory leaks or crashes

            openVPNClientInterface = new NativeMethods.ovpn3_client();
            openVPNClientInterface.socket_protect                        += OnSocketProtect;
            openVPNClientInterface.on_event                              += OnEvent;
            openVPNClientInterface.tun_builder_new                       += OnTunBuilderNew;
            openVPNClientInterface.tun_builder_set_layer                 += OnTunBuilderSetLayer;
            openVPNClientInterface.tun_builder_set_remote_address        += OnTunBuilderSetRemoteAddress;
            openVPNClientInterface.tun_builder_add_address               += OnTunBuilderAddAddress;
            openVPNClientInterface.tun_builder_set_route_metric_default  += OnTunBuilderSetRouteMetricDefault;
            openVPNClientInterface.tun_builder_reroute_gw                += OnTunBuildeRerouteGW;
            openVPNClientInterface.tun_builder_add_route                 += OnTunBuilderAddRoute;
            openVPNClientInterface.tun_builder_exclude_route             += OnTunBuilderExcludeRoute;
            openVPNClientInterface.tun_builder_add_dns_server            += OnTunBuilderAddDNSServer;
            openVPNClientInterface.tun_builder_add_search_domain         += OnTunBuilderAddSearchDomain;
            openVPNClientInterface.tun_builder_set_mtu                   += OnTunBuilderSetMTU;
            openVPNClientInterface.tun_builder_set_session_name          += OnTunBuilderSetSessionName;
            openVPNClientInterface.tun_builder_add_proxy_bypass          += OnTunBuilderAddProxyBypass;
            openVPNClientInterface.tun_builder_set_proxy_auto_config_url += OnTunBuilderSetProxyAutoConfigUrl;
            openVPNClientInterface.tun_builder_set_proxy_http            += OnTunBuilderSetProxyHttp;
            openVPNClientInterface.tun_builder_set_proxy_https           += OnTunBuilderSetProxyHttps;
            openVPNClientInterface.tun_builder_add_wins_server           += OnTunBuilderAddWinsServer;
            openVPNClientInterface.tun_builder_set_block_ipv6            += OnTunBuilderSetBlockIPV6;
            openVPNClientInterface.tun_builder_set_adapter_domain_suffix += OnTunBuilderSetAdapterDomainSuffix;
            openVPNClientInterface.tun_builder_establish                 += OnTunBuilderEstablish;
            openVPNClientInterface.tun_builder_persist                   += OnTunBuilderPersist;
            openVPNClientInterface.tun_builder_establish_lite            += OnTunBuilderEstablishLite;
            openVPNClientInterface.tun_builder_teardown                  += OnTunBuilderTeardown;
            openVPNClientInterface.connect_attach                        += OnConnectAttach;
            openVPNClientInterface.connect_pre_run                       += OnConnectPreRun;
            openVPNClientInterface.connect_run                           += OnConnectRun;
            openVPNClientInterface.connect_session_stop                  += OnConnectSessionStop;
        }
Ejemplo n.º 5
0
 public ScreenReceiver(VPNService service)
 {
     m_service = service;
 }
Ejemplo n.º 6
0
            public ScreenReceiver(VPNService service)
            {
                vpnService = service;

                EddieLogger.Init(service);
            }