Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
alain
Make it Open Project Site
Commits
bfa1325c
Commit
bfa1325c
authored
Feb 25, 2021
by
alain
🐙
Browse files
remove updraft
parent
4ab81fac
Changes
203
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 203+
files are displayed.
Plain diff
Email patch
wordpress/wp-content/plugins/updraftplus/includes/Google/Signer/P12.php
deleted
100644 → 0
View file @
4ab81fac
<?php
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if
(
!
class_exists
(
'UDP_Google_Client'
))
{
require_once
dirname
(
__FILE__
)
.
'/../autoload.php'
;
}
/**
* Signs data.
*
* Only used for testing.
*
* @author Brian Eaton <beaton@google.com>
*/
class
Google_Signer_P12
extends
Google_Signer_Abstract
{
// OpenSSL private key resource
private
$privateKey
;
// Creates a new signer from a .p12 file.
public
function
__construct
(
$p12
,
$password
)
{
if
(
!
function_exists
(
'openssl_x509_read'
))
{
throw
new
Google_Exception
(
'The Google PHP API library needs the openssl PHP extension'
);
}
// If the private key is provided directly, then this isn't in the p12
// format. Different versions of openssl support different p12 formats
// and the key from google wasn't being accepted by the version available
// at the time.
if
(
!
$password
&&
strpos
(
$p12
,
"-----BEGIN RSA PRIVATE KEY-----"
)
!==
false
)
{
$this
->
privateKey
=
openssl_pkey_get_private
(
$p12
);
}
elseif
(
$password
===
'notasecret'
&&
strpos
(
$p12
,
"-----BEGIN PRIVATE KEY-----"
)
!==
false
)
{
$this
->
privateKey
=
openssl_pkey_get_private
(
$p12
);
}
else
{
// This throws on error
$certs
=
array
();
if
(
!
openssl_pkcs12_read
(
$p12
,
$certs
,
$password
))
{
throw
new
Google_Auth_Exception
(
"Unable to parse the p12 file. "
.
"Is this a .p12 file? Is the password correct? OpenSSL error: "
.
openssl_error_string
()
);
}
// TODO(beaton): is this part of the contract for the openssl_pkcs12_read
// method? What happens if there are multiple private keys? Do we care?
if
(
!
array_key_exists
(
"pkey"
,
$certs
)
||
!
$certs
[
"pkey"
])
{
throw
new
Google_Auth_Exception
(
"No private key found in p12 file."
);
}
$this
->
privateKey
=
openssl_pkey_get_private
(
$certs
[
'pkey'
]);
}
if
(
!
$this
->
privateKey
)
{
throw
new
Google_Auth_Exception
(
"Unable to load private key"
);
}
}
public
function
__destruct
()
{
if
(
$this
->
privateKey
)
{
openssl_pkey_free
(
$this
->
privateKey
);
}
}
public
function
sign
(
$data
)
{
if
(
version_compare
(
PHP_VERSION
,
'5.3.0'
)
<
0
)
{
throw
new
Google_Auth_Exception
(
"PHP 5.3.0 or higher is required to use service accounts."
);
}
// @codingStandardsIgnoreLine
$hash
=
defined
(
"OPENSSL_ALGO_SHA256"
)
?
OPENSSL_ALGO_SHA256
:
"sha256"
;
if
(
!
openssl_sign
(
$data
,
$signature
,
$this
->
privateKey
,
$hash
))
{
throw
new
Google_Auth_Exception
(
"Unable to sign data"
);
}
return
$signature
;
}
}
wordpress/wp-content/plugins/updraftplus/includes/Google/Task/Exception.php
deleted
100644 → 0
View file @
4ab81fac
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if
(
!
class_exists
(
'UDP_Google_Client'
))
{
require_once
dirname
(
__FILE__
)
.
'/../autoload.php'
;
}
class
Google_Task_Exception
extends
Google_Exception
{
}
wordpress/wp-content/plugins/updraftplus/includes/Google/Task/Retryable.php
deleted
100644 → 0
View file @
4ab81fac
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if
(
!
class_exists
(
'UDP_Google_Client'
))
{
require_once
dirname
(
__FILE__
)
.
'/../autoload.php'
;
}
/**
* Interface for checking how many times a given task can be retried following
* a failure.
*/
interface
Google_Task_Retryable
{
/**
* Gets the number of times the associated task can be retried.
*
* NOTE: -1 is returned if the task can be retried indefinitely
*
* @return integer
*/
public
function
allowedRetries
();
}
wordpress/wp-content/plugins/updraftplus/includes/Google/Task/Runner.php
deleted
100644 → 0
View file @
4ab81fac
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if
(
!
class_exists
(
'UDP_Google_Client'
))
{
require_once
dirname
(
__FILE__
)
.
'/../autoload.php'
;
}
/**
* A task runner with exponential backoff support.
*
* @see https://developers.google.com/drive/web/handle-errors#implementing_exponential_backoff
*/
class
UDP_Google_Task_Runner
{
/**
* @var integer $maxDelay The max time (in seconds) to wait before a retry.
*/
private
$maxDelay
=
60
;
/**
* @var integer $delay The previous delay from which the next is calculated.
*/
private
$delay
=
1
;
/**
* @var integer $factor The base number for the exponential back off.
*/
private
$factor
=
2
;
/**
* @var float $jitter A random number between -$jitter and $jitter will be
* added to $factor on each iteration to allow for a better distribution of
* retries.
*/
private
$jitter
=
0.5
;
/**
* @var integer $attempts The number of attempts that have been tried so far.
*/
private
$attempts
=
0
;
/**
* @var integer $maxAttempts The max number of attempts allowed.
*/
private
$maxAttempts
=
1
;
/**
* @var UDP_Google_Client $client The current API client.
*/
private
$client
;
/**
* @var string $name The name of the current task (used for logging).
*/
private
$name
;
/**
* @var callable $action The task to run and possibly retry.
*/
private
$action
;
/**
* @var array $arguments The task arguments.
*/
private
$arguments
;
/**
* Creates a new task runner with exponential backoff support.
*
* @param UDP_Google_Client $client The current API client
* @param string $name The name of the current task (used for logging)
* @param callable $action The task to run and possibly retry
* @param array $arguments The task arguments
* @throws Google_Task_Exception when misconfigured
*/
public
function
__construct
(
UDP_Google_Client
$client
,
$name
,
$action
,
array
$arguments
=
array
()
)
{
$config
=
(
array
)
$client
->
getClassConfig
(
'UDP_Google_Task_Runner'
);
if
(
isset
(
$config
[
'initial_delay'
]))
{
if
(
$config
[
'initial_delay'
]
<
0
)
{
throw
new
Google_Task_Exception
(
'Task configuration `initial_delay` must not be negative.'
);
}
$this
->
delay
=
$config
[
'initial_delay'
];
}
if
(
isset
(
$config
[
'max_delay'
]))
{
if
(
$config
[
'max_delay'
]
<=
0
)
{
throw
new
Google_Task_Exception
(
'Task configuration `max_delay` must be greater than 0.'
);
}
$this
->
maxDelay
=
$config
[
'max_delay'
];
}
if
(
isset
(
$config
[
'factor'
]))
{
if
(
$config
[
'factor'
]
<=
0
)
{
throw
new
Google_Task_Exception
(
'Task configuration `factor` must be greater than 0.'
);
}
$this
->
factor
=
$config
[
'factor'
];
}
if
(
isset
(
$config
[
'jitter'
]))
{
if
(
$config
[
'jitter'
]
<=
0
)
{
throw
new
Google_Task_Exception
(
'Task configuration `jitter` must be greater than 0.'
);
}
$this
->
jitter
=
$config
[
'jitter'
];
}
if
(
isset
(
$config
[
'retries'
]))
{
if
(
$config
[
'retries'
]
<
0
)
{
throw
new
Google_Task_Exception
(
'Task configuration `retries` must not be negative.'
);
}
$this
->
maxAttempts
+=
$config
[
'retries'
];
}
if
(
!
is_callable
(
$action
))
{
throw
new
Google_Task_Exception
(
'Task argument `$action` must be a valid callable.'
);
}
$this
->
name
=
$name
;
$this
->
client
=
$client
;
$this
->
action
=
$action
;
$this
->
arguments
=
$arguments
;
}
/**
* Checks if a retry can be attempted.
*
* @return boolean
*/
public
function
canAttmpt
()
{
return
$this
->
attempts
<
$this
->
maxAttempts
;
}
/**
* Runs the task and (if applicable) automatically retries when errors occur.
*
* @return mixed
* @throws Google_Task_Retryable on failure when no retries are available.
*/
public
function
run
()
{
while
(
$this
->
attempt
())
{
try
{
return
call_user_func_array
(
$this
->
action
,
$this
->
arguments
);
}
catch
(
Google_Task_Retryable
$exception
)
{
$allowedRetries
=
$exception
->
allowedRetries
();
if
(
!
$this
->
canAttmpt
()
||
!
$allowedRetries
)
{
throw
$exception
;
}
if
(
$allowedRetries
>
0
)
{
$this
->
maxAttempts
=
min
(
$this
->
maxAttempts
,
$this
->
attempts
+
$allowedRetries
);
}
}
}
}
/**
* Runs a task once, if possible. This is useful for bypassing the `run()`
* loop.
*
* NOTE: If this is not the first attempt, this function will sleep in
* accordance to the backoff configurations before running the task.
*
* @return boolean
*/
public
function
attempt
()
{
if
(
!
$this
->
canAttmpt
())
{
return
false
;
}
if
(
$this
->
attempts
>
0
)
{
$this
->
backOff
();
}
$this
->
attempts
++
;
return
true
;
}
/**
* Sleeps in accordance to the backoff configurations.
*/
private
function
backOff
()
{
$delay
=
$this
->
getDelay
();
$this
->
client
->
getLogger
()
->
debug
(
'Retrying task with backoff'
,
array
(
'request'
=>
$this
->
name
,
'retry'
=>
$this
->
attempts
,
'backoff_seconds'
=>
$delay
)
);
usleep
(
$delay
*
1000000
);
}
/**
* Gets the delay (in seconds) for the current backoff period.
*
* @return float
*/
private
function
getDelay
()
{
$jitter
=
$this
->
getJitter
();
$factor
=
$this
->
attempts
>
1
?
$this
->
factor
+
$jitter
:
1
+
abs
(
$jitter
);
return
$this
->
delay
=
min
(
$this
->
maxDelay
,
$this
->
delay
*
$factor
);
}
/**
* Gets the current jitter (random number between -$this->jitter and
* $this->jitter).
*
* @return float
*/
private
function
getJitter
()
{
return
$this
->
jitter
*
2
*
mt_rand
()
/
mt_getrandmax
()
-
$this
->
jitter
;
}
}
wordpress/wp-content/plugins/updraftplus/includes/Google/Utils.php
deleted
100644 → 0
View file @
4ab81fac
<?php
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Collection of static utility methods used for convenience across
* the client library.
*/
class
Google_Utils
{
public
static
function
urlSafeB64Encode
(
$data
)
{
$b64
=
base64_encode
(
$data
);
$b64
=
str_replace
(
array
(
'+'
,
'/'
,
'\r'
,
'\n'
,
'='
),
array
(
'-'
,
'_'
),
$b64
);
return
$b64
;
}
public
static
function
urlSafeB64Decode
(
$b64
)
{
$b64
=
str_replace
(
array
(
'-'
,
'_'
),
array
(
'+'
,
'/'
),
$b64
);
return
base64_decode
(
$b64
);
}
/**
* Misc function used to count the number of bytes in a post body, in the
* world of multi-byte chars and the unpredictability of
* strlen/mb_strlen/sizeof, this is the only way to do that in a sane
* manner at the moment.
*
* This algorithm was originally developed for the
* Solar Framework by Paul M. Jones
*
* @link http://solarphp.com/
* @link http://svn.solarphp.com/core/trunk/Solar/Json.php
* @link http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Json/Decoder.php
* @param string $str
* @return int The number of bytes in a string.
*/
public
static
function
getStrLen
(
$str
)
{
$strlenVar
=
strlen
(
$str
);
$d
=
$ret
=
0
;
for
(
$count
=
0
;
$count
<
$strlenVar
;
++
$count
)
{
$ordinalValue
=
ord
(
$str
[
$ret
]);
switch
(
true
)
{
case
((
$ordinalValue
>=
0x20
)
&&
(
$ordinalValue
<=
0x7F
))
:
// characters U-00000000 - U-0000007F (same as ASCII)
$ret
++
;
break
;
case
((
$ordinalValue
&
0xE0
)
==
0xC0
)
:
// characters U-00000080 - U-000007FF, mask 110XXXXX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$ret
+=
2
;
break
;
case
((
$ordinalValue
&
0xF0
)
==
0xE0
)
:
// characters U-00000800 - U-0000FFFF, mask 1110XXXX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$ret
+=
3
;
break
;
case
((
$ordinalValue
&
0xF8
)
==
0xF0
)
:
// characters U-00010000 - U-001FFFFF, mask 11110XXX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$ret
+=
4
;
break
;
case
((
$ordinalValue
&
0xFC
)
==
0xF8
)
:
// characters U-00200000 - U-03FFFFFF, mask 111110XX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$ret
+=
5
;
break
;
case
((
$ordinalValue
&
0xFE
)
==
0xFC
)
:
// characters U-04000000 - U-7FFFFFFF, mask 1111110X
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$ret
+=
6
;
break
;
default
:
$ret
++
;
}
}
return
$ret
;
}
/**
* Normalize all keys in an array to lower-case.
* @param array $arr
* @return array Normalized array.
*/
public
static
function
normalize
(
$arr
)
{
if
(
!
is_array
(
$arr
))
{
return
array
();
}
$normalized
=
array
();
foreach
(
$arr
as
$key
=>
$val
)
{
$normalized
[
strtolower
(
$key
)]
=
$val
;
}
return
$normalized
;
}
/**
* Convert a string to camelCase
* @param string $value
* @return string
*/
public
static
function
camelCase
(
$value
)
{
$value
=
ucwords
(
str_replace
(
array
(
'-'
,
'_'
),
' '
,
$value
));
$value
=
str_replace
(
' '
,
''
,
$value
);
$value
[
0
]
=
strtolower
(
$value
[
0
]);
return
$value
;
}
}
wordpress/wp-content/plugins/updraftplus/includes/Google/Utils/URITemplate.php
deleted
100644 → 0
View file @
4ab81fac
<?php
/*
* Copyright 2013 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Implementation of levels 1-3 of the URI Template spec.
* @see http://tools.ietf.org/html/rfc6570
*/
class
Google_Utils_URITemplate
{
const
TYPE_MAP
=
"1"
;
const
TYPE_LIST
=
"2"
;
const
TYPE_SCALAR
=
"4"
;
/**
* @var $operators array
* These are valid at the start of a template block to
* modify the way in which the variables inside are
* processed.
*/
private
$operators
=
array
(
"+"
=>
"reserved"
,
"/"
=>
"segments"
,
"."
=>
"dotprefix"
,
<