summaryrefslogtreecommitdiff
path: root/www/phpvirtualbox
diff options
context:
space:
mode:
Diffstat (limited to 'www/phpvirtualbox')
-rw-r--r--www/phpvirtualbox/Makefile5
-rw-r--r--www/phpvirtualbox/files/patch-panes_mediumEncryptionPasswords.html34
-rw-r--r--www/phpvirtualbox/files/patch-php8248
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();
- }
-