Mercurial > libervia-desktop-kivy
annotate cagou/core/patches.py @ 448:20a807443c3f
chat: resize attachments (images only for now):
if attachments to send contain oversized image, a checkbox will be shown (activated by
default) to reduce automatically the size.
The background color now cover the whole attachments to send widget.
If not already specified, media type is guessed from filename when adding an attachment.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 22 Mar 2020 14:10:59 +0100 |
parents | 58d3ea442f9c |
children | 3c9ba4a694ef |
rev | line source |
---|---|
399 | 1 #!/usr/bin/env python3 |
280
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client |
378 | 4 # Copyright (C) 2016-2020 Jérôme Poisson (goffi@goffi.org) |
280
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 # This program is free software: you can redistribute it and/or modify |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # it under the terms of the GNU Affero General Public License as published by |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # the Free Software Foundation, either version 3 of the License, or |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # (at your option) any later version. |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 # This program is distributed in the hope that it will be useful, |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # GNU Affero General Public License for more details. |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 # You should have received a copy of the GNU Affero General Public License |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 |
312 | 19 import urllib.request, urllib.error, urllib.parse |
280
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 import ssl |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 |
438
58d3ea442f9c
core (patches): renamed `apply` to `disable_tls_validation` which suits better
Goffi <goffi@goffi.org>
parents:
399
diff
changeset
|
23 def disable_tls_validation(): |
280
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 # allow to disable certificate validation |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 ctx_no_verify = ssl.create_default_context() |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 ctx_no_verify.check_hostname = False |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 ctx_no_verify.verify_mode = ssl.CERT_NONE |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 |
312 | 29 class HTTPSHandler(urllib.request.HTTPSHandler): |
280
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 no_certificate_check = False |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 def __init__(self, *args, **kwargs): |
312 | 33 urllib.request._HTTPSHandler_ori.__init__(self, *args, **kwargs) |
280
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 if self.no_certificate_check: |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 self._context = ctx_no_verify |
b0461363bc65
core: certificate validation can be disabled:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 |
312 | 37 urllib.request._HTTPSHandler_ori = urllib.request.HTTPSHandler |
38 urllib.request.HTTPSHandler = HTTPSHandler | |
39 urllib.request.HTTPSHandler.no_certificate_check = True |