Version Description
- ADD: The options array of
geoip_detect2_get_info_from_ip
now has a new parameter for overriding the current source for a single lookup. See API usage examples - ADD: New filter
geoip_detect2_shortcode_country_select_countries
for the country list of[geoip_detect2_countries]
- ADD: New constant
GEOIP_DETECT_IP_EMPTY_CACHE_TIME
that can be used to specify a shorter cache time in case temporarily no external IP was found. - FIX: Compatibility with CF 4.6 (remove deprecated function call)
- Maxmind vendor code was updated to the current version (2.4.5).
Download this release
Release Info
Developer | benjamin4 |
Plugin | GeoIP Detection |
Version | 2.7.0 |
Comparing to | |
See all releases |
Code changes from version 2.6.0 to 2.7.0
- api-stubs.php +6 -6
- api.php +30 -6
- composer.lock +24 -19
- data-sources/auto.php +1 -1
- data-sources/header.php +7 -263
- data-sources/hostinfo.php +3 -4
- data-sources/registry.php +24 -14
- geoip-detect-lib.php +41 -25
- geoip-detect.php +17 -10
- init.php +4 -0
- lib/geonames/data/country-info.php +41 -41
- lib/geonames/data/country-names.php +1 -1
- readme.txt +9 -1
- shortcode.php +31 -2
- vendor/autoload.php +1 -1
- vendor/composer/ClassLoader.php +38 -8
- vendor/composer/LICENSE +1 -1
- vendor/composer/autoload_namespaces.php +0 -1
- vendor/composer/autoload_psr4.php +1 -0
- vendor/composer/autoload_real.php +1 -1
- vendor/composer/autoload_static.php +5 -11
- vendor/composer/ca-bundle/composer.json +6 -0
- vendor/composer/ca-bundle/res/cacert.pem +346 -187
- vendor/composer/installed.json +71 -65
- vendor/geoip2/geoip2/CHANGELOG.md +19 -1
- vendor/geoip2/geoip2/src/Database/Reader.php +14 -0
- vendor/geoip2/geoip2/src/Model/City.php +14 -0
- vendor/geoip2/geoip2/src/Record/AbstractPlaceRecord.php +20 -1
- vendor/geoip2/geoip2/src/WebService/Client.php +1 -1
- vendor/maxmind-db/reader/CHANGELOG.md +13 -0
- vendor/maxmind-db/reader/README.md +1 -1
- vendor/maxmind-db/reader/composer.json +7 -2
- vendor/maxmind-db/reader/ext/php_maxminddb.h +1 -1
- vendor/maxmind-db/reader/src/MaxMind/Db/Reader.php +4 -1
api-stubs.php
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
// This file contains dummy method in case the requirements are not met.
|
3 |
// Those functions don't do anything but at least there is no Fatal Error or so.
|
4 |
|
5 |
-
function geoip_detect2_get_info_from_ip($ip) { return new stdClass; }
|
6 |
-
function geoip_detect2_get_info_from_current_ip() { return geoip_detect2_get_info_from_ip(); }
|
7 |
-
function geoip_detect2_get_reader() { return NULL; }
|
8 |
-
function geoip_detect2_get_current_source_description() { return ''; }
|
9 |
-
function geoip_detect2_get_client_ip() {return ''; }
|
10 |
-
function geoip_detect2_get_external_ip_adress() { return ''; }
|
2 |
// This file contains dummy method in case the requirements are not met.
|
3 |
// Those functions don't do anything but at least there is no Fatal Error or so.
|
4 |
|
5 |
+
function geoip_detect2_get_info_from_ip($ip, $locales = null, $options = array()) { return new stdClass; }
|
6 |
+
function geoip_detect2_get_info_from_current_ip($locales = null, $options = array()) { return geoip_detect2_get_info_from_ip(''); }
|
7 |
+
function geoip_detect2_get_reader($locales = null, $options = array()) { return NULL; }
|
8 |
+
function geoip_detect2_get_current_source_description($source = null) { return ''; }
|
9 |
+
function geoip_detect2_get_client_ip() { return ''; }
|
10 |
+
function geoip_detect2_get_external_ip_adress($unfiltered = false) { return ''; }
|
api.php
CHANGED
@@ -19,6 +19,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
19 |
*/
|
20 |
|
21 |
use YellowTree\GeoipDetect\DataSources\DataSourceRegistry;
|
|
|
22 |
/**
|
23 |
* Get Geo-Information for a specific IP
|
24 |
* @param string $ip IP-Adress (IPv4 or IPv6). 'me' is the current IP of the server.
|
@@ -26,6 +27,7 @@ use YellowTree\GeoipDetect\DataSources\DataSourceRegistry;
|
|
26 |
* from most preferred to least preferred. (Default: Site language, en)
|
27 |
* @param array Property names with options.
|
28 |
* @param boolean $skipCache TRUE: Do not use cache for this request. (Default: FALSE)
|
|
|
29 |
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
30 |
* @param int $connectTimeout Initial connection timeout in seconds (Precision API only)
|
31 |
* @return YellowTree\GeoipDetect\DataSources\City GeoInformation. (Actually, this is a subclass of \GeoIp2\Model\City)
|
@@ -36,6 +38,7 @@ use YellowTree\GeoipDetect\DataSources\DataSourceRegistry;
|
|
36 |
* @since 2.0.0
|
37 |
* @since 2.4.0 New parameter $skipCache
|
38 |
* @since 2.5.0 Parameter $skipCache has been renamed to $options with 'skipCache' property
|
|
|
39 |
*/
|
40 |
function geoip_detect2_get_info_from_ip($ip, $locales = null, $options = array()) {
|
41 |
_geoip_maybe_disable_pagecache();
|
@@ -56,7 +59,7 @@ function geoip_detect2_get_info_from_ip($ip, $locales = null, $options = array()
|
|
56 |
|
57 |
// Have a look at the cache first
|
58 |
if (!$options['skipCache']) {
|
59 |
-
$data = _geoip_detect2_get_data_from_cache($ip);
|
60 |
}
|
61 |
|
62 |
if (!$data) {
|
@@ -100,12 +103,16 @@ function geoip_detect2_get_info_from_ip($ip, $locales = null, $options = array()
|
|
100 |
* @param array(string) $locales List of locale codes to use in name property
|
101 |
* from most preferred to least preferred. (Default: Site language, en)
|
102 |
* @param array Property names with options.
|
103 |
-
* @param boolean
|
|
|
|
|
|
|
104 |
* @return YellowTree\GeoipDetect\DataSources\City GeoInformation.
|
105 |
*
|
106 |
* @since 2.0.0
|
107 |
* @since 2.4.0 New parameter $skipCache
|
108 |
* @since 2.5.0 Parameter $skipCache has been renamed to $options with 'skipCache' property
|
|
|
109 |
*/
|
110 |
function geoip_detect2_get_info_from_current_ip($locales = null, $options = array()) {
|
111 |
return geoip_detect2_get_info_from_ip(geoip_detect2_get_client_ip(), $locales, $options);
|
@@ -119,15 +126,18 @@ function geoip_detect2_get_info_from_current_ip($locales = null, $options = arra
|
|
119 |
* @param array(string) List of locale codes to use in name property
|
120 |
* from most preferred to least preferred. (Default: Site language, en)
|
121 |
* @param array Property names with options.
|
|
|
122 |
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
123 |
-
* @param
|
124 |
-
* @return \YellowTree\GeoipDetect\DataSources\ReaderInterface The reader, ready to do its work. Don't forget to `close()` it afterwards. NULL if file not found (or other problems).
|
125 |
*
|
126 |
* @since 2.0.0
|
127 |
* @since 2.5.0 new parameter $options
|
|
|
128 |
*/
|
129 |
function geoip_detect2_get_reader($locales = null, $options = array()) {
|
130 |
_geoip_maybe_disable_pagecache();
|
|
|
|
|
131 |
return _geoip_detect2_get_reader($locales, false, $sourceIdOut, $options);
|
132 |
}
|
133 |
|
@@ -143,7 +153,13 @@ function geoip_detect2_get_current_source_description($source = null) {
|
|
143 |
if (is_object($source) && $source instanceof \YellowTree\GeoipDetect\DataSources\City) {
|
144 |
$source = $source->extra->source;
|
145 |
}
|
146 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
if ($source) {
|
148 |
return $source->getShortLabel();
|
149 |
}
|
@@ -198,7 +214,10 @@ function geoip_detect2_get_client_ip() {
|
|
198 |
if (!$ip)
|
199 |
$ip = '::1'; // By default, use localhost
|
200 |
|
|
|
201 |
$ip = apply_filters('geoip2_detect2_client_ip', $ip, $ip_list);
|
|
|
|
|
202 |
|
203 |
return $ip;
|
204 |
}
|
@@ -225,7 +244,12 @@ function geoip_detect2_get_external_ip_adress($unfiltered = false) {
|
|
225 |
|
226 |
if (!$ip_cache) {
|
227 |
$ip_cache = _geoip_detect_get_external_ip_adress_without_cache();
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
229 |
}
|
230 |
|
231 |
$ip_cache = apply_filters('geoip_detect_get_external_ip_adress', $ip_cache);
|
19 |
*/
|
20 |
|
21 |
use YellowTree\GeoipDetect\DataSources\DataSourceRegistry;
|
22 |
+
|
23 |
/**
|
24 |
* Get Geo-Information for a specific IP
|
25 |
* @param string $ip IP-Adress (IPv4 or IPv6). 'me' is the current IP of the server.
|
27 |
* from most preferred to least preferred. (Default: Site language, en)
|
28 |
* @param array Property names with options.
|
29 |
* @param boolean $skipCache TRUE: Do not use cache for this request. (Default: FALSE)
|
30 |
+
* @param string $source Change the source for this request only. (Valid values: 'auto', 'manual', 'precision', 'header', 'hostinfo')
|
31 |
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
32 |
* @param int $connectTimeout Initial connection timeout in seconds (Precision API only)
|
33 |
* @return YellowTree\GeoipDetect\DataSources\City GeoInformation. (Actually, this is a subclass of \GeoIp2\Model\City)
|
38 |
* @since 2.0.0
|
39 |
* @since 2.4.0 New parameter $skipCache
|
40 |
* @since 2.5.0 Parameter $skipCache has been renamed to $options with 'skipCache' property
|
41 |
+
* @since 2.7.0 Parameter $options['source'] has been introduced
|
42 |
*/
|
43 |
function geoip_detect2_get_info_from_ip($ip, $locales = null, $options = array()) {
|
44 |
_geoip_maybe_disable_pagecache();
|
59 |
|
60 |
// Have a look at the cache first
|
61 |
if (!$options['skipCache']) {
|
62 |
+
$data = _geoip_detect2_get_data_from_cache($ip, $options['source']);
|
63 |
}
|
64 |
|
65 |
if (!$data) {
|
103 |
* @param array(string) $locales List of locale codes to use in name property
|
104 |
* from most preferred to least preferred. (Default: Site language, en)
|
105 |
* @param array Property names with options.
|
106 |
+
* @param boolean $skipCache TRUE: Do not use cache for this request. (Default: FALSE)
|
107 |
+
* @param string $source Change the source for this request only. (Valid values: 'auto', 'manual', 'precision', 'header', 'hostinfo')
|
108 |
+
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
109 |
+
* @param int $connectTimeout Initial connection timeout in seconds (Precision API only)
|
110 |
* @return YellowTree\GeoipDetect\DataSources\City GeoInformation.
|
111 |
*
|
112 |
* @since 2.0.0
|
113 |
* @since 2.4.0 New parameter $skipCache
|
114 |
* @since 2.5.0 Parameter $skipCache has been renamed to $options with 'skipCache' property
|
115 |
+
* @since 2.7.0 Parameter $options['source'] has been introduced
|
116 |
*/
|
117 |
function geoip_detect2_get_info_from_current_ip($locales = null, $options = array()) {
|
118 |
return geoip_detect2_get_info_from_ip(geoip_detect2_get_client_ip(), $locales, $options);
|
126 |
* @param array(string) List of locale codes to use in name property
|
127 |
* from most preferred to least preferred. (Default: Site language, en)
|
128 |
* @param array Property names with options.
|
129 |
+
* @param string $source Change the source for this request only. (Valid values: 'auto', 'manual', 'precision', 'header', 'hostinfo')
|
130 |
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
131 |
+
* @param int $connectTimeout Initial connection timeout in seconds (Precision API only)
|
|
|
132 |
*
|
133 |
* @since 2.0.0
|
134 |
* @since 2.5.0 new parameter $options
|
135 |
+
* @since 2.7.0 Parameter $options['source'] has been introduced
|
136 |
*/
|
137 |
function geoip_detect2_get_reader($locales = null, $options = array()) {
|
138 |
_geoip_maybe_disable_pagecache();
|
139 |
+
$options = _geoip_detect2_process_options($options);
|
140 |
+
|
141 |
return _geoip_detect2_get_reader($locales, false, $sourceIdOut, $options);
|
142 |
}
|
143 |
|
153 |
if (is_object($source) && $source instanceof \YellowTree\GeoipDetect\DataSources\City) {
|
154 |
$source = $source->extra->source;
|
155 |
}
|
156 |
+
$registry = DataSourceRegistry::getInstance();
|
157 |
+
if (is_null($source)) {
|
158 |
+
$source = $registry->getCurrentSource();
|
159 |
+
} else {
|
160 |
+
$source = $registry->getSource($source);
|
161 |
+
}
|
162 |
+
|
163 |
if ($source) {
|
164 |
return $source->getShortLabel();
|
165 |
}
|
214 |
if (!$ip)
|
215 |
$ip = '::1'; // By default, use localhost
|
216 |
|
217 |
+
// @deprecated: this filter was added by mistake
|
218 |
$ip = apply_filters('geoip2_detect2_client_ip', $ip, $ip_list);
|
219 |
+
// this is the correct one!
|
220 |
+
$ip = apply_filters('geoip_detect2_client_ip', $ip, $ip_list);
|
221 |
|
222 |
return $ip;
|
223 |
}
|
244 |
|
245 |
if (!$ip_cache) {
|
246 |
$ip_cache = _geoip_detect_get_external_ip_adress_without_cache();
|
247 |
+
|
248 |
+
$expiryTime = GEOIP_DETECT_IP_CACHE_TIME;
|
249 |
+
if (empty($ip_cache) || $ip_cache === '0.0.0.0')
|
250 |
+
$expiryTime = GEOIP_DETECT_IP_EMPTY_CACHE_TIME;
|
251 |
+
|
252 |
+
set_transient('geoip_detect_external_ip', $ip_cache, $expiryTime);
|
253 |
}
|
254 |
|
255 |
$ip_cache = apply_filters('geoip_detect_get_external_ip_adress', $ip_cache);
|
composer.lock
CHANGED
@@ -4,21 +4,20 @@
|
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
-
"hash": "8bb448974815061f5600822fb70091b1",
|
8 |
"content-hash": "600b354d911b7fb40bc8e6b398c09245",
|
9 |
"packages": [
|
10 |
{
|
11 |
"name": "composer/ca-bundle",
|
12 |
-
"version": "1.0.
|
13 |
"source": {
|
14 |
"type": "git",
|
15 |
"url": "https://github.com/composer/ca-bundle.git",
|
16 |
-
"reference": "
|
17 |
},
|
18 |
"dist": {
|
19 |
"type": "zip",
|
20 |
-
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/
|
21 |
-
"reference": "
|
22 |
"shasum": ""
|
23 |
},
|
24 |
"require": {
|
@@ -27,6 +26,7 @@
|
|
27 |
"php": "^5.3.2 || ^7.0"
|
28 |
},
|
29 |
"require-dev": {
|
|
|
30 |
"psr/log": "^1.0",
|
31 |
"symfony/process": "^2.5 || ^3.0"
|
32 |
},
|
@@ -63,20 +63,20 @@
|
|
63 |
"ssl",
|
64 |
"tls"
|
65 |
],
|
66 |
-
"time": "
|
67 |
},
|
68 |
{
|
69 |
"name": "geoip2/geoip2",
|
70 |
-
"version": "v2.4.
|
71 |
"source": {
|
72 |
"type": "git",
|
73 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
74 |
-
"reference": "
|
75 |
},
|
76 |
"dist": {
|
77 |
"type": "zip",
|
78 |
-
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/
|
79 |
-
"reference": "
|
80 |
"shasum": ""
|
81 |
},
|
82 |
"require": {
|
@@ -114,20 +114,20 @@
|
|
114 |
"geolocation",
|
115 |
"maxmind"
|
116 |
],
|
117 |
-
"time": "
|
118 |
},
|
119 |
{
|
120 |
"name": "maxmind-db/reader",
|
121 |
-
"version": "v1.1.
|
122 |
"source": {
|
123 |
"type": "git",
|
124 |
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
125 |
-
"reference": "
|
126 |
},
|
127 |
"dist": {
|
128 |
"type": "zip",
|
129 |
-
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/
|
130 |
-
"reference": "
|
131 |
"shasum": ""
|
132 |
},
|
133 |
"require": {
|
@@ -138,10 +138,15 @@
|
|
138 |
"satooshi/php-coveralls": "1.0.*",
|
139 |
"squizlabs/php_codesniffer": "2.*"
|
140 |
},
|
|
|
|
|
|
|
|
|
|
|
141 |
"type": "library",
|
142 |
"autoload": {
|
143 |
-
"psr-
|
144 |
-
"MaxMind": "src/"
|
145 |
}
|
146 |
},
|
147 |
"notification-url": "https://packagist.org/downloads/",
|
@@ -164,7 +169,7 @@
|
|
164 |
"geolocation",
|
165 |
"maxmind"
|
166 |
],
|
167 |
-
"time": "
|
168 |
},
|
169 |
{
|
170 |
"name": "maxmind/web-service-common",
|
@@ -208,7 +213,7 @@
|
|
208 |
],
|
209 |
"description": "Internal MaxMind Web Service API",
|
210 |
"homepage": "https://github.com/maxmind/mm-web-service-api-php",
|
211 |
-
"time": "2016-08-
|
212 |
}
|
213 |
],
|
214 |
"packages-dev": [],
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
|
|
7 |
"content-hash": "600b354d911b7fb40bc8e6b398c09245",
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "composer/ca-bundle",
|
11 |
+
"version": "1.0.7",
|
12 |
"source": {
|
13 |
"type": "git",
|
14 |
"url": "https://github.com/composer/ca-bundle.git",
|
15 |
+
"reference": "b17e6153cb7f33c7e44eb59578dc12eee5dc8e12"
|
16 |
},
|
17 |
"dist": {
|
18 |
"type": "zip",
|
19 |
+
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/b17e6153cb7f33c7e44eb59578dc12eee5dc8e12",
|
20 |
+
"reference": "b17e6153cb7f33c7e44eb59578dc12eee5dc8e12",
|
21 |
"shasum": ""
|
22 |
},
|
23 |
"require": {
|
26 |
"php": "^5.3.2 || ^7.0"
|
27 |
},
|
28 |
"require-dev": {
|
29 |
+
"phpunit/phpunit": "^4.5",
|
30 |
"psr/log": "^1.0",
|
31 |
"symfony/process": "^2.5 || ^3.0"
|
32 |
},
|
63 |
"ssl",
|
64 |
"tls"
|
65 |
],
|
66 |
+
"time": "2017-03-06T11:59:08+00:00"
|
67 |
},
|
68 |
{
|
69 |
"name": "geoip2/geoip2",
|
70 |
+
"version": "v2.4.5",
|
71 |
"source": {
|
72 |
"type": "git",
|
73 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
74 |
+
"reference": "b28a0ed0190cd76c878ed7002a5d1bb8c5f4c175"
|
75 |
},
|
76 |
"dist": {
|
77 |
"type": "zip",
|
78 |
+
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/b28a0ed0190cd76c878ed7002a5d1bb8c5f4c175",
|
79 |
+
"reference": "b28a0ed0190cd76c878ed7002a5d1bb8c5f4c175",
|
80 |
"shasum": ""
|
81 |
},
|
82 |
"require": {
|
114 |
"geolocation",
|
115 |
"maxmind"
|
116 |
],
|
117 |
+
"time": "2017-01-31T17:28:48+00:00"
|
118 |
},
|
119 |
{
|
120 |
"name": "maxmind-db/reader",
|
121 |
+
"version": "v1.1.3",
|
122 |
"source": {
|
123 |
"type": "git",
|
124 |
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
125 |
+
"reference": "7eeccf61b078bb23bb07b1a151a7e5db52871e65"
|
126 |
},
|
127 |
"dist": {
|
128 |
"type": "zip",
|
129 |
+
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/7eeccf61b078bb23bb07b1a151a7e5db52871e65",
|
130 |
+
"reference": "7eeccf61b078bb23bb07b1a151a7e5db52871e65",
|
131 |
"shasum": ""
|
132 |
},
|
133 |
"require": {
|
138 |
"satooshi/php-coveralls": "1.0.*",
|
139 |
"squizlabs/php_codesniffer": "2.*"
|
140 |
},
|
141 |
+
"suggest": {
|
142 |
+
"ext-bcmath": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
143 |
+
"ext-gmp": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
144 |
+
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
145 |
+
},
|
146 |
"type": "library",
|
147 |
"autoload": {
|
148 |
+
"psr-4": {
|
149 |
+
"MaxMind\\Db\\": "src/MaxMind/Db"
|
150 |
}
|
151 |
},
|
152 |
"notification-url": "https://packagist.org/downloads/",
|
169 |
"geolocation",
|
170 |
"maxmind"
|
171 |
],
|
172 |
+
"time": "2017-01-19T23:49:38+00:00"
|
173 |
},
|
174 |
{
|
175 |
"name": "maxmind/web-service-common",
|
213 |
],
|
214 |
"description": "Internal MaxMind Web Service API",
|
215 |
"homepage": "https://github.com/maxmind/mm-web-service-api-php",
|
216 |
+
"time": "2016-08-18T16:36:52+00:00"
|
217 |
}
|
218 |
],
|
219 |
"packages-dev": [],
|
data-sources/auto.php
CHANGED
@@ -162,7 +162,7 @@ HTML;
|
|
162 |
|
163 |
public function deactivate()
|
164 |
{
|
165 |
-
wp_clear_scheduled_hook('geoipdetectupdate');
|
166 |
}
|
167 |
}
|
168 |
|
162 |
|
163 |
public function deactivate()
|
164 |
{
|
165 |
+
//wp_clear_scheduled_hook('geoipdetectupdate');
|
166 |
}
|
167 |
}
|
168 |
|
data-sources/header.php
CHANGED
@@ -29,256 +29,6 @@ class HeaderReader extends \YellowTree\GeoipDetect\DataSources\AbstractReader {
|
|
29 |
'cloudflare' => 'Cloudflare',
|
30 |
);
|
31 |
|
32 |
-
protected $country_names = array
|
33 |
-
(
|
34 |
-
'AF' => 'Afghanistan',
|
35 |
-
'AX' => 'Aland Islands',
|
36 |
-
'AL' => 'Albania',
|
37 |
-
'DZ' => 'Algeria',
|
38 |
-
'AS' => 'American Samoa',
|
39 |
-
'AD' => 'Andorra',
|
40 |
-
'AO' => 'Angola',
|
41 |
-
'AI' => 'Anguilla',
|
42 |
-
'AQ' => 'Antarctica',
|
43 |
-
'AG' => 'Antigua And Barbuda',
|
44 |
-
'AR' => 'Argentina',
|
45 |
-
'AM' => 'Armenia',
|
46 |
-
'AW' => 'Aruba',
|
47 |
-
'AU' => 'Australia',
|
48 |
-
'AT' => 'Austria',
|
49 |
-
'AZ' => 'Azerbaijan',
|
50 |
-
'BS' => 'Bahamas',
|
51 |
-
'BH' => 'Bahrain',
|
52 |
-
'BD' => 'Bangladesh',
|
53 |
-
'BB' => 'Barbados',
|
54 |
-
'BY' => 'Belarus',
|
55 |
-
'BE' => 'Belgium',
|
56 |
-
'BZ' => 'Belize',
|
57 |
-
'BJ' => 'Benin',
|
58 |
-
'BM' => 'Bermuda',
|
59 |
-
'BT' => 'Bhutan',
|
60 |
-
'BO' => 'Bolivia',
|
61 |
-
'BA' => 'Bosnia And Herzegovina',
|
62 |
-
'BW' => 'Botswana',
|
63 |
-
'BV' => 'Bouvet Island',
|
64 |
-
'BR' => 'Brazil',
|
65 |
-
'IO' => 'British Indian Ocean Territory',
|
66 |
-
'BN' => 'Brunei Darussalam',
|
67 |
-
'BG' => 'Bulgaria',
|
68 |
-
'BF' => 'Burkina Faso',
|
69 |
-
'BI' => 'Burundi',
|
70 |
-
'KH' => 'Cambodia',
|
71 |
-
'CM' => 'Cameroon',
|
72 |
-
'CA' => 'Canada',
|
73 |
-
'CV' => 'Cape Verde',
|
74 |
-
'KY' => 'Cayman Islands',
|
75 |
-
'CF' => 'Central African Republic',
|
76 |
-
'TD' => 'Chad',
|
77 |
-
'CL' => 'Chile',
|
78 |
-
'CN' => 'China',
|
79 |
-
'CX' => 'Christmas Island',
|
80 |
-
'CC' => 'Cocos (Keeling) Islands',
|
81 |
-
'CO' => 'Colombia',
|
82 |
-
'KM' => 'Comoros',
|
83 |
-
'CG' => 'Congo',
|
84 |
-
'CD' => 'Congo, Democratic Republic',
|
85 |
-
'CK' => 'Cook Islands',
|
86 |
-
'CR' => 'Costa Rica',
|
87 |
-
'CI' => 'Cote D\'Ivoire',
|
88 |
-
'HR' => 'Croatia',
|
89 |
-
'CU' => 'Cuba',
|
90 |
-
'CY' => 'Cyprus',
|
91 |
-
'CZ' => 'Czech Republic',
|
92 |
-
'DK' => 'Denmark',
|
93 |
-
'DJ' => 'Djibouti',
|
94 |
-
'DM' => 'Dominica',
|
95 |
-
'DO' => 'Dominican Republic',
|
96 |
-
'EC' => 'Ecuador',
|
97 |
-
'EG' => 'Egypt',
|
98 |
-
'SV' => 'El Salvador',
|
99 |
-
'GQ' => 'Equatorial Guinea',
|
100 |
-
'ER' => 'Eritrea',
|
101 |
-
'EE' => 'Estonia',
|
102 |
-
'ET' => 'Ethiopia',
|
103 |
-
'FK' => 'Falkland Islands (Malvinas)',
|
104 |
-
'FO' => 'Faroe Islands',
|
105 |
-
'FJ' => 'Fiji',
|
106 |
-
'FI' => 'Finland',
|
107 |
-
'FR' => 'France',
|
108 |
-
'GF' => 'French Guiana',
|
109 |
-
'PF' => 'French Polynesia',
|
110 |
-
'TF' => 'French Southern Territories',
|
111 |
-
'GA' => 'Gabon',
|
112 |
-
'GM' => 'Gambia',
|
113 |
-
'GE' => 'Georgia',
|
114 |
-
'DE' => 'Germany',
|
115 |
-
'GH' => 'Ghana',
|
116 |
-
'GI' => 'Gibraltar',
|
117 |
-
'GR' => 'Greece',
|
118 |
-
'GL' => 'Greenland',
|
119 |
-
'GD' => 'Grenada',
|
120 |
-
'GP' => 'Guadeloupe',
|
121 |
-
'GU' => 'Guam',
|
122 |
-
'GT' => 'Guatemala',
|
123 |
-
'GG' => 'Guernsey',
|
124 |
-
'GN' => 'Guinea',
|
125 |
-
'GW' => 'Guinea-Bissau',
|
126 |
-
'GY' => 'Guyana',
|
127 |
-
'HT' => 'Haiti',
|
128 |
-
'HM' => 'Heard Island & Mcdonald Islands',
|
129 |
-
'VA' => 'Holy See (Vatican City State)',
|
130 |
-
'HN' => 'Honduras',
|
131 |
-
'HK' => 'Hong Kong',
|
132 |
-
'HU' => 'Hungary',
|
133 |
-
'IS' => 'Iceland',
|
134 |
-
'IN' => 'India',
|
135 |
-
'ID' => 'Indonesia',
|
136 |
-
'IR' => 'Iran, Islamic Republic Of',
|
137 |
-
'IQ' => 'Iraq',
|
138 |
-
'IE' => 'Ireland',
|
139 |
-
'IM' => 'Isle Of Man',
|
140 |
-
'IL' => 'Israel',
|
141 |
-
'IT' => 'Italy',
|
142 |
-
'JM' => 'Jamaica',
|
143 |
-
'JP' => 'Japan',
|
144 |
-
'JE' => 'Jersey',
|
145 |
-
'JO' => 'Jordan',
|
146 |
-
'KZ' => 'Kazakhstan',
|
147 |
-
'KE' => 'Kenya',
|
148 |
-
'KI' => 'Kiribati',
|
149 |
-
'KR' => 'Korea',
|
150 |
-
'KW' => 'Kuwait',
|
151 |
-
'KG' => 'Kyrgyzstan',
|
152 |
-
'LA' => 'Lao People\'s Democratic Republic',
|
153 |
-
'LV' => 'Latvia',
|
154 |
-
'LB' => 'Lebanon',
|
155 |
-
'LS' => 'Lesotho',
|
156 |
-
'LR' => 'Liberia',
|
157 |
-
'LY' => 'Libyan Arab Jamahiriya',
|
158 |
-
'LI' => 'Liechtenstein',
|
159 |
-
'LT' => 'Lithuania',
|
160 |
-
'LU' => 'Luxembourg',
|
161 |
-
'MO' => 'Macao',
|
162 |
-
'MK' => 'Macedonia',
|
163 |
-
'MG' => 'Madagascar',
|
164 |
-
'MW' => 'Malawi',
|
165 |
-
'MY' => 'Malaysia',
|
166 |
-
'MV' => 'Maldives',
|
167 |
-
'ML' => 'Mali',
|
168 |
-
'MT' => 'Malta',
|
169 |
-
'MH' => 'Marshall Islands',
|
170 |
-
'MQ' => 'Martinique',
|
171 |
-
'MR' => 'Mauritania',
|
172 |
-
'MU' => 'Mauritius',
|
173 |
-
'YT' => 'Mayotte',
|
174 |
-
'MX' => 'Mexico',
|
175 |
-
'FM' => 'Micronesia, Federated States Of',
|
176 |
-
'MD' => 'Moldova',
|
177 |
-
'MC' => 'Monaco',
|
178 |
-
'MN' => 'Mongolia',
|
179 |
-
'ME' => 'Montenegro',
|
180 |
-
'MS' => 'Montserrat',
|
181 |
-
'MA' => 'Morocco',
|
182 |
-
'MZ' => 'Mozambique',
|
183 |
-
'MM' => 'Myanmar',
|
184 |
-
'NA' => 'Namibia',
|
185 |
-
'NR' => 'Nauru',
|
186 |
-
'NP' => 'Nepal',
|
187 |
-
'NL' => 'Netherlands',
|
188 |
-
'AN' => 'Netherlands Antilles',
|
189 |
-
'NC' => 'New Caledonia',
|
190 |
-
'NZ' => 'New Zealand',
|
191 |
-
'NI' => 'Nicaragua',
|
192 |
-
'NE' => 'Niger',
|
193 |
-
'NG' => 'Nigeria',
|
194 |
-
'NU' => 'Niue',
|
195 |
-
'NF' => 'Norfolk Island',
|
196 |
-
'MP' => 'Northern Mariana Islands',
|
197 |
-
'NO' => 'Norway',
|
198 |
-
'OM' => 'Oman',
|
199 |
-
'PK' => 'Pakistan',
|
200 |
-
'PW' => 'Palau',
|
201 |
-
'PS' => 'Palestinian Territory, Occupied',
|
202 |
-
'PA' => 'Panama',
|
203 |
-
'PG' => 'Papua New Guinea',
|
204 |
-
'PY' => 'Paraguay',
|
205 |
-
'PE' => 'Peru',
|
206 |
-
'PH' => 'Philippines',
|
207 |
-
'PN' => 'Pitcairn',
|
208 |
-
'PL' => 'Poland',
|
209 |
-
'PT' => 'Portugal',
|
210 |
-
'PR' => 'Puerto Rico',
|
211 |
-
'QA' => 'Qatar',
|
212 |
-
'RE' => 'Reunion',
|
213 |
-
'RO' => 'Romania',
|
214 |
-
'RU' => 'Russian Federation',
|
215 |
-
'RW' => 'Rwanda',
|
216 |
-
'BL' => 'Saint Barthelemy',
|
217 |
-
'SH' => 'Saint Helena',
|
218 |
-
'KN' => 'Saint Kitts And Nevis',
|
219 |
-
'LC' => 'Saint Lucia',
|
220 |
-
'MF' => 'Saint Martin',
|
221 |
-
'PM' => 'Saint Pierre And Miquelon',
|
222 |
-
'VC' => 'Saint Vincent And Grenadines',
|
223 |
-
'WS' => 'Samoa',
|
224 |
-
'SM' => 'San Marino',
|
225 |
-
'ST' => 'Sao Tome And Principe',
|
226 |
-
'SA' => 'Saudi Arabia',
|
227 |
-
'SN' => 'Senegal',
|
228 |
-
'RS' => 'Serbia',
|
229 |
-
'SC' => 'Seychelles',
|
230 |
-
'SL' => 'Sierra Leone',
|
231 |
-
'SG' => 'Singapore',
|
232 |
-
'SK' => 'Slovakia',
|
233 |
-
'SI' => 'Slovenia',
|
234 |
-
'SB' => 'Solomon Islands',
|
235 |
-
'SO' => 'Somalia',
|
236 |
-
'ZA' => 'South Africa',
|
237 |
-
'GS' => 'South Georgia And Sandwich Isl.',
|
238 |
-
'ES' => 'Spain',
|
239 |
-
'LK' => 'Sri Lanka',
|
240 |
-
'SD' => 'Sudan',
|
241 |
-
'SR' => 'Suriname',
|
242 |
-
'SJ' => 'Svalbard And Jan Mayen',
|
243 |
-
'SZ' => 'Swaziland',
|
244 |
-
'SE' => 'Sweden',
|
245 |
-
'CH' => 'Switzerland',
|
246 |
-
'SY' => 'Syrian Arab Republic',
|
247 |
-
'TW' => 'Taiwan',
|
248 |
-
'TJ' => 'Tajikistan',
|
249 |
-
'TZ' => 'Tanzania',
|
250 |
-
'TH' => 'Thailand',
|
251 |
-
'TL' => 'Timor-Leste',
|
252 |
-
'TG' => 'Togo',
|
253 |
-
'TK' => 'Tokelau',
|
254 |
-
'TO' => 'Tonga',
|
255 |
-
'TT' => 'Trinidad And Tobago',
|
256 |
-
'TN' => 'Tunisia',
|
257 |
-
'TR' => 'Turkey',
|
258 |
-
'TM' => 'Turkmenistan',
|
259 |
-
'TC' => 'Turks And Caicos Islands',
|
260 |
-
'TV' => 'Tuvalu',
|
261 |
-
'UG' => 'Uganda',
|
262 |
-
'UA' => 'Ukraine',
|
263 |
-
'AE' => 'United Arab Emirates',
|
264 |
-
'GB' => 'United Kingdom',
|
265 |
-
'US' => 'United States',
|
266 |
-
'UM' => 'United States Outlying Islands',
|
267 |
-
'UY' => 'Uruguay',
|
268 |
-
'UZ' => 'Uzbekistan',
|
269 |
-
'VU' => 'Vanuatu',
|
270 |
-
'VE' => 'Venezuela',
|
271 |
-
'VN' => 'Viet Nam',
|
272 |
-
'VG' => 'Virgin Islands, British',
|
273 |
-
'VI' => 'Virgin Islands, U.S.',
|
274 |
-
'WF' => 'Wallis And Futuna',
|
275 |
-
'EH' => 'Western Sahara',
|
276 |
-
'YE' => 'Yemen',
|
277 |
-
'ZM' => 'Zambia',
|
278 |
-
'ZW' => 'Zimbabwe',
|
279 |
-
);
|
280 |
-
|
281 |
-
|
282 |
public function country($ip) {
|
283 |
|
284 |
$r = array();
|
@@ -302,12 +52,6 @@ class HeaderReader extends \YellowTree\GeoipDetect\DataSources\AbstractReader {
|
|
302 |
|
303 |
$r['country']['iso_code'] = strtoupper($isoCode);
|
304 |
|
305 |
-
if (isset($this->country_names[ $r['country']['iso_code'] ]))
|
306 |
-
$country = $this->country_names[ $r['country']['iso_code'] ];
|
307 |
-
|
308 |
-
$r['country']['names'] = array('en' => $country);
|
309 |
-
|
310 |
-
|
311 |
$r['traits']['ip_address'] = $ip;
|
312 |
|
313 |
$record = new \GeoIp2\Model\City($r, array('en'));
|
@@ -326,15 +70,15 @@ class HeaderDataSource extends AbstractDataSource {
|
|
326 |
public function getStatusInformationHTML() {
|
327 |
$provider = get_option('geoip-detect-header-provider');
|
328 |
|
329 |
-
|
330 |
-
|
331 |
if ($provider == 'cloudflare') {
|
332 |
-
$
|
333 |
-
$html .= sprintf(__('This needs to be enabled in the admin panel: see <a href="%s">Help</a>.', 'geoip-detect'), 'https://support.cloudflare.com/hc/en-us/articles/200168236-What-does-CloudFlare-IP-Geolocation-do-');
|
334 |
} elseif ($provider == 'aws') {
|
335 |
-
$
|
336 |
-
$html .= sprintf(__('This needs to be enabled in the admin panel: see <a href="%s">Help</a>.', 'geoip-detect'), 'https://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/');
|
337 |
}
|
|
|
|
|
338 |
return $html;
|
339 |
}
|
340 |
|
@@ -376,7 +120,7 @@ HTML;
|
|
376 |
if (!isset($labels[$provider]))
|
377 |
$provider = '';
|
378 |
|
379 |
-
$html = __('Hosting Provider:
|
380 |
|
381 |
return $html;
|
382 |
}
|
29 |
'cloudflare' => 'Cloudflare',
|
30 |
);
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
public function country($ip) {
|
33 |
|
34 |
$r = array();
|
52 |
|
53 |
$r['country']['iso_code'] = strtoupper($isoCode);
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
$r['traits']['ip_address'] = $ip;
|
56 |
|
57 |
$record = new \GeoIp2\Model\City($r, array('en'));
|
70 |
public function getStatusInformationHTML() {
|
71 |
$provider = get_option('geoip-detect-header-provider');
|
72 |
|
73 |
+
$html = '';
|
74 |
+
$link = '';
|
75 |
if ($provider == 'cloudflare') {
|
76 |
+
$link = 'https://support.cloudflare.com/hc/en-us/articles/200168236-What-does-CloudFlare-IP-Geolocation-do-';
|
|
|
77 |
} elseif ($provider == 'aws') {
|
78 |
+
$link = 'https://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/';
|
|
|
79 |
}
|
80 |
+
if ($link)
|
81 |
+
$html = sprintf(__('This needs to be enabled in the admin panel: see <a href="%s">Help</a>.', 'geoip-detect'), $link);
|
82 |
return $html;
|
83 |
}
|
84 |
|
120 |
if (!isset($labels[$provider]))
|
121 |
$provider = '';
|
122 |
|
123 |
+
$html = __('Hosting Provider:', 'geoip-detect') . ' ' . $labels[$provider];
|
124 |
|
125 |
return $html;
|
126 |
}
|
data-sources/hostinfo.php
CHANGED
@@ -64,8 +64,9 @@ class Reader implements \YellowTree\GeoipDetect\DataSources\ReaderInterface {
|
|
64 |
);
|
65 |
// Using @file... to supress errors
|
66 |
// Example output: {"country_name":"UNITED STATES","country_code":"US","city":"Aurora, TX","ip":"12.215.42.19"}
|
67 |
-
$
|
68 |
-
|
|
|
69 |
$hasInfo = false;
|
70 |
if ($data) {
|
71 |
$data = get_object_vars($data);
|
@@ -99,8 +100,6 @@ class HostInfoDataSource extends AbstractDataSource {
|
|
99 |
public function getStatusInformationHTML() { return __('You can choose a Maxmind database below.', 'geoip-detect'); }
|
100 |
public function getParameterHTML() { return ''; }
|
101 |
|
102 |
-
public function activate() { }
|
103 |
-
|
104 |
public function getReader($locales = array('en'), $options = array()) { return new Reader($options); }
|
105 |
|
106 |
public function isWorking() { return true; }
|
64 |
);
|
65 |
// Using @file... to supress errors
|
66 |
// Example output: {"country_name":"UNITED STATES","country_code":"US","city":"Aurora, TX","ip":"12.215.42.19"}
|
67 |
+
$body = @file_get_contents(self::URL . $ip, false, $context);
|
68 |
+
$data = json_decode($body);
|
69 |
+
|
70 |
$hasInfo = false;
|
71 |
if ($data) {
|
72 |
$data = get_object_vars($data);
|
100 |
public function getStatusInformationHTML() { return __('You can choose a Maxmind database below.', 'geoip-detect'); }
|
101 |
public function getParameterHTML() { return ''; }
|
102 |
|
|
|
|
|
103 |
public function getReader($locales = array('en'), $options = array()) { return new Reader($options); }
|
104 |
|
105 |
public function isWorking() { return true; }
|
data-sources/registry.php
CHANGED
@@ -51,15 +51,25 @@ class DataSourceRegistry {
|
|
51 |
|
52 |
/**
|
53 |
* Returns the currently chosen source.
|
|
|
54 |
* @return \YellowTree\GeoipDetect\DataSources\AbstractDataSource
|
55 |
*/
|
56 |
public function getCurrentSource() {
|
57 |
$currentSource = get_option('geoip-detect-source', self::DEFAULT_SOURCE);
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
if (WP_DEBUG)
|
62 |
-
trigger_error('
|
63 |
|
64 |
if (isset($this->sources[self::DEFAULT_SOURCE]))
|
65 |
return $this->sources[self::DEFAULT_SOURCE];
|
@@ -68,18 +78,12 @@ class DataSourceRegistry {
|
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
-
*
|
72 |
-
* @param string
|
73 |
-
* @return
|
74 |
*/
|
75 |
-
public function
|
76 |
-
|
77 |
-
return $this->getCurrentSource();
|
78 |
-
|
79 |
-
if (isset($this->sources[$id]))
|
80 |
-
return $this->sources[$id];
|
81 |
-
|
82 |
-
return null;
|
83 |
}
|
84 |
|
85 |
/**
|
@@ -107,4 +111,10 @@ class DataSourceRegistry {
|
|
107 |
public function getAllSources() {
|
108 |
return $this->sources;
|
109 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
51 |
|
52 |
/**
|
53 |
* Returns the currently chosen source.
|
54 |
+
* @deprecated Use getSource() instead
|
55 |
* @return \YellowTree\GeoipDetect\DataSources\AbstractDataSource
|
56 |
*/
|
57 |
public function getCurrentSource() {
|
58 |
$currentSource = get_option('geoip-detect-source', self::DEFAULT_SOURCE);
|
59 |
+
return $this->getSource($currentSource);
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Returns the source known by this id.
|
64 |
+
* @param string Source id
|
65 |
+
* @return \YellowTree\GeoipDetect\DataSources\AbstractDataSource
|
66 |
+
*/
|
67 |
+
public function getSource($id) {
|
68 |
+
if (isset($this->sources[$id]))
|
69 |
+
return $this->sources[$id];
|
70 |
|
71 |
if (WP_DEBUG)
|
72 |
+
trigger_error('The source with id "' . $id . '" was requested, but no such source was found. Using default source instead.', E_USER_NOTICE);
|
73 |
|
74 |
if (isset($this->sources[self::DEFAULT_SOURCE]))
|
75 |
return $this->sources[self::DEFAULT_SOURCE];
|
78 |
}
|
79 |
|
80 |
/**
|
81 |
+
* Check if a source named $id exists.
|
82 |
+
* @param string $id
|
83 |
+
* @return boolean
|
84 |
*/
|
85 |
+
public function sourceExists($id) {
|
86 |
+
return isset($this->sources[$id]);
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
/**
|
111 |
public function getAllSources() {
|
112 |
return $this->sources;
|
113 |
}
|
114 |
+
|
115 |
+
public function isSourceCachable($source) {
|
116 |
+
// Don't cache for file access based sources (not worth the effort/time)
|
117 |
+
$sources_not_cachable = apply_filters('geoip2_detect_sources_not_cachable', array('auto', 'manual', 'header'));
|
118 |
+
return !in_array($source, $sources_not_cachable);
|
119 |
+
}
|
120 |
}
|
geoip-detect-lib.php
CHANGED
@@ -38,7 +38,14 @@ function _geoip_detect2_process_options($options) {
|
|
38 |
$options = array();
|
39 |
$options['skipCache'] = $value;
|
40 |
}
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
/**
|
43 |
* Filter: geoip_detect2_options
|
44 |
* You can programmatically change the defaults etc.
|
@@ -49,7 +56,8 @@ function _geoip_detect2_process_options($options) {
|
|
49 |
|
50 |
|
51 |
$defaultOptions = array(
|
52 |
-
|
|
|
53 |
);
|
54 |
$options = $options + $defaultOptions;
|
55 |
|
@@ -78,11 +86,12 @@ function _geoip_detect2_get_reader($locales = null, $skipLocaleFilter = false, &
|
|
78 |
}
|
79 |
|
80 |
$reader = null;
|
81 |
-
$source = DataSourceRegistry::getInstance()->
|
82 |
if ($source) {
|
83 |
$reader = $source->getReader($locales, $options);
|
84 |
$sourceId = $source->getId();
|
85 |
}
|
|
|
86 |
/**
|
87 |
* Filter: geoip_detect2_reader
|
88 |
* You can customize your reader here.
|
@@ -105,42 +114,42 @@ function _ip_to_s($ip) {
|
|
105 |
return base64_encode($binary);
|
106 |
}
|
107 |
|
108 |
-
function _geoip_detect2_get_data_from_cache($ip) {
|
109 |
-
|
110 |
-
$sources_not_cachable = apply_filters('geoip2_detect_sources_not_cachable', array('auto', 'manual'));
|
111 |
-
if (in_array(get_option('geoip-detect-source'), $sources_not_cachable))
|
112 |
return null;
|
|
|
113 |
|
114 |
$ip_s = _ip_to_s($ip);
|
115 |
-
if (!$ip_s)
|
116 |
return null;
|
|
|
117 |
|
118 |
-
$data = get_transient('geoip_detect_c_' . $ip_s);
|
119 |
-
if (is_array($data) && $data['extra']['source'] != get_option('geoip-detect-source'))
|
120 |
-
return null;
|
121 |
|
122 |
return $data;
|
123 |
}
|
124 |
|
125 |
function _geoip_detect2_add_data_to_cache($data, $ip) {
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
|
131 |
$data['extra']['cached'] = time();
|
132 |
unset($data['maxmind']['queries_remaining']);
|
133 |
|
134 |
$ip_s = _ip_to_s($ip);
|
135 |
// Do not cache invalid IPs
|
136 |
-
if (!$ip_s)
|
137 |
return;
|
|
|
138 |
|
139 |
// Do not cache error lookups (they might be temporary)
|
140 |
-
if (!empty($data['extra']['error']))
|
141 |
return;
|
|
|
142 |
|
143 |
-
set_transient('geoip_detect_c_' . $ip_s, $data, GEOIP_DETECT_READER_CACHE_TIME);
|
144 |
}
|
145 |
|
146 |
function _geoip_detect2_get_record_from_reader($reader, $ip, &$error) {
|
@@ -275,7 +284,7 @@ function geoip_detect_is_ip_in_range($ip, $range_start, $range_end) {
|
|
275 |
}
|
276 |
|
277 |
/**
|
278 |
-
* Check if IP is in RFC private IP range
|
279 |
* (for local development)
|
280 |
* @param string $ip IP (IPv4 or IPv6)
|
281 |
* @return boolean TRUE if private
|
@@ -284,6 +293,8 @@ function geoip_detect_is_public_ip($ip) {
|
|
284 |
// filver_var only detects 127.0.0.1 as local ...
|
285 |
if (geoip_detect_is_ip_in_range($ip, '127.0.0.0', '127.255.255.255'))
|
286 |
return false;
|
|
|
|
|
287 |
|
288 |
$flags = FILTER_FLAG_IPV4 // IP can be v4 or v6
|
289 |
| FILTER_FLAG_NO_PRIV_RANGE // It may not be in the RFC private range
|
@@ -312,14 +323,14 @@ function _geoip_detect_get_external_ip_adress_without_cache()
|
|
312 |
'http://ipecho.net/plain',
|
313 |
'http://v4.ident.me',
|
314 |
'http://bot.whatismyipaddress.com',
|
315 |
-
'http://ip.appspot.com',
|
316 |
);
|
317 |
|
318 |
// Randomizing to avoid querying the same service each time
|
319 |
shuffle($ipservices);
|
320 |
$ipservices = apply_filters('geiop_detect_ipservices', $ipservices);
|
321 |
$ipservices = array_slice($ipservices, 0, 3);
|
322 |
-
|
323 |
foreach ($ipservices as $url)
|
324 |
{
|
325 |
$ret = wp_remote_get($url, array('timeout' => defined('WP_TESTS_TITLE') ? 3 : 1));
|
@@ -332,10 +343,15 @@ function _geoip_detect_get_external_ip_adress_without_cache()
|
|
332 |
if (WP_DEBUG || defined('WP_TESTS_TITLE')) {
|
333 |
trigger_error('_geoip_detect_get_external_ip_adress_without_cache(): HTTP error (' . $url . '): Returned code ' . $ret['response']['code'], E_USER_NOTICE);
|
334 |
}
|
335 |
-
} else
|
336 |
-
|
337 |
-
|
338 |
-
|
|
|
|
|
|
|
|
|
|
|
339 |
}
|
340 |
}
|
341 |
return '0.0.0.0';
|
38 |
$options = array();
|
39 |
$options['skipCache'] = $value;
|
40 |
}
|
41 |
+
|
42 |
+
// Check if source exists
|
43 |
+
if (isset($options['source'])) {
|
44 |
+
$registry = DataSourceRegistry::getInstance();
|
45 |
+
if (!$registry->sourceExists($options['source']))
|
46 |
+
unset($options['source']);
|
47 |
+
}
|
48 |
+
|
49 |
/**
|
50 |
* Filter: geoip_detect2_options
|
51 |
* You can programmatically change the defaults etc.
|
56 |
|
57 |
|
58 |
$defaultOptions = array(
|
59 |
+
'skipCache' => false,
|
60 |
+
'source' => get_option('geoip-detect-source', DataSourceRegistry::DEFAULT_SOURCE),
|
61 |
);
|
62 |
$options = $options + $defaultOptions;
|
63 |
|
86 |
}
|
87 |
|
88 |
$reader = null;
|
89 |
+
$source = DataSourceRegistry::getInstance()->getSource($options['source']);
|
90 |
if ($source) {
|
91 |
$reader = $source->getReader($locales, $options);
|
92 |
$sourceId = $source->getId();
|
93 |
}
|
94 |
+
|
95 |
/**
|
96 |
* Filter: geoip_detect2_reader
|
97 |
* You can customize your reader here.
|
114 |
return base64_encode($binary);
|
115 |
}
|
116 |
|
117 |
+
function _geoip_detect2_get_data_from_cache($ip, $source) {
|
118 |
+
if (!DataSourceRegistry::getInstance()->isSourceCachable($source)) {
|
|
|
|
|
119 |
return null;
|
120 |
+
}
|
121 |
|
122 |
$ip_s = _ip_to_s($ip);
|
123 |
+
if (!$ip_s) {
|
124 |
return null;
|
125 |
+
}
|
126 |
|
127 |
+
$data = get_transient('geoip_detect_c_' . $source . '_' . $ip_s);
|
|
|
|
|
128 |
|
129 |
return $data;
|
130 |
}
|
131 |
|
132 |
function _geoip_detect2_add_data_to_cache($data, $ip) {
|
133 |
+
$source = $data['extra']['source'];
|
134 |
+
if (!DataSourceRegistry::getInstance()->isSourceCachable($source)) {
|
135 |
+
return null;
|
136 |
+
}
|
137 |
|
138 |
$data['extra']['cached'] = time();
|
139 |
unset($data['maxmind']['queries_remaining']);
|
140 |
|
141 |
$ip_s = _ip_to_s($ip);
|
142 |
// Do not cache invalid IPs
|
143 |
+
if (!$ip_s) {
|
144 |
return;
|
145 |
+
}
|
146 |
|
147 |
// Do not cache error lookups (they might be temporary)
|
148 |
+
if (!empty($data['extra']['error'])) {
|
149 |
return;
|
150 |
+
}
|
151 |
|
152 |
+
set_transient('geoip_detect_c_' . $source . '_' . $ip_s, $data, GEOIP_DETECT_READER_CACHE_TIME);
|
153 |
}
|
154 |
|
155 |
function _geoip_detect2_get_record_from_reader($reader, $ip, &$error) {
|
284 |
}
|
285 |
|
286 |
/**
|
287 |
+
* Check if IP is not in RFC private IP range
|
288 |
* (for local development)
|
289 |
* @param string $ip IP (IPv4 or IPv6)
|
290 |
* @return boolean TRUE if private
|
293 |
// filver_var only detects 127.0.0.1 as local ...
|
294 |
if (geoip_detect_is_ip_in_range($ip, '127.0.0.0', '127.255.255.255'))
|
295 |
return false;
|
296 |
+
if (trim($ip) === '0.0.0.0')
|
297 |
+
return false;
|
298 |
|
299 |
$flags = FILTER_FLAG_IPV4 // IP can be v4 or v6
|
300 |
| FILTER_FLAG_NO_PRIV_RANGE // It may not be in the RFC private range
|
323 |
'http://ipecho.net/plain',
|
324 |
'http://v4.ident.me',
|
325 |
'http://bot.whatismyipaddress.com',
|
326 |
+
// 'http://ip.appspot.com', // overloaded, 503 Out of Quota
|
327 |
);
|
328 |
|
329 |
// Randomizing to avoid querying the same service each time
|
330 |
shuffle($ipservices);
|
331 |
$ipservices = apply_filters('geiop_detect_ipservices', $ipservices);
|
332 |
$ipservices = array_slice($ipservices, 0, 3);
|
333 |
+
|
334 |
foreach ($ipservices as $url)
|
335 |
{
|
336 |
$ret = wp_remote_get($url, array('timeout' => defined('WP_TESTS_TITLE') ? 3 : 1));
|
343 |
if (WP_DEBUG || defined('WP_TESTS_TITLE')) {
|
344 |
trigger_error('_geoip_detect_get_external_ip_adress_without_cache(): HTTP error (' . $url . '): Returned code ' . $ret['response']['code'], E_USER_NOTICE);
|
345 |
}
|
346 |
+
} else {
|
347 |
+
if (isset($ret['body'])) {
|
348 |
+
$ip = trim($ret['body']);
|
349 |
+
if (geoip_detect_is_ip($ip))
|
350 |
+
return $ip;
|
351 |
+
}
|
352 |
+
if (WP_DEBUG || defined('WP_TESTS_TITLE')) {
|
353 |
+
trigger_error('_geoip_detect_get_external_ip_adress_without_cache(): HTTP error (' . $url . '): Did not return an IP: ' . $ret['body'], E_USER_NOTICE);
|
354 |
+
}
|
355 |
}
|
356 |
}
|
357 |
return '0.0.0.0';
|
geoip-detect.php
CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.yellowtree.de
|
|
5 |
Description: Retrieving Geo-Information using the Maxmind GeoIP (Lite) Database.
|
6 |
Author: Yellow Tree (Benjamin Pick)
|
7 |
Author URI: http://www.yellowtree.de
|
8 |
-
Version: 2.
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Text Domain: geoip-detect
|
@@ -16,7 +16,7 @@ Requires WP: 3.5
|
|
16 |
Requires PHP: 5.3.1
|
17 |
*/
|
18 |
|
19 |
-
define('GEOIP_DETECT_VERSION', '2.
|
20 |
|
21 |
/*
|
22 |
Copyright 2013-2016 Yellow Tree, Siegen, Germany
|
@@ -65,14 +65,15 @@ require_once(GEOIP_PLUGIN_DIR . '/deprecated.php');
|
|
65 |
require_once(GEOIP_PLUGIN_DIR . '/filter.php');
|
66 |
require_once(GEOIP_PLUGIN_DIR . '/shortcode.php');
|
67 |
|
68 |
-
require_once('data-sources/registry.php');
|
69 |
-
require_once('data-sources/abstract.php');
|
70 |
|
71 |
-
|
72 |
-
include_once('data-sources/
|
73 |
-
include_once('data-sources/
|
74 |
-
include_once('data-sources/
|
75 |
-
include_once('data-sources/
|
|
|
76 |
|
77 |
// You can define these constants in your theme/plugin if you like.
|
78 |
/**
|
@@ -84,11 +85,17 @@ include_once('data-sources/header.php');
|
|
84 |
* This is probably only used in dev cases, so per default relatively low.
|
85 |
*/
|
86 |
//define('GEOIP_DETECT_IP_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
|
|
|
|
|
|
|
|
|
|
87 |
/**
|
88 |
* How long the data of the IP is cached. This applies to the Web-APIs (Maxmind Precision and HostIP.info)
|
89 |
* Only successful lookups will be cached.
|
90 |
*/
|
91 |
//define('GEOIP_DETECT_READER_CACHE_TIME', 7 * DAY_IN_SECONDS);
|
92 |
-
|
|
|
93 |
|
94 |
require_once(GEOIP_PLUGIN_DIR . '/admin-ui.php');
|
5 |
Description: Retrieving Geo-Information using the Maxmind GeoIP (Lite) Database.
|
6 |
Author: Yellow Tree (Benjamin Pick)
|
7 |
Author URI: http://www.yellowtree.de
|
8 |
+
Version: 2.7.0
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Text Domain: geoip-detect
|
16 |
Requires PHP: 5.3.1
|
17 |
*/
|
18 |
|
19 |
+
define('GEOIP_DETECT_VERSION', '2.7.0');
|
20 |
|
21 |
/*
|
22 |
Copyright 2013-2016 Yellow Tree, Siegen, Germany
|
65 |
require_once(GEOIP_PLUGIN_DIR . '/filter.php');
|
66 |
require_once(GEOIP_PLUGIN_DIR . '/shortcode.php');
|
67 |
|
68 |
+
require_once(GEOIP_PLUGIN_DIR . '/data-sources/registry.php');
|
69 |
+
require_once(GEOIP_PLUGIN_DIR . '/data-sources/abstract.php');
|
70 |
|
71 |
+
// These data-source files are optional
|
72 |
+
include_once(GEOIP_PLUGIN_DIR . '/data-sources/hostinfo.php');
|
73 |
+
include_once(GEOIP_PLUGIN_DIR . '/data-sources/manual.php');
|
74 |
+
include_once(GEOIP_PLUGIN_DIR . '/data-sources/auto.php');
|
75 |
+
include_once(GEOIP_PLUGIN_DIR . '/data-sources/precision.php');
|
76 |
+
include_once(GEOIP_PLUGIN_DIR . '/data-sources/header.php');
|
77 |
|
78 |
// You can define these constants in your theme/plugin if you like.
|
79 |
/**
|
85 |
* This is probably only used in dev cases, so per default relatively low.
|
86 |
*/
|
87 |
//define('GEOIP_DETECT_IP_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
88 |
+
/**
|
89 |
+
* How long the external IP of the server is cached, if no IP was found.
|
90 |
+
* Default: the same as GEOIP_DETECT_IP_CACHE_TIME
|
91 |
+
*/
|
92 |
+
//define('GEOIP_DETECT_IP_EMPTY_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
93 |
/**
|
94 |
* How long the data of the IP is cached. This applies to the Web-APIs (Maxmind Precision and HostIP.info)
|
95 |
* Only successful lookups will be cached.
|
96 |
*/
|
97 |
//define('GEOIP_DETECT_READER_CACHE_TIME', 7 * DAY_IN_SECONDS);
|
98 |
+
|
99 |
+
|
100 |
|
101 |
require_once(GEOIP_PLUGIN_DIR . '/admin-ui.php');
|
init.php
CHANGED
@@ -2,6 +2,10 @@
|
|
2 |
function geoip_detect_defines() {
|
3 |
if (!defined('GEOIP_DETECT_IP_CACHE_TIME'))
|
4 |
define('GEOIP_DETECT_IP_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
|
|
|
|
|
|
|
|
5 |
if (!defined('GEOIP_DETECT_READER_CACHE_TIME'))
|
6 |
define('GEOIP_DETECT_READER_CACHE_TIME', 7 * DAY_IN_SECONDS);
|
7 |
if (!defined('GEOIP_DETECT_DOING_UNIT_TESTS'))
|
2 |
function geoip_detect_defines() {
|
3 |
if (!defined('GEOIP_DETECT_IP_CACHE_TIME'))
|
4 |
define('GEOIP_DETECT_IP_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
5 |
+
if (!defined('GEOIP_DETECT_IP_EMPTY_CACHE_TIME'))
|
6 |
+
define('GEOIP_DETECT_IP_EMPTY_CACHE_TIME', GEOIP_DETECT_IP_CACHE_TIME);
|
7 |
+
|
8 |
+
|
9 |
if (!defined('GEOIP_DETECT_READER_CACHE_TIME'))
|
10 |
define('GEOIP_DETECT_READER_CACHE_TIME', 7 * DAY_IN_SECONDS);
|
11 |
if (!defined('GEOIP_DETECT_DOING_UNIT_TESTS'))
|
lib/geonames/data/country-info.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Generated at
|
3 |
return array (
|
4 |
'countries' =>
|
5 |
array (
|
@@ -155,8 +155,8 @@ return array (
|
|
155 |
'continent' => 'EU',
|
156 |
'location' =>
|
157 |
array (
|
158 |
-
'latitude' => 41.
|
159 |
-
'longitude' => 20.
|
160 |
),
|
161 |
),
|
162 |
'AM' =>
|
@@ -234,7 +234,7 @@ return array (
|
|
234 |
'location' =>
|
235 |
array (
|
236 |
'latitude' => -75.257716500000001,
|
237 |
-
'longitude' => 0,
|
238 |
),
|
239 |
),
|
240 |
'AR' =>
|
@@ -701,8 +701,8 @@ return array (
|
|
701 |
'continent' => 'NA',
|
702 |
'location' =>
|
703 |
array (
|
704 |
-
'latitude' => 32.
|
705 |
-
'longitude' => -64.
|
706 |
),
|
707 |
),
|
708 |
'BN' =>
|
@@ -883,8 +883,8 @@ return array (
|
|
883 |
'continent' => 'AN',
|
884 |
'location' =>
|
885 |
array (
|
886 |
-
'latitude' => -54.
|
887 |
-
'longitude' => 3.
|
888 |
),
|
889 |
),
|
890 |
'BW' =>
|
@@ -1481,7 +1481,7 @@ return array (
|
|
1481 |
'continent' => 'EU',
|
1482 |
'location' =>
|
1483 |
array (
|
1484 |
-
'latitude' => 51.
|
1485 |
'longitude' => 10.454033001170981,
|
1486 |
),
|
1487 |
),
|
@@ -1637,8 +1637,8 @@ return array (
|
|
1637 |
'continent' => 'SA',
|
1638 |
'location' =>
|
1639 |
array (
|
1640 |
-
'latitude' => -1.
|
1641 |
-
'longitude' => -78.
|
1642 |
),
|
1643 |
),
|
1644 |
'EE' =>
|
@@ -1663,8 +1663,8 @@ return array (
|
|
1663 |
'continent' => 'EU',
|
1664 |
'location' =>
|
1665 |
array (
|
1666 |
-
'latitude' => 58.
|
1667 |
-
'longitude' => 25.
|
1668 |
),
|
1669 |
),
|
1670 |
'EG' =>
|
@@ -1845,8 +1845,8 @@ return array (
|
|
1845 |
'continent' => 'OC',
|
1846 |
'location' =>
|
1847 |
array (
|
1848 |
-
'latitude' => -16.
|
1849 |
-
'longitude' => -0.
|
1850 |
),
|
1851 |
),
|
1852 |
'FK' =>
|
@@ -1923,8 +1923,8 @@ return array (
|
|
1923 |
'continent' => 'EU',
|
1924 |
'location' =>
|
1925 |
array (
|
1926 |
-
'latitude' => 61.
|
1927 |
-
'longitude' => -6.
|
1928 |
),
|
1929 |
),
|
1930 |
'FR' =>
|
@@ -1949,8 +1949,8 @@ return array (
|
|
1949 |
'continent' => 'EU',
|
1950 |
'location' =>
|
1951 |
array (
|
1952 |
-
'latitude' => 46.
|
1953 |
-
'longitude' => 2.
|
1954 |
),
|
1955 |
),
|
1956 |
'GA' =>
|
@@ -2859,8 +2859,8 @@ return array (
|
|
2859 |
'continent' => 'EU',
|
2860 |
'location' =>
|
2861 |
array (
|
2862 |
-
'latitude' => 41.
|
2863 |
-
'longitude' => 12.
|
2864 |
),
|
2865 |
),
|
2866 |
'JE' =>
|
@@ -3171,8 +3171,8 @@ return array (
|
|
3171 |
'continent' => 'AS',
|
3172 |
'location' =>
|
3173 |
array (
|
3174 |
-
'latitude' => 35.
|
3175 |
-
'longitude' => 127.
|
3176 |
),
|
3177 |
),
|
3178 |
'KW' =>
|
@@ -3327,8 +3327,8 @@ return array (
|
|
3327 |
'continent' => 'NA',
|
3328 |
'location' =>
|
3329 |
array (
|
3330 |
-
'latitude' => 13.
|
3331 |
-
'longitude' => -60.
|
3332 |
),
|
3333 |
),
|
3334 |
'LI' =>
|
@@ -3483,8 +3483,8 @@ return array (
|
|
3483 |
'continent' => 'EU',
|
3484 |
'location' =>
|
3485 |
array (
|
3486 |
-
'latitude' => 49.
|
3487 |
-
'longitude' => 6.
|
3488 |
),
|
3489 |
),
|
3490 |
'LV' =>
|
@@ -3509,8 +3509,8 @@ return array (
|
|
3509 |
'continent' => 'EU',
|
3510 |
'location' =>
|
3511 |
array (
|
3512 |
-
'latitude' => 56.
|
3513 |
-
'longitude' => 24.
|
3514 |
),
|
3515 |
),
|
3516 |
'LY' =>
|
@@ -3665,8 +3665,8 @@ return array (
|
|
3665 |
'continent' => 'NA',
|
3666 |
'location' =>
|
3667 |
array (
|
3668 |
-
'latitude' => 18.
|
3669 |
-
'longitude' => -63.
|
3670 |
),
|
3671 |
),
|
3672 |
'MG' =>
|
@@ -4601,8 +4601,8 @@ return array (
|
|
4601 |
'continent' => 'AS',
|
4602 |
'location' =>
|
4603 |
array (
|
4604 |
-
'latitude' => 12.
|
4605 |
-
'longitude' => 121.
|
4606 |
),
|
4607 |
),
|
4608 |
'PK' =>
|
@@ -4679,8 +4679,8 @@ return array (
|
|
4679 |
'continent' => 'NA',
|
4680 |
'location' =>
|
4681 |
array (
|
4682 |
-
'latitude' => 46.
|
4683 |
-
'longitude' => -56.
|
4684 |
),
|
4685 |
),
|
4686 |
'PN' =>
|
@@ -5303,8 +5303,8 @@ return array (
|
|
5303 |
'continent' => 'EU',
|
5304 |
'location' =>
|
5305 |
array (
|
5306 |
-
'latitude' => 43.
|
5307 |
-
'longitude' => 12.
|
5308 |
),
|
5309 |
),
|
5310 |
'SN' =>
|
@@ -5485,8 +5485,8 @@ return array (
|
|
5485 |
'continent' => 'NA',
|
5486 |
'location' =>
|
5487 |
array (
|
5488 |
-
'latitude' => 18.
|
5489 |
-
'longitude' => -63.
|
5490 |
),
|
5491 |
),
|
5492 |
'SY' =>
|
@@ -5745,8 +5745,8 @@ return array (
|
|
5745 |
'continent' => 'OC',
|
5746 |
'location' =>
|
5747 |
array (
|
5748 |
-
'latitude' => -8.
|
5749 |
-
'longitude' => 125.
|
5750 |
),
|
5751 |
),
|
5752 |
'TM' =>
|
1 |
<?php
|
2 |
+
// Generated at Mon, 13 Mar 2017 12:14:10 +0100
|
3 |
return array (
|
4 |
'countries' =>
|
5 |
array (
|
155 |
'continent' => 'EU',
|
156 |
'location' =>
|
157 |
array (
|
158 |
+
'latitude' => 41.153014710620553,
|
159 |
+
'longitude' => 20.160672377352647,
|
160 |
),
|
161 |
),
|
162 |
'AM' =>
|
234 |
'location' =>
|
235 |
array (
|
236 |
'latitude' => -75.257716500000001,
|
237 |
+
'longitude' => 0.0,
|
238 |
),
|
239 |
),
|
240 |
'AR' =>
|
701 |
'continent' => 'NA',
|
702 |
'location' =>
|
703 |
array (
|
704 |
+
'latitude' => 32.319387258230812,
|
705 |
+
'longitude' => -64.767212240722671,
|
706 |
),
|
707 |
),
|
708 |
'BN' =>
|
883 |
'continent' => 'AN',
|
884 |
'location' =>
|
885 |
array (
|
886 |
+
'latitude' => -54.419768851630295,
|
887 |
+
'longitude' => 3.3608110028978331,
|
888 |
),
|
889 |
),
|
890 |
'BW' =>
|
1481 |
'continent' => 'EU',
|
1482 |
'location' =>
|
1483 |
array (
|
1484 |
+
'latitude' => 51.090735557380697,
|
1485 |
'longitude' => 10.454033001170981,
|
1486 |
),
|
1487 |
),
|
1637 |
'continent' => 'SA',
|
1638 |
'location' =>
|
1639 |
array (
|
1640 |
+
'latitude' => -1.7904610797626752,
|
1641 |
+
'longitude' => -78.13541522506975,
|
1642 |
),
|
1643 |
),
|
1644 |
'EE' =>
|
1663 |
'continent' => 'EU',
|
1664 |
'location' =>
|
1665 |
array (
|
1666 |
+
'latitude' => 58.592312052510394,
|
1667 |
+
'longitude' => 25.018813401475601,
|
1668 |
),
|
1669 |
),
|
1670 |
'EG' =>
|
1845 |
'continent' => 'OC',
|
1846 |
'location' =>
|
1847 |
array (
|
1848 |
+
'latitude' => -16.577801029357165,
|
1849 |
+
'longitude' => -0.64202631176044633,
|
1850 |
),
|
1851 |
),
|
1852 |
'FK' =>
|
1923 |
'continent' => 'EU',
|
1924 |
'location' =>
|
1925 |
array (
|
1926 |
+
'latitude' => 61.892459353514354,
|
1927 |
+
'longitude' => -6.972375624847877,
|
1928 |
),
|
1929 |
),
|
1930 |
'FR' =>
|
1949 |
'continent' => 'EU',
|
1950 |
'location' =>
|
1951 |
array (
|
1952 |
+
'latitude' => 46.227411278966052,
|
1953 |
+
'longitude' => 2.2103091990658004,
|
1954 |
),
|
1955 |
),
|
1956 |
'GA' =>
|
2859 |
'continent' => 'EU',
|
2860 |
'location' =>
|
2861 |
array (
|
2862 |
+
'latitude' => 41.867932703854351,
|
2863 |
+
'longitude' => 12.573501384524841,
|
2864 |
),
|
2865 |
),
|
2866 |
'JE' =>
|
3171 |
'continent' => 'AS',
|
3172 |
'location' =>
|
3173 |
array (
|
3174 |
+
'latitude' => 35.894399703461701,
|
3175 |
+
'longitude' => 127.7352292667875,
|
3176 |
),
|
3177 |
),
|
3178 |
'KW' =>
|
3327 |
'continent' => 'NA',
|
3328 |
'location' =>
|
3329 |
array (
|
3330 |
+
'latitude' => 13.9087932550721,
|
3331 |
+
'longitude' => -60.976593971912308,
|
3332 |
),
|
3333 |
),
|
3334 |
'LI' =>
|
3483 |
'continent' => 'EU',
|
3484 |
'location' =>
|
3485 |
array (
|
3486 |
+
'latitude' => 49.815315565781077,
|
3487 |
+
'longitude' => 6.1332985028233686,
|
3488 |
),
|
3489 |
),
|
3490 |
'LV' =>
|
3509 |
'continent' => 'EU',
|
3510 |
'location' =>
|
3511 |
array (
|
3512 |
+
'latitude' => 56.880237870430001,
|
3513 |
+
'longitude' => 24.606613741685898,
|
3514 |
),
|
3515 |
),
|
3516 |
'LY' =>
|
3665 |
'continent' => 'NA',
|
3666 |
'location' =>
|
3667 |
array (
|
3668 |
+
'latitude' => 18.086233691138208,
|
3669 |
+
'longitude' => -63.080476051053722,
|
3670 |
),
|
3671 |
),
|
3672 |
'MG' =>
|
4601 |
'continent' => 'AS',
|
4602 |
'location' =>
|
4603 |
array (
|
4604 |
+
'latitude' => 12.88199172124097,
|
4605 |
+
'longitude' => 121.7669150462425,
|
4606 |
),
|
4607 |
),
|
4608 |
'PK' =>
|
4679 |
'continent' => 'NA',
|
4680 |
'location' =>
|
4681 |
array (
|
4682 |
+
'latitude' => 46.963208868962745,
|
4683 |
+
'longitude' => -56.266211037608116,
|
4684 |
),
|
4685 |
),
|
4686 |
'PN' =>
|
5303 |
'continent' => 'EU',
|
5304 |
'location' =>
|
5305 |
array (
|
5306 |
+
'latitude' => 43.942896593917453,
|
5307 |
+
'longitude' => 12.459727152803548,
|
5308 |
),
|
5309 |
),
|
5310 |
'SN' =>
|
5485 |
'continent' => 'NA',
|
5486 |
'location' =>
|
5487 |
array (
|
5488 |
+
'latitude' => 18.035910279177614,
|
5489 |
+
'longitude' => -63.075940545819492,
|
5490 |
),
|
5491 |
),
|
5492 |
'SY' =>
|
5745 |
'continent' => 'OC',
|
5746 |
'location' =>
|
5747 |
array (
|
5748 |
+
'latitude' => -8.8157601356506348,
|
5749 |
+
'longitude' => 125.69338226318359,
|
5750 |
),
|
5751 |
),
|
5752 |
'TM' =>
|
lib/geonames/data/country-names.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Generated at
|
3 |
return array (
|
4 |
'en' =>
|
5 |
array (
|
1 |
<?php
|
2 |
+
// Generated at Mon, 13 Mar 2017 12:14:10 +0100
|
3 |
return array (
|
4 |
'en' =>
|
5 |
array (
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: benjaminpick
|
3 |
Tags: geoip, maxmind, geolocation, locator
|
4 |
Requires at least: 3.5
|
5 |
-
Tested up to: 4.
|
6 |
Stable tag: trunk
|
7 |
License: GPLv3 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -167,6 +167,14 @@ Fixing automatic weekly updates.
|
|
167 |
|
168 |
== Changelog ==
|
169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
= 2.6.0 =
|
171 |
|
172 |
* ADD: New datasources for Cloudflare & Amazon AWS CloudFront (countries for current IP only).
|
2 |
Contributors: benjaminpick
|
3 |
Tags: geoip, maxmind, geolocation, locator
|
4 |
Requires at least: 3.5
|
5 |
+
Tested up to: 4.7
|
6 |
Stable tag: trunk
|
7 |
License: GPLv3 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
167 |
|
168 |
== Changelog ==
|
169 |
|
170 |
+
= 2.7.0 =
|
171 |
+
|
172 |
+
* ADD: The options array of `geoip_detect2_get_info_from_ip` now has a new parameter for overriding the current source for a single lookup. See [API usage examples](https://github.com/yellowtree/wp-geoip-detect/wiki/API-Usage-Examples)
|
173 |
+
* ADD: New filter `geoip_detect2_shortcode_country_select_countries` for the country list of `[geoip_detect2_countries]`
|
174 |
+
* ADD: New constant `GEOIP_DETECT_IP_EMPTY_CACHE_TIME` that can be used to specify a shorter cache time in case temporarily no external IP was found.
|
175 |
+
* FIX: Compatibility with CF 4.6 (remove deprecated function call)
|
176 |
+
* Maxmind vendor code was updated to the current version (2.4.5).
|
177 |
+
|
178 |
= 2.6.0 =
|
179 |
|
180 |
* ADD: New datasources for Cloudflare & Amazon AWS CloudFront (countries for current IP only).
|
shortcode.php
CHANGED
@@ -196,18 +196,39 @@ function geoip_detect2_shortcode_country_select($attr) {
|
|
196 |
|
197 |
$countryInfo = new YellowTree\GeoipDetect\Geonames\CountryInformation();
|
198 |
$countries = $countryInfo->getAllCountries($locales);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
|
200 |
$html = '<select ' . $select_attrs_html . '>';
|
201 |
if (!empty($attr['include_blank']) && $attr['include_blank'] !== 'false')
|
202 |
$html .= '<option value="">---</option>';
|
203 |
foreach ($countries as $code => $label) {
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
$html .= '</select>';
|
207 |
|
208 |
return $html;
|
209 |
}
|
210 |
add_shortcode('geoip_detect2_countries_select', 'geoip_detect2_shortcode_country_select');
|
|
|
211 |
|
212 |
/**
|
213 |
*
|
@@ -260,7 +281,13 @@ function geoip_detect2_shortcode_country_select_wpcf7($tag) {
|
|
260 |
|
261 |
add_action( 'wpcf7_init', 'geoip_detect2_add_shortcodes' );
|
262 |
function geoip_detect2_add_shortcodes() {
|
263 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
}
|
265 |
|
266 |
|
@@ -278,6 +305,8 @@ function geoip_detect2_shortcode_user_info_wpcf7($output, $name, $isHtml) {
|
|
278 |
$lines[] = sprintf(__('State or region: %s', 'geoip-detect'), $info->mostSpecificSubdivision->name);
|
279 |
if ($info->city->name)
|
280 |
$lines[] = sprintf(__('City: %s', 'geoip-detect'), $info->city->name);
|
|
|
|
|
281 |
|
282 |
$lineBreak = $isHtml ? "<br>" : "\n";
|
283 |
return implode($lineBreak, $lines);
|
196 |
|
197 |
$countryInfo = new YellowTree\GeoipDetect\Geonames\CountryInformation();
|
198 |
$countries = $countryInfo->getAllCountries($locales);
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Filter: geoip_detect2_shortcode_country_select_countries
|
202 |
+
* Change the list of countries that should show up in the select box.
|
203 |
+
* You can add, remove, reorder countries at will.
|
204 |
+
* If you want to add a blank value (for seperators or so), use a key name that starts with 'blank_'
|
205 |
+
* and then something at will in case you need several of them.
|
206 |
+
*
|
207 |
+
* @param array $countries List of localized country names
|
208 |
+
* @param array $attr Parameters that were passed to the shortcode
|
209 |
+
* @return array
|
210 |
+
*/
|
211 |
+
$countries = apply_filters('geoip_detect2_shortcode_country_select_countries', $countries, $attr);
|
212 |
|
213 |
$html = '<select ' . $select_attrs_html . '>';
|
214 |
if (!empty($attr['include_blank']) && $attr['include_blank'] !== 'false')
|
215 |
$html .= '<option value="">---</option>';
|
216 |
foreach ($countries as $code => $label) {
|
217 |
+
if (substr($code, 0, 6) == 'blank_')
|
218 |
+
{
|
219 |
+
$html .= '<option value="">' . esc_html($label) . '</option>';
|
220 |
+
}
|
221 |
+
else
|
222 |
+
{
|
223 |
+
$html .= '<option' . ($code == $selected ? ' selected="selected"' : '') . '>' . esc_html($label) . '</option>';
|
224 |
+
}
|
225 |
}
|
226 |
$html .= '</select>';
|
227 |
|
228 |
return $html;
|
229 |
}
|
230 |
add_shortcode('geoip_detect2_countries_select', 'geoip_detect2_shortcode_country_select');
|
231 |
+
add_shortcode('geoip_detect2_countries', 'geoip_detect2_shortcode_country_select');
|
232 |
|
233 |
/**
|
234 |
*
|
281 |
|
282 |
add_action( 'wpcf7_init', 'geoip_detect2_add_shortcodes' );
|
283 |
function geoip_detect2_add_shortcodes() {
|
284 |
+
if (function_exists('wpcf7_add_form_tag')) {
|
285 |
+
// >=CF 4.6
|
286 |
+
wpcf7_add_form_tag(array('geoip_detect2_countries', 'geoip_detect2_countries*'), 'geoip_detect2_shortcode_country_select_wpcf7', true);
|
287 |
+
} else if (function_exists('wpcf7_add_shortcode')) {
|
288 |
+
// < CF 4.6
|
289 |
+
wpcf7_add_shortcode(array('geoip_detect2_countries', 'geoip_detect2_countries*'), 'geoip_detect2_shortcode_country_select_wpcf7', true);
|
290 |
+
}
|
291 |
}
|
292 |
|
293 |
|
305 |
$lines[] = sprintf(__('State or region: %s', 'geoip-detect'), $info->mostSpecificSubdivision->name);
|
306 |
if ($info->city->name)
|
307 |
$lines[] = sprintf(__('City: %s', 'geoip-detect'), $info->city->name);
|
308 |
+
$lines[] = '';
|
309 |
+
$lines[] = sprintf(__('Data from: %s', 'geoip-detect'), geoip_detect2_get_current_source_description());
|
310 |
|
311 |
$lineBreak = $isHtml ? "<br>" : "\n";
|
312 |
return implode($lineBreak, $lines);
|
vendor/autoload.php
CHANGED
@@ -2,6 +2,6 @@
|
|
2 |
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
-
require_once __DIR__ . '/composer
|
6 |
|
7 |
return ComposerAutoloaderInite354937679ffa734a3f63544e59103dd::getLoader();
|
2 |
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
return ComposerAutoloaderInite354937679ffa734a3f63544e59103dd::getLoader();
|
vendor/composer/ClassLoader.php
CHANGED
@@ -55,6 +55,7 @@ class ClassLoader
|
|
55 |
private $classMap = array();
|
56 |
private $classMapAuthoritative = false;
|
57 |
private $missingClasses = array();
|
|
|
58 |
|
59 |
public function getPrefixes()
|
60 |
{
|
@@ -271,6 +272,26 @@ class ClassLoader
|
|
271 |
return $this->classMapAuthoritative;
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
/**
|
275 |
* Registers this instance as an autoloader.
|
276 |
*
|
@@ -313,11 +334,6 @@ class ClassLoader
|
|
313 |
*/
|
314 |
public function findFile($class)
|
315 |
{
|
316 |
-
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
|
317 |
-
if ('\\' == $class[0]) {
|
318 |
-
$class = substr($class, 1);
|
319 |
-
}
|
320 |
-
|
321 |
// class map lookup
|
322 |
if (isset($this->classMap[$class])) {
|
323 |
return $this->classMap[$class];
|
@@ -325,6 +341,12 @@ class ClassLoader
|
|
325 |
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
326 |
return false;
|
327 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
|
329 |
$file = $this->findFileWithExtension($class, '.php');
|
330 |
|
@@ -333,6 +355,10 @@ class ClassLoader
|
|
333 |
$file = $this->findFileWithExtension($class, '.hh');
|
334 |
}
|
335 |
|
|
|
|
|
|
|
|
|
336 |
if (false === $file) {
|
337 |
// Remember that this class does not exist.
|
338 |
$this->missingClasses[$class] = true;
|
@@ -348,9 +374,13 @@ class ClassLoader
|
|
348 |
|
349 |
$first = $class[0];
|
350 |
if (isset($this->prefixLengthsPsr4[$first])) {
|
351 |
-
|
352 |
-
|
353 |
-
|
|
|
|
|
|
|
|
|
354 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
355 |
return $file;
|
356 |
}
|
55 |
private $classMap = array();
|
56 |
private $classMapAuthoritative = false;
|
57 |
private $missingClasses = array();
|
58 |
+
private $apcuPrefix;
|
59 |
|
60 |
public function getPrefixes()
|
61 |
{
|
272 |
return $this->classMapAuthoritative;
|
273 |
}
|
274 |
|
275 |
+
/**
|
276 |
+
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
+
*
|
278 |
+
* @param string|null $apcuPrefix
|
279 |
+
*/
|
280 |
+
public function setApcuPrefix($apcuPrefix)
|
281 |
+
{
|
282 |
+
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* The APCu prefix in use, or null if APCu caching is not enabled.
|
287 |
+
*
|
288 |
+
* @return string|null
|
289 |
+
*/
|
290 |
+
public function getApcuPrefix()
|
291 |
+
{
|
292 |
+
return $this->apcuPrefix;
|
293 |
+
}
|
294 |
+
|
295 |
/**
|
296 |
* Registers this instance as an autoloader.
|
297 |
*
|
334 |
*/
|
335 |
public function findFile($class)
|
336 |
{
|
|
|
|
|
|
|
|
|
|
|
337 |
// class map lookup
|
338 |
if (isset($this->classMap[$class])) {
|
339 |
return $this->classMap[$class];
|
341 |
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
342 |
return false;
|
343 |
}
|
344 |
+
if (null !== $this->apcuPrefix) {
|
345 |
+
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
346 |
+
if ($hit) {
|
347 |
+
return $file;
|
348 |
+
}
|
349 |
+
}
|
350 |
|
351 |
$file = $this->findFileWithExtension($class, '.php');
|
352 |
|
355 |
$file = $this->findFileWithExtension($class, '.hh');
|
356 |
}
|
357 |
|
358 |
+
if (null !== $this->apcuPrefix) {
|
359 |
+
apcu_add($this->apcuPrefix.$class, $file);
|
360 |
+
}
|
361 |
+
|
362 |
if (false === $file) {
|
363 |
// Remember that this class does not exist.
|
364 |
$this->missingClasses[$class] = true;
|
374 |
|
375 |
$first = $class[0];
|
376 |
if (isset($this->prefixLengthsPsr4[$first])) {
|
377 |
+
$subPath = $class;
|
378 |
+
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
+
$subPath = substr($subPath, 0, $lastPos);
|
380 |
+
$search = $subPath.'\\';
|
381 |
+
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
+
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
383 |
+
$length = $this->prefixLengthsPsr4[$first][$search];
|
384 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
385 |
return $file;
|
386 |
}
|
vendor/composer/LICENSE
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
Copyright (c)
|
3 |
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
of this software and associated documentation files (the "Software"), to deal
|
1 |
|
2 |
+
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
of this software and associated documentation files (the "Software"), to deal
|
vendor/composer/autoload_namespaces.php
CHANGED
@@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
-
'MaxMind' => array($vendorDir . '/maxmind-db/reader/src'),
|
10 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
9 |
);
|
vendor/composer/autoload_psr4.php
CHANGED
@@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
9 |
'MaxMind\\' => array($vendorDir . '/maxmind/web-service-common/src'),
|
10 |
'GeoIp2\\' => array($vendorDir . '/geoip2/geoip2/src'),
|
11 |
'Composer\\CaBundle\\' => array($vendorDir . '/composer/ca-bundle/src'),
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
+
'MaxMind\\Db\\' => array($vendorDir . '/maxmind-db/reader/src/MaxMind/Db'),
|
10 |
'MaxMind\\' => array($vendorDir . '/maxmind/web-service-common/src'),
|
11 |
'GeoIp2\\' => array($vendorDir . '/geoip2/geoip2/src'),
|
12 |
'Composer\\CaBundle\\' => array($vendorDir . '/composer/ca-bundle/src'),
|
vendor/composer/autoload_real.php
CHANGED
@@ -23,7 +23,7 @@ class ComposerAutoloaderInite354937679ffa734a3f63544e59103dd
|
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
spl_autoload_unregister(array('ComposerAutoloaderInite354937679ffa734a3f63544e59103dd', 'loadClassLoader'));
|
25 |
|
26 |
-
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
spl_autoload_unregister(array('ComposerAutoloaderInite354937679ffa734a3f63544e59103dd', 'loadClassLoader'));
|
25 |
|
26 |
+
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
vendor/composer/autoload_static.php
CHANGED
@@ -9,6 +9,7 @@ class ComposerStaticInite354937679ffa734a3f63544e59103dd
|
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'M' =>
|
11 |
array (
|
|
|
12 |
'MaxMind\\' => 8,
|
13 |
),
|
14 |
'G' =>
|
@@ -22,6 +23,10 @@ class ComposerStaticInite354937679ffa734a3f63544e59103dd
|
|
22 |
);
|
23 |
|
24 |
public static $prefixDirsPsr4 = array (
|
|
|
|
|
|
|
|
|
25 |
'MaxMind\\' =>
|
26 |
array (
|
27 |
0 => __DIR__ . '/..' . '/maxmind/web-service-common/src',
|
@@ -36,22 +41,11 @@ class ComposerStaticInite354937679ffa734a3f63544e59103dd
|
|
36 |
),
|
37 |
);
|
38 |
|
39 |
-
public static $prefixesPsr0 = array (
|
40 |
-
'M' =>
|
41 |
-
array (
|
42 |
-
'MaxMind' =>
|
43 |
-
array (
|
44 |
-
0 => __DIR__ . '/..' . '/maxmind-db/reader/src',
|
45 |
-
),
|
46 |
-
),
|
47 |
-
);
|
48 |
-
|
49 |
public static function getInitializer(ClassLoader $loader)
|
50 |
{
|
51 |
return \Closure::bind(function () use ($loader) {
|
52 |
$loader->prefixLengthsPsr4 = ComposerStaticInite354937679ffa734a3f63544e59103dd::$prefixLengthsPsr4;
|
53 |
$loader->prefixDirsPsr4 = ComposerStaticInite354937679ffa734a3f63544e59103dd::$prefixDirsPsr4;
|
54 |
-
$loader->prefixesPsr0 = ComposerStaticInite354937679ffa734a3f63544e59103dd::$prefixesPsr0;
|
55 |
|
56 |
}, null, ClassLoader::class);
|
57 |
}
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'M' =>
|
11 |
array (
|
12 |
+
'MaxMind\\Db\\' => 11,
|
13 |
'MaxMind\\' => 8,
|
14 |
),
|
15 |
'G' =>
|
23 |
);
|
24 |
|
25 |
public static $prefixDirsPsr4 = array (
|
26 |
+
'MaxMind\\Db\\' =>
|
27 |
+
array (
|
28 |
+
0 => __DIR__ . '/..' . '/maxmind-db/reader/src/MaxMind/Db',
|
29 |
+
),
|
30 |
'MaxMind\\' =>
|
31 |
array (
|
32 |
0 => __DIR__ . '/..' . '/maxmind/web-service-common/src',
|
41 |
),
|
42 |
);
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
public static function getInitializer(ClassLoader $loader)
|
45 |
{
|
46 |
return \Closure::bind(function () use ($loader) {
|
47 |
$loader->prefixLengthsPsr4 = ComposerStaticInite354937679ffa734a3f63544e59103dd::$prefixLengthsPsr4;
|
48 |
$loader->prefixDirsPsr4 = ComposerStaticInite354937679ffa734a3f63544e59103dd::$prefixDirsPsr4;
|
|
|
49 |
|
50 |
}, null, ClassLoader::class);
|
51 |
}
|
vendor/composer/ca-bundle/composer.json
CHANGED
@@ -27,6 +27,7 @@
|
|
27 |
"php": "^5.3.2 || ^7.0"
|
28 |
},
|
29 |
"require-dev": {
|
|
|
30 |
"psr/log": "^1.0",
|
31 |
"symfony/process": "^2.5 || ^3.0"
|
32 |
},
|
@@ -47,5 +48,10 @@
|
|
47 |
"branch-alias": {
|
48 |
"dev-master": "1.x-dev"
|
49 |
}
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
}
|
27 |
"php": "^5.3.2 || ^7.0"
|
28 |
},
|
29 |
"require-dev": {
|
30 |
+
"phpunit/phpunit": "^4.5",
|
31 |
"psr/log": "^1.0",
|
32 |
"symfony/process": "^2.5 || ^3.0"
|
33 |
},
|
48 |
"branch-alias": {
|
49 |
"dev-master": "1.x-dev"
|
50 |
}
|
51 |
+
},
|
52 |
+
"config": {
|
53 |
+
"platform": {
|
54 |
+
"php": "5.3.9"
|
55 |
+
}
|
56 |
}
|
57 |
}
|
vendor/composer/ca-bundle/res/cacert.pem
CHANGED
@@ -1,41 +1,22 @@
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
-
## Certificate data from Mozilla as of: Wed
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
8 |
## file (certdata.txt). This file can be found in the mozilla source tree:
|
9 |
-
##
|
10 |
##
|
11 |
## It contains the certificates in PEM format and therefore
|
12 |
## can be directly used with curl / libcurl / php_curl, or with
|
13 |
## an Apache+mod_ssl webserver for SSL client authentication.
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
-
## Conversion done with mk-ca-bundle.pl version 1.
|
17 |
-
##
|
18 |
##
|
19 |
|
20 |
-
Equifax Secure CA
|
21 |
-
=================
|
22 |
-
-----BEGIN CERTIFICATE-----
|
23 |
-
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
|
24 |
-
ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
25 |
-
MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
|
26 |
-
B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
|
27 |
-
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
|
28 |
-
fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
|
29 |
-
8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
|
30 |
-
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
|
31 |
-
CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
|
32 |
-
A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
|
33 |
-
spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
|
34 |
-
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
|
35 |
-
zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
|
36 |
-
BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
|
37 |
-
70+sB3c4
|
38 |
-
-----END CERTIFICATE-----
|
39 |
|
40 |
GlobalSign Root CA
|
41 |
==================
|
@@ -271,27 +252,6 @@ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
|
271 |
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
272 |
-----END CERTIFICATE-----
|
273 |
|
274 |
-
RSA Security 2048 v3
|
275 |
-
====================
|
276 |
-
-----BEGIN CERTIFICATE-----
|
277 |
-
MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
|
278 |
-
ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
|
279 |
-
MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
|
280 |
-
BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
281 |
-
AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
|
282 |
-
Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
|
283 |
-
WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
|
284 |
-
KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
|
285 |
-
+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
|
286 |
-
MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
|
287 |
-
FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
|
288 |
-
v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
|
289 |
-
0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
|
290 |
-
VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
|
291 |
-
nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
|
292 |
-
pKnXwiJPZ9d37CAFYd4=
|
293 |
-
-----END CERTIFICATE-----
|
294 |
-
|
295 |
GeoTrust Global CA
|
296 |
==================
|
297 |
-----BEGIN CERTIFICATE-----
|
@@ -1304,30 +1264,6 @@ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
|
|
1304 |
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
1305 |
-----END CERTIFICATE-----
|
1306 |
|
1307 |
-
IGC/A
|
1308 |
-
=====
|
1309 |
-
-----BEGIN CERTIFICATE-----
|
1310 |
-
MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
|
1311 |
-
VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
|
1312 |
-
Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
|
1313 |
-
MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
|
1314 |
-
EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
|
1315 |
-
STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
|
1316 |
-
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
|
1317 |
-
TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
|
1318 |
-
So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
|
1319 |
-
HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
|
1320 |
-
frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
|
1321 |
-
tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
|
1322 |
-
egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
|
1323 |
-
iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
|
1324 |
-
q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
|
1325 |
-
MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
|
1326 |
-
Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
|
1327 |
-
lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
|
1328 |
-
0mBWWg==
|
1329 |
-
-----END CERTIFICATE-----
|
1330 |
-
|
1331 |
Security Communication EV RootCA1
|
1332 |
=================================
|
1333 |
-----BEGIN CERTIFICATE-----
|
@@ -1537,58 +1473,6 @@ LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
|
|
1537 |
dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
|
1538 |
-----END CERTIFICATE-----
|
1539 |
|
1540 |
-
Buypass Class 2 CA 1
|
1541 |
-
====================
|
1542 |
-
-----BEGIN CERTIFICATE-----
|
1543 |
-
MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
1544 |
-
QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
|
1545 |
-
MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
|
1546 |
-
c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
|
1547 |
-
hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
|
1548 |
-
cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
|
1549 |
-
0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
|
1550 |
-
0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
|
1551 |
-
uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
|
1552 |
-
MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
|
1553 |
-
AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
|
1554 |
-
1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
|
1555 |
-
7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
|
1556 |
-
fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
|
1557 |
-
wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
|
1558 |
-
-----END CERTIFICATE-----
|
1559 |
-
|
1560 |
-
EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
|
1561 |
-
==========================================================================
|
1562 |
-
-----BEGIN CERTIFICATE-----
|
1563 |
-
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
-
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
|
1565 |
-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
-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
-
ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
|
1568 |
-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
-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
-
X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
|
1571 |
-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
-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
-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
-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
-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
-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
-
ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
|
1578 |
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
|
1588 |
-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
-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
|
1590 |
-
-----END CERTIFICATE-----
|
1591 |
-
|
1592 |
certSIGN ROOT CA
|
1593 |
================
|
1594 |
-----BEGIN CERTIFICATE-----
|
@@ -1783,7 +1667,7 @@ AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
|
1783 |
-----END CERTIFICATE-----
|
1784 |
|
1785 |
NetLock Arany (Class Gold) Főtanúsítvány
|
1786 |
-
|
1787 |
-----BEGIN CERTIFICATE-----
|
1788 |
MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
|
1789 |
A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
|
@@ -1838,34 +1722,6 @@ IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
|
|
1838 |
66+KAQ==
|
1839 |
-----END CERTIFICATE-----
|
1840 |
|
1841 |
-
Juur-SK
|
1842 |
-
=======
|
1843 |
-
-----BEGIN CERTIFICATE-----
|
1844 |
-
MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
|
1845 |
-
c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
|
1846 |
-
DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
|
1847 |
-
SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
|
1848 |
-
aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
1849 |
-
ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
|
1850 |
-
TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
|
1851 |
-
+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
|
1852 |
-
UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
|
1853 |
-
Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
|
1854 |
-
MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
|
1855 |
-
HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
|
1856 |
-
AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
|
1857 |
-
cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
|
1858 |
-
AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
|
1859 |
-
cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
|
1860 |
-
FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
|
1861 |
-
A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
|
1862 |
-
ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
|
1863 |
-
abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
|
1864 |
-
IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
|
1865 |
-
Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
|
1866 |
-
yyqcjg==
|
1867 |
-
-----END CERTIFICATE-----
|
1868 |
-
|
1869 |
Hongkong Post Root CA 1
|
1870 |
=======================
|
1871 |
-----BEGIN CERTIFICATE-----
|
@@ -2299,7 +2155,7 @@ Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
|
|
2299 |
-----END CERTIFICATE-----
|
2300 |
|
2301 |
Certinomis - Autorité Racine
|
2302 |
-
|
2303 |
-----BEGIN CERTIFICATE-----
|
2304 |
MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
|
2305 |
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
|
@@ -2329,41 +2185,6 @@ wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
|
|
2329 |
vgt2Fl43N+bYdJeimUV5
|
2330 |
-----END CERTIFICATE-----
|
2331 |
|
2332 |
-
Root CA Generalitat Valenciana
|
2333 |
-
==============================
|
2334 |
-
-----BEGIN CERTIFICATE-----
|
2335 |
-
MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
|
2336 |
-
ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
|
2337 |
-
IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
|
2338 |
-
WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
|
2339 |
-
CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
|
2340 |
-
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
|
2341 |
-
F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
|
2342 |
-
ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
|
2343 |
-
D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
|
2344 |
-
JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
|
2345 |
-
AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
|
2346 |
-
dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
|
2347 |
-
ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
|
2348 |
-
AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
|
2349 |
-
YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
|
2350 |
-
AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
|
2351 |
-
aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
|
2352 |
-
AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
|
2353 |
-
YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
|
2354 |
-
AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
|
2355 |
-
OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
|
2356 |
-
dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
|
2357 |
-
BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
|
2358 |
-
A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
|
2359 |
-
b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
|
2360 |
-
TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
|
2361 |
-
Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
|
2362 |
-
NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
|
2363 |
-
iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
|
2364 |
-
+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
|
2365 |
-
-----END CERTIFICATE-----
|
2366 |
-
|
2367 |
TWCA Root Certification Authority
|
2368 |
=================================
|
2369 |
-----BEGIN CERTIFICATE-----
|
@@ -3694,7 +3515,7 @@ ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
|
|
3694 |
-----END CERTIFICATE-----
|
3695 |
|
3696 |
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
|
3697 |
-
|
3698 |
-----BEGIN CERTIFICATE-----
|
3699 |
MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
|
3700 |
BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
|
@@ -3718,7 +3539,7 @@ B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU=
|
|
3718 |
-----END CERTIFICATE-----
|
3719 |
|
3720 |
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6
|
3721 |
-
|
3722 |
-----BEGIN CERTIFICATE-----
|
3723 |
MIIEJjCCAw6gAwIBAgIGfaHyZeyKMA0GCSqGSIb3DQEBCwUAMIGxMQswCQYDVQQGEwJUUjEPMA0G
|
3724 |
A1UEBwwGQW5rYXJhMU0wSwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
|
@@ -3882,3 +3703,341 @@ ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX
|
|
3882 |
is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
|
3883 |
zAYspsbiDrW5viSP
|
3884 |
-----END CERTIFICATE-----
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
+
## Certificate data from Mozilla as of: Wed Jan 18 04:12:05 2017 GMT
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
8 |
## file (certdata.txt). This file can be found in the mozilla source tree:
|
9 |
+
## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
|
10 |
##
|
11 |
## It contains the certificates in PEM format and therefore
|
12 |
## can be directly used with curl / libcurl / php_curl, or with
|
13 |
## an Apache+mod_ssl webserver for SSL client authentication.
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
+
## Conversion done with mk-ca-bundle.pl version 1.27.
|
17 |
+
## SHA256: dffa79e6aa993f558e82884abf7bb54bf440ab66ee91d82a27a627f6f2a4ace4
|
18 |
##
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
GlobalSign Root CA
|
22 |
==================
|
252 |
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
253 |
-----END CERTIFICATE-----
|
254 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
GeoTrust Global CA
|
256 |
==================
|
257 |
-----BEGIN CERTIFICATE-----
|
1264 |
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
1265 |
-----END CERTIFICATE-----
|
1266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1267 |
Security Communication EV RootCA1
|
1268 |
=================================
|
1269 |
-----BEGIN CERTIFICATE-----
|
1473 |
dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
|
1474 |
-----END CERTIFICATE-----
|
1475 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1476 |
certSIGN ROOT CA
|
1477 |
================
|
1478 |
-----BEGIN CERTIFICATE-----
|
1667 |
-----END CERTIFICATE-----
|
1668 |
|
1669 |
NetLock Arany (Class Gold) Főtanúsítvány
|
1670 |
+
========================================
|
1671 |
-----BEGIN CERTIFICATE-----
|
1672 |
MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
|
1673 |
A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
|
1722 |
66+KAQ==
|
1723 |
-----END CERTIFICATE-----
|
1724 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1725 |
Hongkong Post Root CA 1
|
1726 |
=======================
|
1727 |
-----BEGIN CERTIFICATE-----
|
2155 |
-----END CERTIFICATE-----
|
2156 |
|
2157 |
Certinomis - Autorité Racine
|
2158 |
+
============================
|
2159 |
-----BEGIN CERTIFICATE-----
|
2160 |
MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
|
2161 |
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
|
2185 |
vgt2Fl43N+bYdJeimUV5
|
2186 |
-----END CERTIFICATE-----
|
2187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2188 |
TWCA Root Certification Authority
|
2189 |
=================================
|
2190 |
-----BEGIN CERTIFICATE-----
|
3515 |
-----END CERTIFICATE-----
|
3516 |
|
3517 |
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
|
3518 |
+
====================================================
|
3519 |
-----BEGIN CERTIFICATE-----
|
3520 |
MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
|
3521 |
BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
|
3539 |
-----END CERTIFICATE-----
|
3540 |
|
3541 |
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6
|
3542 |
+
====================================================
|
3543 |
-----BEGIN CERTIFICATE-----
|
3544 |
MIIEJjCCAw6gAwIBAgIGfaHyZeyKMA0GCSqGSIb3DQEBCwUAMIGxMQswCQYDVQQGEwJUUjEPMA0G
|
3545 |
A1UEBwwGQW5rYXJhMU0wSwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
|
3703 |
is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
|
3704 |
zAYspsbiDrW5viSP
|
3705 |
-----END CERTIFICATE-----
|
3706 |
+
|
3707 |
+
Hellenic Academic and Research Institutions RootCA 2015
|
3708 |
+
=======================================================
|
3709 |
+
-----BEGIN CERTIFICATE-----
|
3710 |
+
MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT
|
3711 |
+
BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
|
3712 |
+
aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
|
3713 |
+
YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx
|
3714 |
+
MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg
|
3715 |
+
QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV
|
3716 |
+
BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw
|
3717 |
+
MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv
|
3718 |
+
bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh
|
3719 |
+
iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+
|
3720 |
+
6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd
|
3721 |
+
FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr
|
3722 |
+
i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F
|
3723 |
+
GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2
|
3724 |
+
fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
|
3725 |
+
iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
|
3726 |
+
Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
|
3727 |
+
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI
|
3728 |
+
hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+
|
3729 |
+
D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM
|
3730 |
+
d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y
|
3731 |
+
d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn
|
3732 |
+
82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb
|
3733 |
+
davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F
|
3734 |
+
Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt
|
3735 |
+
J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa
|
3736 |
+
JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q
|
3737 |
+
p/UsQu0yrbYhnr68
|
3738 |
+
-----END CERTIFICATE-----
|
3739 |
+
|
3740 |
+
Hellenic Academic and Research Institutions ECC RootCA 2015
|
3741 |
+
===========================================================
|
3742 |
+
-----BEGIN CERTIFICATE-----
|
3743 |
+
MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0
|
3744 |
+
aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u
|
3745 |
+
cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
|
3746 |
+
aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw
|
3747 |
+
MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj
|
3748 |
+
IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD
|
3749 |
+
VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290
|
3750 |
+
Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP
|
3751 |
+
dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK
|
3752 |
+
Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
|
3753 |
+
BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA
|
3754 |
+
GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
|
3755 |
+
dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
|
3756 |
+
-----END CERTIFICATE-----
|
3757 |
+
|
3758 |
+
Certplus Root CA G1
|
3759 |
+
===================
|
3760 |
+
-----BEGIN CERTIFICATE-----
|
3761 |
+
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
|
3785 |
+
qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo=
|
3786 |
+
-----END CERTIFICATE-----
|
3787 |
+
|
3788 |
+
Certplus Root CA G2
|
3789 |
+
===================
|
3790 |
+
-----BEGIN CERTIFICATE-----
|
3791 |
+
MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT
|
3792 |
+
AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x
|
3793 |
+
NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0
|
3794 |
+
cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA
|
3795 |
+
BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN
|
3796 |
+
Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD
|
3797 |
+
AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud
|
3798 |
+
IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV
|
3799 |
+
HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl
|
3800 |
+
vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw==
|
3801 |
+
-----END CERTIFICATE-----
|
3802 |
+
|
3803 |
+
OpenTrust Root CA G1
|
3804 |
+
====================
|
3805 |
+
-----BEGIN CERTIFICATE-----
|
3806 |
+
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
|
3830 |
+
OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx
|
3831 |
+
-----END CERTIFICATE-----
|
3832 |
+
|
3833 |
+
OpenTrust Root CA G2
|
3834 |
+
====================
|
3835 |
+
-----BEGIN CERTIFICATE-----
|
3836 |
+
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
|
3860 |
+
u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK
|
3861 |
+
-----END CERTIFICATE-----
|
3862 |
+
|
3863 |
+
OpenTrust Root CA G3
|
3864 |
+
====================
|
3865 |
+
-----BEGIN CERTIFICATE-----
|
3866 |
+
MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT
|
3867 |
+
AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X
|
3868 |
+
DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w
|
3869 |
+
ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA
|
3870 |
+
IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B
|
3871 |
+
ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB
|
3872 |
+
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf
|
3873 |
+
BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM
|
3874 |
+
BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta
|
3875 |
+
3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB
|
3876 |
+
-----END CERTIFICATE-----
|
3877 |
+
|
3878 |
+
ISRG Root X1
|
3879 |
+
============
|
3880 |
+
-----BEGIN CERTIFICATE-----
|
3881 |
+
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
|
3905 |
+
m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
|
3906 |
+
-----END CERTIFICATE-----
|
3907 |
+
|
3908 |
+
AC RAIZ FNMT-RCM
|
3909 |
+
================
|
3910 |
+
-----BEGIN CERTIFICATE-----
|
3911 |
+
MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT
|
3912 |
+
AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw
|
3913 |
+
MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD
|
3914 |
+
TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
|
3915 |
+
ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf
|
3916 |
+
qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr
|
3917 |
+
btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL
|
3918 |
+
j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou
|
3919 |
+
08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw
|
3920 |
+
WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT
|
3921 |
+
tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ
|
3922 |
+
47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC
|
3923 |
+
ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa
|
3924 |
+
i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
|
3925 |
+
FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o
|
3926 |
+
dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD
|
3927 |
+
nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s
|
3928 |
+
D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ
|
3929 |
+
j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT
|
3930 |
+
Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW
|
3931 |
+
+YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7
|
3932 |
+
Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d
|
3933 |
+
8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm
|
3934 |
+
5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG
|
3935 |
+
rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
|
3936 |
+
-----END CERTIFICATE-----
|
3937 |
+
|
3938 |
+
Amazon Root CA 1
|
3939 |
+
================
|
3940 |
+
-----BEGIN CERTIFICATE-----
|
3941 |
+
MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD
|
3942 |
+
VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1
|
3943 |
+
MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
|
3944 |
+
bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
3945 |
+
ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH
|
3946 |
+
FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
|
3947 |
+
gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t
|
3948 |
+
dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce
|
3949 |
+
VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
|
3950 |
+
/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3
|
3951 |
+
DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM
|
3952 |
+
CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy
|
3953 |
+
8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
|
3954 |
+
2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2
|
3955 |
+
xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5
|
3956 |
+
-----END CERTIFICATE-----
|
3957 |
+
|
3958 |
+
Amazon Root CA 2
|
3959 |
+
================
|
3960 |
+
-----BEGIN CERTIFICATE-----
|
3961 |
+
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
|
3985 |
+
-----END CERTIFICATE-----
|
3986 |
+
|
3987 |
+
Amazon Root CA 3
|
3988 |
+
================
|
3989 |
+
-----BEGIN CERTIFICATE-----
|
3990 |
+
MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG
|
3991 |
+
EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy
|
3992 |
+
NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
|
3993 |
+
MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB
|
3994 |
+
f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr
|
3995 |
+
Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43
|
3996 |
+
rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc
|
3997 |
+
eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==
|
3998 |
+
-----END CERTIFICATE-----
|
3999 |
+
|
4000 |
+
Amazon Root CA 4
|
4001 |
+
================
|
4002 |
+
-----BEGIN CERTIFICATE-----
|
4003 |
+
MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
|
4004 |
+
EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy
|
4005 |
+
NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
|
4006 |
+
MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN
|
4007 |
+
/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri
|
4008 |
+
83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
|
4009 |
+
HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
|
4010 |
+
MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
|
4011 |
+
AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
|
4012 |
+
-----END CERTIFICATE-----
|
4013 |
+
|
4014 |
+
LuxTrust Global Root 2
|
4015 |
+
======================
|
4016 |
+
-----BEGIN CERTIFICATE-----
|
4017 |
+
MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG
|
4018 |
+
A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh
|
4019 |
+
bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW
|
4020 |
+
MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC
|
4021 |
+
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm
|
4022 |
+
Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2
|
4023 |
+
xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC
|
4024 |
+
wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm
|
4025 |
+
1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm
|
4026 |
+
FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF
|
4027 |
+
wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/
|
4028 |
+
a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U
|
4029 |
+
ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ
|
4030 |
+
MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB
|
4031 |
+
/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5
|
4032 |
+
Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT
|
4033 |
+
+Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ
|
4034 |
+
FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN
|
4035 |
+
H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW
|
4036 |
+
7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu
|
4037 |
+
ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA
|
4038 |
+
VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR
|
4039 |
+
TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt
|
4040 |
+
/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc
|
4041 |
+
7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I
|
4042 |
+
iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr
|
4043 |
+
-----END CERTIFICATE-----
|
vendor/composer/installed.json
CHANGED
@@ -24,7 +24,7 @@
|
|
24 |
"phpunit/phpunit": "4.*",
|
25 |
"squizlabs/php_codesniffer": "2.*"
|
26 |
},
|
27 |
-
"time": "2016-08-
|
28 |
"type": "library",
|
29 |
"installation-source": "dist",
|
30 |
"autoload": {
|
@@ -45,19 +45,76 @@
|
|
45 |
"description": "Internal MaxMind Web Service API",
|
46 |
"homepage": "https://github.com/maxmind/mm-web-service-api-php"
|
47 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
{
|
49 |
"name": "geoip2/geoip2",
|
50 |
-
"version": "v2.4.
|
51 |
-
"version_normalized": "2.4.
|
52 |
"source": {
|
53 |
"type": "git",
|
54 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
55 |
-
"reference": "
|
56 |
},
|
57 |
"dist": {
|
58 |
"type": "zip",
|
59 |
-
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/
|
60 |
-
"reference": "
|
61 |
"shasum": ""
|
62 |
},
|
63 |
"require": {
|
@@ -69,7 +126,7 @@
|
|
69 |
"phpunit/phpunit": "4.2.*",
|
70 |
"squizlabs/php_codesniffer": "2.*"
|
71 |
},
|
72 |
-
"time": "
|
73 |
"type": "library",
|
74 |
"installation-source": "dist",
|
75 |
"autoload": {
|
@@ -100,17 +157,17 @@
|
|
100 |
},
|
101 |
{
|
102 |
"name": "composer/ca-bundle",
|
103 |
-
"version": "1.0.
|
104 |
-
"version_normalized": "1.0.
|
105 |
"source": {
|
106 |
"type": "git",
|
107 |
"url": "https://github.com/composer/ca-bundle.git",
|
108 |
-
"reference": "
|
109 |
},
|
110 |
"dist": {
|
111 |
"type": "zip",
|
112 |
-
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/
|
113 |
-
"reference": "
|
114 |
"shasum": ""
|
115 |
},
|
116 |
"require": {
|
@@ -119,13 +176,14 @@
|
|
119 |
"php": "^5.3.2 || ^7.0"
|
120 |
},
|
121 |
"require-dev": {
|
|
|
122 |
"psr/log": "^1.0",
|
123 |
"symfony/process": "^2.5 || ^3.0"
|
124 |
},
|
125 |
"suggest": {
|
126 |
"symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+"
|
127 |
},
|
128 |
-
"time": "
|
129 |
"type": "library",
|
130 |
"extra": {
|
131 |
"branch-alias": {
|
@@ -157,57 +215,5 @@
|
|
157 |
"ssl",
|
158 |
"tls"
|
159 |
]
|
160 |
-
},
|
161 |
-
{
|
162 |
-
"name": "maxmind-db/reader",
|
163 |
-
"version": "v1.1.1",
|
164 |
-
"version_normalized": "1.1.1.0",
|
165 |
-
"source": {
|
166 |
-
"type": "git",
|
167 |
-
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
168 |
-
"reference": "8da3b4fcd439779d4b16bba0a4ba98365f78d788"
|
169 |
-
},
|
170 |
-
"dist": {
|
171 |
-
"type": "zip",
|
172 |
-
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/8da3b4fcd439779d4b16bba0a4ba98365f78d788",
|
173 |
-
"reference": "8da3b4fcd439779d4b16bba0a4ba98365f78d788",
|
174 |
-
"shasum": ""
|
175 |
-
},
|
176 |
-
"require": {
|
177 |
-
"php": ">=5.3.1"
|
178 |
-
},
|
179 |
-
"require-dev": {
|
180 |
-
"phpunit/phpunit": "4.2.*",
|
181 |
-
"satooshi/php-coveralls": "1.0.*",
|
182 |
-
"squizlabs/php_codesniffer": "2.*"
|
183 |
-
},
|
184 |
-
"time": "2016-09-15 21:26:50",
|
185 |
-
"type": "library",
|
186 |
-
"installation-source": "dist",
|
187 |
-
"autoload": {
|
188 |
-
"psr-0": {
|
189 |
-
"MaxMind": "src/"
|
190 |
-
}
|
191 |
-
},
|
192 |
-
"notification-url": "https://packagist.org/downloads/",
|
193 |
-
"license": [
|
194 |
-
"Apache-2.0"
|
195 |
-
],
|
196 |
-
"authors": [
|
197 |
-
{
|
198 |
-
"name": "Gregory J. Oschwald",
|
199 |
-
"email": "goschwald@maxmind.com",
|
200 |
-
"homepage": "http://www.maxmind.com/"
|
201 |
-
}
|
202 |
-
],
|
203 |
-
"description": "MaxMind DB Reader API",
|
204 |
-
"homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php",
|
205 |
-
"keywords": [
|
206 |
-
"database",
|
207 |
-
"geoip",
|
208 |
-
"geoip2",
|
209 |
-
"geolocation",
|
210 |
-
"maxmind"
|
211 |
-
]
|
212 |
}
|
213 |
]
|
24 |
"phpunit/phpunit": "4.*",
|
25 |
"squizlabs/php_codesniffer": "2.*"
|
26 |
},
|
27 |
+
"time": "2016-08-18T16:36:52+00:00",
|
28 |
"type": "library",
|
29 |
"installation-source": "dist",
|
30 |
"autoload": {
|
45 |
"description": "Internal MaxMind Web Service API",
|
46 |
"homepage": "https://github.com/maxmind/mm-web-service-api-php"
|
47 |
},
|
48 |
+
{
|
49 |
+
"name": "maxmind-db/reader",
|
50 |
+
"version": "v1.1.3",
|
51 |
+
"version_normalized": "1.1.3.0",
|
52 |
+
"source": {
|
53 |
+
"type": "git",
|
54 |
+
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
55 |
+
"reference": "7eeccf61b078bb23bb07b1a151a7e5db52871e65"
|
56 |
+
},
|
57 |
+
"dist": {
|
58 |
+
"type": "zip",
|
59 |
+
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/7eeccf61b078bb23bb07b1a151a7e5db52871e65",
|
60 |
+
"reference": "7eeccf61b078bb23bb07b1a151a7e5db52871e65",
|
61 |
+
"shasum": ""
|
62 |
+
},
|
63 |
+
"require": {
|
64 |
+
"php": ">=5.3.1"
|
65 |
+
},
|
66 |
+
"require-dev": {
|
67 |
+
"phpunit/phpunit": "4.2.*",
|
68 |
+
"satooshi/php-coveralls": "1.0.*",
|
69 |
+
"squizlabs/php_codesniffer": "2.*"
|
70 |
+
},
|
71 |
+
"suggest": {
|
72 |
+
"ext-bcmath": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
73 |
+
"ext-gmp": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
74 |
+
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
75 |
+
},
|
76 |
+
"time": "2017-01-19T23:49:38+00:00",
|
77 |
+
"type": "library",
|
78 |
+
"installation-source": "dist",
|
79 |
+
"autoload": {
|
80 |
+
"psr-4": {
|
81 |
+
"MaxMind\\Db\\": "src/MaxMind/Db"
|
82 |
+
}
|
83 |
+
},
|
84 |
+
"notification-url": "https://packagist.org/downloads/",
|
85 |
+
"license": [
|
86 |
+
"Apache-2.0"
|
87 |
+
],
|
88 |
+
"authors": [
|
89 |
+
{
|
90 |
+
"name": "Gregory J. Oschwald",
|
91 |
+
"email": "goschwald@maxmind.com",
|
92 |
+
"homepage": "http://www.maxmind.com/"
|
93 |
+
}
|
94 |
+
],
|
95 |
+
"description": "MaxMind DB Reader API",
|
96 |
+
"homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php",
|
97 |
+
"keywords": [
|
98 |
+
"database",
|
99 |
+
"geoip",
|
100 |
+
"geoip2",
|
101 |
+
"geolocation",
|
102 |
+
"maxmind"
|
103 |
+
]
|
104 |
+
},
|
105 |
{
|
106 |
"name": "geoip2/geoip2",
|
107 |
+
"version": "v2.4.5",
|
108 |
+
"version_normalized": "2.4.5.0",
|
109 |
"source": {
|
110 |
"type": "git",
|
111 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
112 |
+
"reference": "b28a0ed0190cd76c878ed7002a5d1bb8c5f4c175"
|
113 |
},
|
114 |
"dist": {
|
115 |
"type": "zip",
|
116 |
+
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/b28a0ed0190cd76c878ed7002a5d1bb8c5f4c175",
|
117 |
+
"reference": "b28a0ed0190cd76c878ed7002a5d1bb8c5f4c175",
|
118 |
"shasum": ""
|
119 |
},
|
120 |
"require": {
|
126 |
"phpunit/phpunit": "4.2.*",
|
127 |
"squizlabs/php_codesniffer": "2.*"
|
128 |
},
|
129 |
+
"time": "2017-01-31T17:28:48+00:00",
|
130 |
"type": "library",
|
131 |
"installation-source": "dist",
|
132 |
"autoload": {
|
157 |
},
|
158 |
{
|
159 |
"name": "composer/ca-bundle",
|
160 |
+
"version": "1.0.7",
|
161 |
+
"version_normalized": "1.0.7.0",
|
162 |
"source": {
|
163 |
"type": "git",
|
164 |
"url": "https://github.com/composer/ca-bundle.git",
|
165 |
+
"reference": "b17e6153cb7f33c7e44eb59578dc12eee5dc8e12"
|
166 |
},
|
167 |
"dist": {
|
168 |
"type": "zip",
|
169 |
+
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/b17e6153cb7f33c7e44eb59578dc12eee5dc8e12",
|
170 |
+
"reference": "b17e6153cb7f33c7e44eb59578dc12eee5dc8e12",
|
171 |
"shasum": ""
|
172 |
},
|
173 |
"require": {
|
176 |
"php": "^5.3.2 || ^7.0"
|
177 |
},
|
178 |
"require-dev": {
|
179 |
+
"phpunit/phpunit": "^4.5",
|
180 |
"psr/log": "^1.0",
|
181 |
"symfony/process": "^2.5 || ^3.0"
|
182 |
},
|
183 |
"suggest": {
|
184 |
"symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+"
|
185 |
},
|
186 |
+
"time": "2017-03-06T11:59:08+00:00",
|
187 |
"type": "library",
|
188 |
"extra": {
|
189 |
"branch-alias": {
|
215 |
"ssl",
|
216 |
"tls"
|
217 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
}
|
219 |
]
|
vendor/geoip2/geoip2/CHANGELOG.md
CHANGED
@@ -1,12 +1,30 @@
|
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
2.4.2 (2016-08-17)
|
5 |
------------------
|
6 |
|
7 |
* Updated documentation to clarify what the accuracy radius refers to.
|
8 |
* Upgraded `maxmind/web-service-common` to 0.3.0. This version uses
|
9 |
-
`composer/ca-bundle` rather than our own CA bundle.
|
10 |
* Improved PHP documentation generation.
|
11 |
|
12 |
2.4.1 (2016-06-10)
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
4 |
+
2.4.5 (2017-01-31)
|
5 |
+
------------------
|
6 |
+
|
7 |
+
* Additional error checking on the data returned from `MaxMind\Db\Reader`
|
8 |
+
was added to help detect corrupt databases. GitHub #83.
|
9 |
+
|
10 |
+
2.4.4 (2016-10-11)
|
11 |
+
------------------
|
12 |
+
|
13 |
+
* `isset()` on `mostSpecificSubdivision` attribute now returns the
|
14 |
+
correct value. Reported by Juan Francisco Giordana. GitHub #81.
|
15 |
+
|
16 |
+
2.4.3 (2016-10-11)
|
17 |
+
------------------
|
18 |
+
|
19 |
+
* `isset()` on `name` attribute now returns the correct value. Reported by
|
20 |
+
Juan Francisco Giordana. GitHub #79.
|
21 |
+
|
22 |
2.4.2 (2016-08-17)
|
23 |
------------------
|
24 |
|
25 |
* Updated documentation to clarify what the accuracy radius refers to.
|
26 |
* Upgraded `maxmind/web-service-common` to 0.3.0. This version uses
|
27 |
+
`composer/ca-bundle` rather than our own CA bundle. GitHub #75.
|
28 |
* Improved PHP documentation generation.
|
29 |
|
30 |
2.4.1 (2016-06-10)
|
vendor/geoip2/geoip2/src/Database/Reader.php
CHANGED
@@ -5,6 +5,7 @@ namespace GeoIp2\Database;
|
|
5 |
use GeoIp2\Exception\AddressNotFoundException;
|
6 |
use GeoIp2\ProviderInterface;
|
7 |
use MaxMind\Db\Reader as DbReader;
|
|
|
8 |
|
9 |
/**
|
10 |
* Instances of this class provide a reader for the GeoIP2 database format.
|
@@ -223,6 +224,19 @@ class Reader implements ProviderInterface
|
|
223 |
"The address $ipAddress is not in the database."
|
224 |
);
|
225 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
return $record;
|
227 |
}
|
228 |
|
5 |
use GeoIp2\Exception\AddressNotFoundException;
|
6 |
use GeoIp2\ProviderInterface;
|
7 |
use MaxMind\Db\Reader as DbReader;
|
8 |
+
use MaxMind\Db\Reader\InvalidDatabaseException;
|
9 |
|
10 |
/**
|
11 |
* Instances of this class provide a reader for the GeoIP2 database format.
|
224 |
"The address $ipAddress is not in the database."
|
225 |
);
|
226 |
}
|
227 |
+
if (!is_array($record)) {
|
228 |
+
// This can happen on corrupt databases. Generally,
|
229 |
+
// MaxMind\Db\Reader will throw a
|
230 |
+
// MaxMind\Db\Reader\InvalidDatabaseException, but occasionally
|
231 |
+
// the lookup may result in a record that looks valid but is not
|
232 |
+
// an array. This mostly happens when the user is ignoring all
|
233 |
+
// exceptions and the more frequent InvalidDatabaseException
|
234 |
+
// exceptions go unnoticed.
|
235 |
+
throw new InvalidDatabaseException(
|
236 |
+
"Expected an array when looking up $ipAddress but received: "
|
237 |
+
. gettype($record)
|
238 |
+
);
|
239 |
+
}
|
240 |
return $record;
|
241 |
}
|
242 |
|
vendor/geoip2/geoip2/src/Model/City.php
CHANGED
@@ -113,6 +113,20 @@ class City extends Country
|
|
113 |
}
|
114 |
}
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
private function mostSpecificSubdivision()
|
117 |
{
|
118 |
return empty($this->subdivisions) ?
|
113 |
}
|
114 |
}
|
115 |
|
116 |
+
/**
|
117 |
+
* @ignore
|
118 |
+
*/
|
119 |
+
public function __isset($attr)
|
120 |
+
{
|
121 |
+
if ($attr == 'mostSpecificSubdivision') {
|
122 |
+
// We always return a mostSpecificSubdivision, even if it is the
|
123 |
+
// empty subdivision
|
124 |
+
return true;
|
125 |
+
} else {
|
126 |
+
return parent::__isset($attr);
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
130 |
private function mostSpecificSubdivision()
|
131 |
{
|
132 |
return empty($this->subdivisions) ?
|
vendor/geoip2/geoip2/src/Record/AbstractPlaceRecord.php
CHANGED
@@ -27,12 +27,31 @@ abstract class AbstractPlaceRecord extends AbstractRecord
|
|
27 |
}
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
private function name()
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
{
|
32 |
foreach ($this->locales as $locale) {
|
33 |
if (isset($this->names[$locale])) {
|
34 |
-
return $
|
35 |
}
|
36 |
}
|
|
|
37 |
}
|
38 |
}
|
27 |
}
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* @ignore
|
32 |
+
*/
|
33 |
+
public function __isset($attr)
|
34 |
+
{
|
35 |
+
if ($attr == 'name') {
|
36 |
+
return $this->firstSetNameLocale() == null ? false : true;
|
37 |
+
} else {
|
38 |
+
return parent::__isset($attr);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
private function name()
|
43 |
+
{
|
44 |
+
$locale = $this->firstSetNameLocale();
|
45 |
+
return $locale === null ? null : $this->names[$locale];
|
46 |
+
}
|
47 |
+
|
48 |
+
private function firstSetNameLocale()
|
49 |
{
|
50 |
foreach ($this->locales as $locale) {
|
51 |
if (isset($this->names[$locale])) {
|
52 |
+
return $locale;
|
53 |
}
|
54 |
}
|
55 |
+
return null;
|
56 |
}
|
57 |
}
|
vendor/geoip2/geoip2/src/WebService/Client.php
CHANGED
@@ -48,7 +48,7 @@ class Client implements ProviderInterface
|
|
48 |
private $client;
|
49 |
private static $basePath = '/geoip/v2.1';
|
50 |
|
51 |
-
const VERSION = 'v2.4.
|
52 |
|
53 |
/**
|
54 |
* Constructor.
|
48 |
private $client;
|
49 |
private static $basePath = '/geoip/v2.1';
|
50 |
|
51 |
+
const VERSION = 'v2.4.5';
|
52 |
|
53 |
/**
|
54 |
* Constructor.
|
vendor/maxmind-db/reader/CHANGELOG.md
CHANGED
@@ -1,6 +1,19 @@
|
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
1.1.1 (2016-09-15)
|
5 |
------------------
|
6 |
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
4 |
+
1.1.3 (2017-01-19)
|
5 |
+
------------------
|
6 |
+
|
7 |
+
* Fix incorrect version in `ext/php_maxminddb.h`. GitHub #48.
|
8 |
+
|
9 |
+
1.1.2 (2016-11-22)
|
10 |
+
------------------
|
11 |
+
|
12 |
+
* Searching for database metadata only occurs within the last 128KB
|
13 |
+
(128 * 1024 bytes) of the file, speeding detection of corrupt
|
14 |
+
datafiles. Reported by Eric Teubert. GitHub #42.
|
15 |
+
* Suggest relevant extensions when installing with Composer. GitHub #37.
|
16 |
+
|
17 |
1.1.1 (2016-09-15)
|
18 |
------------------
|
19 |
|
vendor/maxmind-db/reader/README.md
CHANGED
@@ -62,7 +62,7 @@ $reader->close();
|
|
62 |
|
63 |
## Optional PHP C Extension ##
|
64 |
|
65 |
-
MaxMind provides an optional C extension that is a drop-in replacement for
|
66 |
`MaxMind\Db\Reader`. In order to use this extension, you must install the
|
67 |
Reader API as described above and install the extension as described below. If
|
68 |
you are using an autoloader, no changes to your code should be necessary.
|
62 |
|
63 |
## Optional PHP C Extension ##
|
64 |
|
65 |
+
MaxMind provides an optional C extension that is a drop-in replacement for
|
66 |
`MaxMind\Db\Reader`. In order to use this extension, you must install the
|
67 |
Reader API as described above and install the extension as described below. If
|
68 |
you are using an autoloader, no changes to your code should be necessary.
|
vendor/maxmind-db/reader/composer.json
CHANGED
@@ -15,14 +15,19 @@
|
|
15 |
"require": {
|
16 |
"php": ">=5.3.1"
|
17 |
},
|
|
|
|
|
|
|
|
|
|
|
18 |
"require-dev": {
|
19 |
"phpunit/phpunit": "4.2.*",
|
20 |
"satooshi/php-coveralls": "1.0.*",
|
21 |
"squizlabs/php_codesniffer": "2.*"
|
22 |
},
|
23 |
"autoload": {
|
24 |
-
"psr-
|
25 |
-
"MaxMind": "src/"
|
26 |
}
|
27 |
}
|
28 |
}
|
15 |
"require": {
|
16 |
"php": ">=5.3.1"
|
17 |
},
|
18 |
+
"suggest": {
|
19 |
+
"ext-bcmath": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
20 |
+
"ext-gmp": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
21 |
+
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
22 |
+
},
|
23 |
"require-dev": {
|
24 |
"phpunit/phpunit": "4.2.*",
|
25 |
"satooshi/php-coveralls": "1.0.*",
|
26 |
"squizlabs/php_codesniffer": "2.*"
|
27 |
},
|
28 |
"autoload": {
|
29 |
+
"psr-4": {
|
30 |
+
"MaxMind\\Db\\": "src/MaxMind/Db"
|
31 |
}
|
32 |
}
|
33 |
}
|
vendor/maxmind-db/reader/ext/php_maxminddb.h
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
|
16 |
#ifndef PHP_MAXMINDDB_H
|
17 |
#define PHP_MAXMINDDB_H 1
|
18 |
-
#define PHP_MAXMINDDB_VERSION "1.1.
|
19 |
#define PHP_MAXMINDDB_EXTNAME "maxminddb"
|
20 |
|
21 |
extern zend_module_entry maxminddb_module_entry;
|
15 |
|
16 |
#ifndef PHP_MAXMINDDB_H
|
17 |
#define PHP_MAXMINDDB_H 1
|
18 |
+
#define PHP_MAXMINDDB_VERSION "1.1.3"
|
19 |
#define PHP_MAXMINDDB_EXTNAME "maxminddb"
|
20 |
|
21 |
extern zend_module_entry maxminddb_module_entry;
|
vendor/maxmind-db/reader/src/MaxMind/Db/Reader.php
CHANGED
@@ -16,6 +16,7 @@ class Reader
|
|
16 |
private static $DATA_SECTION_SEPARATOR_SIZE = 16;
|
17 |
private static $METADATA_START_MARKER = "\xAB\xCD\xEFMaxMind.com";
|
18 |
private static $METADATA_START_MARKER_LENGTH = 14;
|
|
|
19 |
|
20 |
private $decoder;
|
21 |
private $fileHandle;
|
@@ -237,8 +238,10 @@ class Reader
|
|
237 |
$fileSize = $fstat['size'];
|
238 |
$marker = self::$METADATA_START_MARKER;
|
239 |
$markerLength = self::$METADATA_START_MARKER_LENGTH;
|
|
|
|
|
240 |
|
241 |
-
for ($i = 0; $i
|
242 |
for ($j = 0; $j < $markerLength; $j++) {
|
243 |
fseek($handle, $fileSize - $i - $j - 1);
|
244 |
$matchBit = fgetc($handle);
|
16 |
private static $DATA_SECTION_SEPARATOR_SIZE = 16;
|
17 |
private static $METADATA_START_MARKER = "\xAB\xCD\xEFMaxMind.com";
|
18 |
private static $METADATA_START_MARKER_LENGTH = 14;
|
19 |
+
private static $METADATA_MAX_SIZE = 131072; // 128 * 1024 = 128KB
|
20 |
|
21 |
private $decoder;
|
22 |
private $fileHandle;
|
238 |
$fileSize = $fstat['size'];
|
239 |
$marker = self::$METADATA_START_MARKER;
|
240 |
$markerLength = self::$METADATA_START_MARKER_LENGTH;
|
241 |
+
$metadataMaxLengthExcludingMarker
|
242 |
+
= min(self::$METADATA_MAX_SIZE, $fileSize) - $markerLength;
|
243 |
|
244 |
+
for ($i = 0; $i <= $metadataMaxLengthExcludingMarker; $i++) {
|
245 |
for ($j = 0; $j < $markerLength; $j++) {
|
246 |
fseek($handle, $fileSize - $i - $j - 1);
|
247 |
$matchBit = fgetc($handle);
|