コード例 #1
0
        private Core.Entities.DeviceConnectionStatus GenerateSshConnectionDetails()
        {
            // Inserting device connection details
            Core.Entities.DeviceConnectionStatus deviceConnectionDetails = new Core.Entities.DeviceConnectionStatus();
            deviceConnectionDetails.SshHost = settings.SshHost;
            deviceConnectionDetails.SshUser = settings.SshUser;
            deviceConnectionDetails.SshPort = settings.SshPort;
            deviceConnectionDetails.State   = EnumClientConnectionState.Ready;

            using (sshondemandContext dbContext = new sshondemandContext())
            {
                List <int> usedPorts = clientConnections.GetForwardingPorts();

                for (int i = settings.SshFirstPort; i < settings.SshFirstPort + 1000; i++)
                {
                    if (!usedPorts.Contains(i))
                    {
                        deviceConnectionDetails.SshForwarding = i;
                        break;
                    }
                }

                return(deviceConnectionDetails);
            }
        }
コード例 #2
0
 public ManagementController(
     sshondemandContext dbContext,
     ClientRepository clientRepository,
     DeveloperAuthorizationsRepository developerAuthorizationsRepository)
 {
     this.dbContext        = dbContext;
     this.clientRepository = clientRepository;
     this.developerAuthorizationsRepository = developerAuthorizationsRepository;
 }
コード例 #3
0
 private void UpdateSharedKeys()
 {
     using (sshondemandContext dbContext = new sshondemandContext())
     {
         clientsSharedKeys.Clear();
         foreach (var client in dbContext.Clients)
         {
             clientsSharedKeys.Add(client.ClientName, client.ClientKey);
         }
     }
 }
コード例 #4
0
ファイル: CyclicChecks.cs プロジェクト: catan85/SshOnDemand
        private void CheckActiveDeviceConnections()
        {
            List <string> deactivatedClients = new List <string>();

            using (sshondemandContext dbContext = new sshondemandContext())
            {
                ClientConnectionsRepository clientConnections = new ClientConnectionsRepository(dbContext);
                clientConnections.ResetOldConnections(15, out deactivatedClients);
            }
            Ssh ssh = new Ssh(settings);

            ssh.UnloadClientKeys(deactivatedClients);
        }
コード例 #5
0
ファイル: CyclicChecks.cs プロジェクト: catan85/SshOnDemand
        private void CheckActiveDeveloperRequests()
        {
            List <string> deactivatedClientNames = new List <string>();

            using (sshondemandContext dbContext = new sshondemandContext())
            {
                DeviceRequestsRepository deviceRequestsRepository = new DeviceRequestsRepository(dbContext);
                deviceRequestsRepository.DeactivateOldDeviceRequests(15, out deactivatedClientNames);
            }

            Ssh ssh = new Ssh(settings);

            ssh.UnloadClientKeys(deactivatedClientNames);
        }
コード例 #6
0
 public BaseRepository(sshondemandContext dbContext)
 {
     this.dbContext = dbContext;
 }
コード例 #7
0
 public ClientConnectionsRepository(sshondemandContext dbContext) : base(dbContext)
 {
 }
コード例 #8
0
 public DeviceRequestsRepository(sshondemandContext dbContext) : base(dbContext)
 {
 }
コード例 #9
0
 public ClientRepository(sshondemandContext dbContext) : base(dbContext)
 {
 }
コード例 #10
0
 public DeveloperAuthorizationsRepository(sshondemandContext dbContext) : base(dbContext)
 {
 }