private static async void HandleConnection(Socket s) { s.NoDelay = true; Stream stream = new NetworkStream(s); if (s_traceStream) { stream = new TraceStream(stream); } if (s_useSsl) { try { var sslStream = new SslStream(stream); await sslStream.AuthenticateAsServerAsync(s_cert); stream = sslStream; } catch (IOException e) { if (s_trace) { Console.WriteLine($"Exception trying to establish SSL connection:\n{e}"); } } } var c = new Connection(stream); c.Run(); }
private static async void HandleConnection(Socket s, bool isSsl) { s.NoDelay = true; Stream stream = new NetworkStream(s); if (s_traceStream) { stream = new TraceStream(stream); } if (isSsl) { try { var sslStream = new SslStream(stream); await sslStream.AuthenticateAsServerAsync(s_cert, false, SslProtocols.Tls11 | SslProtocols.Tls12, false); stream = sslStream; } catch (Exception e) { if (s_trace) { Console.WriteLine($"Exception trying to establish SSL connection:\n{e}"); } return; } } var c = new Connection(stream); c.Run(); }
public void Dispose() { if (SdkTracingInterceptor != null) { ServiceClientTracing.RemoveTracingInterceptor(SdkTracingInterceptor); } if (TextListener != null) { if (Trace.Listeners.Contains(TextListener)) { Trace.Listeners.Remove(TextListener); } TextListener.Dispose(); } if (TraceStream != null) { TraceStream.Dispose(); } Trace.AutoFlush = PreviousAutoFlush; AdalTrace.TraceSource.Switch.Level = PreviousAdalSourceLevel; AdalTrace.LegacyTraceSwitch.Level = PreviousAdalTraceLevel; }
public void Dispose() { if (TraceStream != null) { TraceStream.Dispose(); } }
Stream IMediaStreaming.GetMediaStream(string media) { string mediaFile = String.Format("{0}\\{1}", System.Configuration.ConfigurationManager.AppSettings["mediaPath"], media); FileInfo fi = new FileInfo(mediaFile); if (!fi.Exists) { throw new FileNotFoundException("File does not exist: {0}. Check host configuration for 'mediaPath' setting.", media); } TraceStream traceStream = null; FileStream fs = null; try { fs = new FileStream(mediaFile, FileMode.Open, FileAccess.Read, FileShare.Read); traceStream = new TraceStream(fs); } catch { if (fs != null) { fs.Close(); } } return(traceStream); }
public void Dispose() { DisconnectAsync(); if (_trace != null) { _trace.Dispose(); _trace = null; } }
public void WriteLine(string message, TraceLevel lvl = TraceLevel.TRACE) { var timestamp = UseTimeStamp ? DateTime.Now.ToString("u") + " " : ""; var lvlStr = lvl == TraceLevel.NONE ? "" : $"[{lvl.ToString()}]:"; lock (TraceStream) { TraceStream.WriteLine($"{timestamp}{lvlStr}{message}"); } }
public void SetContent(FileInfoContract target, Stream content) { ExecuteInSemaphore(() => { target.Size = content.Length; var gatewayContent = content.EncryptOrPass(encryptionKey); #if DEBUG gatewayContent = new TraceStream(nameof(target), target.Name, gatewayContent); #endif gateway.SetContent(rootName, target.Id, gatewayContent, null); }, nameof(SetContent), true); }
/// <summary> /// Writes all remaining data to the underlying listener. /// </summary> public override void Flush() { base.Flush(); if (!TraceIsForced && m_booSaveToFile) { Int64 intPosition = TraceStream.Position; byte[] bteData = new byte[intPosition - m_intLastStreamPosition]; Array.Copy(TraceStream.GetBuffer(), m_intLastStreamPosition, bteData, 0, bteData.Length); File.AppendAllText(FilePath, TextUtil.ByteToString(bteData)); m_intLastStreamPosition = intPosition; } }
public Stream GetContent(FileInfoContract source) { return(ExecuteInSemaphore(() => { var gatewayContent = gateway.GetContentAsync(rootName, source.Id).Result.ToSeekableStream(); var content = gatewayContent.DecryptOrPass(encryptionKey); #if DEBUG CompositionInitializer.SatisfyImports(content = new TraceStream(nameof(GetContent), source.Name, content)); #endif return content; }, nameof(GetContent))); }
public void SetContent(FileInfoContract target, Stream content) { ExecuteInSemaphore(() => { target.Size = content.Length; var gatewayContent = content.EncryptOrPass(encryptionKey); #if DEBUG CompositionInitializer.SatisfyImports(gatewayContent = new TraceStream(nameof(SetContent), target.Name, gatewayContent)); #endif Func <FileSystemInfoLocator> locator = () => new FileSystemInfoLocator(target); gateway.SetContentAsync(rootName, target.Id, gatewayContent, null, locator).Wait(); }, nameof(SetContent), true); }
public Stream GetContent(FileInfoContract source) { return(ExecuteInSemaphore(() => { var gatewayContent = gateway.GetContent(rootName, source.Id).ToSeekableStream(); var content = gatewayContent.DecryptOrPass(encryptionKey); #if DEBUG content = new TraceStream(nameof(source), source.Name, content); #endif return content; }, nameof(GetContent))); }
/// <summary>使用跟踪流。实际上是重新包装一次Stream,必须在设置Stream后,使用之前</summary> public virtual void EnableTrace() { var stream = Stream; if (stream == null || stream is TraceStream) { return; } Stream = new TraceStream(stream) { Encoding = Encoding, IsLittleEndian = IsLittleEndian }; }
/// <summary>使用跟踪流。实际上是重新包装一次Stream,必须在设置Stream,使用之前</summary> public virtual void EnableTraceStream() { var stream = Stream; if (stream == null || stream is TraceStream) { return; } Stream = new TraceStream(stream) { Encoding = Settings.Encoding }; }
///// <summary>已重载。</summary> ///// <returns></returns> //public override string ToString() //{ // Byte[] buffer = ToArray(); // if (buffer == null || buffer.Length < 1) return base.ToString(); // return BitConverter.ToString(buffer); //} /// <summary>使用跟踪流</summary> public override void EnableTraceStream() { var stream = Stream; if (stream == null || stream is TraceStream) { return; } var ts = new TraceStream(stream); ts.IsLittleEndian = Settings.IsLittleEndian; Stream = ts; }
public void SetContent(FileInfoContract target, Stream content) { ExecuteInSemaphore(() => { var gatewayContent = content.EncryptOrPass(encryptionKey); target.Size = (FileSize)content.Length; #if DEBUG CompositionInitializer.SatisfyImports(gatewayContent = new TraceStream(nameof(target), target.Name, gatewayContent)); #endif gateway.SetContent(rootName, target.Id, gatewayContent, null); if (content != gatewayContent) { gatewayContent.Close(); } }, nameof(SetContent), true); }
public async Task Connect_Works_Async() { // Sample traffic from https://www.theiphonewiki.com/wiki/Usbmux ("lockdownd protocol") var muxer = new Mock <MuxerClient>(); var device = new MuxerDevice(); using (var traceStream = new TraceStream("Lockdown/connect-device.bin", "Lockdown/connect-host.bin")) { muxer .Setup(m => m.ConnectAsync(device, 0xF27E, default)) .ReturnsAsync(traceStream); var factory = new LockdownClientFactory(muxer.Object, new DeviceContext() { Device = device }, NullLogger <LockdownClient> .Instance); await using (await factory.CreateAsync(default))
public void SetContent(FileInfoContract target, Stream content) { ExecuteInSemaphore(() => { if (!string.IsNullOrEmpty(encryptionKey)) content = content.Encrypt(encryptionKey); #if DEBUG content = new TraceStream(nameof(SetContent), target.Name, content); #endif Func<FileSystemInfoLocator> locator = () => new FileSystemInfoLocator(target); var result = gateway.SetContentAsync(rootName, target.Id, content, null, locator).Result; target.Size = content.Length; }, nameof(SetContent), true); }
public Stream GetContent(FileInfoContract source) { return ExecuteInSemaphore(() => { var result = gateway.GetContentAsync(rootName, source.Id).Result; if (!result.CanSeek) { var bufferStream = new MemoryStream(); result.CopyTo(bufferStream, MAX_BULKDOWNLOAD_SIZE); bufferStream.Seek(0, SeekOrigin.Begin); result.Dispose(); result = bufferStream; } if (!string.IsNullOrEmpty(encryptionKey)) result = result.Decrypt(encryptionKey); #if DEBUG result = new TraceStream(nameof(GetContent), source.Name, result); #endif return result; }, nameof(GetContent)); }
public void SetContent(FileInfoContract target, Stream content) { ExecuteInSemaphore(() => { if (!string.IsNullOrEmpty(encryptionKey)) content = content.Encrypt(encryptionKey); #if DEBUG content = new TraceStream(nameof(target), target.Name, content); #endif gateway.SetContent(rootName, target.Id, content, null); target.Size = content.Length; }, nameof(SetContent), true); }