Esempio n. 1
0
        public ExchangeVersion?GetRequestedVersionForAutoDiscover(AutodiscoverType autodiscoverType)
        {
            int minimumVersionByAutodiscoverType = this.GetMinimumVersionByAutodiscoverType(autodiscoverType);

            if (Globals.E14SP1Version == minimumVersionByAutodiscoverType)
            {
                return(new ExchangeVersion?(ExchangeVersion.Exchange2010_SP1));
            }
            if (Globals.E14Version == minimumVersionByAutodiscoverType)
            {
                return(new ExchangeVersion?(ExchangeVersion.Exchange2010));
            }
            if (Globals.E15Version == minimumVersionByAutodiscoverType)
            {
                return(new ExchangeVersion?(ExchangeVersion.Exchange2013));
            }
            if (minimumVersionByAutodiscoverType == 0)
            {
                return(null);
            }
            throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Unsupported minimum required version {0} for {1}, please add this to Application.GetRequestedVersionForAutoDiscover code.", new object[]
            {
                minimumVersionByAutodiscoverType,
                base.GetType()
            }));
        }
Esempio n. 2
0
 internal AutoDiscoverRequestOperation(Application application, ClientContext clientContext, RequestLogger requestLogger, Uri targetUri, AutoDiscoverAuthenticator authenticator, EmailAddress[] emailAddresses, AutodiscoverType autodiscoverType) : base(application, clientContext, requestLogger)
 {
     this.TargetUri        = targetUri;
     this.Authenticator    = authenticator;
     this.EmailAddresses   = emailAddresses;
     this.AutodiscoverType = autodiscoverType;
 }
Esempio n. 3
0
        public int GetAutodiscoverVersionBucket(AutodiscoverType autodiscoverType)
        {
            int minimumVersionByAutodiscoverType = this.GetMinimumVersionByAutodiscoverType(autodiscoverType);

            if (Globals.E15Version == minimumVersionByAutodiscoverType)
            {
                return(3);
            }
            if (Globals.E14SP1Version == minimumVersionByAutodiscoverType)
            {
                return(2);
            }
            if (Globals.E14Version == minimumVersionByAutodiscoverType)
            {
                return(1);
            }
            if (minimumVersionByAutodiscoverType == 0)
            {
                return(0);
            }
            throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Unsupported minimum required version {0} for {1}, please add this to Application.GetAutodiscoverVersionBucket code.", new object[]
            {
                minimumVersionByAutodiscoverType,
                base.GetType()
            }));
        }
Esempio n. 4
0
        private int GetMinimumVersionByAutodiscoverType(AutodiscoverType autodiscoverType)
        {
            switch (autodiscoverType)
            {
            case AutodiscoverType.Internal:
                return(this.MinimumRequiredVersion);

            case AutodiscoverType.External:
                return(this.MinimumRequiredVersionForExternalUser);

            default:
                throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Unsupported AutodiscoverType {0} encountered, please add this to Application.GetMinimumVersionFromAutodiscoverType code.", new object[]
                {
                    autodiscoverType
                }));
            }
        }
Esempio n. 5
0
 public static AutoDiscoverRequestOperation CreateForCrossForest(Application application, ClientContext clientContext, RequestLogger requestLogger, Uri targetUri, AutoDiscoverAuthenticator authenticator, EmailAddress[] emailAddresses, UriSource uriSource, AutodiscoverType autodiscoverType)
 {
     return(new AutoDiscoverRequestByDomain(application, clientContext, requestLogger, new AutoDiscoverAuthenticator(ProxyAuthenticator.CreateForSoap(clientContext.MessageId)), targetUri, emailAddresses, autodiscoverType));
 }
Esempio n. 6
0
 private AutoDiscoverRequestByDomain(Application application, ClientContext clientContext, RequestLogger requestLogger, AutoDiscoverAuthenticator authenticator, Uri targetUri, EmailAddress[] emailAddresses, AutodiscoverType autodiscoverType) : base(application, clientContext, requestLogger, targetUri, authenticator, emailAddresses, autodiscoverType)
 {
 }
Esempio n. 7
0
 public static AutoDiscoverRequestOperation CreateForExternal(Application application, ClientContext clientContext, RequestLogger requestLogger, Uri targetUri, AutoDiscoverAuthenticator authenticator, EmailAddress[] emailAddresses, UriSource uriSource, AutodiscoverType autodiscoverType)
 {
     return(new AutoDiscoverRequestByDomain(application, clientContext, requestLogger, authenticator, targetUri, emailAddresses, autodiscoverType));
 }
Esempio n. 8
0
 internal UserSoapAutoDiscoverRequest(Application application, ClientContext clientContext, RequestType requestType, RequestLogger requestLogger, AutoDiscoverAuthenticator authenticator, Uri targetUri, EmailAddress[] emailAddresses, AutodiscoverType autodiscoverType) : base(application, clientContext, requestLogger, "UserSoapAutoDiscoverRequest", authenticator, targetUri, emailAddresses, autodiscoverType)
 {
 }
Esempio n. 9
0
 public SoapAutoDiscoverRequest(Application application, ClientContext clientContext, RequestLogger requestLogger, string label, AutoDiscoverAuthenticator authenticator, Uri targetUri, EmailAddress[] emailAddresses, AutodiscoverType autodiscoverType) : base(application, clientContext, requestLogger, label)
 {
     this.authenticator    = authenticator;
     this.TargetUri        = SoapAutoDiscoverRequest.FixTargetUri(targetUri);
     this.EmailAddresses   = emailAddresses;
     this.AutodiscoverType = autodiscoverType;
 }
Esempio n. 10
0
 private AutoDiscoverRequestXmlByUser(Application application, ClientContext clientContext, RequestLogger requestLogger, Uri targetUri, AutoDiscoverAuthenticator authenticator, EmailAddress[] emailAddresses, UriSource uriSource, AutodiscoverType autodiscoverType) : base(application, clientContext, requestLogger, targetUri, authenticator, emailAddresses, autodiscoverType)
 {
     this.uriSource = uriSource;
 }
Esempio n. 11
0
        protected AutoDiscoverQuery(Application application, ClientContext clientContext, RequestLogger requestLogger, Uri autoDiscoverUrl, AutoDiscoverAuthenticator authenticator, AutoDiscoverQueryItem[] queryItems, int redirectionDepth, CreateAutoDiscoverRequestDelegate createAutoDiscoverRequest, AutodiscoverType autodiscoverType, QueryList queryList)
        {
            this.application               = application;
            this.clientContext             = clientContext;
            this.requestLogger             = requestLogger;
            this.autoDiscoverUrl           = autoDiscoverUrl;
            this.authenticator             = authenticator;
            this.queryItems                = queryItems;
            this.redirectionDepth          = redirectionDepth;
            this.createAutoDiscoverRequest = createAutoDiscoverRequest;
            this.autodiscoverType          = autodiscoverType;
            this.queryList      = queryList;
            this.emailAddresses = new EmailAddress[queryItems.Length];
            for (int i = 0; i < queryItems.Length; i++)
            {
                this.emailAddresses[i] = queryItems[i].EmailAddress;
            }
            StringBuilder stringBuilder = new StringBuilder(200);

            foreach (AutoDiscoverQueryItem autoDiscoverQueryItem in this.queryItems)
            {
                if (stringBuilder.Length > 0)
                {
                    stringBuilder.Append(",");
                }
                stringBuilder.Append(autoDiscoverQueryItem.EmailAddress.ToString());
            }
            this.emailAddressesString = stringBuilder.ToString();
            AutoDiscoverQuery.AutoDiscoverTracer.TraceDebug <object, string>((long)this.GetHashCode(), "{0}: Created AutoDiscoverQuery for {1}", TraceContext.Get(), this.emailAddressesString);
        }