Plugin Directory

Changeset 3181695


Ignore:
Timestamp:
11/04/2024 05:34:44 PM (17 months ago)
Author:
gdatavaas
Message:

add detection-name, sha256 and request-id to the detection views

Location:
gdata-antivirus
Files:
1258 added
17 edited

Legend:

Unmodified
Added
Removed
  • gdata-antivirus/trunk/Infrastructure/Database/FindingsQuery.php

    r3169198 r3181695  
    44
    55use GDAVSCOPE\Psr\Log\LoggerInterface;
     6use wpdb;
    67class FindingsQuery implements \Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\IFindingsQuery
    78{
     
    2223        $sql = 'CREATE TABLE ' . $this->get_table_name() . ' (
    2324            file_path VARCHAR(512) NOT NULL,
     25            detection VARCHAR(128) NOT NULL,
     26            sha256 VARCHAR(64) NOT NULL,
     27            request_id VARCHAR(256) NOT NULL,
    2428            UNIQUE KEY file_path (file_path)
    2529        )' . $charset_collate . ';';
     
    5357        return \false;
    5458    }
    55     public function add(string $file): void
     59    public function add(\Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\DetectedFile $detected_file): void
    5660    {
    5761        global $wpdb;
     
    6064        }
    6165        try {
    62             $wpdb->insert($this->get_table_name(), array('file_path' => $file));
     66            $wpdb->insert($this->get_table_name(), array('file_path' => $detected_file->path, 'detection' => $detected_file->detection, 'sha256' => $detected_file->sha256, 'request_id' => $detected_file->request_id));
    6367        } catch (\Exception $e) {
    6468            $this->logger->debug($e->getMessage());
     
    7377        $wpdb->delete($this->get_table_name(), array('file_path' => $file));
    7478    }
     79    public function delete_all(): void
     80    {
     81        global $wpdb;
     82        assert($wpdb instanceof wpdb);
     83        if (!$this->table_exists()) {
     84            return;
     85        }
     86        $wpdb->query($wpdb->prepare('TRUNCATE TABLE %i', $this->get_table_name()));
     87    }
    7588    public function get_all(): array
    7689    {
     
    7992            return array();
    8093        }
    81         return $wpdb->get_results($wpdb->prepare('SELECT file_path FROM %i', $this->get_table_name()), ARRAY_A);
     94        return $wpdb->get_results($wpdb->prepare('SELECT file_path, detection, sha256, request_id FROM %i', $this->get_table_name()), ARRAY_A);
    8295    }
    8396    public function count(): int
  • gdata-antivirus/trunk/Infrastructure/Database/IFindingsQuery.php

    r3169198 r3181695  
    55interface IFindingsQuery extends \Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\IDatabase
    66{
    7     public function add(string $file): void;
     7    public function add(\Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\DetectedFile $file): void;
    88    public function delete(string $file): void;
     9    public function delete_all(): void;
    910    public function get_all(): array;
    1011    public function table_exists(): bool;
  • gdata-antivirus/trunk/PluginPage/Findings/FindingsMenuPage.php

    r3169198 r3181695  
    2828            add_action('admin_menu', array($this, 'setup_menu'));
    2929            add_action('admin_post_delete_findings', array($this, 'delete_findings'));
     30            add_action('admin_post_reset_findings', array($this, 'reset_findings'));
    3031        }
    3132        public function setup_menu(): void
     
    3738            $this->logger->debug('FindingsMenuPage::validate_findings');
    3839            $this->findings->validate();
     40        }
     41        public function reset_findings(): void
     42        {
     43            $this->logger->debug('FindingsMenuPage::reset_findings');
     44            if (!isset($_POST['gdata-antivirus-reset-findings-nonce'])) {
     45                wp_die(esc_html__('Invalid nonce specified', 'gdata-antivirus'), esc_html__('Error', 'gdata-antivirus'), array('response' => intval(403)));
     46            }
     47            if (!wp_verify_nonce(sanitize_key($_POST['gdata-antivirus-reset-findings-nonce']), 'gdata-antivirus-reset-findings')) {
     48                wp_die(esc_html__('Invalid nonce specified', 'gdata-antivirus'), esc_html__('Error', 'gdata-antivirus'), array('response' => intval(403)));
     49            }
     50            $this->findings->delete_all();
     51            wp_redirect(admin_url());
    3952        }
    4053        public function delete_findings(): void
     
    7891                        <tr>
    7992                            <td id="cb" class="manage-column column-cb check-column"><label class="screen-reader-text" for="cb-select-all-1">Select All</label><input id="cb-select-all-1" type="checkbox"></td>
    80                             <th scope="col" id="title" class="manage-column column-title column-primary">
     93                            <th scope="col" id="title_file" class="manage-column column-title column-primary">
    8194                                File
     95                            </th>
     96                            <th scope="col" id="title_detection" class="manage-column column-title column-primary">
     97                                Detection
     98                            </th>
     99                            <th scope="col" id="title_sha256" class="manage-column column-title column-primary">
     100                                Sha256
     101                            </th>
     102                            <th scope="col" id="title_request_id" class="manage-column column-title column-primary">
     103                                Request-Id
    82104                            </th>
    83105                        </tr>
     
    107129                    ?>
    108130                                    </td>
     131                                    <td>
     132                                        <?php
     133                    echo esc_html($finding['detection']);
     134                    ?>
     135                                    </td>
     136                                    <td>
     137                                        <?php
     138                    echo esc_html($finding['sha256']);
     139                    ?>
     140                                    </td>
     141                                    <td>
     142                                        <?php
     143                    echo esc_html($finding['request_id']);
     144                    ?>
     145                                    </td>
    109146                                </tr>
    110147                                <?php
     
    116153                </table>
    117154
    118                 <input type="hidden" name="action" value="delete_findings">
    119155                <?php
    120156            wp_nonce_field('gdata-antivirus-delete-findings', 'gdata-antivirus-delete-findings-nonce');
    121157            ?>
    122158                <?php
    123             submit_button(__('Remove Files', 'gdata-antivirus'));
     159            submit_button(__('Remove Files', 'gdata-antivirus'), 'primary', 'delete_findings', \true, array('formaction' => 'admin-post.php?action=delete_findings'));
     160            ?>
     161                <?php
     162            wp_nonce_field('gdata-antivirus-reset-findings', 'gdata-antivirus-reset-findings-nonce');
     163            ?>
     164                <?php
     165            submit_button(__('Reset', 'gdata-antivirus'), 'primary', 'reset_findings', \true, array('formaction' => 'admin-post.php?action=reset_findings'));
    124166            ?>
    125167            </form>
  • gdata-antivirus/trunk/PluginPage/FullScan/FullScanMenuPage.php

    r3171407 r3181695  
    33namespace Gdatacyberdefenseag\GdataAntivirus\PluginPage\FullScan;
    44
     5use Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\DetectedFile;
    56use Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\IFindingsQuery;
    67use Gdatacyberdefenseag\GdataAntivirus\Infrastructure\Database\IScansQuery;
     
    145146                    continue;
    146147                }
     148                // For testing purposes, we only scan files with eicar in the name
     149                // if (str_contains($file_path->getPathname(), "eicar") === false) {
     150                //  continue;
     151                // }
    147152                $this->logger->debug($file_path->getPathname());
    148153                array_push($files, $file_path->getPathname());
     
    173178                    }
    174179                    $scan_client = $this->scan_client;
    175                     if ($scan_client->scan_file($file) === \GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS) {
     180                    $vaas_verdict = $scan_client->scan_file($file);
     181                    if ($vaas_verdict->Verdict === \GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS) {
    176182                        $this->logger->debug('add to findings ' . $file);
    177                         $this->findings->add($file);
     183                        $this->findings->add(new DetectedFile($file, $vaas_verdict->Detection, $vaas_verdict->Sha256, $vaas_verdict->Guid));
    178184                    }
    179185                }
  • gdata-antivirus/trunk/Readme.txt

    r3171581 r3181695  
    55Tested up to: 6.6
    66Requires PHP: 8.1
    7 Stable tag: 2.0.8
     7Stable tag: 2.0.9
    88License: GNU General Public License v3.0
    99License URI: https://github.com/GDATASoftwareAG/vaas/blob/main/LICENSE
     
    5757== Changelog ==
    5858
     59= 2.0.9 =
     60* bugfix: reconnect on long running scans
     61* add detection and sha256 name to upload detection
     62* add detection and sha256 to the findings page
     63
    5964= 2.0.8 =
    6065* bugfix: posts could not be saved
  • gdata-antivirus/trunk/Vaas/ScanClient.php

    r3171581 r3181695  
    99use GDAVSCOPE\VaasSdk\Authentication\ClientCredentialsGrantAuthenticator;
    1010use GDAVSCOPE\VaasSdk\Authentication\ResourceOwnerPasswordGrantAuthenticator;
    11 use GDAVSCOPE\VaasSdk\Exceptions\VaasInvalidStateException;
    12 use GDAVSCOPE\VaasSdk\Message\Verdict;
     11use GDAVSCOPE\VaasSdk\Message\VaasVerdict;
     12use GDAVSCOPE\VaasSdk\Message\VerdictResponse;
    1313use GDAVSCOPE\VaasSdk\VaasOptions as VaasParameters;
    1414if (!class_exists('GDAVSCOPE\ScanClient')) {
     
    8383            $this->connect();
    8484            try {
    85                 $verdict = $this->vaas->ForStream($stream);
    86             } catch (VaasInvalidStateException $e) {
     85                $vaas_verdict = $this->vaas->ForStream($stream);
     86            } catch (\Exception $e) {
    8787                try {
    8888                    $this->reconnect();
    89                     $verdict = $this->vaas->ForStream($stream);
     89                    $vaas_verdict = $this->vaas->ForStream($stream);
    9090                } catch (\Exception $e) {
    9191                    $this->admin_notices->add_notice(esc_html__('virus scan failed', 'gdata-antivirus'));
     
    9393                    return $data;
    9494                }
    95             } catch (\Exception $e) {
    96                 $this->admin_notices->add_notice(esc_html__('virus scan failed', 'gdata-antivirus'));
    97                 $this->logger->debug($e->getMessage());
    98                 return $data;
    99             }
    100             $this->logger->debug(var_export($verdict, \true));
     95            }
     96            $this->logger->debug(var_export($vaas_verdict->Verdict, \true));
    10197            // phpcs:ignore
    102             if (\GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS === $verdict->Verdict) {
     98            if (\GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS === $vaas_verdict->Verdict) {
    10399                $this->logger->debug('gdata-antivirus: virus found in post');
    104                 wp_die(esc_html__('virus found', 'gdata-antivirus'));
     100                wp_die(esc_html__("Virus found! - Detection: {$vaas_verdict->Detection} - SHA256: {$vaas_verdict->Sha256} - Guid: {$vaas_verdict->Guid}", 'gdata-antivirus'));
    105101            }
    106102            return $data;
     
    132128            $this->connect();
    133129            try {
    134                 $verdict = $this->vaas->ForStream($stream);
    135             } catch (VaasInvalidStateException $e) {
     130                $vaas_verdict = $this->vaas->ForStream($stream);
     131            } catch (\Exception $e) {
    136132                try {
    137133                    $this->reconnect();
    138                     $verdict = $this->vaas->ForStream($stream);
     134                    $vaas_verdict = $this->vaas->ForStream($stream);
    139135                } catch (\Exception $e) {
    140136                    $this->admin_notices->add_notice(esc_html__('virus scan failed', 'gdata-antivirus'));
    141137                    $this->logger->debug($e->getMessage());
    142138                }
    143             } catch (\Exception $e) {
    144                 $this->admin_notices->add_notice(esc_html__('virus scan failed', 'gdata-antivirus'));
    145                 $this->logger->debug($e->getMessage());
    146             }
    147             $this->logger->debug(var_export($verdict, \true));
     139            }
     140            $this->logger->debug(var_export($vaas_verdict->Verdict, \true));
    148141            // phpcs:ignore
    149             if (\GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS === $verdict->Verdict) {
     142            if (\GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS === $vaas_verdict->Verdict) {
    150143                $this->logger->debug('gdata-antivirus: virus found in comment');
    151                 wp_die(esc_html__('virus found', 'gdata-antivirus'));
     144                wp_die(esc_html__("Virus found! - Detection: {$vaas_verdict->Detection} - SHA256: {$vaas_verdict->Sha256} - Guid: {$vaas_verdict->Guid}", 'gdata-antivirus'));
    152145            }
    153146            return $commentdata;
     
    184177                }
    185178            }
    186             $verdict = $this->scan_file($file['tmp_name']);
     179            $vaas_verdict = $this->scan_file($file['tmp_name']);
     180            $verdict = $vaas_verdict->Verdict;
    187181            if (\GDAVSCOPE\VaasSdk\Message\Verdict::MALICIOUS === $verdict) {
    188                 $file['error'] = __('virus found', 'gdata-antivirus');
     182                $file['error'] = __("Virus found! - Detection: {$vaas_verdict->Detection} - SHA256: {$vaas_verdict->Sha256} - Guid: {$vaas_verdict->Guid}", 'gdata-antivirus');
    189183            }
    190184            return $file;
    191185        }
    192         public function scan_file($file_path): Verdict
     186        public function scan_file($file_path): VaasVerdict
    193187        {
    194188            $this->connect();
    195189            try {
    196                 $verdict = $this->vaas->ForFile($file_path)->Verdict;
    197             } catch (VaasInvalidStateException $e) {
     190                $vaas_verdict = $this->vaas->ForFile($file_path);
     191            } catch (\Exception $e) {
    198192                try {
    199193                    $this->reconnect();
    200                     $verdict = $this->vaas->ForFile($file_path)->Verdict;
     194                    $vaas_verdict = $this->vaas->ForFile($file_path);
    201195                } catch (\Exception $e) {
    202196                    $this->logger->debug($e->getMessage());
    203                     return Verdict::UNKNOWN;
    204                 }
    205             } catch (\Exception $e) {
    206                 $this->logger->debug($e->getMessage());
    207                 return Verdict::UNKNOWN;
    208             }
    209             $this->logger->debug('gdata-antivirus: verdict for file ' . $file_path . ': ' . var_export($verdict, \true));
    210             return $verdict;
     197                    return new VaasVerdict(new VerdictResponse());
     198                }
     199            }
     200            $this->logger->debug('gdata-antivirus: verdict for file ' . $file_path . ': ' . var_export($vaas_verdict, \true));
     201            return $vaas_verdict;
    211202        }
    212203    }
  • gdata-antivirus/trunk/composer.json

    r3171581 r3181695  
    11{
    22    "name": "gdatacyberdefenseag\/gdata-antivirus",
    3     "version": "2.0.8",
     3    "version": "2.0.9",
    44    "autoload": {
    55        "psr-4": {
     
    1616        "php": ">=8.1",
    1717        "gdata\/vaas": "9.0.5",
    18         "illuminate\/container": "^11.27"
     18        "illuminate\/container": "^11.30"
    1919    },
    2020    "config": {
     
    3333    "require-dev": {
    3434        "johnpbloch\/wordpress": "6.6.2",
    35         "phpunit\/phpunit": "^11.2",
    36         "wp-coding-standards\/wpcs": "^3.0",
     35        "phpunit\/phpunit": "^11.4",
     36        "wp-coding-standards\/wpcs": "^3.1",
    3737        "symfony\/finder": "^7.1"
    3838    }
  • gdata-antivirus/trunk/composer.lock

    r3169198 r3181695  
    55        "This file is @generated automatically"
    66    ],
    7     "content-hash": "22fb7cfa3bf9ea3a4e65d0cab626ab40",
     7    "content-hash": "6dbc678bbb2da49ad0fe8a69d78735ca",
    88    "packages": [
    99        {
     
    636636        {
    637637            "name": "amphp/parallel",
    638             "version": "v2.2.9",
     638            "version": "v2.3.0",
    639639            "source": {
    640640                "type": "git",
    641641                "url": "https://github.com/amphp/parallel.git",
    642                 "reference": "73d293f1fc4df1bebc3c4fce1432e82dd7032238"
    643             },
    644             "dist": {
    645                 "type": "zip",
    646                 "url": "https://api.github.com/repos/amphp/parallel/zipball/73d293f1fc4df1bebc3c4fce1432e82dd7032238",
    647                 "reference": "73d293f1fc4df1bebc3c4fce1432e82dd7032238",
     642                "reference": "9777db1460d1535bc2a843840684fb1205225b87"
     643            },
     644            "dist": {
     645                "type": "zip",
     646                "url": "https://api.github.com/repos/amphp/parallel/zipball/9777db1460d1535bc2a843840684fb1205225b87",
     647                "reference": "9777db1460d1535bc2a843840684fb1205225b87",
    648648                "shasum": ""
    649649            },
     
    708708            "support": {
    709709                "issues": "https://github.com/amphp/parallel/issues",
    710                 "source": "https://github.com/amphp/parallel/tree/v2.2.9"
     710                "source": "https://github.com/amphp/parallel/tree/v2.3.0"
    711711            },
    712712            "funding": [
     
    716716                }
    717717            ],
    718             "time": "2024-03-24T18:27:44+00:00"
     718            "time": "2024-09-14T19:16:14+00:00"
    719719        },
    720720        {
     
    13371337        {
    13381338            "name": "illuminate/container",
    1339             "version": "v11.27.2",
     1339            "version": "v11.30.0",
    13401340            "source": {
    13411341                "type": "git",
    13421342                "url": "https://github.com/illuminate/container.git",
    1343                 "reference": "bc49d144a20b0d432e1ac812c9e056594b6c6480"
    1344             },
    1345             "dist": {
    1346                 "type": "zip",
    1347                 "url": "https://api.github.com/repos/illuminate/container/zipball/bc49d144a20b0d432e1ac812c9e056594b6c6480",
    1348                 "reference": "bc49d144a20b0d432e1ac812c9e056594b6c6480",
     1343                "reference": "06dfc614aff58384b28ba5ad191f6a02d6b192cb"
     1344            },
     1345            "dist": {
     1346                "type": "zip",
     1347                "url": "https://api.github.com/repos/illuminate/container/zipball/06dfc614aff58384b28ba5ad191f6a02d6b192cb",
     1348                "reference": "06dfc614aff58384b28ba5ad191f6a02d6b192cb",
    13491349                "shasum": ""
    13501350            },
     
    13841384                "source": "https://github.com/laravel/framework"
    13851385            },
    1386             "time": "2024-10-08T13:34:53+00:00"
     1386            "time": "2024-10-11T15:30:11+00:00"
    13871387        },
    13881388        {
    13891389            "name": "illuminate/contracts",
    1390             "version": "v11.27.2",
     1390            "version": "v11.30.0",
    13911391            "source": {
    13921392                "type": "git",
     
    34263426        {
    34273427            "name": "phpunit/phpunit",
    3428             "version": "11.4.1",
     3428            "version": "11.4.3",
    34293429            "source": {
    34303430                "type": "git",
    34313431                "url": "https://github.com/sebastianbergmann/phpunit.git",
    3432                 "reference": "7875627f15f4da7e7f0823d1f323f7295a77334e"
    3433             },
    3434             "dist": {
    3435                 "type": "zip",
    3436                 "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7875627f15f4da7e7f0823d1f323f7295a77334e",
    3437                 "reference": "7875627f15f4da7e7f0823d1f323f7295a77334e",
     3432                "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76"
     3433            },
     3434            "dist": {
     3435                "type": "zip",
     3436                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e8e8ed1854de5d36c088ec1833beae40d2dedd76",
     3437                "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76",
    34383438                "shasum": ""
    34393439            },
     
    34493449                "phar-io/version": "^3.2.1",
    34503450                "php": ">=8.2",
    3451                 "phpunit/php-code-coverage": "^11.0.6",
     3451                "phpunit/php-code-coverage": "^11.0.7",
    34523452                "phpunit/php-file-iterator": "^5.1.0",
    34533453                "phpunit/php-invoker": "^5.0.1",
     
    34563456                "sebastian/cli-parser": "^3.0.2",
    34573457                "sebastian/code-unit": "^3.0.1",
    3458                 "sebastian/comparator": "^6.1.0",
     3458                "sebastian/comparator": "^6.1.1",
    34593459                "sebastian/diff": "^6.0.2",
    34603460                "sebastian/environment": "^7.2.0",
     
    34633463                "sebastian/object-enumerator": "^6.0.1",
    34643464                "sebastian/type": "^5.1.0",
    3465                 "sebastian/version": "^5.0.1"
     3465                "sebastian/version": "^5.0.2"
    34663466            },
    34673467            "suggest": {
     
    35063506                "issues": "https://github.com/sebastianbergmann/phpunit/issues",
    35073507                "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
    3508                 "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.1"
     3508                "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.3"
    35093509            },
    35103510            "funding": [
     
    35223522                }
    35233523            ],
    3524             "time": "2024-10-08T15:38:37+00:00"
     3524            "time": "2024-10-28T13:07:50+00:00"
    35253525        },
    35263526        {
     
    36963696        {
    36973697            "name": "sebastian/comparator",
    3698             "version": "6.1.0",
     3698            "version": "6.2.1",
    36993699            "source": {
    37003700                "type": "git",
    37013701                "url": "https://github.com/sebastianbergmann/comparator.git",
    3702                 "reference": "fa37b9e2ca618cb051d71b60120952ee8ca8b03d"
    3703             },
    3704             "dist": {
    3705                 "type": "zip",
    3706                 "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa37b9e2ca618cb051d71b60120952ee8ca8b03d",
    3707                 "reference": "fa37b9e2ca618cb051d71b60120952ee8ca8b03d",
     3702                "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739"
     3703            },
     3704            "dist": {
     3705                "type": "zip",
     3706                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/43d129d6a0f81c78bee378b46688293eb7ea3739",
     3707                "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739",
    37083708                "shasum": ""
    37093709            },
     
    37163716            },
    37173717            "require-dev": {
    3718                 "phpunit/phpunit": "^11.3"
     3718                "phpunit/phpunit": "^11.4"
    37193719            },
    37203720            "type": "library",
    37213721            "extra": {
    37223722                "branch-alias": {
    3723                     "dev-main": "6.1-dev"
     3723                    "dev-main": "6.2-dev"
    37243724                }
    37253725            },
     
    37613761                "issues": "https://github.com/sebastianbergmann/comparator/issues",
    37623762                "security": "https://github.com/sebastianbergmann/comparator/security/policy",
    3763                 "source": "https://github.com/sebastianbergmann/comparator/tree/6.1.0"
     3763                "source": "https://github.com/sebastianbergmann/comparator/tree/6.2.1"
    37643764            },
    37653765            "funding": [
     
    37693769                }
    37703770            ],
    3771             "time": "2024-09-11T15:42:56+00:00"
     3771            "time": "2024-10-31T05:30:08+00:00"
    37723772        },
    37733773        {
     
    45294529        {
    45304530            "name": "symfony/finder",
    4531             "version": "v7.1.4",
     4531            "version": "v7.1.6",
    45324532            "source": {
    45334533                "type": "git",
    45344534                "url": "https://github.com/symfony/finder.git",
    4535                 "reference": "d95bbf319f7d052082fb7af147e0f835a695e823"
    4536             },
    4537             "dist": {
    4538                 "type": "zip",
    4539                 "url": "https://api.github.com/repos/symfony/finder/zipball/d95bbf319f7d052082fb7af147e0f835a695e823",
    4540                 "reference": "d95bbf319f7d052082fb7af147e0f835a695e823",
     4535                "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8"
     4536            },
     4537            "dist": {
     4538                "type": "zip",
     4539                "url": "https://api.github.com/repos/symfony/finder/zipball/2cb89664897be33f78c65d3d2845954c8d7a43b8",
     4540                "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8",
    45414541                "shasum": ""
    45424542            },
     
    45734573            "homepage": "https://symfony.com",
    45744574            "support": {
    4575                 "source": "https://github.com/symfony/finder/tree/v7.1.4"
     4575                "source": "https://github.com/symfony/finder/tree/v7.1.6"
    45764576            },
    45774577            "funding": [
     
    45894589                }
    45904590            ],
    4591             "time": "2024-08-13T14:28:19+00:00"
     4591            "time": "2024-10-01T08:31:23+00:00"
    45924592        },
    45934593        {
     
    47104710    "aliases": [],
    47114711    "minimum-stability": "stable",
    4712     "stability-flags": [],
     4712    "stability-flags": {},
    47134713    "prefer-stable": false,
    47144714    "prefer-lowest": false,
     
    47164716        "php": ">=8.1"
    47174717    },
    4718     "platform-dev": [],
     4718    "platform-dev": {},
    47194719    "platform-overrides": {
    47204720        "php": "8.2"
  • gdata-antivirus/trunk/gdata-antivirus.php

    r3171581 r3181695  
    1212 * @wordpress-plugin
    1313 * Plugin Name: G DATA Antivirus
    14  * Version: 2.0.8
     14 * Version: 2.0.9
    1515 * Requires at least: 6.2
    1616 * Tested up to: 6.6
  • gdata-antivirus/trunk/vendor/amphp/parallel/src/Context/ProcessContext.php

    r3169198 r3181695  
    2323    private const DEFAULT_START_TIMEOUT = 5;
    2424    private const DEFAULT_OPTIONS = ["html_errors" => "0", "display_errors" => "0", "log_errors" => "1"];
    25     private const XDEBUG_OPTIONS = ["xdebug.mode" => "debug", "xdebug.start_with_request" => "default", "xdebug.client_port" => "9003", "xdebug.client_host" => "localhost"];
     25    private const XDEBUG_OPTIONS = ["xdebug.mode", "xdebug.start_with_request", "xdebug.client_port", "xdebug.client_host"];
    2626    /** @var non-empty-string|null External version of SCRIPT_PATH if inside a PHAR. */
    2727    private static ?string $pharScriptPath = null;
     
    159159        // This copies any ini values set via the command line (e.g., a debug run in PhpStorm)
    160160        // to the child process, instead of relying only on those set in an ini file.
    161         if (\ini_get("xdebug.mode") !== \false) {
    162             foreach (self::XDEBUG_OPTIONS as $option => $defaultValue) {
     161        if (\extension_loaded('xdebug') && \ini_get("xdebug.mode") !== \false) {
     162            foreach (self::XDEBUG_OPTIONS as $option) {
    163163                $iniValue = \ini_get($option);
    164                 $options[$option] = $iniValue === \false ? $defaultValue : $iniValue;
     164                if ($iniValue !== \false) {
     165                    $options[$option] = $iniValue;
     166                }
    165167            }
    166168        }
  • gdata-antivirus/trunk/vendor/amphp/parallel/src/Worker/ContextWorkerPool.php

    r3169198 r3181695  
    2121 * are completed as soon as possible and workers are used efficiently.
    2222 */
    23 final class ContextWorkerPool implements WorkerPool
     23final class ContextWorkerPool implements LimitedWorkerPool
    2424{
    2525    use ForbidCloning;
     
    8888        return $this->idleWorkers->count() > 0 || $this->workers->count() < $this->limit;
    8989    }
     90    public function getWorkerLimit(): int
     91    {
     92        return $this->limit;
     93    }
    9094    /**
    9195     * Gets the maximum number of workers the pool may spawn to handle concurrent tasks.
    9296     *
    9397     * @return int The maximum number of workers.
     98     *
     99     * @deprecated Use {@see getWorkerLimit()} instead.
    94100     */
    95101    public function getLimit(): int
    96102    {
    97         return $this->limit;
     103        return $this->getWorkerLimit();
    98104    }
    99105    public function getWorkerCount(): int
  • gdata-antivirus/trunk/vendor/autoload.php

    r3169198 r3181695  
    2323require_once __DIR__ . '/composer/autoload_real.php';
    2424
    25 return ComposerAutoloaderInit22fb7cfa3bf9ea3a4e65d0cab626ab40::getLoader();
     25return ComposerAutoloaderInit6dbc678bbb2da49ad0fe8a69d78735ca::getLoader();
  • gdata-antivirus/trunk/vendor/composer/autoload_classmap.php

    r3169198 r3181695  
    211211    'GDAVSCOPE\\Amp\\Parallel\\Worker\\ContextWorkerFactory' => $vendorDir . '/amphp/parallel/src/Worker/ContextWorkerFactory.php',
    212212    'GDAVSCOPE\\Amp\\Parallel\\Worker\\ContextWorkerPool' => $vendorDir . '/amphp/parallel/src/Worker/ContextWorkerPool.php',
     213    'GDAVSCOPE\\Amp\\Parallel\\Worker\\DelegatingWorkerPool' => $vendorDir . '/amphp/parallel/src/Worker/DelegatingWorkerPool.php',
    213214    'GDAVSCOPE\\Amp\\Parallel\\Worker\\Execution' => $vendorDir . '/amphp/parallel/src/Worker/Execution.php',
    214215    'GDAVSCOPE\\Amp\\Parallel\\Worker\\Internal\\ContextWorker' => $vendorDir . '/amphp/parallel/src/Worker/Internal/ContextWorker.php',
     
    224225    'GDAVSCOPE\\Amp\\Parallel\\Worker\\Internal\\TaskSubmission' => $vendorDir . '/amphp/parallel/src/Worker/Internal/TaskSubmission.php',
    225226    'GDAVSCOPE\\Amp\\Parallel\\Worker\\Internal\\TaskSuccess' => $vendorDir . '/amphp/parallel/src/Worker/Internal/TaskSuccess.php',
     227    'GDAVSCOPE\\Amp\\Parallel\\Worker\\LimitedWorkerPool' => $vendorDir . '/amphp/parallel/src/Worker/LimitedWorkerPool.php',
    226228    'GDAVSCOPE\\Amp\\Parallel\\Worker\\Task' => $vendorDir . '/amphp/parallel/src/Worker/Task.php',
    227229    'GDAVSCOPE\\Amp\\Parallel\\Worker\\TaskCancelledException' => $vendorDir . '/amphp/parallel/src/Worker/TaskCancelledException.php',
     
    361363    'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Database' => $vendorDir . '/illuminate/container/Attributes/Database.php',
    362364    'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Log' => $vendorDir . '/illuminate/container/Attributes/Log.php',
     365    'GDAVSCOPE\\Illuminate\\Container\\Attributes\\RouteParameter' => $vendorDir . '/illuminate/container/Attributes/RouteParameter.php',
    363366    'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Storage' => $vendorDir . '/illuminate/container/Attributes/Storage.php',
    364367    'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Tag' => $vendorDir . '/illuminate/container/Attributes/Tag.php',
     
    877880    'GDAVSCOPE\\WebSocket\\TimeoutException' => $vendorDir . '/textalk/websocket/lib/TimeoutException.php',
    878881    'Gdatacyberdefenseag\\GdataAntivirus\\GdataAntivirusPlugin' => $baseDir . '/GdataAntivirusPlugin.php',
     882    'Gdatacyberdefenseag\\GdataAntivirus\\Infrastructure\\Database\\DetectedFile' => $baseDir . '/Infrastructure/Database/DetectedFile.php',
    879883    'Gdatacyberdefenseag\\GdataAntivirus\\Infrastructure\\Database\\FindingsQuery' => $baseDir . '/Infrastructure/Database/FindingsQuery.php',
    880884    'Gdatacyberdefenseag\\GdataAntivirus\\Infrastructure\\Database\\IDatabase' => $baseDir . '/Infrastructure/Database/IDatabase.php',
  • gdata-antivirus/trunk/vendor/composer/autoload_real.php

    r3169198 r3181695  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit22fb7cfa3bf9ea3a4e65d0cab626ab40
     5class ComposerAutoloaderInit6dbc678bbb2da49ad0fe8a69d78735ca
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit22fb7cfa3bf9ea3a4e65d0cab626ab40', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit6dbc678bbb2da49ad0fe8a69d78735ca', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit22fb7cfa3bf9ea3a4e65d0cab626ab40', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit6dbc678bbb2da49ad0fe8a69d78735ca', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit22fb7cfa3bf9ea3a4e65d0cab626ab40::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit6dbc678bbb2da49ad0fe8a69d78735ca::getInitializer($loader));
    3333
    3434        $loader->setClassMapAuthoritative(true);
    3535        $loader->register(true);
    3636
    37         $filesToLoad = \Composer\Autoload\ComposerStaticInit22fb7cfa3bf9ea3a4e65d0cab626ab40::$files;
     37        $filesToLoad = \Composer\Autoload\ComposerStaticInit6dbc678bbb2da49ad0fe8a69d78735ca::$files;
    3838        $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
    3939            if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • gdata-antivirus/trunk/vendor/composer/autoload_static.php

    r3169198 r3181695  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit22fb7cfa3bf9ea3a4e65d0cab626ab40
     7class ComposerStaticInit6dbc678bbb2da49ad0fe8a69d78735ca
    88{
    99    public static $files = array (
     
    421421        'GDAVSCOPE\\Amp\\Parallel\\Worker\\ContextWorkerFactory' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/ContextWorkerFactory.php',
    422422        'GDAVSCOPE\\Amp\\Parallel\\Worker\\ContextWorkerPool' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/ContextWorkerPool.php',
     423        'GDAVSCOPE\\Amp\\Parallel\\Worker\\DelegatingWorkerPool' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/DelegatingWorkerPool.php',
    423424        'GDAVSCOPE\\Amp\\Parallel\\Worker\\Execution' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/Execution.php',
    424425        'GDAVSCOPE\\Amp\\Parallel\\Worker\\Internal\\ContextWorker' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/Internal/ContextWorker.php',
     
    434435        'GDAVSCOPE\\Amp\\Parallel\\Worker\\Internal\\TaskSubmission' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/Internal/TaskSubmission.php',
    435436        'GDAVSCOPE\\Amp\\Parallel\\Worker\\Internal\\TaskSuccess' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/Internal/TaskSuccess.php',
     437        'GDAVSCOPE\\Amp\\Parallel\\Worker\\LimitedWorkerPool' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/LimitedWorkerPool.php',
    436438        'GDAVSCOPE\\Amp\\Parallel\\Worker\\Task' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/Task.php',
    437439        'GDAVSCOPE\\Amp\\Parallel\\Worker\\TaskCancelledException' => __DIR__ . '/..' . '/amphp/parallel/src/Worker/TaskCancelledException.php',
     
    571573        'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Database' => __DIR__ . '/..' . '/illuminate/container/Attributes/Database.php',
    572574        'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Log' => __DIR__ . '/..' . '/illuminate/container/Attributes/Log.php',
     575        'GDAVSCOPE\\Illuminate\\Container\\Attributes\\RouteParameter' => __DIR__ . '/..' . '/illuminate/container/Attributes/RouteParameter.php',
    573576        'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Storage' => __DIR__ . '/..' . '/illuminate/container/Attributes/Storage.php',
    574577        'GDAVSCOPE\\Illuminate\\Container\\Attributes\\Tag' => __DIR__ . '/..' . '/illuminate/container/Attributes/Tag.php',
     
    10871090        'GDAVSCOPE\\WebSocket\\TimeoutException' => __DIR__ . '/..' . '/textalk/websocket/lib/TimeoutException.php',
    10881091        'Gdatacyberdefenseag\\GdataAntivirus\\GdataAntivirusPlugin' => __DIR__ . '/../..' . '/GdataAntivirusPlugin.php',
     1092        'Gdatacyberdefenseag\\GdataAntivirus\\Infrastructure\\Database\\DetectedFile' => __DIR__ . '/../..' . '/Infrastructure/Database/DetectedFile.php',
    10891093        'Gdatacyberdefenseag\\GdataAntivirus\\Infrastructure\\Database\\FindingsQuery' => __DIR__ . '/../..' . '/Infrastructure/Database/FindingsQuery.php',
    10901094        'Gdatacyberdefenseag\\GdataAntivirus\\Infrastructure\\Database\\IDatabase' => __DIR__ . '/../..' . '/Infrastructure/Database/IDatabase.php',
     
    11081112    {
    11091113        return \Closure::bind(function () use ($loader) {
    1110             $loader->prefixLengthsPsr4 = ComposerStaticInit22fb7cfa3bf9ea3a4e65d0cab626ab40::$prefixLengthsPsr4;
    1111             $loader->prefixDirsPsr4 = ComposerStaticInit22fb7cfa3bf9ea3a4e65d0cab626ab40::$prefixDirsPsr4;
    1112             $loader->classMap = ComposerStaticInit22fb7cfa3bf9ea3a4e65d0cab626ab40::$classMap;
     1114            $loader->prefixLengthsPsr4 = ComposerStaticInit6dbc678bbb2da49ad0fe8a69d78735ca::$prefixLengthsPsr4;
     1115            $loader->prefixDirsPsr4 = ComposerStaticInit6dbc678bbb2da49ad0fe8a69d78735ca::$prefixDirsPsr4;
     1116            $loader->classMap = ComposerStaticInit6dbc678bbb2da49ad0fe8a69d78735ca::$classMap;
    11131117
    11141118        }, null, ClassLoader::class);
  • gdata-antivirus/trunk/vendor/composer/installed.json

    r3169198 r3181695  
    654654        {
    655655            "name": "amphp\/parallel",
    656             "version": "v2.2.9",
    657             "version_normalized": "2.2.9.0",
     656            "version": "v2.3.0",
     657            "version_normalized": "2.3.0.0",
    658658            "source": {
    659659                "type": "git",
    660660                "url": "https:\/\/github.com\/amphp\/parallel.git",
    661                 "reference": "73d293f1fc4df1bebc3c4fce1432e82dd7032238"
    662             },
    663             "dist": {
    664                 "type": "zip",
    665                 "url": "https:\/\/api.github.com\/repos\/amphp\/parallel\/zipball\/73d293f1fc4df1bebc3c4fce1432e82dd7032238",
    666                 "reference": "73d293f1fc4df1bebc3c4fce1432e82dd7032238",
     661                "reference": "9777db1460d1535bc2a843840684fb1205225b87"
     662            },
     663            "dist": {
     664                "type": "zip",
     665                "url": "https:\/\/api.github.com\/repos\/amphp\/parallel\/zipball\/9777db1460d1535bc2a843840684fb1205225b87",
     666                "reference": "9777db1460d1535bc2a843840684fb1205225b87",
    667667                "shasum": ""
    668668            },
     
    686686                "psalm\/phar": "^5.18"
    687687            },
    688             "time": "2024-03-24T18:27:44+00:00",
     688            "time": "2024-09-14T19:16:14+00:00",
    689689            "type": "library",
    690690            "installation-source": "dist",
     
    729729            "support": {
    730730                "issues": "https:\/\/github.com\/amphp\/parallel\/issues",
    731                 "source": "https:\/\/github.com\/amphp\/parallel\/tree\/v2.2.9"
     731                "source": "https:\/\/github.com\/amphp\/parallel\/tree\/v2.3.0"
    732732            },
    733733            "funding": [
     
    13881388        {
    13891389            "name": "illuminate\/container",
    1390             "version": "v11.27.2",
    1391             "version_normalized": "11.27.2.0",
     1390            "version": "v11.30.0",
     1391            "version_normalized": "11.30.0.0",
    13921392            "source": {
    13931393                "type": "git",
    13941394                "url": "https:\/\/github.com\/illuminate\/container.git",
    1395                 "reference": "bc49d144a20b0d432e1ac812c9e056594b6c6480"
    1396             },
    1397             "dist": {
    1398                 "type": "zip",
    1399                 "url": "https:\/\/api.github.com\/repos\/illuminate\/container\/zipball\/bc49d144a20b0d432e1ac812c9e056594b6c6480",
    1400                 "reference": "bc49d144a20b0d432e1ac812c9e056594b6c6480",
     1395                "reference": "06dfc614aff58384b28ba5ad191f6a02d6b192cb"
     1396            },
     1397            "dist": {
     1398                "type": "zip",
     1399                "url": "https:\/\/api.github.com\/repos\/illuminate\/container\/zipball\/06dfc614aff58384b28ba5ad191f6a02d6b192cb",
     1400                "reference": "06dfc614aff58384b28ba5ad191f6a02d6b192cb",
    14011401                "shasum": ""
    14021402            },
     
    14091409                "psr\/container-implementation": "1.1|2.0"
    14101410            },
    1411             "time": "2024-10-08T13:34:53+00:00",
     1411            "time": "2024-10-11T15:30:11+00:00",
    14121412            "type": "library",
    14131413            "extra": {
     
    14421442        {
    14431443            "name": "illuminate\/contracts",
    1444             "version": "v11.27.2",
    1445             "version_normalized": "11.27.2.0",
     1444            "version": "v11.30.0",
     1445            "version_normalized": "11.30.0.0",
    14461446            "source": {
    14471447                "type": "git",
  • gdata-antivirus/trunk/vendor/composer/installed.php

    r3169198 r3181695  
    33namespace GDAVSCOPE;
    44
    5 return array('root' => array('name' => 'gdatacyberdefenseag/gdata-antivirus', 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', 'reference' => null, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('amphp/amp' => array('pretty_version' => 'v3.0.2', 'version' => '3.0.2.0', 'reference' => '138801fb68cfc9c329da8a7b39d01ce7291ee4b0', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/amp', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/byte-stream' => array('pretty_version' => 'v2.1.1', 'version' => '2.1.1.0', 'reference' => 'daa00f2efdbd71565bf64ffefa89e37542addf93', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/byte-stream', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/cache' => array('pretty_version' => 'v2.0.1', 'version' => '2.0.1.0', 'reference' => '46912e387e6aa94933b61ea1ead9cf7540b7797c', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/cache', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/dns' => array('pretty_version' => 'v2.2.0', 'version' => '2.2.0.0', 'reference' => '758266b0ea7470e2e42cd098493bc6d6c7100cf7', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/dns', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/file' => array('pretty_version' => 'v3.1.1', 'version' => '3.1.1.0', 'reference' => '58c8efefb8808d25456ef3ef4a628645442578a2', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/file', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/hpack' => array('pretty_version' => 'v3.2.1', 'version' => '3.2.1.0', 'reference' => '4f293064b15682a2b178b1367ddf0b8b5feb0239', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/hpack', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/http' => array('pretty_version' => 'v2.1.1', 'version' => '2.1.1.0', 'reference' => 'fe6b4dd50c1e70caf823092398074b5082e1d6da', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/http', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/http-client' => array('pretty_version' => 'v5.1.0', 'version' => '5.1.0.0', 'reference' => '483df9a856625fe4406c7fb6a64d6787105bd184', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/http-client', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/parallel' => array('pretty_version' => 'v2.2.9', 'version' => '2.2.9.0', 'reference' => '73d293f1fc4df1bebc3c4fce1432e82dd7032238', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/parallel', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/parser' => array('pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'reference' => '3cf1f8b32a0171d4b1bed93d25617637a77cded7', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/parser', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/pipeline' => array('pretty_version' => 'v1.2.1', 'version' => '1.2.1.0', 'reference' => '66c095673aa5b6e689e63b52d19e577459129ab3', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/pipeline', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/process' => array('pretty_version' => 'v2.0.3', 'version' => '2.0.3.0', 'reference' => '52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/process', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/serialization' => array('pretty_version' => 'v1.0.0', 'version' => '1.0.0.0', 'reference' => '693e77b2fb0b266c3c7d622317f881de44ae94a1', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/serialization', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/socket' => array('pretty_version' => 'v2.3.1', 'version' => '2.3.1.0', 'reference' => '58e0422221825b79681b72c50c47a930be7bf1e1', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/socket', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/sync' => array('pretty_version' => 'v2.3.0', 'version' => '2.3.0.0', 'reference' => '217097b785130d77cfcc58ff583cf26cd1770bf1', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/sync', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/windows-registry' => array('pretty_version' => 'v1.0.1', 'version' => '1.0.1.0', 'reference' => '0d569e8f256cca974e3842b6e78b4e434bf98306', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/windows-registry', 'aliases' => array(), 'dev_requirement' => \false), 'brick/math' => array('pretty_version' => '0.12.1', 'version' => '0.12.1.0', 'reference' => 'f510c0a40911935b77b86859eb5223d58d660df1', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), 'dev_requirement' => \false), 'daverandom/libdns' => array('pretty_version' => 'v2.1.0', 'version' => '2.1.0.0', 'reference' => 'b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a', 'type' => 'library', 'install_path' => __DIR__ . '/../daverandom/libdns', 'aliases' => array(), 'dev_requirement' => \false), 'gdata/vaas' => array('pretty_version' => '9.0.5', 'version' => '9.0.5.0', 'reference' => 'b7c0fe55a78afaf890934af005781bba02ddbab8', 'type' => 'library', 'install_path' => __DIR__ . '/../gdata/vaas', 'aliases' => array(), 'dev_requirement' => \false), 'gdatacyberdefenseag/gdata-antivirus' => array('pretty_version' => '1.2.3', 'version' => '1.2.3.0', 'reference' => null, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'illuminate/container' => array('pretty_version' => 'v11.27.2', 'version' => '11.27.2.0', 'reference' => 'bc49d144a20b0d432e1ac812c9e056594b6c6480', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/container', 'aliases' => array(), 'dev_requirement' => \false), 'illuminate/contracts' => array('pretty_version' => 'v11.27.2', 'version' => '11.27.2.0', 'reference' => '56312862af937bd6da8e6dc8bbd88188dfb478f8', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/contracts', 'aliases' => array(), 'dev_requirement' => \false), 'kelunik/certificate' => array('pretty_version' => 'v1.1.3', 'version' => '1.1.3.0', 'reference' => '7e00d498c264d5eb4f78c69f41c8bd6719c0199e', 'type' => 'library', 'install_path' => __DIR__ . '/../kelunik/certificate', 'aliases' => array(), 'dev_requirement' => \false), 'league/uri' => array('pretty_version' => '7.4.1', 'version' => '7.4.1.0', 'reference' => 'bedb6e55eff0c933668addaa7efa1e1f2c417cc4', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri', 'aliases' => array(), 'dev_requirement' => \false), 'league/uri-components' => array('pretty_version' => '7.4.1', 'version' => '7.4.1.0', 'reference' => 'b94fe4097885f1b51c4c3fcb78025fbbabbb5d9d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri-components', 'aliases' => array(), 'dev_requirement' => \false), 'league/uri-interfaces' => array('pretty_version' => '7.4.1', 'version' => '7.4.1.0', 'reference' => '8d43ef5c841032c87e2de015972c06f3865ef718', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri-interfaces', 'aliases' => array(), 'dev_requirement' => \false), 'netresearch/jsonmapper' => array('pretty_version' => 'v5.0.0', 'version' => '5.0.0.0', 'reference' => '8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c', 'type' => 'library', 'install_path' => __DIR__ . '/../netresearch/jsonmapper', 'aliases' => array(), 'dev_requirement' => \false), 'phrity/net-uri' => array('pretty_version' => '1.3.0', 'version' => '1.3.0.0', 'reference' => '3f458e0c4d1ddc0e218d7a5b9420127c63925f43', 'type' => 'library', 'install_path' => __DIR__ . '/../phrity/net-uri', 'aliases' => array(), 'dev_requirement' => \false), 'phrity/util-errorhandler' => array('pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'reference' => '483228156e06673963902b1cc1e6bd9541ab4d5e', 'type' => 'library', 'install_path' => __DIR__ . '/../phrity/util-errorhandler', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0')), 'psr/http-factory' => array('pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-message' => array('pretty_version' => '1.1', 'version' => '1.1.0.0', 'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log' => array('pretty_version' => '3.0.2', 'version' => '3.0.2.0', 'reference' => 'f16e1d5863e37f8d8c2a01719f5b34baa2b714d3', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => \false), 'psr/simple-cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), 'dev_requirement' => \false), 'ramsey/collection' => array('pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'reference' => 'a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5', 'type' => 'library', 'install_path' => __DIR__ . '/../ramsey/collection', 'aliases' => array(), 'dev_requirement' => \false), 'ramsey/uuid' => array('pretty_version' => '4.7.6', 'version' => '4.7.6.0', 'reference' => '91039bc1faa45ba123c4328958e620d382ec7088', 'type' => 'library', 'install_path' => __DIR__ . '/../ramsey/uuid', 'aliases' => array(), 'dev_requirement' => \false), 'revolt/event-loop' => array('pretty_version' => 'v1.0.6', 'version' => '1.0.6.0', 'reference' => '25de49af7223ba039f64da4ae9a28ec2d10d0254', 'type' => 'library', 'install_path' => __DIR__ . '/../revolt/event-loop', 'aliases' => array(), 'dev_requirement' => \false), 'rhumsaa/uuid' => array('dev_requirement' => \false, 'replaced' => array(0 => '4.7.6')), 'textalk/websocket' => array('pretty_version' => '1.6.3', 'version' => '1.6.3.0', 'reference' => '67de79745b1a357caf812bfc44e0abf481cee012', 'type' => 'library', 'install_path' => __DIR__ . '/../textalk/websocket', 'aliases' => array(), 'dev_requirement' => \false)));
     5return array('root' => array('name' => 'gdatacyberdefenseag/gdata-antivirus', 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', 'reference' => null, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('amphp/amp' => array('pretty_version' => 'v3.0.2', 'version' => '3.0.2.0', 'reference' => '138801fb68cfc9c329da8a7b39d01ce7291ee4b0', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/amp', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/byte-stream' => array('pretty_version' => 'v2.1.1', 'version' => '2.1.1.0', 'reference' => 'daa00f2efdbd71565bf64ffefa89e37542addf93', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/byte-stream', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/cache' => array('pretty_version' => 'v2.0.1', 'version' => '2.0.1.0', 'reference' => '46912e387e6aa94933b61ea1ead9cf7540b7797c', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/cache', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/dns' => array('pretty_version' => 'v2.2.0', 'version' => '2.2.0.0', 'reference' => '758266b0ea7470e2e42cd098493bc6d6c7100cf7', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/dns', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/file' => array('pretty_version' => 'v3.1.1', 'version' => '3.1.1.0', 'reference' => '58c8efefb8808d25456ef3ef4a628645442578a2', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/file', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/hpack' => array('pretty_version' => 'v3.2.1', 'version' => '3.2.1.0', 'reference' => '4f293064b15682a2b178b1367ddf0b8b5feb0239', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/hpack', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/http' => array('pretty_version' => 'v2.1.1', 'version' => '2.1.1.0', 'reference' => 'fe6b4dd50c1e70caf823092398074b5082e1d6da', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/http', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/http-client' => array('pretty_version' => 'v5.1.0', 'version' => '5.1.0.0', 'reference' => '483df9a856625fe4406c7fb6a64d6787105bd184', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/http-client', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/parallel' => array('pretty_version' => 'v2.3.0', 'version' => '2.3.0.0', 'reference' => '9777db1460d1535bc2a843840684fb1205225b87', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/parallel', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/parser' => array('pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'reference' => '3cf1f8b32a0171d4b1bed93d25617637a77cded7', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/parser', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/pipeline' => array('pretty_version' => 'v1.2.1', 'version' => '1.2.1.0', 'reference' => '66c095673aa5b6e689e63b52d19e577459129ab3', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/pipeline', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/process' => array('pretty_version' => 'v2.0.3', 'version' => '2.0.3.0', 'reference' => '52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/process', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/serialization' => array('pretty_version' => 'v1.0.0', 'version' => '1.0.0.0', 'reference' => '693e77b2fb0b266c3c7d622317f881de44ae94a1', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/serialization', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/socket' => array('pretty_version' => 'v2.3.1', 'version' => '2.3.1.0', 'reference' => '58e0422221825b79681b72c50c47a930be7bf1e1', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/socket', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/sync' => array('pretty_version' => 'v2.3.0', 'version' => '2.3.0.0', 'reference' => '217097b785130d77cfcc58ff583cf26cd1770bf1', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/sync', 'aliases' => array(), 'dev_requirement' => \false), 'amphp/windows-registry' => array('pretty_version' => 'v1.0.1', 'version' => '1.0.1.0', 'reference' => '0d569e8f256cca974e3842b6e78b4e434bf98306', 'type' => 'library', 'install_path' => __DIR__ . '/../amphp/windows-registry', 'aliases' => array(), 'dev_requirement' => \false), 'brick/math' => array('pretty_version' => '0.12.1', 'version' => '0.12.1.0', 'reference' => 'f510c0a40911935b77b86859eb5223d58d660df1', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), 'dev_requirement' => \false), 'daverandom/libdns' => array('pretty_version' => 'v2.1.0', 'version' => '2.1.0.0', 'reference' => 'b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a', 'type' => 'library', 'install_path' => __DIR__ . '/../daverandom/libdns', 'aliases' => array(), 'dev_requirement' => \false), 'gdata/vaas' => array('pretty_version' => '9.0.5', 'version' => '9.0.5.0', 'reference' => 'b7c0fe55a78afaf890934af005781bba02ddbab8', 'type' => 'library', 'install_path' => __DIR__ . '/../gdata/vaas', 'aliases' => array(), 'dev_requirement' => \false), 'gdatacyberdefenseag/gdata-antivirus' => array('pretty_version' => '1.2.3', 'version' => '1.2.3.0', 'reference' => null, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'illuminate/container' => array('pretty_version' => 'v11.30.0', 'version' => '11.30.0.0', 'reference' => '06dfc614aff58384b28ba5ad191f6a02d6b192cb', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/container', 'aliases' => array(), 'dev_requirement' => \false), 'illuminate/contracts' => array('pretty_version' => 'v11.30.0', 'version' => '11.30.0.0', 'reference' => '56312862af937bd6da8e6dc8bbd88188dfb478f8', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/contracts', 'aliases' => array(), 'dev_requirement' => \false), 'kelunik/certificate' => array('pretty_version' => 'v1.1.3', 'version' => '1.1.3.0', 'reference' => '7e00d498c264d5eb4f78c69f41c8bd6719c0199e', 'type' => 'library', 'install_path' => __DIR__ . '/../kelunik/certificate', 'aliases' => array(), 'dev_requirement' => \false), 'league/uri' => array('pretty_version' => '7.4.1', 'version' => '7.4.1.0', 'reference' => 'bedb6e55eff0c933668addaa7efa1e1f2c417cc4', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri', 'aliases' => array(), 'dev_requirement' => \false), 'league/uri-components' => array('pretty_version' => '7.4.1', 'version' => '7.4.1.0', 'reference' => 'b94fe4097885f1b51c4c3fcb78025fbbabbb5d9d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri-components', 'aliases' => array(), 'dev_requirement' => \false), 'league/uri-interfaces' => array('pretty_version' => '7.4.1', 'version' => '7.4.1.0', 'reference' => '8d43ef5c841032c87e2de015972c06f3865ef718', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri-interfaces', 'aliases' => array(), 'dev_requirement' => \false), 'netresearch/jsonmapper' => array('pretty_version' => 'v5.0.0', 'version' => '5.0.0.0', 'reference' => '8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c', 'type' => 'library', 'install_path' => __DIR__ . '/../netresearch/jsonmapper', 'aliases' => array(), 'dev_requirement' => \false), 'phrity/net-uri' => array('pretty_version' => '1.3.0', 'version' => '1.3.0.0', 'reference' => '3f458e0c4d1ddc0e218d7a5b9420127c63925f43', 'type' => 'library', 'install_path' => __DIR__ . '/../phrity/net-uri', 'aliases' => array(), 'dev_requirement' => \false), 'phrity/util-errorhandler' => array('pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'reference' => '483228156e06673963902b1cc1e6bd9541ab4d5e', 'type' => 'library', 'install_path' => __DIR__ . '/../phrity/util-errorhandler', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0')), 'psr/http-factory' => array('pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-message' => array('pretty_version' => '1.1', 'version' => '1.1.0.0', 'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log' => array('pretty_version' => '3.0.2', 'version' => '3.0.2.0', 'reference' => 'f16e1d5863e37f8d8c2a01719f5b34baa2b714d3', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => \false), 'psr/simple-cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), 'dev_requirement' => \false), 'ramsey/collection' => array('pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'reference' => 'a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5', 'type' => 'library', 'install_path' => __DIR__ . '/../ramsey/collection', 'aliases' => array(), 'dev_requirement' => \false), 'ramsey/uuid' => array('pretty_version' => '4.7.6', 'version' => '4.7.6.0', 'reference' => '91039bc1faa45ba123c4328958e620d382ec7088', 'type' => 'library', 'install_path' => __DIR__ . '/../ramsey/uuid', 'aliases' => array(), 'dev_requirement' => \false), 'revolt/event-loop' => array('pretty_version' => 'v1.0.6', 'version' => '1.0.6.0', 'reference' => '25de49af7223ba039f64da4ae9a28ec2d10d0254', 'type' => 'library', 'install_path' => __DIR__ . '/../revolt/event-loop', 'aliases' => array(), 'dev_requirement' => \false), 'rhumsaa/uuid' => array('dev_requirement' => \false, 'replaced' => array(0 => '4.7.6')), 'textalk/websocket' => array('pretty_version' => '1.6.3', 'version' => '1.6.3.0', 'reference' => '67de79745b1a357caf812bfc44e0abf481cee012', 'type' => 'library', 'install_path' => __DIR__ . '/../textalk/websocket', 'aliases' => array(), 'dev_requirement' => \false)));
Note: See TracChangeset for help on using the changeset viewer.