From b8a8d99917c330f9cccae1f415334d9c81770c0b Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Wed, 5 Feb 2025 15:01:12 -0500 Subject: [PATCH 1/6] csharp update MaD for HttpRequestMessage and UriBuilder --- csharp/ql/lib/ext/System.Net.Http.model.yml | 2 ++ csharp/ql/lib/ext/System.model.yml | 27 ++++++++++++++ .../dataflow/library/FlowSummaries.expected | 35 +++++++++++++++---- .../library/FlowSummariesFiltered.expected | 35 +++++++++++++++---- 4 files changed, 87 insertions(+), 12 deletions(-) diff --git a/csharp/ql/lib/ext/System.Net.Http.model.yml b/csharp/ql/lib/ext/System.Net.Http.model.yml index 7d4fbf87a575..2becfec11d62 100644 --- a/csharp/ql/lib/ext/System.Net.Http.model.yml +++ b/csharp/ql/lib/ext/System.Net.Http.model.yml @@ -10,6 +10,8 @@ extensions: data: - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.String)", "", "Argument[1]", "Argument[this]", "taint", "manual"] + - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.Uri)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.Uri)", "", "Argument[1]", "Argument[this]", "taint", "manual"] - ["System.Net.Http", "HttpRequestOptions", False, "Add", "(System.Collections.Generic.KeyValuePair)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Key]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "manual"] - ["System.Net.Http", "HttpRequestOptions", False, "Add", "(System.Collections.Generic.KeyValuePair)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Value]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "manual"] - ["System.Net.Http", "MultipartContent", False, "Add", "(System.Net.Http.HttpContent)", "", "Argument[0]", "Argument[this].Element", "value", "manual"] diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index e56369a084f4..a329dfe572c6 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -765,6 +765,33 @@ extensions: - ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 50d4b3562337..a9dbc6d021aa 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -13561,8 +13561,8 @@ summary | System.Net.Http;HttpMethod;get_Method;();Argument[this].SyntheticField[System.Net.Http.HttpMethod._method];ReturnValue;value;dfc-generated | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[0];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[1];Argument[this];taint;manual | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];value;dfc-generated | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];value;dfc-generated | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this];taint;manual | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;get_Properties;();Argument[this].Property[System.Net.Http.HttpRequestMessage.Options];ReturnValue;value;dfc-generated | @@ -21960,13 +21960,36 @@ summary | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | +| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this];taint;df-generated | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | +| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index f99f76e9273b..ef537a336b47 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -10342,8 +10342,8 @@ | System.Net.Http;HttpMethod;get_Method;();Argument[this].SyntheticField[System.Net.Http.HttpMethod._method];ReturnValue;value;dfc-generated | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[0];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[1];Argument[this];taint;manual | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];value;dfc-generated | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];value;dfc-generated | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this];taint;manual | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;get_Properties;();Argument[this].Property[System.Net.Http.HttpRequestMessage.Options];ReturnValue;value;dfc-generated | @@ -16796,13 +16796,36 @@ | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | +| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this];taint;df-generated | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | +| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated | From 733c7553e057ee18563da2e62cdcea9fdeaecd1c Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Fri, 7 Feb 2025 16:01:35 -0500 Subject: [PATCH 2/6] csharp MaD UriBuilder update model --- csharp/ql/lib/ext/System.model.yml | 71 +++++++++++++++++++----------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index a329dfe572c6..1462e903b98d 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -766,32 +766,51 @@ extensions: - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] From 33e0f749eea87e9b523579e41c4549a7e8b28c58 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Fri, 7 Feb 2025 16:08:26 -0500 Subject: [PATCH 3/6] csharp MaD UriBuilder update tests --- .../dataflow/library/FlowSummaries.expected | 74 +++++++++++-------- .../library/FlowSummariesFiltered.expected | 74 +++++++++++-------- 2 files changed, 90 insertions(+), 58 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index a9dbc6d021aa..7abaeadf2f68 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -21961,35 +21961,51 @@ summary | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | -| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index ef537a336b47..311c6ac3b1e1 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16797,35 +16797,51 @@ | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | -| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated | From 6d697135adcd7f01c17140e36d363e5428ea0de2 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Fri, 7 Feb 2025 19:42:31 -0500 Subject: [PATCH 4/6] csharp MaD UriBuilder switch to shorthand notation --- csharp/ql/lib/ext/System.model.yml | 26 ++++--------------- .../dataflow/library/FlowSummaries.expected | 7 ++++- .../library/FlowSummariesFiltered.expected | 7 ++++- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index 1462e903b98d..06d9b8796164 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -765,19 +765,9 @@ extensions: - ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] @@ -791,20 +781,14 @@ extensions: - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 7abaeadf2f68..4d9bd16df958 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -21960,7 +21960,12 @@ summary | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | -| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 311c6ac3b1e1..474de5ac1723 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16796,7 +16796,12 @@ | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | -| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | From dc2b95f5d326e9e500cfaa24e13a6a0da0f5c906 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Mon, 10 Feb 2025 15:18:22 -0500 Subject: [PATCH 5/6] csharp MaD UriBuilder remove unnecessary getters/setters --- csharp/ql/lib/ext/System.model.yml | 12 ------------ .../dataflow/library/FlowSummaries.expected | 12 ------------ .../dataflow/library/FlowSummariesFiltered.expected | 12 ------------ 3 files changed, 36 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index 06d9b8796164..e761cbf83935 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -782,19 +782,7 @@ extensions: - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 4d9bd16df958..11a28201abe8 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -21993,24 +21993,12 @@ summary | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | -| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 474de5ac1723..195c8fd645de 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16829,24 +16829,12 @@ | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | -| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated | From e2acadd51a01ae405d50f498e2b350a2042d508b Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Mon, 10 Feb 2025 17:48:10 -0500 Subject: [PATCH 6/6] csharp update MaD UriBuilder --- csharp/ql/lib/ext/System.model.yml | 4 ++-- .../library-tests/dataflow/library/FlowSummaries.expected | 4 ++++ .../dataflow/library/FlowSummariesFiltered.expected | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index e761cbf83935..36b48c429b50 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -765,7 +765,7 @@ extensions: - ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.UserName,System.UriBuilder.Password,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] @@ -782,7 +782,7 @@ extensions: - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.UserName,System.UriBuilder.Password,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 11a28201abe8..40a14575fc62 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -21962,10 +21962,12 @@ summary | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | @@ -21995,10 +21997,12 @@ summary | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 195c8fd645de..fbe1f44f84a1 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16798,10 +16798,12 @@ | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | @@ -16831,10 +16833,12 @@ | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated |