Skip to content

Commit b063282

Browse files
authored
Merge pull request #714 from MarcMil/changecategorysystem
Change XSDs and River sources and sinks
2 parents 98b7eae + 8d48557 commit b063282

File tree

5 files changed

+12
-179
lines changed

5 files changed

+12
-179
lines changed

soot-infoflow-android/schema/FlowDroidConfiguration.xsd

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
</xs:complexType>
3232

3333
<xs:complexType name="sourcesSinksElementType">
34-
<xs:attribute name="id" type="predefinedCategoryId" use="required" />
35-
<xs:attribute name="customId" type="xs:string" use="optional" />
34+
<xs:attribute name="id" type="xs:string" use="required" />
3635
<xs:attribute name="mode" type="categoryModeType" use="required" />
3736
</xs:complexType>
3837

@@ -50,44 +49,6 @@
5049
</xs:restriction>
5150
</xs:simpleType>
5251

53-
<xs:simpleType name="predefinedCategoryId">
54-
<xs:restriction base="xs:string">
55-
<xs:enumeration value="NO_CATEGORY" />
56-
<xs:enumeration value="HARDWARE_INFO" />
57-
<xs:enumeration value="UNIQUE_IDENTIFIER" />
58-
<xs:enumeration value="LOCATION_INFORMATION" />
59-
<xs:enumeration value="NETWORK_INFORMATION" />
60-
<xs:enumeration value="ACCOUNT_INFORMATION" />
61-
<xs:enumeration value="EMAIL_INFORMATION" />
62-
<xs:enumeration value="FILE_INFORMATION" />
63-
<xs:enumeration value="BLUETOOTH_INFORMATION" />
64-
<xs:enumeration value="VOIP_INFORMATION" />
65-
<xs:enumeration value="VOIP_INFORMATION" />
66-
<xs:enumeration value="DATABASE_INFORMATION" />
67-
<xs:enumeration value="PHONE_INFORMATION" />
68-
<xs:enumeration value="PHONE_CONNECTION" />
69-
<xs:enumeration value="INTER_APP_COMMUNICATION" />
70-
<xs:enumeration value="VOIP" />
71-
<xs:enumeration value="PHONE_STATE" />
72-
<xs:enumeration value="EMAIL" />
73-
<xs:enumeration value="BLUETOOTH" />
74-
<xs:enumeration value="ACCOUNT_SETTINGS" />
75-
<xs:enumeration value="VIDEO" />
76-
<xs:enumeration value="SYNCHRONIZATION_DATA" />
77-
<xs:enumeration value="NETWORK" />
78-
<xs:enumeration value="EMAIL_SETTINGS" />
79-
<xs:enumeration value="FILE" />
80-
<xs:enumeration value="LOG" />
81-
<xs:enumeration value="AUDIO" />
82-
<xs:enumeration value="SMS_MMS" />
83-
<xs:enumeration value="CONTACT_INFORMATION" />
84-
<xs:enumeration value="CALENDAR_INFORMATION" />
85-
<xs:enumeration value="SYSTEM_SETTINGS" />
86-
<xs:enumeration value="IMAGE" />
87-
<xs:enumeration value="BROWSER_INFORMATION" />
88-
<xs:enumeration value="NFC" />
89-
</xs:restriction>
90-
</xs:simpleType>
9152

9253
<xs:simpleType name="layoutMatchingModeType">
9354
<xs:restriction base="xs:string">

soot-infoflow-android/schema/SourcesAndSinks.xsd

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
<xs:element name="field" type="fieldType" />
1818
</xs:choice>
1919
</xs:sequence>
20-
<xs:attribute name="id" type="categoryEnum" use="required" />
21-
<xs:attribute name="customId" type="xs:string" use="optional" />
20+
<xs:attribute name="id" type="xs:string" use="required" />
2221
<xs:attribute name="description" type="xs:string" use="optional" />
2322
</xs:complexType>
2423

@@ -123,47 +122,6 @@
123122

124123

125124

126-
<!--Special type to describe a potential sink.
127-
Distinguishing between all categories(ALL), sources(NO_CATEGORY-PHONE_INFORMATION), sinks(PHONE_CONNECTION-LOG) and shared (AUDIO-NFC). -->
128-
129-
<xs:simpleType name="categoryEnum">
130-
<xs:restriction base="xs:string">
131-
<xs:enumeration value="ALL" />
132-
<xs:enumeration value="NO_CATEGORY" />
133-
<xs:enumeration value="HARDWARE_INFO" />
134-
<xs:enumeration value="UNIQUE_IDENTIFIER" />
135-
<xs:enumeration value="LOCATION_INFORMATION" />
136-
<xs:enumeration value="NETWORK_INFORMATION" />
137-
<xs:enumeration value="ACCOUNT_INFORMATION" />
138-
<xs:enumeration value="EMAIL_INFORMATION" />
139-
<xs:enumeration value="FILE_INFORMATION" />
140-
<xs:enumeration value="BLUETOOTH_INFORMATION" />
141-
<xs:enumeration value="VOIP_INFORMATION" />
142-
<xs:enumeration value="DATABASE_INFORMATION" />
143-
<xs:enumeration value="PHONE_INFORMATION" />
144-
<xs:enumeration value="PHONE_CONNECTION" />
145-
<xs:enumeration value="INTER_APP_COMMUNINCATION" />
146-
<xs:enumeration value="VOIP" />
147-
<xs:enumeration value="PHONE_STATE" />
148-
<xs:enumeration value="EMAIL" />
149-
<xs:enumeration value="BLUETOOTH" />
150-
<xs:enumeration value="ACCOUNT_SETTINGS" />
151-
<xs:enumeration value="VIDEO" />
152-
<xs:enumeration value="SYNCHRONIZATION_DATA" />
153-
<xs:enumeration value="NETWORK" />
154-
<xs:enumeration value="EMAIL_SETTINGS" />
155-
<xs:enumeration value="FILE" />
156-
<xs:enumeration value="LOG" />
157-
<xs:enumeration value="AUDIO" />
158-
<xs:enumeration value="SMS_MMS" />
159-
<xs:enumeration value="CONTACT_INFORMATION" />
160-
<xs:enumeration value="CALENDAR_INFORMATION" />
161-
<xs:enumeration value="SYSTEM_SETTINGS" />
162-
<xs:enumeration value="IMAGE" />
163-
<xs:enumeration value="BROWSER_INFORMATION" />
164-
<xs:enumeration value="NFC" />
165-
</xs:restriction>
166-
</xs:simpleType>
167125

168126

169127
</xs:schema>

soot-infoflow-cmd/schema/FlowDroidConfiguration.xsd

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
</xs:complexType>
3232

3333
<xs:complexType name="sourcesSinksElementType">
34-
<xs:attribute name="id" type="predefinedCategoryId" use="required" />
35-
<xs:attribute name="customId" type="xs:string" use="optional" />
34+
<xs:attribute name="id" type="xs:string" use="required" />
3635
<xs:attribute name="mode" type="categoryModeType" use="required" />
3736
</xs:complexType>
3837

@@ -50,45 +49,6 @@
5049
</xs:restriction>
5150
</xs:simpleType>
5251

53-
<xs:simpleType name="predefinedCategoryId">
54-
<xs:restriction base="xs:string">
55-
<xs:enumeration value="NO_CATEGORY" />
56-
<xs:enumeration value="HARDWARE_INFO" />
57-
<xs:enumeration value="UNIQUE_IDENTIFIER" />
58-
<xs:enumeration value="LOCATION_INFORMATION" />
59-
<xs:enumeration value="NETWORK_INFORMATION" />
60-
<xs:enumeration value="ACCOUNT_INFORMATION" />
61-
<xs:enumeration value="EMAIL_INFORMATION" />
62-
<xs:enumeration value="FILE_INFORMATION" />
63-
<xs:enumeration value="BLUETOOTH_INFORMATION" />
64-
<xs:enumeration value="VOIP_INFORMATION" />
65-
<xs:enumeration value="VOIP_INFORMATION" />
66-
<xs:enumeration value="DATABASE_INFORMATION" />
67-
<xs:enumeration value="PHONE_INFORMATION" />
68-
<xs:enumeration value="PHONE_CONNECTION" />
69-
<xs:enumeration value="INTER_APP_COMMUNICATION" />
70-
<xs:enumeration value="VOIP" />
71-
<xs:enumeration value="PHONE_STATE" />
72-
<xs:enumeration value="EMAIL" />
73-
<xs:enumeration value="BLUETOOTH" />
74-
<xs:enumeration value="ACCOUNT_SETTINGS" />
75-
<xs:enumeration value="VIDEO" />
76-
<xs:enumeration value="SYNCHRONIZATION_DATA" />
77-
<xs:enumeration value="NETWORK" />
78-
<xs:enumeration value="EMAIL_SETTINGS" />
79-
<xs:enumeration value="FILE" />
80-
<xs:enumeration value="LOG" />
81-
<xs:enumeration value="AUDIO" />
82-
<xs:enumeration value="SMS_MMS" />
83-
<xs:enumeration value="CONTACT_INFORMATION" />
84-
<xs:enumeration value="CALENDAR_INFORMATION" />
85-
<xs:enumeration value="SYSTEM_SETTINGS" />
86-
<xs:enumeration value="IMAGE" />
87-
<xs:enumeration value="BROWSER_INFORMATION" />
88-
<xs:enumeration value="NFC" />
89-
</xs:restriction>
90-
</xs:simpleType>
91-
9252
<xs:simpleType name="layoutMatchingModeType">
9353
<xs:restriction base="xs:string">
9454
<xs:enumeration value="NoMatch" />

soot-infoflow-cmd/schema/SourcesAndSinks.xsd

Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
<xs:element name="field" type="fieldType" />
1818
</xs:choice>
1919
</xs:sequence>
20-
<xs:attribute name="id" type="categoryEnum" use="required" />
21-
<xs:attribute name="customId" type="xs:string" use="optional" />
20+
<xs:attribute name="id" type="xs:string" use="required" />
2221
<xs:attribute name="description" type="xs:string" use="optional" />
2322
</xs:complexType>
2423

@@ -114,49 +113,4 @@
114113
</xs:complexType>
115114

116115

117-
118-
119-
<!--Special type to describe a potential sink.
120-
Distinguishing between all categories(ALL), sources(NO_CATEGORY-PHONE_INFORMATION), sinks(PHONE_CONNECTION-LOG) and shared (AUDIO-NFC). -->
121-
122-
<xs:simpleType name="categoryEnum">
123-
<xs:restriction base="xs:string">
124-
<xs:enumeration value="ALL" />
125-
<xs:enumeration value="NO_CATEGORY" />
126-
<xs:enumeration value="HARDWARE_INFO" />
127-
<xs:enumeration value="UNIQUE_IDENTIFIER" />
128-
<xs:enumeration value="LOCATION_INFORMATION" />
129-
<xs:enumeration value="NETWORK_INFORMATION" />
130-
<xs:enumeration value="ACCOUNT_INFORMATION" />
131-
<xs:enumeration value="EMAIL_INFORMATION" />
132-
<xs:enumeration value="FILE_INFORMATION" />
133-
<xs:enumeration value="BLUETOOTH_INFORMATION" />
134-
<xs:enumeration value="VOIP_INFORMATION" />
135-
<xs:enumeration value="DATABASE_INFORMATION" />
136-
<xs:enumeration value="PHONE_INFORMATION" />
137-
<xs:enumeration value="PHONE_CONNECTION" />
138-
<xs:enumeration value="INTER_APP_COMMUNINCATION" />
139-
<xs:enumeration value="VOIP" />
140-
<xs:enumeration value="PHONE_STATE" />
141-
<xs:enumeration value="EMAIL" />
142-
<xs:enumeration value="BLUETOOTH" />
143-
<xs:enumeration value="ACCOUNT_SETTINGS" />
144-
<xs:enumeration value="VIDEO" />
145-
<xs:enumeration value="SYNCHRONIZATION_DATA" />
146-
<xs:enumeration value="NETWORK" />
147-
<xs:enumeration value="EMAIL_SETTINGS" />
148-
<xs:enumeration value="FILE" />
149-
<xs:enumeration value="LOG" />
150-
<xs:enumeration value="AUDIO" />
151-
<xs:enumeration value="SMS_MMS" />
152-
<xs:enumeration value="CONTACT_INFORMATION" />
153-
<xs:enumeration value="CALENDAR_INFORMATION" />
154-
<xs:enumeration value="SYSTEM_SETTINGS" />
155-
<xs:enumeration value="IMAGE" />
156-
<xs:enumeration value="BROWSER_INFORMATION" />
157-
<xs:enumeration value="NFC" />
158-
</xs:restriction>
159-
</xs:simpleType>
160-
161-
162116
</xs:schema>

soot-infoflow-integration/res/AndroidRiverSourcesAndSinks.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<sinkSources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="SourcesAndSinks.xsd">
22

3-
<category id="NO_CATEGORY" customId="OUTPUT_WRITING">
3+
<category id="OUTPUT_WRITING">
44
<method signature="java.io.PrintWriter: void print(boolean)">
55
<param index="0" description="Output Data">
66
<accessPath isSource="false" isSink="true" />
@@ -1001,7 +1001,7 @@
10011001
</method>
10021002
</category>
10031003

1004-
<category id="NO_CATEGORY" customId="INPUT_READING">
1004+
<category id="INPUT_READING">
10051005
<method signature="java.io.Reader: int read()">
10061006
<return description="Input Data">
10071007
<accessPath isSource="true" isSink="false" />
@@ -1353,7 +1353,7 @@
13531353
</category>
13541354

13551355
<!-- Android Secure Settings -->
1356-
<category id="NO_CATEGORY" customId="SECURE_SETTINGS" description="Android Secure Settings">
1356+
<category id="SECURE_SETTINGS" description="Android Secure Settings">
13571357
<method signature="android.provider.Settings$Secure: float getFloat(android.content.ContentResolver,java.lang.String)">
13581358
<return description="Android Secure Setting">
13591359
<accessPath isSource="true" isSink="false" />
@@ -1831,7 +1831,7 @@
18311831
</category>
18321832

18331833
<!-- Address Information -->
1834-
<category id="NO_CATEGORY" customId="ADDRESS_INFORMATION" description="Address or Contact Information">
1834+
<category id="ADDRESS_INFORMATION" description="Address or Contact Information">
18351835
<!-- Addresses -->
18361836
<method signature="android.location.Address: java.lang.String getAddressLine(int)">
18371837
<return description="Address line">
@@ -1958,7 +1958,7 @@
19581958
</category>
19591959

19601960
<!-- Shared Preferences -->
1961-
<category id="NO_CATEGORY" customId="PREFERENCE_READ" description="Reading from preferences">
1961+
<category id="PREFERENCE_READ" description="Reading from preferences">
19621962
<method signature="android.content.SharedPreferences: boolean getBoolean(java.lang.String,boolean)">
19631963
<return description="Preference value">
19641964
<accessPath isSource="true" isSink="false" />
@@ -2024,7 +2024,7 @@
20242024
</category>
20252025

20262026
<!-- Environment Variables -->
2027-
<category id="NO_CATEGORY" customId="ENVIRONMENT" description="Environment">
2027+
<category id="ENVIRONMENT" description="Environment">
20282028
<method signature="java.lang.System: java.lang.String getenv(java.lang.String)">
20292029
<return description="Environment variable">
20302030
<accessPath isSource="true" isSink="false" />
@@ -2053,7 +2053,7 @@
20532053
</category>
20542054

20552055
<!-- SQL Results -->
2056-
<category id="NO_CATEGORY" customId="SQL_RESULTS" description="SQL Results">
2056+
<category id="SQL_RESULTS" description="SQL Results">
20572057
<method signature="java.sql.ResultSet: java.sql.Array getArray(int)">
20582058
<return description="SQL Result">
20592059
<accessPath isSource="true" isSink="false" />
@@ -2438,7 +2438,7 @@
24382438
</category>
24392439

24402440
<!-- Advertising ID -->
2441-
<category id="NO_CATEGORY" customId="ADVERTISING_ID">
2441+
<category id="ADVERTISING_ID">
24422442
<method signature="com.google.android.gms.ads.identifier.AdvertisingIdClient$Info: java.lang.String getId()">
24432443
<param index="0" description="Advertising ID">
24442444
<accessPath isSource="true" isSink="false" />

0 commit comments

Comments
 (0)