diff options
Diffstat (limited to 'www/phpvirtualbox')
-rw-r--r-- | www/phpvirtualbox/Makefile | 5 | ||||
-rw-r--r-- | www/phpvirtualbox/files/patch-panes_mediumEncryptionPasswords.html | 34 | ||||
-rw-r--r-- | www/phpvirtualbox/files/patch-php8 | 248 |
3 files changed, 4 insertions, 283 deletions
diff --git a/www/phpvirtualbox/Makefile b/www/phpvirtualbox/Makefile index a0894d3b098f..bcd01b010d36 100644 --- a/www/phpvirtualbox/Makefile +++ b/www/phpvirtualbox/Makefile @@ -1,6 +1,6 @@ PORTNAME= phpvirtualbox DISTVERSION= 6.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= www PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} @@ -17,6 +17,8 @@ GH_TAGNAME= cf82d58f2 USE_PHP= session simplexml soap xml ETCDIR= ${WWWDIR} +EXTRA_PATCHES+= ${.CURDIR}/../phpvirtualbox-72/files/patch-panes_mediumEncryptionPasswords.html \ + ${.CURDIR}/../phpvirtualbox-legacy/files/patch-php8 NO_ARCH= yes NO_BUILD= yes PORTSCOUT= limit:^6\. @@ -24,6 +26,7 @@ PORTSCOUT= limit:^6\. post-patch: @${REINPLACE_CMD} -e 's#/usr/share/phpvirtualbox#${WWWDIR}#g' \ ${WRKSRC}/phpvirtualbox.conf + @${REINPLACE_CMD} -e 's#\r#\n#g' ${WRKSRC}/languages/zh_tw.xml do-install: ${MKDIR} ${STAGEDIR}${WWWDIR} diff --git a/www/phpvirtualbox/files/patch-panes_mediumEncryptionPasswords.html b/www/phpvirtualbox/files/patch-panes_mediumEncryptionPasswords.html deleted file mode 100644 index 3e8a7c62dfb7..000000000000 --- a/www/phpvirtualbox/files/patch-panes_mediumEncryptionPasswords.html +++ /dev/null @@ -1,34 +0,0 @@ ---- panes/mediumEncryptionPasswords.html.orig 2017-07-27 16:54:58 UTC -+++ panes/mediumEncryptionPasswords.html -@@ -15,6 +15,7 @@ - <th class='translate' style='width:1%; text-align:center'>Status</th> - <th class='translate' style='width:30%; text-align:center'>ID</th> - <th class='translate'>Password</th> -+ <th class='translate'>Clear on suspend</th> - </tr> - </thead> - <tbody id='vboxMediumEncryptionPasswordList'> -@@ -37,9 +38,12 @@ function vboxMediumEncryptionPasswordAdd - .append($('<td />') - .append( - valid ? '*****' : -- $('<input />').attr({'type':'password','style':'width:95%'}).addClass('vboxText') -+ $('<input />').attr({'type':'password','style':'width:90%'}).addClass('vboxText') - ) - ) -+ .append($('<td />') -+ .append($('<input />').attr({'type':'checkbox', 'checked':'checked'})) -+ ) - .appendTo($('#vboxMediumEncryptionPasswordList')) - } - -@@ -55,7 +59,8 @@ function vboxMediumEncryptionPasswordsGe - continue; - encryptionPWs.push({ - 'id': $(rowlist[i]).data('vboxEncryptionId'), -- 'password': $(rowlist[i]).find('input').first().val() -+ 'password': $(rowlist[i]).find('input[type="password"]').first().val(), -+ 'clearOnSuspend': $(rowlist[i]).find('input[type="checkbox"]').first().is(':checked') ? '1' : '0' - }); - - } diff --git a/www/phpvirtualbox/files/patch-php8 b/www/phpvirtualbox/files/patch-php8 deleted file mode 100644 index 52fe5a6a5b12..000000000000 --- a/www/phpvirtualbox/files/patch-php8 +++ /dev/null @@ -1,248 +0,0 @@ ---- 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(); - } - |