// Token: 0x060019EE RID: 6638 RVA: 0x0005D5FC File Offset: 0x0005B7FC
        protected override string InternalExecute()
        {
            UserContext            userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);
            AttachmentDataProvider defaultUploadDataProvider = userContext.AttachmentDataProviderManager.GetDefaultUploadDataProvider(base.CallContext);

            if (defaultUploadDataProvider is OneDriveProAttachmentDataProvider)
            {
                return(((OneDriveProAttachmentDataProvider)defaultUploadDataProvider).GetUploadFolderName(userContext));
            }
            return(null);
        }
Esempio n. 2
0
        protected override int InternalExecute()
        {
            UserContext userContext = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);

            if (userContext != null)
            {
                userContext.UpdateLastUserRequestTime();
                return(0);
            }
            return(-10);
        }
Esempio n. 3
0
        // Token: 0x060018ED RID: 6381 RVA: 0x00056A8C File Offset: 0x00054C8C
        private static bool GetPreviewsDisabled()
        {
            bool        result      = true;
            HttpContext httpContext = HttpContext.Current;

            if (httpContext != null && UserContextManager.GetUserContext(httpContext).FeaturesManager != null)
            {
                result = !UserContextManager.GetUserContext(httpContext).FeaturesManager.ClientServerSettings.InlinePreview.Enabled;
            }
            return(result);
        }
Esempio n. 4
0
        // Token: 0x06001D5A RID: 7514 RVA: 0x000750BC File Offset: 0x000732BC
        private static void GetUserIdentity(HttpContext httpContext, out Guid userObjectGuid, out Guid tenantGuid, out OrganizationId orgId, out UserContext userContext)
        {
            ExTraceGlobals.SpeechRecognitionTracer.TraceDebug(0L, "Entering SpeechRecognitionProcessor.GetUserIdentity");
            userContext    = UserContextManager.GetUserContext(httpContext);
            userObjectGuid = userContext.ExchangePrincipal.ObjectId.ObjectGuid;
            orgId          = userContext.ExchangePrincipal.MailboxInfo.OrganizationId;
            IADSystemConfigurationLookup iadsystemConfigurationLookup = ADSystemConfigurationLookupFactory.CreateFromOrganizationId(orgId);

            tenantGuid = iadsystemConfigurationLookup.GetExternalDirectoryOrganizationId();
            ExTraceGlobals.SpeechRecognitionTracer.TraceDebug <Guid, Guid, OrganizationId>(0L, "SpeechRecognitionProcessor.GetUserIdentity - userObjectGuid='{0}', tenantGuid='{1}', orgId='{2}'", userObjectGuid, tenantGuid, orgId);
        }
Esempio n. 5
0
        public AttachmentDataProvider GetProvider(CallContext callContext, string id)
        {
            this.EnsureAttachmentDataProviders(callContext);
            if (this.dataProviders.ContainsKey(id))
            {
                return(this.dataProviders[id]);
            }
            ExTraceGlobals.DocumentsTracer.TraceDebug <string>((long)this.GetHashCode(), "Provider with id {0} was not found, getting the default upload provider", id);
            UserContext userContext = UserContextManager.GetUserContext(callContext.HttpContext, callContext.EffectiveCaller, true);

            OwaServerTraceLogger.AppendToLog(new TraceLogEvent("ADPM.GP", userContext, "GetProvider", string.Format("Provider with id {0} was not found", id)));
            return(this.GetDefaultUploadDataProvider(callContext));
        }
        // Token: 0x060019F9 RID: 6649 RVA: 0x0005DBD8 File Offset: 0x0005BDD8
        protected override NavBarData InternalExecute()
        {
            AuthZClientInfo effectiveCaller = CallContext.Current.EffectiveCaller;
            UserContext     userContext     = UserContextManager.GetUserContext(CallContext.Current.HttpContext, effectiveCaller, true);

            if (!userContext.IsBposUser)
            {
                return(null);
            }
            BposNavBarInfoAssetReader bposNavBarInfoAssetReader = userContext.BposNavBarInfoAssetReader;

            return(bposNavBarInfoAssetReader.GetData(effectiveCaller).NavBarData);
        }
        // Token: 0x06001A2B RID: 6699 RVA: 0x0005F604 File Offset: 0x0005D804
        protected override ScopeFlightsSetting[] InternalExecute()
        {
            UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext);

            if (!userContext.FeaturesManager.ClientServerSettings.FlightsView.Enabled)
            {
                throw new OwaNotSupportedException("This method is not supported.");
            }
            IList <ScopeFlightsSetting> flightsForScope = this.scopeFlightsSettingsProvider.GetFlightsForScope();
            ScopeFlightsSetting         item            = new ScopeFlightsSetting(userContext.PrimarySmtpAddress.ToString(), userContext.FeaturesManager.ConfigurationSnapshot.Flights);

            flightsForScope.Add(item);
            return(flightsForScope.ToArray <ScopeFlightsSetting>());
        }
Esempio n. 8
0
        internal string GetThemeFolderName(UserAgent agent, HttpContext httpContext)
        {
            Theme theme = this.BaseTheme;

            if (agent != null && httpContext != null && !UserAgentUtilities.IsMonitoringRequest(agent.RawString) && agent.Layout == LayoutType.Mouse && !Globals.IsAnonymousCalendarApp)
            {
                UserContext userContext = UserContextManager.GetUserContext(httpContext);
                if (userContext != null)
                {
                    theme = userContext.Theme;
                }
            }
            return(theme.FolderName);
        }
 private static DispatchStepResult DispatchIfLastPendingGet(RequestContext requestContext)
 {
     if (requestContext.RequestType != OwaRequestType.Oeh)
     {
         return(DispatchStepResult.Continue);
     }
     ExTraceGlobals.CoreCallTracer.TraceDebug(0L, "[RequestDispatcher::DispatchIfLastPendingGet] entry.");
     requestContext.UserContext = UserContextManager.GetUserContext(requestContext.HttpContext, false);
     if (OwaEventHandlerBase.ShouldIgnoreRequest(requestContext, requestContext.UserContext))
     {
         requestContext.HttpStatusCode = HttpStatusCode.BadRequest;
         return(DispatchStepResult.EndResponse);
     }
     return(DispatchStepResult.Continue);
 }
        // Token: 0x06001B22 RID: 6946 RVA: 0x00066F5C File Offset: 0x0006515C
        protected InstantMessageOperationError SignOut()
        {
            UserContext userContext = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);

            if (!userContext.IsInstantMessageEnabled)
            {
                return(InstantMessageOperationError.NotEnabled);
            }
            if (userContext.InstantMessageManager == null)
            {
                return(InstantMessageOperationError.NotConfigured);
            }
            userContext.InstantMessageManager.SignOut();
            InstantMessageUtilities.SetSignedOutFlag(base.MailboxIdentityMailboxSession, true);
            return(InstantMessageOperationError.Success);
        }
        // Token: 0x0600012D RID: 301 RVA: 0x00005100 File Offset: 0x00003300
        internal static string TryGetMailboxIdentityName()
        {
            UserContext userContext = UserContextManager.GetUserContext(HttpContext.Current, CallContext.Current.EffectiveCaller, true);

            if (userContext == null)
            {
                throw new ArgumentNullException("userContext");
            }
            string result = string.Empty;

            if (userContext.MailboxIdentity != null)
            {
                result = userContext.MailboxIdentity.SafeGetRenderableName();
            }
            return(result);
        }
Esempio n. 12
0
        protected override string InternalExecute()
        {
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
            CancellationToken       token       = cancellationTokenSource.Token;
            UserContext             userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);

            if (this.cancellationId != null && userContext.CancelAttachmentManager.OnCreateAttachment(this.cancellationId, cancellationTokenSource))
            {
                return(null);
            }
            AttachmentDataProvider provider = userContext.AttachmentDataProviderManager.GetProvider(base.CallContext, this.attachmentDataProviderId);
            Guid operationId = Guid.NewGuid();

            CreateAttachmentFromAttachmentDataProvider.DownloadAndAttachFile(operationId, provider, userContext, this.location, this.dataProviderItemId, this.draftEmailId.Id, this.subscriptionId, base.IdConverter, this.channelId, this.dataProviderParentItemId, this.providerEndpointUrl, token, this.cancellationId);
            return(operationId.ToString());
        }
Esempio n. 13
0
        // Token: 0x06001B1D RID: 6941 RVA: 0x00066D8C File Offset: 0x00064F8C
        private static UserContext GetUserContext()
        {
            Stopwatch   stopwatch = Stopwatch.StartNew();
            UserContext userContext;

            try
            {
                userContext = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);
            }
            finally
            {
                stopwatch.Stop();
                OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.GetUserContext, stopwatch.ElapsedMilliseconds);
            }
            return(userContext);
        }
Esempio n. 14
0
        // Token: 0x06001BC7 RID: 7111 RVA: 0x0006AEE4 File Offset: 0x000690E4
        protected override bool InternalExecute()
        {
            CultureInfo cultureInfo;

            try
            {
                cultureInfo = new CultureInfo(this.newUserLocale);
            }
            catch (CultureNotFoundException ex)
            {
                ExTraceGlobals.CoreTracer.TraceDebug <string, string>(0L, "{0} is not a valid culture. Exception Message-{1}", this.newUserLocale, ex.Message);
                return(false);
            }
            if (!SetUserLocale.IsSupportedCulture(cultureInfo))
            {
                ExTraceGlobals.CoreTracer.TraceDebug <string>(0L, "SetUserLocale::IsSupportedCulture- {0} is not a supported culture.", this.newUserLocale);
                return(false);
            }
            UserContext       userContext       = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);
            ExchangePrincipal exchangePrincipal = userContext.ExchangePrincipal;
            PreferredCultures preferredCultures = new PreferredCultures(exchangePrincipal.PreferredCultures);

            preferredCultures.AddSupportedCulture(cultureInfo, new Predicate <CultureInfo>(SetUserLocale.IsSupportedCulture));
            this.SaveCultures(exchangePrincipal.ObjectId, userContext.MailboxSession.GetADRecipientSession(false, ConsistencyMode.FullyConsistent), preferredCultures);
            userContext.ExchangePrincipal = exchangePrincipal.WithPreferredCultures(preferredCultures);
            UserConfigurationPropertyDefinition propertyDefinition  = UserOptionPropertySchema.Instance.GetPropertyDefinition(UserConfigurationPropertyId.DateFormat);
            UserConfigurationPropertyDefinition propertyDefinition2 = UserOptionPropertySchema.Instance.GetPropertyDefinition(UserConfigurationPropertyId.TimeFormat);

            new UserOptionsType
            {
                DateFormat = MailboxRegionalConfiguration.GetDefaultDateFormat(cultureInfo),
                TimeFormat = MailboxRegionalConfiguration.GetDefaultTimeFormat(cultureInfo)
            }.Commit(base.CallContext, new UserConfigurationPropertyDefinition[]
            {
                propertyDefinition,
                propertyDefinition2
            });
            if (this.localizeFolderNames && !this.LocalizeFolders(cultureInfo))
            {
                return(false);
            }
            CallContext.Current.HttpContext.Response.Cookies.Add(new HttpCookie("mkt", cultureInfo.Name));
            CallContext.Current.HttpContext.Response.Cookies.Add(new HttpCookie("UpdatedUserSettings", 32.ToString()));
            return(true);
        }
Esempio n. 15
0
        // Token: 0x060018EA RID: 6378 RVA: 0x00056554 File Offset: 0x00054754
        private static bool GetActiveViewsConvergenceFlightEnabled(RequestDetailsLogger logger)
        {
            UserContext userContext = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);

            if (userContext == null)
            {
                logger.Set(GetLinkPreviewMetadata.UserContextNull, 1);
                logger.Set(GetLinkPreviewMetadata.ActiveViewConvergenceEnabled, 0);
                return(false);
            }
            if (!userContext.FeaturesManager.ClientServerSettings.ActiveViewConvergence.Enabled)
            {
                logger.Set(GetLinkPreviewMetadata.ActiveViewConvergenceEnabled, 0);
                return(false);
            }
            logger.Set(GetLinkPreviewMetadata.ActiveViewConvergenceEnabled, 1);
            return(true);
        }
Esempio n. 16
0
        protected override string InternalExecute()
        {
            Item   item  = null;
            Item   item2 = null;
            string result;

            try
            {
                MailboxSession mailboxIdentityMailboxSession = base.MailboxIdentityMailboxSession;
                item  = Item.Bind(mailboxIdentityMailboxSession, this.ndrMessageId, ItemBindOption.None);
                item2 = ((ReportMessage)item).CreateSendAgain(this.draftFolderId);
                if (this.IrmDecryptIfRestricted(item2, UserContextManager.GetUserContext(base.CallContext.HttpContext)))
                {
                    ((RightsManagedMessageItem)item2).PrepareAcquiredLicensesBeforeSave();
                }
                StoreId storeId = null;
                if (item2 is MessageItem)
                {
                    item2.Save(SaveMode.NoConflictResolutionForceSave);
                    item2.Load();
                    storeId = item2.Id;
                }
                result = StoreId.StoreIdToEwsId(base.CallContext.AccessingPrincipal.MailboxInfo.MailboxGuid, storeId);
            }
            catch (Exception ex)
            {
                OwaServerTraceLogger.AppendToLog(new WacAttachmentLogEvent("Exception generating CreateResendDraft", ex));
                result = string.Empty;
            }
            finally
            {
                if (item != null)
                {
                    item.Dispose();
                    item = null;
                }
                if (item2 != null)
                {
                    item2.Dispose();
                    item2 = null;
                }
            }
            return(result);
        }
            // Token: 0x06001AFF RID: 6911 RVA: 0x0006673C File Offset: 0x0006493C
            private void UploadAttachment(IAttachment attachment, IItem draftItem, out IAttachment newAttachment, out AttachmentId newAttachmentId)
            {
                IStreamAttachment streamAttachment = attachment as IStreamAttachment;

                if (streamAttachment == null)
                {
                    throw new InvalidOperationException("UploadAttachment requires a stream attachment, but was given a " + attachment.GetType().Name);
                }
                UploadItemAsyncResult uploadItemAsyncResult;

                using (Stream contentStream = streamAttachment.GetContentStream())
                {
                    byte[] array = new byte[contentStream.Length];
                    while (contentStream.Position != contentStream.Length)
                    {
                        int count = (int)Math.Min(4000L, contentStream.Length - contentStream.Position);
                        contentStream.Read(array, (int)contentStream.Position, count);
                    }
                    CancellationToken cancellationToken = default(CancellationToken);
                    uploadItemAsyncResult = this.provider.UploadItemSync(array, attachment.FileName, cancellationToken);
                }
                if (uploadItemAsyncResult.ResultCode != AttachmentResultCode.Success)
                {
                    throw new GetWacAttachmentInfo.AttachmentUploadException(uploadItemAsyncResult.ResultCode.ToString());
                }
                UserContext userContext = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);

                this.ResultAttachmentWebServiceUrl = uploadItemAsyncResult.Item.ProviderEndpointUrl;
                this.ResultAttachmentProviderType  = uploadItemAsyncResult.Item.ProviderType.ToString();
                this.ResultAttachmentContentUrl    = this.provider.GetItemAbsoulteUrl(userContext, uploadItemAsyncResult.Item.Location, uploadItemAsyncResult.Item.ProviderEndpointUrl, null, null);
                this.ResultAttachmentExtension     = attachment.FileExtension;
                IReferenceAttachment referenceAttachment = (IReferenceAttachment)this.factory.CreateAttachment(draftItem, AttachmentType.Reference);

                newAttachment   = referenceAttachment;
                newAttachmentId = newAttachment.Id;
                referenceAttachment.AttachLongPathName  = this.ResultAttachmentContentUrl;
                referenceAttachment.ProviderEndpointUrl = this.ResultAttachmentWebServiceUrl;
                referenceAttachment.ProviderType        = this.ResultAttachmentProviderType;
                referenceAttachment.FileName            = attachment.FileName;
                newAttachment.IsInline = false;
                newAttachment.Save();
                draftItem.Save(SaveMode.NoConflictResolutionForceSave);
            }
Esempio n. 18
0
        protected override CreateAttachmentResponse InternalExecute()
        {
            UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);
            CreateAttachmentResponse createAttachmentResponse;

            if (this.request.CancellationId != null && userContext.CancelAttachmentManager.OnCreateAttachment(this.request.CancellationId, null))
            {
                createAttachmentResponse = CreateAttachmentHelper.BuildCreateAttachmentResponseForCancelled();
            }
            else
            {
                createAttachmentResponse = CreateAttachmentFromLocalFile.CreateAttachment(this.request);
                if (this.request.CancellationId != null)
                {
                    AttachmentIdType attachmentIdFromCreateAttachmentResponse = CreateAttachmentHelper.GetAttachmentIdFromCreateAttachmentResponse(createAttachmentResponse);
                    userContext.CancelAttachmentManager.CreateAttachmentCompleted(this.request.CancellationId, attachmentIdFromCreateAttachmentResponse);
                }
            }
            return(createAttachmentResponse);
        }
Esempio n. 19
0
        protected override ThemeSelectionInfoType InternalExecute()
        {
            ISet <string> set         = new HashSet <string>();
            UserContext   userContext = UserContextManager.GetUserContext(HttpContext.Current);
            IEnumerable <ThemeStyleResource> userMouseThemedResources = this.GetUserMouseThemedResources(userContext);

            foreach (ThemeStyleResource themeStyleResource in userMouseThemedResources)
            {
                string item = Globals.FormatURIForCDN(themeStyleResource.StyleDirectory) + themeStyleResource.ResourceName;
                set.Add(item);
            }
            string currentOwaVersion = userContext.CurrentOwaVersion;

            return(new ThemeSelectionInfoType
            {
                Themes = ThemeManagerFactory.GetInstance(currentOwaVersion).Themes,
                CssPaths = set.Distinct <string>().ToArray <string>(),
                ThemePath = ResourcePathBuilderUtilities.GetThemeResourcesRelativeFolderPath(ResourcePathBuilderUtilities.GetResourcesRelativeFolderPath(currentOwaVersion))
            });
        }
        // Token: 0x06001BCE RID: 7118 RVA: 0x0006B2E4 File Offset: 0x000694E4
        protected override SetUserThemeResponse InternalExecute()
        {
            UserContext          userContext          = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);
            ConfigurationContext configurationContext = new ConfigurationContext(userContext);
            SetUserThemeResponse setUserThemeResponse = new SetUserThemeResponse
            {
                OwaSuccess  = false,
                O365Success = false
            };

            if (!configurationContext.IsFeatureEnabled(Feature.Themes) || string.IsNullOrEmpty(this.request.ThemeId))
            {
                return(setUserThemeResponse);
            }
            uint idFromStorageId = ThemeManagerFactory.GetInstance(userContext.CurrentOwaVersion).GetIdFromStorageId(this.request.ThemeId);

            this.tracer.TraceDebug <uint>(1L, "SetUserTheme.InternalExecute::id='{0}'", idFromStorageId);
            if (idFromStorageId == 4294967295U)
            {
                throw new OwaInvalidOperationException("The theme doesn't exist any more on the server");
            }
            string userPrincipalName = userContext.LogonIdentity.GetOWAMiniRecipient().UserPrincipalName;

            setUserThemeResponse.O365Success = this.UpdateO365Theme(this.request.ThemeId, userPrincipalName, userContext);
            if (this.request.ThemeId == userContext.DefaultTheme.StorageId)
            {
                this.request.ThemeId = string.Empty;
            }
            UserConfigurationPropertyDefinition propertyDefinition = UserOptionPropertySchema.Instance.GetPropertyDefinition(UserConfigurationPropertyId.ThemeStorageId);

            new UserOptionsType
            {
                ThemeStorageId = this.request.ThemeId
            }.Commit(base.CallContext, new UserConfigurationPropertyDefinition[]
            {
                propertyDefinition
            });
            setUserThemeResponse.OwaSuccess = true;
            userContext.ClearCachedTheme();
            return(setUserThemeResponse);
        }
Esempio n. 21
0
        // Token: 0x06001B67 RID: 7015 RVA: 0x00068240 File Offset: 0x00066440
        protected override bool InternalExecute()
        {
            ExTraceGlobals.AppWipeTracer.TraceDebug(0L, "[NotifyAppWipe.InternalExecute] Acquiring the UserContext.");
            UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);
            ExTraceGlobals.AppWipeTracer.TraceDebug(0L, string.Format("[NotifyAppWipe.InternalExecute] Wipe reason {0}.", this.wipeReason));
            if (base.CallContext.IsRemoteWipeRequested)
            {
                ExTraceGlobals.AppWipeTracer.TraceDebug(0L, "[NotifyAppWipe.InternalExecute] Remote wipe completed.");
                base.CallContext.MarkRemoteWipeAsAcknowledged();
            }
            UnsubscribeToPushNotificationRequest request = new UnsubscribeToPushNotificationRequest(new PushNotificationSubscription
            {
                AppId = "UNKNOWN_APPWIPE",
                DeviceNotificationId   = "UNKNOWN_APPWIPE",
                DeviceNotificationType = PushNotificationPlatform.APNS.ToString()
            });
            UnsubscribeToPushNotification unsubscribeToPushNotification = new UnsubscribeToPushNotification(base.CallContext, request);

            unsubscribeToPushNotification.Execute();
            return(true);
        }
Esempio n. 22
0
 private void EnsureAttachmentDataProviders(CallContext callContext)
 {
     if (this.dataProviders == null || this.dataProviders.Count == 0)
     {
         lock (this.lockObject)
         {
             if (this.dataProviders == null || this.dataProviders.Count == 0)
             {
                 UserContext userContext = UserContextManager.GetUserContext(callContext.HttpContext, callContext.EffectiveCaller, true);
                 PolymorphicConfiguration <AttachmentDataProvider> polymorphicConfiguration = null;
                 if (!userContext.IsGroupUserContext)
                 {
                     polymorphicConfiguration = new PolymorphicConfiguration <AttachmentDataProvider>();
                     try
                     {
                         polymorphicConfiguration.Load(callContext);
                     }
                     catch (TypeLoadException)
                     {
                     }
                     this.dataProviders = polymorphicConfiguration.Entries.ToDictionary((AttachmentDataProvider x) => x.Id);
                 }
                 else
                 {
                     this.dataProviders = new Dictionary <string, AttachmentDataProvider>();
                 }
                 this.EnsureOneDriveProDataProvider(callContext, polymorphicConfiguration, userContext);
                 IEnumerable <AttachmentDataProvider> enumerable = from x in this.dataProviders.Values
                                                                   where x is IAttachmentDataProviderChanged
                                                                   select x;
                 foreach (AttachmentDataProvider attachmentDataProvider in enumerable)
                 {
                     ((IAttachmentDataProviderChanged)attachmentDataProvider).AttachmentDataProviderChanged += this.ProviderChanged;
                 }
             }
         }
     }
 }
 // Token: 0x06000D6B RID: 3435 RVA: 0x00032D30 File Offset: 0x00030F30
 internal ChunkedHttpResponse(HttpContext context)
 {
     this.Response = context.Response;
     HttpUtilities.MakePageNoCacheNoStore(this.Response);
     this.evalChunksNotSupportedByXmlhttpRequest = (HttpUtilities.GetQueryStringParameter(context.Request, "ecnsq", false) == "1");
     this.browserNameQueryParamValue             = HttpUtilities.GetQueryStringParameter(context.Request, "brwnm", false);
     this.userAgent = new UserAgent(context.Request.UserAgent, UserContextManager.GetUserContext(context).FeaturesManager.ClientServerSettings.ChangeLayout.Enabled, context.Request.Cookies);
     this.accountValidationContext = (context.Items["AccountValidationContext"] as IAccountValidationContext);
     this.Response.BufferOutput    = false;
     this.Response.Buffer          = false;
     this.Response.ContentType     = "text/html; charset=UTF-8";
     this.Response.AddHeader("Transfer-Encoding", "chunked");
     if ((string.Equals("iPhone", this.userAgent.Platform) || string.Equals("iPad", this.userAgent.Platform)) && ((this.userAgent.Browser == "Safari" && this.userAgent.BrowserVersion.Build > 5) || this.browserNameQueryParamValue == "safari"))
     {
         this.Response.AddHeader("X-FromBackEnd-ClientConnection", "close");
     }
     if (!this.evalChunksNotSupportedByXmlhttpRequest)
     {
         this.Response.TrySkipIisCustomErrors = true;
     }
     this.streamWriter = PendingRequestUtilities.CreateStreamWriter(this.Response.OutputStream);
     this.WriteFirstChunk();
 }
Esempio n. 24
0
 private static DispatchStepResult DispatchIfLogoffRequest(RequestContext requestContext)
 {
     if (requestContext.RequestType != OwaRequestType.Logoff)
     {
         return(DispatchStepResult.Continue);
     }
     ExTraceGlobals.CoreCallTracer.TraceDebug(0L, "[RequestDispatcher::DispatchIfLogoffRequest] entry.");
     OwaDiagnostics.TracePfd(21769, "Dispatching logoff request.", new object[0]);
     requestContext.UserContext = UserContextManager.GetUserContext(requestContext.HttpContext, false);
     if (requestContext.UserContext != null)
     {
         RequestDispatcher.DoLogoffCleanup(requestContext);
     }
     if (RequestDispatcherUtilities.IsChangePasswordLogoff(requestContext.HttpContext.Request))
     {
         requestContext.DestinationUrl = OwaUrl.LogoffChangePasswordPage.GetExplicitUrl(requestContext.HttpContext.Request);
     }
     else
     {
         requestContext.DestinationUrl = RequestDispatcher.GetLogoffURL(requestContext);
     }
     return(DispatchStepResult.RedirectToUrl);
 }
Esempio n. 25
0
        public CreateReferenceAttachmentFromLocalFile(CallContext callContext, CreateReferenceAttachmentFromLocalFileRequest requestObject, bool isHtml5) : base(callContext)
        {
            if (requestObject == null)
            {
                throw new ArgumentNullException("requestObject");
            }
            if (requestObject.ParentItemId == null)
            {
                throw new OwaInvalidRequestException("RequestObject.ParentItemId cannot be null");
            }
            this.isHtml5        = isHtml5;
            this.itemId         = requestObject.ParentItemId;
            this.fileName       = requestObject.FileName;
            this.fileContent    = Convert.FromBase64String(requestObject.FileContentToUpload);
            this.subscriptionId = requestObject.SubscriptionId;
            this.channelId      = requestObject.ChannelId;
            this.cancellationId = requestObject.CancellationId;
            UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);

            if (userContext.IsGroupUserContext && this.channelId == null)
            {
                throw new OwaInvalidRequestException("RequestObject.ChannelId cannot be null for a group request");
            }
        }
Esempio n. 26
0
        protected override string InternalExecute()
        {
            if (!this.isHtml5)
            {
                CreateAttachmentHelper.UpdateContentType(base.CallContext);
            }
            UserContext             userContext             = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
            CancellationToken       token = cancellationTokenSource.Token;

            if (this.cancellationId != null)
            {
                bool flag = userContext.CancelAttachmentManager.OnCreateAttachment(this.cancellationId, cancellationTokenSource);
                if (flag)
                {
                    CreateAttachmentHelper.SendFailureNotification(userContext, this.subscriptionId, null, AttachmentResultCode.Cancelled, this.channelId, null);
                    return(null);
                }
            }
            Guid operationId = Guid.NewGuid();

            CreateReferenceAttachmentFromLocalFile.UploadAndAttachReferenceAttachment(operationId, userContext, base.CallContext, this.itemId, this.fileName, this.fileContent, base.IdConverter, this.subscriptionId, this.channelId, token, this.cancellationId);
            return(operationId.ToString());
        }
        // Token: 0x06001892 RID: 6290 RVA: 0x0005465C File Offset: 0x0005285C
        protected override AttachmentDataProvider InternalExecute()
        {
            UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);

            return(userContext.AttachmentDataProviderManager.AddProvider(base.CallContext, this.attachmentDataProvider));
        }
        // Token: 0x06001A99 RID: 6809 RVA: 0x00063744 File Offset: 0x00061944
        protected override PeopleFilter[] InternalExecute()
        {
            UserContext userContext = UserContextManager.GetUserContext(CallContext.Current.HttpContext, CallContext.Current.EffectiveCaller, true);

            ExchangeVersion.Current = ExchangeVersion.Latest;
            MailboxSession      mailboxIdentityMailboxSession = base.MailboxIdentityMailboxSession;
            MailboxId           mailboxId = new MailboxId(mailboxIdentityMailboxSession);
            List <PeopleFilter> list      = new List <PeopleFilter>();

            list.Add(this.MakePeopleFilter(mailboxIdentityMailboxSession.GetDefaultFolderId(DefaultFolderType.MyContacts), mailboxIdentityMailboxSession.GetDefaultFolderId(DefaultFolderType.Configuration), mailboxId, ClientStrings.MyContactsFolderName.ToString(), 1, true));
            PeopleFilterGroupPriorityManager peopleFilterGroupPriorityManager = new PeopleFilterGroupPriorityManager(mailboxIdentityMailboxSession, new XSOFactory());

            foreach (IStorePropertyBag storePropertyBag in new ContactFoldersEnumerator(mailboxIdentityMailboxSession, new XSOFactory(), ContactFoldersEnumeratorOptions.SkipHiddenFolders | ContactFoldersEnumeratorOptions.SkipDeletedFolders, PeopleFilterGroupPriorityManager.RequiredFolderProperties))
            {
                StoreObjectId       objectId          = ((VersionedId)storePropertyBag.TryGetProperty(FolderSchema.Id)).ObjectId;
                StoreObjectId       parentId          = storePropertyBag.TryGetProperty(StoreObjectSchema.ParentItemId) as StoreObjectId;
                string              valueOrDefault    = storePropertyBag.GetValueOrDefault <string>(FolderSchema.DisplayName, string.Empty);
                int                 sortGroupPriority = peopleFilterGroupPriorityManager.DetermineSortGroupPriority(storePropertyBag);
                ExtendedFolderFlags valueOrDefault2   = storePropertyBag.GetValueOrDefault <ExtendedFolderFlags>(FolderSchema.ExtendedFolderFlags, (ExtendedFolderFlags)0);
                bool                isReadOnly        = (valueOrDefault2 & ExtendedFolderFlags.ReadOnly) == ExtendedFolderFlags.ReadOnly;
                list.Add(this.MakePeopleFilter(objectId, parentId, mailboxId, valueOrDefault, sortGroupPriority, isReadOnly));
            }
            if (userContext.FeaturesManager.ClientServerSettings.OwaPublicFolders.Enabled)
            {
                IFavoritePublicFoldersManager favoritePublicFoldersManager = new FavoritePublicFoldersManager(mailboxIdentityMailboxSession);
                List <IFavoritePublicFolder>  list2 = new List <IFavoritePublicFolder>();
                using (IEnumerator <IFavoritePublicFolder> enumerator2 = favoritePublicFoldersManager.EnumerateContactsFolders().GetEnumerator())
                {
                    while (enumerator2.MoveNext())
                    {
                        IFavoritePublicFolder folder = enumerator2.Current;
                        if (!list2.Exists((IFavoritePublicFolder storedFavorite) => storedFavorite.FolderId.Equals(folder.FolderId)))
                        {
                            list2.Add(folder);
                        }
                    }
                }
                if (list2.Count > 0)
                {
                    for (int i = 0; i < list2.Count; i++)
                    {
                        list.Add(this.MakePublicFolderPeopleFilter(list2[i], i));
                    }
                }
            }
            ClientSecurityContext clientSecurityContext = base.CallContext.EffectiveCaller.ClientSecurityContext;
            IExchangePrincipal    mailboxOwner          = base.MailboxIdentityMailboxSession.MailboxOwner;
            AddressLists          addressLists          = new AddressLists(clientSecurityContext, mailboxOwner, userContext);

            if (addressLists.GlobalAddressList != null)
            {
                list.Add(new PeopleFilter
                {
                    DisplayName = addressLists.GlobalAddressList.DisplayName,
                    FolderId    = new AddressListId
                    {
                        Id = addressLists.GlobalAddressList.Id.ObjectGuid.ToString()
                    },
                    SortGroupPriority = 1000,
                    IsReadOnly        = true
                });
            }
            if (addressLists.AllRoomsAddressList != null)
            {
                list.Add(new PeopleFilter
                {
                    DisplayName = addressLists.AllRoomsAddressList.DisplayName,
                    FolderId    = new AddressListId
                    {
                        Id = addressLists.AllRoomsAddressList.Id.ObjectGuid.ToString()
                    },
                    SortGroupPriority = 1001,
                    IsReadOnly        = true
                });
            }
            foreach (AddressBookBase addressBookBase in addressLists.AllAddressLists)
            {
                if ((addressLists.GlobalAddressList == null || !addressBookBase.Id.Equals(addressLists.GlobalAddressList.Id)) && (addressLists.AllRoomsAddressList == null || !addressBookBase.Id.Equals(addressLists.AllRoomsAddressList.Id)) && !string.IsNullOrEmpty(addressBookBase.RecipientFilter) && (!addressBookBase.IsModernGroupsAddressList || userContext.FeaturesManager.ClientServerSettings.ModernGroups.Enabled))
                {
                    list.Add(new PeopleFilter
                    {
                        DisplayName = addressBookBase.DisplayName,
                        FolderId    = new AddressListId
                        {
                            Id = addressBookBase.Id.ObjectGuid.ToString()
                        },
                        SortGroupPriority = (addressBookBase.IsModernGroupsAddressList ? 1009 : this.GetSortGroupPriority(addressBookBase.RecipientFilter)),
                        IsReadOnly        = true
                    });
                }
            }
            list.Sort(new PeopleFilterComparer(mailboxIdentityMailboxSession.PreferedCulture));
            return(list.ToArray());
        }
Esempio n. 29
0
        // Token: 0x060019EA RID: 6634 RVA: 0x0005D5AC File Offset: 0x0005B7AC
        protected override GetAttachmentDataProviderItemsResponse InternalExecute()
        {
            UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);

            return(userContext.AttachmentDataProviderManager.GetRecentItems(base.CallContext));
        }
        // Token: 0x060019AD RID: 6573 RVA: 0x0005AB7C File Offset: 0x00058D7C
        protected override OnlineMeetingType InternalExecute()
        {
            this.SetDefaultValuesForOptics();
            UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);

            if (string.Compare(userContext.SipUri, this.sipUri, StringComparison.OrdinalIgnoreCase) != 0)
            {
                base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.ManagerSipUri, ExtensibleLogger.FormatPIIValue(this.sipUri));
            }
            if (userContext.ExchangePrincipal.MailboxInfo.OrganizationId != null && userContext.ExchangePrincipal.MailboxInfo.OrganizationId.OrganizationalUnit != null)
            {
                base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.Organization, userContext.ExchangePrincipal.MailboxInfo.OrganizationId.OrganizationalUnit.Name);
            }
            UcwaUserConfiguration ucwaUserConfiguration = UcwaConfigurationUtilities.GetUcwaUserConfiguration(this.sipUri, base.CallContext);

            if (!ucwaUserConfiguration.IsUcwaSupported)
            {
                base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.IsUcwaSupported, bool.FalseString);
                string errorString = string.Format("[InternalExecute] Attempted to create an online meeting for a non-UCWA supported user; autodiscover returned UcwaUrl: '{0}', DiagnosticInfo: '{1}'", ucwaUserConfiguration.UcwaUrl, ucwaUserConfiguration.DiagnosticInfo);
                this.LogAndTraceError(errorString);
                return(OnlineMeetingType.CreateFailedOnlineMeetingType("User is not UCWA enabled"));
            }
            if (!this.ShoudlMeetingBeCreated())
            {
                return(OnlineMeetingType.CreateFailedOnlineMeetingType("Item already has an online meeting associated to it."));
            }
            OAuthCredentials oauthCredential;

            try
            {
                oauthCredential = UcwaConfigurationUtilities.GetOAuthCredential(this.sipUri);
                oauthCredential.ClientRequestId = new Guid?(Guid.NewGuid());
                base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.OAuthCorrelationId, oauthCredential.ClientRequestId.Value.ToString());
            }
            catch (OwaException ex)
            {
                this.LogAndTraceError("An error occurred while obtaining OAuth Credential: " + UcwaConfigurationUtilities.BuildFailureLogString(ex));
                return(OnlineMeetingType.CreateFailedOnlineMeetingType("An error occurred while obtaining OAuth credential"));
            }
            Task <OnlineMeetingResult> task = this.CreateLyncOnlineMeeting(ucwaUserConfiguration.UcwaUrl, oauthCredential, userContext.UserCulture);

            base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.IsTaskCompleted, task.IsCompleted.ToString());
            if (task.IsFaulted)
            {
                task.Exception.Flatten().Handle(new Func <Exception, bool>(this.HandleCreateOnlineMeetingTaskException));
                return(OnlineMeetingType.CreateFailedOnlineMeetingType("An error occured while calling UCWA to create the meeting"));
            }
            if (task.Result == null)
            {
                this.LogAndTraceError("Result from call to UCWA is null");
                return(OnlineMeetingType.CreateFailedOnlineMeetingType("Unable to create the meeting"));
            }
            if (task.Result.OnlineMeeting.WebUrl == "")
            {
                return(OnlineMeetingType.CreateFailedOnlineMeetingType("Unable to create the meeting"));
            }
            this.UpdateOpticsLog(task.Result);
            OnlineMeetingType result = this.ProcessOnlineMeetingResult(userContext, task.Result);

            this.DiposeObjectsIfNeeded();
            return(result);
        }