├── .github ├── dependabot.yml └── workflows │ └── on-push-pr.yml ├── LICENSE ├── README.md ├── binary_parser.go ├── decode.go ├── decode_test.go ├── encode.go ├── encode_test.go ├── example_unmarshaler_test.go ├── go.mod ├── plist.go ├── tags.go ├── testdata ├── crashers │ ├── 0d16bb1b5a9de90807d6e23316222a70267f48f0 │ ├── 137f12b963e1abb2aedf1e78dab4217d365e61cf │ ├── 1ac1e0b8585d245f0e7bbc48ef33500984a7fb6b │ ├── 30864f343b3b987e140eff6769e091b3b60c3ce7 │ ├── 5feced23aa2767c77c8d2bb5c35321f926b4537a │ ├── 76632470f8fdd06ea7f5eaa53376aa3ffdbe00b0 │ ├── a453429d65a952b8f54dc233d0ac304178a75b41 │ ├── a7f6152b23463dbeb12cf9621b9c5962b8b71d01 │ ├── aac34b3c8cbcc6d607e807fa920b2aaa4294f1fa │ ├── b6d3ae7d57c52b1139cd4cb097382371be5508f4 │ ├── d2e984d7ef5d4fbcda46e217c28a7ad0077fb820 │ └── e322917c1e9ed2ac460865f9455ef8981f765522 ├── sample2.binary.plist └── xml │ ├── comment.plist │ ├── empty-doctype.plist │ ├── empty-plist.failure.plist │ ├── empty-xml.plist │ ├── invalid-before-plist.failure.plist │ ├── invalid-data.failure.plist │ ├── invalid-end.plist │ ├── invalid-middle.failure.plist │ ├── invalid-start.failure.plist │ ├── malformed-xml.plist │ ├── no-both.plist │ ├── no-dict-end.failure.plist │ ├── no-doctype.plist │ ├── no-plist-end.failure.plist │ ├── no-plist-version.plist │ ├── no-xml-tag.plist │ ├── swapped.plist │ ├── unescaped-plist.failure.plist │ ├── unescaped-xml.failure.plist │ └── valid.plist ├── xml_parser.go └── xml_writer.go /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/on-push-pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/.github/workflows/on-push-pr.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/README.md -------------------------------------------------------------------------------- /binary_parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/binary_parser.go -------------------------------------------------------------------------------- /decode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/decode.go -------------------------------------------------------------------------------- /decode_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/decode_test.go -------------------------------------------------------------------------------- /encode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/encode.go -------------------------------------------------------------------------------- /encode_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/encode_test.go -------------------------------------------------------------------------------- /example_unmarshaler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/example_unmarshaler_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/micromdm/plist 2 | 3 | go 1.14 4 | -------------------------------------------------------------------------------- /plist.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/plist.go -------------------------------------------------------------------------------- /tags.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/tags.go -------------------------------------------------------------------------------- /testdata/crashers/0d16bb1b5a9de90807d6e23316222a70267f48f0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/0d16bb1b5a9de90807d6e23316222a70267f48f0 -------------------------------------------------------------------------------- /testdata/crashers/137f12b963e1abb2aedf1e78dab4217d365e61cf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/137f12b963e1abb2aedf1e78dab4217d365e61cf -------------------------------------------------------------------------------- /testdata/crashers/1ac1e0b8585d245f0e7bbc48ef33500984a7fb6b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/1ac1e0b8585d245f0e7bbc48ef33500984a7fb6b -------------------------------------------------------------------------------- /testdata/crashers/30864f343b3b987e140eff6769e091b3b60c3ce7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/30864f343b3b987e140eff6769e091b3b60c3ce7 -------------------------------------------------------------------------------- /testdata/crashers/5feced23aa2767c77c8d2bb5c35321f926b4537a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/5feced23aa2767c77c8d2bb5c35321f926b4537a -------------------------------------------------------------------------------- /testdata/crashers/76632470f8fdd06ea7f5eaa53376aa3ffdbe00b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/76632470f8fdd06ea7f5eaa53376aa3ffdbe00b0 -------------------------------------------------------------------------------- /testdata/crashers/a453429d65a952b8f54dc233d0ac304178a75b41: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/a453429d65a952b8f54dc233d0ac304178a75b41 -------------------------------------------------------------------------------- /testdata/crashers/a7f6152b23463dbeb12cf9621b9c5962b8b71d01: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/a7f6152b23463dbeb12cf9621b9c5962b8b71d01 -------------------------------------------------------------------------------- /testdata/crashers/aac34b3c8cbcc6d607e807fa920b2aaa4294f1fa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/aac34b3c8cbcc6d607e807fa920b2aaa4294f1fa -------------------------------------------------------------------------------- /testdata/crashers/b6d3ae7d57c52b1139cd4cb097382371be5508f4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/b6d3ae7d57c52b1139cd4cb097382371be5508f4 -------------------------------------------------------------------------------- /testdata/crashers/d2e984d7ef5d4fbcda46e217c28a7ad0077fb820: -------------------------------------------------------------------------------- 1 | bplist070944119244897549443 -------------------------------------------------------------------------------- /testdata/crashers/e322917c1e9ed2ac460865f9455ef8981f765522: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/crashers/e322917c1e9ed2ac460865f9455ef8981f765522 -------------------------------------------------------------------------------- /testdata/sample2.binary.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/sample2.binary.plist -------------------------------------------------------------------------------- /testdata/xml/comment.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/comment.plist -------------------------------------------------------------------------------- /testdata/xml/empty-doctype.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/empty-doctype.plist -------------------------------------------------------------------------------- /testdata/xml/empty-plist.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/empty-plist.failure.plist -------------------------------------------------------------------------------- /testdata/xml/empty-xml.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/empty-xml.plist -------------------------------------------------------------------------------- /testdata/xml/invalid-before-plist.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/invalid-before-plist.failure.plist -------------------------------------------------------------------------------- /testdata/xml/invalid-data.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/invalid-data.failure.plist -------------------------------------------------------------------------------- /testdata/xml/invalid-end.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/invalid-end.plist -------------------------------------------------------------------------------- /testdata/xml/invalid-middle.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/invalid-middle.failure.plist -------------------------------------------------------------------------------- /testdata/xml/invalid-start.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/invalid-start.failure.plist -------------------------------------------------------------------------------- /testdata/xml/malformed-xml.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/malformed-xml.plist -------------------------------------------------------------------------------- /testdata/xml/no-both.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/no-both.plist -------------------------------------------------------------------------------- /testdata/xml/no-dict-end.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/no-dict-end.failure.plist -------------------------------------------------------------------------------- /testdata/xml/no-doctype.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/no-doctype.plist -------------------------------------------------------------------------------- /testdata/xml/no-plist-end.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/no-plist-end.failure.plist -------------------------------------------------------------------------------- /testdata/xml/no-plist-version.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/no-plist-version.plist -------------------------------------------------------------------------------- /testdata/xml/no-xml-tag.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/no-xml-tag.plist -------------------------------------------------------------------------------- /testdata/xml/swapped.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/swapped.plist -------------------------------------------------------------------------------- /testdata/xml/unescaped-plist.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/unescaped-plist.failure.plist -------------------------------------------------------------------------------- /testdata/xml/unescaped-xml.failure.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/unescaped-xml.failure.plist -------------------------------------------------------------------------------- /testdata/xml/valid.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/testdata/xml/valid.plist -------------------------------------------------------------------------------- /xml_parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/xml_parser.go -------------------------------------------------------------------------------- /xml_writer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromdm/plist/HEAD/xml_writer.go --------------------------------------------------------------------------------