Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce custom file extensions with scanners #320

Merged
merged 88 commits into from
Nov 1, 2022
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
c9544fe
Make SVG file extensions configurable.
gudmdharalds Oct 21, 2022
7aa83fe
Make SVG file extensions configurable.
gudmdharalds Oct 21, 2022
ff9394e
Make SVG and PHP file extensions configurable.
gudmdharalds Oct 21, 2022
b085b77
Make PHP and SVG file extensions configurable
gudmdharalds Oct 21, 2022
44f4a61
Merge branch 'trunk' into add/file-extensions
gudmdharalds Oct 26, 2022
0849102
Adding option 'autoapprove-php-nonfunctional-changes-file-extensions'
gudmdharalds Oct 26, 2022
b396de6
Add option 'lint-file-extensions'
gudmdharalds Oct 26, 2022
973c12f
Adding option 'wpscan-api-file-extensions'
gudmdharalds Oct 26, 2022
02d91a2
Add file extensions parameter so the value can be configured.
gudmdharalds Oct 26, 2022
c863894
Update vipgoci_option_array_handle() so forbidden values can be array.
gudmdharalds Oct 26, 2022
2d7c53c
Fix whitespace.
gudmdharalds Oct 26, 2022
4c38674
Adding constants.
gudmdharalds Oct 26, 2022
b7e9646
Make file extensions configurable for each scanner type
gudmdharalds Oct 26, 2022
9e6028f
Add empty line.
gudmdharalds Oct 26, 2022
2a4b44d
Add --wpscan-api-file-extensions option
gudmdharalds Oct 27, 2022
8669f8c
Add --lint-file-extensions option
gudmdharalds Oct 27, 2022
4eea749
Sort option values
gudmdharalds Oct 27, 2022
e4cab03
Sort option values
gudmdharalds Oct 27, 2022
0eb75df
Sort option values
gudmdharalds Oct 27, 2022
953ac2c
Move code around
gudmdharalds Oct 27, 2022
5845e4c
Move code around
gudmdharalds Oct 27, 2022
25f9d73
Sort option values
gudmdharalds Oct 27, 2022
407a9c7
Add --autoapprove-php-nonfunctional-changes-file-extensions option
gudmdharalds Oct 27, 2022
1e15d61
Restructure test a bit
gudmdharalds Oct 27, 2022
5f08a50
WP CS changes
gudmdharalds Oct 27, 2022
673ae0b
Transform forbidden values to lower case, if requested.
gudmdharalds Oct 27, 2022
326393e
Add tests for forbidden values
gudmdharalds Oct 27, 2022
fcf3e0d
Add vipgoci_sysexit() helper
gudmdharalds Oct 27, 2022
f120c4e
Include message string in exception
gudmdharalds Oct 27, 2022
fb0d4ca
Ensure logged message is included in exception message
gudmdharalds Oct 27, 2022
e08c4d5
Update comment syntax
gudmdharalds Oct 27, 2022
40a5f2b
Adding helper function for MainRunInitOptionsAutoapproveTest.
gudmdharalds Oct 27, 2022
bfc4ba1
Add test for invalid --autoapprove-filetypes option values
gudmdharalds Oct 27, 2022
0e8896d
Add test for invalid --autoapprove-filetypes and --autoapprove-label …
gudmdharalds Oct 27, 2022
105da2a
Setting --autoapprove-php-nonfunctional-changes-file-extensions option
gudmdharalds Oct 27, 2022
68ee0ea
Add check
gudmdharalds Oct 27, 2022
295b5e1
Fix check
gudmdharalds Oct 27, 2022
c6d281d
Add --svg-file-extensions option
gudmdharalds Oct 27, 2022
414915d
Set --lint-file-extensions option
gudmdharalds Oct 27, 2022
7c9bc08
Set --phpcs-file-extensions and --svg-file-extensions options.
gudmdharalds Oct 27, 2022
aa40af6
Set --phpcs-file-extensions and --svg-file-extensions options.
gudmdharalds Oct 27, 2022
1c3a0fd
Update function call
gudmdharalds Oct 27, 2022
68a85a0
Update function call
gudmdharalds Oct 27, 2022
18f22ee
Set --svg-file-extensions option.
gudmdharalds Oct 27, 2022
0a3d124
Set --phpcs-file-extensions option.
gudmdharalds Oct 27, 2022
086b18c
Set --svg-file-extensions option
gudmdharalds Oct 27, 2022
589317c
Update test to reflect new output
gudmdharalds Oct 28, 2022
d69f1ce
Update test to reflect new output
gudmdharalds Oct 28, 2022
44d2c31
Update test to reflect new output
gudmdharalds Oct 28, 2022
1e0bfd1
Update test to reflect new output
gudmdharalds Oct 28, 2022
3a5ea7e
Update test to reflect new output
gudmdharalds Oct 28, 2022
fe206c8
Add new options to scan detail report
gudmdharalds Oct 28, 2022
670461c
Clarify message.
gudmdharalds Oct 28, 2022
f8c2d8c
Clarify message.
gudmdharalds Oct 28, 2022
57a54c9
Clarify message again
gudmdharalds Oct 28, 2022
e1e3ab6
WP CS update
gudmdharalds Oct 28, 2022
793614c
Remove .vipgoci_phpcs_skip_folders
gudmdharalds Oct 28, 2022
211c041
Remove extra whitespace
gudmdharalds Oct 28, 2022
8499041
Disable PHPCS sniff VariableAnalysis.CodeAnalysis.VariableAnalysis.Un…
gudmdharalds Oct 28, 2022
0201e76
Default value provided as array, add comment.
gudmdharalds Oct 28, 2022
b904477
$default_value and $forbidden_value can not be string.
gudmdharalds Oct 28, 2022
03078c5
Add section about file extensions
gudmdharalds Oct 28, 2022
8d1ce9c
Adding error codes.
gudmdharalds Oct 28, 2022
dd0835d
Adding default file-extension defines for plugins and themes.
gudmdharalds Oct 31, 2022
28a64b6
Applying --wpscan-api-plugin-file-extensions and --wpscan-api-theme-f…
gudmdharalds Oct 31, 2022
ba04cde
Updating test to reflect new parameters
gudmdharalds Oct 31, 2022
22ab89e
Updating test to reflect new parameters
gudmdharalds Oct 31, 2022
20e6b4e
Applying --wpscan-api-plugin-file-extensions and --wpscan-api-theme-f…
gudmdharalds Oct 31, 2022
7e48f87
Updating test to reflect new parameters
gudmdharalds Oct 31, 2022
da8d14f
Updating test to reflect new parameters
gudmdharalds Oct 31, 2022
86a95cd
Updating test to reflect new parameters
gudmdharalds Oct 31, 2022
2973831
Update test to reflect new output
gudmdharalds Oct 31, 2022
3c60be8
Applying --wpscan-api-plugin-file-extensions and --wpscan-api-theme-…
gudmdharalds Oct 31, 2022
46e43b8
Updating test to reflect new parameters
gudmdharalds Oct 31, 2022
6ed86b7
Applying --wpscan-api-plugin-file-extensions and --wpscan-api-theme-f…
gudmdharalds Oct 31, 2022
11d9370
Replace assertFalse() with assertStringNotContainsString(), assertNot…
gudmdharalds Oct 31, 2022
1c2f0b9
Add more debug info to logging
gudmdharalds Oct 31, 2022
e015a17
Updating test string
gudmdharalds Oct 31, 2022
71fca73
Replace assertFalse() with assertStringNotContainsString(), assertNot…
gudmdharalds Oct 31, 2022
9cdad1a
Replace assertFalse() with assertStringNotContainsString(), assertNot…
gudmdharalds Oct 31, 2022
85e391c
Replace assertFalse() with assertStringNotContainsString(), assertNot…
gudmdharalds Oct 31, 2022
e292c85
Replace assertFalse() with assertStringNotContainsString(), assertNot…
gudmdharalds Oct 31, 2022
8607e03
Renaming test
gudmdharalds Oct 31, 2022
350fd81
Renaming test
gudmdharalds Oct 31, 2022
80893c5
WP CS change
gudmdharalds Oct 31, 2022
081d80a
Ensure variable is always defined
gudmdharalds Nov 1, 2022
88aa77e
Update test string.
gudmdharalds Nov 1, 2022
e80b43a
Update test string.
gudmdharalds Nov 1, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ap-nonfunctional-changes.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ function vipgoci_ap_nonfunctional_changes(
*/
if ( in_array(
$pr_diff_file_extension,
array( 'php' ),
$options['autoapprove-php-nonfunctional-changes-file-extensions'],
true
) === false ) {
continue;
Expand Down
10 changes: 5 additions & 5 deletions ap-svg-files.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ function vipgoci_ap_svg_files(
/*
* If not a SVG file, do not do anything.
*/

if (
'svg' !==
$pr_diff_file_extension
) {
if ( false === in_array(
$pr_diff_file_extension,
$options['svg-file-extensions'],
true
) ) {
continue;
}

Expand Down
18 changes: 15 additions & 3 deletions defines.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,10 @@
define( 'VIPGOCI_ISSUE_TYPE_ERROR', 'error' );

/*
* Define auto-approval types
* Defines for auto-approvals.
*/
define( 'VIPGOCI_APPROVAL_AUTOAPPROVE', 'auto-approval' );
define( 'VIPGOCI_APPROVAL_AUTOAPPROVE_NON_FUNCTIONAL_CHANGES_FILE_EXTENSIONS_DEFAULT', array( 'php' ) );

/*
* Defines for vipgoci_runtime_measure() function.
Expand Down Expand Up @@ -204,8 +205,10 @@
);

/*
* Messages related to PHP linting.
* Defines related to PHP linting.
*/
define( 'VIPGOCI_LINT_FILE_EXTENSIONS_DEFAULT', array( 'php' ) );

define(
'VIPGOCI_LINT_REPORT_START',
'%1$s has identified PHP syntax errors during automated linting. ' .
Expand All @@ -226,8 +229,10 @@
define( 'VIPGOCI_LINT_ERROR_STR', 'PHP Syntax Errors Found' );

/*
* Messages relating to PHPCS scanning.
* Defines relating to PHPCS scanning.
*/
define( 'VIPGOCI_PHPCS_FILE_EXTENSIONS_DEFAULT', array( 'php', 'js', 'twig' ) );

define(
'VIPGOCI_PHPCS_SCAN_REVIEW_START',
'%1$s has identified potential problems in this pull request ' .
Expand Down Expand Up @@ -281,6 +286,11 @@
'<br />'
);

/*
* Defines for SVG scanning.
*/
define( 'VIPGOCI_SVG_FILE_EXTENSIONS_DEFAULT', array( 'svg' ) );

/*
* Defines for addons generally.
*/
Expand All @@ -298,6 +308,8 @@
define( 'VIPGOCI_WPSCAN_BASE_URL', 'https://wpscan.com' );
define( 'VIPGOCI_WPSCAN_API_BASE_URL', VIPGOCI_WPSCAN_BASE_URL . '/api/v3' );

define( 'VIPGOCI_WPSCAN_FILE_EXTENSIONS_DEFAULT', array( 'php', 'css' ) );

define( 'VIPGOCI_WPSCAN_UPDATEURI_WP_ORG_URLS', array( 'w.org', 'wordpress.org' ) );

define( 'VIPGOCI_WPSCAN_VULNERABLE', 'vulnerable' );
Expand Down
4 changes: 2 additions & 2 deletions lint-scan.php
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ function vipgoci_lint_scan_commit(
false, // Exclude removed files.
false, // Exclude permission changes.
array(
'file_extensions' => array( 'php' ),
'file_extensions' => $options['lint-file-extensions'],
'skip_folders' => $options['lint-skip-folders'],
),
true
Expand All @@ -654,7 +654,7 @@ function vipgoci_lint_scan_commit(
$options,
$commit_id,
array(
'file_extensions' => array( 'php' ),
'file_extensions' => $options['lint-file-extensions'],
'skip_folders' => $options['lint-skip-folders'],
)
);
Expand Down
159 changes: 91 additions & 68 deletions main.php
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ function vipgoci_help_print() :void {
"\t" . ' files in the PR to be scanned. Default is true. It can be ' . PHP_EOL .
"\t" . ' modified via options file ("' . VIPGOCI_OPTIONS_FILE_NAME . '") placed in' . PHP_EOL .
"\t" . ' root of the repository.' . PHP_EOL .
"\t" . '--lint-file-extensions=ARRAY Use specified file extensions to select which altered files to PHP lint.' . PHP_EOL .
"\t" . ' Default is: "' . implode( ',', VIPGOCI_LINT_FILE_EXTENSIONS_DEFAULT ) . '"' . PHP_EOL .
"\t" . '--lint-skip-folders=STRING Specify folders relative to root of the git repository in which' . PHP_EOL .
"\t" . ' files should not be PHP linted. Values are comma separated.' . PHP_EOL .
"\t" . '--lint-skip-folders-in-repo-options-file=BOOL Whether to allow specifying folders that are not' . PHP_EOL .
Expand All @@ -105,6 +107,8 @@ function vipgoci_help_print() :void {
"\t" . ' should be an array with items separated by commas.' . PHP_EOL .
"\t" . '--phpcs-sniffs-exclude=ARRAY Specify which sniffs to exclude from PHPCS scanning,' . PHP_EOL .
"\t" . ' should be an array with items separated by commas.' . PHP_EOL .
"\t" . '--phpcs-file-extensions=ARRAY Use specified file extensions to select which altered files to PHPCS scan.' . PHP_EOL .
"\t" . ' Default is: "' . implode( ',', VIPGOCI_PHPCS_FILE_EXTENSIONS_DEFAULT ) . '"' . PHP_EOL .
"\t" . '--phpcs-runtime-set=STRING Specify --runtime-set values passed on to PHPCS' . PHP_EOL .
"\t" . ' -- expected to be a comma-separated value string of' . PHP_EOL .
"\t" . ' key-value pairs.' . PHP_EOL .
Expand All @@ -131,6 +135,8 @@ function vipgoci_help_print() :void {
"\t" . ' $PATH will be used instead.' . PHP_EOL .
"\t" . '--svg-scanner-path=FILE Path to SVG scanning tool. Should return similar output' . PHP_EOL .
"\t" . ' as PHPCS.' . PHP_EOL .
"\t" . '--svg-file-extensions=ARRAY Use specified file extensions to select which altered files to SVG scan. ' . PHP_EOL .
"\t" . ' Default is: "' . implode( ',', VIPGOCI_SVG_FILE_EXTENSIONS_DEFAULT ) . '"' . PHP_EOL .
PHP_EOL .
'WPScan API scanning configuration:' . PHP_EOL .
"\t" . '--wpscan-api=BOOL Enable or disable WPScan API scanning. Disabled by default.' . PHP_EOL .
Expand All @@ -140,6 +146,8 @@ function vipgoci_help_print() :void {
"\t" . ' with items separated by commas.' . PHP_EOL .
"\t" . '--wpscan-api-skip-folders=ARRAY Directories not to scan using WPScan API scanning. Should be an' . PHP_EOL .
"\t" . ' array with items separated by commas.' . PHP_EOL .
"\t" . '--wpscan-api-file-extensions=ARRAY Use specified file extensions to select which altered files to scan with WPScan API.' . PHP_EOL .
"\t" . ' Default is: "' . implode( ',', VIPGOCI_WPSCAN_FILE_EXTENSIONS_DEFAULT ) . '"' . PHP_EOL .
"\t" . '--wpscan-api-report-end-msg=STRING Message to append to end of WPScan API reports. The "%addon_type%" placeholder' . PHP_EOL .
"\t" . ' will be replaced by either "plugin" or "theme", depending on the report. Limited' . PHP_EOL .
"\t" . ' Markdown syntax allowed.' . PHP_EOL .
Expand All @@ -153,6 +161,9 @@ function vipgoci_help_print() :void {
"\t" . ' PHP files approved that contain' . PHP_EOL .
"\t" . ' only non-functional changes, such as' . PHP_EOL .
"\t" . ' whitespacing and comment changes.' . PHP_EOL .
"\t" . '--autoapprove-php-nonfunctional-changes-file-extensions=ARRAY Use specified file extensions to select which files' . PHP_EOL .
"\t" . ' to consider for non-functional auto-approval.' . PHP_EOL .
"\t" . ' Default is: "' . implode( ',', VIPGOCI_APPROVAL_AUTOAPPROVE_NON_FUNCTIONAL_CHANGES_FILE_EXTENSIONS_DEFAULT ) . '"' . PHP_EOL .
"\t" . '--autoapprove-label=STRING String to use for labels when auto-approving.' . PHP_EOL .
PHP_EOL .
'GitHub reviews & generic comments configuration:' . PHP_EOL .
Expand All @@ -166,7 +177,8 @@ function vipgoci_help_print() :void {
"\t" . ' will be submitted.' . PHP_EOL .
"\t" . '--review-comments-total-max=NUMBER Maximum number of inline comments submitted to' . PHP_EOL .
"\t" . ' a single pull request by the program -- includes' . PHP_EOL .
"\t" . ' comments from previous executions. A value of' . PHP_EOL .
"\t" . ' comments from previous executions. Includes only' . PHP_EOL .
"\t" . ' "active" comments, not obsolete ones. A value of' . PHP_EOL .
"\t" . ' \'0\' indicates no limit.' . PHP_EOL .
"\t" . '--review-comments-ignore=STRING Specify which result comments to ignore' . PHP_EOL .
"\t" . ' -- e.g. useful if one type of message is to be ignored' . PHP_EOL .
Expand Down Expand Up @@ -281,9 +293,10 @@ function vipgoci_options_recognized() :array {
* PHP Linting configuration.
*/
'lint:',
'lint-modified-files-only:',
'lint-file-extensions:',
'lint-skip-folders:',
'lint-skip-folders-in-repo-options-file:',
'lint-modified-files-only:',
'lint-php-version-paths:',
'lint-php-versions:',

Expand All @@ -298,6 +311,7 @@ function vipgoci_options_recognized() :array {
'phpcs-severity:',
'phpcs-sniffs-include:',
'phpcs-sniffs-exclude:',
'phpcs-file-extensions:',
'phpcs-runtime-set:',
'phpcs-skip-scanning-via-labels-allowed:',
'phpcs-skip-folders:',
Expand All @@ -310,6 +324,7 @@ function vipgoci_options_recognized() :array {
'svg-checks:',
'svg-php-path:',
'svg-scanner-path:',
'svg-file-extensions:',

/*
* WPScan API scanning configuration
Expand All @@ -319,6 +334,7 @@ function vipgoci_options_recognized() :array {
'wpscan-api-token:',
'wpscan-api-paths:',
'wpscan-api-skip-folders:',
'wpscan-api-file-extensions:',
'wpscan-api-report-end-msg:',

/*
Expand All @@ -327,6 +343,7 @@ function vipgoci_options_recognized() :array {
'autoapprove:',
'autoapprove-filetypes:',
'autoapprove-php-nonfunctional-changes:',
'autoapprove-php-nonfunctional-changes-file-extensions:',
'autoapprove-label:',

/*
Expand Down Expand Up @@ -635,6 +652,16 @@ function vipgoci_run_init_options_phpcs( array &$options ) :void {
);
}

/*
* Process --phpcs-file-extensions -- expected to be
* an array of strings.
*/
vipgoci_option_array_handle(
$options,
'phpcs-file-extensions',
VIPGOCI_PHPCS_FILE_EXTENSIONS_DEFAULT
);

/*
* Process --phpcs-runtime-set -- expected to be an
* array of values.
Expand Down Expand Up @@ -698,6 +725,16 @@ function vipgoci_run_init_options_wpscan( array &$options ) :void {
'wpscan-api-skip-folders'
);

/*
* Process --wpscan-api-file-extensions -- expected to be an
* array of values.
*/
vipgoci_option_array_handle(
$options,
'wpscan-api-file-extensions',
VIPGOCI_WPSCAN_FILE_EXTENSIONS_DEFAULT
);

/*
* Process --wpscan-api-report-end-msg -- expected to be a string.
*/
Expand Down Expand Up @@ -801,6 +838,16 @@ function vipgoci_run_init_options_svg( array &$options ) :void {
} else {
$options['svg-scanner-path'] = null;
}

/*
* Process --svg-file-extensions -- expected to be
* an array of strings.
*/
vipgoci_option_array_handle(
$options,
'svg-file-extensions',
VIPGOCI_SVG_FILE_EXTENSIONS_DEFAULT
);
}

/**
Expand All @@ -819,17 +866,44 @@ function vipgoci_run_init_options_autoapprove( array &$options ) :void {

vipgoci_option_bool_handle( $options, 'autoapprove-php-nonfunctional-changes', 'false' );

vipgoci_option_array_handle(
$options,
'autoapprove-php-nonfunctional-changes-file-extensions',
VIPGOCI_APPROVAL_AUTOAPPROVE_NON_FUNCTIONAL_CHANGES_FILE_EXTENSIONS_DEFAULT
);

/*
* Process --autoapprove-filetypes, array option.
*
* Values will be converted to lowercase.
*/
vipgoci_option_array_handle(
$options,
'autoapprove-filetypes',
array(),
'php'
);
if ( true === $options['autoapprove'] ) {
vipgoci_option_array_handle(
$options,
'autoapprove-filetypes',
array(),

gudmdharalds marked this conversation as resolved.
Show resolved Hide resolved
/*
gudmdharalds marked this conversation as resolved.
Show resolved Hide resolved
* Cross-reference: We disallow autoapproving PHP
* linted and PHPCS scanned files here, because these
* could contain dangerous code.
*
* Also disallow autoapproving SVG files here, as there
* is a dedicated part of vip-go-ci to scan them and
* autoapprove. Similar applies to non-functional changes.
*/
array_unique(
array_merge(
$options['lint-file-extensions'],
$options['phpcs-file-extensions'],
$options['svg-file-extensions'],
$options['autoapprove-php-nonfunctional-changes-file-extensions'],
)
)
);
} else {
$options['autoapprove-filetypes'] = array();
}

/*
* Process --autoapprove-label. Set to boolean
Expand Down Expand Up @@ -864,63 +938,6 @@ function vipgoci_run_init_options_autoapprove( array &$options ) :void {
VIPGOCI_EXIT_USAGE_ERROR
);
}

/*
* More sanity checking; ensure PHP and JS files cannot
* be specified for auto-approval.
*/
if (
( true === $options['autoapprove'] ) &&

/*
* Cross-reference: We disallow autoapproving
* PHP and JS files here, because they chould contain
* contain dangerous code.
*/
(
( in_array(
'php',
$options['autoapprove-filetypes'],
true
) )
||
( in_array(
'js',
$options['autoapprove-filetypes'],
true
) )
)
) {
vipgoci_sysexit(
'PHP and JS files cannot be auto-approved on file-type basis, as they ' .
'can cause serious problems for execution',
array(),
VIPGOCI_EXIT_USAGE_ERROR
);
}

/*
* Also, we disallow autoapproving SVG files here, as
* we have a dedicated part of vip-go-ci to scan them
* and autoapprove.
*/

if (
( true === $options['autoapprove'] ) &&
( in_array(
'svg',
$options['autoapprove-filetypes'],
true
) )
) {
vipgoci_sysexit(
'SVG files cannot be auto-approved on file-type basis, as they ' .
'can contain problematic code. Use --svg-checks=true to ' .
'allow auto-approval of SVG files',
array(),
VIPGOCI_EXIT_USAGE_ERROR
);
}
}

/**
Expand Down Expand Up @@ -1091,6 +1108,12 @@ function vipgoci_run_init_options_lint( array &$options ) :void {
'true'
);

vipgoci_option_array_handle(
$options,
'lint-file-extensions',
VIPGOCI_LINT_FILE_EXTENSIONS_DEFAULT
);

vipgoci_option_bool_handle(
$options,
'lint-skip-folders-in-repo-options-file',
Expand Down Expand Up @@ -2199,12 +2222,12 @@ function vipgoci_run_init_options(
// Set options relating to WPScan API.
vipgoci_run_init_options_wpscan( $options );

// Process autoapprove options.
vipgoci_run_init_options_autoapprove( $options );

// Set SVG options.
vipgoci_run_init_options_svg( $options );

// Process autoapprove options.
vipgoci_run_init_options_autoapprove( $options );

// Set git repository options.
vipgoci_run_init_options_git_repo( $options );

Expand Down
Loading