mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-12-23 03:31:07 +00:00
use hs2019 for some servers that support it
This commit is contained in:
parent
ed03779a11
commit
98a975550a
|
@ -20,7 +20,7 @@ dependencies = [
|
|||
"aiohttp >= 3.9.5",
|
||||
"aiohttp-swagger[performance] == 1.0.16",
|
||||
"argon2-cffi == 23.1.0",
|
||||
"barkshark-lib >= 0.1.3",
|
||||
"barkshark-lib >= 0.1.3-1",
|
||||
"barkshark-sql == 0.1.4-1",
|
||||
"click >= 8.1.2",
|
||||
"hiredis == 2.3.2",
|
||||
|
@ -88,4 +88,21 @@ warn_redundant_casts = true
|
|||
warn_unreachable = true
|
||||
warn_unused_ignores = true
|
||||
ignore_missing_imports = true
|
||||
implicit_reexport = true
|
||||
follow_imports = "silent"
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = "relay.database"
|
||||
implicit_reexport = true
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = "aputils"
|
||||
implicit_reexport = true
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = "blib"
|
||||
implicit_reexport = true
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = "bsql"
|
||||
implicit_reexport = true
|
||||
|
|
|
@ -24,6 +24,21 @@ if typing.TYPE_CHECKING:
|
|||
from .cache import Cache
|
||||
|
||||
|
||||
SUPPORTS_HS2019 = {
|
||||
'friendica',
|
||||
'gotosocial',
|
||||
'hubzilla'
|
||||
'mastodon',
|
||||
'socialhome',
|
||||
'misskey',
|
||||
'catodon',
|
||||
'cherrypick',
|
||||
'firefish',
|
||||
'foundkey',
|
||||
'iceshrimp',
|
||||
'sharkey'
|
||||
}
|
||||
|
||||
T = typing.TypeVar('T', bound = JsonBase)
|
||||
HEADERS = {
|
||||
'Accept': f'{MIMETYPES["activity"]}, {MIMETYPES["json"]};q=0.9',
|
||||
|
@ -179,13 +194,12 @@ class HttpClient:
|
|||
if not self._session:
|
||||
raise RuntimeError('Client not open')
|
||||
|
||||
# there seems to be a problem with HS2019, so defaulting to RSASHA256 for now
|
||||
# akkoma and pleroma do not support HS2019 and other software still needs to be tested
|
||||
# if instance and instance['software'] in {'mastodon'}:
|
||||
# algorithm = AlgorithmType.HS2019
|
||||
if instance and instance['software'] in SUPPORTS_HS2019:
|
||||
algorithm = AlgorithmType.HS2019
|
||||
|
||||
# else:
|
||||
# algorithm = AlgorithmType.RSASHA256
|
||||
else:
|
||||
algorithm = AlgorithmType.RSASHA256
|
||||
|
||||
body: bytes
|
||||
message: Message
|
||||
|
@ -204,7 +218,7 @@ class HttpClient:
|
|||
url,
|
||||
body,
|
||||
headers = {'Content-Type': 'application/activity+json'},
|
||||
algorithm = AlgorithmType.RSASHA256
|
||||
algorithm = algorithm
|
||||
)
|
||||
|
||||
try:
|
||||
|
|
Loading…
Reference in a new issue