#!/usr/bin/env -S python3 -S import os, sys script_type = os.environ['script_type'] external_ip = os.getenv('trusted_ip') or os.environ['trusted_ip6'] # Write into pipe connect/disconnect events fd = int(sys.argv[1]) os.write(fd, repr((script_type, (os.environ['common_name'], os.environ['dev'], int(os.environ['tls_serial_0']), external_ip))).encode("utf-8")) if script_type == 'client-connect': if os.read(fd, 1) == b'\x00': sys.exit(1) # Send client its external ip address with open(sys.argv[2], 'w') as f: f.write('push "setenv-safe external_ip %s"\n' % external_ip)