protected override AnchorMailbox ResolveAnchorMailbox() { AnonymousPublishingUrl anonymousPublishingUrl = new AnonymousPublishingUrl(base.ClientRequest.Url); if (anonymousPublishingUrl.ParameterSegments.Length > 0) { string text = anonymousPublishingUrl.ParameterSegments[0]; Match match = RegexUtilities.TryMatch(Constants.GuidAtDomainRegex, text, base.Logger); if (match != null && match.Success) { Guid mailboxGuid = new Guid(match.Result("${mailboxguid}")); string text2 = match.Result("${domain}"); string value = string.Format("AnonymousPublishingUrl-MailboxGuid{0}", string.IsNullOrEmpty(text2) ? string.Empty : "WithDomainAndSmtpFallback"); base.Logger.Set(HttpProxyMetadata.RoutingHint, value); MailboxGuidAnchorMailbox mailboxGuidAnchorMailbox = new MailboxGuidAnchorMailbox(mailboxGuid, text2, this); if (!string.IsNullOrEmpty(text2)) { mailboxGuidAnchorMailbox.FallbackSmtp = text; } return(mailboxGuidAnchorMailbox); } match = RegexUtilities.TryMatch(Constants.AddressRegex, text, base.Logger); if (match != null && match.Success) { string text3 = match.Result("${address}"); if (!string.IsNullOrEmpty(text3) && SmtpAddress.IsValidSmtpAddress(text3)) { base.Logger.Set(HttpProxyMetadata.RoutingHint, "AnonymousPublishingUrl-SMTP"); return(new SmtpAnchorMailbox(text3, this)); } } } return(base.ResolveAnchorMailbox()); }
// Token: 0x0600049D RID: 1181 RVA: 0x000197C4 File Offset: 0x000179C4 private bool TryMatchBySmtpAddress(AnonymousPublishingUrl publishingUrl, out AnchorMailbox anchorMailbox) { anchorMailbox = null; string text = publishingUrl.ParameterSegments[0]; if (!string.IsNullOrEmpty(text) && SmtpAddress.IsValidSmtpAddress(text)) { base.Logger.Set(3, "AnonymousPublishingUrl-SMTP"); anchorMailbox = new SmtpAnchorMailbox(text, this); } return(anchorMailbox != null); }
// Token: 0x0600049C RID: 1180 RVA: 0x0001973C File Offset: 0x0001793C private bool TryMatchByGuidAtDomain(AnonymousPublishingUrl publishingUrl, out AnchorMailbox anchorMailbox) { anchorMailbox = null; string text = publishingUrl.ParameterSegments[0]; Guid empty = Guid.Empty; string empty2 = string.Empty; if (RequestHeaderParser.TryGetMailboxGuid(text, ref empty, ref empty2)) { string text2 = string.Format("AnonymousPublishingUrl-MailboxGuid{0}", string.IsNullOrEmpty(empty2) ? string.Empty : "WithDomainAndSmtpFallback"); base.Logger.Set(3, text2); MailboxGuidAnchorMailbox mailboxGuidAnchorMailbox = new MailboxGuidAnchorMailbox(empty, empty2, this); if (!string.IsNullOrEmpty(empty2)) { mailboxGuidAnchorMailbox.FallbackSmtp = text; } anchorMailbox = mailboxGuidAnchorMailbox; } return(anchorMailbox != null); }
// Token: 0x0600049A RID: 1178 RVA: 0x0001969C File Offset: 0x0001789C protected override AnchorMailbox ResolveAnchorMailbox() { AnonymousPublishingUrl anonymousPublishingUrl = new AnonymousPublishingUrl(base.ClientRequest.Url); if (anonymousPublishingUrl.ParameterSegments.Length != 0) { AnchorMailbox result; if (anonymousPublishingUrl.ParameterSegments.Length > 2 && this.TryMatchByCid(anonymousPublishingUrl.Url.LocalPath.ToString(), out result)) { return(result); } if (this.TryMatchByGuidAtDomain(anonymousPublishingUrl, out result)) { return(result); } if (this.TryMatchBySmtpAddress(anonymousPublishingUrl, out result)) { return(result); } } return(base.ResolveAnchorMailbox()); }
// Token: 0x06000498 RID: 1176 RVA: 0x00019679 File Offset: 0x00017879 internal static bool IsAnonymousCalendarRequest(HttpRequest request) { return(AnonymousPublishingUrl.IsValidAnonymousPublishingUrl(request.Url)); }