slidge-whatsapp 0.2.2__cp311-cp311-manylinux_2_36_aarch64.whl → 0.2.7__cp311-cp311-manylinux_2_36_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of slidge-whatsapp might be problematic. Click here for more details.

Files changed (1283) hide show
  1. slidge_whatsapp/__init__.py +26 -8
  2. slidge_whatsapp/__main__.py +3 -0
  3. slidge_whatsapp/config.py +3 -0
  4. slidge_whatsapp/contact.py +1 -1
  5. slidge_whatsapp/event.go +87 -26
  6. slidge_whatsapp/gateway.go +13 -9
  7. slidge_whatsapp/gateway.py +2 -2
  8. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +174 -137
  9. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
  10. slidge_whatsapp/generated/build.py +139 -114
  11. slidge_whatsapp/generated/go.py +1 -1
  12. slidge_whatsapp/generated/whatsapp.c +1609 -1138
  13. slidge_whatsapp/generated/whatsapp.go +1274 -1029
  14. slidge_whatsapp/generated/whatsapp.py +1379 -1059
  15. slidge_whatsapp/generated/whatsapp_go.h +174 -137
  16. slidge_whatsapp/go.mod +18 -13
  17. slidge_whatsapp/go.sum +35 -29
  18. slidge_whatsapp/group.py +7 -2
  19. slidge_whatsapp/media/__init__.py +0 -0
  20. slidge_whatsapp/media/media.go +29 -14
  21. slidge_whatsapp/session.go +77 -71
  22. slidge_whatsapp/session.py +53 -31
  23. slidge_whatsapp/vendor/filippo.io/edwards25519/LICENSE +27 -0
  24. slidge_whatsapp/vendor/filippo.io/edwards25519/README.md +14 -0
  25. slidge_whatsapp/vendor/filippo.io/edwards25519/doc.go +20 -0
  26. slidge_whatsapp/vendor/filippo.io/edwards25519/edwards25519.go +427 -0
  27. slidge_whatsapp/vendor/filippo.io/edwards25519/extra.go +349 -0
  28. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe.go +420 -0
  29. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64.go +16 -0
  30. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64.s +379 -0
  31. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64_noasm.go +12 -0
  32. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64.go +16 -0
  33. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64.s +42 -0
  34. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64_noasm.go +12 -0
  35. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_extra.go +50 -0
  36. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_generic.go +266 -0
  37. slidge_whatsapp/vendor/filippo.io/edwards25519/scalar.go +343 -0
  38. slidge_whatsapp/vendor/filippo.io/edwards25519/scalar_fiat.go +1147 -0
  39. slidge_whatsapp/vendor/filippo.io/edwards25519/scalarmult.go +214 -0
  40. slidge_whatsapp/vendor/filippo.io/edwards25519/tables.go +129 -0
  41. slidge_whatsapp/vendor/github.com/ebitengine/purego/.gitignore +1 -0
  42. slidge_whatsapp/vendor/github.com/ebitengine/purego/LICENSE +201 -0
  43. slidge_whatsapp/vendor/github.com/ebitengine/purego/README.md +97 -0
  44. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_amd64.h +99 -0
  45. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_arm64.h +39 -0
  46. slidge_whatsapp/vendor/github.com/ebitengine/purego/cgo.go +19 -0
  47. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlerror.go +17 -0
  48. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +99 -0
  49. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_android.go +34 -0
  50. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +19 -0
  51. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_freebsd.go +14 -0
  52. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_linux.go +16 -0
  53. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_freebsd.go +11 -0
  54. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_linux.go +19 -0
  55. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_playground.go +24 -0
  56. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_stubs.s +26 -0
  57. slidge_whatsapp/vendor/github.com/ebitengine/purego/func.go +436 -0
  58. slidge_whatsapp/vendor/github.com/ebitengine/purego/go_runtime.go +13 -0
  59. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go +56 -0
  60. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/empty.go +6 -0
  61. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go +55 -0
  62. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_amd64.h +99 -0
  63. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_arm64.h +39 -0
  64. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_amd64.s +39 -0
  65. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_arm64.s +36 -0
  66. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go +93 -0
  67. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go +32 -0
  68. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/freebsd.go +27 -0
  69. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_amd64.go +73 -0
  70. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_arm64.go +88 -0
  71. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_amd64.go +95 -0
  72. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_arm64.go +98 -0
  73. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +72 -0
  74. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_amd64.go +95 -0
  75. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_arm64.go +98 -0
  76. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go +18 -0
  77. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go +37 -0
  78. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go +19 -0
  79. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go +39 -0
  80. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go +22 -0
  81. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go +16 -0
  82. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go +16 -0
  83. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go +19 -0
  84. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +221 -0
  85. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go +29 -0
  86. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go +29 -0
  87. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go +29 -0
  88. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s +104 -0
  89. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s +72 -0
  90. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s +90 -0
  91. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/strings/strings.go +40 -0
  92. slidge_whatsapp/vendor/github.com/ebitengine/purego/is_ios.go +13 -0
  93. slidge_whatsapp/vendor/github.com/ebitengine/purego/nocgo.go +25 -0
  94. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_amd64.go +260 -0
  95. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_arm64.go +274 -0
  96. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_other.go +16 -0
  97. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_amd64.s +164 -0
  98. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_arm64.s +92 -0
  99. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_unix_arm64.s +70 -0
  100. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall.go +53 -0
  101. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go +21 -0
  102. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_sysv.go +223 -0
  103. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_windows.go +46 -0
  104. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_amd64.s +2014 -0
  105. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_arm64.s +4014 -0
  106. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/.gitattributes +6 -0
  107. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/AUTHORS +1 -0
  108. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/COPYING +661 -0
  109. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/README.md +71 -0
  110. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +66 -0
  111. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +596 -0
  112. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_cgo.go +18 -0
  113. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_extlib.go +11 -0
  114. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_extlib_pkgconfig.go +9 -0
  115. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_content_types.go +383 -0
  116. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +1098 -0
  117. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_vendor.go +9 -0
  118. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/archive.h +444 -0
  119. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/band-writer.h +117 -0
  120. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/bidi.h +90 -0
  121. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/bitmap.h +175 -0
  122. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/buffer.h +250 -0
  123. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/color.h +427 -0
  124. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/compress.h +88 -0
  125. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/compressed-buffer.h +185 -0
  126. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/config.h +222 -0
  127. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/context.h +1006 -0
  128. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/crypt.h +270 -0
  129. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/device.h +654 -0
  130. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/display-list.h +142 -0
  131. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/document.h +1108 -0
  132. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/export.h +52 -0
  133. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/filter.h +263 -0
  134. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/font.h +815 -0
  135. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/geometry.h +818 -0
  136. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/getopt.h +128 -0
  137. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/glyph-cache.h +96 -0
  138. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/glyph.h +81 -0
  139. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/hash.h +126 -0
  140. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/heap-imp.h +163 -0
  141. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/heap.h +140 -0
  142. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/image.h +443 -0
  143. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/link.h +130 -0
  144. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/log.h +61 -0
  145. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/outline.h +228 -0
  146. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/output-svg.h +64 -0
  147. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/output.h +415 -0
  148. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/path.h +447 -0
  149. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/pixmap.h +501 -0
  150. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/pool.h +68 -0
  151. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/separation.h +138 -0
  152. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/shade.h +233 -0
  153. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/store.h +456 -0
  154. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/story-writer.h +209 -0
  155. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/story.h +232 -0
  156. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/stream.h +646 -0
  157. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/string-util.h +286 -0
  158. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/structured-text.h +365 -0
  159. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/system.h +459 -0
  160. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/text.h +209 -0
  161. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/track-usage.h +57 -0
  162. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/transition.h +76 -0
  163. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/tree.h +62 -0
  164. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/types.h +41 -0
  165. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/util.h +151 -0
  166. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/vendor.go +3 -0
  167. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/version.h +31 -0
  168. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/write-pixmap.h +499 -0
  169. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/writer.h +266 -0
  170. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/xml.h +397 -0
  171. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz.h +97 -0
  172. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/memento.h +423 -0
  173. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/vendor.go +3 -0
  174. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/libmupdf_linux_arm64.a +0 -0
  175. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/libmupdfthird_linux_arm64.a +0 -0
  176. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/vendor.go +3 -0
  177. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +23 -0
  178. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +22 -0
  179. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +22 -0
  180. slidge_whatsapp/vendor/github.com/go-python/gopy/LICENSE +23 -0
  181. slidge_whatsapp/vendor/github.com/go-python/gopy/gopyh/handle.go +210 -0
  182. slidge_whatsapp/vendor/github.com/google/uuid/CHANGELOG.md +41 -0
  183. slidge_whatsapp/vendor/github.com/google/uuid/CONTRIBUTING.md +26 -0
  184. slidge_whatsapp/vendor/github.com/google/uuid/CONTRIBUTORS +9 -0
  185. slidge_whatsapp/vendor/github.com/google/uuid/LICENSE +27 -0
  186. slidge_whatsapp/vendor/github.com/google/uuid/README.md +21 -0
  187. slidge_whatsapp/vendor/github.com/google/uuid/dce.go +80 -0
  188. slidge_whatsapp/vendor/github.com/google/uuid/doc.go +12 -0
  189. slidge_whatsapp/vendor/github.com/google/uuid/hash.go +59 -0
  190. slidge_whatsapp/vendor/github.com/google/uuid/marshal.go +38 -0
  191. slidge_whatsapp/vendor/github.com/google/uuid/node.go +90 -0
  192. slidge_whatsapp/vendor/github.com/google/uuid/node_js.go +12 -0
  193. slidge_whatsapp/vendor/github.com/google/uuid/node_net.go +33 -0
  194. slidge_whatsapp/vendor/github.com/google/uuid/null.go +118 -0
  195. slidge_whatsapp/vendor/github.com/google/uuid/sql.go +59 -0
  196. slidge_whatsapp/vendor/github.com/google/uuid/time.go +134 -0
  197. slidge_whatsapp/vendor/github.com/google/uuid/util.go +43 -0
  198. slidge_whatsapp/vendor/github.com/google/uuid/uuid.go +365 -0
  199. slidge_whatsapp/vendor/github.com/google/uuid/version1.go +44 -0
  200. slidge_whatsapp/vendor/github.com/google/uuid/version4.go +76 -0
  201. slidge_whatsapp/vendor/github.com/google/uuid/version6.go +56 -0
  202. slidge_whatsapp/vendor/github.com/google/uuid/version7.go +104 -0
  203. slidge_whatsapp/vendor/github.com/gorilla/websocket/.gitignore +25 -0
  204. slidge_whatsapp/vendor/github.com/gorilla/websocket/AUTHORS +9 -0
  205. slidge_whatsapp/vendor/github.com/gorilla/websocket/LICENSE +22 -0
  206. slidge_whatsapp/vendor/github.com/gorilla/websocket/README.md +33 -0
  207. slidge_whatsapp/vendor/github.com/gorilla/websocket/client.go +434 -0
  208. slidge_whatsapp/vendor/github.com/gorilla/websocket/compression.go +148 -0
  209. slidge_whatsapp/vendor/github.com/gorilla/websocket/conn.go +1238 -0
  210. slidge_whatsapp/vendor/github.com/gorilla/websocket/doc.go +227 -0
  211. slidge_whatsapp/vendor/github.com/gorilla/websocket/join.go +42 -0
  212. slidge_whatsapp/vendor/github.com/gorilla/websocket/json.go +60 -0
  213. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask.go +55 -0
  214. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask_safe.go +16 -0
  215. slidge_whatsapp/vendor/github.com/gorilla/websocket/prepared.go +102 -0
  216. slidge_whatsapp/vendor/github.com/gorilla/websocket/proxy.go +77 -0
  217. slidge_whatsapp/vendor/github.com/gorilla/websocket/server.go +365 -0
  218. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake.go +21 -0
  219. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake_116.go +21 -0
  220. slidge_whatsapp/vendor/github.com/gorilla/websocket/util.go +298 -0
  221. slidge_whatsapp/vendor/github.com/gorilla/websocket/x_net_proxy.go +473 -0
  222. slidge_whatsapp/vendor/github.com/h2non/filetype/.editorconfig +12 -0
  223. slidge_whatsapp/vendor/github.com/h2non/filetype/.gitignore +2 -0
  224. slidge_whatsapp/vendor/github.com/h2non/filetype/.travis.yml +16 -0
  225. slidge_whatsapp/vendor/github.com/h2non/filetype/History.md +163 -0
  226. slidge_whatsapp/vendor/github.com/h2non/filetype/LICENSE +24 -0
  227. slidge_whatsapp/vendor/github.com/h2non/filetype/README.md +294 -0
  228. slidge_whatsapp/vendor/github.com/h2non/filetype/filetype.go +102 -0
  229. slidge_whatsapp/vendor/github.com/h2non/filetype/kind.go +91 -0
  230. slidge_whatsapp/vendor/github.com/h2non/filetype/match.go +90 -0
  231. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/application.go +43 -0
  232. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/archive.go +211 -0
  233. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/audio.go +85 -0
  234. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/document.go +197 -0
  235. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/font.go +45 -0
  236. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/image.go +143 -0
  237. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/isobmff/isobmff.go +37 -0
  238. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/matchers.go +51 -0
  239. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/video.go +145 -0
  240. slidge_whatsapp/vendor/github.com/h2non/filetype/types/defaults.go +4 -0
  241. slidge_whatsapp/vendor/github.com/h2non/filetype/types/mime.go +14 -0
  242. slidge_whatsapp/vendor/github.com/h2non/filetype/types/split.go +11 -0
  243. slidge_whatsapp/vendor/github.com/h2non/filetype/types/type.go +16 -0
  244. slidge_whatsapp/vendor/github.com/h2non/filetype/types/types.go +23 -0
  245. slidge_whatsapp/vendor/github.com/h2non/filetype/version.go +4 -0
  246. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +21 -0
  247. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +69 -0
  248. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +147 -0
  249. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/LICENSE +21 -0
  250. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +162 -0
  251. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +7 -0
  252. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +7 -0
  253. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +272 -0
  254. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +54 -0
  255. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +55 -0
  256. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +82 -0
  257. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +63 -0
  258. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +68 -0
  259. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_amd64.go +5 -0
  260. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_arm64.go +5 -0
  261. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_darwin_arm64.go +5 -0
  262. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/types.go +34 -0
  263. slidge_whatsapp/vendor/github.com/mattn/go-colorable/LICENSE +21 -0
  264. slidge_whatsapp/vendor/github.com/mattn/go-colorable/README.md +48 -0
  265. slidge_whatsapp/vendor/github.com/mattn/go-colorable/colorable_others.go +38 -0
  266. slidge_whatsapp/vendor/github.com/mattn/go-colorable/colorable_windows.go +1047 -0
  267. slidge_whatsapp/vendor/github.com/mattn/go-colorable/go.test.sh +12 -0
  268. slidge_whatsapp/vendor/github.com/mattn/go-colorable/noncolorable.go +57 -0
  269. slidge_whatsapp/vendor/github.com/mattn/go-isatty/LICENSE +9 -0
  270. slidge_whatsapp/vendor/github.com/mattn/go-isatty/README.md +50 -0
  271. slidge_whatsapp/vendor/github.com/mattn/go-isatty/doc.go +2 -0
  272. slidge_whatsapp/vendor/github.com/mattn/go-isatty/go.test.sh +12 -0
  273. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_bsd.go +20 -0
  274. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_others.go +17 -0
  275. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_plan9.go +23 -0
  276. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_solaris.go +21 -0
  277. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_tcgets.go +20 -0
  278. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_windows.go +125 -0
  279. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/.codecov.yml +4 -0
  280. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/.gitignore +14 -0
  281. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/LICENSE +21 -0
  282. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +598 -0
  283. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/backup.go +85 -0
  284. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +412 -0
  285. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/convert.go +299 -0
  286. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/doc.go +134 -0
  287. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/error.go +150 -0
  288. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +261459 -0
  289. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +13720 -0
  290. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +2315 -0
  291. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_context.go +103 -0
  292. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_func_crypt.go +120 -0
  293. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_go18.go +54 -0
  294. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go +23 -0
  295. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension.go +85 -0
  296. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension_omit.go +25 -0
  297. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_allow_uri_authority.go +16 -0
  298. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_app_armor.go +16 -0
  299. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_column_metadata.go +22 -0
  300. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_foreign_keys.go +16 -0
  301. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_fts5.go +15 -0
  302. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_icu.go +20 -0
  303. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_introspect.go +16 -0
  304. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_math_functions.go +15 -0
  305. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_os_trace.go +15 -0
  306. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate.go +21 -0
  307. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_hook.go +113 -0
  308. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_omit.go +22 -0
  309. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete.go +16 -0
  310. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete_fast.go +16 -0
  311. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize.go +83 -0
  312. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize_omit.go +21 -0
  313. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_stat4.go +16 -0
  314. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +89 -0
  315. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +97 -0
  316. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +295 -0
  317. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth_omit.go +158 -0
  318. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_full.go +16 -0
  319. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_incr.go +16 -0
  320. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vtable.go +721 -0
  321. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go +18 -0
  322. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_solaris.go +15 -0
  323. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_trace.go +288 -0
  324. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_type.go +108 -0
  325. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_usleep_windows.go +42 -0
  326. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go +18 -0
  327. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +728 -0
  328. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/static_mock.go +38 -0
  329. slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
  330. slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
  331. slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
  332. slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
  333. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
  334. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
  335. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
  336. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
  337. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
  338. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
  339. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
  340. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
  341. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
  342. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
  343. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
  344. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
  345. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
  346. slidge_whatsapp/vendor/github.com/rs/zerolog/.gitignore +25 -0
  347. slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
  348. slidge_whatsapp/vendor/github.com/rs/zerolog/LICENSE +21 -0
  349. slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +813 -0
  350. slidge_whatsapp/vendor/github.com/rs/zerolog/array.go +240 -0
  351. slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +535 -0
  352. slidge_whatsapp/vendor/github.com/rs/zerolog/context.go +480 -0
  353. slidge_whatsapp/vendor/github.com/rs/zerolog/ctx.go +52 -0
  354. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder.go +56 -0
  355. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder_cbor.go +45 -0
  356. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder_json.go +51 -0
  357. slidge_whatsapp/vendor/github.com/rs/zerolog/event.go +830 -0
  358. slidge_whatsapp/vendor/github.com/rs/zerolog/example.jsonl +7 -0
  359. slidge_whatsapp/vendor/github.com/rs/zerolog/fields.go +292 -0
  360. slidge_whatsapp/vendor/github.com/rs/zerolog/globals.go +190 -0
  361. slidge_whatsapp/vendor/github.com/rs/zerolog/go112.go +7 -0
  362. slidge_whatsapp/vendor/github.com/rs/zerolog/hook.go +64 -0
  363. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/README.md +56 -0
  364. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/base.go +19 -0
  365. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/cbor.go +102 -0
  366. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/decode_stream.go +654 -0
  367. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/string.go +117 -0
  368. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/time.go +93 -0
  369. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/types.go +486 -0
  370. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/base.go +19 -0
  371. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/bytes.go +85 -0
  372. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/string.go +149 -0
  373. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/time.go +113 -0
  374. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/types.go +435 -0
  375. slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
  376. slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +518 -0
  377. slidge_whatsapp/vendor/github.com/rs/zerolog/not_go112.go +5 -0
  378. slidge_whatsapp/vendor/github.com/rs/zerolog/pretty.png +0 -0
  379. slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +137 -0
  380. slidge_whatsapp/vendor/github.com/rs/zerolog/syslog.go +89 -0
  381. slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +355 -0
  382. slidge_whatsapp/vendor/go.mau.fi/libsignal/LICENSE +674 -0
  383. slidge_whatsapp/vendor/go.mau.fi/libsignal/cipher/Cbc.go +101 -0
  384. slidge_whatsapp/vendor/go.mau.fi/libsignal/cipher/Cipher.go +105 -0
  385. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/Curve.go +109 -0
  386. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/DjbECPublicKey.go +29 -0
  387. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/DkbECPrivateKey.go +29 -0
  388. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/Doc.go +3 -0
  389. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECKeyPair.go +27 -0
  390. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECPrivateKey.go +7 -0
  391. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECPublicKey.go +11 -0
  392. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/SignCurve25519.go +97 -0
  393. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +152 -0
  394. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +94 -0
  395. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/Doc.go +3 -0
  396. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/SenderChainKey.go +68 -0
  397. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/SenderMessageKey.go +89 -0
  398. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/Doc.go +2 -0
  399. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/SenderKeyRecord.go +149 -0
  400. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/SenderKeyState.go +186 -0
  401. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/Doc.go +3 -0
  402. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +13 -0
  403. slidge_whatsapp/vendor/go.mau.fi/libsignal/kdf/HKDF.go +47 -0
  404. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +128 -0
  405. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +48 -0
  406. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKeyPair.go +39 -0
  407. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/message/MessageKey.go +91 -0
  408. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/prekey/PreKeyBundle.go +86 -0
  409. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/root/RootKey.go +66 -0
  410. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/session/DerivedSecrets.go +29 -0
  411. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/session/Pair.go +43 -0
  412. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +85 -0
  413. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/Logger.go +89 -0
  414. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/CiphertextMessage.go +19 -0
  415. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/Doc.go +3 -0
  416. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/PreKeySignalMessage.go +152 -0
  417. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyDistributionMessage.go +147 -0
  418. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyMessage.go +168 -0
  419. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyName.go +25 -0
  420. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SignalMessage.go +226 -0
  421. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SignalProtocolAddress.go +38 -0
  422. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/Ratchet.go +197 -0
  423. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/ReceiverParameters.go +106 -0
  424. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/SenderParameters.go +106 -0
  425. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/SymmetricParameters.go +18 -0
  426. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +246 -0
  427. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.proto +14 -0
  428. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/JSONSerializer.go +303 -0
  429. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +1501 -0
  430. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.proto +114 -0
  431. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/ProtoBufferSerializer.go +262 -0
  432. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/Serializer.go +31 -0
  433. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +641 -0
  434. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.proto +45 -0
  435. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +299 -0
  436. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +409 -0
  437. slidge_whatsapp/vendor/go.mau.fi/libsignal/signalerror/errors.go +37 -0
  438. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/ChainState.go +157 -0
  439. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/Doc.go +3 -0
  440. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PendingKeyExchangeState.go +91 -0
  441. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PendingPreKeyState.go +62 -0
  442. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PreKeyRecord.go +90 -0
  443. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SessionRecord.go +197 -0
  444. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SessionState.go +531 -0
  445. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SignedPreKeyRecord.go +112 -0
  446. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/UnacknowledgedPreKey.go +69 -0
  447. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/Doc.go +3 -0
  448. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +31 -0
  449. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +23 -0
  450. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +23 -0
  451. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +19 -0
  452. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignalProtocolStore.go +15 -0
  453. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +26 -0
  454. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/bytehelper/ByteHelper.go +97 -0
  455. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/errorhelper/ErrorHelper.go +40 -0
  456. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/keyhelper/KeyHelper.go +95 -0
  457. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/medium/Medium.go +4 -0
  458. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/optional/Integer.go +17 -0
  459. slidge_whatsapp/vendor/go.mau.fi/util/LICENSE +373 -0
  460. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
  461. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
  462. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
  463. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
  464. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
  465. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
  466. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
  467. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
  468. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
  469. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
  470. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
  471. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
  472. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
  473. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
  474. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +64 -0
  475. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
  476. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
  477. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +37 -0
  478. slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +76 -0
  479. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +88 -0
  480. slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
  481. slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
  482. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
  483. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
  484. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
  485. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
  486. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
  487. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
  488. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/doc.go +9 -0
  489. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_darwin.go +29 -0
  490. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_linux.go +24 -0
  491. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_unknown.go +17 -0
  492. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/duration.go +155 -0
  493. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/helpers.go +59 -0
  494. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/integer.go +170 -0
  495. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/string.go +95 -0
  496. slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
  497. slidge_whatsapp/vendor/go.mau.fi/util/random/bytes.go +21 -0
  498. slidge_whatsapp/vendor/go.mau.fi/util/random/string.go +87 -0
  499. slidge_whatsapp/vendor/go.mau.fi/util/retryafter/retryafter.go +53 -0
  500. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.editorconfig +13 -0
  501. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.gitattributes +3 -0
  502. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +31 -0
  503. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/LICENSE +374 -0
  504. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/README.md +35 -0
  505. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +312 -0
  506. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +323 -0
  507. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/errors.go +19 -0
  508. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +97 -0
  509. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +138 -0
  510. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/lthash/lthash.go +58 -0
  511. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +409 -0
  512. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +132 -0
  513. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/attrs.go +218 -0
  514. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/decoder.go +406 -0
  515. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +308 -0
  516. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/errors.go +12 -0
  517. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/node.go +139 -0
  518. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/token/token.go +94 -0
  519. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/unpack.go +31 -0
  520. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/xml.go +108 -0
  521. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +143 -0
  522. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +112 -0
  523. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +933 -0
  524. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +214 -0
  525. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +234 -0
  526. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +410 -0
  527. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +261 -0
  528. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +960 -0
  529. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/handshake.go +165 -0
  530. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +696 -0
  531. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +85 -0
  532. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +98 -0
  533. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +185 -0
  534. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +992 -0
  535. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +374 -0
  536. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +376 -0
  537. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +457 -0
  538. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +245 -0
  539. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +272 -0
  540. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +255 -0
  541. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +139 -0
  542. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +170 -0
  543. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/.gitignore +1 -0
  544. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/armadilloutil/decode.go +32 -0
  545. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +43 -0
  546. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
  547. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
  548. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
  549. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
  550. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
  551. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
  552. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
  553. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
  554. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
  555. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
  556. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
  557. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
  558. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
  559. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
  560. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
  561. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
  562. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
  563. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
  564. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
  565. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
  566. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
  567. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
  568. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
  569. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
  570. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
  571. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +515 -0
  572. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.proto +43 -0
  573. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +2982 -0
  574. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +258 -0
  575. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/extra.go +3 -0
  576. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +1029 -0
  577. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +143 -0
  578. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +412 -0
  579. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.proto +34 -0
  580. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +138 -0
  581. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.proto +10 -0
  582. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +769 -0
  583. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +67 -0
  584. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/legacy.go +11 -0
  585. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.pb.go +987 -0
  586. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.proto +101 -0
  587. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +2817 -0
  588. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.proto +233 -0
  589. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/extra.go +82 -0
  590. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +247 -0
  591. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +18 -0
  592. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +27357 -0
  593. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +2628 -0
  594. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/legacy.go +31 -0
  595. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +2368 -0
  596. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +231 -0
  597. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/legacy.go +11 -0
  598. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
  599. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
  600. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +2130 -0
  601. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +191 -0
  602. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +272 -0
  603. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +21 -0
  604. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +1156 -0
  605. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +96 -0
  606. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/extra.go +41 -0
  607. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +859 -0
  608. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.proto +75 -0
  609. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +20 -0
  610. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +732 -0
  611. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.proto +57 -0
  612. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/extra.go +3 -0
  613. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +857 -0
  614. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.proto +72 -0
  615. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/legacy.go +31 -0
  616. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +800 -0
  617. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +72 -0
  618. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +5581 -0
  619. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +513 -0
  620. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +428 -0
  621. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.proto +33 -0
  622. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +852 -0
  623. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.proto +72 -0
  624. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +2325 -0
  625. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +253 -0
  626. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +4449 -0
  627. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +581 -0
  628. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/legacy.go +1 -0
  629. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/push.go +110 -0
  630. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/qrchan.go +180 -0
  631. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +254 -0
  632. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
  633. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
  634. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/request.go +225 -0
  635. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +458 -0
  636. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +1314 -0
  637. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +658 -0
  638. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/constants.go +43 -0
  639. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/framesocket.go +235 -0
  640. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisehandshake.go +124 -0
  641. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisesocket.go +108 -0
  642. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +187 -0
  643. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +256 -0
  644. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +182 -0
  645. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +291 -0
  646. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
  647. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +897 -0
  648. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
  649. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
  650. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
  651. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
  652. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
  653. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
  654. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
  655. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
  656. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
  657. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
  658. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +245 -0
  659. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
  660. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +21 -0
  661. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/appstate.go +185 -0
  662. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/call.go +77 -0
  663. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +611 -0
  664. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +164 -0
  665. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +262 -0
  666. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +116 -0
  667. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/newsletter.go +201 -0
  668. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/presence.go +78 -0
  669. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +195 -0
  670. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +64 -0
  671. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +251 -0
  672. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +882 -0
  673. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/cbcutil/cbc.go +217 -0
  674. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/gcmutil/gcm.go +41 -0
  675. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/hkdfutil/hkdf.go +28 -0
  676. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/keys/keypair.go +68 -0
  677. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/log/log.go +83 -0
  678. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/log/zerolog.go +38 -0
  679. slidge_whatsapp/vendor/golang.org/x/crypto/LICENSE +27 -0
  680. slidge_whatsapp/vendor/golang.org/x/crypto/PATENTS +22 -0
  681. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +90 -0
  682. slidge_whatsapp/vendor/golang.org/x/crypto/hkdf/hkdf.go +95 -0
  683. slidge_whatsapp/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go +77 -0
  684. slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
  685. slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
  686. slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
  687. slidge_whatsapp/vendor/golang.org/x/image/LICENSE +27 -0
  688. slidge_whatsapp/vendor/golang.org/x/image/PATENTS +22 -0
  689. slidge_whatsapp/vendor/golang.org/x/image/draw/draw.go +67 -0
  690. slidge_whatsapp/vendor/golang.org/x/image/draw/impl.go +8426 -0
  691. slidge_whatsapp/vendor/golang.org/x/image/draw/scale.go +525 -0
  692. slidge_whatsapp/vendor/golang.org/x/image/math/f64/f64.go +37 -0
  693. slidge_whatsapp/vendor/golang.org/x/image/riff/riff.go +193 -0
  694. slidge_whatsapp/vendor/golang.org/x/image/vp8/decode.go +403 -0
  695. slidge_whatsapp/vendor/golang.org/x/image/vp8/filter.go +273 -0
  696. slidge_whatsapp/vendor/golang.org/x/image/vp8/idct.go +98 -0
  697. slidge_whatsapp/vendor/golang.org/x/image/vp8/partition.go +129 -0
  698. slidge_whatsapp/vendor/golang.org/x/image/vp8/pred.go +201 -0
  699. slidge_whatsapp/vendor/golang.org/x/image/vp8/predfunc.go +553 -0
  700. slidge_whatsapp/vendor/golang.org/x/image/vp8/quant.go +98 -0
  701. slidge_whatsapp/vendor/golang.org/x/image/vp8/reconstruct.go +442 -0
  702. slidge_whatsapp/vendor/golang.org/x/image/vp8/token.go +381 -0
  703. slidge_whatsapp/vendor/golang.org/x/image/vp8l/decode.go +603 -0
  704. slidge_whatsapp/vendor/golang.org/x/image/vp8l/huffman.go +245 -0
  705. slidge_whatsapp/vendor/golang.org/x/image/vp8l/transform.go +299 -0
  706. slidge_whatsapp/vendor/golang.org/x/image/webp/decode.go +276 -0
  707. slidge_whatsapp/vendor/golang.org/x/image/webp/doc.go +9 -0
  708. slidge_whatsapp/vendor/golang.org/x/net/LICENSE +27 -0
  709. slidge_whatsapp/vendor/golang.org/x/net/PATENTS +22 -0
  710. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  711. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
  712. slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
  713. slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
  714. slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
  715. slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
  716. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
  717. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
  718. slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
  719. slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
  720. slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
  721. slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
  722. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
  723. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
  724. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
  725. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
  726. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
  727. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
  728. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
  729. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
  730. slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
  731. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
  732. slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
  733. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
  734. slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
  735. slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
  736. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
  737. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
  738. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
  739. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
  740. slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
  741. slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
  742. slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
  743. slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
  744. slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
  745. slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
  746. slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
  747. slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
  748. slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
  749. slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
  750. slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
  751. slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
  752. slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
  753. slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
  754. slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
  755. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
  756. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
  757. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
  758. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/client.go +168 -0
  759. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/socks.go +317 -0
  760. slidge_whatsapp/vendor/golang.org/x/net/proxy/dial.go +54 -0
  761. slidge_whatsapp/vendor/golang.org/x/net/proxy/direct.go +31 -0
  762. slidge_whatsapp/vendor/golang.org/x/net/proxy/per_host.go +153 -0
  763. slidge_whatsapp/vendor/golang.org/x/net/proxy/proxy.go +149 -0
  764. slidge_whatsapp/vendor/golang.org/x/net/proxy/socks5.go +42 -0
  765. slidge_whatsapp/vendor/golang.org/x/sys/LICENSE +27 -0
  766. slidge_whatsapp/vendor/golang.org/x/sys/PATENTS +22 -0
  767. slidge_whatsapp/vendor/golang.org/x/sys/unix/.gitignore +2 -0
  768. slidge_whatsapp/vendor/golang.org/x/sys/unix/README.md +184 -0
  769. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +86 -0
  770. slidge_whatsapp/vendor/golang.org/x/sys/unix/aliases.go +13 -0
  771. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
  772. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
  773. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
  774. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
  775. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
  776. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
  777. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
  778. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
  779. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
  780. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
  781. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
  782. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
  783. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
  784. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
  785. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
  786. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
  787. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
  788. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
  789. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
  790. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
  791. slidge_whatsapp/vendor/golang.org/x/sys/unix/auxv.go +36 -0
  792. slidge_whatsapp/vendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
  793. slidge_whatsapp/vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  794. slidge_whatsapp/vendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
  795. slidge_whatsapp/vendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
  796. slidge_whatsapp/vendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
  797. slidge_whatsapp/vendor/golang.org/x/sys/unix/constants.go +13 -0
  798. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
  799. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
  800. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  801. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  802. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  803. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  804. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  805. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  806. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_zos.go +28 -0
  807. slidge_whatsapp/vendor/golang.org/x/sys/unix/dirent.go +102 -0
  808. slidge_whatsapp/vendor/golang.org/x/sys/unix/endian_big.go +9 -0
  809. slidge_whatsapp/vendor/golang.org/x/sys/unix/endian_little.go +9 -0
  810. slidge_whatsapp/vendor/golang.org/x/sys/unix/env_unix.go +31 -0
  811. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl.go +36 -0
  812. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  813. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
  814. slidge_whatsapp/vendor/golang.org/x/sys/unix/fdset.go +29 -0
  815. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo.go +59 -0
  816. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
  817. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
  818. slidge_whatsapp/vendor/golang.org/x/sys/unix/ifreq_linux.go +141 -0
  819. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_linux.go +334 -0
  820. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_signed.go +69 -0
  821. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_unsigned.go +69 -0
  822. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
  823. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkall.sh +249 -0
  824. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +805 -0
  825. slidge_whatsapp/vendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
  826. slidge_whatsapp/vendor/golang.org/x/sys/unix/mremap.go +57 -0
  827. slidge_whatsapp/vendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
  828. slidge_whatsapp/vendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
  829. slidge_whatsapp/vendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
  830. slidge_whatsapp/vendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
  831. slidge_whatsapp/vendor/golang.org/x/sys/unix/race.go +30 -0
  832. slidge_whatsapp/vendor/golang.org/x/sys/unix/race0.go +25 -0
  833. slidge_whatsapp/vendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
  834. slidge_whatsapp/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
  835. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  836. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  837. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
  838. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
  839. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
  840. slidge_whatsapp/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
  841. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall.go +86 -0
  842. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
  843. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
  844. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
  845. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
  846. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +854 -0
  847. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
  848. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
  849. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
  850. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
  851. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
  852. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
  853. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
  854. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
  855. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
  856. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
  857. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
  858. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  859. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
  860. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
  861. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +2647 -0
  862. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_386.go +314 -0
  863. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
  864. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +145 -0
  865. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
  866. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +216 -0
  867. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +186 -0
  868. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
  869. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
  870. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
  871. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
  872. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
  873. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +218 -0
  874. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +188 -0
  875. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +174 -0
  876. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +204 -0
  877. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +115 -0
  878. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +191 -0
  879. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +296 -0
  880. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +112 -0
  881. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd.go +371 -0
  882. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
  883. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
  884. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
  885. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
  886. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd.go +342 -0
  887. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
  888. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
  889. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
  890. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
  891. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
  892. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  893. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
  894. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
  895. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1191 -0
  896. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
  897. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix.go +615 -0
  898. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
  899. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
  900. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
  901. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
  902. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
  903. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
  904. slidge_whatsapp/vendor/golang.org/x/sys/unix/timestruct.go +76 -0
  905. slidge_whatsapp/vendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
  906. slidge_whatsapp/vendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
  907. slidge_whatsapp/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
  908. slidge_whatsapp/vendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
  909. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
  910. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
  911. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
  912. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
  913. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
  914. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
  915. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
  916. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
  917. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
  918. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
  919. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +3752 -0
  920. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +873 -0
  921. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +873 -0
  922. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +878 -0
  923. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +875 -0
  924. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +865 -0
  925. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +879 -0
  926. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +879 -0
  927. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +879 -0
  928. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +879 -0
  929. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +931 -0
  930. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +935 -0
  931. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +935 -0
  932. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +862 -0
  933. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +934 -0
  934. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +977 -0
  935. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
  936. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
  937. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
  938. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
  939. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
  940. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
  941. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
  942. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
  943. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
  944. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
  945. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
  946. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
  947. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
  948. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
  949. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  950. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
  951. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
  952. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
  953. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
  954. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
  955. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
  956. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
  957. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
  958. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
  959. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
  960. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
  961. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
  962. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
  963. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
  964. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
  965. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
  966. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
  967. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
  968. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
  969. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux.go +2240 -0
  970. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +486 -0
  971. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +653 -0
  972. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +601 -0
  973. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +552 -0
  974. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +486 -0
  975. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +653 -0
  976. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +647 -0
  977. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +636 -0
  978. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +653 -0
  979. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +658 -0
  980. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +704 -0
  981. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +704 -0
  982. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +548 -0
  983. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +495 -0
  984. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +648 -0
  985. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
  986. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
  987. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
  988. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
  989. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2323 -0
  990. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +699 -0
  991. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2323 -0
  992. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +699 -0
  993. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2323 -0
  994. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +699 -0
  995. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2323 -0
  996. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +699 -0
  997. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2323 -0
  998. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +699 -0
  999. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2323 -0
  1000. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +838 -0
  1001. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2323 -0
  1002. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +699 -0
  1003. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
  1004. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
  1005. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
  1006. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
  1007. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
  1008. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
  1009. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
  1010. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
  1011. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
  1012. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
  1013. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
  1014. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
  1015. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
  1016. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
  1017. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
  1018. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
  1019. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
  1020. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +465 -0
  1021. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +388 -0
  1022. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +429 -0
  1023. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +332 -0
  1024. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +328 -0
  1025. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +449 -0
  1026. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +379 -0
  1027. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +379 -0
  1028. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +449 -0
  1029. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +456 -0
  1030. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +428 -0
  1031. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +428 -0
  1032. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +333 -0
  1033. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +394 -0
  1034. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +407 -0
  1035. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
  1036. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
  1037. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
  1038. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
  1039. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
  1040. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
  1041. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
  1042. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
  1043. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
  1044. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
  1045. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
  1046. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
  1047. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
  1048. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
  1049. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
  1050. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
  1051. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
  1052. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  1053. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  1054. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  1055. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  1056. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  1057. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +6178 -0
  1058. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +689 -0
  1059. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +703 -0
  1060. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +683 -0
  1061. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +682 -0
  1062. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +683 -0
  1063. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +688 -0
  1064. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +685 -0
  1065. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +685 -0
  1066. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +688 -0
  1067. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +696 -0
  1068. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +691 -0
  1069. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +691 -0
  1070. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +770 -0
  1071. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +705 -0
  1072. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +686 -0
  1073. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
  1074. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
  1075. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
  1076. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
  1077. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
  1078. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
  1079. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
  1080. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
  1081. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
  1082. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
  1083. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
  1084. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
  1085. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
  1086. slidge_whatsapp/vendor/golang.org/x/sys/windows/aliases.go +12 -0
  1087. slidge_whatsapp/vendor/golang.org/x/sys/windows/dll_windows.go +415 -0
  1088. slidge_whatsapp/vendor/golang.org/x/sys/windows/env_windows.go +57 -0
  1089. slidge_whatsapp/vendor/golang.org/x/sys/windows/eventlog.go +20 -0
  1090. slidge_whatsapp/vendor/golang.org/x/sys/windows/exec_windows.go +248 -0
  1091. slidge_whatsapp/vendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  1092. slidge_whatsapp/vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  1093. slidge_whatsapp/vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  1094. slidge_whatsapp/vendor/golang.org/x/sys/windows/mksyscall.go +9 -0
  1095. slidge_whatsapp/vendor/golang.org/x/sys/windows/race.go +30 -0
  1096. slidge_whatsapp/vendor/golang.org/x/sys/windows/race0.go +25 -0
  1097. slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +1497 -0
  1098. slidge_whatsapp/vendor/golang.org/x/sys/windows/service.go +257 -0
  1099. slidge_whatsapp/vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  1100. slidge_whatsapp/vendor/golang.org/x/sys/windows/str.go +22 -0
  1101. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall.go +104 -0
  1102. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +1934 -0
  1103. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +3842 -0
  1104. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  1105. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  1106. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  1107. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  1108. slidge_whatsapp/vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  1109. slidge_whatsapp/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  1110. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +4695 -0
  1111. slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
  1112. slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
  1113. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  1114. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
  1115. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
  1116. slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
  1117. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  1118. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  1119. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  1120. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  1121. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
  1122. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
  1123. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
  1124. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
  1125. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
  1126. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
  1127. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  1128. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  1129. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  1130. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  1131. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  1132. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  1133. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  1134. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
  1135. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
  1136. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
  1137. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
  1138. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
  1139. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
  1140. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  1141. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  1142. slidge_whatsapp/vendor/google.golang.org/protobuf/LICENSE +27 -0
  1143. slidge_whatsapp/vendor/google.golang.org/protobuf/PATENTS +22 -0
  1144. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +767 -0
  1145. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +7 -0
  1146. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +380 -0
  1147. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +547 -0
  1148. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +414 -0
  1149. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/descopts/options.go +29 -0
  1150. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/detrand/rand.go +69 -0
  1151. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go +12 -0
  1152. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  1153. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +213 -0
  1154. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +242 -0
  1155. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +201 -0
  1156. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +686 -0
  1157. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +211 -0
  1158. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +161 -0
  1159. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +373 -0
  1160. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +29 -0
  1161. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +272 -0
  1162. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/errors/errors.go +104 -0
  1163. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/build.go +157 -0
  1164. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +748 -0
  1165. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +560 -0
  1166. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +694 -0
  1167. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +457 -0
  1168. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +367 -0
  1169. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +167 -0
  1170. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +110 -0
  1171. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filetype/build.go +296 -0
  1172. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/flags.go +24 -0
  1173. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +10 -0
  1174. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +10 -0
  1175. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +34 -0
  1176. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +106 -0
  1177. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +1286 -0
  1178. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/doc.go +11 -0
  1179. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +34 -0
  1180. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +19 -0
  1181. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +31 -0
  1182. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go +70 -0
  1183. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/goname.go +20 -0
  1184. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +16 -0
  1185. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/name.go +12 -0
  1186. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +31 -0
  1187. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +121 -0
  1188. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +34 -0
  1189. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +228 -0
  1190. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +13 -0
  1191. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +175 -0
  1192. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/api_export.go +177 -0
  1193. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/api_export_opaque.go +128 -0
  1194. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/bitmap.go +34 -0
  1195. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/bitmap_race.go +126 -0
  1196. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +174 -0
  1197. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +228 -0
  1198. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +788 -0
  1199. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_field_opaque.go +264 -0
  1200. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +5724 -0
  1201. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +399 -0
  1202. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +230 -0
  1203. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +153 -0
  1204. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +145 -0
  1205. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +557 -0
  1206. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +15 -0
  1207. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert.go +495 -0
  1208. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +141 -0
  1209. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +121 -0
  1210. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/decode.go +333 -0
  1211. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/encode.go +315 -0
  1212. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/enum.go +21 -0
  1213. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/equal.go +224 -0
  1214. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/extension.go +156 -0
  1215. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/lazy.go +433 -0
  1216. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +219 -0
  1217. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +92 -0
  1218. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +177 -0
  1219. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +81 -0
  1220. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +569 -0
  1221. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/merge.go +203 -0
  1222. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +209 -0
  1223. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message.go +283 -0
  1224. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +627 -0
  1225. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque_gen.go +132 -0
  1226. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +462 -0
  1227. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +423 -0
  1228. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field_gen.go +273 -0
  1229. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +271 -0
  1230. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +220 -0
  1231. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe_opaque.go +42 -0
  1232. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +142 -0
  1233. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/validate.go +570 -0
  1234. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/order/order.go +89 -0
  1235. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/order/range.go +115 -0
  1236. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +29 -0
  1237. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/bufferreader.go +364 -0
  1238. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/lazy.go +359 -0
  1239. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/pointer_unsafe.go +17 -0
  1240. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/set/ints.go +58 -0
  1241. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings.go +196 -0
  1242. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +71 -0
  1243. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +79 -0
  1244. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/checkinit.go +71 -0
  1245. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/decode.go +307 -0
  1246. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/decode_gen.go +603 -0
  1247. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/doc.go +86 -0
  1248. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/encode.go +355 -0
  1249. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/encode_gen.go +97 -0
  1250. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/equal.go +66 -0
  1251. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/extension.go +166 -0
  1252. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +145 -0
  1253. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/messageset.go +98 -0
  1254. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto.go +45 -0
  1255. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto_methods.go +20 -0
  1256. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto_reflect.go +20 -0
  1257. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/reset.go +43 -0
  1258. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/size.go +111 -0
  1259. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/size_gen.go +55 -0
  1260. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/wrapperopaque.go +80 -0
  1261. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/wrappers.go +29 -0
  1262. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +88 -0
  1263. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +513 -0
  1264. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +129 -0
  1265. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +575 -0
  1266. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +666 -0
  1267. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +285 -0
  1268. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go +168 -0
  1269. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +438 -0
  1270. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +84 -0
  1271. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +882 -0
  1272. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +15 -0
  1273. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +202 -0
  1274. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +48 -0
  1275. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +60 -0
  1276. slidge_whatsapp/vendor/modules.txt +212 -0
  1277. slidge_whatsapp-0.2.7.dist-info/METADATA +63 -0
  1278. slidge_whatsapp-0.2.7.dist-info/RECORD +1286 -0
  1279. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.7.dist-info}/WHEEL +1 -1
  1280. slidge_whatsapp-0.2.2.dist-info/METADATA +0 -744
  1281. slidge_whatsapp-0.2.2.dist-info/RECORD +0 -31
  1282. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.7.dist-info}/LICENSE +0 -0
  1283. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.7.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,1497 @@
1
+ // Copyright 2012 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ package windows
6
+
7
+ import (
8
+ "syscall"
9
+ "unsafe"
10
+ )
11
+
12
+ const (
13
+ NameUnknown = 0
14
+ NameFullyQualifiedDN = 1
15
+ NameSamCompatible = 2
16
+ NameDisplay = 3
17
+ NameUniqueId = 6
18
+ NameCanonical = 7
19
+ NameUserPrincipal = 8
20
+ NameCanonicalEx = 9
21
+ NameServicePrincipal = 10
22
+ NameDnsDomain = 12
23
+ )
24
+
25
+ // This function returns 1 byte BOOLEAN rather than the 4 byte BOOL.
26
+ // http://blogs.msdn.com/b/drnick/archive/2007/12/19/windows-and-upn-format-credentials.aspx
27
+ //sys TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.TranslateNameW
28
+ //sys GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.GetUserNameExW
29
+
30
+ // TranslateAccountName converts a directory service
31
+ // object name from one format to another.
32
+ func TranslateAccountName(username string, from, to uint32, initSize int) (string, error) {
33
+ u, e := UTF16PtrFromString(username)
34
+ if e != nil {
35
+ return "", e
36
+ }
37
+ n := uint32(50)
38
+ for {
39
+ b := make([]uint16, n)
40
+ e = TranslateName(u, from, to, &b[0], &n)
41
+ if e == nil {
42
+ return UTF16ToString(b[:n]), nil
43
+ }
44
+ if e != ERROR_INSUFFICIENT_BUFFER {
45
+ return "", e
46
+ }
47
+ if n <= uint32(len(b)) {
48
+ return "", e
49
+ }
50
+ }
51
+ }
52
+
53
+ const (
54
+ // do not reorder
55
+ NetSetupUnknownStatus = iota
56
+ NetSetupUnjoined
57
+ NetSetupWorkgroupName
58
+ NetSetupDomainName
59
+ )
60
+
61
+ type UserInfo10 struct {
62
+ Name *uint16
63
+ Comment *uint16
64
+ UsrComment *uint16
65
+ FullName *uint16
66
+ }
67
+
68
+ //sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo
69
+ //sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation
70
+ //sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree
71
+ //sys NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) = netapi32.NetUserEnum
72
+
73
+ const (
74
+ // do not reorder
75
+ SidTypeUser = 1 + iota
76
+ SidTypeGroup
77
+ SidTypeDomain
78
+ SidTypeAlias
79
+ SidTypeWellKnownGroup
80
+ SidTypeDeletedAccount
81
+ SidTypeInvalid
82
+ SidTypeUnknown
83
+ SidTypeComputer
84
+ SidTypeLabel
85
+ )
86
+
87
+ type SidIdentifierAuthority struct {
88
+ Value [6]byte
89
+ }
90
+
91
+ var (
92
+ SECURITY_NULL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 0}}
93
+ SECURITY_WORLD_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 1}}
94
+ SECURITY_LOCAL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 2}}
95
+ SECURITY_CREATOR_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 3}}
96
+ SECURITY_NON_UNIQUE_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 4}}
97
+ SECURITY_NT_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 5}}
98
+ SECURITY_MANDATORY_LABEL_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 16}}
99
+ )
100
+
101
+ const (
102
+ SECURITY_NULL_RID = 0
103
+ SECURITY_WORLD_RID = 0
104
+ SECURITY_LOCAL_RID = 0
105
+ SECURITY_CREATOR_OWNER_RID = 0
106
+ SECURITY_CREATOR_GROUP_RID = 1
107
+ SECURITY_DIALUP_RID = 1
108
+ SECURITY_NETWORK_RID = 2
109
+ SECURITY_BATCH_RID = 3
110
+ SECURITY_INTERACTIVE_RID = 4
111
+ SECURITY_LOGON_IDS_RID = 5
112
+ SECURITY_SERVICE_RID = 6
113
+ SECURITY_LOCAL_SYSTEM_RID = 18
114
+ SECURITY_BUILTIN_DOMAIN_RID = 32
115
+ SECURITY_PRINCIPAL_SELF_RID = 10
116
+ SECURITY_CREATOR_OWNER_SERVER_RID = 0x2
117
+ SECURITY_CREATOR_GROUP_SERVER_RID = 0x3
118
+ SECURITY_LOGON_IDS_RID_COUNT = 0x3
119
+ SECURITY_ANONYMOUS_LOGON_RID = 0x7
120
+ SECURITY_PROXY_RID = 0x8
121
+ SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x9
122
+ SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID
123
+ SECURITY_AUTHENTICATED_USER_RID = 0xb
124
+ SECURITY_RESTRICTED_CODE_RID = 0xc
125
+ SECURITY_NT_NON_UNIQUE_RID = 0x15
126
+ )
127
+
128
+ // Predefined domain-relative RIDs for local groups.
129
+ // See https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx
130
+ const (
131
+ DOMAIN_ALIAS_RID_ADMINS = 0x220
132
+ DOMAIN_ALIAS_RID_USERS = 0x221
133
+ DOMAIN_ALIAS_RID_GUESTS = 0x222
134
+ DOMAIN_ALIAS_RID_POWER_USERS = 0x223
135
+ DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224
136
+ DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225
137
+ DOMAIN_ALIAS_RID_PRINT_OPS = 0x226
138
+ DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227
139
+ DOMAIN_ALIAS_RID_REPLICATOR = 0x228
140
+ DOMAIN_ALIAS_RID_RAS_SERVERS = 0x229
141
+ DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a
142
+ DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x22b
143
+ DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x22c
144
+ DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 0x22d
145
+ DOMAIN_ALIAS_RID_MONITORING_USERS = 0x22e
146
+ DOMAIN_ALIAS_RID_LOGGING_USERS = 0x22f
147
+ DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 0x230
148
+ DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 0x231
149
+ DOMAIN_ALIAS_RID_DCOM_USERS = 0x232
150
+ DOMAIN_ALIAS_RID_IUSERS = 0x238
151
+ DOMAIN_ALIAS_RID_CRYPTO_OPERATORS = 0x239
152
+ DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP = 0x23b
153
+ DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP = 0x23c
154
+ DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP = 0x23d
155
+ DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP = 0x23e
156
+ )
157
+
158
+ //sys LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountSidW
159
+ //sys LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountNameW
160
+ //sys ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) = advapi32.ConvertSidToStringSidW
161
+ //sys ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) = advapi32.ConvertStringSidToSidW
162
+ //sys GetLengthSid(sid *SID) (len uint32) = advapi32.GetLengthSid
163
+ //sys CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) = advapi32.CopySid
164
+ //sys AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) = advapi32.AllocateAndInitializeSid
165
+ //sys createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) = advapi32.CreateWellKnownSid
166
+ //sys isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) = advapi32.IsWellKnownSid
167
+ //sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid
168
+ //sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid
169
+ //sys getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) = advapi32.GetSidIdentifierAuthority
170
+ //sys getSidSubAuthorityCount(sid *SID) (count *uint8) = advapi32.GetSidSubAuthorityCount
171
+ //sys getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) = advapi32.GetSidSubAuthority
172
+ //sys isValidSid(sid *SID) (isValid bool) = advapi32.IsValidSid
173
+
174
+ // The security identifier (SID) structure is a variable-length
175
+ // structure used to uniquely identify users or groups.
176
+ type SID struct{}
177
+
178
+ // StringToSid converts a string-format security identifier
179
+ // SID into a valid, functional SID.
180
+ func StringToSid(s string) (*SID, error) {
181
+ var sid *SID
182
+ p, e := UTF16PtrFromString(s)
183
+ if e != nil {
184
+ return nil, e
185
+ }
186
+ e = ConvertStringSidToSid(p, &sid)
187
+ if e != nil {
188
+ return nil, e
189
+ }
190
+ defer LocalFree((Handle)(unsafe.Pointer(sid)))
191
+ return sid.Copy()
192
+ }
193
+
194
+ // LookupSID retrieves a security identifier SID for the account
195
+ // and the name of the domain on which the account was found.
196
+ // System specify target computer to search.
197
+ func LookupSID(system, account string) (sid *SID, domain string, accType uint32, err error) {
198
+ if len(account) == 0 {
199
+ return nil, "", 0, syscall.EINVAL
200
+ }
201
+ acc, e := UTF16PtrFromString(account)
202
+ if e != nil {
203
+ return nil, "", 0, e
204
+ }
205
+ var sys *uint16
206
+ if len(system) > 0 {
207
+ sys, e = UTF16PtrFromString(system)
208
+ if e != nil {
209
+ return nil, "", 0, e
210
+ }
211
+ }
212
+ n := uint32(50)
213
+ dn := uint32(50)
214
+ for {
215
+ b := make([]byte, n)
216
+ db := make([]uint16, dn)
217
+ sid = (*SID)(unsafe.Pointer(&b[0]))
218
+ e = LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType)
219
+ if e == nil {
220
+ return sid, UTF16ToString(db), accType, nil
221
+ }
222
+ if e != ERROR_INSUFFICIENT_BUFFER {
223
+ return nil, "", 0, e
224
+ }
225
+ if n <= uint32(len(b)) {
226
+ return nil, "", 0, e
227
+ }
228
+ }
229
+ }
230
+
231
+ // String converts SID to a string format suitable for display, storage, or transmission.
232
+ func (sid *SID) String() string {
233
+ var s *uint16
234
+ e := ConvertSidToStringSid(sid, &s)
235
+ if e != nil {
236
+ return ""
237
+ }
238
+ defer LocalFree((Handle)(unsafe.Pointer(s)))
239
+ return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:])
240
+ }
241
+
242
+ // Len returns the length, in bytes, of a valid security identifier SID.
243
+ func (sid *SID) Len() int {
244
+ return int(GetLengthSid(sid))
245
+ }
246
+
247
+ // Copy creates a duplicate of security identifier SID.
248
+ func (sid *SID) Copy() (*SID, error) {
249
+ b := make([]byte, sid.Len())
250
+ sid2 := (*SID)(unsafe.Pointer(&b[0]))
251
+ e := CopySid(uint32(len(b)), sid2, sid)
252
+ if e != nil {
253
+ return nil, e
254
+ }
255
+ return sid2, nil
256
+ }
257
+
258
+ // IdentifierAuthority returns the identifier authority of the SID.
259
+ func (sid *SID) IdentifierAuthority() SidIdentifierAuthority {
260
+ return *getSidIdentifierAuthority(sid)
261
+ }
262
+
263
+ // SubAuthorityCount returns the number of sub-authorities in the SID.
264
+ func (sid *SID) SubAuthorityCount() uint8 {
265
+ return *getSidSubAuthorityCount(sid)
266
+ }
267
+
268
+ // SubAuthority returns the sub-authority of the SID as specified by
269
+ // the index, which must be less than sid.SubAuthorityCount().
270
+ func (sid *SID) SubAuthority(idx uint32) uint32 {
271
+ if idx >= uint32(sid.SubAuthorityCount()) {
272
+ panic("sub-authority index out of range")
273
+ }
274
+ return *getSidSubAuthority(sid, idx)
275
+ }
276
+
277
+ // IsValid returns whether the SID has a valid revision and length.
278
+ func (sid *SID) IsValid() bool {
279
+ return isValidSid(sid)
280
+ }
281
+
282
+ // Equals compares two SIDs for equality.
283
+ func (sid *SID) Equals(sid2 *SID) bool {
284
+ return EqualSid(sid, sid2)
285
+ }
286
+
287
+ // IsWellKnown determines whether the SID matches the well-known sidType.
288
+ func (sid *SID) IsWellKnown(sidType WELL_KNOWN_SID_TYPE) bool {
289
+ return isWellKnownSid(sid, sidType)
290
+ }
291
+
292
+ // LookupAccount retrieves the name of the account for this SID
293
+ // and the name of the first domain on which this SID is found.
294
+ // System specify target computer to search for.
295
+ func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) {
296
+ var sys *uint16
297
+ if len(system) > 0 {
298
+ sys, err = UTF16PtrFromString(system)
299
+ if err != nil {
300
+ return "", "", 0, err
301
+ }
302
+ }
303
+ n := uint32(50)
304
+ dn := uint32(50)
305
+ for {
306
+ b := make([]uint16, n)
307
+ db := make([]uint16, dn)
308
+ e := LookupAccountSid(sys, sid, &b[0], &n, &db[0], &dn, &accType)
309
+ if e == nil {
310
+ return UTF16ToString(b), UTF16ToString(db), accType, nil
311
+ }
312
+ if e != ERROR_INSUFFICIENT_BUFFER {
313
+ return "", "", 0, e
314
+ }
315
+ if n <= uint32(len(b)) {
316
+ return "", "", 0, e
317
+ }
318
+ }
319
+ }
320
+
321
+ // Various types of pre-specified SIDs that can be synthesized and compared at runtime.
322
+ type WELL_KNOWN_SID_TYPE uint32
323
+
324
+ const (
325
+ WinNullSid = 0
326
+ WinWorldSid = 1
327
+ WinLocalSid = 2
328
+ WinCreatorOwnerSid = 3
329
+ WinCreatorGroupSid = 4
330
+ WinCreatorOwnerServerSid = 5
331
+ WinCreatorGroupServerSid = 6
332
+ WinNtAuthoritySid = 7
333
+ WinDialupSid = 8
334
+ WinNetworkSid = 9
335
+ WinBatchSid = 10
336
+ WinInteractiveSid = 11
337
+ WinServiceSid = 12
338
+ WinAnonymousSid = 13
339
+ WinProxySid = 14
340
+ WinEnterpriseControllersSid = 15
341
+ WinSelfSid = 16
342
+ WinAuthenticatedUserSid = 17
343
+ WinRestrictedCodeSid = 18
344
+ WinTerminalServerSid = 19
345
+ WinRemoteLogonIdSid = 20
346
+ WinLogonIdsSid = 21
347
+ WinLocalSystemSid = 22
348
+ WinLocalServiceSid = 23
349
+ WinNetworkServiceSid = 24
350
+ WinBuiltinDomainSid = 25
351
+ WinBuiltinAdministratorsSid = 26
352
+ WinBuiltinUsersSid = 27
353
+ WinBuiltinGuestsSid = 28
354
+ WinBuiltinPowerUsersSid = 29
355
+ WinBuiltinAccountOperatorsSid = 30
356
+ WinBuiltinSystemOperatorsSid = 31
357
+ WinBuiltinPrintOperatorsSid = 32
358
+ WinBuiltinBackupOperatorsSid = 33
359
+ WinBuiltinReplicatorSid = 34
360
+ WinBuiltinPreWindows2000CompatibleAccessSid = 35
361
+ WinBuiltinRemoteDesktopUsersSid = 36
362
+ WinBuiltinNetworkConfigurationOperatorsSid = 37
363
+ WinAccountAdministratorSid = 38
364
+ WinAccountGuestSid = 39
365
+ WinAccountKrbtgtSid = 40
366
+ WinAccountDomainAdminsSid = 41
367
+ WinAccountDomainUsersSid = 42
368
+ WinAccountDomainGuestsSid = 43
369
+ WinAccountComputersSid = 44
370
+ WinAccountControllersSid = 45
371
+ WinAccountCertAdminsSid = 46
372
+ WinAccountSchemaAdminsSid = 47
373
+ WinAccountEnterpriseAdminsSid = 48
374
+ WinAccountPolicyAdminsSid = 49
375
+ WinAccountRasAndIasServersSid = 50
376
+ WinNTLMAuthenticationSid = 51
377
+ WinDigestAuthenticationSid = 52
378
+ WinSChannelAuthenticationSid = 53
379
+ WinThisOrganizationSid = 54
380
+ WinOtherOrganizationSid = 55
381
+ WinBuiltinIncomingForestTrustBuildersSid = 56
382
+ WinBuiltinPerfMonitoringUsersSid = 57
383
+ WinBuiltinPerfLoggingUsersSid = 58
384
+ WinBuiltinAuthorizationAccessSid = 59
385
+ WinBuiltinTerminalServerLicenseServersSid = 60
386
+ WinBuiltinDCOMUsersSid = 61
387
+ WinBuiltinIUsersSid = 62
388
+ WinIUserSid = 63
389
+ WinBuiltinCryptoOperatorsSid = 64
390
+ WinUntrustedLabelSid = 65
391
+ WinLowLabelSid = 66
392
+ WinMediumLabelSid = 67
393
+ WinHighLabelSid = 68
394
+ WinSystemLabelSid = 69
395
+ WinWriteRestrictedCodeSid = 70
396
+ WinCreatorOwnerRightsSid = 71
397
+ WinCacheablePrincipalsGroupSid = 72
398
+ WinNonCacheablePrincipalsGroupSid = 73
399
+ WinEnterpriseReadonlyControllersSid = 74
400
+ WinAccountReadonlyControllersSid = 75
401
+ WinBuiltinEventLogReadersGroup = 76
402
+ WinNewEnterpriseReadonlyControllersSid = 77
403
+ WinBuiltinCertSvcDComAccessGroup = 78
404
+ WinMediumPlusLabelSid = 79
405
+ WinLocalLogonSid = 80
406
+ WinConsoleLogonSid = 81
407
+ WinThisOrganizationCertificateSid = 82
408
+ WinApplicationPackageAuthoritySid = 83
409
+ WinBuiltinAnyPackageSid = 84
410
+ WinCapabilityInternetClientSid = 85
411
+ WinCapabilityInternetClientServerSid = 86
412
+ WinCapabilityPrivateNetworkClientServerSid = 87
413
+ WinCapabilityPicturesLibrarySid = 88
414
+ WinCapabilityVideosLibrarySid = 89
415
+ WinCapabilityMusicLibrarySid = 90
416
+ WinCapabilityDocumentsLibrarySid = 91
417
+ WinCapabilitySharedUserCertificatesSid = 92
418
+ WinCapabilityEnterpriseAuthenticationSid = 93
419
+ WinCapabilityRemovableStorageSid = 94
420
+ WinBuiltinRDSRemoteAccessServersSid = 95
421
+ WinBuiltinRDSEndpointServersSid = 96
422
+ WinBuiltinRDSManagementServersSid = 97
423
+ WinUserModeDriversSid = 98
424
+ WinBuiltinHyperVAdminsSid = 99
425
+ WinAccountCloneableControllersSid = 100
426
+ WinBuiltinAccessControlAssistanceOperatorsSid = 101
427
+ WinBuiltinRemoteManagementUsersSid = 102
428
+ WinAuthenticationAuthorityAssertedSid = 103
429
+ WinAuthenticationServiceAssertedSid = 104
430
+ WinLocalAccountSid = 105
431
+ WinLocalAccountAndAdministratorSid = 106
432
+ WinAccountProtectedUsersSid = 107
433
+ WinCapabilityAppointmentsSid = 108
434
+ WinCapabilityContactsSid = 109
435
+ WinAccountDefaultSystemManagedSid = 110
436
+ WinBuiltinDefaultSystemManagedGroupSid = 111
437
+ WinBuiltinStorageReplicaAdminsSid = 112
438
+ WinAccountKeyAdminsSid = 113
439
+ WinAccountEnterpriseKeyAdminsSid = 114
440
+ WinAuthenticationKeyTrustSid = 115
441
+ WinAuthenticationKeyPropertyMFASid = 116
442
+ WinAuthenticationKeyPropertyAttestationSid = 117
443
+ WinAuthenticationFreshKeyAuthSid = 118
444
+ WinBuiltinDeviceOwnersSid = 119
445
+ )
446
+
447
+ // Creates a SID for a well-known predefined alias, generally using the constants of the form
448
+ // Win*Sid, for the local machine.
449
+ func CreateWellKnownSid(sidType WELL_KNOWN_SID_TYPE) (*SID, error) {
450
+ return CreateWellKnownDomainSid(sidType, nil)
451
+ }
452
+
453
+ // Creates a SID for a well-known predefined alias, generally using the constants of the form
454
+ // Win*Sid, for the domain specified by the domainSid parameter.
455
+ func CreateWellKnownDomainSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID) (*SID, error) {
456
+ n := uint32(50)
457
+ for {
458
+ b := make([]byte, n)
459
+ sid := (*SID)(unsafe.Pointer(&b[0]))
460
+ err := createWellKnownSid(sidType, domainSid, sid, &n)
461
+ if err == nil {
462
+ return sid, nil
463
+ }
464
+ if err != ERROR_INSUFFICIENT_BUFFER {
465
+ return nil, err
466
+ }
467
+ if n <= uint32(len(b)) {
468
+ return nil, err
469
+ }
470
+ }
471
+ }
472
+
473
+ const (
474
+ // do not reorder
475
+ TOKEN_ASSIGN_PRIMARY = 1 << iota
476
+ TOKEN_DUPLICATE
477
+ TOKEN_IMPERSONATE
478
+ TOKEN_QUERY
479
+ TOKEN_QUERY_SOURCE
480
+ TOKEN_ADJUST_PRIVILEGES
481
+ TOKEN_ADJUST_GROUPS
482
+ TOKEN_ADJUST_DEFAULT
483
+ TOKEN_ADJUST_SESSIONID
484
+
485
+ TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED |
486
+ TOKEN_ASSIGN_PRIMARY |
487
+ TOKEN_DUPLICATE |
488
+ TOKEN_IMPERSONATE |
489
+ TOKEN_QUERY |
490
+ TOKEN_QUERY_SOURCE |
491
+ TOKEN_ADJUST_PRIVILEGES |
492
+ TOKEN_ADJUST_GROUPS |
493
+ TOKEN_ADJUST_DEFAULT |
494
+ TOKEN_ADJUST_SESSIONID
495
+ TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY
496
+ TOKEN_WRITE = STANDARD_RIGHTS_WRITE |
497
+ TOKEN_ADJUST_PRIVILEGES |
498
+ TOKEN_ADJUST_GROUPS |
499
+ TOKEN_ADJUST_DEFAULT
500
+ TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE
501
+ )
502
+
503
+ const (
504
+ // do not reorder
505
+ TokenUser = 1 + iota
506
+ TokenGroups
507
+ TokenPrivileges
508
+ TokenOwner
509
+ TokenPrimaryGroup
510
+ TokenDefaultDacl
511
+ TokenSource
512
+ TokenType
513
+ TokenImpersonationLevel
514
+ TokenStatistics
515
+ TokenRestrictedSids
516
+ TokenSessionId
517
+ TokenGroupsAndPrivileges
518
+ TokenSessionReference
519
+ TokenSandBoxInert
520
+ TokenAuditPolicy
521
+ TokenOrigin
522
+ TokenElevationType
523
+ TokenLinkedToken
524
+ TokenElevation
525
+ TokenHasRestrictions
526
+ TokenAccessInformation
527
+ TokenVirtualizationAllowed
528
+ TokenVirtualizationEnabled
529
+ TokenIntegrityLevel
530
+ TokenUIAccess
531
+ TokenMandatoryPolicy
532
+ TokenLogonSid
533
+ MaxTokenInfoClass
534
+ )
535
+
536
+ // Group attributes inside of Tokengroups.Groups[i].Attributes
537
+ const (
538
+ SE_GROUP_MANDATORY = 0x00000001
539
+ SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002
540
+ SE_GROUP_ENABLED = 0x00000004
541
+ SE_GROUP_OWNER = 0x00000008
542
+ SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010
543
+ SE_GROUP_INTEGRITY = 0x00000020
544
+ SE_GROUP_INTEGRITY_ENABLED = 0x00000040
545
+ SE_GROUP_LOGON_ID = 0xC0000000
546
+ SE_GROUP_RESOURCE = 0x20000000
547
+ SE_GROUP_VALID_ATTRIBUTES = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED
548
+ )
549
+
550
+ // Privilege attributes
551
+ const (
552
+ SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001
553
+ SE_PRIVILEGE_ENABLED = 0x00000002
554
+ SE_PRIVILEGE_REMOVED = 0x00000004
555
+ SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000
556
+ SE_PRIVILEGE_VALID_ATTRIBUTES = SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS
557
+ )
558
+
559
+ // Token types
560
+ const (
561
+ TokenPrimary = 1
562
+ TokenImpersonation = 2
563
+ )
564
+
565
+ // Impersonation levels
566
+ const (
567
+ SecurityAnonymous = 0
568
+ SecurityIdentification = 1
569
+ SecurityImpersonation = 2
570
+ SecurityDelegation = 3
571
+ )
572
+
573
+ type LUID struct {
574
+ LowPart uint32
575
+ HighPart int32
576
+ }
577
+
578
+ type LUIDAndAttributes struct {
579
+ Luid LUID
580
+ Attributes uint32
581
+ }
582
+
583
+ type SIDAndAttributes struct {
584
+ Sid *SID
585
+ Attributes uint32
586
+ }
587
+
588
+ type Tokenuser struct {
589
+ User SIDAndAttributes
590
+ }
591
+
592
+ type Tokenprimarygroup struct {
593
+ PrimaryGroup *SID
594
+ }
595
+
596
+ type Tokengroups struct {
597
+ GroupCount uint32
598
+ Groups [1]SIDAndAttributes // Use AllGroups() for iterating.
599
+ }
600
+
601
+ // AllGroups returns a slice that can be used to iterate over the groups in g.
602
+ func (g *Tokengroups) AllGroups() []SIDAndAttributes {
603
+ return (*[(1 << 28) - 1]SIDAndAttributes)(unsafe.Pointer(&g.Groups[0]))[:g.GroupCount:g.GroupCount]
604
+ }
605
+
606
+ type Tokenprivileges struct {
607
+ PrivilegeCount uint32
608
+ Privileges [1]LUIDAndAttributes // Use AllPrivileges() for iterating.
609
+ }
610
+
611
+ // AllPrivileges returns a slice that can be used to iterate over the privileges in p.
612
+ func (p *Tokenprivileges) AllPrivileges() []LUIDAndAttributes {
613
+ return (*[(1 << 27) - 1]LUIDAndAttributes)(unsafe.Pointer(&p.Privileges[0]))[:p.PrivilegeCount:p.PrivilegeCount]
614
+ }
615
+
616
+ type Tokenmandatorylabel struct {
617
+ Label SIDAndAttributes
618
+ }
619
+
620
+ func (tml *Tokenmandatorylabel) Size() uint32 {
621
+ return uint32(unsafe.Sizeof(Tokenmandatorylabel{})) + GetLengthSid(tml.Label.Sid)
622
+ }
623
+
624
+ // Authorization Functions
625
+ //sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership
626
+ //sys isTokenRestricted(tokenHandle Token) (ret bool, err error) [!failretval] = advapi32.IsTokenRestricted
627
+ //sys OpenProcessToken(process Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken
628
+ //sys OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) = advapi32.OpenThreadToken
629
+ //sys ImpersonateSelf(impersonationlevel uint32) (err error) = advapi32.ImpersonateSelf
630
+ //sys RevertToSelf() (err error) = advapi32.RevertToSelf
631
+ //sys SetThreadToken(thread *Handle, token Token) (err error) = advapi32.SetThreadToken
632
+ //sys LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) = advapi32.LookupPrivilegeValueW
633
+ //sys AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) = advapi32.AdjustTokenPrivileges
634
+ //sys AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) = advapi32.AdjustTokenGroups
635
+ //sys GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation
636
+ //sys SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) = advapi32.SetTokenInformation
637
+ //sys DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) = advapi32.DuplicateTokenEx
638
+ //sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW
639
+ //sys getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemDirectoryW
640
+ //sys getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetWindowsDirectoryW
641
+ //sys getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemWindowsDirectoryW
642
+
643
+ // An access token contains the security information for a logon session.
644
+ // The system creates an access token when a user logs on, and every
645
+ // process executed on behalf of the user has a copy of the token.
646
+ // The token identifies the user, the user's groups, and the user's
647
+ // privileges. The system uses the token to control access to securable
648
+ // objects and to control the ability of the user to perform various
649
+ // system-related operations on the local computer.
650
+ type Token Handle
651
+
652
+ // OpenCurrentProcessToken opens an access token associated with current
653
+ // process with TOKEN_QUERY access. It is a real token that needs to be closed.
654
+ //
655
+ // Deprecated: Explicitly call OpenProcessToken(CurrentProcess(), ...)
656
+ // with the desired access instead, or use GetCurrentProcessToken for a
657
+ // TOKEN_QUERY token.
658
+ func OpenCurrentProcessToken() (Token, error) {
659
+ var token Token
660
+ err := OpenProcessToken(CurrentProcess(), TOKEN_QUERY, &token)
661
+ return token, err
662
+ }
663
+
664
+ // GetCurrentProcessToken returns the access token associated with
665
+ // the current process. It is a pseudo token that does not need
666
+ // to be closed.
667
+ func GetCurrentProcessToken() Token {
668
+ return Token(^uintptr(4 - 1))
669
+ }
670
+
671
+ // GetCurrentThreadToken return the access token associated with
672
+ // the current thread. It is a pseudo token that does not need
673
+ // to be closed.
674
+ func GetCurrentThreadToken() Token {
675
+ return Token(^uintptr(5 - 1))
676
+ }
677
+
678
+ // GetCurrentThreadEffectiveToken returns the effective access token
679
+ // associated with the current thread. It is a pseudo token that does
680
+ // not need to be closed.
681
+ func GetCurrentThreadEffectiveToken() Token {
682
+ return Token(^uintptr(6 - 1))
683
+ }
684
+
685
+ // Close releases access to access token.
686
+ func (t Token) Close() error {
687
+ return CloseHandle(Handle(t))
688
+ }
689
+
690
+ // getInfo retrieves a specified type of information about an access token.
691
+ func (t Token) getInfo(class uint32, initSize int) (unsafe.Pointer, error) {
692
+ n := uint32(initSize)
693
+ for {
694
+ b := make([]byte, n)
695
+ e := GetTokenInformation(t, class, &b[0], uint32(len(b)), &n)
696
+ if e == nil {
697
+ return unsafe.Pointer(&b[0]), nil
698
+ }
699
+ if e != ERROR_INSUFFICIENT_BUFFER {
700
+ return nil, e
701
+ }
702
+ if n <= uint32(len(b)) {
703
+ return nil, e
704
+ }
705
+ }
706
+ }
707
+
708
+ // GetTokenUser retrieves access token t user account information.
709
+ func (t Token) GetTokenUser() (*Tokenuser, error) {
710
+ i, e := t.getInfo(TokenUser, 50)
711
+ if e != nil {
712
+ return nil, e
713
+ }
714
+ return (*Tokenuser)(i), nil
715
+ }
716
+
717
+ // GetTokenGroups retrieves group accounts associated with access token t.
718
+ func (t Token) GetTokenGroups() (*Tokengroups, error) {
719
+ i, e := t.getInfo(TokenGroups, 50)
720
+ if e != nil {
721
+ return nil, e
722
+ }
723
+ return (*Tokengroups)(i), nil
724
+ }
725
+
726
+ // GetTokenPrimaryGroup retrieves access token t primary group information.
727
+ // A pointer to a SID structure representing a group that will become
728
+ // the primary group of any objects created by a process using this access token.
729
+ func (t Token) GetTokenPrimaryGroup() (*Tokenprimarygroup, error) {
730
+ i, e := t.getInfo(TokenPrimaryGroup, 50)
731
+ if e != nil {
732
+ return nil, e
733
+ }
734
+ return (*Tokenprimarygroup)(i), nil
735
+ }
736
+
737
+ // GetUserProfileDirectory retrieves path to the
738
+ // root directory of the access token t user's profile.
739
+ func (t Token) GetUserProfileDirectory() (string, error) {
740
+ n := uint32(100)
741
+ for {
742
+ b := make([]uint16, n)
743
+ e := GetUserProfileDirectory(t, &b[0], &n)
744
+ if e == nil {
745
+ return UTF16ToString(b), nil
746
+ }
747
+ if e != ERROR_INSUFFICIENT_BUFFER {
748
+ return "", e
749
+ }
750
+ if n <= uint32(len(b)) {
751
+ return "", e
752
+ }
753
+ }
754
+ }
755
+
756
+ // IsElevated returns whether the current token is elevated from a UAC perspective.
757
+ func (token Token) IsElevated() bool {
758
+ var isElevated uint32
759
+ var outLen uint32
760
+ err := GetTokenInformation(token, TokenElevation, (*byte)(unsafe.Pointer(&isElevated)), uint32(unsafe.Sizeof(isElevated)), &outLen)
761
+ if err != nil {
762
+ return false
763
+ }
764
+ return outLen == uint32(unsafe.Sizeof(isElevated)) && isElevated != 0
765
+ }
766
+
767
+ // GetLinkedToken returns the linked token, which may be an elevated UAC token.
768
+ func (token Token) GetLinkedToken() (Token, error) {
769
+ var linkedToken Token
770
+ var outLen uint32
771
+ err := GetTokenInformation(token, TokenLinkedToken, (*byte)(unsafe.Pointer(&linkedToken)), uint32(unsafe.Sizeof(linkedToken)), &outLen)
772
+ if err != nil {
773
+ return Token(0), err
774
+ }
775
+ return linkedToken, nil
776
+ }
777
+
778
+ // GetSystemDirectory retrieves the path to current location of the system
779
+ // directory, which is typically, though not always, `C:\Windows\System32`.
780
+ func GetSystemDirectory() (string, error) {
781
+ n := uint32(MAX_PATH)
782
+ for {
783
+ b := make([]uint16, n)
784
+ l, e := getSystemDirectory(&b[0], n)
785
+ if e != nil {
786
+ return "", e
787
+ }
788
+ if l <= n {
789
+ return UTF16ToString(b[:l]), nil
790
+ }
791
+ n = l
792
+ }
793
+ }
794
+
795
+ // GetWindowsDirectory retrieves the path to current location of the Windows
796
+ // directory, which is typically, though not always, `C:\Windows`. This may
797
+ // be a private user directory in the case that the application is running
798
+ // under a terminal server.
799
+ func GetWindowsDirectory() (string, error) {
800
+ n := uint32(MAX_PATH)
801
+ for {
802
+ b := make([]uint16, n)
803
+ l, e := getWindowsDirectory(&b[0], n)
804
+ if e != nil {
805
+ return "", e
806
+ }
807
+ if l <= n {
808
+ return UTF16ToString(b[:l]), nil
809
+ }
810
+ n = l
811
+ }
812
+ }
813
+
814
+ // GetSystemWindowsDirectory retrieves the path to current location of the
815
+ // Windows directory, which is typically, though not always, `C:\Windows`.
816
+ func GetSystemWindowsDirectory() (string, error) {
817
+ n := uint32(MAX_PATH)
818
+ for {
819
+ b := make([]uint16, n)
820
+ l, e := getSystemWindowsDirectory(&b[0], n)
821
+ if e != nil {
822
+ return "", e
823
+ }
824
+ if l <= n {
825
+ return UTF16ToString(b[:l]), nil
826
+ }
827
+ n = l
828
+ }
829
+ }
830
+
831
+ // IsMember reports whether the access token t is a member of the provided SID.
832
+ func (t Token) IsMember(sid *SID) (bool, error) {
833
+ var b int32
834
+ if e := checkTokenMembership(t, sid, &b); e != nil {
835
+ return false, e
836
+ }
837
+ return b != 0, nil
838
+ }
839
+
840
+ // IsRestricted reports whether the access token t is a restricted token.
841
+ func (t Token) IsRestricted() (isRestricted bool, err error) {
842
+ isRestricted, err = isTokenRestricted(t)
843
+ if !isRestricted && err == syscall.EINVAL {
844
+ // If err is EINVAL, this returned ERROR_SUCCESS indicating a non-restricted token.
845
+ err = nil
846
+ }
847
+ return
848
+ }
849
+
850
+ const (
851
+ WTS_CONSOLE_CONNECT = 0x1
852
+ WTS_CONSOLE_DISCONNECT = 0x2
853
+ WTS_REMOTE_CONNECT = 0x3
854
+ WTS_REMOTE_DISCONNECT = 0x4
855
+ WTS_SESSION_LOGON = 0x5
856
+ WTS_SESSION_LOGOFF = 0x6
857
+ WTS_SESSION_LOCK = 0x7
858
+ WTS_SESSION_UNLOCK = 0x8
859
+ WTS_SESSION_REMOTE_CONTROL = 0x9
860
+ WTS_SESSION_CREATE = 0xa
861
+ WTS_SESSION_TERMINATE = 0xb
862
+ )
863
+
864
+ const (
865
+ WTSActive = 0
866
+ WTSConnected = 1
867
+ WTSConnectQuery = 2
868
+ WTSShadow = 3
869
+ WTSDisconnected = 4
870
+ WTSIdle = 5
871
+ WTSListen = 6
872
+ WTSReset = 7
873
+ WTSDown = 8
874
+ WTSInit = 9
875
+ )
876
+
877
+ type WTSSESSION_NOTIFICATION struct {
878
+ Size uint32
879
+ SessionID uint32
880
+ }
881
+
882
+ type WTS_SESSION_INFO struct {
883
+ SessionID uint32
884
+ WindowStationName *uint16
885
+ State uint32
886
+ }
887
+
888
+ //sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken
889
+ //sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW
890
+ //sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory
891
+ //sys WTSGetActiveConsoleSessionId() (sessionID uint32)
892
+
893
+ type ACL struct {
894
+ aclRevision byte
895
+ sbz1 byte
896
+ aclSize uint16
897
+ AceCount uint16
898
+ sbz2 uint16
899
+ }
900
+
901
+ type SECURITY_DESCRIPTOR struct {
902
+ revision byte
903
+ sbz1 byte
904
+ control SECURITY_DESCRIPTOR_CONTROL
905
+ owner *SID
906
+ group *SID
907
+ sacl *ACL
908
+ dacl *ACL
909
+ }
910
+
911
+ type SECURITY_QUALITY_OF_SERVICE struct {
912
+ Length uint32
913
+ ImpersonationLevel uint32
914
+ ContextTrackingMode byte
915
+ EffectiveOnly byte
916
+ }
917
+
918
+ // Constants for the ContextTrackingMode field of SECURITY_QUALITY_OF_SERVICE.
919
+ const (
920
+ SECURITY_STATIC_TRACKING = 0
921
+ SECURITY_DYNAMIC_TRACKING = 1
922
+ )
923
+
924
+ type SecurityAttributes struct {
925
+ Length uint32
926
+ SecurityDescriptor *SECURITY_DESCRIPTOR
927
+ InheritHandle uint32
928
+ }
929
+
930
+ type SE_OBJECT_TYPE uint32
931
+
932
+ // Constants for type SE_OBJECT_TYPE
933
+ const (
934
+ SE_UNKNOWN_OBJECT_TYPE = 0
935
+ SE_FILE_OBJECT = 1
936
+ SE_SERVICE = 2
937
+ SE_PRINTER = 3
938
+ SE_REGISTRY_KEY = 4
939
+ SE_LMSHARE = 5
940
+ SE_KERNEL_OBJECT = 6
941
+ SE_WINDOW_OBJECT = 7
942
+ SE_DS_OBJECT = 8
943
+ SE_DS_OBJECT_ALL = 9
944
+ SE_PROVIDER_DEFINED_OBJECT = 10
945
+ SE_WMIGUID_OBJECT = 11
946
+ SE_REGISTRY_WOW64_32KEY = 12
947
+ SE_REGISTRY_WOW64_64KEY = 13
948
+ )
949
+
950
+ type SECURITY_INFORMATION uint32
951
+
952
+ // Constants for type SECURITY_INFORMATION
953
+ const (
954
+ OWNER_SECURITY_INFORMATION = 0x00000001
955
+ GROUP_SECURITY_INFORMATION = 0x00000002
956
+ DACL_SECURITY_INFORMATION = 0x00000004
957
+ SACL_SECURITY_INFORMATION = 0x00000008
958
+ LABEL_SECURITY_INFORMATION = 0x00000010
959
+ ATTRIBUTE_SECURITY_INFORMATION = 0x00000020
960
+ SCOPE_SECURITY_INFORMATION = 0x00000040
961
+ BACKUP_SECURITY_INFORMATION = 0x00010000
962
+ PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000
963
+ PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000
964
+ UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000
965
+ UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000
966
+ )
967
+
968
+ type SECURITY_DESCRIPTOR_CONTROL uint16
969
+
970
+ // Constants for type SECURITY_DESCRIPTOR_CONTROL
971
+ const (
972
+ SE_OWNER_DEFAULTED = 0x0001
973
+ SE_GROUP_DEFAULTED = 0x0002
974
+ SE_DACL_PRESENT = 0x0004
975
+ SE_DACL_DEFAULTED = 0x0008
976
+ SE_SACL_PRESENT = 0x0010
977
+ SE_SACL_DEFAULTED = 0x0020
978
+ SE_DACL_AUTO_INHERIT_REQ = 0x0100
979
+ SE_SACL_AUTO_INHERIT_REQ = 0x0200
980
+ SE_DACL_AUTO_INHERITED = 0x0400
981
+ SE_SACL_AUTO_INHERITED = 0x0800
982
+ SE_DACL_PROTECTED = 0x1000
983
+ SE_SACL_PROTECTED = 0x2000
984
+ SE_RM_CONTROL_VALID = 0x4000
985
+ SE_SELF_RELATIVE = 0x8000
986
+ )
987
+
988
+ type ACCESS_MASK uint32
989
+
990
+ // Constants for type ACCESS_MASK
991
+ const (
992
+ DELETE = 0x00010000
993
+ READ_CONTROL = 0x00020000
994
+ WRITE_DAC = 0x00040000
995
+ WRITE_OWNER = 0x00080000
996
+ SYNCHRONIZE = 0x00100000
997
+ STANDARD_RIGHTS_REQUIRED = 0x000F0000
998
+ STANDARD_RIGHTS_READ = READ_CONTROL
999
+ STANDARD_RIGHTS_WRITE = READ_CONTROL
1000
+ STANDARD_RIGHTS_EXECUTE = READ_CONTROL
1001
+ STANDARD_RIGHTS_ALL = 0x001F0000
1002
+ SPECIFIC_RIGHTS_ALL = 0x0000FFFF
1003
+ ACCESS_SYSTEM_SECURITY = 0x01000000
1004
+ MAXIMUM_ALLOWED = 0x02000000
1005
+ GENERIC_READ = 0x80000000
1006
+ GENERIC_WRITE = 0x40000000
1007
+ GENERIC_EXECUTE = 0x20000000
1008
+ GENERIC_ALL = 0x10000000
1009
+ )
1010
+
1011
+ type ACCESS_MODE uint32
1012
+
1013
+ // Constants for type ACCESS_MODE
1014
+ const (
1015
+ NOT_USED_ACCESS = 0
1016
+ GRANT_ACCESS = 1
1017
+ SET_ACCESS = 2
1018
+ DENY_ACCESS = 3
1019
+ REVOKE_ACCESS = 4
1020
+ SET_AUDIT_SUCCESS = 5
1021
+ SET_AUDIT_FAILURE = 6
1022
+ )
1023
+
1024
+ // Constants for AceFlags and Inheritance fields
1025
+ const (
1026
+ NO_INHERITANCE = 0x0
1027
+ SUB_OBJECTS_ONLY_INHERIT = 0x1
1028
+ SUB_CONTAINERS_ONLY_INHERIT = 0x2
1029
+ SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3
1030
+ INHERIT_NO_PROPAGATE = 0x4
1031
+ INHERIT_ONLY = 0x8
1032
+ INHERITED_ACCESS_ENTRY = 0x10
1033
+ INHERITED_PARENT = 0x10000000
1034
+ INHERITED_GRANDPARENT = 0x20000000
1035
+ OBJECT_INHERIT_ACE = 0x1
1036
+ CONTAINER_INHERIT_ACE = 0x2
1037
+ NO_PROPAGATE_INHERIT_ACE = 0x4
1038
+ INHERIT_ONLY_ACE = 0x8
1039
+ INHERITED_ACE = 0x10
1040
+ VALID_INHERIT_FLAGS = 0x1F
1041
+ )
1042
+
1043
+ type MULTIPLE_TRUSTEE_OPERATION uint32
1044
+
1045
+ // Constants for MULTIPLE_TRUSTEE_OPERATION
1046
+ const (
1047
+ NO_MULTIPLE_TRUSTEE = 0
1048
+ TRUSTEE_IS_IMPERSONATE = 1
1049
+ )
1050
+
1051
+ type TRUSTEE_FORM uint32
1052
+
1053
+ // Constants for TRUSTEE_FORM
1054
+ const (
1055
+ TRUSTEE_IS_SID = 0
1056
+ TRUSTEE_IS_NAME = 1
1057
+ TRUSTEE_BAD_FORM = 2
1058
+ TRUSTEE_IS_OBJECTS_AND_SID = 3
1059
+ TRUSTEE_IS_OBJECTS_AND_NAME = 4
1060
+ )
1061
+
1062
+ type TRUSTEE_TYPE uint32
1063
+
1064
+ // Constants for TRUSTEE_TYPE
1065
+ const (
1066
+ TRUSTEE_IS_UNKNOWN = 0
1067
+ TRUSTEE_IS_USER = 1
1068
+ TRUSTEE_IS_GROUP = 2
1069
+ TRUSTEE_IS_DOMAIN = 3
1070
+ TRUSTEE_IS_ALIAS = 4
1071
+ TRUSTEE_IS_WELL_KNOWN_GROUP = 5
1072
+ TRUSTEE_IS_DELETED = 6
1073
+ TRUSTEE_IS_INVALID = 7
1074
+ TRUSTEE_IS_COMPUTER = 8
1075
+ )
1076
+
1077
+ // Constants for ObjectsPresent field
1078
+ const (
1079
+ ACE_OBJECT_TYPE_PRESENT = 0x1
1080
+ ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2
1081
+ )
1082
+
1083
+ type EXPLICIT_ACCESS struct {
1084
+ AccessPermissions ACCESS_MASK
1085
+ AccessMode ACCESS_MODE
1086
+ Inheritance uint32
1087
+ Trustee TRUSTEE
1088
+ }
1089
+
1090
+ // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header
1091
+ type ACE_HEADER struct {
1092
+ AceType uint8
1093
+ AceFlags uint8
1094
+ AceSize uint16
1095
+ }
1096
+
1097
+ // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-access_allowed_ace
1098
+ type ACCESS_ALLOWED_ACE struct {
1099
+ Header ACE_HEADER
1100
+ Mask ACCESS_MASK
1101
+ SidStart uint32
1102
+ }
1103
+
1104
+ const (
1105
+ // Constants for AceType
1106
+ // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header
1107
+ ACCESS_ALLOWED_ACE_TYPE = 0
1108
+ ACCESS_DENIED_ACE_TYPE = 1
1109
+ )
1110
+
1111
+ // This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions.
1112
+ type TrusteeValue uintptr
1113
+
1114
+ func TrusteeValueFromString(str string) TrusteeValue {
1115
+ return TrusteeValue(unsafe.Pointer(StringToUTF16Ptr(str)))
1116
+ }
1117
+ func TrusteeValueFromSID(sid *SID) TrusteeValue {
1118
+ return TrusteeValue(unsafe.Pointer(sid))
1119
+ }
1120
+ func TrusteeValueFromObjectsAndSid(objectsAndSid *OBJECTS_AND_SID) TrusteeValue {
1121
+ return TrusteeValue(unsafe.Pointer(objectsAndSid))
1122
+ }
1123
+ func TrusteeValueFromObjectsAndName(objectsAndName *OBJECTS_AND_NAME) TrusteeValue {
1124
+ return TrusteeValue(unsafe.Pointer(objectsAndName))
1125
+ }
1126
+
1127
+ type TRUSTEE struct {
1128
+ MultipleTrustee *TRUSTEE
1129
+ MultipleTrusteeOperation MULTIPLE_TRUSTEE_OPERATION
1130
+ TrusteeForm TRUSTEE_FORM
1131
+ TrusteeType TRUSTEE_TYPE
1132
+ TrusteeValue TrusteeValue
1133
+ }
1134
+
1135
+ type OBJECTS_AND_SID struct {
1136
+ ObjectsPresent uint32
1137
+ ObjectTypeGuid GUID
1138
+ InheritedObjectTypeGuid GUID
1139
+ Sid *SID
1140
+ }
1141
+
1142
+ type OBJECTS_AND_NAME struct {
1143
+ ObjectsPresent uint32
1144
+ ObjectType SE_OBJECT_TYPE
1145
+ ObjectTypeName *uint16
1146
+ InheritedObjectTypeName *uint16
1147
+ Name *uint16
1148
+ }
1149
+
1150
+ //sys getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetSecurityInfo
1151
+ //sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetSecurityInfo
1152
+ //sys getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetNamedSecurityInfoW
1153
+ //sys SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetNamedSecurityInfoW
1154
+ //sys SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) = advapi32.SetKernelObjectSecurity
1155
+
1156
+ //sys buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) = advapi32.BuildSecurityDescriptorW
1157
+ //sys initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) = advapi32.InitializeSecurityDescriptor
1158
+
1159
+ //sys getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) = advapi32.GetSecurityDescriptorControl
1160
+ //sys getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorDacl
1161
+ //sys getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorSacl
1162
+ //sys getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorOwner
1163
+ //sys getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorGroup
1164
+ //sys getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) = advapi32.GetSecurityDescriptorLength
1165
+ //sys getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) [failretval!=0] = advapi32.GetSecurityDescriptorRMControl
1166
+ //sys isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) = advapi32.IsValidSecurityDescriptor
1167
+
1168
+ //sys setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) = advapi32.SetSecurityDescriptorControl
1169
+ //sys setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorDacl
1170
+ //sys setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorSacl
1171
+ //sys setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) = advapi32.SetSecurityDescriptorOwner
1172
+ //sys setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) = advapi32.SetSecurityDescriptorGroup
1173
+ //sys setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) = advapi32.SetSecurityDescriptorRMControl
1174
+
1175
+ //sys convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) = advapi32.ConvertStringSecurityDescriptorToSecurityDescriptorW
1176
+ //sys convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) = advapi32.ConvertSecurityDescriptorToStringSecurityDescriptorW
1177
+
1178
+ //sys makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) = advapi32.MakeAbsoluteSD
1179
+ //sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD
1180
+
1181
+ //sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW
1182
+ //sys GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) = advapi32.GetAce
1183
+
1184
+ // Control returns the security descriptor control bits.
1185
+ func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) {
1186
+ err = getSecurityDescriptorControl(sd, &control, &revision)
1187
+ return
1188
+ }
1189
+
1190
+ // SetControl sets the security descriptor control bits.
1191
+ func (sd *SECURITY_DESCRIPTOR) SetControl(controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) error {
1192
+ return setSecurityDescriptorControl(sd, controlBitsOfInterest, controlBitsToSet)
1193
+ }
1194
+
1195
+ // RMControl returns the security descriptor resource manager control bits.
1196
+ func (sd *SECURITY_DESCRIPTOR) RMControl() (control uint8, err error) {
1197
+ err = getSecurityDescriptorRMControl(sd, &control)
1198
+ return
1199
+ }
1200
+
1201
+ // SetRMControl sets the security descriptor resource manager control bits.
1202
+ func (sd *SECURITY_DESCRIPTOR) SetRMControl(rmControl uint8) {
1203
+ setSecurityDescriptorRMControl(sd, &rmControl)
1204
+ }
1205
+
1206
+ // DACL returns the security descriptor DACL and whether it was defaulted. The dacl return value may be nil
1207
+ // if a DACL exists but is an "empty DACL", meaning fully permissive. If the DACL does not exist, err returns
1208
+ // ERROR_OBJECT_NOT_FOUND.
1209
+ func (sd *SECURITY_DESCRIPTOR) DACL() (dacl *ACL, defaulted bool, err error) {
1210
+ var present bool
1211
+ err = getSecurityDescriptorDacl(sd, &present, &dacl, &defaulted)
1212
+ if !present {
1213
+ err = ERROR_OBJECT_NOT_FOUND
1214
+ }
1215
+ return
1216
+ }
1217
+
1218
+ // SetDACL sets the absolute security descriptor DACL.
1219
+ func (absoluteSD *SECURITY_DESCRIPTOR) SetDACL(dacl *ACL, present, defaulted bool) error {
1220
+ return setSecurityDescriptorDacl(absoluteSD, present, dacl, defaulted)
1221
+ }
1222
+
1223
+ // SACL returns the security descriptor SACL and whether it was defaulted. The sacl return value may be nil
1224
+ // if a SACL exists but is an "empty SACL", meaning fully permissive. If the SACL does not exist, err returns
1225
+ // ERROR_OBJECT_NOT_FOUND.
1226
+ func (sd *SECURITY_DESCRIPTOR) SACL() (sacl *ACL, defaulted bool, err error) {
1227
+ var present bool
1228
+ err = getSecurityDescriptorSacl(sd, &present, &sacl, &defaulted)
1229
+ if !present {
1230
+ err = ERROR_OBJECT_NOT_FOUND
1231
+ }
1232
+ return
1233
+ }
1234
+
1235
+ // SetSACL sets the absolute security descriptor SACL.
1236
+ func (absoluteSD *SECURITY_DESCRIPTOR) SetSACL(sacl *ACL, present, defaulted bool) error {
1237
+ return setSecurityDescriptorSacl(absoluteSD, present, sacl, defaulted)
1238
+ }
1239
+
1240
+ // Owner returns the security descriptor owner and whether it was defaulted.
1241
+ func (sd *SECURITY_DESCRIPTOR) Owner() (owner *SID, defaulted bool, err error) {
1242
+ err = getSecurityDescriptorOwner(sd, &owner, &defaulted)
1243
+ return
1244
+ }
1245
+
1246
+ // SetOwner sets the absolute security descriptor owner.
1247
+ func (absoluteSD *SECURITY_DESCRIPTOR) SetOwner(owner *SID, defaulted bool) error {
1248
+ return setSecurityDescriptorOwner(absoluteSD, owner, defaulted)
1249
+ }
1250
+
1251
+ // Group returns the security descriptor group and whether it was defaulted.
1252
+ func (sd *SECURITY_DESCRIPTOR) Group() (group *SID, defaulted bool, err error) {
1253
+ err = getSecurityDescriptorGroup(sd, &group, &defaulted)
1254
+ return
1255
+ }
1256
+
1257
+ // SetGroup sets the absolute security descriptor owner.
1258
+ func (absoluteSD *SECURITY_DESCRIPTOR) SetGroup(group *SID, defaulted bool) error {
1259
+ return setSecurityDescriptorGroup(absoluteSD, group, defaulted)
1260
+ }
1261
+
1262
+ // Length returns the length of the security descriptor.
1263
+ func (sd *SECURITY_DESCRIPTOR) Length() uint32 {
1264
+ return getSecurityDescriptorLength(sd)
1265
+ }
1266
+
1267
+ // IsValid returns whether the security descriptor is valid.
1268
+ func (sd *SECURITY_DESCRIPTOR) IsValid() bool {
1269
+ return isValidSecurityDescriptor(sd)
1270
+ }
1271
+
1272
+ // String returns the SDDL form of the security descriptor, with a function signature that can be
1273
+ // used with %v formatting directives.
1274
+ func (sd *SECURITY_DESCRIPTOR) String() string {
1275
+ var sddl *uint16
1276
+ err := convertSecurityDescriptorToStringSecurityDescriptor(sd, 1, 0xff, &sddl, nil)
1277
+ if err != nil {
1278
+ return ""
1279
+ }
1280
+ defer LocalFree(Handle(unsafe.Pointer(sddl)))
1281
+ return UTF16PtrToString(sddl)
1282
+ }
1283
+
1284
+ // ToAbsolute converts a self-relative security descriptor into an absolute one.
1285
+ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DESCRIPTOR, err error) {
1286
+ control, _, err := selfRelativeSD.Control()
1287
+ if err != nil {
1288
+ return
1289
+ }
1290
+ if control&SE_SELF_RELATIVE == 0 {
1291
+ err = ERROR_INVALID_PARAMETER
1292
+ return
1293
+ }
1294
+ var absoluteSDSize, daclSize, saclSize, ownerSize, groupSize uint32
1295
+ err = makeAbsoluteSD(selfRelativeSD, nil, &absoluteSDSize,
1296
+ nil, &daclSize, nil, &saclSize, nil, &ownerSize, nil, &groupSize)
1297
+ switch err {
1298
+ case ERROR_INSUFFICIENT_BUFFER:
1299
+ case nil:
1300
+ // makeAbsoluteSD is expected to fail, but it succeeds.
1301
+ return nil, ERROR_INTERNAL_ERROR
1302
+ default:
1303
+ return nil, err
1304
+ }
1305
+ if absoluteSDSize > 0 {
1306
+ absoluteSD = new(SECURITY_DESCRIPTOR)
1307
+ if unsafe.Sizeof(*absoluteSD) < uintptr(absoluteSDSize) {
1308
+ panic("sizeof(SECURITY_DESCRIPTOR) too small")
1309
+ }
1310
+ }
1311
+ var (
1312
+ dacl *ACL
1313
+ sacl *ACL
1314
+ owner *SID
1315
+ group *SID
1316
+ )
1317
+ if daclSize > 0 {
1318
+ dacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, daclSize))))
1319
+ }
1320
+ if saclSize > 0 {
1321
+ sacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, saclSize))))
1322
+ }
1323
+ if ownerSize > 0 {
1324
+ owner = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, ownerSize))))
1325
+ }
1326
+ if groupSize > 0 {
1327
+ group = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, groupSize))))
1328
+ }
1329
+ // We call into Windows via makeAbsoluteSD, which sets up
1330
+ // pointers within absoluteSD that point to other chunks of memory
1331
+ // we pass into makeAbsoluteSD, and that happens outside the view of the GC.
1332
+ // We therefore take some care here to then verify the pointers are as we expect
1333
+ // and set them explicitly in view of the GC. See https://go.dev/issue/73199.
1334
+ // TODO: consider weak pointers once Go 1.24 is appropriate. See suggestion in https://go.dev/cl/663575.
1335
+ err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize,
1336
+ dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize)
1337
+ if err != nil {
1338
+ // Don't return absoluteSD, which might be partially initialized.
1339
+ return nil, err
1340
+ }
1341
+ // Before using any fields, verify absoluteSD is in the format we expect according to Windows.
1342
+ // See https://learn.microsoft.com/en-us/windows/win32/secauthz/absolute-and-self-relative-security-descriptors
1343
+ absControl, _, err := absoluteSD.Control()
1344
+ if err != nil {
1345
+ panic("absoluteSD: " + err.Error())
1346
+ }
1347
+ if absControl&SE_SELF_RELATIVE != 0 {
1348
+ panic("absoluteSD not in absolute format")
1349
+ }
1350
+ if absoluteSD.dacl != dacl {
1351
+ panic("dacl pointer mismatch")
1352
+ }
1353
+ if absoluteSD.sacl != sacl {
1354
+ panic("sacl pointer mismatch")
1355
+ }
1356
+ if absoluteSD.owner != owner {
1357
+ panic("owner pointer mismatch")
1358
+ }
1359
+ if absoluteSD.group != group {
1360
+ panic("group pointer mismatch")
1361
+ }
1362
+ absoluteSD.dacl = dacl
1363
+ absoluteSD.sacl = sacl
1364
+ absoluteSD.owner = owner
1365
+ absoluteSD.group = group
1366
+
1367
+ return
1368
+ }
1369
+
1370
+ // ToSelfRelative converts an absolute security descriptor into a self-relative one.
1371
+ func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURITY_DESCRIPTOR, err error) {
1372
+ control, _, err := absoluteSD.Control()
1373
+ if err != nil {
1374
+ return
1375
+ }
1376
+ if control&SE_SELF_RELATIVE != 0 {
1377
+ err = ERROR_INVALID_PARAMETER
1378
+ return
1379
+ }
1380
+ var selfRelativeSDSize uint32
1381
+ err = makeSelfRelativeSD(absoluteSD, nil, &selfRelativeSDSize)
1382
+ switch err {
1383
+ case ERROR_INSUFFICIENT_BUFFER:
1384
+ case nil:
1385
+ // makeSelfRelativeSD is expected to fail, but it succeeds.
1386
+ return nil, ERROR_INTERNAL_ERROR
1387
+ default:
1388
+ return nil, err
1389
+ }
1390
+ if selfRelativeSDSize > 0 {
1391
+ selfRelativeSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, selfRelativeSDSize)[0]))
1392
+ }
1393
+ err = makeSelfRelativeSD(absoluteSD, selfRelativeSD, &selfRelativeSDSize)
1394
+ return
1395
+ }
1396
+
1397
+ func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR {
1398
+ sdLen := int(selfRelativeSD.Length())
1399
+ const min = int(unsafe.Sizeof(SECURITY_DESCRIPTOR{}))
1400
+ if sdLen < min {
1401
+ sdLen = min
1402
+ }
1403
+
1404
+ src := unsafe.Slice((*byte)(unsafe.Pointer(selfRelativeSD)), sdLen)
1405
+ // SECURITY_DESCRIPTOR has pointers in it, which means checkptr expects for it to
1406
+ // be aligned properly. When we're copying a Windows-allocated struct to a
1407
+ // Go-allocated one, make sure that the Go allocation is aligned to the
1408
+ // pointer size.
1409
+ const psize = int(unsafe.Sizeof(uintptr(0)))
1410
+ alloc := make([]uintptr, (sdLen+psize-1)/psize)
1411
+ dst := unsafe.Slice((*byte)(unsafe.Pointer(&alloc[0])), sdLen)
1412
+ copy(dst, src)
1413
+ return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&dst[0]))
1414
+ }
1415
+
1416
+ // SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a
1417
+ // self-relative security descriptor object allocated on the Go heap.
1418
+ func SecurityDescriptorFromString(sddl string) (sd *SECURITY_DESCRIPTOR, err error) {
1419
+ var winHeapSD *SECURITY_DESCRIPTOR
1420
+ err = convertStringSecurityDescriptorToSecurityDescriptor(sddl, 1, &winHeapSD, nil)
1421
+ if err != nil {
1422
+ return
1423
+ }
1424
+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD)))
1425
+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil
1426
+ }
1427
+
1428
+ // GetSecurityInfo queries the security information for a given handle and returns the self-relative security
1429
+ // descriptor result on the Go heap.
1430
+ func GetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) {
1431
+ var winHeapSD *SECURITY_DESCRIPTOR
1432
+ err = getSecurityInfo(handle, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD)
1433
+ if err != nil {
1434
+ return
1435
+ }
1436
+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD)))
1437
+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil
1438
+ }
1439
+
1440
+ // GetNamedSecurityInfo queries the security information for a given named object and returns the self-relative security
1441
+ // descriptor result on the Go heap.
1442
+ func GetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) {
1443
+ var winHeapSD *SECURITY_DESCRIPTOR
1444
+ err = getNamedSecurityInfo(objectName, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD)
1445
+ if err != nil {
1446
+ return
1447
+ }
1448
+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD)))
1449
+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil
1450
+ }
1451
+
1452
+ // BuildSecurityDescriptor makes a new security descriptor using the input trustees, explicit access lists, and
1453
+ // prior security descriptor to be merged, any of which can be nil, returning the self-relative security descriptor
1454
+ // result on the Go heap.
1455
+ func BuildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, accessEntries []EXPLICIT_ACCESS, auditEntries []EXPLICIT_ACCESS, mergedSecurityDescriptor *SECURITY_DESCRIPTOR) (sd *SECURITY_DESCRIPTOR, err error) {
1456
+ var winHeapSD *SECURITY_DESCRIPTOR
1457
+ var winHeapSDSize uint32
1458
+ var firstAccessEntry *EXPLICIT_ACCESS
1459
+ if len(accessEntries) > 0 {
1460
+ firstAccessEntry = &accessEntries[0]
1461
+ }
1462
+ var firstAuditEntry *EXPLICIT_ACCESS
1463
+ if len(auditEntries) > 0 {
1464
+ firstAuditEntry = &auditEntries[0]
1465
+ }
1466
+ err = buildSecurityDescriptor(owner, group, uint32(len(accessEntries)), firstAccessEntry, uint32(len(auditEntries)), firstAuditEntry, mergedSecurityDescriptor, &winHeapSDSize, &winHeapSD)
1467
+ if err != nil {
1468
+ return
1469
+ }
1470
+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD)))
1471
+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil
1472
+ }
1473
+
1474
+ // NewSecurityDescriptor creates and initializes a new absolute security descriptor.
1475
+ func NewSecurityDescriptor() (absoluteSD *SECURITY_DESCRIPTOR, err error) {
1476
+ absoluteSD = &SECURITY_DESCRIPTOR{}
1477
+ err = initializeSecurityDescriptor(absoluteSD, 1)
1478
+ return
1479
+ }
1480
+
1481
+ // ACLFromEntries returns a new ACL on the Go heap containing a list of explicit entries as well as those of another ACL.
1482
+ // Both explicitEntries and mergedACL are optional and can be nil.
1483
+ func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL, err error) {
1484
+ var firstExplicitEntry *EXPLICIT_ACCESS
1485
+ if len(explicitEntries) > 0 {
1486
+ firstExplicitEntry = &explicitEntries[0]
1487
+ }
1488
+ var winHeapACL *ACL
1489
+ err = setEntriesInAcl(uint32(len(explicitEntries)), firstExplicitEntry, mergedACL, &winHeapACL)
1490
+ if err != nil {
1491
+ return
1492
+ }
1493
+ defer LocalFree(Handle(unsafe.Pointer(winHeapACL)))
1494
+ aclBytes := make([]byte, winHeapACL.aclSize)
1495
+ copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes):len(aclBytes)])
1496
+ return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil
1497
+ }