pyvider 2025-01-30
Expanded the rpcplugin server with a complete rewrite of `_setup_server`
34 files · 2,616+ · 214-

Server Setup Rewrite

31 files changed
  • py-cs-server.py Added py-cs-server.py (+199 lines)
  • py-kv-server.py Added py-kv-server.py (+116 lines)
  • server.py Updated server.py (+252/-28 lines)
  • auto-load.md Updated auto-load.md (+0/-0 lines)
  • .bfile Added .bfile (+12 lines)
  • client.py Updated client.py (+169/-113 lines)
  • config.py Added config.py (+1 lines)
  • 2025-01-19-1108-claude.md Updated 2025-01-19-1108-claude.md (+0/-0 lines)
  • 2025-01-29-claude.md Added 2025-01-29-claude.md (+269 lines)
  • auto-mtls-specs.md Added auto-mtls-specs.md (+198 lines)
  • go-plugin-notes.md Added go-plugin-notes.md (+177 lines)
  • research.md Updated research.md (+7/-2 lines)
  • __init__.py Updated __init__.py (+0/-0 lines)
  • __init__.py Updated __init__.py (+0/-0 lines)
  • configstore.proto Added configstore.proto (+102 lines)
  • configstore_pb2.py Added configstore_pb2.py (+68 lines)
  • configstore_pb2_grpc.py Added configstore_pb2_grpc.py (+319 lines)
  • test_kv_integration.py Updated test_kv_integration.py (+1/-1 lines)
  • __init__.py Added __init__.py (+1 lines)
  • kv-go-client Updated kv-go-client (+0/-0 lines)
  • kv-go-server Updated kv-go-server (+0/-0 lines)
  • client-log.txt Added client-log.txt (+172 lines)
  • kv-data-hello Added kv-data-hello (+1 lines)
  • kv.proto Added kv.proto (+27 lines)
  • kv_pb2.py Added kv_pb2.py (+45 lines)
  • kv_pb2_grpc.py Added kv_pb2_grpc.py (+140 lines)
  • kv_protocol.py Added kv_protocol.py (+19 lines)
  • handshake.py Updated handshake.py (+22/-66 lines)
  • security.py Updated security.py (+30/-1 lines)
  • x_test_cert.py Updated x_test_cert.py (+0/-0 lines)
  • x_test_mtls.py Updated x_test_mtls.py (+0/-0 lines)
  • Rewrote _setup_server in server.py (195 lines expanded) with comprehensive server options including keepalive params (keepalive_time_ms, keepalive_timeout_ms), HTTP/2 ping settings, and SSL target name override harden internal
    3 files
    • py-cs-server.py
    • py-kv-server.py
    • server.py
  • Server now properly binds to Unix sockets via add_secure_port or add_insecure_port with unix: prefix decouple internal
    74 files
    • auto-load.md
    • config.py
    • .bfile
    • __init__.py
    • client.py
    • config.py
    • 2025-01-19-1108-claude.md
    • README.md
    • 2025-01-29-claude.md
    • auto-mtls-specs.md
    • go-plugin-notes.md
    • system-requirements.txt
    • research.md
    • __init__.py
    • __init__.py
    • configstore.proto
    • configstore_pb2.py
    • configstore_pb2_grpc.py
    • py-cs-server.py
    • build.sh
    • comments.md
    • env.sh
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • py-insecure-go-server-log.txt
    • py-kv-client-insecure-logs.txt
    • main.go
    • py-client.py
    • test.sh
    • test_kv_impl_1638.py
    • test_kv_integration.py
    • __init__.py
    • kv-go-client
    • kv-go-server
    • kv-data-hello
    • kv.proto
    • kv_pb2.py
    • kv_pb2_grpc.py
    • kv_protocol.py
    • py-kv-client.py
    • py-kv-server.py
    • exception.py
    • handshake.py
    • old-config.py
    • protocol.py
    • pyproject.toml
    • security.py
    • server.py
    • conftest.py
    • test_handshake_negotiation.py
    • test_server.py
    • test_transport_unix.py
    • x_test_cert.py
    • x_test_client.py
    • x_test_mtls.py
    • x_test_server_2.py
    • __init__.py
    • base.py
    • connection.py
    • tcp.py
    • unix.py
    • utils.py
    • __init__.py
    • base.py
    • client.py
    • credentials.py
    • handshake.py
    • server.py
    • client.py
  • Added socket file existence and permission verification after binding (checks S_IRWXU, S_IRWXG, S_IRWXO) interface internal
    1 file
    • old-config.py
  • Rewrote _generate_server_credentials to support both environment-provided and auto-generated certificates baseline internal
    39 files
    • config.py
    • __init__.py
    • README.md
    • system-requirements.txt
    • build.sh
    • comments.md
    • env.sh
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • py-insecure-go-server-log.txt
    • py-kv-client-insecure-logs.txt
    • main.go
    • py-client.py
    • test.sh
    • test_kv_impl_1638.py
    • exception.py
    • protocol.py
    • pyproject.toml
    • conftest.py
    • test_handshake_negotiation.py
    • test_server.py
    • x_test_client.py
    • x_test_server_2.py
    • __init__.py
    • base.py
    • connection.py
    • tcp.py
    • utils.py
    • __init__.py
    • base.py
    • client.py
    • credentials.py
    • handshake.py
    • client.py

KV Server Implementation

1 file changed
  • py-kv-server.py Updated py-kv-server.py
  • Added KVServicer class to py-kv-server.py (30 lines) implementing async Put and Get with in-memory Dict[str, bytes] storage streamline internal
    1 file
    • py-kv-server.py
  • Put stores key-value pairs, Get returns values with NOT_FOUND status for missing keys decouple internal
    3 files
    • kv.proto
    • server.py
    • server.py

Unix Transport Expansion

2 files changed
  • test_transport_unix.py Updated test_transport_unix.py (+2/-2 lines)
  • unix.py Updated unix.py (+124/-1 lines)
  • Expanded transport/unix.py (125 lines added) with more robust listen/connect/cleanup operations for Unix domain sockets deprecate errata
    1 file
    • unix.py

KV Client Cleanup

1 file changed
  • py-kv-client.py Added py-kv-client.py (+143 lines)
  • Simplified py-kv-client.py by removing duplicate connect method and consolidating connection logic interface internal
    1 file
    • py-kv-client.py