コード例 #1
0
        public static bool IsValidName(string name, bool isComposeDeployment = false)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(false);
            }

            //When deployment type is not composed type but the name starts with "Compose_"
            if (!isComposeDeployment && name.StartsWith(StringConstants.ComposeDeploymentTypePrefix))
            {
                return(false);
            }

            if (name.Contains(StringConstants.DoubleDot))
            {
                return(false);
            }

            if (!ImageBuilderUtility.IsValidFileName(name))
            {
                return(false);
            }

            return(true);
        }
コード例 #2
0
        internal static string ValidateSfpkgDownloadPathAndGetFileName(string sfpkgPath)
        {
            Uri uri;

            if (!Uri.TryCreate(sfpkgPath, UriKind.Absolute, out uri))
            {
                ImageBuilderUtility.TraceAndThrowValidationError(
                    TraceType,
                    StringResources.Error_InvalidApplicationPackageDownloadUri,
                    sfpkgPath);
            }

            if (string.IsNullOrEmpty(uri.Scheme))
            {
                ImageBuilderUtility.TraceAndThrowValidationError(
                    TraceType,
                    StringResources.Error_InvalidApplicationPackageDownloadUri,
                    sfpkgPath);
            }

            string protocol = uri.Scheme.ToLowerInvariant();

            if (protocol != "http" && protocol != "https")
            {
                ImageBuilderUtility.TraceAndThrowValidationError(
                    TraceType,
                    StringResources.Error_InvalidApplicationPackageDownloadUri_Protocol,
                    sfpkgPath,
                    protocol);
            }


            var segments = uri.Segments;

            if (segments.Length == 0)
            {
                ImageBuilderUtility.TraceAndThrowValidationError(
                    TraceType,
                    StringResources.Error_InvalidApplicationPackageDownloadUri,
                    sfpkgPath);
            }

            var fileName = segments[segments.Length - 1];

            if (!fileName.EndsWith(StringConstants.SfpkgExtension))
            {
                ImageBuilderUtility.TraceAndThrowValidationError(
                    TraceType,
                    StringResources.Error_InvalidApplicationPackageDownloadUri_FileName,
                    sfpkgPath,
                    fileName);
            }

            if (!ImageBuilderUtility.IsValidFileName(fileName))
            {
                ImageBuilderUtility.TraceAndThrowValidationError(
                    TraceType,
                    StringResources.Error_InvalidApplicationPackageDownloadUri_FileName,
                    sfpkgPath);
            }

            return(fileName);
        }