summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Plugins/ValidationPlugins/Http
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.lib/Plugins/ValidationPlugins/Http')
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/FileSystem/FileSystemOptionsFactory.cs6
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/Ftp/Ftp.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptions.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptionsFactory.cs8
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/HttpValidation.cs16
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationArguments.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptions.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptionsFactory.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHosting.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHostingOptionsFactory.cs8
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/Sftp/Sftp.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/Sftp/SftpOptionsFactory.cs8
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDav.cs4
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptions.cs2
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs8
15 files changed, 43 insertions, 31 deletions
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/FileSystem/FileSystemOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/FileSystem/FileSystemOptionsFactory.cs
index c56ddf4..aa86b9b 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/FileSystem/FileSystemOptionsFactory.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/FileSystem/FileSystemOptionsFactory.cs
@@ -25,7 +25,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
public override bool PathIsValid(string path) => path.ValidPath(_log);
public override bool AllowEmtpy(Target target) => target.IIS;
- public override Task<FileSystemOptions> Default(Target target)
+ public override async Task<FileSystemOptions?> Default(Target target)
{
var args = _arguments.GetArguments<FileSystemArguments>();
var ret = new FileSystemOptions(BaseDefault(target));
@@ -40,10 +40,10 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
ret.SiteId = args.ValidationSiteId.Value;
}
}
- return Task.FromResult(ret);
+ return ret;
}
- public override async Task<FileSystemOptions> Aquire(Target target, IInputService inputService, RunLevel runLevel)
+ public override async Task<FileSystemOptions?> Aquire(Target target, IInputService inputService, RunLevel runLevel)
{
// Choose alternative site for validation
var ret = new FileSystemOptions(await BaseAquire(target, inputService));
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/Ftp.cs b/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/Ftp.cs
index 7c3d2bf..5ceadec 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/Ftp.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/Ftp.cs
@@ -6,7 +6,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
{
internal class Ftp : HttpValidation<FtpOptions, Ftp>
{
- private FtpClient _ftpClient;
+ private FtpClient? _ftpClient;
public Ftp(FtpOptions options, HttpValidationParameters pars, RunLevel runLevel) : base(options, runLevel, pars) => _ftpClient = new FtpClient(_options.Credential, pars.LogService);
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptions.cs b/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptions.cs
index a90764d..fd9710d 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptions.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptions.cs
@@ -16,7 +16,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
/// <summary>
/// Credentials to use for WebDav connection
/// </summary>
- public NetworkCredentialOptions Credential { get; set; }
+ public NetworkCredentialOptions? Credential { get; set; }
/// <summary>
/// Show settings to user
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptionsFactory.cs
index 8510b30..a71763b 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptionsFactory.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/Ftp/FtpOptionsFactory.cs
@@ -37,15 +37,15 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
};
}
- public override Task<FtpOptions> Default(Target target)
+ public override async Task<FtpOptions?> Default(Target target)
{
- return Task.FromResult(new FtpOptions(BaseDefault(target))
+ return new FtpOptions(BaseDefault(target))
{
Credential = new NetworkCredentialOptions(_arguments)
- });
+ };
}
- public override async Task<FtpOptions> Aquire(Target target, IInputService inputService, RunLevel runLevel)
+ public override async Task<FtpOptions?> Aquire(Target target, IInputService inputService, RunLevel runLevel)
{
return new FtpOptions(await BaseAquire(target, inputService))
{
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidation.cs b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidation.cs
index ab791cf..3335cea 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidation.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidation.cs
@@ -34,7 +34,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
/// Path used for the current renewal, may not be same as _options.Path
/// because of the "Split" function employed by IISSites target
/// </summary>
- protected string _path;
+ protected string? _path;
/// <summary>
/// Provides proxy settings for site warmup
@@ -145,6 +145,10 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
/// <param name="fileContents">the contents of the file to write</param>
private void WriteAuthorizationFile()
{
+ if (_path == null || _challenge == null)
+ {
+ throw new InvalidOperationException();
+ }
WriteFile(CombinePath(_path, _challenge.HttpResourcePath), _challenge.HttpResourceValue);
_challengeWritten = true;
}
@@ -157,6 +161,10 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
/// <param name="token"></param>
private void WriteWebConfig()
{
+ if (_path == null)
+ {
+ throw new InvalidOperationException();
+ }
if (_options.CopyWebConfig == true)
{
_log.Debug("Writing web.config");
@@ -182,6 +190,10 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
/// <param name="token"></param>
private void DeleteWebConfig()
{
+ if (_path == null || _challenge == null)
+ {
+ throw new InvalidOperationException();
+ }
if (_webConfigWritten)
{
_log.Debug("Deleting web.config");
@@ -202,7 +214,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
{
try
{
- if (_challengeWritten)
+ if (_path != null && _challenge != null && _challengeWritten)
{
_log.Debug("Deleting answer");
var path = CombinePath(_path, _challenge.HttpResourcePath);
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationArguments.cs b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationArguments.cs
index 0774419..b10e384 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationArguments.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationArguments.cs
@@ -2,7 +2,7 @@
{
internal class HttpValidationArguments
{
- public string WebRoot { get; set; }
+ public string? WebRoot { get; set; }
public bool Warmup { get; set; }
public bool ManualTargetIsIIS { get; set; }
}
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptions.cs b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptions.cs
index 6546a9a..2a83a98 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptions.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptions.cs
@@ -6,7 +6,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
{
internal abstract class HttpValidationOptions<T> : ValidationPluginOptions<T> where T : IValidationPlugin
{
- public string Path { get; set; }
+ public string? Path { get; set; }
public bool? CopyWebConfig { get; set; }
public HttpValidationOptions() { }
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptionsFactory.cs
index 377bdf8..f98a2e8 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptionsFactory.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/HttpValidationOptionsFactory.cs
@@ -56,7 +56,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins
/// </summary>
public HttpValidationOptions<TPlugin> BaseDefault(Target target)
{
- string path = null;
+ string? path = null;
var allowEmpty = AllowEmtpy(target);
var args = _arguments.GetArguments<HttpValidationArguments>();
if (string.IsNullOrEmpty(path) && !allowEmpty)
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHosting.cs b/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHosting.cs
index 5eeae60..d646ae8 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHosting.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHosting.cs
@@ -10,7 +10,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
internal class SelfHosting : Validation<Http01ChallengeValidationDetails>
{
internal const int DefaultValidationPort = 80;
- private HttpListener _listener;
+ private HttpListener? _listener;
private readonly Dictionary<string, string> _files;
private readonly SelfHostingOptions _options;
private readonly ILogService _log;
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHostingOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHostingOptionsFactory.cs
index 2eb55cc..d2696a7 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHostingOptionsFactory.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/SelfHosting/SelfHostingOptionsFactory.cs
@@ -18,15 +18,15 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
public override bool Disabled => SelfHosting.IsDisabled(_userRoleService);
- public override Task<SelfHostingOptions> Aquire(Target target, IInputService inputService, RunLevel runLevel) => Default(target);
+ public override Task<SelfHostingOptions?> Aquire(Target target, IInputService inputService, RunLevel runLevel) => Default(target);
- public override Task<SelfHostingOptions> Default(Target target)
+ public override async Task<SelfHostingOptions?> Default(Target target)
{
var args = _arguments.GetArguments<SelfHostingArguments>();
- return Task.FromResult(new SelfHostingOptions()
+ return new SelfHostingOptions()
{
Port = args.ValidationPort
- });
+ };
}
}
} \ No newline at end of file
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/Sftp.cs b/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/Sftp.cs
index 91981d5..f3f536c 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/Sftp.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/Sftp.cs
@@ -6,7 +6,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
{
internal class Sftp : HttpValidation<SftpOptions, Sftp>
{
- private SshFtpClient _sshFtpClient;
+ private SshFtpClient? _sshFtpClient;
public Sftp(SftpOptions options, HttpValidationParameters pars, RunLevel runLevel) : base(options, runLevel, pars) => _sshFtpClient = new SshFtpClient(_options.Credential.GetCredential(), pars.LogService);
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/SftpOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/SftpOptionsFactory.cs
index 754bba3..31c2c3b 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/SftpOptionsFactory.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/Sftp/SftpOptionsFactory.cs
@@ -22,15 +22,15 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
};
}
- public override Task<SftpOptions> Default(Target target)
+ public override async Task<SftpOptions?> Default(Target target)
{
- return Task.FromResult(new SftpOptions(BaseDefault(target))
+ return new SftpOptions(BaseDefault(target))
{
Credential = new NetworkCredentialOptions(_arguments)
- });
+ };
}
- public override async Task<SftpOptions> Aquire(Target target, IInputService inputService, RunLevel runLevel)
+ public override async Task<SftpOptions?> Aquire(Target target, IInputService inputService, RunLevel runLevel)
{
return new SftpOptions(await BaseAquire(target, inputService))
{
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDav.cs b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDav.cs
index dcead5c..990f338 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDav.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDav.cs
@@ -6,7 +6,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
{
internal class WebDav : HttpValidation<WebDavOptions, WebDav>
{
- private WebDavClientWrapper _webdavClient;
+ private readonly WebDavClientWrapper _webdavClient;
public WebDav(
WebDavOptions options, HttpValidationParameters pars,
@@ -25,7 +25,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
public override Task CleanUp()
{
base.CleanUp();
- _webdavClient = null;
+ _webdavClient.Dispose();
return Task.CompletedTask;
}
}
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptions.cs b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptions.cs
index 540f135..bcb9a20 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptions.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptions.cs
@@ -16,7 +16,7 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
/// <summary>
/// Credentials to use for WebDav connection
/// </summary>
- public NetworkCredentialOptions Credential { get; set; }
+ public NetworkCredentialOptions? Credential { get; set; }
/// <summary>
/// Show settings to user
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs
index 49ea451..f9f358c 100644
--- a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs
+++ b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs
@@ -28,15 +28,15 @@ namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
};
}
- public override Task<WebDavOptions> Default(Target target)
+ public override async Task<WebDavOptions?> Default(Target target)
{
- return Task.FromResult(new WebDavOptions(BaseDefault(target))
+ return new WebDavOptions(BaseDefault(target))
{
Credential = new NetworkCredentialOptions(_arguments)
- });
+ };
}
- public override async Task<WebDavOptions> Aquire(Target target, IInputService inputService, RunLevel runLevel)
+ public override async Task<WebDavOptions?> Aquire(Target target, IInputService inputService, RunLevel runLevel)
{
return new WebDavOptions(await BaseAquire(target, inputService))
{