remoteRF-server 0.1.83__tar.gz → 0.1.84__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 (42) hide show
  1. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/PKG-INFO +1 -1
  2. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/pyproject.toml +1 -1
  3. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/host/host_tunnel_server.py +3 -1
  4. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/device_manager.py +15 -16
  5. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/grpc_server.py +11 -18
  6. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server.egg-info/PKG-INFO +1 -1
  7. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/README.md +0 -0
  8. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/setup.cfg +0 -0
  9. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/__init__.py +0 -0
  10. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/__init__.py +0 -0
  11. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/grpc/__init__.py +0 -0
  12. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/grpc/grpc_host_pb2.py +0 -0
  13. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +0 -0
  14. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/grpc/grpc_pb2.py +0 -0
  15. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py +0 -0
  16. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/__init__.py +0 -0
  17. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/ansi_codes.py +0 -0
  18. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/api_token.py +0 -0
  19. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/db_connection.py +0 -0
  20. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/db_location.py +0 -0
  21. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/list_string.py +0 -0
  22. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/common/utils/process_arg.py +0 -0
  23. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/drivers/__init__.py +0 -0
  24. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
  25. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +0 -0
  26. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/host/__init__.py +0 -0
  27. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/host/host_directory_store.py +0 -0
  28. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/__init__.py +0 -0
  29. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/acc_perms.py +0 -0
  30. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/cert_provider.py +0 -0
  31. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/reservation.py +0 -0
  32. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/rpc_manager.py +0 -0
  33. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/user_group_cli.py +0 -0
  34. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/server/user_group_handler.py +0 -0
  35. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/serverrf_cli.py +0 -0
  36. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/tools/__init__.py +0 -0
  37. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server/tools/gen_certs.py +0 -0
  38. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server.egg-info/SOURCES.txt +0 -0
  39. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server.egg-info/dependency_links.txt +0 -0
  40. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server.egg-info/entry_points.txt +0 -0
  41. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server.egg-info/requires.txt +0 -0
  42. {remoterf_server-0.1.83 → remoterf_server-0.1.84}/src/remoteRF_server.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: remoteRF-server
3
- Version: 0.1.83
3
+ Version: 0.1.84
4
4
  Description-Content-Type: text/markdown
5
5
  Requires-Dist: grpcio
6
6
  Requires-Dist: protobuf
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "remoteRF-server"
7
- version = "0.1.83"
7
+ version = "0.1.84"
8
8
  dependencies = [
9
9
  "grpcio",
10
10
  "protobuf",
@@ -1299,4 +1299,6 @@ def start_host_tunnel_server(
1299
1299
 
1300
1300
  th = threading.Thread(target=run, daemon=True, name="host_tunnel_server")
1301
1301
  th.start()
1302
- return server, th, reg
1302
+ return server, th, reg
1303
+
1304
+ TUNNEL_REGISTRY = None
@@ -21,11 +21,25 @@ from ..host import host_tunnel_server as hts # gives access to hts.TUNNEL_REGIS
21
21
 
22
22
  import time # add near imports
23
23
 
24
+ _state_lock = threading.RLock()
25
+
26
+ @dataclass
27
+ class _DeviceState:
28
+ dev: object
29
+ salt: str
30
+ hsh: str
31
+ name: str
32
+ ident: str
33
+ dtype: str
34
+ io_lock: threading.RLock
35
+
36
+ # gid -> state
37
+ _devices: Dict[int, _DeviceState] = {}
38
+
24
39
  # -----------------------------
25
40
  # Host device pulling/grabbing
26
41
  # -----------------------------
27
42
 
28
-
29
43
  def _get_host_registry():
30
44
  # host_tunnel_server sets this when the tunnel server starts
31
45
  return getattr(hts, "TUNNEL_REGISTRY", None)
@@ -278,21 +292,6 @@ def _connect_from_record(rec: Dict[str, str]):
278
292
  # Thread-safe runtime state
279
293
  # -----------------------------
280
294
 
281
- _state_lock = threading.RLock()
282
-
283
- @dataclass
284
- class _DeviceState:
285
- dev: object
286
- salt: str
287
- hsh: str
288
- name: str
289
- ident: str
290
- dtype: str
291
- io_lock: threading.RLock
292
-
293
- # gid -> state
294
- _devices: Dict[int, _DeviceState] = {}
295
-
296
295
  # legacy maps (kept for your existing server calls/UI)
297
296
  devices_info: Dict[int, str] = {}
298
297
  device_serialization: Dict[int, str] = {}
@@ -37,8 +37,9 @@ from .acc_perms import perms
37
37
  from ..common.utils import *
38
38
  from .device_manager import get_all_devices, get_all_devices_str
39
39
  from .user_group_cli import make_user_group_local, edit_user_group_local, list_user_groups_local, remove_user_group_local, make_enrollment_codes_local, remove_enrollment_code_local, list_enrollment_codes_local, export_user_groups_csv_local, export_enrollment_codes_csv_local
40
- from .user_group_handler import user_group_handler, start_usergroup_cleanup_loop
40
+ from .user_group_handler import user_group_handler, start_usergroup_cleanup_loo
41
41
 
42
+ from ..host import host_tunnel_server as hts
42
43
  from ..host.host_tunnel_server import HostTunnelRegistry, HostTunnelServicer
43
44
  from ..common.grpc import grpc_host_pb2_grpc as host_tunnel_pb2_grpc
44
45
  from ..common.grpc import grpc_host_pb2 as host_tunnel_pb2
@@ -48,7 +49,6 @@ from prompt_toolkit import PromptSession
48
49
 
49
50
  from pathlib import Path
50
51
 
51
-
52
52
  def _xdg_config_home() -> Path:
53
53
  return Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config"))
54
54
 
@@ -92,8 +92,6 @@ def _get_port(name: str, *, default: int | None = None) -> int:
92
92
  raise SystemExit(f"{name} out of range (1..65535): {n}")
93
93
  return n
94
94
 
95
- TUNNEL_REGISTRY: HostTunnelRegistry | None = None
96
-
97
95
  session = PromptSession()
98
96
 
99
97
  from dotenv import load_dotenv, find_dotenv
@@ -208,16 +206,14 @@ def serve():
208
206
  # Create server credentials
209
207
  server_credentials = grpc.ssl_server_credentials(
210
208
  ((private_key, certificate_chain,),))
211
-
212
- # --- attach HostTunnel to the SAME grpc server/port/creds ---
213
- directory_env = Path(__file__).resolve().parent.parent / "config" / ".env.host_directory"
214
-
215
- # --- attach HostTunnel to the SAME grpc server/port/creds ---
216
- global TUNNEL_REGISTRY
217
- TUNNEL_REGISTRY = HostTunnelRegistry()
209
+
210
+ reg = HostTunnelRegistry()
211
+
212
+ # publish registry where device_manager expects it
213
+ hts.TUNNEL_REGISTRY = reg
218
214
 
219
215
  host_tunnel_pb2_grpc.add_HostTunnelServicer_to_server(
220
- HostTunnelServicer(TUNNEL_REGISTRY),
216
+ HostTunnelServicer(reg),
221
217
  server
222
218
  )
223
219
 
@@ -391,8 +387,7 @@ def _fmt_ms_ago(ms: int) -> str:
391
387
  return f"{dt/60_000:.1f}m"
392
388
 
393
389
  def _cmd_hosts_status() -> None:
394
- global TUNNEL_REGISTRY
395
- reg = TUNNEL_REGISTRY
390
+ reg = getattr(hts, "TUNNEL_REGISTRY", None)
396
391
  if reg is None:
397
392
  printf("Host tunnel registry not initialized yet.", Sty.RED)
398
393
  return
@@ -432,8 +427,7 @@ def _cmd_hosts_status() -> None:
432
427
  )
433
428
 
434
429
  def _cmd_devices_status() -> None:
435
- global TUNNEL_REGISTRY
436
- reg = TUNNEL_REGISTRY
430
+ reg = getattr(hts, "TUNNEL_REGISTRY", None)
437
431
  if reg is None:
438
432
  printf("Host tunnel registry not initialized yet.", Sty.RED)
439
433
  return
@@ -753,8 +747,7 @@ def _cmd_hosts_wipe(*, yes: bool = False) -> None:
753
747
  return
754
748
 
755
749
  # 2) clear in-memory registry (THIS is what drives `hosts status`)
756
- global TUNNEL_REGISTRY
757
- reg = TUNNEL_REGISTRY
750
+ reg = getattr(hts, "TUNNEL_REGISTRY", None)
758
751
  if reg is None:
759
752
  printf("Host tunnel registry not initialized; only persisted wipe attempted.", Sty.GRAY)
760
753
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: remoteRF-server
3
- Version: 0.1.83
3
+ Version: 0.1.84
4
4
  Description-Content-Type: text/markdown
5
5
  Requires-Dist: grpcio
6
6
  Requires-Dist: protobuf