diff --git a/UltiSnips/all.snippets b/UltiSnips/all.snippets index 61cd00f..3ca60f1 100644 --- a/UltiSnips/all.snippets +++ b/UltiSnips/all.snippets @@ -2,7 +2,8 @@ global !p from ultisnips.all import * endglobal -snippet wpanet "wpa_supplicant network entry" b + +snippet wpanet "wpa_supplicant WPA network entry" b network=\{ ssid="${1:SSID}" key_mgmt=${2:WPA-PSK} @@ -16,3 +17,20 @@ network=\{ endsnippet + +snippet eapnet "wpa_supplicant EAP network entry" b +network=\{ + ssid="${1:eduroam}" + scan_ssid=${2:1} + key_mgmt=${3:WPA-EAP} + eap=${4:PEAP} + identity="${5:ID}" + #password="${6:PASSPHRASE}" + password=hash:`!p snip.rv = getEAPPassphraseHash(t[6])` + phase1="${7:peaplabel=0}" + phase2="${8:auth=MSCHAPV2}" + priority=${9:10} +\} + +endsnippet + diff --git a/pythonx/ultisnips/all.py b/pythonx/ultisnips/all.py index bdd6223..2b89782 100644 --- a/pythonx/ultisnips/all.py +++ b/pythonx/ultisnips/all.py @@ -1,5 +1,7 @@ import subprocess import re +import hashlib +import binascii def getUsername(username, gecos = True, passwd = "/etc/passwd"): content = [x.split(":") for x in open(passwd, "r").readlines()] @@ -21,6 +23,10 @@ def getWPAPassphraseHash(ssid, passphrase): return match.string.split("=")[1].strip() return "" +def getEAPPassphraseHash(passphrase): + hash = hashlib.new("md4", passphrase.encode("utf-16le")).digest() + return binascii.hexlify(hash).decode("utf-8") + if __name__ == "__main__": print(getWPAPassphraseHash("MySSID", "MySecurePassword"))