void DoDeserializeSection(XmlReader reader)
{
reader.MoveToContent();
string protection_provider = null;
string config_source = null;
string localName;
while (reader.MoveToNextAttribute())
{
localName = reader.LocalName;
if (localName == "configProtectionProvider")
{
protection_provider = reader.Value;
}
else if (localName == "configSource")
{
config_source = reader.Value;
}
}
/* XXX this stuff shouldn't be here */
{
if (protection_provider != null)
{
ProtectedConfigurationProvider prov = ProtectedConfiguration.GetProvider(protection_provider, true);
XmlDocument doc = new ConfigurationXmlDocument();
reader.MoveToElement();
doc.Load(new StringReader(reader.ReadInnerXml()));
XmlNode n = prov.Decrypt(doc);
reader = new XmlNodeReader(n);
SectionInformation.ProtectSection(protection_provider);
reader.MoveToContent();
}
}
if (config_source != null)
{
SectionInformation.ConfigSource = config_source;
}
SectionInformation.SetRawXml(RawXml);
if (SectionHandler == null)
{
DeserializeElement(reader, false);
}
}