From e972a3891435c82d7630e9033e16053c08c6a6fe Mon Sep 17 00:00:00 2001 From: annaaa53 Date: Fri, 24 Jan 2025 18:11:47 +0100 Subject: [PATCH] Delete the dependance to composer --- server-php/CHANGELOG.md | 4 ++ server-php/Dockerfile | 5 ++- server-php/README.md | 5 +-- server-php/install.sh | 17 -------- server-php/vendor-static.tar.gz | Bin 75897 -> 0 bytes server-php/www/api.php | 23 +++++++++-- server-php/www/composer.json | 7 ---- server-php/www/composer.lock | 68 -------------------------------- 8 files changed, 28 insertions(+), 101 deletions(-) delete mode 100644 server-php/vendor-static.tar.gz delete mode 100644 server-php/www/composer.json delete mode 100644 server-php/www/composer.lock diff --git a/server-php/CHANGELOG.md b/server-php/CHANGELOG.md index cbc25198..e0d6f6a6 100644 --- a/server-php/CHANGELOG.md +++ b/server-php/CHANGELOG.md @@ -1,5 +1,9 @@ # CheckMyHTTPS API server Changelog +## 1.5.2 - 2024-01-24 +- Add the possibility to handle POST requests +- Delete the dependance to composer + ## 1.5.1 - 2022-01-27 - Add the possibility to specify an IP in the query diff --git a/server-php/Dockerfile b/server-php/Dockerfile index b32007ea..dab8da8e 100644 --- a/server-php/Dockerfile +++ b/server-php/Dockerfile @@ -16,5 +16,6 @@ RUN chown www-data:www-data /var/tmp/cmh_cache/ COPY ./www /var/www/cmh_api/ -COPY ./vendor-static.tar.gz /tmp/ -RUN tar -xzf /tmp/vendor-static.tar.gz -C /var/www/cmh_api/ && rm -f /tmp/vendor.tar.gz +RUN apt-get update && apt-get install -y \ + libicu-dev \ + && docker-php-ext-install intl diff --git a/server-php/README.md b/server-php/README.md index 3ba285d8..5910fdae 100644 --- a/server-php/README.md +++ b/server-php/README.md @@ -6,7 +6,7 @@ **REQUIRMENTS** -* You need an HTTPS server with PHP and php-filter module +* You need an HTTPS server with PHP, the PHP class Normalizer (php-intl) and php-filter module * You also need a TMPFS partition for the cache. Here is the process (Linux): 1. Add your administrator user to the group of your server. Example with an Apache server: `[root]# usermod -a -G apache administrator` 2. Change the gid of the administrator (valid during this session only): `[administrator]$ newgrp apache` @@ -31,8 +31,7 @@ The cache is enabled by default, but you can turn it off by setting the variable **INSTALLATION** 1. Copy the content of the `www` folder to your webroot. -2. Install dependencies with composer: `composer install` inside your webroot (else you can extract `vendor-static.tar.gz`). -3. Then configure your clients to use your own check server. +2. Then configure your clients to use your own check server. ### Scripted installation diff --git a/server-php/install.sh b/server-php/install.sh index ae98fa3c..007e3c39 100755 --- a/server-php/install.sh +++ b/server-php/install.sh @@ -53,21 +53,4 @@ if [ -n "$TMPDIR" ]; then fi -( - - cd $OUT; - COM=composer - composer || { - echo "installing composer" - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" - php composer-setup.php - php -r "unlink('composer-setup.php');" - COM='php composer.phar' - - } - echo "Installing composer deps" - $COM install -) - echo "All done" diff --git a/server-php/vendor-static.tar.gz b/server-php/vendor-static.tar.gz deleted file mode 100644 index 923e4eee1f6e27b23093026eb98d7e05976680c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75897 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, FILTER_VALIDATE_URL))) + if ((!filter_var($request_url, FILTER_VALIDATE_URL)) && (!filter_var(unicodeToPunycode($request_url), FILTER_VALIDATE_URL))) { echo json_encode(hashAndEncrypt((object)['error' => 'INVALID_URL'], $sign)); exit(); @@ -100,7 +102,7 @@ else { // Convert IDNA 2008 - $request_host = (new \Mso\IdnaConvert\IdnaConvert)->encode($request_host); + $request_host = unicodeToPunycode($request_host); if (preg_match('/^[a-zA-Z0-9-_.]+$/', $request_host)) $service->host = $request_host; @@ -449,4 +451,17 @@ function checkHostWhitelisted($host) } return false; } + +function unicodeToPunycode($input) { + $normalized = \Normalizer::normalize($input, \Normalizer::FORM_C); + $punycode = idn_to_ascii($normalized, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46); + return $punycode; +} + +function punycodeToUnicode($input) { + $unicode = idn_to_utf8($input, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46); + $normalized = \Normalizer::normalize($unicode, \Normalizer::FORM_C); + return $normalized; +} + ?> diff --git a/server-php/www/composer.json b/server-php/www/composer.json deleted file mode 100644 index 9a901184..00000000 --- a/server-php/www/composer.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "checkmyhttps/server-api", - "version": "1.1.0", - "require": { - "mso/idna-convert": "^1.1" - } -} diff --git a/server-php/www/composer.lock b/server-php/www/composer.lock deleted file mode 100644 index f0a2cc49..00000000 --- a/server-php/www/composer.lock +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "2e3e3db0ef7935dee4af74b035ae9f51", - "content-hash": "caaf6c7071b1e19315004b0a9917d088", - "packages": [ - { - "name": "mso/idna-convert", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/phlylabs/idna-convert.git", - "reference": "a6dfb6f87611e3a89d2eec4924a0f51db755c573" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phlylabs/idna-convert/zipball/a6dfb6f87611e3a89d2eec4924a0f51db755c573", - "reference": "a6dfb6f87611e3a89d2eec4924a0f51db755c573", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "php": ">=5.6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Mso\\IdnaConvert\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1+" - ], - "authors": [ - { - "name": "Matthias Sommerfeld", - "email": "mso@phlylabs.de", - "role": "Developer" - } - ], - "description": "A library for encoding and decoding internationalized domain names", - "homepage": "http://idnaconv.net/", - "keywords": [ - "idn", - "idna", - "php" - ], - "time": "2016-06-19 18:08:43" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -}