Example #1
0
        protected VariableParam readErrorParam()
        {
            int type = _body.GetUShort();
            int len  = _body.GetUShort();
            int blen = len - 4;
            //byte[] data;
            KnownError var = null;

            switch (type)
            {
            case 1:
                var = new KnownError(1, "InvalidStreamIdentifier");
                break;    //[RFC4960]

            case 2:
                var = new KnownError(2, "MissingMandatoryParameter");
                break;    //[RFC4960]

            case 3:
                var = new StaleCookieError();
                break;    //[RFC4960]

            case 4:
                var = new KnownError(4, "OutofResource");
                break;    //[RFC4960]

            case 5:
                var = new KnownError(5, "UnresolvableAddress");
                break;    //[RFC4960]

            case 6:
                var = new KnownError(6, "UnrecognizedChunkType");
                break;    //[RFC4960]

            case 7:
                var = new KnownError(7, "InvalidMandatoryParameter");
                break;    //[RFC4960]

            case 8:
                var = new KnownError(8, "UnrecognizedParameters");
                break;    //[RFC4960]

            case 9:
                var = new KnownError(9, "NoUserData");
                break;    //[RFC4960]

            case 10:
                var = new KnownError(10, "CookieReceivedWhileShuttingDown");
                break;    //[RFC4960]

            case 11:
                var = new KnownError(11, "RestartofanAssociationwithNewAddresses");
                break;    //[RFC4960]

            case 12:
                var = new KnownError(12, "UserInitiatedAbort");
                break;    //[RFC4460]

            case 13:
                var = new ProtocolViolationError(13, "ProtocolViolation");
                break;    //[RFC4460]

            // 14-159,Unassigned,
            case 160:
                var = new KnownError(160, "RequesttoDeleteLastRemainingIPAddress");
                break;    //[RFC5061]

            case 161:
                var = new KnownError(161, "OperationRefusedDuetoResourceShortage");
                break;    //[RFC5061]

            case 162:
                var = new KnownError(162, "RequesttoDeleteSourceIPAddress");
                break;    //[RFC5061]

            case 163:
                var = new KnownError(163, "AssociationAbortedduetoillegalASCONF-ACK");
                break;    //[RFC5061]

            case 164:
                var = new KnownError(164, "Requestrefused-noauthorization");
                break;    //[RFC5061]

            // 165-260,Unassigned,
            case 261:
                var = new KnownError(261, "UnsupportedHMACIdentifier");
                break;    //[RFC4895]
                          // 262-65535,Unassigned,
            }
            try
            {
                var.readBody(_body, blen);
                //logger.LogDebug("variable type " + var.getType() + " name " + var.getName());
                //logger.LogDebug("additional info " + var.ToString());
            }
            catch (SctpPacketFormatException ex)
            {
                logger.LogError(ex.ToString());
            }
            if (_body.hasRemaining())
            {
                int mod = blen % 4;
                if (mod != 0)
                {
                    for (int pad = mod; pad < 4; pad++)
                    {
                        _body.GetByte();
                    }
                }
            }
            return(var);
        }
Example #2
0
 public ErrorChunk(KnownError e) : this()
 {
     _varList.Add(e);
 }