pyvider 2025-02-01
Introduced a new `crypto/` subpackage within rpcplugin with modular key
83 files · 4,023+ · 3,493-

rpcplugin crypto Subpackage

75 files changed
  • __init__.py Added __init__.py (+40 lines)
  • certificate.py Added certificate.py (+352 lines)
  • certificate.py,cover.py Added certificate.py,cover.py (+343 lines)
  • constants.py Added constants.py (+18 lines)
  • generators.py Added generators.py (+72 lines)
  • types.py Added types.py (+9 lines)
  • test_certificate_chains.py Added test_certificate_chains.py (+129 lines)
  • test_certificate_create.py Added test_certificate_create.py (+92 lines)
  • test_certificate_credentials.py Added test_certificate_credentials.py (+129 lines)
  • test_certificate_lifecycle.py Added test_certificate_lifecycle.py (+59 lines)
  • test_certificate_loading.py Added test_certificate_loading.py (+133 lines)
  • test_certificate_mtls.py Added test_certificate_mtls.py (+26 lines)
  • test_certificate_properties.py Added test_certificate_properties.py (+147 lines)
  • test_certificate_verify.py Added test_certificate_verify.py (+254 lines)
  • test_crypto.py Added test_crypto.py (+32 lines)
  • test_crypto_generators.py Added test_crypto_generators.py (+88 lines)
  • crypto.py Added crypto.py (+79 lines)
  • gource.conf Added gource.conf (+13 lines)
  • loc-counter.sh Added loc-counter.sh (+3 lines)
  • config.py Updated config.py (+10/-10 lines)
  • .bfile Added .bfile (+3 lines)
  • __init__.py Updated __init__.py (+1/-1 lines)
  • config.py Updated config.py (+148/-134 lines)
  • README.md Added README.md (+3 lines)
  • diagnostic-report.md Updated diagnostic-report.md (+1/-1 lines)
  • logging-emoji-matrix.md Added logging-emoji-matrix.md (+56 lines)
  • system-requirements.txt Added system-requirements.txt (+13 lines)
  • build.sh Updated build.sh (+7/-7 lines)
  • comments.md Updated comments.md (+1/-1 lines)
  • env.sh Updated env.sh (+1/-1 lines)
  • go-kv-client-automtls-client-cert.txt Removed go-kv-client-automtls-client-cert.txt (-48 lines)
  • go-kv-client-automtls-disabled.txt Removed go-kv-client-automtls-disabled.txt (-276 lines)
  • go-kv-client-automtls-log.txt Removed go-kv-client-automtls-log.txt (-89 lines)
  • go-kv-client-automtls-server-cert.txt Removed go-kv-client-automtls-server-cert.txt (-48 lines)
  • py-client-client-cert.txt Removed py-client-client-cert.txt (-48 lines)
  • py-client-log.txt Removed py-client-log.txt (-153 lines)
  • py-client-server-cert.txt Removed py-client-server-cert.txt (-48 lines)
  • py-insecure-go-server-log.txt Removed py-insecure-go-server-log.txt (-43 lines)
  • py-kv-client-insecure-logs.txt Removed py-kv-client-insecure-logs.txt (-36 lines)
  • main.go Updated main.go (+4/-4 lines)
  • py-kv-client-insecure.py Updated py-kv-client-insecure.py (+1/-1 lines)
  • test.sh Updated test.sh (+6/-6 lines)
  • test_kv_impl_1638.py Updated test_kv_impl_1638.py (+14/-14 lines)
  • test_kv_integration.py Updated test_kv_integration.py (+10/-10 lines)
  • kv-go-client Updated kv-go-client (+0/-0 lines)
  • kv-go-server Updated kv-go-server (+0/-0 lines)
  • client-log.txt Removed client-log.txt (-172 lines)
  • py-kv-server.py Updated py-kv-server.py (+3/-1 lines)
  • exception.py Updated exception.py (+10/-6 lines)
  • handshake.py Updated handshake.py (+196/-186 lines)
  • __init__.py Added __init__.py (+26 lines)
  • emoji_matrix.py Added emoji_matrix.py (+97 lines)
  • protocol.py Updated protocol.py (+1/-1 lines)
  • pyproject.toml Updated pyproject.toml (+3/-1 lines)
  • rpcplugin.sublime-project Removed rpcplugin.sublime-project (-8 lines)
  • security.py Updated security.py (+65/-270 lines)
  • server.py Updated server.py (+143/-324 lines)
  • __init__.py Updated __init__.py (+0/-0 lines)
  • conftest.py Updated conftest.py (+31/-20 lines)
  • run_tcp_server.py Updated run_tcp_server.py (+1/-1 lines)
  • run_unix_server.py Updated run_unix_server.py (+1/-1 lines)
  • test_client_grpc.py Updated test_client_grpc.py (+24/-19 lines)
  • test_handshake_negotiation.py Updated test_handshake_negotiation.py (+25/-17 lines)
  • test_handshake_responses.py Updated test_handshake_responses.py (+9/-9 lines)
  • test_security.py Removed test_security.py (-356 lines)
  • test_server.py Updated test_server.py (+119/-67 lines)
  • x_test_cert.py Removed x_test_cert.py (-253 lines)
  • x_test_mtls.py Removed x_test_mtls.py (-74 lines)
  • x_test_server_2.py Added x_test_server_2.py (+149 lines)
  • __init__.py Added __init__.py (+2 lines)
  • base.py Added base.py (+4 lines)
  • connection.py Added connection.py (+146 lines)
  • tcp.py Updated tcp.py (+112/-59 lines)
  • unix.py Updated unix.py (+156/-334 lines)
  • utils.py Updated utils.py (+2/-1 lines)
  • Added src/pyvider/rpcplugin/crypto/__init__.py with exports for key types, constants, and generators instantiate internal
    1 file
    • __init__.py
  • Added crypto/constants.py with KEY_TYPE_RSA, KEY_TYPE_ECDSA, default key sizes, supported curves instantiate behavioral
    1 file
    • constants.py
  • Added crypto/types.py with KeyPair and PublicKey type definitions instantiate internal
    1 file
    • types.py
  • Added crypto/generators.py with generate_rsa_keypair, generate_ec_keypair, and KEY_GENERATORS dispatcher instantiate internal
    1 file
    • generators.py

Client Certificate Naming

5 files changed
  • client.py Updated client.py (+22/-100 lines)
  • py-client.py Updated py-client.py (+3/-3 lines)
  • py-kv-client.py Updated py-kv-client.py (+6/-5 lines)
  • test_minimal_server_client.py Updated test_minimal_server_client.py (+1/-1 lines)
  • x_test_client.py Updated x_test_client.py (+4/-4 lines)
  • Renamed client_cert_pem to client_cert and _server_cert_pem to _server_cert throughout client.py decouple internal
    5 files
    • client.py
    • py-client.py
    • py-kv-client.py
    • test_minimal_server_client.py
    • x_test_client.py
  • Updated all references in handshake parsing, channel creation, environment variable passing, and TLS setup harden internal
    5 files
    • __init__.py
    • base.py
    • credentials.py
    • handshake.py
    • server.py

Client TLS Setup Extraction

1 file changed
  • config.auto_mtls Updated config.auto_mtls
  • Extracted TLS certificate initialization into _setup_tls method decouple internal
    2 files
    • client.py
    • client.py
  • TLS setup checks config.auto_mtls and either uses provided certificates from environment or generates self-signed ones using generate_keypair and create_self_signed_x509_certificate harden internal
    1 file
    • config.auto_mtls

Security Import Cleanup

1 file changed
  • pyvider.rpcplugin.security Updated pyvider.rpcplugin.security
  • Removed normalize_pem import from client (no longer needed) interface internal
    1 file
    • security.py
  • Client now imports from pyvider.rpcplugin.security selectively harden internal
    1 file
    • pyvider.rpcplugin.security

Test File Renames

3 files changed
  • test_transport_unix.py Removed test_transport_unix.py (-221 lines)
  • x_test_transport_tcp.py Updated x_test_transport_tcp.py (+0/-0 lines)
  • x_test_transport_unix.py Added x_test_transport_unix.py (+365 lines)
  • Renamed x_test_transport_tcp.py back to test_transport_tcp.py decouple internal
    1 file
    • x_test_transport_tcp.py
  • Renamed x_test_transport_unix.py back to test_transport_unix.py decouple internal
    2 files
    • test_transport_unix.py
    • x_test_transport_unix.py