Rev 35 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 35 | Rev 76 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | <?php /* <ViaThinkSoftSignature> |
1 | <?php /* <ViaThinkSoftSignature> |
2 | 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 |
23 | w== |
23 | Q== |
24 | </ViaThinkSoftSignature> */ ?> |
24 | </ViaThinkSoftSignature> */ ?> |
25 | <?php |
25 | <?php |
26 | 26 | ||
27 | /* |
27 | /* |
28 | * VNag - Nagios Framework for PHP |
28 | * VNag - Nagios Framework for PHP |
29 | * Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com> |
29 | * Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com> |
30 | * Licensed under the terms of the Apache 2.0 license |
30 | * Licensed under the terms of the Apache 2.0 license |
31 | * |
31 | * |
32 | * Revision 2021-07-01 |
32 | * Revision 2023-10-13 |
33 | */ |
33 | */ |
34 | 34 | ||
35 | declare(ticks=1); |
35 | declare(ticks=1); |
36 | 36 | ||
37 | class GitLabVersionCheck extends VNag { |
37 | class GitLabVersionCheck extends VNag { |
Line 66... | Line 66... | ||
66 | 66 | ||
67 | protected function getServerResponse($version) { |
67 | protected function getServerResponse($version) { |
68 | $opts = array( |
68 | $opts = array( |
69 | 'http'=>array( |
69 | 'http'=>array( |
70 | 'method'=>"GET", |
70 | 'method'=>"GET", |
71 | 'header'=>"Referer: http://example.org/\r\n" // Important |
71 | 'header'=>"Referer: http://example.org/\r\n" // Important!!! |
72 | ) |
72 | ) |
73 | ); |
73 | ); |
74 | $context = stream_context_create($opts); |
74 | $context = stream_context_create($opts); |
75 | $url = "https://version.gitlab.com/check.svg?gitlab_info=". |
75 | $url = "https://version.gitlab.com/check.svg?gitlab_info=". |
76 | urlencode(base64_encode('{"version":"'.$version.'"}')); |
76 | urlencode(base64_encode('{"version":"'.$version.'"}')); |
77 | $file = file_get_contents($url, false, $context); |
77 | $cont = $this->url_get_contents($url, 1*60*60, $context); |
78 | 78 | ||
79 | if (!$file) { |
79 | if ($cont === false) { |
80 | throw new Exception('Cannot query version.gitlab.com for version check (Version '.$version.')'); |
80 | throw new Exception('Cannot query version.gitlab.com for version check (Version '.$version.')'); |
81 | } |
81 | } |
82 | 82 | ||
83 | if (!preg_match('@>([^<]+)</text>@ismU', $file, $m)) { |
83 | if (!preg_match('@>([^<]+)</text>@ismU', $cont, $m)) { |
84 | throw new Exception('Server version.gitlab.com sent an unexpected reply (Version '.$version.')'); |
84 | throw new Exception('Server version.gitlab.com sent an unexpected reply (Version '.$version.')'); |
85 | } |
85 | } |
86 | 86 | ||
87 | return $m[1]; |
87 | return $m[1]; |
88 | } |
88 | } |