private static string ClientRunProcessCommand(string server, Guid processGuid, string componentName, string componentArgument, bool componentRestrictedData, bool componentUnlimited, string userIdentity) { MdbefPropertyCollection mdbefPropertyCollection = new MdbefPropertyCollection(); if (!string.IsNullOrEmpty(componentName)) { mdbefPropertyCollection.Add(2466250783U, componentName); } if (!string.IsNullOrEmpty(componentArgument)) { mdbefPropertyCollection.Add(2466316319U, componentArgument); } mdbefPropertyCollection.Add(2466381835U, componentRestrictedData); mdbefPropertyCollection.Add(2466512907U, componentUnlimited); if (!string.IsNullOrEmpty(userIdentity)) { mdbefPropertyCollection.Add(2466447391U, userIdentity); } byte[] bytes = mdbefPropertyCollection.GetBytes(); byte[] array; using (ProcessAccessRpcClient processAccessRpcClient = new ProcessAccessRpcClient(server, processGuid)) { array = processAccessRpcClient.RunProcessCommand(bytes); } MdbefPropertyCollection mdbefPropertyCollection2 = MdbefPropertyCollection.Create(array, 0, array.Length); object obj = null; mdbefPropertyCollection2.TryGetValue(2471559199U, out obj); return(obj as string); }
// Token: 0x06000022 RID: 34 RVA: 0x000025C4 File Offset: 0x000007C4 public override byte[] ObtainTokens(byte[] request) { byte[] result; try { RequestedAction requestedAction = RequestedAction.Invalid; Guid mailboxGuid = Guid.Empty; int requestedTokenCount = 0; int totalTokenCount = 0; string clientHostName = null; string clientProcessName = null; string clientType = null; MdbefPropertyCollection mdbefPropertyCollection = MdbefPropertyCollection.Create(request, 0, request.Length); object obj; if (mdbefPropertyCollection.TryGetValue(2415984712U, out obj) && obj is Guid) { mailboxGuid = (Guid)obj; } if (mdbefPropertyCollection.TryGetValue(2416050179U, out obj) && obj is int) { requestedAction = (RequestedAction)((int)obj); } if (mdbefPropertyCollection.TryGetValue(2416115715U, out obj) && obj is int) { requestedTokenCount = (int)obj; } if (mdbefPropertyCollection.TryGetValue(2416181251U, out obj) && obj is int) { totalTokenCount = (int)obj; } if (mdbefPropertyCollection.TryGetValue(2416312351U, out obj) && obj != null && obj is string) { clientHostName = (string)obj; } if (mdbefPropertyCollection.TryGetValue(2416377887U, out obj) && obj != null && obj is string) { clientProcessName = (string)obj; } if (mdbefPropertyCollection.TryGetValue(2416246815U, out obj) && obj != null && obj is string) { clientType = (string)obj; } bool flag = this.ObtainTokens(mailboxGuid, requestedAction, requestedTokenCount, totalTokenCount, clientHostName, clientProcessName, clientType); byte[] bytes = new MdbefPropertyCollection { { 2566914059U, flag } }.GetBytes(); result = bytes; } catch (Exception exception) { ExWatson.SendReportAndCrashOnAnotherThread(exception); result = null; } return(result); }
private static void UnpackResponse(byte[] responseByteArray, out bool allowed) { MdbefPropertyCollection mdbefPropertyCollection = MdbefPropertyCollection.Create(responseByteArray, 0, responseByteArray.Length); allowed = true; object obj; if (mdbefPropertyCollection.TryGetValue(2566914059U, out obj) && obj is bool) { allowed = (bool)obj; } }
internal static bool TryTestUserCache(string databaseServer, string primarySmtpAddress, SubscriptionCacheAction cacheAction, out string failureReason, out uint cacheActionResult, out List <SubscriptionCacheObject> cacheObjects, out ObjectState objectState) { SyncUtilities.ThrowIfArgumentNullOrEmpty("databaseServer", databaseServer); SyncUtilities.ThrowIfArgumentNullOrEmpty("primarySmtpAddress", primarySmtpAddress); failureReason = null; cacheActionResult = 268435456U; cacheObjects = null; objectState = ObjectState.Unchanged; byte[] testUserCacheInputBytes = SubscriptionCacheClient.GetTestUserCacheInputBytes(primarySmtpAddress, cacheAction); byte[] array = null; using (SubscriptionCacheRpcClient subscriptionCacheRpcClient = new SubscriptionCacheRpcClient(databaseServer)) { try { array = subscriptionCacheRpcClient.TestUserCache(0, testUserCacheInputBytes); } catch (RpcException exception) { failureReason = Strings.CacheRpcExceptionEncountered(exception); return(false); } } MdbefPropertyCollection args = MdbefPropertyCollection.Create(array, 0, array.Length); int num; if (!RpcHelper.TryGetProperty <int>(args, 2835349507U, out num)) { failureReason = Strings.CacheRpcInvalidServerVersionIssue(databaseServer); return(false); } cacheActionResult = (uint)num; RpcHelper.TryGetProperty <string>(args, 2835415071U, out failureReason); byte[] buffer; if (RpcHelper.TryGetProperty <byte[]>(args, 2835480834U, out buffer)) { using (MemoryStream memoryStream = new MemoryStream(buffer)) { cacheObjects = (List <SubscriptionCacheObject>)SubscriptionCacheClient.binaryFormatter.Deserialize(memoryStream); } } if (RpcHelper.TryGetProperty <int>(args, 2835546115U, out num)) { objectState = (ObjectState)num; } return(true); }
public override byte[] RunProcessCommand(byte[] inBlob) { string componentName = null; string argument = null; bool allowRestrictedData = false; bool unlimited = false; string userIdentity = null; string text = null; MdbefPropertyCollection mdbefPropertyCollection = MdbefPropertyCollection.Create(inBlob, 0, inBlob.Length); object obj; if (mdbefPropertyCollection.TryGetValue(2466316319U, out obj) && obj is string) { argument = (string)obj; } if (mdbefPropertyCollection.TryGetValue(2466250783U, out obj) && obj is string) { componentName = (string)obj; } if (mdbefPropertyCollection.TryGetValue(2466381835U, out obj) && obj is bool) { allowRestrictedData = (bool)obj; } if (mdbefPropertyCollection.TryGetValue(2466512907U, out obj) && obj is bool) { unlimited = (bool)obj; } if (mdbefPropertyCollection.TryGetValue(2466447391U, out obj) && obj is string) { userIdentity = (string)obj; } try { DiagnosableParameters componentParameters = DiagnosableParameters.Create(argument, allowRestrictedData, unlimited, userIdentity); text = ProcessAccessManager.RunComponentCommand(componentName, componentParameters); } catch (XmlException ex) { StringBuilder stringBuilder = new StringBuilder(100 * ex.Data.Count); foreach (object obj2 in ex.Data) { KeyValuePair <object, object> keyValuePair = (KeyValuePair <object, object>)obj2; stringBuilder.AppendFormat(CultureInfo.InvariantCulture, "{0}:{1}{2}", new object[] { keyValuePair.Key, keyValuePair.Value, Environment.NewLine }); } text = string.Format(CultureInfo.InvariantCulture, "Message={0}{1}Data={2}{1}Stack={3}", new object[] { ex.Message, Environment.NewLine, stringBuilder, ex.StackTrace }); } catch (Exception ex2) { text = ex2.ToString(); } MdbefPropertyCollection mdbefPropertyCollection2 = new MdbefPropertyCollection(); if (text != null) { mdbefPropertyCollection2.Add(2471559199U, text); } return(mdbefPropertyCollection2.GetBytes()); }