public static void Main(string[] args)
        {
            DnsPermission permission = new DnsPermission(System.Security.Permissions.PermissionState.Unrestricted);

            permission.Demand();
            //创建一个SecurityElement对象来控制DnsPermission实例
            SecurityElement securityElementObj = permission.ToXml();

            Console.WriteLine("Tag,Attributes and Values of 'DnsPermission' instance :");
            //输出属性名称和值
            PrintKeysAndValues(securityElementObj.Attributes);
        }
Ejemplo n.º 2
0
// <Snippet1>
    public void useDns()
    {
        // Create a DnsPermission instance.
        DnsPermission permission = new DnsPermission(PermissionState.Unrestricted);

        // Check for permission.
        permission.Demand();
        // Create a SecurityElement object to hold XML encoding of the DnsPermission instance.
        SecurityElement securityElementObj = permission.ToXml();

        Console.WriteLine("Tag, Attributes and Values of 'DnsPermission' instance :");
        Console.WriteLine("\n\tTag :" + securityElementObj.Tag);
        // Print the attributes and values.
        PrintKeysAndValues(securityElementObj.Attributes);
    }
Ejemplo n.º 3
0
// <Snippet1>
    public void useDns()
    {
        // Create a DnsPermission instance.
        permission = new DnsPermission(PermissionState.Unrestricted);
        DnsPermission dnsPermission1 = new DnsPermission(PermissionState.None);

        // Check for permission.
        permission.Demand();
        dnsPermission1.Demand();
        // Print the attributes and values.
        Console.WriteLine("Attributes and Values of 'DnsPermission' instance :");
        PrintKeysAndValues(permission.ToXml().Attributes);
        Console.WriteLine("Attributes and Values of specified 'DnsPermission' instance :");
        PrintKeysAndValues(dnsPermission1.ToXml().Attributes);
        Subset(dnsPermission1);
    }
Ejemplo n.º 4
0
// <Snippet1>
    public void UseDns()
    {
        // Create a DnsPermission instance.
        DnsPermission myPermission = new DnsPermission(PermissionState.Unrestricted);

        // Check for permission.
        myPermission.Demand();
        // Create an identical copy of the above 'DnsPermission' object.
        DnsPermission myPermissionCopy = (DnsPermission)myPermission.Copy();

        Console.WriteLine("Attributes and Values of 'DnsPermission' instance :");
        // Print the attributes and values.
        PrintKeysAndValues(myPermission.ToXml().Attributes);
        Console.WriteLine("Attribute and values of copied instance :");
        PrintKeysAndValues(myPermissionCopy.ToXml().Attributes);
    }
Ejemplo n.º 5
0
// <Snippet2>
    public void useDns()
    {
        // Create a DnsPermission instance.
        dnsPermission1 = new DnsPermission(PermissionState.Unrestricted);
        dnsPermission2 = new DnsPermission(PermissionState.None);
        // Check for permission.
        dnsPermission1.Demand();
        dnsPermission2.Demand();
        Console.WriteLine("Attributes and Values of first DnsPermission instance :");
        PrintKeysAndValues(dnsPermission1.ToXml().Attributes);
        Console.WriteLine("Attributes and Values of second DnsPermission instance :");
        PrintKeysAndValues(dnsPermission2.ToXml().Attributes);
        Console.WriteLine("Union of both instances : ");
        MyUnion();
        Console.WriteLine("Intersection of both instances : ");
        MyIntersection();
    }
Ejemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dnsServer"></param>
        /// <param name="host"></param>
        /// <param name="queryType"></param>
        /// <param name="queryClass"></param>
        /// <param name="protocol"></param>
        /// <param name="messageSecurityProvider">The instance of the message security provider to use to secure the DNS request.</param>
        /// <returns>A <see cref="T:DnDns.Net.Dns.DnsQueryResponse"></see> instance that contains the Dns Answer for the request query.</returns>
        /// <PermissionSet>
        ///     <IPermission class="System.Net.DnsPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
        /// </PermissionSet>
        public DnsQueryResponse Resolve(string dnsServer, string host, NsType queryType, NsClass queryClass, ProtocolType protocol, IMessageSecurityProvider messageSecurityProvider)
        {
            // Do stack walk and Demand all callers have DnsPermission.
            _dnsPermissions.Demand();

            byte[] bDnsQuery = this.BuildDnsRequest(host, queryType, queryClass, protocol, messageSecurityProvider);

            // Connect to DNS server and get the record for the current server.
            IPHostEntry ipe  = System.Net.Dns.GetHostEntry(dnsServer);
            IPAddress   ipa  = ipe.AddressList[0];
            IPEndPoint  ipep = new IPEndPoint(ipa, (int)UdpServices.Domain);

            byte[] recvBytes = null;

            switch (protocol)
            {
            case ProtocolType.Tcp:
            {
                recvBytes = ResolveTcp(bDnsQuery, ipep);
                break;
            }

            case ProtocolType.Udp:
            {
                recvBytes = ResolveUdp(bDnsQuery, ipep);
                break;
            }

            default:
            {
                throw new InvalidOperationException("Invalid Protocol: " + protocol);
            }
            }

            Trace.Assert(recvBytes != null, "Failed to retrieve data from the remote DNS server.");

            DnsQueryResponse dnsQR = new DnsQueryResponse();

            dnsQR.ParseResponse(recvBytes, protocol);

            return(dnsQR);
        }
// <Snippet1>
    public void useDns()
    {
        // Create a DnsPermission instance.
        DnsPermission permission = new DnsPermission(PermissionState.Unrestricted);

        // Check for permission.
        permission.Demand();
        Console.WriteLine("Attributes and Values of DnsPermission instance :");
        // Print the attributes and values.
        PrintKeysAndValues(permission.ToXml().Attributes);
        // Check the permission state.
        if (permission.IsUnrestricted())
        {
            Console.WriteLine("Overall permissions : Unrestricted");
        }
        else
        {
            Console.WriteLine("Overall permissions : Restricted");
        }
    }
Ejemplo n.º 8
0
        /// <PermissionSet>
        ///     <IPermission class="System.Net.DnsPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
        /// </PermissionSet>
        public Response Query(string host, NsType queryType, NsClass queryClass, ProtocolType protocol)
        {
            // Do stack walk and Demand all callers have DnsPermission.
            _dnsPermissions.Demand();

            var query = _requestBuilder.Build(host, queryType, queryClass, protocol);

            // Connect to DNS server and get the record for the current server.

            byte[] responseBytes = null;

            var resolver = _resolverFactory.Get(protocol);

            responseBytes = resolver.Resolve(query, _serverEndPoint);

            Trace.Assert(responseBytes != null, "Failed to retrieve data from the remote DNS server.");

            var response = _responseParser.ParseResponse(responseBytes);

            return(response);
        }
Ejemplo n.º 9
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            try
            {
                //demand WebPermissions.
                WebPermission wp    = new WebPermission();
                DnsPermission dperm = new DnsPermission(PermissionState.Unrestricted);
                dperm.Demand();
                wp.Demand();
                //dbase.DbConnection_Progress();
                DbConnection getcon = dbase.GetConnection();
            }
            catch (Exception exx)
            {
                //log the error.
                DataLayer.LogClient("Exception:" + exx.Message + " Stack Trace:" + exx.StackTrace);
                //show a message.
                dbase.WriteDebugMessage(DataLayer.GetExceptionData(exx));
                MessageBox.Show(this, "Error Connecting to the Database:" + exx.Message);
                Close();
            }
            OperatingMode = OperatingModeConstants.OpMode_PinEntry;
            //dbase = new DataLayer(DataLayer.ConnectionTypeConstants.Connection_Client);
            lstLogEntries.ItemsSource = MessageLog;
            //connect to the DB right NAU!
            WorkOrderEntry.MaxLength = dbase.Configuration.WorkOrderMaxLength;

            //make various items collapsed if the config calls for it...
            lstLogEntries.Visibility = !dbase.Configuration.Client_ShowActivityLog ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible;

            UserListExpander.Visibility = !dbase.Configuration.Client_ShowUserList ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible;
            lblLogEntry.Visibility      = lstLogEntries.Visibility;

            if (dbase.Configuration.Client_PasswordPIN)
            {
                lblPIN.Visibility     = System.Windows.Visibility.Collapsed;
                lblPINpass.Visibility = System.Windows.Visibility.Visible;
            }
            //now, bind lstLogEntries to the MESSAGELOG database...

            /*  ObservableCollection<MessageActivityLogItem> GeneralLog = dbase.GetLogMessages("GENERAL");
             * lstLogEntries.ItemsSource=GeneralLog;*/


            //lstLogEntries



            VersionLabel.Content = GetVersionData();


            //set the timer that will periodically (every 20 seconds or so) refresh the listbox.
            //the IDEAL case would be to use some sort of binding but...meh.

            refreshUserListTimer          = new DispatcherTimer();
            refreshUserListTimer.Interval = new TimeSpan(0, 0, 0, 30);
            refreshUserListTimer.Tick    += new EventHandler(refreshUserListTimer_Tick);
            refreshUserListTimer.Start();
            refreshUserListTimer_Tick(refreshUserListTimer, null);
            //now that there is the admin panel, the seeding code is unneeded :D
            try
            {
                //dbase.SeedDB();
            }
            catch (Exception seedexception)
            {
                Debug.Print("Exception while seeding...");
            }
        }