Exemple #1
0
        public static bool MatchConnectionState(ADSessionInfo info1, ADSessionInfo info2, bool ignoreLocatorFlags)
        {
            bool     valueOrDefault;
            TimeSpan?timeout  = info1.Timeout;
            TimeSpan?nullable = info2.Timeout;

            if (timeout.HasValue != nullable.HasValue)
            {
                valueOrDefault = false;
            }
            else
            {
                if (!timeout.HasValue)
                {
                    valueOrDefault = true;
                }
                else
                {
                    valueOrDefault = timeout.GetValueOrDefault() == nullable.GetValueOrDefault();
                }
            }
            if (!valueOrDefault || info1.AuthType != info2.AuthType)
            {
                return(false);
            }
            else
            {
                return(ADSessionOptions.MatchConnectionState(info1.Options, info2.Options, ignoreLocatorFlags));
            }
        }
Exemple #2
0
 internal ADSessionInfo()
 {
     this._defaultPortNumber       = LdapConstants.LDAP_PORT;
     this._timeout                 = null;
     this._authType                = AuthType.Negotiate;
     this._options                 = new ADSessionOptions();
     this._appendedPort            = null;
     this._options.ReferralChasing = new ReferralChasingOptions?(ReferralChasingOptions.None);
     this._options.AutoReconnect   = new bool?(true);
 }
Exemple #3
0
        public ADSessionOptions Copy()
        {
            ADSessionOptions aDSessionOption = new ADSessionOptions();

            foreach (DictionaryEntry _option in this._options)
            {
                aDSessionOption._options.Add(_option.Key, _option.Value);
            }
            return(aDSessionOption);
        }
Exemple #4
0
        public void CopyValuesTo(ADSessionOptions targetSessionOption)
        {
            bool?autoReconnect = this.AutoReconnect;

            if (autoReconnect.HasValue)
            {
                targetSessionOption.AutoReconnect = this.AutoReconnect;
            }
            ADLocatorFlags?locatorFlag = this.LocatorFlag;

            if (locatorFlag.HasValue)
            {
                ADLocatorFlags?nullable     = targetSessionOption.LocatorFlag;
                ADLocatorFlags?locatorFlag1 = this.LocatorFlag;
                ADLocatorFlags?nullable1    = this.LocatorFlag;
                targetSessionOption.LocatorFlag = new ADLocatorFlags?(nullable.GetValueOrDefault(locatorFlag1.Value) | nullable1.Value);
            }
            ReferralChasingOptions?referralChasing = this.ReferralChasing;

            if (referralChasing.HasValue)
            {
                targetSessionOption.ReferralChasing = this.ReferralChasing;
            }
        }
Exemple #5
0
		public static bool MatchConnectionState(ADSessionOptions info1, ADSessionOptions info2, bool ignoreLocatorFlags)
		{
			bool hasValue;
			bool flag;
			if (info1 != null || info2 != null)
			{
				if (info1 == null || info2 == null)
				{
					return false;
				}
				else
				{
					ReferralChasingOptions? referralChasing = info1.ReferralChasing;
					ReferralChasingOptions? nullable = info2.ReferralChasing;
					if (referralChasing.GetValueOrDefault() != nullable.GetValueOrDefault())
					{
						hasValue = false;
					}
					else
					{
						hasValue = referralChasing.HasValue == nullable.HasValue;
					}
					if (hasValue)
					{
						bool? autoReconnect = info1.AutoReconnect;
						bool? autoReconnect1 = info2.AutoReconnect;
						if (autoReconnect.GetValueOrDefault() != autoReconnect1.GetValueOrDefault())
						{
							flag = false;
						}
						else
						{
							flag = autoReconnect.HasValue == autoReconnect1.HasValue;
						}
						if (flag)
						{
							if (ignoreLocatorFlags)
							{
								return true;
							}
							else
							{
								ADLocatorFlags? locatorFlag = info1.LocatorFlag;
								ADLocatorFlags? locatorFlag1 = info2.LocatorFlag;
								if (locatorFlag.GetValueOrDefault() != locatorFlag1.GetValueOrDefault())
								{
									return false;
								}
								else
								{
									return locatorFlag.HasValue == locatorFlag1.HasValue;
								}
							}
						}
					}
					return false;
				}
			}
			else
			{
				return true;
			}
		}
Exemple #6
0
		public void CopyValuesTo(ADSessionOptions targetSessionOption)
		{
			bool? autoReconnect = this.AutoReconnect;
			if (autoReconnect.HasValue)
			{
				targetSessionOption.AutoReconnect = this.AutoReconnect;
			}
			ADLocatorFlags? locatorFlag = this.LocatorFlag;
			if (locatorFlag.HasValue)
			{
				ADLocatorFlags? nullable = targetSessionOption.LocatorFlag;
				ADLocatorFlags? locatorFlag1 = this.LocatorFlag;
				ADLocatorFlags? nullable1 = this.LocatorFlag;
				targetSessionOption.LocatorFlag = new ADLocatorFlags?(nullable.GetValueOrDefault(locatorFlag1.Value) | nullable1.Value);
			}
			ReferralChasingOptions? referralChasing = this.ReferralChasing;
			if (referralChasing.HasValue)
			{
				targetSessionOption.ReferralChasing = this.ReferralChasing;
			}
		}
Exemple #7
0
		public ADSessionOptions Copy()
		{
			ADSessionOptions aDSessionOption = new ADSessionOptions();
			foreach (DictionaryEntry _option in this._options)
			{
				aDSessionOption._options.Add(_option.Key, _option.Value);
			}
			return aDSessionOption;
		}
Exemple #8
0
		internal ADSessionInfo()
		{
			this._defaultPortNumber = LdapConstants.LDAP_PORT;
			this._timeout = null;
			this._authType = AuthType.Negotiate;
			this._options = new ADSessionOptions();
			this._appendedPort = null;
			this._options.ReferralChasing = new ReferralChasingOptions?(ReferralChasingOptions.None);
			this._options.AutoReconnect = new bool?(true);
		}
Exemple #9
0
        public static bool MatchConnectionState(ADSessionOptions info1, ADSessionOptions info2, bool ignoreLocatorFlags)
        {
            bool hasValue;
            bool flag;

            if (info1 != null || info2 != null)
            {
                if (info1 == null || info2 == null)
                {
                    return(false);
                }
                else
                {
                    ReferralChasingOptions?referralChasing = info1.ReferralChasing;
                    ReferralChasingOptions?nullable        = info2.ReferralChasing;
                    if (referralChasing.GetValueOrDefault() != nullable.GetValueOrDefault())
                    {
                        hasValue = false;
                    }
                    else
                    {
                        hasValue = referralChasing.HasValue == nullable.HasValue;
                    }
                    if (hasValue)
                    {
                        bool?autoReconnect  = info1.AutoReconnect;
                        bool?autoReconnect1 = info2.AutoReconnect;
                        if (autoReconnect.GetValueOrDefault() != autoReconnect1.GetValueOrDefault())
                        {
                            flag = false;
                        }
                        else
                        {
                            flag = autoReconnect.HasValue == autoReconnect1.HasValue;
                        }
                        if (flag)
                        {
                            if (ignoreLocatorFlags)
                            {
                                return(true);
                            }
                            else
                            {
                                ADLocatorFlags?locatorFlag  = info1.LocatorFlag;
                                ADLocatorFlags?locatorFlag1 = info2.LocatorFlag;
                                if (locatorFlag.GetValueOrDefault() != locatorFlag1.GetValueOrDefault())
                                {
                                    return(false);
                                }
                                else
                                {
                                    return(locatorFlag.HasValue == locatorFlag1.HasValue);
                                }
                            }
                        }
                    }
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }