Jasmine Schladen
1a65e09a99
Send a single email to multiple recipients instead of multiple emails
2020-11-11 15:21:40 -08:00
Mathias Petermann
9fd3440cf6
Cleanup tests
2020-11-11 12:21:06 +01:00
Mathias Petermann
453826c59c
Get rid of unnecessary current_app patches
2020-11-11 12:11:13 +01:00
Mathias Petermann
2b01bdb471
Refactor sftp plugin, to avoid duplicate code
2020-11-11 11:58:36 +01:00
Mathias Petermann
648565d3e9
Improve exception handling in lemur_sftp, Add Authentication failure test
2020-11-11 11:45:57 +01:00
Mathias Petermann
e12ee1d89c
Implement delete file and delete token tests
2020-11-11 11:23:55 +01:00
Mathias Petermann
ae7a044b9c
Add test for upload_acme_token
2020-11-11 11:13:09 +01:00
Mathias Petermann
df11a03bde
Implement sftp upload tests
2020-11-11 11:02:15 +01:00
Mathias Petermann
6e5aa4e979
Deduplicate chain/certificate extraction
2020-11-11 08:46:55 +01:00
Mathias Petermann
5cdd88e033
Remove unnecessary token from delete_acme_token
2020-11-11 08:34:40 +01:00
Mathias Petermann
7b1beb62b6
Add directory uri, to exception message
2020-11-11 08:05:59 +01:00
Mathias Petermann
7a7f05ec9e
Fix comments in sftp delete_files
2020-11-11 08:05:37 +01:00
Hossein Shafagh
252f84cf21
adding also response to upload acme token, just for future use-cases
2020-11-10 17:46:00 -08:00
Hossein Shafagh
ea77ef08aa
testing for delete
2020-11-10 17:45:02 -08:00
Hossein Shafagh
8efa682858
add delete acme token
2020-11-10 17:43:35 -08:00
Mathias Petermann
31b5f3df86
Remove duplicate code for revoke_certificate
2020-11-10 18:18:45 +01:00
Mathias Petermann
fba1fdcc34
Improve exception handling during http challenge
2020-11-10 18:06:19 +01:00
Mathias Petermann
9ebcdfc189
Check authorization state and skip already validated challenges
2020-11-10 17:10:43 +01:00
Mathias Petermann
6ffe7bc526
Check if challenges are already validated, and skip them if possible
2020-11-10 16:47:56 +01:00
Mathias Petermann
960b8e78e3
Implement cleanup_acme_token for http challenge
2020-11-10 16:22:25 +01:00
Mathias Petermann
99ca0ac78d
Add context fix to tests, Add regex, Flake8
2020-11-10 15:32:04 +01:00
Mathias Petermann
4a181aff6e
Merge branch 'master' into feature/acme-http-challenge
2020-11-10 15:20:47 +01:00
Hossein Shafagh
018f4a4b77
Merge branch 'master' into bugfix/group-lookup-fix-referral
2020-11-09 14:30:01 -08:00
Frederic Brin
57208fe198
Fix group lookup when AD DNS Referal is in lookup path
...
Fix an issue when the DNS AD referal is in the path.
An Exception is raised, with the following stacktrace::
Traceback (most recent call last):
File "/www/lemur/lemur/auth/views.py", line 317, in post
user = ldap_principal.authenticate()
File "/www/lemur/lemur/auth/ldap.py", line 147, in authenticate
self._bind()
File "/www/lemur/lemur/auth/ldap.py", line 216, in _bind
self.ldap_groups.append(values["cn"][0].decode("ascii"))
TypeError: list indices must be integers or slices, not str
This is issue is trigerred by some extra rows that referrences
the DNS subtree::
['ldaps://DomainDnsZones.xxxx']
Limiting the extraction to the expected dicts fix this issue.
2020-11-09 09:40:28 +01:00
Hossein Shafagh
7c779d6283
regex
2020-11-06 22:41:48 -08:00
Hossein Shafagh
519411b309
regex
2020-11-06 22:40:55 -08:00
charhate
6fe855e824
Merge branch 'master' into expanding-S3-plugin
2020-11-05 12:12:45 -08:00
charhate
894b74f523
Merge branch 'master' into expanding-S3-plugin
2020-11-04 18:39:23 -08:00
sayali
206d010c9a
Version updates and making lint happy
2020-11-04 18:23:39 -08:00
sayali
7d2ce61303
Updating comment for application context
2020-11-04 18:04:57 -08:00
charhate
8990209411
Merge branch 'master' into ecc_changes
2020-11-04 17:00:09 -08:00
Jasmine Schladen
4cc0f6bb60
Stop repeating certs when sending expiration notifications to security team email
2020-11-04 10:53:27 -08:00
sayali
ab014873d0
invalid escape sequence warning for not an escape char
2020-11-03 19:33:13 -08:00
sayali
003779a112
Mock fix for DeprecationWarning: callable is None
2020-11-03 19:27:41 -08:00
sayali
dc7497e29d
Fix Working outside of application context Test Failures in dev
2020-11-03 19:05:18 -08:00
Mathias Petermann
c71dbcb0a0
Fix duplicate tests
2020-11-03 09:48:25 +01:00
Mathias Petermann
bc564b574d
Merge branch 'master' into feature/acme-http-challenge
2020-11-03 09:36:37 +01:00
sayali
3d64aa8d11
Fixing DeprecationWarning: callable is None: another syntax
2020-11-02 18:58:38 -08:00
sayali
86b2cfbe4a
invalid escape sequence \
2020-11-02 18:45:38 -08:00
sayali
b75bd56546
Check if ValueError assert works old way
2020-11-02 18:29:22 -08:00
sayali
6922d34825
invalid escape sequence \
2020-11-02 18:16:15 -08:00
sayali
825a001a8b
pass algorithm to jwt.decode() during login
...
api_jwt.py : pass "algorithms" argument when calling decode(). This argument will be mandatory in a future version
2020-11-02 17:37:04 -08:00
sayali
d88da028b1
Replace binary with LargeBinary
...
https://flask-appbuilder.readthedocs.io/en/latest/_modules/sqlalchemy/sql/sqltypes.html
2020-11-02 17:37:04 -08:00
sayali
d821024e35
Fixing DeprecationWarning: callable is None
2020-11-02 17:37:04 -08:00
sayali
2dac95c6fb
Replacing PassiveDefault (deprecated) with DefaultClause
2020-11-02 17:37:04 -08:00
sayali
4ffced70f8
backref cannot be set for viewonly relationship
...
will be deprecated in SQLAlchemy 1.4, and will be disallowed in a future release
2020-11-02 17:37:04 -08:00
sayali
634339eac6
replacing imp (deprecated) with importlib
2020-11-02 17:37:04 -08:00
Hossein Shafagh
9c6856bcdd
adjusting the tests to the better naming
2020-10-30 18:36:32 -07:00
Hossein Shafagh
7bca42776b
better comments
2020-10-30 18:28:34 -07:00
Hossein Shafagh
3dfafa0021
making lint happy
2020-10-30 18:28:10 -07:00
Hossein Shafagh
add0960579
more meaningful variable naming
2020-10-30 18:18:37 -07:00
Hossein Shafagh
e1ff89eb2d
better return arguments
2020-10-30 18:18:14 -07:00
Hossein Shafagh
cc2aa5c1de
cli for live testing
2020-10-30 18:17:34 -07:00
Hossein Shafagh
ba8eb7a3f5
better logging and metrics
2020-10-30 18:17:02 -07:00
Hossein Shafagh
c5769378cf
making lint happy
2020-10-30 15:21:22 -07:00
Hossein Shafagh
f90041353c
Merge branch 'master' into expanding-S3-plugin
2020-10-30 15:19:26 -07:00
Hossein Shafagh
d41daeb4af
Merge branch 'master' into ecc_changes
2020-10-30 10:55:23 -07:00
Chad S
cc05d21260
Merge branch 'master' into cname_01
2020-10-29 18:59:43 -07:00
csine-nflx
a4178ca113
fixing floating comma in CNAME PR
2020-10-29 18:52:22 -07:00
charhate
69aa98c1c8
Merge branch 'master' into ecc_changes
2020-10-29 18:05:38 -07:00
sayali
03dfbf535d
Consistent algo in UI and API
...
Removed '-' since UI displays only handful options
2020-10-29 17:59:31 -07:00
sayali
aec24ae132
Missing commit in downgrade
2020-10-29 17:58:37 -07:00
sayali
4e44dd3d8f
Check if authority options is JSON Array
2020-10-29 17:57:54 -07:00
Hossein Shafagh
9aa2d2af76
Merge branch 'master' into notification-plugin-field-fix
2020-10-29 14:58:43 -07:00
csine-nflx
ccecb26816
Merge branch 'cname_01' of github.com:Netflix/lemur into cname_01
2020-10-29 14:43:14 -07:00
csine-nflx
ca465e3c9e
updating debug string with target_domain
2020-10-29 14:42:51 -07:00
Jasmine Schladen
a3a02a8077
Merge branch 'master' into notification-plugin-field-fix
2020-10-29 14:32:57 -07:00
Hossein Shafagh
2aec317127
Merge branch 'master' into cname_01
2020-10-29 14:32:23 -07:00
Jasmine Schladen
86207db93b
Merge branch 'master' into certificates-for-notification-fix
2020-10-29 14:21:25 -07:00
Hossein Shafagh
15a7921bf4
Merge branch 'master' into cname_01
2020-10-29 14:09:48 -07:00
Jasmine Schladen
84f8905cf1
Hide expired certs for notifications
2020-10-29 14:07:25 -07:00
Chad S
14348a1f95
Merge branch 'master' into cname_01
2020-10-29 14:01:14 -07:00
Hossein Shafagh
28c6f8583a
Merge branch 'master' into ses-arn-override
2020-10-29 13:52:51 -07:00
csine-nflx
a1f99c29c0
Merge branch 'cname_01' of github.com:Netflix/lemur into cname_01
2020-10-29 13:51:58 -07:00
csine-nflx
2b91077d92
updating variables based on feedback
2020-10-29 13:51:22 -07:00
Jasmine Schladen
28686fcf5d
Merge branch 'ses-arn-override' of github.com:jtschladen/lemur into ses-arn-override
2020-10-29 13:48:55 -07:00
Jasmine Schladen
45cc9528d2
Cleaner syntax for default region
2020-10-29 13:48:43 -07:00
Jasmine Schladen
78afc060ae
Add subject for SNS messages and correct date format
2020-10-29 13:41:47 -07:00
Hossein Shafagh
e967f2c676
Merge branch 'master' into ses-arn-override
2020-10-29 11:11:30 -07:00
Hossein Shafagh
2cea33cb11
Merge branch 'master' into expanding-S3-plugin
2020-10-29 11:09:00 -07:00
Chad S
af348b1012
Merge branch 'master' into cname_01
2020-10-28 22:41:23 -07:00
csine-nflx
33a006bbeb
fixing delete with optional validation
2020-10-28 22:24:37 -07:00
csine-nflx
b47667b73e
cname redirection working
2020-10-28 20:51:35 -07:00
Jasmine Schladen
3e492e6310
Add ability to override SES region
2020-10-28 17:09:54 -07:00
charhate
bbfc65813d
Merge branch 'master' into ecc_changes
2020-10-28 17:00:45 -07:00
charhate
6adf94d28f
Merge branch 'master' into log_update
2020-10-28 16:52:19 -07:00
Jasmine Schladen
5e696f36bf
Add ability to override SourceArnn for SES
2020-10-28 16:34:31 -07:00
Jasmine Schladen
acc95a4b66
Fix notification view to actually show associated certs
2020-10-28 16:12:27 -07:00
charhate
c25782468b
Merge branch 'master' into log_update
2020-10-28 15:40:16 -07:00
Hossein Shafagh
cc69b433ca
Merge branch 'master' into notification-plugin-field-fix
2020-10-28 14:58:58 -07:00
csine-nflx
d27f2a53af
Merge branch 'master' of github.com:Netflix/lemur into cname_01
2020-10-28 14:03:23 -07:00
charhate
95b647ee1d
Merge branch 'master' into ecc_changes
2020-10-28 13:54:14 -07:00
Hossein Shafagh
84d30b5d50
Merge branch 'master' into issuer-retry
2020-10-28 13:21:10 -07:00
Jasmine Schladen
13e8421c78
Merge branch 'master' into notification-plugin-field-fix
2020-10-28 08:50:46 -07:00
Jasmine Schladen
16ce7970d0
Merge branch 'master' into sns
2020-10-28 08:50:09 -07:00
Hossein Shafagh
a9d3b7a676
Merge branch 'master' into issuer-retry
2020-10-28 08:48:29 -07:00
Mathias Petermann
23e1700fad
flake8
2020-10-28 13:47:57 +01:00
Jasmine Schladen
794e4d3855
Revert log to debug to be safe
2020-10-27 17:36:01 -07:00
Hossein Shafagh
c6a8034890
language
2020-10-27 16:13:05 -07:00
Hossein Shafagh
10aa02fd85
more compact design, thanks to Chad for the feedback
2020-10-27 14:42:51 -07:00
Hossein Shafagh
54c2245115
comments
2020-10-27 12:47:35 -07:00
Hossein Shafagh
d59a558d58
adopting ilike and not relying on ==
...
reducing redundancy
2020-10-27 12:44:38 -07:00
e9824a6808
change the log level to info if upgrade is successful
2020-10-27 20:38:18 +01:00
79647e3372
add reference to LOG_UPGRADE_FILE in toplevel comment
2020-10-27 20:38:18 +01:00
Jasmine Schladen
20b8c2fd93
PR feedback
2020-10-27 08:56:43 -07:00
Mathias Petermann
ccf87986c0
Add store_account to AcmeDnsIssuer
2020-10-27 12:15:07 +01:00
Mathias Petermann
96fbcdaf70
Fix test_finalize_authorizations, dont reuse cleanup_dns_challenges in finalize_authorizations
2020-10-27 11:27:44 +01:00
Mathias Petermann
103e107668
Fix patches for test_create_certificate
2020-10-27 11:16:29 +01:00
Mathias Petermann
82bf8e2ac6
Remove unnecessary code from dnsChallenge, Fix patches in dns tests
2020-10-27 11:09:30 +01:00
Mathias Petermann
2d98e71977
Replace deprecated assertRaisesRegexp with assertRaisesRegex
2020-10-27 10:44:04 +01:00
Mathias Petermann
30c10b93f8
Fix patches for acme_handler tests
2020-10-27 10:37:30 +01:00
Mathias Petermann
3b20a47603
Fix patches for acme_http tests, apparently isinstance is considered evil in python
2020-10-27 10:37:30 +01:00
Mathias Petermann
4464c5890d
Flake8
2020-10-27 10:37:30 +01:00
Mathias Petermann
812e1dee92
Refactor Acme plugin into AcmeChallenge objects, dns01
2020-10-27 10:37:27 +01:00
Mathias Petermann
b91cebf245
Refactor Acme plugin into AcmeChallenge objects, http01
2020-10-27 10:36:06 +01:00
Mathias Petermann
6c1be02bfa
Remove destination_list from AcmeHttpIssuer
2020-10-27 10:28:34 +01:00
Mathias Petermann
ef0fce2661
Set timeout for finalize to 90s
2020-10-27 10:28:34 +01:00
Mathias Petermann
235653b558
Refactor destination selection for acme-http authorities, to load destinations dynamically
2020-10-27 10:28:34 +01:00
Mathias Petermann
81b078604c
Implement revoke certificate for ACME
2020-10-27 10:28:34 +01:00
Mathias Petermann
215070b327
Fix create_certificate tests
2020-10-27 10:28:34 +01:00
Mathias Petermann
41ea59d7e3
Remove unneeded polling
2020-10-27 10:28:33 +01:00
Mathias Petermann
d24fae0bac
Fix permissions on acme token upload, dont append well-known automatically
2020-10-27 10:28:33 +01:00
Mathias Petermann
66cab6abd3
Make http-01 challenge work for SAN certificates
2020-10-27 10:28:33 +01:00
Mathias Petermann
e3e5ef7d66
Refactor AcmeHandler, Move DNS stuff into AcmeDnsHandler
2020-10-27 10:28:33 +01:00
Mathias Petermann
76dcfbd528
Add more tests
2020-10-27 10:28:33 +01:00
Mathias Petermann
d6719b729c
Implement some test for AcmeHttpIssuerPlugin
2020-10-27 10:28:33 +01:00
Mathias Petermann
b2de986652
Split tests into handler, and dns specifics
2020-10-27 10:28:30 +01:00
Mathias Petermann
b93d271f31
Fix flake8
2020-10-27 10:25:31 +01:00
Mathias Petermann
e06bdcf2a3
Implement create_certificate for HTTP-01 challenge
2020-10-27 10:25:31 +01:00
Mathias Petermann
3012995c76
Improve naming, make it possible to create directories recursively with SFTP
2020-10-27 10:25:31 +01:00
Mathias Petermann
348d8477dd
Refactor destination plugin, to allow upload of ACME http-challenge tokens
2020-10-27 10:25:31 +01:00
Mathias Petermann
d00dd9d295
Initial structure for ACME http challenge
2020-10-27 10:25:31 +01:00
Hossein Shafagh
3b258447db
addressing Chad's feedbakc
2020-10-26 19:16:40 -07:00
Hossein Shafagh
1ef6139f9b
ignore rotated certs, since there is a new cert that can be used
2020-10-26 18:34:21 -07:00
Hossein Shafagh
6a1b4b4857
ignore expired certs
2020-10-26 18:33:33 -07:00
Hossein Shafagh
709a9808aa
better structure of the query and and removing ilike
2020-10-26 18:32:53 -07:00
sayali
392725ff30
Add description check in reissue unit test
2020-10-26 15:33:20 -07:00
csine-nflx
749aa772ba
First change to get CNAME redirection working
2020-10-26 11:57:33 -07:00
Jasmine Schladen
3f765b51ef
Fix sources and destinations, and allow actually updating the notification type
2020-10-26 11:27:40 -07:00
Hossein Shafagh
6723e3c80d
now fixing the month to minute bug
2020-10-26 11:27:40 -07:00
Hossein Shafagh
3290d6634b
fixing testing
2020-10-26 11:27:40 -07:00
Hossein Shafagh
fa62023b2d
fixing the time bug, sub-second to second, and month to minute!
2020-10-26 11:27:40 -07:00
d7478a5c5c
use an alternative logger for the upgrade
2020-10-25 19:24:17 +01:00
Hossein Shafagh
f6554a9a1e
typo, fixing abstract class complaints
2020-10-23 18:03:55 -07:00
Hossein Shafagh
0e02abbb37
Entrust just looks into CSR for RSA/EC key type
2020-10-23 18:03:27 -07:00
Hossein Shafagh
9957120a7f
adding missing import
2020-10-23 18:03:07 -07:00
Hossein Shafagh
7e573d6d51
fixing typo
2020-10-23 18:02:54 -07:00
Hossein Shafagh
6891077501
readability
2020-10-23 18:02:35 -07:00
Hossein Shafagh
75bc3a5b20
refactoring and adding retry
2020-10-23 18:02:05 -07:00
Hossein Shafagh
d233490c8a
simple retry
2020-10-23 18:01:14 -07:00
Hossein Shafagh
2c1e7b19a2
10x 10s delay might be too long for the load balancer request
2020-10-23 17:59:58 -07:00
sayali
2c22d42a57
Modify description during reissue
...
Include the certificate ID being reissued and mention that this is created by Lemur as part of reissue
2020-10-23 17:07:14 -07:00
Hossein Shafagh
3d83db6f8f
Merge branch 'master' into expanding-S3-plugin
2020-10-23 14:13:30 -07:00
Hossein Shafagh
30915d30be
Merge branch 'master' into log_update
2020-10-23 14:13:17 -07:00
Hossein Shafagh
01bd357b1c
Merge branch 'master' into sns
2020-10-23 11:38:35 -07:00
Hossein Shafagh
1495fb3595
now fixing the month to minute bug
2020-10-23 10:18:24 -07:00
Hossein Shafagh
bc6fb02fc2
fixing testing
2020-10-23 10:16:38 -07:00
Hossein Shafagh
e01863097b
fixing the time bug, sub-second to second, and month to minute!
2020-10-23 10:16:23 -07:00
Jasmine Schladen
a5cea4fb9a
Skip revoked certs when looking for certs to notify
2020-10-23 09:42:03 -07:00
Jasmine Schladen
233f9768e8
Fix error handling
2020-10-23 09:35:46 -07:00
Jasmine Schladen
98962ae5f5
Merge branch 'master' into sns
2020-10-23 08:50:26 -07:00
Hossein Shafagh
41ac43013d
Merge branch 'master' into notification-plugin-field-fix
2020-10-23 08:43:29 -07:00
Hossein Shafagh
2b274f723a
Merge branch 'master' into improved-logging
2020-10-23 07:59:30 -07:00
Jasmine Schladen
71df6b8560
Fix plugin field on notification edit
2020-10-22 18:15:26 -07:00
Hossein Shafagh
8610af8b83
more precise language
2020-10-22 17:54:46 -07:00
Hossein Shafagh
820106e333
Merge branch 'master' into expanding-S3-plugin
2020-10-22 17:35:20 -07:00
Hossein Shafagh
9ce0010bf1
handle_respone can also handle the no data response
2020-10-22 17:33:39 -07:00
Hossein Shafagh
cf87e178c8
making lint happy
2020-10-22 17:33:02 -07:00
Hossein Shafagh
97f80b79dc
adjusting digicert test to support seconds
2020-10-22 17:23:33 -07:00
Hossein Shafagh
9acd974b74
fixing the test to support seconds
2020-10-22 17:20:47 -07:00
Hossein Shafagh
ae1e9d120b
consistent messaging
2020-10-22 17:13:58 -07:00
Hossein Shafagh
2e7652962c
refactoring of the error handling
2020-10-22 17:11:02 -07:00
Hossein Shafagh
1c96ea9ab1
better messaging of exceptions
2020-10-22 17:10:32 -07:00
Hossein Shafagh
02c040865d
more meaningful message
2020-10-22 16:05:29 -07:00
Hossein Shafagh
8fa90a2ce5
digicert expects also seconds, though not yet honoring it
2020-10-22 16:01:09 -07:00
Hossein Shafagh
c60645bec4
improved logging for all responses
2020-10-22 16:00:26 -07:00
Hossein Shafagh
c2fe2b5e03
improved logging for all responses
2020-10-22 15:59:59 -07:00
Hossein Shafagh
03d1af16e7
better logging for exceptions around all plugins
2020-10-22 15:59:38 -07:00
Hossein Shafagh
2b876f22a5
Merge branch 'master' into log_update
2020-10-22 12:00:51 -07:00
Hossein Shafagh
2e7e3a82fa
Update cli.py
...
logging in exception
2020-10-22 11:57:54 -07:00
Hossein Shafagh
c40ecd12cb
improved naming
2020-10-22 10:58:16 -07:00
Hossein Shafagh
2cc03088cd
creating a celery task
2020-10-21 19:53:08 -07:00
Hossein Shafagh
a4dba0cb35
creating a cli to handle entrust deactivation
2020-10-21 19:52:51 -07:00
Hossein Shafagh
906b3b2337
better handling of status code
2020-10-21 19:52:25 -07:00
Hossein Shafagh
92eec5cc9c
revocation should only check for not expired and not revoked certs
2020-10-21 18:52:55 -07:00
Hossein Shafagh
adf8f37718
Merge branch 'master' into log_update
2020-10-21 16:03:46 -07:00
sayali
43483cb1c7
Check if present - Organization, State, Country
2020-10-21 15:44:53 -07:00
sayali
757e190b60
Check if OU and L is present in subject
...
fixing index out of range
2020-10-21 12:11:41 -07:00
9374adaa46
do not create db_upgrade.log during migrations
2020-10-21 11:17:54 +02:00
sayali
4997165235
Removing ECC 192 and 521 from UI
...
not CAB supported. Keeping 521 for authority
2020-10-20 17:59:50 -07:00
sayali
01dddd2a55
iterate over subject details
2020-10-20 17:17:28 -07:00
sayali
788703ce12
Fix cert reissue when L/OU is not set
...
get_certificate_primitives complains with None L/OU
2020-10-20 16:44:17 -07:00
Jasmine Schladen
1fc9cd2ff8
Merge branch 'master' into sns
2020-10-20 12:13:51 -07:00
Jasmine Schladen
4f552cb636
Code cleanup
2020-10-20 12:02:36 -07:00
Jasmine Schladen
d6075ebc11
Merge
2020-10-20 11:48:54 -07:00
sayali
855baadfee
Show only few supported ECC algorithms on UI
2020-10-19 17:42:52 -07:00
Jasmine Schladen
669a4273c2
Merge branch 'master' of github.com:jtschladen/lemur into sns
2020-10-19 16:29:33 -07:00
Jasmine Schladen
b5f0fc5a19
Fix syntax error
2020-10-19 15:21:34 -07:00
Jasmine Schladen
ecd4d6ebe3
Change string formatting pattern
2020-10-19 15:12:48 -07:00
Hossein Shafagh
af3afe36e1
Merge branch 'master' into expanding-S3-plugin
2020-10-19 14:23:01 -07:00