1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-12 17:17:34 +01:00
Commit Graph

845 Commits

Author SHA1 Message Date
Andreas Fischer
201b55866e Merge branch 'master' into php5
* master:
  Remove HTML from BigInteger code example.
2014-03-01 01:40:53 +01:00
Andreas Fischer
c1597f4533 Remove HTML from BigInteger code example. 2014-03-01 01:40:28 +01:00
Andreas Fischer
907f062096 Merge branch 'master' into php5
* master:
  Set permissions of phpseclib/Crypt/RC2.php to 644.
2014-03-01 00:57:05 +01:00
Andreas Fischer
f744fbbcc9 Set permissions of phpseclib/Crypt/RC2.php to 644. 2014-03-01 00:56:08 +01:00
Andreas Fischer
2785826d94 Merge branch 'master' into php5
* master:
  composer: add System to psr-0 autoload section
  update README.md to show latest version
  SSH_Agent: a few changes per bantu
2014-02-28 23:17:46 +01:00
terrafrost
b3a1f52bff SSH_Agent: a few changes per bantu 2014-02-21 23:15:24 -06:00
Andreas Fischer
88e6eef90f Merge branch 'master' into php5
* master:
  Add newline at EOF to phpseclib/System/SSH_Agent.php.
  SSH_Agent: phpdoc updates
  SSH_Agent: misc updates
  SSH2: add ssh-agent support
2014-02-21 19:42:36 +01:00
Andreas Fischer
e08c7244e2 Add newline at EOF to phpseclib/System/SSH_Agent.php. 2014-02-21 19:22:09 +01:00
Andreas Fischer
053a9ac9af Merge pull request #265 from terrafrost/ssh-agent
SSH2: add ssh-agent support

* terrafrost/ssh-agent:
  SSH_Agent: phpdoc updates
  SSH_Agent: misc updates
  SSH2: add ssh-agent support
2014-02-21 19:17:51 +01:00
terrafrost
b4b93b80f5 SSH_Agent: phpdoc updates 2014-02-20 13:38:07 -06:00
terrafrost
405ff3f7b4 SSH_Agent: misc updates 2014-02-19 10:13:54 -06:00
Andreas Fischer
51d30ed66f Merge branch 'master' into php5
* master:
  CS: Each file MUST end with exactly one newline character
2014-02-11 01:00:52 +01:00
Andreas Fischer
56f1ada5c1 CS: Each file MUST end with exactly one newline character 2014-02-10 14:51:35 +01:00
terrafrost
e90648c7a5 SSH2: add ssh-agent support 2014-02-10 00:04:16 -06:00
Andreas Fischer
addd2ac320 Merge branch 'master' into php5
* master:
  SSH2: ignore exit_status channel requests
2014-02-03 16:56:46 +01:00
Andreas Fischer
f4dbcb1b78 Merge pull request #264 from terrafrost/exit-status
SSH2: ignore exit_status channel requests

* terrafrost/exit-status:
  SSH2: ignore exit_status channel requests
2014-02-03 16:56:36 +01:00
terrafrost
cd9801db8a SSH2: ignore exit_status channel requests
Fixes #258
2014-02-02 23:42:06 -06:00
Andreas Fischer
0c4cc0bd0e Merge branch 'master' into php5
* master:
  Cleaned up whitespace

Conflicts:
	composer.json
2014-01-18 18:58:55 +01:00
Graham Campbell
1c2796e3eb Cleaned up whitespace 2014-01-18 17:29:25 +00:00
Marc Philip Scholten
b7092ebc21 Added some simple Net_SSH2 tests
Placed helper at top again in my test

Removed a whitespace
2013-12-28 21:29:52 +01:00
terrafrost
777db22709 Merge branch 'php5' of https://github.com/phpseclib/phpseclib into php5 2013-12-28 13:56:27 -06:00
terrafrost
05077cf0f3 Merge branch 'ssh2-identifier' into php5 2013-12-28 13:50:05 -06:00
terrafrost
268ec2e5d1 Merge branch 'ssh2-identifier' 2013-12-28 13:49:05 -06:00
terrafrost
0ccac2c998 SSH2: add new line in docblock comment 2013-12-28 13:47:24 -06:00
Marc Philip Scholten
19be15c4c4 Fixed typos 2013-12-28 18:16:09 +01:00
Andreas Fischer
d48e284cae Merge branch 'master' into php5
* master:
  SFTP: make get() return correctly sized strings
2013-12-28 13:41:09 +01:00
Andreas Fischer
b9e785f292 Merge branch 'master' into php5
* master:
  RSA: remove unit test for time being - it's going to be renamed and rewritten
  RSA: update comments for _extractBER
  RSA: more verbose RSA key handling
2013-12-28 13:40:49 +01:00
terrafrost
466f9354df SFTP: make get() return correctly sized strings 2013-12-27 11:08:33 -06:00
terrafrost
a1b749a0a0 Merge branch 'master' into php5 2013-12-27 10:25:19 -06:00
terrafrost
d2c4ccfc28 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-12-27 10:24:47 -06:00
Marc Philip Scholten
ad0c7c52bd Fixed cs 2013-12-26 21:02:18 +01:00
Marc Philip Scholten
b0de383f95 Replaced else { if ()...} with elseif() {} 2013-12-26 21:02:17 +01:00
Marc Philip Scholten
357d4253ee Fixed typo 2013-12-26 21:00:58 +01:00
Marc Philip Scholten
4817d28a54 Refactored Net_SSH2::$identifier and added unit tests
Added return tag
2013-12-26 21:00:58 +01:00
Andreas Fischer
28f6f19abe Merge branch 'master' into php5
* master:
  SSH2: better accomodate Phar's
2013-12-26 19:43:34 +01:00
Andreas Fischer
f63798b923 Merge pull request #233 from terrafrost/phar-fix
SSH2: better accomodate Phar's

* terrafrost/phar-fix:
  SSH2: better accomodate Phar's
2013-12-26 19:43:26 +01:00
Andreas Fischer
060ae325b7 Merge branch 'master' into php5
* master:
  Fixed classname of test
  Fixed some wrong @see annotations
  Fixed /e preg_replace modifier exactly like in 0dc8b27a6a
  Added Net_SSH1::_format_log test
2013-12-26 18:41:32 +01:00
Andreas Fischer
9c7c01c337 Merge pull request #223 from mpscholten/fix-ssh1-php55
Fix Net_SSH1 on Php5.5 (/e preg_replace modifier)

* mpscholten/fix-ssh1-php55:
  Fixed classname of test
  Fixed some wrong @see annotations
  Fixed /e preg_replace modifier exactly like in 0dc8b27a6a
  Added Net_SSH1::_format_log test
2013-12-26 18:41:25 +01:00
Marc Philip Scholten
6d8c02c432 Fixed some wrong @see annotations 2013-12-26 12:09:40 +01:00
Andreas Fischer
83fbeac766 Merge branch 'master' into php5
* master:
  Fix indentation of _append_log in SSH1 and SSH2.
2013-12-26 12:00:42 +01:00
Andreas Fischer
0f69d35584 Fix indentation of _append_log in SSH1 and SSH2. 2013-12-26 11:45:24 +01:00
Andreas Fischer
231f5a2697 Merge branch 'master' into php5
* master:
  Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1.
2013-12-26 11:42:19 +01:00
Andreas Fischer
2da2f5d29f Merge pull request #227 from bantu/ssh2-constant-prefix-ssh1
Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1.

* bantu/ssh2-constant-prefix-ssh1:
  Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1.
2013-12-26 11:42:11 +01:00
Andreas Fischer
7f6ac90380 Merge branch 'master' into php5
* master:
  CS: Add useful whitespace CodeSniffer rules.
2013-12-26 11:39:25 +01:00
Andreas Fischer
0dd5a9ba9f Merge pull request #228 from bantu/cs-whitespace
CS: Add useful whitespace CodeSniffer rules.

* bantu/cs-whitespace:
  CS: Add useful whitespace CodeSniffer rules.
2013-12-26 11:38:17 +01:00
terrafrost
70b9a69c46 SSH2: better accomodate Phar's 2013-12-26 01:55:05 -06:00
terrafrost
b23a693ae5 RSA: update comments for _extractBER 2013-12-26 01:46:58 -06:00
Andreas Fischer
c033e4ea57 Merge branch 'master' into php5
* master:
  SFTP: add explanation for use of 4294967296
  SSH2: typos in last commit
  Compatibility fixes
2013-12-26 00:37:08 +01:00
Andreas Fischer
8bb80b3df0 CS: Add useful whitespace CodeSniffer rules. 2013-12-26 00:33:08 +01:00
Andreas Fischer
4290a5c216 Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1. 2013-12-26 00:26:36 +01:00
terrafrost
172f15f5df SFTP: add explanation for use of 4294967296 2013-12-24 23:44:21 -06:00
terrafrost
3a0193875a RSA: more verbose RSA key handling 2013-12-24 18:37:43 -06:00
terrafrost
8424a464a6 SSH2: typos in last commit 2013-12-22 18:25:00 -06:00
terrafrost
0f5b3ea416 Compatibility fixes
- PHP4 doesn't allow method chaining
- $_SESSION isn't always defined
- on PHP5.1 and earlier using 0x100000000 instead of 4294967296 gives E_NOTICE
- array('Net_SSH2', 'func_name') doesn't work so we fix this by passing $this to it.
  to make that work on PHP4 pass by call-time reference. normally this would result
  in a fatal error on PHP5.4+ but doesn't seem to in this case. the following URL
  elaborates:

  http://stackoverflow.com/q/20732563/569976
2013-12-22 18:14:49 -06:00
terrafrost
4bd9a546ab Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-12-22 11:53:35 -06:00
terrafrost
c26594ba08 Merge remote-tracking branch 'upstream/php5' into php5 2013-12-22 11:50:11 -06:00
Marc Philip Scholten
ea8cadddad Fixed /e preg_replace modifier exactly like in 0dc8b27a6a 2013-12-18 16:39:36 +01:00
Andreas Fischer
d311698340 Merge branch 'master' into php5
* master:
  SSH2: fix E_DEPRECATED on PHP5.5
2013-12-17 20:56:06 +01:00
terrafrost
6ac922726d SSH2: fix E_DEPRECATED on PHP5.5 2013-12-16 11:27:12 -06:00
terrafrost
1599d2e8d1 SCP: use the new "mode" for _close_channel 2013-12-15 12:07:17 -06:00
terrafrost
c01b8fc4ed SCP: Tweaks
sending the close channel packet right after the eof seems to make some scp transfers terminate prematurely.

unfortunately, sometimes this behavior is undesirable as it is in this case:

http://www.frostjedi.com/phpbb3/viewtopic.php?f=46&t=29457

hence the $want_reply parameter

also, this commit makes the scp packet length account for the length portion
2013-12-15 00:43:20 -06:00
Andreas Fischer
03b08ceaa0 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Commenting.ClassComment.WrongTagOrder" sniff.
2013-12-11 23:30:19 +01:00
Andreas Fischer
f0f029b2c1 CS: Fix "PEAR.Commenting.ClassComment.WrongTagOrder" sniff. 2013-12-11 18:33:18 +01:00
Andreas Fischer
3729ba3e44 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Commenting.FileComment.TagIndent" sniff.
2013-12-10 22:29:11 +01:00
Andreas Fischer
3db1fbb072 CS: Fix "PEAR.Commenting.FileComment.TagIndent" sniff. 2013-12-10 20:10:37 +01:00
Andreas Fischer
9c0b5e1453 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Formatting.MultiLineAssignment.EqualSignLine" sniff.
2013-12-10 12:42:25 +01:00
Andreas Fischer
cee0f3343b CS: Fix "PEAR.Formatting.MultiLineAssignment.EqualSignLine" sniff. 2013-12-07 20:47:30 +01:00
Andreas Fischer
452d3dc359 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Files.IncludingFile.UseIncludeOnce" sniff.
2013-12-06 12:20:42 +01:00
Andreas Fischer
6d1fb9f7db CS: Fix "PEAR.Files.IncludingFile.UseIncludeOnce" sniff. 2013-12-06 01:03:34 +01:00
Andreas Fischer
64691f2aec Merge branch 'master' into php5
* master:
  Fix "PEAR.Files.IncludingFile.BracketsNotRequired" sniff.
2013-12-06 00:58:00 +01:00
Andreas Fischer
bc6ff96292 Fix "PEAR.Files.IncludingFile.BracketsNotRequired" sniff. 2013-12-05 23:17:40 +01:00
Andreas Fischer
d696f22b89 Merge pull request #201 from mpscholten/php5-ssh2-microtime
Replaced php4 hack for microtime(true) with real microtime(true)

* mpscholten/php5-ssh2-microtime:
  Replaced php4 hack for microtime(true) with real microtime(true)
2013-12-05 20:54:11 +01:00
Marc Philip Scholten
d6c70a76d9 Replaced php4 hack for microtime(true) with real microtime(true) 2013-12-05 18:46:46 +01:00
Andreas Fischer
ef2c50f9e0 Ignore coding style for "HAC 4.49" block in Math/BigInteger.php. 2013-12-03 21:04:13 +01:00
Andreas Fischer
161bb7d362 CS: Fix PEAR.ControlStructures.ControlSignature sniff. 2013-12-03 21:04:13 +01:00
Andreas Fischer
9ca5f83dec CS: Fix Generic.Functions.FunctionCallArgumentSpacing.NoSpaceAfterComma sniff. 2013-12-03 20:52:08 +01:00
Andreas Fischer
e09f1b730e CodeSniffer: Fix PEAR.Classes.ClassDeclaration.OpenBraceNewLine sniff. 2013-12-03 19:34:41 +01:00
Andreas Fischer
ca9c8b107b CodeSniffer: Fix Generic.PHP.LowerCaseConstant.Found sniff. 2013-12-03 18:54:43 +01:00
Andreas Fischer
399308f98a Merge pull request #180 from mpscholten/removed-vim-comments
Removed vim comments

* mpscholten/removed-vim-comments:
  Removed vim comments
2013-11-23 21:16:25 +01:00
Marc Philip Scholten
3bfd884813 Removed vim comments
Reformated files
2013-11-23 19:42:26 +01:00
phonzie
3afa655f57 SSH2: Continue Subsystem Implementation.
Removed unused piece of code @2352.
Added $this->_get_interactive_channel() to reset(). Unless we don't want to close the subsystem channel?? Leaving that decision up to you.
2013-11-20 16:17:23 -05:00
phonzie
702ade7d12 SFTP: Removed dead code
variable: $initialize = true, ironically - is initialized but never used.
Feel free to deny if this is reserved for future implementation(s).
2013-11-20 15:02:04 -05:00
terrafrost
fcfc0e2c00 SFTP: don't do $dir[-1] check if $dir === '' 2013-11-20 09:33:47 -06:00
terrafrost
187f40a247 Merge pull request #173 from h4cc/patch-1
Making Net_SFTP::chdir capable of handling the empty string.
2013-11-20 07:29:16 -08:00
terrafrost
478dd38e8f SFTP/Stream: log when constructor is called 2013-11-20 09:11:14 -06:00
Julius Beckmann
44078e5f40 Making Net_SFTP::chdir capable of handling the empty string.
Updated patch after hint from bantu.
2013-11-20 15:08:50 +01:00
Julius Beckmann
9ea67f9edb Making Net_SFTP::chdir capable of handling the empty string.
Fixing a ugly notice when using the empty string as parameter for chdir:
  Notice: Uninitialized string offset: -1 in Net/SFTP.php line 617
2013-11-20 14:49:16 +01:00
Vincent Petry
2517dd4a61 Initing eof to false
The call _stream_eof() must return a boolean, not null.
Returning null makes PHP believe that the method wasn't implemented.

Fixes #170
2013-11-19 23:13:10 +01:00
phonzie
8dd12ed467 SFTP_Stream: Fixed typo in _parse_path
typo: isset($this->contenxt)
should be $this->context
2013-11-19 14:23:54 -05:00
phonzie
eb3bffaa00 Update SSH2.php
Use of undefined property: "$this->bitmask".

In context, it seems that it should reference the "bitmap" property.
2013-11-15 13:34:31 -05:00
terrafrost
300a3afe8d Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-11-10 22:38:36 -06:00
terrafrost
755f0f17a5 RSA: putty keys weren't being formatted correctly 2013-11-10 22:27:48 -06:00
Andreas Fischer
2241d0e6f4 Partial revert of 9f1108e52e.
This change should not be necessary.
2013-11-06 23:12:00 +01:00
Frank de Jonge
4976cd1622 Fixed coding style to comply with other not defined statements 2013-11-05 13:01:03 +01:00
Frank de Jonge
9f1108e52e Check wether CRYPT_RANDOM_IS_WINDOWS is defined before defining it. 2013-11-05 11:27:16 +01:00
Jesse Schalken
71ae795460 Fixed typo in object class name comparison 2013-11-04 17:48:01 +11:00
Brian Nesbitt
ccad4b7d08 Added a callable to put for progress updates
This in combination with https://github.com/maximebf/ConsoleKit ProgressBar makes me feel good.
2013-11-01 12:15:28 -04:00
terrafrost
c6a52cb1b1 SSH2: add preliminary support for custom SSH subsystems 2013-10-25 12:35:30 -05:00
terrafrost
15677715e3 RSA: only set $this->current when it's already set 2013-10-24 15:48:15 -05:00
terrafrost
5888c6cef6 SCP: if exec() failed return false immediately 2013-10-21 15:15:31 -05:00
terrafrost
1e3ff81e7d RSA: make RSA objects clonable 2013-10-18 13:24:06 -05:00
terrafrost
22502c24cd ASN1: variable functions had to be strings before PHP 5.4 2013-10-12 12:19:54 -05:00
terrafrost
a577a09a4f X509: make it so ip addresses and domain names can be used together 2013-10-09 14:51:34 -05:00
terrafrost
9b53c45f04 ASN1,X509: add support for ip addresses in subjaltname
(among other places)
2013-10-09 14:25:52 -05:00
terrafrost
9c5563503e RSA: public key was never getting set 2013-10-06 02:23:57 -05:00
terrafrost
402b7e8176 RSA: if setPublicKey is called unneccessarily return false 2013-10-05 21:30:57 -05:00
terrafrost
d2f6362878 X509: assume anything being passed into setPublicKey() is a public key 2013-10-05 21:28:33 -05:00
terrafrost
77447a3fc7 BigInteger, RSA: updates to OpenSSL version detection code 2013-09-20 12:14:01 -05:00
terrafrost
71743ce243 SFTP: change max sftp packet size
1 << 20 isn't as reliable as 1 << 15 and doesn't seem to result in significant speedup either
2013-09-12 10:16:41 -05:00
terrafrost
eb61afd22f SFTP: make "queue size" settable by a constant 2013-09-12 09:10:36 -05:00
terrafrost
48b13bc1d7 SSH2: make it so realtime logs filter out password's
"Complex" logs already do this - just not realtime logs
2013-09-12 08:45:13 -05:00
terrafrost
9f8d8a7bf6 SSH2: window size handling adjustments 2013-09-12 08:29:14 -05:00
terrafrost
2b3fe58dbc RSA: fix E_NOTICE 2013-09-11 21:13:23 -05:00
terrafrost
815f609887 RSA: check to see if MATH_BIGINTEGER_MODE_DISABLE is defined 2013-09-11 11:48:40 -05:00
terrafrost
54f0f2131b RSA, BigInteger: add more openssl checks 2013-09-10 11:07:56 -05:00
terrafrost
56f1b6f411 SCP: better binary local file support for put() 2013-09-04 02:14:36 -05:00
terrafrost
bafbf1276e SCP: make it so local files can be uploaded 2013-09-02 22:33:50 -05:00
terrafrost
f16a1135c6 SCP: get() doesn't return true on success 2013-09-02 21:18:57 -05:00
terrafrost
24a06eeff3 SSH2: neither of the DSA signature values should be 0 2013-08-31 00:22:47 -05:00
terrafrost
ebb1d53af5 SFTP: another comment typo 2013-08-29 16:38:05 -05:00
terrafrost
69bc362a83 SFTP: update comment typo 2013-08-29 11:09:47 -05:00
terrafrost
bf6d1bc253 SFTP_Stream: fix errors when context isn't defined 2013-08-28 13:55:14 -05:00
terrafrost
df45abcda0 SSH2: try to execute commands via interactive shell even if no pty 2013-08-20 23:52:15 -05:00
terrafrost
55d43a9972 ANSI: </underline> -> </u> 2013-08-11 09:07:22 -05:00
terrafrost
ffca003225 SFTP: CS adjustment 2013-08-07 09:22:52 -05:00
terrafrost
442922ff0a BigInteger: refactor random number generation code somewhat 2013-08-06 23:17:49 -05:00
terrafrost
7b5542cc8a X509: re-use existing BER extraction code 2013-08-02 10:52:58 -05:00
terrafrost
0149644210 RSA: fix error when exponent isn't co-prime to lcm 2013-07-31 21:50:40 -05:00
terrafrost
73f167e99e X509: load Math/BigInteger for ASN1 description 2013-07-30 16:07:40 -05:00
Andreas Fischer
25a60ff9a3 SFTP: Fix syntax error "unexpected T_SL, expecting ',' or ';'".
Regression from d95f5946eb.
2013-07-27 15:55:48 +02:00
terrafrost
d714dd35f0 X509: $csr -> $spkac in loadSPKAC() function 2013-07-26 16:10:34 -05:00
terrafrost
d52f217512 X509: change return value for validateSignature when cert isn't loaded 2013-07-26 15:40:16 -05:00
terrafrost
d95f5946eb SFTP: use variable sizes for get() 2013-07-26 10:20:59 -05:00
terrafrost
093a182904 SSH2: Logging updates 2013-07-26 09:57:20 -05:00
terrafrost
bf6da217c1 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-07-22 23:53:45 -05:00
terrafrost
8c9e7a890e SSH2: more window size adjustments 2013-07-22 23:48:28 -05:00
terrafrost
78f9fadd3d SSH2: don't remove first byte from complex logs 2013-07-19 10:34:11 -05:00
terrafrost
415df3bd45 SSH2: attribute newly added comment 2013-07-18 10:35:39 -05:00
terrafrost
b0090e2ebc Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-07-17 23:26:39 -05:00
terrafrost
ccb1c3e2bd SSH2: include string length in window size adjustments 2013-07-17 23:21:25 -05:00
terrafrost
ae2a0886a5 RSA: remove extra new line 2013-07-16 11:21:46 -05:00
terrafrost
e295d51409 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-07-14 04:42:15 -05:00
terrafrost
01bb284119 X509: adjust case of id-at-stateorprovinceName
Re: https://github.com/phpseclib/phpseclib/issues/130
2013-07-14 04:40:12 -05:00
terrafrost
84093715c2 Merge pull request #129 from johnsterling/string-shift-alt
Optimization by replacing _string_shift()
2013-07-14 02:17:39 -07:00
terrafrost
ffdcf843c1 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-07-14 04:10:54 -05:00
terrafrost
0f96fae818 SSH2: channel handling adjustments
- keep track of server -> client window size and look out for NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST packets as appropriate
- send client -> server window size packets based on channel of received packet - not of desired channel
- buffer incoming packets based on received packets channel - not on desired channel
2013-07-14 04:09:16 -05:00
John Sterling
5e0d58f082 SFTP: Add optimization for put() with NET_SFTP_LOCAL_FILE
Use substr() instead of _string_shift().
2013-07-11 17:32:49 -04:00
terrafrost
309f79ecea SSH2: attempt to handle case where window size is smaller than packet size 2013-07-07 16:10:12 -05:00
terrafrost
327a3b8bc8 SSH2: Keep track of client -> server window size 2013-07-07 15:57:15 -05:00
terrafrost
a6289036a0 SSH2: fix possible E_NOTICE 2013-07-07 15:49:49 -05:00