Ejemplo n.º 1
0
        private void SetupSmtpClient()
        {
            var config = SpeedDateConfig.GetPluginConfig <MailConfig>();

            // Configure mail client
            _smtpClient = new SmtpClient(config.SmtpHost, config.SmtpPort)
            {
                Credentials = new NetworkCredential(config.SmtpUsername, config.SmtpPassword),
                EnableSsl   = true
            };

            // set the network credentials

            _smtpClient.SendCompleted += (sender, args) =>
            {
                if (args.Error != null)
                {
                    lock (_sendMailExceptions)
                    {
                        _sendMailExceptions.Add(args.Error);
                    }
                }
            };

            ServicePointManager.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true;
        }
Ejemplo n.º 2
0
        public void Start(IConfigProvider configProvider)
        {
            AppUpdater.Instance.Add(this);
            _kernel.Load(this, configProvider, config =>
            {
                Config = config;

                _manager.Start();
                _netPeer = _manager.Connect(config.Network.Address, config.Network.Port, config.Network.Key);
            });
        }
Ejemplo n.º 3
0
        public void Start(IConfigProvider configProvider)
        {
            _kernel.Load(this, configProvider, config =>
            {
                _config = config;

                AppUpdater.Instance.Add(this);
                if (_manager.Start(config.Network.Port))
                {
                    _logger.Info($"Listening on: {config.Network.Port}");
                    Started?.Invoke();
                }
            });
        }
Ejemplo n.º 4
0
        public bool SendMail(string to, string subject, string body)
        {
            var config = SpeedDateConfig.GetPluginConfig <MailConfig>();

            // Create the mail message (from, to, subject, body)
            var mailMessage = new MailMessage {
                From = new MailAddress(config.EmailFrom, config.SenderDisplayName)
            };

            mailMessage.To.Add(to);

            mailMessage.Subject    = subject;
            mailMessage.Body       = body;
            mailMessage.IsBodyHtml = true;
            mailMessage.Priority   = MailPriority.High;

            // send the mail
            _smtpClient.SendAsync(mailMessage, "");
            return(true);
        }
Ejemplo n.º 5
0
        public AuthPlugin(IServer server) : base(server)
        {
            _permissions = new List <PermissionEntry>();
            _config      = SpeedDateConfig.GetPluginConfig <AuthConfig>();

            LoggedInUsers = new Dictionary <string, IUserExtension>();

            // Set handlers
            Server.SetHandler((short)OpCodes.LogIn, HandleLogIn);
            Server.SetHandler((short)OpCodes.RegisterAccount, HandleRegister);
            Server.SetHandler((short)OpCodes.PasswordResetCodeRequest, HandlePasswordResetRequest);
            Server.SetHandler((short)OpCodes.RequestEmailConfirmCode, HandleRequestEmailConfirmCode);
            Server.SetHandler((short)OpCodes.ConfirmEmail, HandleEmailConfirmation);
            Server.SetHandler((short)OpCodes.GetLoggedInCount, HandleGetLoggedInCount);
            Server.SetHandler((short)OpCodes.PasswordChange, HandlePasswordChange);
            Server.SetHandler((short)OpCodes.GetPeerAccountInfo, HandleGetPeerAccountInfo);

            // AesKey handler
            Server.SetHandler((short)OpCodes.AesKeyRequest, HandleAesKeyRequest);
            Server.SetHandler((short)OpCodes.RequestPermissionLevel, HandlePermissionLevelRequest);
        }
Ejemplo n.º 6
0
        public CockroachDbPlugin(IServer server) : base(server)
        {
            var config = SpeedDateConfig.GetPluginConfig <CockroachDbConfig>();

            try
            {
                var connStringBuilder = new NpgsqlConnectionStringBuilder
                {
                    Host     = config.Host,
                    Port     = config.Port,
                    Username = config.Username,
                    Password = config.Password,
                    Database = config.Database
                };

                var connectionString = CommandLineArgs.IsProvided(CommandLineArgs.Names.DbConnectionString)
                    ? CommandLineArgs.DbConnectionString
                    : connStringBuilder.ConnectionString;

                if (config.CheckConnectionOnStartup)
                {
                    using (var con = new NpgsqlConnection(connectionString))
                    {
                        con.Open();
                    }
                }

                AuthDatabase     = new AuthDbCockroachDb(connectionString);
                ProfilesDatabase = new ProfilesDbCockroachDb(connectionString);
            }
            catch
            {
                Logs.Error("Failed to connect to database");
                throw;
            }
        }