mailwatch / MailWatch

MailWatch for MailScanner is a web-based front-end to MailScanner
http://mailwatch.org/
GNU General Public License v2.0
117 stars 66 forks source link

Cannot Update GeoIP Database #1301

Closed rizkypratama01 closed 1 month ago

rizkypratama01 commented 3 months ago

Issue summary

Cannot update GeoIP Database

On page geoip_update.php, show success download, but no database downloaded when I check on Software Version page

Geoip_update.php : Downloading file, please wait... Download complete, unpacking files...

Software Version Page : GeoIP Database Version: No database downloaded

I check on directory, show like this, size file just 23 bytes, there are no mmdb geolite files

root@rz1:/opt/mailwatch# ls -ltrh /opt/mailwatch/mailscanner/temp/ total 4.0K -rw-r--r-- 1 www-data www-data 23 Jul 4 22:20 GeoLite2-Country.tar.gz

I've tried changing the maxmind key, but the geolite file is not downloaded

Installation

Version and method

Server configuration

Client configuration

endelwar commented 3 months ago

Hi, What's inside the GeoLite2-Country.tar.gz file? Do you have any error logged in php or nginx error log?

rizkypratama01 commented 3 months ago

Hi, What's inside the GeoLite2-Country.tar.gz file? Do you have any error logged in php or nginx error log?

Hi, the file cannot be extracted

root@rz1:/opt/mailwatch/mailscanner/temp# tar -zxvf GeoLite2-Country.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now

Like this error in nginx

2024/07/04 22:20:09 [error] 1753887#1753887: *43 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught UnexpectedValueException: internal corruption of phar "/opt/mailwatch/mailscanner/temp/GeoLite2-Country.tar.gz" (__HALT_COMPILER(); not found) in /opt/mailwatch/mailscanner/geoip_update.php:161 Stack trace:

0 /opt/mailwatch/mailscanner/geoip_update.php(161): PharData->__construct()

1 {main}

thrown in /opt/mailwatch/mailscanner/geoip_update.php on line 161" while reading upstream, client: xx.xx.xx.xx, server: xx.domain.com, request: "POST /geoip_update.php HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm.sock:", host: "xx.domain.com", referrer: "https://xx.domain.com/geoip_update.php"

shawniverson commented 3 months ago

What do you see when you cat GeoLite2-Country.tar.gz ?

rizkypratama01 commented 3 months ago

What do you see when you cat GeoLite2-Country.tar.gz ?

Hi, Like this

root@rz1:/opt/mailwatch/mailscanner/temp# cat GeoLite2-Country.tar.gz An account ID and license key are required to use this service.

Need account ID and license key, I have entered a valid license key in MAXMIND_LICENSE_KEY in the conf.php file, and for account ID, where should I insert it?

endelwar commented 3 months ago

Ah, great they changed download method again, without notification...