terrafrost
ee2ac9f818
SSH2: rm code that is never called
2019-09-28 08:32:32 -05:00
terrafrost
72fe2540ab
readd visibility for 3.0 branch
2019-09-24 22:21:07 -05:00
terrafrost
52203748de
Merge branch '2.0' into 3.0
2019-09-24 22:20:39 -05:00
terrafrost
c00a199484
Merge branch '1.0' into 2.0
2019-09-24 22:20:26 -05:00
terrafrost
d26850e56f
SSH2: fix PHP4 compatability issue
2019-09-24 22:18:01 -05:00
terrafrost
c14557ec8b
SSH2: fix typo in exception
2019-09-18 08:26:07 -05:00
terrafrost
3af5d3b530
Merge branch '2.0' into 3.0
2019-09-16 20:08:58 -05:00
Jamiel
05ea3eafb8
#1405
2019-09-16 23:04:07 +02:00
terrafrost
0952908f70
Merge branch '1.0' into 2.0
2019-09-16 07:56:14 -05:00
terrafrost
cd21287ebc
SSH2: only do fclose($this->fsock) if doing so won't yield error
2019-09-16 07:55:47 -05:00
terrafrost
45d787a578
Merge pull request #1403 from terrafrost/hmac-additions
...
add new HMAC algorithms
2019-09-16 07:41:54 -05:00
terrafrost
6f8ba6c614
SSH2: tweaks to Exceptions
2019-09-11 07:55:29 -05:00
terrafrost
e52697abac
SSH2: no authentication didn't work
2019-09-11 06:36:03 -05:00
terrafrost
a06a166db6
SSH2: move $this->send_seq_no++
2019-09-10 23:43:09 -05:00
terrafrost
eab705fbb5
SSH2: typo
2019-09-10 23:41:52 -05:00
terrafrost
7aaf46c8ac
SSH2: make array_intersect_first static
2019-09-10 23:14:29 -05:00
terrafrost
2774e55ab2
SSH2: eliminate some code re-use involving key exchanges for MACs
2019-09-10 23:01:26 -05:00
terrafrost
69a11136ae
SSH2: ping tweaks
2019-09-10 19:52:35 -05:00
terrafrost
71aa8165fa
Merge branch '2.0'
2019-09-10 18:13:12 -05:00
terrafrost
2cf180fb47
Merge branch '1.0' into 2.0
2019-09-10 17:43:41 -05:00
terrafrost
fbf36728fd
SSH2 / SFTP: fix issues with ping()
2019-09-10 17:31:43 -05:00
terrafrost
71ced69714
SSH2: add support for EtM
2019-09-09 01:18:33 -05:00
terrafrost
580eb94fd3
SSH2: add umac-64 / umac-128 support
2019-09-08 11:23:29 -05:00
terrafrost
7d74163825
SSH2: use libsodium PHP 7.2 API
2019-09-07 20:10:15 -05:00
terrafrost
18681de192
update last commit for 2.0 branch
2019-09-07 19:53:19 -05:00
terrafrost
43dd05d4c2
Merge branch '1.0' into 2.0
2019-09-07 19:39:28 -05:00
terrafrost
3ad44cb3d6
SSH2: backport setPreferredAlgorithms() / getAlgorithmsNegotiated()
2019-09-07 19:20:21 -05:00
terrafrost
8a03e90d95
SSH2: update private key auth example
2019-09-07 17:06:51 -05:00
terrafrost
b89c488f43
SFTP: unpack() -> unpackSSH2()
2019-08-22 05:01:33 -05:00
terrafrost
66efabda53
SSH2: update libsodium check
2019-08-07 23:29:33 -05:00
terrafrost
f04d69a3eb
Merge branch 'master' into diffie-hellman
2019-08-07 08:09:36 -05:00
terrafrost
1e7453b585
add a new diffie-hellman key exchange class
2019-08-06 22:10:56 -05:00
terrafrost
353ad158b4
Merge branch 'update-auto-channel-close-2.0' into update-auto-channel-close-master
2019-07-12 07:55:31 -05:00
terrafrost
9f1287e68b
SSH2: update constant for last commit
2019-07-12 07:53:49 -05:00
terrafrost
560e6d2fb1
Merge branch 'update-auto-channel-close-2.0' into update-auto-channel-close-master
2019-07-12 07:39:59 -05:00
terrafrost
d25a3a9248
Merge branch 'update-auto-channel-close-1.0' into update-auto-channel-close-2.0
2019-07-12 07:38:47 -05:00
terrafrost
9015d987f7
only auto close the channel for exec() timeouts
2019-07-12 07:38:08 -05:00
terrafrost
5573187f3d
rm $type parameter from AsymmetricKey::load and add loadFormat()
2019-06-28 08:51:12 -05:00
terrafrost
289ae55f9f
rename ECDSA -> EC
2019-06-27 23:15:25 -05:00
terrafrost
7012e72488
mv Keys/ and Signature/ to Formats/*
2019-06-25 07:52:45 -05:00
terrafrost
e71f203742
Merge branch 'master-callback'
2019-06-16 15:31:39 -05:00
terrafrost
82454229f6
Merge branch '2.0-callback' into 2.0
2019-06-16 15:31:31 -05:00
terrafrost
f8d8ad24fd
Merge branch '1.0-callback' into 1.0
2019-06-16 15:31:22 -05:00
terrafrost
aa8a30cd81
Merge branch '2.0'
2019-06-16 11:04:31 -05:00
terrafrost
0932fb3054
Merge branch '1.0' into 2.0
2019-06-16 11:03:37 -05:00
Rubens Matrono
a7d038830c
fix array_merge(): Argument #1 is not an array
2019-06-16 11:03:27 -05:00
terrafrost
8e0651308c
SSH2: _close_channel -> close_channel
2019-06-12 22:08:48 -05:00
terrafrost
988d37e479
Merge branch '2.0'
2019-06-12 22:07:49 -05:00
terrafrost
491758f1c0
Merge branch '1.0' into 2.0
2019-06-12 22:07:27 -05:00
terrafrost
732bda2860
SSH2: close channel when a timeout occurs
2019-06-12 22:06:48 -05:00
terrafrost
30320f5a91
Merge branch '2.0-callback' into master-callback
2019-06-02 08:22:26 -05:00
terrafrost
a0fa38db6d
Merge branch '1.0-callback' into 2.0-callback
2019-06-02 08:20:07 -05:00
terrafrost
e988abcdb1
SFTP: add callback parameter to get()
2019-06-02 08:19:41 -05:00
terrafrost
5b89ff4177
Merge branch 'rsa-pss'
2019-06-01 16:07:48 -05:00
terrafrost
b226c3d882
add second $options parameter to toString method for public keys
2019-06-01 15:53:35 -05:00
terrafrost
79f925e43c
SFTP: replace user_error() with Exceptions
2019-05-28 08:52:53 -05:00
terrafrost
72b4bf74d2
SFTP: use microtime(true)
2019-05-28 08:50:22 -05:00
terrafrost
93c0880ca8
SSH2: make $timeout protected
2019-05-28 08:50:03 -05:00
terrafrost
a773ae80bd
Merge branch '2.0'
2019-05-28 08:47:59 -05:00
terrafrost
06ccf5d1f9
Merge branch '1.0' into 2.0
2019-05-28 08:47:51 -05:00
terrafrost
8df35cc368
SFTP: improve handling of malformed packets
2019-05-28 08:47:34 -05:00
terrafrost
85e2bd4811
SSH2: get binary output from OpenSSH key handler
2019-05-21 09:10:18 -05:00
terrafrost
cc32cd2e95
make RSA / DSA / ECDSA immutable and add support to SSH2 / X509
2019-05-19 15:35:29 -05:00
terrafrost
227d9c45ef
Merge branch '2.0'
2019-04-11 21:56:27 -05:00
terrafrost
0ac880fca0
Merge branch '1.0' into 2.0
2019-04-11 21:56:17 -05:00
terrafrost
756b247446
SSH2: explain NET_SSH2_READ_NEXT in comments
2019-04-11 21:54:37 -05:00
terrafrost
cee3f3cd4a
SFTP: use Strings::packSSH2() / Strings::unpackSSH2()
2019-04-03 22:09:15 -05:00
terrafrost
0001b81950
SSH2: use Strings::packSSH2() / Strings::unpackSSH2()
2019-04-02 00:09:19 -05:00
terrafrost
f2226184ee
rm Common/Functions/Objects.php
2019-03-31 16:28:21 -05:00
terrafrost
d329814f55
SSH2: send_binary_packet() now always throws exceptions on error
2019-03-31 00:33:57 -05:00
terrafrost
1780bee619
SSH2: add support for elliptic curve hostkeys
2019-03-30 13:35:16 -05:00
terrafrost
c9d4a89267
rm SSH1
2019-03-29 21:51:26 -05:00
terrafrost
72209ffd65
add setPreferredAlgorithms() and getServerAlgorithms()
2019-03-29 18:44:31 -05:00
terrafrost
0cff98b19e
SSH2: make it so preferred algorithm depends on available engines
2019-03-28 22:15:04 -05:00
terrafrost
e629271f7d
SSH2: add getMethodsNegotiated() method
2019-03-28 18:53:26 -05:00
terrafrost
aa4c6e686a
Merge branch 'master' into chacha20
2019-03-26 08:36:07 -05:00
terrafrost
16abd15089
SSH2: micro-optimization for AES-GCM
2019-03-23 21:41:52 -05:00
terrafrost
70f5eb4bf7
SSH2: Rijndael -> AES (for consistency)
2019-03-23 20:53:20 -05:00
terrafrost
539fc1a9b0
SSH2: CS adjustments
2019-03-23 19:20:06 -05:00
terrafrost
7d41903846
Merge branch '2.0'
2019-03-23 19:18:31 -05:00
terrafrost
b9f7f0c021
Merge branch '1.0' into 2.0
2019-03-23 18:43:04 -05:00
terrafrost
f111bf94b6
SSH2: fix issue with reconnecting via ping()
2019-03-23 18:42:40 -05:00
terrafrost
494d20efc8
add Salsa20 / ChaCha20 stream ciphers
2019-03-22 15:45:36 -05:00
terrafrost
8ce392f218
SFTP: nlist() didn't return empty directories - now it does
...
I view this as a BC breaking change so atm do not plan on
backporting it to 1.0/2.0. eg. now, all subdirectories have . and
.. as "files" whereas before they didn't
2019-03-16 09:41:06 -05:00
terrafrost
496fcd18cd
Merge branch '2.0'
2019-03-03 18:42:47 -06:00
terrafrost
03d9efcbc9
Merge branch '1.0' into 2.0
2019-03-03 18:40:36 -06:00
terrafrost
fce6063de6
SFTP: make it so get() can correctly handle out of order responses
2019-03-03 18:38:57 -06:00
terrafrost
41c76d6e0e
SCP: replace user_error with exception
2019-01-27 17:10:06 -06:00
terrafrost
0f3cbce359
Merge branch '2.0'
2019-01-27 17:04:49 -06:00
terrafrost
0926c4286e
Merge branch '1.0' into 2.0
2019-01-27 17:04:12 -06:00
terrafrost
5b795c18ab
SCP: issue error if remote_file is empty in put() call
2019-01-27 17:03:53 -06:00
terrafrost
0f87a0e026
SSH2: CS adjustment
2019-01-20 09:39:12 -06:00
terrafrost
c03753e3c7
Merge branch '2.0'
2019-01-20 09:17:57 -06:00
terrafrost
004a71ce19
Merge branch '1.0' into 2.0
2019-01-20 09:15:53 -06:00
terrafrost
e5ff894d4b
SSH2: add missing constant
2019-01-20 09:12:43 -06:00
terrafrost
ea3c8dbd9a
Merge branch '2.0'
2019-01-16 21:17:18 -06:00
terrafrost
f8ff1aa27f
Merge branch '1.0' into 2.0
2019-01-16 21:16:17 -06:00
terrafrost
b0d63fbfb5
SSH2: ssh-rsa is sometimes incorrectly used instead of rsa-sha2-256
2019-01-16 21:15:11 -06:00
terrafrost
3f6eb2012a
Merge branch '2.0'
2019-01-15 23:50:33 -06:00
terrafrost
31fbdb96e0
Merge branch '1.0' into 2.0
2019-01-15 23:48:54 -06:00
terrafrost
055d6097af
SSH2: more strictly adhere to RFC8332 for rsa-sha2-256/512
2019-01-15 23:41:49 -06:00
terrafrost
835b1207fa
SSH2: replace "$this->object !== false" with "$this->object"
2018-12-31 14:14:43 -06:00
terrafrost
17e6938fba
updates to Exceptions
2018-12-31 09:55:32 -06:00
terrafrost
97d41fd3aa
SSH2: make bad_algorithm_candidate method static
2018-12-29 20:54:18 -06:00
terrafrost
01c92a59f8
add support for Galois/Counter Mode (GCM)
2018-12-27 08:31:35 -06:00
terrafrost
b76a67dfb4
Merge branch '2.0'
2018-12-16 11:45:37 -06:00
terrafrost
42603ce3f4
Merge branch '1.0' into 2.0
2018-12-16 11:45:25 -06:00
terrafrost
a9c0e2d430
SSH2: setTimeout(0) didn't work as intended
2018-12-16 11:44:58 -06:00
terrafrost
669ba5224f
SSH2: rm debug code
2018-11-23 00:50:56 -06:00
terrafrost
e006f5b326
Merge branch '2.0'
2018-11-22 21:55:51 -06:00
Sebastiaan Andeweg
396b9f1a0a
fix order of user_error() and bitmap reset
2018-11-11 16:04:30 +01:00
Sebastiaan Andeweg
ca695f5bdd
fix order of user_error() and bitmap reset
2018-11-09 16:36:50 +01:00
terrafrost
edc51aac63
Merge branch 'master' of https://github.com/phpseclib/phpseclib
2018-10-06 14:17:30 -05:00
terrafrost
8705f4b31e
SSH2: update ping method to work with exceptions
2018-10-06 11:41:15 -05:00
terrafrost
c1493a8063
Merge branch '2.0'
2018-10-06 08:02:59 -05:00
terrafrost
0a379a5386
Merge branch '1.0' into 2.0
2018-10-06 01:19:33 -05:00
terrafrost
25c930cc40
SSH2: add ping() method
2018-10-06 01:19:14 -05:00
terrafrost
422533c978
Merge branch '2.0'
2018-10-05 23:01:03 -05:00
terrafrost
c88abcb777
Merge branch '1.0' into 2.0
2018-10-05 22:49:24 -05:00
terrafrost
0c26415f93
SSH2: reset $this->bitmap when the connection fails
2018-10-05 21:27:59 -05:00
Jakub Chábek
bee5fd70d8
Fix invalid method name + usages in comments
2018-09-10 17:20:48 +02:00
terrafrost
f381b1feb1
Merge branch '1.0' into 2.0
2018-09-08 14:42:17 -05:00
terrafrost
f48d85ced9
SSH2: setEngine -> setPreferredEngine
2018-09-08 14:41:28 -05:00
terrafrost
086afadf1b
Merge branch '2.0'
2018-08-20 21:42:00 -05:00
terrafrost
6189452f1b
Merge branch '1.0' into 2.0
2018-08-20 21:41:18 -05:00
terrafrost
bee6183bd7
SSH2: remove utf8_decode calls
2018-08-20 20:50:07 -05:00
terrafrost
6021e74a79
Merge branch '2.0-dsas'
2018-08-18 15:04:51 -05:00
terrafrost
82967a40d4
Merge branch '1.0-dsas' into 2.0
2018-08-18 15:03:25 -05:00
terrafrost
f7f156b537
SFTP: use lstat in rawlist instead of stat
2018-08-18 15:02:42 -05:00
Dean Sas
426dbdbfcd
Ensure SFTP::rawlist gives same results regardless of statcache
...
Previously SFTP::rawlist gave different results depending on whether the
stat cache was enabled or not. With the stat cache turned off it did not
treat directories correctly, as it relied on the stat cache even though
it was not populated.
2018-08-18 08:36:16 -05:00
Simon Podlipsky
d598204874
Fix return type for Read()
2018-07-22 14:17:15 +03:00
terrafrost
ffb21d7622
SSH/Agent: fix bad merge
2018-05-27 11:27:19 -05:00
terrafrost
03f9a4dc7e
Merge branch '2.0'
2018-05-27 10:54:36 -05:00
terrafrost
04f62f9e9c
SSH2: adjustments for 2.0 branch
2018-05-27 10:48:03 -05:00
terrafrost
0b2eb54a29
Merge branch '2.0'
2018-05-27 09:55:45 -05:00
terrafrost
2113ffb72c
Merge branch '1.0' into 2.0
2018-05-27 09:52:52 -05:00
terrafrost
b57976ec5f
SSH2: add support for rsa-sha2-256 / rsa-sha2-512 (RFC8332)
2018-05-27 09:48:44 -05:00
terrafrost
8da15ab19b
Merge branch '2.0'
2018-05-19 07:48:42 -05:00
terrafrost
bf71150433
Merge branch '1.0' into 2.0
2018-05-19 07:48:33 -05:00
terrafrost
9b49d3c590
SSH2: fixes relating to delayed global requests
2018-05-19 07:45:44 -05:00
luz.paz
380517ef00
Misc. trivial typos
...
Found via `codespell -q 3`
2018-03-03 07:07:14 -05:00
terrafrost
63b6df29a8
Merge branch '2.0'
2018-02-07 21:24:51 -06:00
terrafrost
473c980d0c
Merge branch '1.0' into 2.0
2018-02-07 21:23:21 -06:00
terrafrost
1468ef1a23
SFTP: fix issue with extended attribute on 64-bit PHP installs
2018-02-07 21:22:54 -06:00
terrafrost
59faa1d253
Merge branch '2.0'
2018-01-01 13:09:18 -06:00
terrafrost
d0155508e9
Merge branch '1.0' into 2.0
2018-01-01 13:09:05 -06:00
terrafrost
30a11a3951
SFTP: update state cache accordingly when file becomes directory
2018-01-01 13:07:45 -06:00
terrafrost
3c96ca9fd1
Merge branch '2.0-channel-request-updates' into master-channel-request-updates
2017-12-25 19:12:57 -06:00
terrafrost
2a09816088
Merge branch '1.0-channel-request-updates' into 2.0-channel-request-updates
2017-12-25 19:11:13 -06:00
terrafrost
46b5bd413a
SSH2: more channel handling updates
2017-12-25 19:09:20 -06:00
terrafrost
56a644faa8
replace user_error with exceptions in a few more places
2017-12-23 14:32:22 -06:00
terrafrost
239a32ff06
Merge pull request #1222 from rrran/extract_func_phpdoc
...
Add PhpDoc @var for extract() functions
2017-12-23 14:18:28 -06:00
Sokolovskyy Roman
62ee1a5747
Multiline phpdoc for extract to one liner
2017-12-21 10:14:53 +01:00
terrafrost
4bc1d7d682
Merge branch '1.0' into 2.0
2017-12-18 00:08:00 -06:00
terrafrost
354666c36d
Merge branch 'jude' into 1.0
2017-12-18 00:06:51 -06:00
Sokolovskyy Roman
c705e7d9c6
Add PhpDoc @var for extract() functions
2017-12-04 11:11:43 +01:00
Sokolovskyy Roman
966ee7f170
Long array() to short [] syntax
2017-11-27 09:30:14 +01:00
terrafrost
2314b638c7
Merge pull request #1212 from rrran/func_get_args_to_tripple_dots
...
Get rid of func_get_args()
2017-11-23 10:02:59 -06:00
terrafrost
e2e719ee29
Merge branch '2.0'
2017-11-23 09:37:26 -06:00
terrafrost
6e9ece958b
Merge branch '1.0' into 2.0
2017-11-23 09:33:35 -06:00
terrafrost
309fa0af44
SSH/SFTP: more adustments to channel handling
2017-11-23 09:31:34 -06:00
Sokolovskyy Roman
ee8f5e9769
Get rid of func_get_args()
2017-11-21 09:36:28 +01:00
terrafrost
3065d24b0d
$this->_string_shift -> Strings::shift
2017-11-13 09:27:11 -06:00
terrafrost
e91da39098
Merge branch '2.0'
2017-11-11 23:16:23 -06:00
terrafrost
6a65ea28ec
Merge branch '1.0' into 2.0
2017-11-11 23:15:00 -06:00
terrafrost
b50dde76f5
SSH2: update channel handling in a few more places
2017-11-11 23:08:08 -06:00
terrafrost
17f5292dfb
Merge branch 'master' of https://github.com/phpseclib/phpseclib
2017-11-11 16:39:05 -06:00
terrafrost
c66b31e698
Merge branch '2.0'
2017-11-11 16:13:48 -06:00
terrafrost
1f7e03b43d
Merge branch '1.0-multi-channel-adjustment' into 2.0
2017-11-11 16:00:05 -06:00
terrafrost
0afde6ea43
SSH2: updates to dealing with extraneous channel packets
2017-11-11 15:14:04 -06:00
Jude Rosario
3875d43cb4
Fix PHP 7 global variable rename
...
As described here http://php.net/manual/en/migration70.incompatible.php
2017-11-07 13:48:18 +05:30
terrafrost
d90e9d1b7a
Merge pull request #1204 from comsolit/feature/show-answer-not-understood
...
Unveil received value in unexpected value exceptions (SFTP)
2017-11-05 15:16:40 -06:00
terrafrost
ec579bd9ed
revisions to rrran's PHPDoc changes
2017-11-05 14:35:27 -06:00
Peter Bittner
31b02fe7cc
Unveil received value in unexpected value exceptions (SFTP)
2017-11-02 14:36:22 +01:00
Sokolovskyy Roman
f40ea062c2
Lots of PHPDoc fixes
2017-10-25 11:44:14 +02:00
terrafrost
4f2ece4d7d
Merge remote-tracking branch 'rrran/Bugfixes2'
2017-09-30 22:50:06 +01:00
terrafrost
fc6a97083c
Merge branch '2.0'
2017-09-29 21:34:51 +01:00
Martijn Smit
b3add4491d
Replace extension_loaded with forward compatible function exists check
2017-09-29 21:33:57 +01:00
Sokolovskyy Roman
4f399d5c33
Merge remote-tracking branch 'origin/master' into Bugfixes2
2017-09-11 11:13:03 +02:00
terrafrost
1fafe157d6
SSH2: fix bad merge
2017-09-06 00:44:38 -05:00
terrafrost
e50d8ea51c
Merge branch '1.0' into ssh2-fix-multi-channel-1.0
2017-09-06 00:30:11 -05:00
terrafrost
ac19043c8b
Merge branch 'ssh2-fix-multi-channel-2.0' into ssh2-fix-multi-channel-master
2017-09-05 23:42:05 -05:00
terrafrost
eeaef39827
Merge branch 'ssh2-fix-multi-channel-1.0' into 2.0
2017-09-05 23:22:09 -05:00
terrafrost
9228d7b5c9
Merge branch '2.0'
2017-09-05 22:00:45 -05:00
terrafrost
a7eb9099f1
Merge branch '1.0' into 2.0
2017-09-05 22:00:35 -05:00
terrafrost
deb485c0e1
SFTP: fix put() with remote file stream resource ( #1177 )
2017-09-05 21:59:51 -05:00
terrafrost
ee3fd38682
SSH2: fix typo in comment found by Iewa
2017-08-29 07:42:51 -05:00
terrafrost
a3325d102e
SSH2: don't choke when getting response from diff channel in exec()
2017-08-29 00:17:48 -05:00
terrafrost
ae210871e3
Merge branch '2.0'
2017-08-28 22:45:18 -05:00
terrafrost
e669624ef5
Merge branch '1.0' into 2.0
2017-08-28 22:45:09 -05:00
terrafrost
c7e67721a2
SSH2: CS adjustment
2017-08-28 22:44:58 -05:00
terrafrost
ee5172ece5
Merge branch 'arcfour256-fix-2.0'
2017-08-27 12:33:19 -05:00
terrafrost
c4be683936
Merge branch 'arcfour256-fix-1.0' into 2.0
2017-08-27 02:43:31 -05:00
terrafrost
e5b4eef91f
SSH2: workaround for bad arcfour256 implementations
2017-08-26 20:17:59 -05:00
terrafrost
b27655a262
Merge branch '2.0'
2017-08-24 23:56:08 -05:00
terrafrost
4202f653ef
Merge branch '1.0' into 2.0
2017-08-24 23:55:27 -05:00
terrafrost
9cbfd23cb6
SSH2: assume any SSH server >= 1.99 supports SSH2
2017-08-24 23:52:27 -05:00
Sokolovskyy Roman
25c1ae6e00
Merge remote-tracking branch 'origin/master' into Bugfixes2
2017-08-09 12:28:02 +02:00
terrafrost
3fcce89f78
Merge remote-tracking branch 'rrran/Bugfixes'
2017-08-07 21:47:06 -05:00
terrafrost
93a3139475
Merge branch 'pre-1157-changes'
2017-08-07 21:46:28 -05:00