John Safranek
2e2de4cf4d
added the cammelia cipher, updated the test cases
2013-01-18 17:26:49 -08:00
John Safranek
b8b968d77f
added tests for setting Camellia key and IV
2013-01-18 13:48:30 -08:00
John Safranek
f65b0fc092
brought the camellia interface to match AES's more
2013-01-18 09:57:41 -08:00
John Safranek
d5bf944630
enabled the proper Camellia test, but mocked the encrypt and decrypt functions to pass the test
2013-01-17 22:09:55 -08:00
John Safranek
425d418dee
added stubs, tests, and benchmark for Camellia to ctaocrypt
2013-01-17 21:52:31 -08:00
toddouska
fe0772bcbf
Merge branch 'master' into blake2
2013-01-17 16:08:47 -08:00
toddouska
dfca5f82dd
Merge branch 'master' of github.com:cyassl/cyassl
2013-01-17 06:51:59 -08:00
toddouska
86c20f0e38
fix dtls server example to bind to any when specified
2013-01-17 06:51:37 -08:00
John Safranek
ccff37f4b1
added TLS support for AES-CCM-8
2013-01-15 15:20:30 -08:00
John Safranek
eb221238c2
separated TLS-AEAD and AES-GCM so TLS-AEAD can also use AES-CCM
2013-01-14 15:59:53 -08:00
John Safranek
d1515f8ee6
Merge branch 'ccm'
2013-01-10 16:42:03 -08:00
John Safranek
05165bc09e
Added AES-CCM encrypt/decrypt, test fuction, benchmark function.
2013-01-10 16:38:52 -08:00
John Safranek
e85caee845
added tests, prototypes, and stubs for AES-CCM
2013-01-08 12:16:53 -08:00
toddouska
eeb11a6e51
fix rabbit and hc128 CTaoCrypt test buffers for aligned access only, allow TLS on intel w/o aligned stream buffers, otherwise align
2013-01-07 14:06:58 -08:00
John Safranek
f756573401
Merge branch 'ocsp-test'
2013-01-04 14:11:47 -08:00
John Safranek
ac227910f1
modify OCSP to use a replacable callback to perform the OCSP transaction
2013-01-03 17:19:56 -08:00
toddouska
53e4c2ed72
fix pvs studio warnings
2013-01-02 11:39:12 -08:00
toddouska
0c363a17f1
init blake2
2012-12-31 13:10:47 -08:00
toddouska
6d3728fe61
fix ripemd compression round
2012-12-28 14:19:28 -08:00
toddouska
4c9595c419
bump version
2012-12-28 14:07:49 -08:00
toddouska
561906cffd
Merge branch 'master' of github.com:cyassl/cyassl
2012-12-27 16:36:48 -08:00
toddouska
f0bc61a5d3
add more robust pad/verify checks
2012-12-27 16:35:43 -08:00
John Safranek
e70838e984
Merge branch 'ecc'
2012-12-27 11:41:20 -08:00
John Safranek
581f91b984
Merge branch 'master' of github.com:cyassl/cyassl
2012-12-27 11:40:17 -08:00
Chris Conlon
254d53bb18
add CYASSL_STM32F2 define, LwIP errno.h
2012-12-27 10:06:29 -07:00
John Safranek
d993ee1969
Merge branch 'master' of github.com:cyassl/cyassl
2012-12-26 21:53:20 -08:00
John Safranek
cf114b92df
made the ecc keys in the CYASSL struct dynamic
2012-12-26 16:39:19 -08:00
Chris Conlon
ea3dc3d834
add STM32F2 AES, DES, 3DES support
2012-12-26 15:18:57 -07:00
Chris Conlon
a7e0f4e483
add STM32F2 SHA1, MD5 support
2012-12-26 15:16:39 -07:00
John Safranek
6913a46331
Merge branch 'master' of github.com:cyassl/cyassl
2012-12-26 10:40:28 -08:00
toddouska
9c58f70e29
add ciphertext size sanity checks
2012-12-24 15:40:09 -08:00
John Safranek
831c760edc
Merge branch 'ocsp'
...
Fixes some bugs in the ocsp code, and adds a new option to skip nonces.
2012-12-20 16:26:49 -08:00
toddouska
541deaa0c0
release 2.4.6
2012-12-20 13:25:32 -08:00
John Safranek
4e657debfc
added the ability to disable OCSP nonces
2012-12-19 10:18:11 -08:00
toddouska
96cc05b7b1
fix shadow warning
2012-12-18 11:40:45 -08:00
John Safranek
c314dc3940
Merge branch 'master' into ocsp
2012-12-14 14:23:53 -08:00
toddouska
a108c5565e
get release 2.4.4 ready
2012-12-12 17:13:33 -08:00
toddouska
3a98eb7578
fix for current working directory, relative path instead of absolute, suggestion from SpamapS
2012-12-12 10:57:05 -08:00
John Safranek
831e643a24
fixed file name in comment
2012-12-12 10:14:38 -08:00
John Safranek
f71376a42b
Merge branch 'master' of github.com:cyassl/cyassl
2012-11-30 15:48:56 -08:00
John Safranek
8c97675979
Lean PSK trimming
...
1. leave out memory and io callback functions, expect user supplied
2. leave out cert and DTLS related functions
3. SHA-1 compile option to use slower, rolled-up transform
2012-11-30 15:45:43 -08:00
toddouska
f23013b8a7
remove runtime memory callback use for leanpsk
2012-11-30 15:41:01 -08:00
toddouska
6e4d33eb00
move ProtocolVersion struct members directly into RecordLayerHeader
2012-11-28 16:34:41 -08:00
John Safranek
77bf77dfd7
Merge branch 'master' of github.com:cyassl/cyassl
2012-11-27 22:19:01 -08:00
John Safranek
66a3ce2ec1
added SHA-256 based RNG when setting NO_RC4 compile flag
2012-11-27 22:17:25 -08:00
toddouska
faa7283ff3
fix crl resource leaks
2012-11-27 11:36:36 -08:00
John Safranek
f8f7f69f48
compile option to leave out MD5 and SSL code
2012-11-26 18:40:43 -08:00
John Safranek
a89398fdbc
added the cipher suites PSK-NULL-SHA256 and PSK-AES128-CBC-SHA256
2012-11-20 14:52:17 -08:00
toddouska
dd259b12c7
add CyaSSL_peek()
2012-11-16 12:16:00 -08:00
toddouska
9ac2eaa3d6
fix ipv6 unused warning, add os check for crl monitor
2012-11-16 10:47:13 -08:00
toddouska
4a7e56442a
bump dev version
2012-11-14 17:57:27 -08:00
toddouska
4a007a2fa0
make MAX_CHAIN_DEPTH a build time define and default to 9
2012-11-05 10:40:06 -08:00
Chris Conlon
11c8e5afb8
add support for Kinetis K70 HW RNGA
2012-11-02 17:49:30 -06:00
John Safranek
9aa8b71525
Merge branch 'nocerts'
2012-11-01 15:47:02 -07:00
John Safranek
134c6b8b1b
cleaning warnings in OCSP build
2012-11-01 15:03:29 -07:00
toddouska
ae905d70c4
crl warning fixes
2012-11-01 14:14:40 -07:00
John Safranek
85e8f1988a
leanpsk build removes cert code, moved ctaocrypt error strings to own file
2012-11-01 12:36:47 -07:00
toddouska
0e2c236e77
fix x64 windows warnings, make sure word is 64bit
2012-11-01 12:21:47 -07:00
Chris Conlon
f6304ae37a
add support for Freescale MQX
2012-11-01 11:23:42 -06:00
toddouska
01138a5c53
fix stack-check warnings for newer versions but fastmath still has some so take away warning for now
2012-10-30 17:35:12 -07:00
toddouska
f175bd302d
bump dev version
2012-10-30 16:23:59 -07:00
John Safranek
174618ebfb
added build option for leanPSK
2012-10-29 15:39:42 -07:00
toddouska
35b4f08049
add CyaSSL_send()/recv() with flags parameter
2012-10-26 15:09:58 -07:00
toddouska
d4d5243f4d
add user ability to set IO read/write flags
2012-10-25 14:17:11 -07:00
toddouska
0bbbea20be
switch sniffer buffers to dynamic, reduce holding memory if large number of sessions cached
2012-10-24 17:37:57 -07:00
toddouska
f969bc3645
if sniffer sees ACK for missing packet(s) set to error, can't recover
2012-10-24 13:33:11 -07:00
toddouska
3461c12083
Brian's c++/clang fixes, minor adjustments
2012-10-22 11:37:46 -07:00
toddouska
cb08eb672e
Merge branch 'master' of https://github.com/BrianAker/cyassl
2012-10-22 10:56:53 -07:00
Brian Aker
ac998a0f7c
Remove version (it is a generated file), also updated how visibility is done.
2012-10-20 21:24:28 -04:00
John Safranek
a92b639155
add optional null cipher support for RSA
2012-10-19 20:52:22 -07:00
Brian Aker
1bc0dc53f9
Fixes for hardening flags.
...
Additional fixes for using C++ compiler to compile.
Include file pcap.h now gates sniffer for build.
2012-10-19 22:00:17 -04:00
toddouska
c974d77213
add shorten 64 to 32 warnings back on with fixes
2012-10-19 12:44:23 -07:00
John Safranek
346a52a58c
add optional null cipher support for PSK
2012-10-19 10:37:21 -07:00
toddouska
e3f54f332e
Merge branch 'master' of github.com:cyassl/cyassl
2012-10-17 13:38:58 -07:00
toddouska
cc0c89b02d
psk test warning fixes
2012-10-17 13:38:49 -07:00
John Safranek
454bfa4abd
Merge branch 'master' of github.com:cyassl/cyassl
2012-10-17 13:14:34 -07:00
John Safranek
fe632a3f77
added non-blocking and session resume as example server and client command line options
2012-10-17 13:13:58 -07:00
toddouska
ef47f1a25e
fix with libz dynamic type
2012-10-17 10:09:28 -07:00
toddouska
c11620f9b4
Merge branch 'master' of github.com:cyassl/cyassl
2012-10-17 10:05:05 -07:00
toddouska
dc708f4f5b
turn on webserver build for some settings
2012-10-17 10:04:44 -07:00
John Safranek
8760e6ac3e
fixed build warnings & aes-gcm/ni conflict
2012-10-10 12:15:13 -07:00
John Safranek
a503f13321
update readme and version number
2012-10-10 08:55:53 -07:00
John Safranek
e673b1852a
fixed windows build warnings
2012-10-09 16:13:05 -07:00
John Safranek
400b1f1ae6
test client and server use select in non-blocking mode
2012-10-08 15:49:30 -07:00
John Safranek
397fbb743f
Merge branch 'master' of github.com:cyassl/cyassl
2012-10-03 15:33:23 -07:00
toddouska
e970cdfbc0
init cipher specs, check client key exchange state b4 process
2012-10-03 11:57:20 -07:00
John Safranek
f7c740df8f
Merge branch 'master' of github.com:cyassl/cyassl
2012-10-03 09:36:43 -07:00
toddouska
5f598e2649
SIGPIPE ignore if no SO_NOSIGPIPE
2012-10-02 22:02:50 -07:00
John Safranek
9bbca6acfb
Merge branch 'master' of github.com:cyassl/cyassl
2012-10-02 14:42:06 -07:00
John Safranek
6d1e485ef4
DTLS to use recvfrom and sendto in embed recv and send callbacks. Added support for storing dtls peer address.
2012-10-02 09:15:50 -07:00
toddouska
e0413df92a
add key setup flag for malicious or misbehaving handshake messages with new memory system
2012-10-01 11:32:05 -07:00
toddouska
2c25481e7d
add AesSetKeyDirect for Ctr and Direct when also using aesni
2012-09-28 15:01:07 -07:00
John Safranek
07c37ed50c
Merge branch 'master' of github.com:cyassl/cyassl
2012-09-27 11:42:57 -07:00
toddouska
d5d24df32a
nonblocking warning fixes
2012-09-27 10:31:38 -07:00
John Safranek
dfb84dff37
added accessors for CYASSL members for use in send/recv callbacks
2012-09-25 15:51:56 -07:00
John Safranek
cd0226924a
Merge branch 'master' of github.com:cyassl/cyassl
2012-09-21 16:37:34 -07:00
John Safranek
9643e58dad
fixed bug for Windows build
2012-09-21 16:36:48 -07:00
toddouska
4e19c234f4
fix new warnings on linux64
2012-09-21 13:29:04 -07:00
toddouska
7716da0881
warn fix
2012-09-20 15:39:15 -07:00
toddouska
19e50cd46a
fix old-style warnings
2012-09-20 12:11:42 -07:00
Brian Aker
5fce4edb68
This adds more compiler hardening flags (and fixes all of the issues
...
found in the process).
2012-09-19 23:38:41 -07:00
John Safranek
d1baa9f541
Merge branch 'master' of github.com:cyassl/cyassl
2012-09-18 08:46:11 -07:00
toddouska
53ccbddd01
allow meta PEM data at end of file too
2012-09-17 17:25:38 -07:00
John Safranek
40eb5b3cc5
DTLS resend allocates only enough buffer when needed
2012-09-17 09:52:20 -07:00
John Safranek
40972868ce
fix merge conflicts
2012-09-14 21:19:06 -07:00
John Safranek
7899252104
dtls handshake improvement
2012-09-14 19:30:50 -07:00
John Safranek
56ee2eaba8
added dtls message retry
2012-09-14 09:35:34 -07:00
John Safranek
97ca8439a4
Merge branch 'master' of github.com:cyassl/cyassl
2012-09-07 08:30:03 -07:00
John Safranek
407397e8be
adding DTLS retry timeout, added CYASSL pointer to recv/send callbacks
2012-09-06 22:41:55 -07:00
toddouska
8c32a5a2ed
make RNG in ssl dynamic, release after hs if stream or < tls1.1
2012-09-05 16:18:29 -07:00
toddouska
9ddf43268d
use dynamic memory for ssl ciphers, only use what needed
2012-09-05 12:30:51 -07:00
toddouska
c47afaf84f
make suites object dynamic, only use during handshake
2012-09-05 10:17:48 -07:00
toddouska
43a0a21fb6
add GetOjbectSize for CYASSL*
2012-09-05 08:26:08 -07:00
toddouska
6943229f87
reduce client key exchange stack use in non NTRU mode
2012-09-04 15:56:52 -07:00
toddouska
1ba8aff525
don't allow corrupted change cipher (fix by antoxa), don't allow multiple decryptions of corrupted messages
2012-09-04 11:37:47 -07:00
toddouska
2bee126062
clang scan-build fixes
2012-09-04 10:48:26 -07:00
John Safranek
6ce42706fe
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-28 15:58:38 -07:00
toddouska
bdac618c3a
track version.h for pure windows build
2012-08-28 12:48:19 -07:00
John Safranek
820d934ae8
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-28 09:37:02 -07:00
toddouska
0534d44c9e
don't assume non-Intel CodeWarrior BigEndian anymore
2012-08-23 17:05:58 -07:00
John Safranek
457e214777
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-23 16:05:09 -07:00
John Safranek
561a7fc35d
drop out of order dtls packets
2012-08-23 15:50:56 -07:00
toddouska
f8ffb086ec
tcp errno for SafeRTOS/lwip
2012-08-23 09:45:23 -07:00
John Safranek
f6cca6049f
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-22 16:16:49 -07:00
toddouska
87762e9012
SafeRTOS client test fixes
2012-08-22 11:07:40 -07:00
toddouska
7a12fb3e6b
IAR inlining and enum warning off
2012-08-20 16:58:11 -07:00
toddouska
f1ed3cefc4
SafeRTOS memory macros
2012-08-20 16:38:43 -07:00
John Safranek
c20eb88d3d
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-17 14:21:17 -07:00
toddouska
690938ffd4
lsr fs macros
2012-08-17 13:45:31 -07:00
toddouska
03356be00b
fix verify_callback local declaration after beginning
2012-08-17 12:51:37 -07:00
toddouska
925ddb6626
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-15 17:00:34 -07:00
toddouska
05692e1d6a
IAR fixes, SafeRTOS port, better LWIP support
2012-08-15 17:00:11 -07:00
John Safranek
c42792e0f1
fix compiler warnings
2012-08-14 13:51:56 -07:00
John Safranek
9d912970c8
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-13 17:33:20 -07:00
Chris Conlon
7ec04c16b6
EBSnet RTIP support
2012-08-13 17:10:05 -06:00
John Safranek
70552ef8e1
added DTLS handshake message defragmentation
2012-08-10 10:24:31 -07:00
John Safranek
11df1d25d4
fixed the dtls handshake header handling
2012-08-09 13:27:30 -07:00
toddouska
18c3679444
fix DLTS cookieSz init problem
2012-08-08 16:56:19 -07:00
toddouska
08ff33894f
add ECDH static cipher suite tests including RSA signed ECDH, clean up code with haveECDSA -> haveECDSAsig
2012-08-08 15:09:26 -07:00
toddouska
d494254864
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-08 11:36:08 -07:00
toddouska
eedc2f3e47
fix SESSION_CERTS and SHOW_CERTS example with CyaSSL API
2012-08-08 11:35:39 -07:00
John Safranek
3747246133
added the generation, verification, and client usage of DTLS handshake cookies
2012-08-08 10:38:12 -07:00
toddouska
706bd8a910
add cipher suite client/server driver
2012-08-06 17:14:31 -07:00
toddouska
644726a3fc
fix clang warnings on test.h
2012-08-02 17:37:08 -07:00
toddouska
bdf11587c2
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-02 11:55:07 -07:00
toddouska
90446c3c5f
add -u for DTLS UPD command line client/server examples
2012-08-02 11:54:49 -07:00
Chris Conlon
afa27f0021
FreeRTOS threads support, windows simulator support
2012-08-02 09:54:41 -06:00
toddouska
90385bb4b3
fix windows build with command line examples
2012-08-01 17:33:49 -07:00
toddouska
aecdb33e4e
Merge branch 'master' of github.com:cyassl/cyassl
2012-08-01 12:55:32 -07:00
toddouska
68e5124644
change example client to command line options too, same as server
2012-08-01 12:55:13 -07:00
John Safranek
b8b5e7b873
Merge branch 'master' of github.com:cyassl/cyassl
2012-07-31 18:42:44 -07:00
toddouska
a5af2e3d51
add altname retrieval from peer cert
2012-07-31 17:45:48 -07:00
John Safranek
368afbb815
Merge branch 'master' of github.com:cyassl/cyassl
2012-07-31 10:11:21 -07:00
John Safranek
e716380bad
fixed a bug where aes-gcm required opensslExtra at build configure
2012-07-31 10:07:33 -07:00
John Safranek
9b8c5fb40e
aes-gcm: modified to use sequence number rather that a random explicit IV
2012-07-31 09:32:29 -07:00
toddouska
3401bba8a2
Merge branch 'master' of github.com:cyassl/cyassl
2012-07-30 11:59:11 -07:00
toddouska
f904c598ed
make server example more generic with short command opts
2012-07-30 11:58:57 -07:00
toddouska
e0328ef78a
allow zero legnth asn names, remove weird subjectcn len as zero means we own, use stored flag instead
2012-07-27 16:51:46 -07:00
toddouska
85889f7fb9
add md2 signature hash support
2012-07-27 14:01:02 -07:00
toddouska
e2eb1b78cc
Merge branch 'master' of github.com:cyassl/cyassl
2012-07-27 12:32:42 -07:00
toddouska
6e84ab1271
add max chain depth unique error, increase depth to 6
2012-07-27 12:32:22 -07:00
John Safranek
3cd231bdfc
Merge branch 'master' of github.com:cyassl/cyassl
2012-07-24 15:04:16 -07:00
toddouska
6d3c7d8c59
allow bigger MTU record for sniffer
2012-07-20 13:04:03 -07:00
John Safranek
489fbf17fe
Merge branch 'master' of github.com:cyassl/cyassl
2012-07-19 17:22:16 -07:00
John Safranek
cb178856a8
added 64-bit (default), 32-bit version, and 8-bit table based AES-GCM for faster operation. Selection made at configure.
2012-07-19 14:44:08 -07:00
toddouska
d408f01863
add mystrnstr for buffer searching of PEM with no null terminator
2012-07-17 12:01:37 -07:00
toddouska
d607ffaf02
fix MAX_MSG_EXTRA for SHA-256 digest with IV with dynamic buffers
2012-07-17 11:52:13 -07:00
John Safranek
ac79d3b145
replaced magic numbers with named constants, renamed some constants
2012-07-17 10:00:45 -07:00
John Safranek
87a8cfadd3
Used consistent constants.
2012-07-12 15:20:56 -07:00
John Safranek
aaad893804
fixed merge conflict
2012-07-12 08:39:57 -07:00
toddouska
1f0a32a7e3
use internal enum for cipher requires, move external enums back to starting at zero
2012-07-11 17:00:16 -07:00
John Safranek
1ac6db9d1d
added basic hello extension support for TLSv1.2, renumbered the algorithm enumerations to match RFC
2012-07-09 10:02:34 -07:00
John Safranek
eb302b91b0
Merge branch 'master' of github.com:cyassl/cyassl
2012-06-30 16:29:10 -07:00
toddouska
638c095737
better error output for temp keys or compression on sniffer
2012-06-29 10:59:48 -07:00
toddouska
22cb11f304
add hello_request and session_ticket handling to sniffer
2012-06-28 13:37:19 -07:00
John Safranek
00cda6ab72
tied SHA-384 into TLSv1.2 as appropriate
2012-06-27 14:41:16 -07:00
John Safranek
c2cf1fb708
added HMAC-SHA-384
2012-06-27 10:34:43 -07:00
John Safranek
3a9a195683
Initial draft of AES GCM cipher suites. Missing SHA-384 support.
2012-06-26 09:30:48 -07:00
John Safranek
918ea3a074
added the library framework for handling aes-gcm in TLS
2012-06-18 15:57:37 -07:00
John Safranek
e39e27bb5b
implemented AES-GCM Decrypt
2012-06-15 15:12:56 -07:00
John Safranek
76bb3b2558
added stubs for AES-GCM processing and build option
2012-06-13 21:31:32 -07:00
John Safranek
87b3df8621
Merge branch 'master' of github.com:cyassl/cyassl
2012-06-01 11:57:09 -07:00
John Safranek
6120f03173
ocsp response date checking
2012-06-01 11:57:03 -07:00
toddouska
6dd7eff1a8
add 64 bit misc prototypes for NO_INLINE
2012-06-01 11:07:29 -07:00
John Safranek
ca7bf0d01e
Merge branch 'master' of github.com:cyassl/cyassl
2012-05-31 17:29:41 -07:00
John Safranek
6d76b2f247
dynamic allocation of OCSP responses, response signature check
2012-05-31 17:29:32 -07:00
toddouska
fbc5c8d6dc
add SSL set version, different from ctx version
2012-05-31 15:24:25 -07:00
toddouska
f528f5a7d3
add CertManager Verify with Buffer
2012-05-29 12:04:48 -07:00
John Safranek
4b8bb6cdfe
fixed merge conflicts
2012-05-29 09:19:53 -07:00
John Safranek
9818fe4f55
changed DN hashing to cover the whole DER encoding per OCSP-RFC, OCSP changes towards dynamic storage of responses
2012-05-29 09:11:37 -07:00
toddouska
6a62623c64
verify suite validity before server picks
2012-05-25 12:18:18 -07:00
toddouska
3f35c86520
crl signature check, be sure to load CAs first
2012-05-24 15:49:38 -07:00
John Safranek
0a31dc3a37
renumbered new error codes and dynamic data types
2012-05-24 14:36:40 -07:00
toddouska
baddc07300
check next crl date status
2012-05-24 14:07:59 -07:00
John Safranek
f2110487b6
added dynamic types for OCSP data
2012-05-24 14:07:11 -07:00
toddouska
2b48f248c4
crl dir monitoring for linux and mac
2012-05-22 17:25:15 -07:00
John Safranek
708f38ac8d
added OCSP error codes
2012-05-22 15:52:08 -07:00
John Safranek
e48f5a31d6
Merge branch 'master' of github.com:cyassl/cyassl
2012-05-21 14:21:34 -07:00
Chris Conlon
4c79ac1f88
windows build fix
2012-05-21 15:13:11 -06:00
John Safranek
8bf2d13f89
Merge branch 'master' of github.com:cyassl/cyassl
2012-05-18 15:33:54 -07:00