GNServer 0.0.0.0.56__tar.gz → 0.0.0.0.57__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.
Files changed (21) hide show
  1. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_app.py +15 -9
  2. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/models.py +3 -1
  3. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer.egg-info/PKG-INFO +1 -1
  4. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/PKG-INFO +1 -1
  5. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/setup.py +1 -1
  6. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/__init__.py +0 -0
  7. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_client.py +0 -0
  8. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_cors_resolver.py +0 -0
  9. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_crt.py +0 -0
  10. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_func_params_validation.py +0 -0
  11. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_routes.py +0 -0
  12. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer/_template_resolver.py +0 -0
  13. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer.egg-info/SOURCES.txt +0 -0
  14. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer.egg-info/dependency_links.txt +0 -0
  15. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer.egg-info/requires.txt +0 -0
  16. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/GNServer.egg-info/top_level.txt +0 -0
  17. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/LICENSE +0 -0
  18. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/GNServer/mmbConfig.json +0 -0
  19. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/LICENSE +0 -0
  20. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/MANIFEST.in +0 -0
  21. {gnserver-0.0.0.0.56 → gnserver-0.0.0.0.57}/setup.cfg +0 -0
@@ -35,15 +35,12 @@ except ImportError:
35
35
  print("uvloop не установлен")
36
36
 
37
37
 
38
-
39
-
40
-
41
38
  import logging
42
39
 
43
40
  logger = logging.getLogger("GNServer")
44
41
  logger.setLevel(logging.DEBUG)
45
42
 
46
- console = logging.StreamHandler()
43
+ console = logging.StreamHandler(sys.stdout)
47
44
  console.setLevel(logging.DEBUG)
48
45
  console.setFormatter(logging.Formatter("[GNServer] %(name)s: %(levelname)s: %(message)s"))
49
46
  logger.addHandler(console)
@@ -335,6 +332,8 @@ class App:
335
332
  logger.debug(f'Пакет отклонен: mode пакета {mode}. Разрешен 1, 2, 4')
336
333
  return
337
334
 
335
+ stream_id = event.stream_id
336
+
338
337
  if not stream: # если не стрим, то ждем конец quic стрима и запускаем обработку ответа
339
338
  if event.end_stream:
340
339
 
@@ -344,13 +343,17 @@ class App:
344
343
  domain = None
345
344
 
346
345
  if buf is not None:
347
- request = GNRequest.deserialize(buf, mode)
348
- if domain is not None:
349
- request.client._data['domain'] = domain
346
+ try:
347
+ request = GNRequest.deserialize(buf, mode)
348
+ if domain is not None:
349
+ request.client._data['domain'] = domain
350
+ except:
351
+ asyncio.create_task(self.sendRawResponse(stream_id, AllGNFastCommands.KDCDecryptRequestFailed().serialize(mode=mode)))
352
+
350
353
  else:
351
354
  raise Exception('Не удалось расшифровать от KDC')
352
355
 
353
- request.stream_id = event.stream_id # type: ignore
356
+ request.stream_id = stream_id # type: ignore
354
357
  asyncio.create_task(self._handle_request(request, mode))
355
358
  logger.debug(f'Отправлена задача разрешения пакета {request} route -> {request.route}')
356
359
 
@@ -456,7 +459,10 @@ class App:
456
459
  if self._api._kdc is not None:
457
460
  blob = self._api._kdc.encode(request.client.domain, blob)
458
461
 
459
- self._quic.send_stream_data(request.stream_id, blob, end_stream=end_stream) # type: ignore
462
+ await self.sendRawResponse(request.stream_id, blob=blob, end_stream=end_stream)
463
+
464
+ async def sendRawResponse(self, stream_id: int, blob: bytes, end_stream: bool = True):
465
+ self._quic.send_stream_data(stream_id, blob, end_stream=end_stream) # type: ignore
460
466
  self.transmit()
461
467
 
462
468
  def run(
@@ -40,16 +40,18 @@ class KDCObject:
40
40
  if i in servers_keys:
41
41
  self._requested_domains.remove(i)
42
42
 
43
-
43
+ if len(self._requested_domains) > 0:
44
44
  payload = self._requested_domains
45
45
  r = await self._client.request(GNRequest('GET', Url(f'gn://{self._kdc_domain}/api/sys/server/keys'), payload=payload))
46
46
 
47
47
  if not r.command.ok:
48
+ print(f'ERROR: {r.command} {r.payload}')
48
49
  raise r
49
50
 
50
51
  servers_keys = r.payload
51
52
 
52
53
  if servers_keys is None:
54
+ print(f'ERROR: {r.command} {r.payload}')
53
55
  raise r
54
56
 
55
57
  self._servers_keys.update(servers_keys)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GNServer
3
- Version: 0.0.0.0.56
3
+ Version: 0.0.0.0.57
4
4
  Summary: GNServer
5
5
  Home-page: https://github.com/KeyisB/libs/tree/main/GNServer
6
6
  Author: KeyisB
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GNServer
3
- Version: 0.0.0.0.56
3
+ Version: 0.0.0.0.57
4
4
  Summary: GNServer
5
5
  Home-page: https://github.com/KeyisB/libs/tree/main/GNServer
6
6
  Author: KeyisB
@@ -5,7 +5,7 @@ filesName = 'GNServer'
5
5
 
6
6
  setup(
7
7
  name=name,
8
- version='0.0.0.0.56',
8
+ version='0.0.0.0.57',
9
9
  author="KeyisB",
10
10
  author_email="keyisb.pip@gmail.com",
11
11
  description=name,
File without changes
File without changes
File without changes