public RfcExtendedResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { // decode optional tagged elements if (size() > 3) { for (int i = 3; i < size(); i++) { Asn1Tagged obj = (Asn1Tagged) get_Renamed(i); Asn1Identifier id = obj.getIdentifier(); switch (id.Tag) { case RfcLdapResult.REFERRAL: sbyte[] content = ((Asn1OctetString) obj.taggedValue()).byteValue(); System.IO.MemoryStream bais = new System.IO.MemoryStream(SupportClass.ToByteArray(content)); set_Renamed(i, new RfcReferral(dec, bais, content.Length)); referralIndex = i; break; case RESPONSE_NAME: set_Renamed(i, new RfcLdapOID(((Asn1OctetString) obj.taggedValue()).byteValue())); responseNameIndex = i; break; case RESPONSE: set_Renamed(i, obj.taggedValue()); responseIndex = i; break; } } } }
public RfcExtendedResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { // decode optional tagged elements if (size() > 3) { for (int i = 3; i < size(); i++) { Asn1Tagged obj = (Asn1Tagged)get_Renamed(i); Asn1Identifier id = obj.getIdentifier(); switch (id.Tag) { case RfcLdapResult.REFERRAL: sbyte[] content = ((Asn1OctetString)obj.taggedValue()).byteValue(); System.IO.MemoryStream bais = new System.IO.MemoryStream(SupportClass.ToByteArray(content)); set_Renamed(i, new RfcReferral(dec, bais, content.Length)); referralIndex = i; break; case RESPONSE_NAME: set_Renamed(i, new RfcLdapOID(((Asn1OctetString)obj.taggedValue()).byteValue())); responseNameIndex = i; break; case RESPONSE: set_Renamed(i, obj.taggedValue()); responseIndex = i; break; } } } }
public Asn1Tagged(Asn1Decoder dec, Stream in_Renamed, int len, Asn1Identifier identifier) : base(identifier) { // If we are decoding an implicit tag, there is no way to know at this // low level what the base type really is. We can place the content // into an Asn1OctetString type and pass it back to the application who // will be able to create the appropriate ASN.1 type for this tag. content = new Asn1OctetString(dec, in_Renamed, len); }
public RfcControls(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { // Convert each SEQUENCE element to a Control for (int i = 0; i < size(); i++) { RfcControl tempControl = new RfcControl((Asn1Sequence)get_Renamed(i)); set_Renamed(i, tempControl); } }
public RfcSearchResultEntry(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) { // Decode objectName // set(0, new RfcLdapDN(((Asn1OctetString)get(0)).stringValue())); // Create PartitalAttributeList. This does not need to be decoded, only // typecast. // set(1, new PartitalAttributeList()); }
public RfcControls(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { // Convert each SEQUENCE element to a Control for (int i = 0; i < size(); i++) { RfcControl tempControl = new RfcControl((Asn1Sequence) get_Renamed(i)); set_Renamed(i, tempControl); } }
protected internal void decodeStructured(Asn1Decoder dec, Stream in_Renamed, int len) { var componentLen = new int[1]; // collects length of component while (len > 0) { add(dec.decode(in_Renamed, componentLen)); len -= componentLen[0]; } }
public RfcSearchResultEntry(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { // Decode objectName // set(0, new RfcLdapDN(((Asn1OctetString)get(0)).stringValue())); // Create PartitalAttributeList. This does not need to be decoded, only // typecast. // set(1, new PartitalAttributeList()); return ; }
public RfcBindResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { // Decode optional referral from Asn1OctetString to Referral. if (size() > 3) { Asn1Tagged obj = (Asn1Tagged)get_Renamed(3); Asn1Identifier id = obj.getIdentifier(); if (id.Tag == RfcLdapResult.REFERRAL) { sbyte[] content = ((Asn1OctetString)obj.taggedValue()).byteValue(); System.IO.MemoryStream bais = new System.IO.MemoryStream(SupportClass.ToByteArray(content)); set_Renamed(3, new RfcReferral(dec, bais, content.Length)); } } }
public RfcBindResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { // Decode optional referral from Asn1OctetString to Referral. if (size() > 3) { Asn1Tagged obj = (Asn1Tagged) get_Renamed(3); Asn1Identifier id = obj.getIdentifier(); if (id.Tag == RfcLdapResult.REFERRAL) { sbyte[] content = ((Asn1OctetString) obj.taggedValue()).byteValue(); System.IO.MemoryStream bais = new System.IO.MemoryStream(SupportClass.ToByteArray(content)); set_Renamed(3, new RfcReferral(dec, bais, content.Length)); } } }
public RfcIntermediateResponse(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) // throws IOException { // super(dec, in, len); int i = 0; m_responseNameIndex = m_responseValueIndex = 0; // decode optional tagged elements. The parent class constructor will // have decoded these elements as ASN1Tagged objects with the value // stored as an ASN1OctectString object. if (size() >= 3) //the incorrectly encoded case, LDAPResult contains { i = 3; //at least 3 components } else { i = 0; //correctly encoded case, can have zero components } for (; i < size(); i++) { Asn1Tagged obj = (Asn1Tagged)get_Renamed(i); Asn1Identifier id = obj.getIdentifier(); switch (id.Tag) { case TAG_RESPONSE_NAME: set_Renamed(i, new RfcLdapOID( ((Asn1OctetString)obj.taggedValue()).byteValue())); m_responseNameIndex = i; break; case TAG_RESPONSE: set_Renamed(i, obj.taggedValue()); m_responseValueIndex = i; break; } } }
public RfcSearchResultDone(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public Asn1Enumerated(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(ID, (Int64)dec.decodeNumeric(in_Renamed, len)) { return; }
public Asn1Enumerated(Asn1Decoder dec, Stream in_Renamed, int len) : base(ID, (long)dec.decodeNumeric(in_Renamed, len)) { }
public Asn1Boolean(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(ID) { content = ((Boolean)dec.decodeBoolean(in_Renamed, len)); return; }
public Asn1Tagged(Asn1Decoder dec, System.IO.Stream in_Renamed, int len, Asn1Identifier identifier):base(identifier) { // If we are decoding an implicit tag, there is no way to know at this // low level what the base type really is. We can place the content // into an Asn1OctetString type and pass it back to the application who // will be able to create the appropriate ASN.1 type for this tag. content = new Asn1OctetString(dec, in_Renamed, len); return ; }
public Asn1Integer(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(ID, (System.Int64) dec.decodeNumeric(in_Renamed, len)) { return ; }
public Asn1OctetString(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(ID) { content = (len > 0)?(sbyte[]) dec.decodeOctetString(in_Renamed, len):new sbyte[0]; return ; }
public RfcCompareResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public Asn1Sequence(Asn1Decoder dec, Stream in_Renamed, int len) : base(ID) { decodeStructured(dec, in_Renamed, len); }
public RfcLdapString(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { }
public Asn1Boolean(Asn1Decoder dec, Stream in_Renamed, int len) : base(ID) { content = (bool)dec.decodeBoolean(in_Renamed, len); }
protected internal void decodeStructured(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) { int[] componentLen = new int[1]; // collects length of component while (len > 0) { add(dec.decode(in_Renamed, componentLen)); len -= componentLen[0]; } return ; }
public RfcReferral(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { //convert from Asn1OctetString to RfcLdapURL here (then look at // LdapResponse.getReferrals()) }
public RfcLdapMessage(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { sbyte[] content; System.IO.MemoryStream bais; // Decode implicitly tagged protocol operation from an Asn1Tagged type // to its appropriate application type. Asn1Tagged protocolOp = (Asn1Tagged) get_Renamed(1); Asn1Identifier protocolOpId = protocolOp.getIdentifier(); content = ((Asn1OctetString) protocolOp.taggedValue()).byteValue(); bais = new System.IO.MemoryStream(SupportClass.ToByteArray(content)); switch (protocolOpId.Tag) { case LdapMessage.SEARCH_RESPONSE: set_Renamed(1, new RfcSearchResultEntry(dec, bais, content.Length)); break; case LdapMessage.SEARCH_RESULT: set_Renamed(1, new RfcSearchResultDone(dec, bais, content.Length)); break; case LdapMessage.SEARCH_RESULT_REFERENCE: set_Renamed(1, new RfcSearchResultReference(dec, bais, content.Length)); break; case LdapMessage.ADD_RESPONSE: set_Renamed(1, new RfcAddResponse(dec, bais, content.Length)); break; case LdapMessage.BIND_RESPONSE: set_Renamed(1, new RfcBindResponse(dec, bais, content.Length)); break; case LdapMessage.COMPARE_RESPONSE: set_Renamed(1, new RfcCompareResponse(dec, bais, content.Length)); break; case LdapMessage.DEL_RESPONSE: set_Renamed(1, new RfcDelResponse(dec, bais, content.Length)); break; case LdapMessage.EXTENDED_RESPONSE: set_Renamed(1, new RfcExtendedResponse(dec, bais, content.Length)); break; case LdapMessage.INTERMEDIATE_RESPONSE: set_Renamed(1, new RfcIntermediateResponse(dec, bais, content.Length)); break; case LdapMessage.MODIFY_RESPONSE: set_Renamed(1, new RfcModifyResponse(dec, bais, content.Length)); break; case LdapMessage.MODIFY_RDN_RESPONSE: set_Renamed(1, new RfcModifyDNResponse(dec, bais, content.Length)); break; default: throw new System.SystemException("RfcLdapMessage: Invalid tag: " + protocolOpId.Tag); } // decode optional implicitly tagged controls from Asn1Tagged type to // to RFC 2251 types. if (size() > 2) { Asn1Tagged controls = (Asn1Tagged) get_Renamed(2); // Asn1Identifier controlsId = protocolOp.getIdentifier(); // we could check to make sure we have controls here.... content = ((Asn1OctetString) controls.taggedValue()).byteValue(); bais = new System.IO.MemoryStream(SupportClass.ToByteArray(content)); set_Renamed(2, new RfcControls(dec, bais, content.Length)); } return ; }
public RfcAttributeDescription(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { }
public RfcControl(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { }
public Asn1Sequence(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(ID) { decodeStructured(dec, in_Renamed, len); return ; }
public RfcModifyDNResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { }
public RfcAttributeDescription(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public RfcSearchResultDone(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { return ; }
public RfcSearchResultReference(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { return; }
public Asn1OctetString(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(ID) { content = (len > 0)?(sbyte[])dec.decodeOctetString(in_Renamed, len):new sbyte[0]; return; }
public RfcModifyResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public Asn1Boolean(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(ID) { content = ((System.Boolean) dec.decodeBoolean(in_Renamed, len)); return ; }
public Asn1Set(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(ID) { decodeStructured(dec, in_Renamed, len); return; }
public Asn1OctetString(Asn1Decoder dec, Stream in_Renamed, int len) : base(ID) { content = len > 0 ? (sbyte[])dec.decodeOctetString(in_Renamed, len) : new sbyte[0]; }
public RfcLdapString(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public RfcAddResponse(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public RfcControl(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) { }
public RfcLdapMessage(Asn1Decoder dec, Stream in_Renamed, int len) : base(dec, in_Renamed, len) { sbyte[] content; MemoryStream bais; // Decode implicitly tagged protocol operation from an Asn1Tagged type // to its appropriate application type. Asn1Tagged protocolOp = (Asn1Tagged)get_Renamed(1); Asn1Identifier protocolOpId = protocolOp.getIdentifier(); content = ((Asn1OctetString)protocolOp.taggedValue()).byteValue(); bais = new MemoryStream(SupportClass.ToByteArray(content)); switch (protocolOpId.Tag) { case LdapMessage.SEARCH_RESPONSE: set_Renamed(1, new RfcSearchResultEntry(dec, bais, content.Length)); break; case LdapMessage.SEARCH_RESULT: set_Renamed(1, new RfcSearchResultDone(dec, bais, content.Length)); break; case LdapMessage.SEARCH_RESULT_REFERENCE: set_Renamed(1, new RfcSearchResultReference(dec, bais, content.Length)); break; case LdapMessage.ADD_RESPONSE: set_Renamed(1, new RfcAddResponse(dec, bais, content.Length)); break; case LdapMessage.BIND_RESPONSE: set_Renamed(1, new RfcBindResponse(dec, bais, content.Length)); break; case LdapMessage.COMPARE_RESPONSE: set_Renamed(1, new RfcCompareResponse(dec, bais, content.Length)); break; case LdapMessage.DEL_RESPONSE: set_Renamed(1, new RfcDelResponse(dec, bais, content.Length)); break; case LdapMessage.EXTENDED_RESPONSE: set_Renamed(1, new RfcExtendedResponse(dec, bais, content.Length)); break; case LdapMessage.INTERMEDIATE_RESPONSE: set_Renamed(1, new RfcIntermediateResponse(dec, bais, content.Length)); break; case LdapMessage.MODIFY_RESPONSE: set_Renamed(1, new RfcModifyResponse(dec, bais, content.Length)); break; case LdapMessage.MODIFY_RDN_RESPONSE: set_Renamed(1, new RfcModifyDNResponse(dec, bais, content.Length)); break; default: throw new Exception("RfcLdapMessage: Invalid tag: " + protocolOpId.Tag); } // decode optional implicitly tagged controls from Asn1Tagged type to // to RFC 2251 types. if (size() > 2) { Asn1Tagged controls = (Asn1Tagged)get_Renamed(2); // Asn1Identifier controlsId = protocolOp.getIdentifier(); // we could check to make sure we have controls here.... content = ((Asn1OctetString)controls.taggedValue()).byteValue(); bais = new MemoryStream(SupportClass.ToByteArray(content)); set_Renamed(2, new RfcControls(dec, bais, content.Length)); } }
public RfcReferral(Asn1Decoder dec, System.IO.Stream in_Renamed, int len):base(dec, in_Renamed, len) { //convert from Asn1OctetString to RfcLdapURL here (then look at // LdapResponse.getReferrals()) }
public RfcIntermediateResponse(Asn1Decoder dec, System.IO.Stream in_Renamed, int len) : base(dec, in_Renamed, len) // throws IOException { // super(dec, in, len); int i=0; m_responseNameIndex = m_responseValueIndex = 0; // decode optional tagged elements. The parent class constructor will // have decoded these elements as ASN1Tagged objects with the value // stored as an ASN1OctectString object. if(size() >= 3) //the incorrectly encoded case, LDAPResult contains i = 3; //at least 3 components else i = 0; //correctly encoded case, can have zero components for(; i<size(); i++) { Asn1Tagged obj = (Asn1Tagged)get_Renamed(i); Asn1Identifier id = obj.getIdentifier(); switch(id.Tag) { case TAG_RESPONSE_NAME: set_Renamed(i, new RfcLdapOID( ((Asn1OctetString)obj.taggedValue()).byteValue())); m_responseNameIndex = i; break; case TAG_RESPONSE: set_Renamed(i, obj.taggedValue()); m_responseValueIndex = i; break; } } }