Esempio n. 1
0
        protected override void ParseProgramArgs()
        {
            //get and test the cmd line arg key\values
            var argHash = ConsoleCmd.ArgHash(_args);

            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName");
            if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_IDS_PORT_CMD_SWITCH))
            {
                _getTokenIdsCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_IDS_PORT_CMD_SWITCH].ToString());
            }
            if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_NAMES_PORT_CMD_SWITCH))
            {
                _getTokenNamesCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_NAMES_PORT_CMD_SWITCH].ToString());
            }
            if (argHash.ContainsKey(AssemblyAnalysis.GET_ASM_INDICES_PORT_CMD_SWITCH))
            {
                _getasmIndicesCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_ASM_INDICES_PORT_CMD_SWITCH].ToString());
            }
            if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_TYPES_PORT_CMD_SWITCH))
            {
                _getTokenTypesCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_TYPES_PORT_CMD_SWITCH].ToString());
            }
            if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_PAGE_RANK_PORT_CMD_SWITCH))
            {
                _getTokenPageRankCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_PAGE_RANK_PORT_CMD_SWITCH].ToString());
            }
            if (argHash.ContainsKey(AssemblyAnalysis.REASSIGN_TOKEN_NAMES_PORT_CMD_SWITCH))
            {
                _reassignTokenNamesCmdPort = ResolveInt(argHash[AssemblyAnalysis.REASSIGN_TOKEN_NAMES_PORT_CMD_SWITCH].ToString());
            }
            if (argHash.ContainsKey(AssemblyAnalysis.RESOLVE_GAC_ASM_SWITCH))
            {
                _resolveGacAsms = ResolveBool(argHash[AssemblyAnalysis.RESOLVE_GAC_ASM_SWITCH].ToString());
            }
        }
Esempio n. 2
0
        public void AssignPageRank(AsmAdjancyGraph g)
        {
            if (g.St == MetadataTokenStatus.Error)
            {
                return;
            }
            if (g.Asms == null || !g.Asms.Any())
            {
                return;
            }
            if (g.Graph == null)
            {
                return;
            }
            var keepTemp = ResolveBool(SysCfg.GetAppCfgSetting(APP_SET_KEY_KEEP_TEMP)) ?? false;

            Efx.RTempDir = LogDirectory;
            var pageRank = Efx.GetPageRank(g.Graph, keepTemp);

            if (pageRank == null || !pageRank.Any())
            {
                return;
            }
            for (var i = 0; i < g.Asms.Length; i++)
            {
                var asm = g.Asms.FirstOrDefault(x => x.IndexId == i);
                if (asm == null)
                {
                    continue;
                }
                asm.PageRank = pageRank[i];
            }
        }
Esempio n. 3
0
        protected override void ParseProgramArgs()
        {
            var argHash = ConsoleCmd.ArgHash(_args);

            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName");
            if (argHash.ContainsKey(Flatten.GET_FLAT_ASM_PORT_CMD_SWITCH))
            {
                _getFlattenAssemblyCmdPort = ResolveInt(argHash[Flatten.GET_FLAT_ASM_PORT_CMD_SWITCH].ToString());
            }
        }
Esempio n. 4
0
        //assign instance keys to cmd arg or app.config value
        internal bool AssignKeys()
        {
            if (String.IsNullOrWhiteSpace(_bulkKey))
            {
                _bulkKey = SysCfg.GetAppCfgSetting(APPCONFIG.BULK_KEY);
            }

            if (String.IsNullOrWhiteSpace(_hashSalt))
            {
                _hashSalt = SysCfg.GetAppCfgSetting(APPCONFIG.SALT);
            }

            return(String.IsNullOrWhiteSpace(_bulkKey) || String.IsNullOrWhiteSpace(_hashSalt));
        }
Esempio n. 5
0
        protected override void ParseProgramArgs()
        {
            var argHash = ConsoleCmd.ArgHash(_args);

            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName");

            if (!argHash.ContainsKey(Dpx.BIN_DIR) ||
                argHash[Dpx.BIN_DIR] == null)
            {
                throw new RahRowRagee(
                          $"the switch '{Dpx.BIN_DIR}' could not be " +
                          $"parsed from cmd line arg \n{string.Join(" ", _args)}");
            }
            BinDir = argHash[Dpx.BIN_DIR].ToString();
        }
Esempio n. 6
0
        protected override void ParseProgramArgs()
        {
            var argHash = ConsoleCmd.ArgHash(_args);

            GetFileCmdArgs(argHash);

            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName");

            if (MyFileParameters.FileCommand == InvokeKind.HostSjcl)
            {
                return;
            }

            GetHostSjclCmdArgs(argHash);
        }
Esempio n. 7
0
        protected override void ParseProgramArgs()
        {
            var argHash = ConsoleCmd.ArgHash(_args);

            if (!argHash.ContainsKey(Settings.INVOKE_ASM_PATH_SWITCH) ||
                argHash[Settings.INVOKE_ASM_PATH_SWITCH] == null)
            {
                throw new RahRowRagee(
                          $"the switch '{Settings.INVOKE_ASM_PATH_SWITCH}' could not be " +
                          $"parsed from cmd line arg \n{string.Join(" ", _args)}");
            }
            if (!argHash.ContainsKey(Settings.INVOKE_FULL_TYPE_NAME_SWITCH) ||
                argHash[Settings.INVOKE_FULL_TYPE_NAME_SWITCH] == null)
            {
                throw new RahRowRagee(
                          $"the switch '{Settings.INVOKE_FULL_TYPE_NAME_SWITCH}' could not " +
                          $"be parsed from cmd line arg \n{string.Join(" ", _args)}");
            }

            ResolveDependencies = argHash.ContainsKey(Settings.INVOKE_RESOLVE_ALL_DEPENDENCIES) &&
                                  string.Equals(argHash[Settings.INVOKE_RESOLVE_ALL_DEPENDENCIES].ToString(),
                                                bool.TrueString,
                                                StringComparison.OrdinalIgnoreCase);

            AsmPath = argHash[Settings.INVOKE_ASM_PATH_SWITCH].ToString();
            if (!File.Exists(AsmPath))
            {
                throw new RahRowRagee($"There is no assembly at '{AsmPath}'.");
            }

            NfConfig.AssemblySearchPaths.Add(Path.GetDirectoryName(AsmPath));
            Assembly = NfConfig.UseReflectionOnlyLoad
                ? Asm.NfReflectionOnlyLoadFrom(AsmPath)
                : Asm.NfLoadFrom(AsmPath);
            if (Assembly == null)
            {
                throw new RahRowRagee(
                          $"The assembly at '{AsmPath}' could not be loaded, " +
                          $"see the log at '{Asm.ResolveAsmLog}' for more info.");
            }

            TypeName = argHash[Settings.INVOKE_FULL_TYPE_NAME_SWITCH].ToString();

            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName");
        }
Esempio n. 8
0
        internal void GetHostSjclCmdArgs(Hashtable argHash)
        {
            var sjclBkPt          = 0;
            var sjclBkCt          = 0;
            var sjclHp            = 0;
            var sjclHashSalt      = string.Empty;
            var sjclBulkCipherKey = string.Empty;

            var ptp = argHash.ContainsKey(SWITCHES.TO_PLAIN_TXT_PORT)
                ? argHash[SWITCHES.TO_PLAIN_TXT_PORT].ToString()
                : SysCfg.GetAppCfgSetting(SWITCHES.TO_PLAIN_TXT_PORT);
            var ctp = argHash.ContainsKey(SWITCHES.TO_CIPHER_TEXT_PORT)
                ? argHash[SWITCHES.TO_CIPHER_TEXT_PORT].ToString()
                : SysCfg.GetAppCfgSetting(SWITCHES.TO_CIPHER_TEXT_PORT);
            var hp = argHash.ContainsKey(SWITCHES.HASH_PORT)
                ? argHash[SWITCHES.HASH_PORT].ToString()
                : SysCfg.GetAppCfgSetting(SWITCHES.HASH_PORT);

            sjclBkPt = ResolvePort(ptp).GetValueOrDefault(NfConfig.NfDefaultPorts.SjclToPlainText);
            sjclBkCt = ResolvePort(ctp).GetValueOrDefault(NfConfig.NfDefaultPorts.SjclToCipherText);
            sjclHp   = ResolvePort(hp).GetValueOrDefault(NfConfig.NfDefaultPorts.SjclHashPort);

            if (argHash.ContainsKey(SWITCHES.HASH_SALT))
            {
                sjclHashSalt = argHash[SWITCHES.HASH_SALT].ToString();
            }

            if (argHash.ContainsKey(SWITCHES.BULK_CIPHER_KEY))
            {
                sjclBulkCipherKey = argHash[SWITCHES.BULK_CIPHER_KEY].ToString();
            }

            MyHostParameters = new HostParameters
            {
                SjclBulkKeyToPlainTextPort  = sjclBkPt,
                SjclBulkKeyToCipherTextPort = sjclBkCt,
                SjclSha256HashPort          = sjclHp,
            };

            _hashSalt = CleanupDblSnglQuotes(sjclHashSalt);
            _bulkKey  = CleanupDblSnglQuotes(sjclBulkCipherKey);
        }
Esempio n. 9
0
        protected static void ValidateBinDir()
        {
            NfConfig.BinDirectories.Root =
                SysCfg.GetAppCfgSetting(ROOT_BIN_DIR);

            if (string.IsNullOrWhiteSpace(NfConfig.BinDirectories.Root) || !Directory.Exists(NfConfig.BinDirectories.Root))
            {
                throw new ItsDeadJim(
                          $"the root bin directory is not present at '{NfConfig.BinDirectories.Root}' " +
                          "- change the config file settings");
            }

            var f = SysCfg.GetAppCfgSetting(AppSettingKeys.DotExe);

            if (string.IsNullOrWhiteSpace(f))
            {
                throw new ItsDeadJim(
                          $"the path to Dot.exe is not present at '{f}' " +
                          $"- change the config file settings");
            }

            NfConfig.X86.DotExe = Path.Combine(NfConfig.BinDirectories.Root, f);

            if (!File.Exists(NfConfig.X86.DotExe))
            {
                throw new ItsDeadJim(
                          $"the path to Dot.exe is not present at '{NfConfig.X86.DotExe}' " +
                          $"- change the config file settings");
            }

            NfConfig.TempDirectories.Graph = SysCfg.GetAppCfgSetting(AppSettingKeys.GraphTempDir);

            if (string.IsNullOrWhiteSpace(NfConfig.TempDirectories.Graph))
            {
                throw new ItsDeadJim(
                          "assign a config file's appSettings for " +
                          "'NoFuture.TempDirectories.Graph' to a valid directory");
            }
            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting(AppSettingKeys.NfTypeName);
        }
Esempio n. 10
0
        /// <summary>
        /// Gets a list of extensions, each being a regex pattern, from this
        /// machine's web.config.  The extensions are sourced from the
        /// httpHandlers section.
        /// </summary>
        /// <returns></returns>
        public static List <string> GetGlobalWebConfigAspExtensions()
        {
            var extensions = new List <string>();
            var configFile = SysCfg.GetAspNetWebCfg();

            var httpHandlersNodes = configFile.SelectNodes("//httpHandlers/add");

            if (httpHandlersNodes == null || httpHandlersNodes.Count == 0)
            {
                return(null);
            }

            foreach (System.Xml.XmlNode httpHandlersNode in httpHandlersNodes)
            {
                if (httpHandlersNode.Attributes == null)
                {
                    continue;
                }
                if (httpHandlersNode.Attributes["path"] == null)
                {
                    continue;
                }
                if (string.IsNullOrWhiteSpace(httpHandlersNode.Attributes["path"].Value))
                {
                    continue;
                }
                if (httpHandlersNode.Attributes["path"].Value == "*")
                {
                    continue;
                }

                extensions.Add(httpHandlersNode.Attributes["path"].Value.Replace(".", @"\.").Replace("*", ".*"));
            }

            return(extensions);
        }
Esempio n. 11
0
        protected override void ParseProgramArgs()
        {
            var argHash = ConsoleCmd.ArgHash(_args);

            if (argHash == null || argHash.Keys.Count <= 0)
            {
                var msg = $"could not parse cmd line arg \n{string.Join(" ", _args)}";
                throw new ItsDeadJim(msg);
            }

            NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting(AppSettingKeyNames.NF_TYPE_NAME_EXE);

            if (!argHash.ContainsKey(InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH) ||
                argHash[InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH] == null)
            {
                var msg =
                    $"the switch '{InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH}' could not " +
                    $"be parsed from cmd line arg \n{string.Join(" ", _args)}";
                throw new ItsDeadJim(msg);
            }

            Settings.HbmStoredProcsDirectory = argHash[InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH].ToString();

            if (!argHash.ContainsKey(InvokeStoredProcManager.CONNECTION_STR_SWITCH) ||
                argHash[InvokeStoredProcManager.CONNECTION_STR_SWITCH] == null)
            {
                var msg =
                    $"the switch '{InvokeStoredProcManager.CONNECTION_STR_SWITCH}' could not " +
                    $"be parsed from cmd line arg \n{string.Join(" ", _args)}";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }

            if (!argHash.ContainsKey(InvokeStoredProcManager.FILE_PATH_SWITCH) ||
                argHash[InvokeStoredProcManager.FILE_PATH_SWITCH] == null)
            {
                var msg =
                    $"the switch '{InvokeStoredProcManager.FILE_PATH_SWITCH}' could not " +
                    $"be parsed from cmd line arg \n{string.Join(" ", _args)}";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }

            if (!argHash.ContainsKey(InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET) ||
                argHash[InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET] == null)
            {
                var msg =
                    $"the switch '{InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET}' could not " +
                    $"be parsed from cmd line arg \n{string.Join(" ", _args)}";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }


            if (
                !bool.TryParse(argHash[InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET].ToString(),
                               out _sendSocketMessages))
            {
                var msg =
                    "could not parse the value 'True' nor 'False' from " +
                    $"the '{InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET}' switch " +
                    $"using the cmd line arg \n{string.Join(" ", _args)}";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }

            ConnectionString = argHash[InvokeStoredProcManager.CONNECTION_STR_SWITCH].ToString();
            SpmFilePath      = argHash[InvokeStoredProcManager.FILE_PATH_SWITCH].ToString();

            if (!File.Exists(SpmFilePath))
            {
                var msg = $"bad path or file name '{SpmFilePath}'";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }

            if (!SortingContainers.StoredProcMetadata.TryDeserializeFromDisk(SpmFilePath, out _myProcMetadata))
            {
                var msg =
                    $"could not deserialize the file \n'{SpmFilePath}' " +
                    $"into the type \n'{typeof(SortingContainers.StoredProcMetadata).FullName}'";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }

            if (string.IsNullOrWhiteSpace(_myProcMetadata.ProcName))
            {
                var msg = "there isn't a stored proc name in " +
                          $"the deserialized file at \n'{SpmFilePath}'";
                Settings.WriteToStoredProcLog(msg);
                throw new ItsDeadJim(msg);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// Resolve a port number from the config file's appSettings
        /// on <see cref="appKey"/>
        /// </summary>
        /// <param name="appKey"></param>
        /// <returns></returns>
        internal int?ResolvePort(string appKey)
        {
            var cval = SysCfg.GetAppCfgSetting(appKey);

            return(ResolveInt(cval));
        }