NIST Logo and ITL Banner Link to the NIST Homepage Link to the ITL Homepage Link to the NIST Homepage
Search CSRC:
AppVet Logo

9.  Schemas


9.1 AppVet Properties Schema

AppVet is configured by the $APPVET_FILES_HOME/conf/AppVetProperties.xml file. The schema for this file is available as an XML Schema Definition (XSD) or interactive Scalable Vector Graphics (SVG) file:

9.2 Tool Service Adapter Schema

Tool services used by AppVet are configured by XML tool adapter configuration files in $APPVET_FILES_HOME/conf/tool_adapters . Note that tool service adapters are provided by tool vendors (or provider of the tool) and typically do not need to be modified by the AppVet administrator. The schema for tool service adapters are available as an XML Schema Definition (XSD) or interactive Scalable Vector Graphics (SVG) file:

9.3 Database Schema

The AppVet database, named appvet in MySQL, is a relational database defined by the following table schemas.

9.3.1 Table users

The users table defines information about AppVet users. Table 9-1a shows the users table schema.


Table 9-1a. users.

Field Type Null Key Default Extra
username varchar(32) NO PRI
-
-
password varchar(102) YES
-
NULL
-
org varchar(120) YES
-
NULL
-
email varchar(120) YES
-
NULL
-
role varchar(48) YES
-
NULL
-
lastlogon timestamp NO
-
CURRENT_TIMESTAMP on update
fromhost varchar(120) YES
-
NULL
-
lastName varchar(32) YES
-
NULL
-
firstName varchar(32) YES
-
NULL
-



Table 9-1b defines the users table field descriptions.


Table 9-1b. Field descriptions for users.

Field Description
username The user's ID.
password The user's password (PBKDF2 salted hash).
org The user's organization.
email The user's email address.
role The user's role.
lastlogon The time of the user's last logon.
fromhost The host of the user's last logon.
lastName The user's last name.
firstName The user's first name.



9.3.2 Table sessions

The sessions table defines information about AppVet client sessions. Table 9-2a shows the sessions table schema.


Table 9-2a. sessions.

Field Type Null Key Default Extra
sessionid varchar(32) NO PRI
-
-
username varchar(120) YES
-
NULL
-
clientaddress varchar(120) YES
-
NULL
-
expiretime bigint(20) YES
-
NULL
-



Table 9-2b defines the sessions table field descriptions.


Table 9-2b. Field descriptions for sessions.

Field Description
sessionid The session ID.
username The user's ID.
clientaddress The client host.
expiretime The user's email address.



9.3.3 Table apps

The apps table defines information about registered apps. Table 9-3a shows the apps table schema.


Table 9-3a. apps.

Field Type Null Key Default Extra
appid varchar(32) NO PRI
-
-
appname varchar(120) YES
-
NULL
-
packagename varchar(120) YES
-
NULL
-
versioncode varchar(120) YES
-
NULL
-
filename varchar(120) YES
-
NULL
-
submittime timestamp YES
-
NULL
-
status varchar(120) YES
-
NULL
-
statustime timestamp YES
-
NULL
-
username varchar(120) YES
-
NULL
-
clienthost varchar(120) YES
-
NULL
-



Table 9-3b defines the apps table field descriptions.


Table 9-3b. Field descriptions for apps.

Field Description
appid The AppVet generated unique ID.
appname The name of the app.
packagename The Android package name of the app.
versioncode The Android version code of the app.
versionname The Android version name of the app.
filename The file name of the app.
submittime The time the app was submitted.
status The current status of the app.
statustime The time of the last status update.
username The client who submitted the app.
clienthost The host who submitted the app.



9.3.4 Table status

The status table defines the current processing or risk status of a tool for a given app. Table 9-4a shows the status table schema. Note that as new tool adapters are added to AppVet, AppVet automatically creates a new status entry in the AppVet status table.


Table 9-4a. status.

Field Type Null Key Default Extra
appid varchar(32) NO PRI
-
-
registration varchar(120) YES
-
NULL
-
android varchar(120) YES
-
NULL
-
tool 1 varchar(120) YES
-
NULL
-
tool 2 varchar(120) YES
-
NULL
-
... varchar(120) YES
-
NULL
-



Table 9-4b defines the status table field descriptions.


Table 9-4b. Field descriptions for status.

Field Description
appid The AppVet generated unique ID.
registration The registration status of the app.
android The Android pre-processing status.
tool 1 The status of tool 1.
tool 2 The status of tool 2.