Example #1
0
		// Token: 0x06000269 RID: 617 RVA: 0x0000C1E8 File Offset: 0x0000A3E8
		private static int GetBufferBoundary(BufferPoolCollection.BufferSize bufferSize)
		{
			int num = 1024;
			string text = bufferSize.ToString();
			char c = text[text.Length - 1];
			if (c == 'M')
			{
				num *= 1024;
			}
			else if (c != 'K')
			{
				throw new ArgumentException(string.Format("BufferSize format for BufferSize value {0} is not supported", bufferSize));
			}
			return Convert.ToInt32(text.Substring(4, text.Length - 5)) * num;
		}
Example #2
0
 // Token: 0x060003A3 RID: 931 RVA: 0x0001496C File Offset: 0x00012B6C
 public StreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, BufferPoolCollection.BufferSize maxBufferPoolSize, BufferPoolCollection.BufferSize minBufferPoolSize, IRequestContext requestContext) : this(streamProxyType, source, target, requestContext)
 {
     this.maxBufferPoolSize     = maxBufferPoolSize;
     this.minBufferPoolSize     = minBufferPoolSize;
     this.currentBufferPoolSize = minBufferPoolSize;
     this.currentBufferPool     = BufferPoolCollection.AutoCleanupCollection.Acquire(this.currentBufferPoolSize);
     this.buffer             = this.currentBufferPool.Acquire();
     this.previousBufferSize = this.buffer.Length;
 }
Example #3
0
 // Token: 0x0600037B RID: 891 RVA: 0x00013D18 File Offset: 0x00011F18
 internal RpcHttpOutDataResponseStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, BufferPoolCollection.BufferSize maxBufferSize, BufferPoolCollection.BufferSize minBufferSize, IRequestContext requestContext) : base(streamProxyType, source, target, maxBufferSize, minBufferSize, requestContext)
 {
     this.connectTimeout = RpcHttpOutDataResponseStreamProxy.RpcHttpOutConnectingTimeoutInSeconds.Value;
     this.isConnecting   = (this.connectTimeout != TimeSpan.Zero);
 }
Example #4
0
        public static bool GetOpaqueContent(Stream inputStream, Stream outputStream)
        {
            bool result = false;
            int  num    = 0;

            using (Asn1Reader asn1Reader = new Asn1Reader(inputStream))
            {
                while (asn1Reader.ReadNext() && asn1Reader.EncodingType == EncodingType.Sequence)
                {
                    if (!asn1Reader.ReadFirstChild() || asn1Reader.EncodingType != EncodingType.ObjectIdentifier)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected ContentType=EncodingType.ObjectIdentifier", ++num);
                    }
                    else if (asn1Reader.ReadValueAsOID() != OID.RSASignedData)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected RSA_signedData OID", ++num);
                    }
                    else if (!asn1Reader.ReadNextSibling() || asn1Reader.TagClass != TagClass.Context || asn1Reader.TagNumber != 0)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected content tag", ++num);
                    }
                    else if (!asn1Reader.ReadFirstChild() || asn1Reader.EncodingType != EncodingType.Sequence)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected EncodingType.Sequence", ++num);
                    }
                    else if (!asn1Reader.ReadFirstChild() || asn1Reader.EncodingType != EncodingType.Integer)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected version number", ++num);
                    }
                    else if (!asn1Reader.ReadNextSibling() || asn1Reader.EncodingType != EncodingType.Set)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected digest algorithm set", ++num);
                    }
                    else if (!asn1Reader.ReadNextSibling() || asn1Reader.EncodingType != EncodingType.Sequence)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected content tag", ++num);
                    }
                    else if (!asn1Reader.ReadFirstChild() || asn1Reader.EncodingType != EncodingType.ObjectIdentifier)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected ContentType = EncodingType.ObjectIdentifier for SignedData", ++num);
                    }
                    else if (asn1Reader.ReadValueAsOID() != OID.RSAData)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected RSA_Data OID", ++num);
                    }
                    else if (!asn1Reader.ReadNextSibling())
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find any content in S/MIME blob", ++num);
                    }
                    else if (asn1Reader.TagClass != TagClass.Context || asn1Reader.TagNumber != 0)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected tag class or value for S/MIME blob", ++num);
                    }
                    else if (!asn1Reader.ReadFirstChild() || asn1Reader.EncodingType != EncodingType.OctetString)
                    {
                        StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected EncodingType for S/MIME blob", ++num);
                    }
                    else
                    {
                        BufferPoolCollection.BufferSize bufferSize = BufferPoolCollection.BufferSize.Size20K;
                        BufferPool bufferPool = BufferPoolCollection.AutoCleanupCollection.Acquire(bufferSize);
                        byte[]     array      = null;
                        try
                        {
                            array = bufferPool.Acquire();
                            do
                            {
                                if (!asn1Reader.IsConstructedTag)
                                {
                                    for (;;)
                                    {
                                        int num2 = asn1Reader.ReadBytesValue(array, 0, array.Length);
                                        if (num2 == 0)
                                        {
                                            break;
                                        }
                                        outputStream.Write(array, 0, num2);
                                        result = true;
                                    }
                                }
                                asn1Reader.ReadNext();
                            }while (asn1Reader.EncodingType == EncodingType.OctetString);
                            continue;
                        }
                        finally
                        {
                            if (array != null)
                            {
                                bufferPool.Release(array);
                            }
                        }
                    }
                    return(result);
                }
                StorageGlobals.ContextTraceDebug <int>(ExTraceGlobals.CcInboundMimeTracer, "InboundMimeConverter.GetOpaqueContent ({0}): did not find expected ContentInfo=EncodingType.Sequence", ++num);
            }
            return(result);
        }