Esempio n. 1
0
        // Token: 0x060006FE RID: 1790 RVA: 0x0002C68C File Offset: 0x0002A88C
        public static List <SnmpEntry> GetAllCredentials()
        {
            SqlCommand       textCommand = SqlHelper.GetTextCommand("\r\n    Select Distinct 1 As SnmpVersion, CommunityString, Null as SNMPUser, Null as Context, Null as AuthPassword, Null as EncryptPassword, \r\n0 as AuthLevel, Null as AuthMethod, 0 as EncryptMethod From dbo.DiscoverySNMPCredentials\r\nUnion\r\n(\r\n\tSELECT 3 As SnmpVersion, Null as CommunityString, SNMPUser, Context, AuthPassword, EncryptPassword, AuthLevel, AuthMethod, EncryptMethod \r\n\tFROM DiscoverySNMPCredentialsV3\r\n)");
            List <SnmpEntry> list        = new List <SnmpEntry>
            {
                new SnmpEntry
                {
                    Name     = "public",
                    Version  = SNMPVersion.SNMP1,
                    Selected = true
                },
                new SnmpEntry
                {
                    Name     = "private",
                    Version  = SNMPVersion.SNMP1,
                    Selected = true
                }
            };

            using (IDataReader dataReader = SqlHelper.ExecuteReader(textCommand))
            {
                while (dataReader.Read())
                {
                    string @string = DatabaseFunctions.GetString(dataReader, "CommunityString");
                    int    @int    = DatabaseFunctions.GetInt32(dataReader, "SnmpVersion");
                    if ([email protected]("public", StringComparison.OrdinalIgnoreCase) && [email protected]("private", StringComparison.OrdinalIgnoreCase))
                    {
                        if (@int == 3)
                        {
                            DiscoverySNMPCredentialsV3Entry.AuthenticationMethods int2 = DatabaseFunctions.GetInt32(dataReader, "AuthMethod");
                            DiscoverySNMPCredentialsV3Entry.EncryptionMethods     int3 = DatabaseFunctions.GetInt32(dataReader, "EncryptMethod");
                            SnmpEntry snmpEntry = new SnmpEntry
                            {
                                UserName     = DatabaseFunctions.GetString(dataReader, "SNMPUser"),
                                Context      = DatabaseFunctions.GetString(dataReader, "Context"),
                                AuthPassword = DatabaseFunctions.GetString(dataReader, "AuthPassword"),
                                PrivPassword = DatabaseFunctions.GetString(dataReader, "EncryptPassword"),
                                AuthLevel    = DatabaseFunctions.GetInt32(dataReader, "AuthLevel"),
                                AuthMethod   = ((int2 == 2) ? SnmpAuthMethod.SHA : SnmpAuthMethod.MD5),
                                Version      = SNMPVersion.SNMP3,
                                Selected     = true
                            };
                            switch (int3)
                            {
                            case 2:
                                snmpEntry.PrivMethod = SnmpPrivMethod.AES;
                                break;

                            case 3:
                                snmpEntry.PrivMethod = SnmpPrivMethod.AES192;
                                break;

                            case 4:
                                snmpEntry.PrivMethod = SnmpPrivMethod.AES256;
                                break;

                            default:
                                snmpEntry.PrivMethod = SnmpPrivMethod.DES;
                                break;
                            }
                            list.Add(snmpEntry);
                        }
                        else
                        {
                            list.Add(new SnmpEntry
                            {
                                Name     = @string,
                                Version  = SNMPVersion.SNMP1,
                                Selected = true
                            });
                        }
                    }
                }
            }
            return(list);
        }
        public static List <SnmpEntry> GetAllCredentials()
        {
            SqlCommand       textCommand    = SqlHelper.GetTextCommand("\r\n    Select Distinct 1 As SnmpVersion, CommunityString, Null as SNMPUser, Null as Context, Null as AuthPassword, Null as EncryptPassword, \r\n0 as AuthLevel, Null as AuthMethod, 0 as EncryptMethod From dbo.DiscoverySNMPCredentials\r\nUnion\r\n(\r\n\tSELECT 3 As SnmpVersion, Null as CommunityString, SNMPUser, Context, AuthPassword, EncryptPassword, AuthLevel, AuthMethod, EncryptMethod \r\n\tFROM DiscoverySNMPCredentialsV3\r\n)");
            List <SnmpEntry> snmpEntryList1 = new List <SnmpEntry>();
            SnmpEntry        snmpEntry1     = new SnmpEntry();

            snmpEntry1.set_Name("public");
            snmpEntry1.set_Version((SNMPVersion)1);
            snmpEntry1.set_Selected(true);
            snmpEntryList1.Add(snmpEntry1);
            SnmpEntry snmpEntry2 = new SnmpEntry();

            snmpEntry2.set_Name("private");
            snmpEntry2.set_Version((SNMPVersion)1);
            snmpEntry2.set_Selected(true);
            snmpEntryList1.Add(snmpEntry2);
            List <SnmpEntry> snmpEntryList2 = snmpEntryList1;

            using (IDataReader dataReader = SqlHelper.ExecuteReader(textCommand))
            {
                while (dataReader.Read())
                {
                    string str     = DatabaseFunctions.GetString(dataReader, "CommunityString");
                    int    int32_1 = DatabaseFunctions.GetInt32(dataReader, "SnmpVersion");
                    if (!str.Equals("public", StringComparison.OrdinalIgnoreCase) && !str.Equals("private", StringComparison.OrdinalIgnoreCase))
                    {
                        if (int32_1 == 3)
                        {
                            DiscoverySNMPCredentialsV3Entry.AuthenticationMethods int32_2 = (DiscoverySNMPCredentialsV3Entry.AuthenticationMethods)DatabaseFunctions.GetInt32(dataReader, "AuthMethod");
                            DiscoverySNMPCredentialsV3Entry.EncryptionMethods     int32_3 = (DiscoverySNMPCredentialsV3Entry.EncryptionMethods)DatabaseFunctions.GetInt32(dataReader, "EncryptMethod");
                            SnmpEntry snmpEntry3 = new SnmpEntry();
                            snmpEntry3.set_UserName(DatabaseFunctions.GetString(dataReader, "SNMPUser"));
                            snmpEntry3.set_Context(DatabaseFunctions.GetString(dataReader, "Context"));
                            snmpEntry3.set_AuthPassword(DatabaseFunctions.GetString(dataReader, "AuthPassword"));
                            snmpEntry3.set_PrivPassword(DatabaseFunctions.GetString(dataReader, "EncryptPassword"));
                            snmpEntry3.set_AuthLevel((SnmpAuthenticationLevel)DatabaseFunctions.GetInt32(dataReader, "AuthLevel"));
                            snmpEntry3.set_AuthMethod(int32_2 == 2 ? (SnmpAuthMethod)1 : (SnmpAuthMethod)0);
                            snmpEntry3.set_Version((SNMPVersion)3);
                            snmpEntry3.set_Selected(true);
                            SnmpEntry snmpEntry4 = snmpEntry3;
                            switch (int32_3 - 2)
                            {
                            case 0:
                                snmpEntry4.set_PrivMethod((SnmpPrivMethod)1);
                                break;

                            case 1:
                                snmpEntry4.set_PrivMethod((SnmpPrivMethod)2);
                                break;

                            case 2:
                                snmpEntry4.set_PrivMethod((SnmpPrivMethod)3);
                                break;

                            default:
                                snmpEntry4.set_PrivMethod((SnmpPrivMethod)0);
                                break;
                            }
                            snmpEntryList2.Add(snmpEntry4);
                        }
                        else
                        {
                            List <SnmpEntry> snmpEntryList3 = snmpEntryList2;
                            SnmpEntry        snmpEntry3     = new SnmpEntry();
                            snmpEntry3.set_Name(str);
                            snmpEntry3.set_Version((SNMPVersion)1);
                            snmpEntry3.set_Selected(true);
                            snmpEntryList3.Add(snmpEntry3);
                        }
                    }
                }
            }
            return(snmpEntryList2);
        }