credentials: simple storage for your Orange PPP credentials; intended absolute path: /etc/orange/credentials

auth: Python 3 script that reads /etc/orange/credentials and output a suitable value for DHCP option 90; do not forget to chmod +x that file

debian-repository.txt: instructions to get patched isc-dhcp* packages.

isc-dhcp-generate-master.diff: same as isc-dhcp-generate.diff, but adjusted for the upstream master branch.

isc-dchp-generate-for-tag-v4_1_esv_r8.diff: same as isc-dhcp-generate.diff, but adjusted for tag v4_1_esv_r8.

isc-dhcp-generate.diff: patch to implement the generate() function in isc-dhcp-client
  specifically for isc-dhcp-client 4.3.5-4+b1 as found on Debian stretch:
    # apt install devscripts fakeroot
    # apt build-dep isc-dhcp-client
    $ apt source isc-dhcp-client
    $ cd isc-dhcp-4.3.5
    $ patch -p1 < /path/to/isc-dhcp-generate.diff
    $ dch --local kindwolf
    $ dpkg-source --commit
    $ debuild -us -uc
    # dpkg -i isc-dhcp-common_4.3.5-3+deb9u1kindwolf1_amd64.deb isc-dhcp-client_4.3.5-3+deb9u1kindwolf1_amd64.deb
  That said, this patch also applies correctly to the official Git repository ( https://source.isc.org/git/dhcp.git ) as of commit a5b21e16ff3a58d2262eddfffc4e8937379b016f.

Configuration in dhclient.conf:
  option authentication code 90 = string;
  send authentication = generate("/etc/orange/auth");

Note: you can pass extra arguments if needed, e.g. generate("/path/to/exec", "arg1", "arg2")
