Use precise access paths for http headers models

This commit is contained in:
Joe Farebrother
2023-03-13 17:55:44 +00:00
parent a476677b2b
commit 14f753b8cf
3 changed files with 142 additions and 59 deletions

View File

@@ -10,26 +10,63 @@ extensions:
extensible: summaryModel
data:
- ["io.netty.handler.codec.http", "QueryStringEncoder", True, "QueryStringEncoder", "(String)", "", "Argument[0]", "Argument[this]", "taint", "ai-generated"]
# TODO: Use precise access paths.
- ["io.netty.handler.codec.http", "HttpHeaders", True, "copy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "entries", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(CharSequence,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(CharSequence,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(CharSequence,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(CharSequence,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(String,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(String,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(String,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(String,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(HttpHeaders)", "", "Argument[0].Element.MapKey", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "(HttpHeaders)", "", "Argument[0].Element.MapValue", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "addInt", "(CharSequence,int)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "addInt", "(CharSequence,int)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "addShort", "(CharSequence,short)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "addShort", "(CharSequence,short)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "copy", "()", "", "Argument[-1].Element.MapKey", "ReturnValue.Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "copy", "()", "", "Argument[-1].Element.MapValue", "ReturnValue.Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "entries", "()", "", "Argument[-1].Element.MapKey", "ReturnValue.Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "entries", "()", "", "Argument[-1].Element.MapValue", "ReturnValue.Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "get", "", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "get", "", "", "Argument[1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getAll", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getAllAsString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getAsString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getAll", "", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getAllAsString", "", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getAsString", "", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getHeader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getHeader", "", "", "Argument[2]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getHost", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "getHost", "", "", "Argument[1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "iteratorAsString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "iteratorCharSequence", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "names", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "iteratorAsString", "()", "", "Argument[-1].Element.MapKey", "ReturnValue.Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "iteratorAsString", "()", "", "Argument[-1].Element.MapValue", "ReturnValue.Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "iteratorCharSequence", "()", "", "Argument[-1].Element.MapKey", "ReturnValue.Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "iteratorCharSequence", "()", "", "Argument[-1].Element.MapValue", "ReturnValue.Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "names", "()", "", "Argument[-1].Element.MapKey", "ReturnValue.Element", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "newEntity", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "valueCharSequenceIterator", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "valueStringIterator", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "toString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
# Currently all write steps to http messages are taint flow. It may reduce FPs to use synthetic field for headers instead.
- ["io.netty.handler.codec.http", "HttpHeaders", True, "remove", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(CharSequence,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(CharSequence,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(CharSequence,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(CharSequence,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(String,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(String,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(String,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(String,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(HttpHeaders)", "", "Argument[0].Element.MapKey", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "(HttpHeaders)", "", "Argument[0].Element.MapValue", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setAll", "(HttpHeaders)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setAll", "(HttpHeaders)", "", "Argument[0].Element.MapKey", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setAll", "(HttpHeaders)", "", "Argument[0].Element.MapValue", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setInt", "(CharSequence,int)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setInt", "(CharSequence,int)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setShort", "(CharSequence,short)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setShort", "(CharSequence,short)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "valueStringIterator", "()", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "valueCharSequenceIterator", "()", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "toString", "", "", "Argument[-1].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "toString", "", "", "Argument[-1].Element.MapValue", "ReturnValue", "taint", "manual"]
# Currently all write steps to http messages are taint flow. It may reduce FPs to use a synthetic field for headers instead.
- ["io.netty.handler.codec.http", "HttpMessage", True, "headers", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "LastHttpContent", True, "trailingHeaders", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpRequest", True, "getUri", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
@@ -43,11 +80,3 @@ extensions:
- ["io.netty.handler.codec.http", "QueryStringDecoder", True, "rawQuery", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "QueryStringDecoder", True, "toString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "QueryStringDecoder", True, "uri", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "add", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "addInt", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "addShort", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "remove", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "set", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setAll", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setInt", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http", "HttpHeaders", True, "setShort", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]

View File

@@ -11,30 +11,39 @@ extensions:
pack: codeql/java-all
extensible: summaryModel
data:
# TODO: Model more precise access paths
- ["io.netty.handler.codec.http2", "Http2Headers", True, "authority", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "authority", "(CharSequence)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "authority", "()", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "authority", "(CharSequence)", "", "Argument[0]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "authority", "(CharSequence)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "iterator", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "method", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "method", "(CharSequence)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "method", "()", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "method", "(CharSequence)", "", "Argument[0]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "method", "(CharSequence)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "path", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "path", "(CharSequence)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "path", "()", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "path", "(CharSequence)", "", "Argument[0]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "path", "(CharSequence)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "scheme", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "scheme", "(CharSequence)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "scheme", "()", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "scheme", "(CharSequence)", "", "Argument[0]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "scheme", "(CharSequence)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "status", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "status", "(CharSequence)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "status", "()", "", "Argument[-1].Element.MapValue", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "status", "(CharSequence)", "", "Argument[0]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "status", "(CharSequence)", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "valueIterator", "(CharSequence)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2Headers", True, "valueIterator", "(CharSequence)", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "value", "manual"]
- ["io.netty.handler.codec.http2", "Http2HeadersFrame", True, "headers", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "Http2PushPromiseFrame", True, "http2Headers", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "addHttp2ToHttpHeaders", "", "", "Argument[1]", "Argument[2]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpRequest", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpResponse", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttp2Headers", "(HttpHeaders,boolean)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttp2Headers", "(HttpHeaders,Http2Headers)", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttpRequest", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttpResponse", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "addHttp2ToHttpHeaders", "(int,Http2Headers,FullHttpMessage,boolean)", "", "Argument[1].Element.MapKey", "Argument[2]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "addHttp2ToHttpHeaders", "(int,Http2Headers,FullHttpMessage,boolean)", "", "Argument[1].Element.MapValue", "Argument[2]", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "addHttp2ToHttpHeaders", "(int,Http2Headers,HttpHeaders,HttpVersion,boolean,boolean)", "", "Argument[1].Element.MapKey", "Argument[2].Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "addHttp2ToHttpHeaders", "(int,Http2Headers,HttpHeaders,HttpVersion,boolean,boolean)", "", "Argument[1].Element.MapValue", "Argument[2].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpRequest", "", "", "Argument[1].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpRequest", "", "", "Argument[1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpRequest", "(int,HttpHeaders,ByteBuf,boolean)", "", "Argument[2]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpResponse", "", "", "Argument[1].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpResponse", "", "", "Argument[1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toFullHttpResponse", "(int,HttpHeaders,ByteBuf,boolean)", "", "Argument[2]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttp2Headers", "(HttpHeaders,boolean)", "", "Argument[0].Element.MapKey", "ReturnValue.Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttp2Headers", "(HttpHeaders,boolean)", "", "Argument[0].Element.MapValue", "ReturnValue.Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttp2Headers", "(HttpHeaders,Http2Headers)", "", "Argument[0].Element.MapKey", "Argument[1].Element.MapKey", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttp2Headers", "(HttpHeaders,Http2Headers)", "", "Argument[0].Element.MapValue", "Argument[1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttpRequest", "", "", "Argument[1].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttpRequest", "", "", "Argument[1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttpResponse", "", "", "Argument[1].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec.http2", "HttpConversionUtil", False, "toHttpResponse", "", "", "Argument[1].Element.MapValue", "ReturnValue", "taint", "manual"]

View File

@@ -17,42 +17,87 @@ extensions:
extensible: summaryModel
data:
- ["io.netty.handler.codec", "ByteToMessageDecoder$Cumulator", True, "cumulate", "(ByteBufAllocator,ByteBuf,ByteBuf)", "", "Argument[1..2]", "ReturnValue", "taint", "manual"]
# TODO: Use precise access paths for headers
- ["io.netty.handler.codec", "HeadersUtils", False, "getAsString", "(Headers,Object)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "getAllAsString", "(Headers,Object)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "namesAsString", "(Headers)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "iteratorAsString", "(Iterable)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "toString", "(Class,Iterator,int)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "get", "(Object)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "get", "(Object,Object)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "getAsString", "(Headers,Object)", "", "Argument[0].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "getAllAsString", "(Headers,Object)", "", "Argument[0].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "namesAsString", "(Headers)", "", "Argument[0].Element.MapKey", "ReturnValue.Element", "value", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "iteratorAsString", "(Iterable)", "", "Argument[0].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "iteratorAsString", "(Iterable)", "", "Argument[0].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "toString", "(Class,Iterator,int)", "", "Argument[1].Element.MapKey", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "HeadersUtils", False, "toString", "(Class,Iterator,int)", "", "Argument[1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "get", "(Object)", "", "Argument[-1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "get", "(Object,Object)", "", "Argument[-1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "get", "(Object,Object)", "", "Argument[1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAll", "(Object)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAllAndRemove", "(Object)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAndRemove", "(Object)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAndRemove", "(Object)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAll", "(Object)", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAllAndRemove", "(Object)", "", "Argument[-1].Element.MapValue", "ReturnValue.Element", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAndRemove", "(Object)", "", "Argument[-1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAndRemove", "(Object)", "", "Argument[-1].Element.MapValue", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "getAndRemove", "(Object,Object)", "", "Argument[1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "iterator", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "names", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "names", "()", "", "Argument[-1].Element.MapKey", "ReturnValue.Element", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Headers)", "", "Argument[0].Element.MapKey", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Headers)", "", "Argument[0].Element.MapValue", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Object,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Object,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Object,Object[])", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Object,Object[])", "", "Argument[1].ArrayElement", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Object,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "add", "(Object,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "(Object,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "(Object,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "(Object,Object[])", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "(Object,Object[])", "", "Argument[1].ArrayElement", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "(Object,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "(Object,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addBoolean", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addBoolean", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addByte", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addByte", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addChar", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addChar", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addDouble", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addDouble", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addFloat", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addFloat", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addInt", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addInt", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addLong", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addObject", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addLong", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addShort", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addShort", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addTimeMillis", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "addTimeMillis", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setAll", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Headers)", "", "Argument[0].Element.MapKey", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Headers)", "", "Argument[0].Element.MapValue", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Object,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Object,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Object,Object[])", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Object,Object[])", "", "Argument[1].ArrayElement", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Object,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "set", "(Object,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setAll", "(Headers)", "", "Argument[0].Element.MapKey", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setAll", "(Headers)", "", "Argument[0].Element.MapValue", "Argument[-1].Element.MapValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "(Object,Iterable)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "(Object,Iterable)", "", "Argument[1].Element", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "(Object,Object[])", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "(Object,Object[])", "", "Argument[1].ArrayElement", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "(Object,Object)", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "(Object,Object)", "", "Argument[1]", "Argument[-1].Element.MapValue", "taint", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setBoolean", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setBoolean", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setByte", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setByte", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setChar", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setChar", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setDouble", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setDouble", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setFloat", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setFloat", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setInt", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setInt", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setLong", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setObject", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setLong", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setShort", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setShort", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setTimeMillis", "", "", "Argument[-1]", "ReturnValue", "value", "manual"]
- ["io.netty.handler.codec", "Headers", True, "setTimeMillis", "", "", "Argument[0]", "Argument[-1].Element.MapKey", "value", "manual"]