mirror of
https://git.freebsd.org/ports.git
synced 2025-05-13 15:51:51 -04:00
Forgot to commit this change in previous commit.
PR: 261498
Approved by: portmgr (blanket, fix run)
Fixes: c8ee986410
(PHP 8.2 support - "utf8_encode()")
MFH: 2024Q2
248 lines
8.7 KiB
Text
248 lines
8.7 KiB
Text
--- endpoints/api.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/api.php
|
|
@@ -334,6 +334,9 @@ try {
|
|
|
|
// Just append to $vbox->errors and let it get
|
|
// taken care of below
|
|
+ if(!isset($vbox)) {
|
|
+ $vbox = new stdClass();
|
|
+ }
|
|
if(!$vbox || !$vbox->errors) {
|
|
$vbox->errors = array();
|
|
}
|
|
@@ -342,7 +345,7 @@ try {
|
|
|
|
|
|
// Add any messages
|
|
-if($vbox && count($vbox->messages)) {
|
|
+if($vbox && isset($vbox->messages)?count($vbox->messages):false) {
|
|
foreach($vbox->messages as $m)
|
|
$response['messages'][] = 'vboxconnector('.$request['fn'] .'): ' . $m;
|
|
}
|
|
@@ -360,7 +363,7 @@ if($vbox && $vbox->errors) {
|
|
if($e->getCode() == vboxconnector::PHPVB_ERRNO_CONNECT && isset($vbox->settings))
|
|
$d .= "\n\nLocation:" . $vbox->settings->location;
|
|
|
|
- $response['messages'][] = htmlentities($e->getMessage()).' ' . htmlentities($details);
|
|
+ $response['messages'][] = htmlentities($e->getMessage()). htmlentities(' '. $details);
|
|
|
|
$response['errors'][] = array(
|
|
'error'=> ($e->getCode() & vboxconnector::PHPVB_ERRNO_HTML ? $e->getMessage() : htmlentities($e->getMessage())),
|
|
--- endpoints/jqueryFileTree.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/jqueryFileTree.php
|
|
@@ -223,6 +223,8 @@ function getdir($dir, $dirsOnly=false, $recurse=array(
|
|
*/
|
|
function getdir($dir, $dirsOnly=false, $recurse=array()) {
|
|
|
|
+ global $allowed_exts;
|
|
+
|
|
if(!$dir) $dir = DSEP;
|
|
|
|
$entries = getDirEntries($dir, $dirsOnly);
|
|
@@ -251,9 +253,9 @@ function getdir($dir, $dirsOnly=false, $recurse=array(
|
|
// Push file on to stack
|
|
} else {
|
|
|
|
- $ext = strtolower(preg_replace('/^.*\./', '', $file));
|
|
+ $ext = strtolower(preg_replace('/^.*\./', '', $path));
|
|
|
|
- if(count($allowed) && !$allowed['.'.$ext]) continue;
|
|
+ if(count($allowed_exts) && !$allowed_exts['.'.$ext]) continue;
|
|
|
|
array_push($dirents, file_entry($path));
|
|
}
|
|
--- endpoints/lib/config.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/lib/config.php
|
|
@@ -141,6 +141,10 @@ class phpVBoxConfigClass {
|
|
*/
|
|
var $eventListenerTimeout = 20;
|
|
|
|
+ var $enableHDFlushConfig = false;
|
|
+
|
|
+ var $authMaster = false;
|
|
+
|
|
/**
|
|
* Read user configuration, apply defaults, and do some sanity checking
|
|
* @see vboxconnector
|
|
--- endpoints/lib/language.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/lib/language.php
|
|
@@ -73,6 +73,8 @@ class __vbox_language {
|
|
$xmlObj = simplexml_load_string(@file_get_contents(VBOX_BASE_LANG_DIR.'/'.$lang.'.xml'));
|
|
$arrXml = $this->objectsIntoArray($xmlObj);
|
|
|
|
+ if(!array_key_exists('context',$arrXml)) return;
|
|
+
|
|
$lang = array();
|
|
if(!@$arrXml['context'][0]) $arrXml['context'] = array($arrXml['context']);
|
|
foreach($arrXml['context'] as $c) {
|
|
--- endpoints/lib/vboxServiceWrappers.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/lib/vboxServiceWrappers.php
|
|
@@ -108,7 +108,7 @@ abstract class VBox_Collection implements ArrayAccess,
|
|
}
|
|
|
|
/** ArrayAccess Functions **/
|
|
- public function offsetSet($offset, $value)
|
|
+ public function offsetSet($offset, $value): void
|
|
{
|
|
if ($value instanceof $this->_interfaceName)
|
|
{
|
|
@@ -127,49 +127,50 @@ abstract class VBox_Collection implements ArrayAccess,
|
|
}
|
|
}
|
|
|
|
- public function offsetExists($offset)
|
|
+ public function offsetExists($offset): bool
|
|
{
|
|
return isset($this->_objects[$offset]);
|
|
}
|
|
|
|
- public function offsetUnset($offset)
|
|
+ public function offsetUnset($offset): void
|
|
{
|
|
unset($this->_objects[$offset]);
|
|
}
|
|
|
|
- public function offsetGet($offset)
|
|
+ public function offsetGet($offset): mixed
|
|
{
|
|
return isset($this->_objects[$offset]) ? $this->_objects[$offset] : null;
|
|
}
|
|
|
|
/** Iterator Functions **/
|
|
- public function rewind()
|
|
+ public function rewind(): void
|
|
{
|
|
reset($this->_objects);
|
|
}
|
|
|
|
- public function current()
|
|
+ public function current(): mixed
|
|
{
|
|
return current($this->_objects);
|
|
}
|
|
|
|
- public function key()
|
|
+ public function key(): mixed
|
|
{
|
|
return key($this->_objects);
|
|
}
|
|
|
|
+ #[\ReturnTypeWillChange]
|
|
public function next()
|
|
{
|
|
return next($this->_objects);
|
|
}
|
|
|
|
- public function valid()
|
|
+ public function valid(): bool
|
|
{
|
|
return ($this->current() !== false);
|
|
}
|
|
|
|
/** Countable Functions **/
|
|
- public function count()
|
|
+ public function count(): int
|
|
{
|
|
return count($this->_objects);
|
|
}
|
|
--- endpoints/lib/vboxconnector.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/lib/vboxconnector.php
|
|
@@ -112,6 +112,8 @@ class vboxconnector {
|
|
*/
|
|
var $dsep = null;
|
|
|
|
+ var $client = null;
|
|
+
|
|
/**
|
|
* Obtain configuration settings and set object vars
|
|
* @param boolean $useAuthMaster use the authentication master obtained from configuration class
|
|
@@ -387,7 +389,8 @@ class vboxconnector {
|
|
|
|
// The amount of time we will wait for events is determined by
|
|
// the amount of listeners - at least half a second
|
|
- $listenerWait = max(100,intval(500/count($this->persistentRequest['vboxEventListeners'])));
|
|
+ $listenerCount = count($this->persistentRequest['vboxEventListeners']);
|
|
+ $listenerWait = max(100,intval(500/($listenerCount > 0 ? $listenerCount : 1)));
|
|
}
|
|
|
|
// Get events from each configured event listener
|
|
@@ -5660,11 +5663,6 @@ class vboxconnector {
|
|
}
|
|
} catch (Exception $null) {}
|
|
$m->releaseRemote();
|
|
-
|
|
- // Attempt to UTF-8 encode string or json_encode may choke
|
|
- // and return an empty string
|
|
- if(function_exists('utf8_encode'))
|
|
- return utf8_encode($log);
|
|
|
|
return $log;
|
|
}
|
|
--- endpoints/screen.php.orig 2024-06-07 15:46:20 UTC
|
|
+++ endpoints/screen.php
|
|
@@ -87,13 +87,13 @@ try {
|
|
|
|
// Let the browser cache images for 3 seconds
|
|
$ctime = 0;
|
|
- if(strpos($_SERVER['HTTP_IF_NONE_MATCH'],'_')) {
|
|
- $ctime = preg_replace("/.*_/",str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH']));
|
|
- } else if(strpos($_ENV['HTTP_IF_NONE_MATCH'],'_')) {
|
|
- $ctime = preg_replace("/.*_/",str_replace('"','',$_ENV['HTTP_IF_NONE_MATCH']));
|
|
- } else if(strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'],'GMT')) {
|
|
+ if(strpos($_SERVER['HTTP_IF_NONE_MATCH'] ?? '','_')) {
|
|
+ $ctime = preg_replace("/.*_/","",str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH']));
|
|
+ } else if(strpos($_ENV['HTTP_IF_NONE_MATCH'] ?? '','_')) {
|
|
+ $ctime = preg_replace("/.*_/","",str_replace('"','',$_ENV['HTTP_IF_NONE_MATCH']));
|
|
+ } else if(strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'] ?? '','GMT')) {
|
|
$ctime = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
|
|
- } else if(strpos($_ENV['HTTP_IF_MODIFIED_SINCE'],'GMT')) {
|
|
+ } else if(strpos($_ENV['HTTP_IF_MODIFIED_SINCE'] ?? '','GMT')) {
|
|
$ctime = strtotime($_ENV['HTTP_IF_MODIFIED_SINCE']);
|
|
}
|
|
|
|
@@ -164,13 +164,13 @@ try {
|
|
|
|
// Let the browser cache saved state images
|
|
$ctime = 0;
|
|
- if(strpos($_SERVER['HTTP_IF_NONE_MATCH'],'_')) {
|
|
- $ctime = preg_replace("/.*_/",str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH']));
|
|
- } else if(strpos($_ENV['HTTP_IF_NONE_MATCH'],'_')) {
|
|
- $ctime = preg_replace("/.*_/",str_replace('"','',$_ENV['HTTP_IF_NONE_MATCH']));
|
|
- } else if(strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'],'GMT')) {
|
|
+ if(strpos($_SERVER['HTTP_IF_NONE_MATCH'] ?? '','_')) {
|
|
+ $ctime = preg_replace("/.*_/","",str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH']));
|
|
+ } else if(strpos($_ENV['HTTP_IF_NONE_MATCH'] ?? '','_')) {
|
|
+ $ctime = preg_replace("/.*_/","",str_replace('"','',$_ENV['HTTP_IF_NONE_MATCH']));
|
|
+ } else if(strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'] ?? '','GMT')) {
|
|
$ctime = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
|
|
- } else if(strpos($_ENV['HTTP_IF_MODIFIED_SINCE'],'GMT')) {
|
|
+ } else if(strpos($_ENV['HTTP_IF_MODIFIED_SINCE'] ?? '','GMT')) {
|
|
$ctime = strtotime($_ENV['HTTP_IF_MODIFIED_SINCE']);
|
|
}
|
|
|
|
--- panes/settingsDisplay.html.orig 2024-06-07 15:46:20 UTC
|
|
+++ panes/settingsDisplay.html
|
|
@@ -77,9 +77,9 @@ -->
|
|
<th><span class='translate'>Authentication Method:</span></th>
|
|
<td>
|
|
<select name='vboxSettingsDisplayVRDEAuth' id='vboxSettingsDisplayVRDEAuthID' style='width: 100%'>
|
|
- <option value='' >None</option>
|
|
- <option value='External'>External</option>
|
|
- <option value='Guest'>Guest</option>
|
|
+ <option value='Null'>None</option>
|
|
+ <option value='External'>External</option>
|
|
+ <option value='Guest'>Guest</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
--- panes/settingsNetwork.html.orig 2024-06-07 15:46:20 UTC
|
|
+++ panes/settingsNetwork.html
|
|
@@ -320,7 +320,7 @@ function vboxSettingsUpdateNetworkOptions(sel) {
|
|
}
|
|
|
|
// Special case for Internal, Generic, and VDE network selects
|
|
- if(sel.value == 'Internal' || sel.value == 'VDE' || sel.value == 'Generic' || sel.value == 'Bridged') {
|
|
+ if(sel.value == 'Internal' || sel.value == 'VDE' || sel.value == 'Generic') {
|
|
$(nsel).jec();
|
|
}
|
|
|