erldistpy/tests
russell@unturf.com 8c9311f18a
phase 3: v6 distribution handshake
handshake(sock, our_name=..., cookie=...) drives the OTP 23+ dance over
a 2-byte length-prefixed frame stream:

  send_name (N)       client -> server
  recv_status (s)     server -> client
  recv_challenge (N)  server -> client
  challenge_reply (r) client -> server
  challenge_ack (a)   server -> client

Cookie digest formula md5(cookie ++ integer_to_list(challenge)) was
cross-checked against erlang:md5/1 output as a test reference.

Distribution flags in erldistpy/flags.py advertise the minimum useful
set: extended refs/pids, new fun tags, utf8 atoms, maps, big creation,
v6 handshake, unlink id, v4 node containers.

86 tests green: frame builders + parsers as pure functions, digest
reference, full live handshake against `erl -sname -setcookie`, and a
wrong-cookie rejection test.

Newer SHA-256 digest (DFLAG_MANDATORY_25_DIGEST) deferred until a peer
requires it.
2026-06-16 11:08:28 -04:00
..
__init__.py phase 0 + 1: repo bones and ETF codec 2026-06-16 10:39:01 -04:00
test_epmd.py phase 2: EPMD client 2026-06-16 11:00:00 -04:00
test_etf.py phase 0 + 1: repo bones and ETF codec 2026-06-16 10:39:01 -04:00
test_handshake.py phase 3: v6 distribution handshake 2026-06-16 11:08:28 -04:00