GNServer 0.0.0.0.62__tar.gz → 0.0.0.0.63__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/models.py +9 -5
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer.egg-info/PKG-INFO +1 -1
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/PKG-INFO +1 -1
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/setup.py +1 -1
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/__init__.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_app.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_client.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_cors_resolver.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_crt.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_func_params_validation.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_routes.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer/_template_resolver.py +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer.egg-info/SOURCES.txt +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer.egg-info/dependency_links.txt +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer.egg-info/requires.txt +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/GNServer.egg-info/top_level.txt +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/LICENSE +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/GNServer/mmbConfig.json +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/LICENSE +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/MANIFEST.in +0 -0
- {gnserver-0.0.0.0.62 → gnserver-0.0.0.0.63}/setup.cfg +0 -0
@@ -6,7 +6,7 @@ from KeyisBTools.cryptography import m1
|
|
6
6
|
from ._app import GNRequest, GNResponse
|
7
7
|
from gnobjects.net.objects import Url
|
8
8
|
|
9
|
-
from KeyisBTools.cryptography.bytes import hash3
|
9
|
+
from KeyisBTools.cryptography.bytes import hash3, userFriendly
|
10
10
|
|
11
11
|
class KDCObject:
|
12
12
|
def __init__(self, domain: str, kdc_domain: str, kdc_key: bytes, requested_domains: List[str], active_key_synchronization: bool = True):
|
@@ -19,6 +19,7 @@ class KDCObject:
|
|
19
19
|
|
20
20
|
from ._client import AsyncClient
|
21
21
|
self._client = AsyncClient(domain)
|
22
|
+
self._client.setKDC(self)
|
22
23
|
|
23
24
|
self._servers_keys: Dict[str, bytes] = {}
|
24
25
|
self._servers_keys_hash_domain: Dict[bytes, str] = {}
|
@@ -36,9 +37,12 @@ class KDCObject:
|
|
36
37
|
else:
|
37
38
|
servers_keys = {}
|
38
39
|
|
40
|
+
self._servers_keys.update(servers_keys)
|
41
|
+
|
39
42
|
if len(self._requested_domains) > 0:
|
40
43
|
await self.requestKDC(self._requested_domains) # type: ignore
|
41
|
-
|
44
|
+
else:
|
45
|
+
self._update()
|
42
46
|
|
43
47
|
def _update(self):
|
44
48
|
for domain in self._servers_keys.keys():
|
@@ -67,6 +71,7 @@ class KDCObject:
|
|
67
71
|
self._servers_keys.update(r.payload)
|
68
72
|
self._update()
|
69
73
|
|
74
|
+
|
70
75
|
async def encode(self, domain: str, request: bytes):
|
71
76
|
if domain not in self._servers_keys:
|
72
77
|
if domain is None or not self._active_key_synchronization:
|
@@ -88,13 +93,12 @@ class KDCObject:
|
|
88
93
|
sig, domain_h, data = response[:164], response[164:164+64], response[164+64:]
|
89
94
|
if domain_h not in self._servers_keys_hash_domain:
|
90
95
|
if domain_h is None or not self._active_key_synchronization:
|
91
|
-
print(domain_h, 'not in', self._servers_keys_hash_domain)
|
92
96
|
return r, None
|
93
|
-
|
97
|
+
elif self._active_key_synchronization:
|
94
98
|
await self.requestKDC(domain_h)
|
95
99
|
|
96
100
|
d = self._servers_keys_hash_domain[domain_h]
|
97
101
|
key = self._servers_keys[d]
|
98
102
|
if not s2.verify(key, sig):
|
99
103
|
return None, None
|
100
|
-
return h + m1.decrypt(self._domain.encode(), sig, data, key), d
|
104
|
+
return h + m1.decrypt(self._domain.encode(), sig, data, key), d
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|