// Token: 0x06000193 RID: 403 RVA: 0x000083D0 File Offset: 0x000065D0 protected override AnchorMailboxCacheEntry LoadCacheEntryFromIncomingCookie() { BackEndDatabaseCookieEntry backEndDatabaseCookieEntry = base.IncomingCookieEntry as BackEndDatabaseCookieEntry; if (backEndDatabaseCookieEntry != null) { if (ExTraceGlobals.VerboseTracer.IsTraceEnabled(1)) { ExTraceGlobals.VerboseTracer.TraceDebug <UserBasedAnchorMailbox, BackEndDatabaseCookieEntry>((long)this.GetHashCode(), "[UserBasedAnchorMailbox::LoadCacheEntryFromIncomingCookie]: Anchor mailbox {0} using cookie entry {1} as cache entry.", this, backEndDatabaseCookieEntry); } BackEndDatabaseResourceForestCookieEntry backEndDatabaseResourceForestCookieEntry = base.IncomingCookieEntry as BackEndDatabaseResourceForestCookieEntry; BackEndDatabaseOrganizationAwareCookieEntry backEndDatabaseOrganizationAwareCookieEntry = base.IncomingCookieEntry as BackEndDatabaseOrganizationAwareCookieEntry; return(new AnchorMailboxCacheEntry { Database = new ADObjectId(backEndDatabaseCookieEntry.Database, (backEndDatabaseResourceForestCookieEntry == null) ? null : backEndDatabaseResourceForestCookieEntry.ResourceForest), DomainName = backEndDatabaseCookieEntry.Domain, IsOrganizationMailboxDatabase = (backEndDatabaseOrganizationAwareCookieEntry != null && backEndDatabaseOrganizationAwareCookieEntry.IsOrganizationMailboxDatabase) }); } if (ExTraceGlobals.VerboseTracer.IsTraceEnabled(1)) { ExTraceGlobals.VerboseTracer.TraceDebug <UserBasedAnchorMailbox>((long)this.GetHashCode(), "[UserBasedAnchorMailbox::LoadCacheEntryFromCookie]: Anchor mailbox {0} had no BackEndDatabaseCookie.", this); } return(null); }
protected override AnchorMailboxCacheEntry LoadCacheEntryFromIncomingCookie() { BackEndDatabaseCookieEntry backEndDatabaseCookieEntry = base.IncomingCookieEntry as BackEndDatabaseCookieEntry; if (backEndDatabaseCookieEntry != null) { ExTraceGlobals.VerboseTracer.TraceDebug <DatabaseNameAnchorMailbox, BackEndDatabaseCookieEntry>((long)this.GetHashCode(), "[DatabaseNameAnchorMailbox::LoadCacheEntryFromCookie]: Anchor mailbox {0} using cookie entry {1} as cache entry.", this, backEndDatabaseCookieEntry); BackEndDatabaseResourceForestCookieEntry backEndDatabaseResourceForestCookieEntry = base.IncomingCookieEntry as BackEndDatabaseResourceForestCookieEntry; return(new AnchorMailboxCacheEntry { Database = new ADObjectId(backEndDatabaseCookieEntry.Database, (backEndDatabaseResourceForestCookieEntry == null) ? null : backEndDatabaseResourceForestCookieEntry.ResourceForest) }); } ExTraceGlobals.VerboseTracer.TraceDebug <DatabaseNameAnchorMailbox>((long)this.GetHashCode(), "[DatabaseNameAnchorMailbox::LoadCacheEntryFromCookie]: Anchor mailbox {0} had no BackEndDatabaseCookie.", this); return(null); }
// Token: 0x06000282 RID: 642 RVA: 0x0000CE20 File Offset: 0x0000B020 public static bool TryParse(string entryValue, out BackEndCookieEntryBase cookieEntry, out string clearCookie) { cookieEntry = null; clearCookie = null; if (string.IsNullOrEmpty(entryValue)) { return(false); } bool result; try { string text = BackEndCookieEntryParser.UnObscurify(entryValue); clearCookie = text; string[] array = StringExtensions.SplitFast(text, '~', int.MaxValue, StringSplitOptions.None); if (array.Length < 4) { result = false; } else { BackEndCookieEntryType backEndCookieEntryType; if (!BackEndCookieEntryBase.TryGetBackEndCookieEntryTypeFromString(array[0], out backEndCookieEntryType)) { backEndCookieEntryType = (BackEndCookieEntryType)Enum.Parse(typeof(BackEndCookieEntryType), array[0], true); } ExDateTime expiryTime; if (!BackEndCookieEntryParser.TryParseDateTime(array[3], out expiryTime)) { result = false; } else if (backEndCookieEntryType != BackEndCookieEntryType.Server) { if (backEndCookieEntryType == BackEndCookieEntryType.Database) { Guid database = new Guid(array[1]); string text2 = string.IsNullOrEmpty(array[2]) ? null : array[2]; string resourceForest = (array.Length < 5 || string.IsNullOrEmpty(array[4])) ? null : array[4]; if (array.Length >= 6) { bool isOrganizationMailboxDatabase = string.Equals(array[5], 1.ToString(), StringComparison.OrdinalIgnoreCase); cookieEntry = new BackEndDatabaseOrganizationAwareCookieEntry(database, text2, resourceForest, expiryTime, isOrganizationMailboxDatabase); } else if (array.Length == 5) { cookieEntry = new BackEndDatabaseResourceForestCookieEntry(database, text2, resourceForest, expiryTime); } else { cookieEntry = new BackEndDatabaseCookieEntry(database, text2, expiryTime); } result = true; } else { result = false; } } else { cookieEntry = new BackEndServerCookieEntry(array[1], int.Parse(array[2]), expiryTime); result = true; } } } catch (ArgumentException) { result = false; } catch (FormatException) { result = false; } return(result); }
public static bool TryParse(string entryValue, out BackEndCookieEntryBase cookieEntry, out string clearCookie) { cookieEntry = null; clearCookie = null; if (string.IsNullOrEmpty(entryValue)) { return(false); } bool result; try { string text = BackEndCookieEntryParser.UnObscurify(entryValue); clearCookie = text; string[] array = text.Split(BackEndCookieEntryParser.CookieSeparators); if (array.Length < 4) { result = false; } else { BackEndCookieEntryType backEndCookieEntryType; if (!BackEndCookieEntryBase.TryGetBackEndCookieEntryTypeFromString(array[0], out backEndCookieEntryType)) { backEndCookieEntryType = (BackEndCookieEntryType)Enum.Parse(typeof(BackEndCookieEntryType), array[0], true); } ExDateTime expiryTime; if (!BackEndCookieEntryParser.TryParseDateTime(array[3], out expiryTime)) { result = false; } else { switch (backEndCookieEntryType) { case BackEndCookieEntryType.Server: cookieEntry = new BackEndServerCookieEntry(array[1], int.Parse(array[2]), expiryTime); result = true; break; case BackEndCookieEntryType.Database: { Guid database = new Guid(array[1]); string text2 = string.IsNullOrEmpty(array[2]) ? null : array[2]; if (array.Length == 5) { string resourceForest = string.IsNullOrEmpty(array[4]) ? null : array[4]; cookieEntry = new BackEndDatabaseResourceForestCookieEntry(database, text2, resourceForest, expiryTime); } else { cookieEntry = new BackEndDatabaseCookieEntry(database, text2, expiryTime); } result = true; break; } default: result = false; break; } } } } catch (ArgumentException) { result = false; } catch (FormatException) { result = false; } return(result); }