From e8728ebdceaaa395ee517c2fe2e03569e65472f7 Mon Sep 17 00:00:00 2001 From: MrMcX Date: Mon, 27 Dec 2021 14:21:51 +0100 Subject: [PATCH] =?UTF-8?q?=E2=80=9Eutil=E2=80=9C=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 util.md diff --git a/util.md b/util.md new file mode 100644 index 0000000..1d2bb1e --- /dev/null +++ b/util.md @@ -0,0 +1,38 @@ +# package util // import "proxy/util" +## Functions + +#### func DnsQueryDecode(data []byte, start int) (string, int) +DnsQueryDecode takes encoded hostnames from Microsoft and decodes it + +#### func DnsQueryEncode(in string) []byte +DnsQueryEncode takes string hostnames and encodes it to Microsoft format + +#### func GenerateMac(customMAC string) net.HardwareAddr +GenerateMac generates a random MAC address + +#### func GenerateUId(path string) string +GenerateUId generates a random UId string as hostname + +#### func GenerateXID() []byte +GenerateXID generates a random XID for DHCP + +#### func WritePIDFile(filename string) +WritePIDFile writes the processes PID to a given file + +#### func WritePcap(file string, data []byte) +WritePcap writes the provided data to a given pcap file + +## Types +#### type If bool +If is a helper type to form expressive ternary expressions being the concatenation of a type conversion and a method call such as: +`i := If(cond).Int(a, b)` +For details, see https://stackoverflow.com/a/59375088/1705598 + +#### func (c If) IP(a, b net.IP) net.IP +IP returns a if c is true, b otherwise. + +#### func (c If) If(a, b interface{}) interface{} +If returns a if c is true, b otherwise. + +#### func (c If) MAC(a, b net.HardwareAddr) net.HardwareAddr +MAC returns a if c is true, b otherwise.