X7ROOT File Manager
Current Path:
/home/katmhsmi/public_html/wp-content/plugins/duplicator-pro/aws/Aws/S3
home
/
katmhsmi
/
public_html
/
wp-content
/
plugins
/
duplicator-pro
/
aws
/
Aws
/
S3
/
📁
..
📄
.htaccess
(420 B)
📄
AcpListener.php
(2.67 KB)
📄
BucketStyleListener.php
(3.33 KB)
📁
Command
📁
Enum
📁
Exception
📄
IncompleteMultipartUploadChecker.php
(2.09 KB)
📁
Iterator
📁
Model
📁
Resources
📄
ResumableDownload.php
(6.37 KB)
📄
S3Client.php
(32.55 KB)
📄
S3Md5Listener.php
(2.48 KB)
📄
S3Signature.php
(9.44 KB)
📄
S3SignatureInterface.php
(829 B)
📄
S3SignatureV4.php
(1.96 KB)
📄
SocketTimeoutChecker.php
(2.4 KB)
📄
SseCpkListener.php
(2.27 KB)
📄
StreamWrapper.php
(28.72 KB)
📁
Sync
📄
index.php
(15 B)
Editing: SseCpkListener.php
<?php namespace DuplicatorPro\Aws\S3; defined("ABSPATH") or die(""); use DuplicatorPro\Aws\Common\Exception\RuntimeException; use DuplicatorPro\Guzzle\Common\Event; use DuplicatorPro\Guzzle\Service\Command\CommandInterface; use DuplicatorPro\Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * This listener simplifies the SSE-C process by encoding and hashing the key. */ class SseCpkListener implements EventSubscriberInterface { public static function getSubscribedEvents() { return array('command.before_prepare' => 'onCommandBeforePrepare'); } public function onCommandBeforePrepare(Event $event) { /** @var CommandInterface $command */ $command = $event['command']; // Allows only HTTPS connections when using SSE-C if ($command['SSECustomerKey'] || $command['CopySourceSSECustomerKey'] ) { $this->validateScheme($command); } // Prepare the normal SSE-CPK headers if ($command['SSECustomerKey']) { $this->prepareSseParams($command); } // If it's a copy operation, prepare the SSE-CPK headers for the source. if ($command['CopySourceSSECustomerKey']) { $this->prepareSseParams($command, true); } } private function validateScheme(CommandInterface $command) { if ($command->getClient()->getConfig('scheme') !== 'https') { throw new RuntimeException('You must configure your S3 client to ' . 'use HTTPS in order to use the SSE-C features.'); } } private function prepareSseParams( CommandInterface $command, $isCopy = false ) { $prefix = $isCopy ? 'CopySource' : ''; // Base64 encode the provided key $key = $command[$prefix . 'SSECustomerKey']; $command[$prefix . 'SSECustomerKey'] = base64_encode($key); // Base64 the provided MD5 or, generate an MD5 if not provided if ($md5 = $command[$prefix . 'SSECustomerKeyMD5']) { $command[$prefix . 'SSECustomerKeyMD5'] = base64_encode($md5); } else { $command[$prefix . 'SSECustomerKeyMD5'] = base64_encode(md5($key, true)); } } }
Upload File
Create Folder