Пример #1
0
        public void Execute()
        {
            string certName = "";

            Majorsilence.Vpn.Poco.VpnServers vpnData = null;
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                var certData = db.Query <Majorsilence.Vpn.Poco.UserOpenVpnCerts>("SELECT * FROM UserOpenVpnCerts WHERE UserId=@UserId",
                                                                                 new { UserId = userData.Id });
                if (certData.Count() == 1)
                {
                    certName = certData.First().CertName;
                    vpnData  = db.Get <Majorsilence.Vpn.Poco.VpnServers>(certData.First().VpnServersId);
                }
                else if (certData.Count() >= 1)
                {
                    throw new InvalidDataException("Invalid data in the UserOpenVpnCerts for user " + userData.Id);
                }
            }

            if (certName == "")
            {
                return;
            }

            ActionLog.Log_BackgroundThread("OpenVpn Revoke Start", this.userData.Id);

            RevokeUserCert(vpnData.Address, certName);

            ActionLog.Log_BackgroundThread("OpenVpn Revoke Finished", this.userData.Id);
        }
Пример #2
0
        protected PppBase(int userId, int vpnServerId, Ssh.ISsh sshNewServer, Ssh.ISsh sshRevokeServer)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                this.userData = db.Get <Majorsilence.Vpn.Poco.Users>(userId);
                this.vpnData  = db.Get <Majorsilence.Vpn.Poco.VpnServers>(vpnServerId);
            }

            this.sshNewServer          = sshNewServer;
            this.sshRevokeServer       = sshRevokeServer;
            this.userRequestedPassword = GeneratePassword();
        }
        public CertsOpenVpnGenerateCommand(int userId, int vpnServerId, Ssh.ISsh sshClientNewServer,
                                           Ssh.ISsh sshClientRevokeServer, Ssh.ISftp sftpClient)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                this.userData = db.Get <Majorsilence.Vpn.Poco.Users>(userId);
                this.vpnData  = db.Get <Majorsilence.Vpn.Poco.VpnServers>(vpnServerId);
            }

            this.sshClientNewServer    = sshClientNewServer;
            this.sshClientRevokeServer = sshClientRevokeServer;
            this.sftpClient            = sftpClient;
        }
Пример #4
0
        public int Insert(string address, int port, string description,
                          int regionId, bool active)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();

                var vpn = new Majorsilence.Vpn.Poco.VpnServers(address,
                                                               port, description,
                                                               regionId, active);

                return((int)db.Insert(vpn));
            }
        }
Пример #5
0
        public InlineOvpnProfile(int userId)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                var data = db.Query <Majorsilence.Vpn.Poco.UserOpenVpnCerts>("SELECT * FROM UserOpenVpnCerts WHERE UserId=@UserId",
                                                                             new { UserId = userId });

                if (data.Count() == 1)
                {
                    userCertData = data.First();
                    serverData   = db.Get <Majorsilence.Vpn.Poco.VpnServers>(userCertData.VpnServersId);
                }
                else if (data.Count() > 1)
                {
                    throw new Exceptions.InvalidDataException("InlineOvpnProfile, to many values found.");
                }
            }
        }