@zerodensity/smb-cpp 0.0.0-bootstrap.0 → 0.1.0

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.
Files changed (640) hide show
  1. package/README.md +54 -3
  2. package/darwin_arm64/libsmb2.1.dylib +0 -0
  3. package/darwin_arm64/libsmb2.6.1.0.dylib +0 -0
  4. package/darwin_arm64/libsmb2.dylib +0 -0
  5. package/darwin_arm64/smb_server_cpp_darwin_arm64 +0 -0
  6. package/darwin_arm64/third-party/libsmb2/COPYING +24 -0
  7. package/darwin_arm64/third-party/libsmb2/LICENCE-LGPL-2.1.txt +502 -0
  8. package/darwin_arm64/third-party/libsmb2/NOTICE.txt +13 -0
  9. package/darwin_arm64/third-party/libsmb2/README +413 -0
  10. package/darwin_arm64/third-party/libsmb2/source/CMakeLists.txt +205 -0
  11. package/darwin_arm64/third-party/libsmb2/source/COPYING +24 -0
  12. package/darwin_arm64/third-party/libsmb2/source/LICENCE-LGPL-2.1.txt +502 -0
  13. package/darwin_arm64/third-party/libsmb2/source/Makefile.am +15 -0
  14. package/darwin_arm64/third-party/libsmb2/source/Makefile.platform +112 -0
  15. package/darwin_arm64/third-party/libsmb2/source/README +413 -0
  16. package/darwin_arm64/third-party/libsmb2/source/Xbox/libsmb2.sln +25 -0
  17. package/darwin_arm64/third-party/libsmb2/source/Xbox/libsmb2.vcxproj +248 -0
  18. package/darwin_arm64/third-party/libsmb2/source/Xbox/libsmb2.vcxproj.filters +304 -0
  19. package/darwin_arm64/third-party/libsmb2/source/Xbox 360/libsmb2.sln +32 -0
  20. package/darwin_arm64/third-party/libsmb2/source/Xbox 360/libsmb2.vcxproj +327 -0
  21. package/darwin_arm64/third-party/libsmb2/source/Xbox 360/libsmb2.vcxproj.filters +268 -0
  22. package/darwin_arm64/third-party/libsmb2/source/bootstrap +2 -0
  23. package/darwin_arm64/third-party/libsmb2/source/cmake/ConfigureChecks.cmake +63 -0
  24. package/darwin_arm64/third-party/libsmb2/source/cmake/FindSMB2.cmake +37 -0
  25. package/darwin_arm64/third-party/libsmb2/source/cmake/Modules/FindGSSAPI.cmake +30 -0
  26. package/darwin_arm64/third-party/libsmb2/source/cmake/Modules/FindLibKrb5.cmake +44 -0
  27. package/darwin_arm64/third-party/libsmb2/source/cmake/config.h.cmake +126 -0
  28. package/darwin_arm64/third-party/libsmb2/source/cmake/libsmb2.pc.cmake +14 -0
  29. package/darwin_arm64/third-party/libsmb2/source/component.mk +5 -0
  30. package/darwin_arm64/third-party/libsmb2/source/configure.ac +184 -0
  31. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareAdd.yaml +9 -0
  32. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareCheck.yaml +4 -0
  33. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareDel.yaml +5 -0
  34. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareDelSticky.yaml +5 -0
  35. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareEnum.yaml +7 -0
  36. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareGetInfo.yaml +6 -0
  37. package/darwin_arm64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareSetInfo.yaml +11 -0
  38. package/darwin_arm64/third-party/libsmb2/source/examples/CMakeLists.txt +28 -0
  39. package/darwin_arm64/third-party/libsmb2/source/examples/Makefile.am +54 -0
  40. package/darwin_arm64/third-party/libsmb2/source/examples/dcerpc.c +254 -0
  41. package/darwin_arm64/third-party/libsmb2/source/examples/picow/CMakeLists.txt +72 -0
  42. package/darwin_arm64/third-party/libsmb2/source/examples/picow/README.md +2 -0
  43. package/darwin_arm64/third-party/libsmb2/source/examples/picow/main.cpp +119 -0
  44. package/darwin_arm64/third-party/libsmb2/source/examples/picow/smb-ls-sync.c +0 -0
  45. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-CMD-FIND.c +335 -0
  46. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-cat-async.c +183 -0
  47. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-cat-sync.c +105 -0
  48. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-ftruncate-sync.c +87 -0
  49. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-ls-async.c +185 -0
  50. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-ls-epoll.c +234 -0
  51. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-lsa-lookupsids.c +292 -0
  52. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-lseek-sync.c +101 -0
  53. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-notify.c +183 -0
  54. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-put-async.c +175 -0
  55. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-put-sync.c +100 -0
  56. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-raw-fsstat-async.c +353 -0
  57. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-raw-getsd-async.c +401 -0
  58. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-raw-stat-async.c +448 -0
  59. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-readlink.c +80 -0
  60. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-rename-sync.c +80 -0
  61. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-server-sync.c +497 -0
  62. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-share-enum-sync.c +146 -0
  63. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-share-enum.c +208 -0
  64. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-share-info.c +255 -0
  65. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-stat-sync.c +103 -0
  66. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-statvfs-sync.c +85 -0
  67. package/darwin_arm64/third-party/libsmb2/source/examples/smb2-truncate-sync.c +78 -0
  68. package/darwin_arm64/third-party/libsmb2/source/idf_component.yml +5 -0
  69. package/darwin_arm64/third-party/libsmb2/source/include/Makefile.am +15 -0
  70. package/darwin_arm64/third-party/libsmb2/source/include/amiga_os/config.h +139 -0
  71. package/darwin_arm64/third-party/libsmb2/source/include/apple/config.h +139 -0
  72. package/darwin_arm64/third-party/libsmb2/source/include/asprintf.h +65 -0
  73. package/darwin_arm64/third-party/libsmb2/source/include/esp/config.h +139 -0
  74. package/darwin_arm64/third-party/libsmb2/source/include/libsmb2-private.h +670 -0
  75. package/darwin_arm64/third-party/libsmb2/source/include/module.modulemap +21 -0
  76. package/darwin_arm64/third-party/libsmb2/source/include/picow/FreeRTOSConfig.h +143 -0
  77. package/darwin_arm64/third-party/libsmb2/source/include/picow/README.md +2 -0
  78. package/darwin_arm64/third-party/libsmb2/source/include/picow/config.h +139 -0
  79. package/darwin_arm64/third-party/libsmb2/source/include/picow/lwipopts.h +27 -0
  80. package/darwin_arm64/third-party/libsmb2/source/include/picow/lwipopts_examples_common.h +90 -0
  81. package/darwin_arm64/third-party/libsmb2/source/include/portable-endian.h +377 -0
  82. package/darwin_arm64/third-party/libsmb2/source/include/ps3/config.h +139 -0
  83. package/darwin_arm64/third-party/libsmb2/source/include/slist.h +63 -0
  84. package/darwin_arm64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc-lsa.h +172 -0
  85. package/darwin_arm64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc-srvsvc.h +276 -0
  86. package/darwin_arm64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc.h +203 -0
  87. package/darwin_arm64/third-party/libsmb2/source/include/smb2/libsmb2-raw.h +497 -0
  88. package/darwin_arm64/third-party/libsmb2/source/include/smb2/libsmb2.h +1409 -0
  89. package/darwin_arm64/third-party/libsmb2/source/include/smb2/smb2-errors.h +549 -0
  90. package/darwin_arm64/third-party/libsmb2/source/include/smb2/smb2-ioctl.h +83 -0
  91. package/darwin_arm64/third-party/libsmb2/source/include/smb2/smb2.h +1251 -0
  92. package/darwin_arm64/third-party/libsmb2/source/include/xbox/config.h +139 -0
  93. package/darwin_arm64/third-party/libsmb2/source/include/xbox 360/config.h +139 -0
  94. package/darwin_arm64/third-party/libsmb2/source/lib/CMakeLists.txt +260 -0
  95. package/darwin_arm64/third-party/libsmb2/source/lib/Makefile.AMIGA +46 -0
  96. package/darwin_arm64/third-party/libsmb2/source/lib/Makefile.AMIGA_AROS +59 -0
  97. package/darwin_arm64/third-party/libsmb2/source/lib/Makefile.AMIGA_OS3 +59 -0
  98. package/darwin_arm64/third-party/libsmb2/source/lib/Makefile.PS3_PPU +100 -0
  99. package/darwin_arm64/third-party/libsmb2/source/lib/Makefile.am +85 -0
  100. package/darwin_arm64/third-party/libsmb2/source/lib/aes.c +33 -0
  101. package/darwin_arm64/third-party/libsmb2/source/lib/aes.h +29 -0
  102. package/darwin_arm64/third-party/libsmb2/source/lib/aes128ccm.c +185 -0
  103. package/darwin_arm64/third-party/libsmb2/source/lib/aes128ccm.h +28 -0
  104. package/darwin_arm64/third-party/libsmb2/source/lib/aes_apple.c +70 -0
  105. package/darwin_arm64/third-party/libsmb2/source/lib/aes_apple.h +34 -0
  106. package/darwin_arm64/third-party/libsmb2/source/lib/aes_reference.c +560 -0
  107. package/darwin_arm64/third-party/libsmb2/source/lib/aes_reference.h +49 -0
  108. package/darwin_arm64/third-party/libsmb2/source/lib/alloc.c +154 -0
  109. package/darwin_arm64/third-party/libsmb2/source/lib/asn1-ber.c +1078 -0
  110. package/darwin_arm64/third-party/libsmb2/source/lib/asn1-ber.h +161 -0
  111. package/darwin_arm64/third-party/libsmb2/source/lib/compat.c +599 -0
  112. package/darwin_arm64/third-party/libsmb2/source/lib/compat.h +829 -0
  113. package/darwin_arm64/third-party/libsmb2/source/lib/dcerpc-lsa.c +641 -0
  114. package/darwin_arm64/third-party/libsmb2/source/lib/dcerpc-srvsvc.c +885 -0
  115. package/darwin_arm64/third-party/libsmb2/source/lib/dcerpc.c +2513 -0
  116. package/darwin_arm64/third-party/libsmb2/source/lib/dreamcast/vfs.c +328 -0
  117. package/darwin_arm64/third-party/libsmb2/source/lib/dreamcast/vfs.h +15 -0
  118. package/darwin_arm64/third-party/libsmb2/source/lib/errors.c +1192 -0
  119. package/darwin_arm64/third-party/libsmb2/source/lib/hmac-md5.c +84 -0
  120. package/darwin_arm64/third-party/libsmb2/source/lib/hmac-md5.h +42 -0
  121. package/darwin_arm64/third-party/libsmb2/source/lib/hmac.c +245 -0
  122. package/darwin_arm64/third-party/libsmb2/source/lib/init.c +778 -0
  123. package/darwin_arm64/third-party/libsmb2/source/lib/krb5-wrapper.c +1072 -0
  124. package/darwin_arm64/third-party/libsmb2/source/lib/krb5-wrapper.h +134 -0
  125. package/darwin_arm64/third-party/libsmb2/source/lib/libsmb2.c +4292 -0
  126. package/darwin_arm64/third-party/libsmb2/source/lib/libsmb2.syms +168 -0
  127. package/darwin_arm64/third-party/libsmb2/source/lib/md4.h +43 -0
  128. package/darwin_arm64/third-party/libsmb2/source/lib/md4c.c +289 -0
  129. package/darwin_arm64/third-party/libsmb2/source/lib/md5.c +249 -0
  130. package/darwin_arm64/third-party/libsmb2/source/lib/md5.h +76 -0
  131. package/darwin_arm64/third-party/libsmb2/source/lib/ntlmssp.c +1380 -0
  132. package/darwin_arm64/third-party/libsmb2/source/lib/ntlmssp.h +84 -0
  133. package/darwin_arm64/third-party/libsmb2/source/lib/pdu.c +1159 -0
  134. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/TODO +6 -0
  135. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/imports.lst +84 -0
  136. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/irx_imports.h +28 -0
  137. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/ps2smb2.h +35 -0
  138. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/smb2_fio.c +816 -0
  139. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/smb2_fio.h +15 -0
  140. package/darwin_arm64/third-party/libsmb2/source/lib/ps2/smb2man.c +69 -0
  141. package/darwin_arm64/third-party/libsmb2/source/lib/sha-private.h +28 -0
  142. package/darwin_arm64/third-party/libsmb2/source/lib/sha.h +334 -0
  143. package/darwin_arm64/third-party/libsmb2/source/lib/sha1.c +450 -0
  144. package/darwin_arm64/third-party/libsmb2/source/lib/sha224-256.c +611 -0
  145. package/darwin_arm64/third-party/libsmb2/source/lib/sha384-512.c +1059 -0
  146. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-close.c +240 -0
  147. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-create.c +508 -0
  148. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-echo.c +202 -0
  149. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-error.c +157 -0
  150. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-flush.c +207 -0
  151. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-ioctl.c +445 -0
  152. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-lock.c +312 -0
  153. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-logoff.c +190 -0
  154. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-negotiate.c +646 -0
  155. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-notify-change.c +278 -0
  156. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-oplock-break.c +543 -0
  157. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-query-directory.c +580 -0
  158. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-query-info.c +753 -0
  159. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-read.c +391 -0
  160. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-session-setup.c +331 -0
  161. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-set-info.c +361 -0
  162. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-tree-connect.c +278 -0
  163. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-tree-disconnect.c +171 -0
  164. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-cmd-write.c +319 -0
  165. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-data-file-info.c +537 -0
  166. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-data-filesystem-info.c +384 -0
  167. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-data-reparse-point.c +117 -0
  168. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-data-security-descriptor.c +361 -0
  169. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-share-enum.c +181 -0
  170. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-signing.c +279 -0
  171. package/darwin_arm64/third-party/libsmb2/source/lib/smb2-signing.h +51 -0
  172. package/darwin_arm64/third-party/libsmb2/source/lib/smb3-seal.c +165 -0
  173. package/darwin_arm64/third-party/libsmb2/source/lib/smb3-seal.h +43 -0
  174. package/darwin_arm64/third-party/libsmb2/source/lib/socket.c +1502 -0
  175. package/darwin_arm64/third-party/libsmb2/source/lib/spnego-wrapper.c +634 -0
  176. package/darwin_arm64/third-party/libsmb2/source/lib/spnego-wrapper.h +74 -0
  177. package/darwin_arm64/third-party/libsmb2/source/lib/sync.c +988 -0
  178. package/darwin_arm64/third-party/libsmb2/source/lib/timestamps.c +70 -0
  179. package/darwin_arm64/third-party/libsmb2/source/lib/unicode.c +307 -0
  180. package/darwin_arm64/third-party/libsmb2/source/lib/usha.c +345 -0
  181. package/darwin_arm64/third-party/libsmb2/source/libsmb2.pc.in +14 -0
  182. package/darwin_arm64/third-party/libsmb2/source/packaging/RPM/libsmb2.spec.in +135 -0
  183. package/darwin_arm64/third-party/libsmb2/source/packaging/RPM/makerpms.sh +114 -0
  184. package/darwin_arm64/third-party/libsmb2/source/tests/Makefile.am +34 -0
  185. package/darwin_arm64/third-party/libsmb2/source/tests/README +28 -0
  186. package/darwin_arm64/third-party/libsmb2/source/tests/aes128ccm-test.c +119 -0
  187. package/darwin_arm64/third-party/libsmb2/source/tests/functions.sh +11 -0
  188. package/darwin_arm64/third-party/libsmb2/source/tests/ld_sockerr.c +58 -0
  189. package/darwin_arm64/third-party/libsmb2/source/tests/metastat-0202-censored.c +136 -0
  190. package/darwin_arm64/third-party/libsmb2/source/tests/ntlmssp_generate_blob.c +123 -0
  191. package/darwin_arm64/third-party/libsmb2/source/tests/prog_cat.c +188 -0
  192. package/darwin_arm64/third-party/libsmb2/source/tests/prog_cat_cancel.c +203 -0
  193. package/darwin_arm64/third-party/libsmb2/source/tests/prog_ls.c +189 -0
  194. package/darwin_arm64/third-party/libsmb2/source/tests/prog_mkdir.c +85 -0
  195. package/darwin_arm64/third-party/libsmb2/source/tests/prog_rmdir.c +84 -0
  196. package/darwin_arm64/third-party/libsmb2/source/tests/smb2-dcerpc-coder-test.c +635 -0
  197. package/darwin_arm64/third-party/libsmb2/source/tests/test_0100_ls_basic.sh +22 -0
  198. package/darwin_arm64/third-party/libsmb2/source/tests/test_0101_ls_basic_valgrind.sh +23 -0
  199. package/darwin_arm64/third-party/libsmb2/source/tests/test_0102_ls_basic_socket_error.sh +16 -0
  200. package/darwin_arm64/third-party/libsmb2/source/tests/test_0103_ls_basic_valgrind_malloc_error.sh +25 -0
  201. package/darwin_arm64/third-party/libsmb2/source/tests/test_0200_mkdir.sh +15 -0
  202. package/darwin_arm64/third-party/libsmb2/source/tests/test_0201_mkdir_valgrind.sh +15 -0
  203. package/darwin_arm64/third-party/libsmb2/source/tests/test_0210_cp_basic.sh +25 -0
  204. package/darwin_arm64/third-party/libsmb2/source/tests/test_0211_cp_valgrind.sh +26 -0
  205. package/darwin_arm64/third-party/libsmb2/source/tests/test_0212_cp_valgrind_socket_error.sh +29 -0
  206. package/darwin_arm64/third-party/libsmb2/source/tests/test_0300_cat_basic.sh +13 -0
  207. package/darwin_arm64/third-party/libsmb2/source/tests/test_0301_cat_valgrind.sh +13 -0
  208. package/darwin_arm64/third-party/libsmb2/source/tests/test_0302_cat_valgrind_socket_error.sh +18 -0
  209. package/darwin_arm64/third-party/libsmb2/source/tests/test_0310_cancel_pdu.sh +13 -0
  210. package/darwin_arm64/third-party/libsmb2/source/tests/test_0400_overdrawn_0202.sh +25 -0
  211. package/darwin_arm64/third-party/libsmb2/source/tests/test_900_dcerpc.sh +10 -0
  212. package/darwin_arm64/third-party/libsmb2/source/utils/Makefile.am +11 -0
  213. package/darwin_arm64/third-party/libsmb2/source/utils/smb2-cp.c +265 -0
  214. package/darwin_arm64/third-party/libsmb2/source/utils/smb2-ls.c +135 -0
  215. package/linux_x64/libsmb2.so +0 -0
  216. package/linux_x64/libsmb2.so.1 +0 -0
  217. package/linux_x64/libsmb2.so.6.1.0 +0 -0
  218. package/linux_x64/smb_server_cpp_linux_x64 +0 -0
  219. package/linux_x64/third-party/libsmb2/COPYING +24 -0
  220. package/linux_x64/third-party/libsmb2/LICENCE-LGPL-2.1.txt +502 -0
  221. package/linux_x64/third-party/libsmb2/NOTICE.txt +13 -0
  222. package/linux_x64/third-party/libsmb2/README +413 -0
  223. package/linux_x64/third-party/libsmb2/source/CMakeLists.txt +205 -0
  224. package/linux_x64/third-party/libsmb2/source/COPYING +24 -0
  225. package/linux_x64/third-party/libsmb2/source/LICENCE-LGPL-2.1.txt +502 -0
  226. package/linux_x64/third-party/libsmb2/source/Makefile.am +15 -0
  227. package/linux_x64/third-party/libsmb2/source/Makefile.platform +112 -0
  228. package/linux_x64/third-party/libsmb2/source/README +413 -0
  229. package/linux_x64/third-party/libsmb2/source/Xbox/libsmb2.sln +25 -0
  230. package/linux_x64/third-party/libsmb2/source/Xbox/libsmb2.vcxproj +248 -0
  231. package/linux_x64/third-party/libsmb2/source/Xbox/libsmb2.vcxproj.filters +304 -0
  232. package/linux_x64/third-party/libsmb2/source/Xbox 360/libsmb2.sln +32 -0
  233. package/linux_x64/third-party/libsmb2/source/Xbox 360/libsmb2.vcxproj +327 -0
  234. package/linux_x64/third-party/libsmb2/source/Xbox 360/libsmb2.vcxproj.filters +268 -0
  235. package/linux_x64/third-party/libsmb2/source/bootstrap +2 -0
  236. package/linux_x64/third-party/libsmb2/source/cmake/ConfigureChecks.cmake +63 -0
  237. package/linux_x64/third-party/libsmb2/source/cmake/FindSMB2.cmake +37 -0
  238. package/linux_x64/third-party/libsmb2/source/cmake/Modules/FindGSSAPI.cmake +30 -0
  239. package/linux_x64/third-party/libsmb2/source/cmake/Modules/FindLibKrb5.cmake +44 -0
  240. package/linux_x64/third-party/libsmb2/source/cmake/config.h.cmake +126 -0
  241. package/linux_x64/third-party/libsmb2/source/cmake/libsmb2.pc.cmake +14 -0
  242. package/linux_x64/third-party/libsmb2/source/component.mk +5 -0
  243. package/linux_x64/third-party/libsmb2/source/configure.ac +184 -0
  244. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareAdd.yaml +9 -0
  245. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareCheck.yaml +4 -0
  246. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareDel.yaml +5 -0
  247. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareDelSticky.yaml +5 -0
  248. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareEnum.yaml +7 -0
  249. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareGetInfo.yaml +6 -0
  250. package/linux_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareSetInfo.yaml +11 -0
  251. package/linux_x64/third-party/libsmb2/source/examples/CMakeLists.txt +28 -0
  252. package/linux_x64/third-party/libsmb2/source/examples/Makefile.am +54 -0
  253. package/linux_x64/third-party/libsmb2/source/examples/dcerpc.c +254 -0
  254. package/linux_x64/third-party/libsmb2/source/examples/picow/CMakeLists.txt +72 -0
  255. package/linux_x64/third-party/libsmb2/source/examples/picow/README.md +2 -0
  256. package/linux_x64/third-party/libsmb2/source/examples/picow/main.cpp +119 -0
  257. package/linux_x64/third-party/libsmb2/source/examples/picow/smb-ls-sync.c +0 -0
  258. package/linux_x64/third-party/libsmb2/source/examples/smb2-CMD-FIND.c +335 -0
  259. package/linux_x64/third-party/libsmb2/source/examples/smb2-cat-async.c +183 -0
  260. package/linux_x64/third-party/libsmb2/source/examples/smb2-cat-sync.c +105 -0
  261. package/linux_x64/third-party/libsmb2/source/examples/smb2-ftruncate-sync.c +87 -0
  262. package/linux_x64/third-party/libsmb2/source/examples/smb2-ls-async.c +185 -0
  263. package/linux_x64/third-party/libsmb2/source/examples/smb2-ls-epoll.c +234 -0
  264. package/linux_x64/third-party/libsmb2/source/examples/smb2-lsa-lookupsids.c +292 -0
  265. package/linux_x64/third-party/libsmb2/source/examples/smb2-lseek-sync.c +101 -0
  266. package/linux_x64/third-party/libsmb2/source/examples/smb2-notify.c +183 -0
  267. package/linux_x64/third-party/libsmb2/source/examples/smb2-put-async.c +175 -0
  268. package/linux_x64/third-party/libsmb2/source/examples/smb2-put-sync.c +100 -0
  269. package/linux_x64/third-party/libsmb2/source/examples/smb2-raw-fsstat-async.c +353 -0
  270. package/linux_x64/third-party/libsmb2/source/examples/smb2-raw-getsd-async.c +401 -0
  271. package/linux_x64/third-party/libsmb2/source/examples/smb2-raw-stat-async.c +448 -0
  272. package/linux_x64/third-party/libsmb2/source/examples/smb2-readlink.c +80 -0
  273. package/linux_x64/third-party/libsmb2/source/examples/smb2-rename-sync.c +80 -0
  274. package/linux_x64/third-party/libsmb2/source/examples/smb2-server-sync.c +497 -0
  275. package/linux_x64/third-party/libsmb2/source/examples/smb2-share-enum-sync.c +146 -0
  276. package/linux_x64/third-party/libsmb2/source/examples/smb2-share-enum.c +208 -0
  277. package/linux_x64/third-party/libsmb2/source/examples/smb2-share-info.c +255 -0
  278. package/linux_x64/third-party/libsmb2/source/examples/smb2-stat-sync.c +103 -0
  279. package/linux_x64/third-party/libsmb2/source/examples/smb2-statvfs-sync.c +85 -0
  280. package/linux_x64/third-party/libsmb2/source/examples/smb2-truncate-sync.c +78 -0
  281. package/linux_x64/third-party/libsmb2/source/idf_component.yml +5 -0
  282. package/linux_x64/third-party/libsmb2/source/include/Makefile.am +15 -0
  283. package/linux_x64/third-party/libsmb2/source/include/amiga_os/config.h +139 -0
  284. package/linux_x64/third-party/libsmb2/source/include/apple/config.h +139 -0
  285. package/linux_x64/third-party/libsmb2/source/include/asprintf.h +65 -0
  286. package/linux_x64/third-party/libsmb2/source/include/esp/config.h +139 -0
  287. package/linux_x64/third-party/libsmb2/source/include/libsmb2-private.h +670 -0
  288. package/linux_x64/third-party/libsmb2/source/include/module.modulemap +21 -0
  289. package/linux_x64/third-party/libsmb2/source/include/picow/FreeRTOSConfig.h +143 -0
  290. package/linux_x64/third-party/libsmb2/source/include/picow/README.md +2 -0
  291. package/linux_x64/third-party/libsmb2/source/include/picow/config.h +139 -0
  292. package/linux_x64/third-party/libsmb2/source/include/picow/lwipopts.h +27 -0
  293. package/linux_x64/third-party/libsmb2/source/include/picow/lwipopts_examples_common.h +90 -0
  294. package/linux_x64/third-party/libsmb2/source/include/portable-endian.h +377 -0
  295. package/linux_x64/third-party/libsmb2/source/include/ps3/config.h +139 -0
  296. package/linux_x64/third-party/libsmb2/source/include/slist.h +63 -0
  297. package/linux_x64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc-lsa.h +172 -0
  298. package/linux_x64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc-srvsvc.h +276 -0
  299. package/linux_x64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc.h +203 -0
  300. package/linux_x64/third-party/libsmb2/source/include/smb2/libsmb2-raw.h +497 -0
  301. package/linux_x64/third-party/libsmb2/source/include/smb2/libsmb2.h +1409 -0
  302. package/linux_x64/third-party/libsmb2/source/include/smb2/smb2-errors.h +549 -0
  303. package/linux_x64/third-party/libsmb2/source/include/smb2/smb2-ioctl.h +83 -0
  304. package/linux_x64/third-party/libsmb2/source/include/smb2/smb2.h +1251 -0
  305. package/linux_x64/third-party/libsmb2/source/include/xbox/config.h +139 -0
  306. package/linux_x64/third-party/libsmb2/source/include/xbox 360/config.h +139 -0
  307. package/linux_x64/third-party/libsmb2/source/lib/CMakeLists.txt +260 -0
  308. package/linux_x64/third-party/libsmb2/source/lib/Makefile.AMIGA +46 -0
  309. package/linux_x64/third-party/libsmb2/source/lib/Makefile.AMIGA_AROS +59 -0
  310. package/linux_x64/third-party/libsmb2/source/lib/Makefile.AMIGA_OS3 +59 -0
  311. package/linux_x64/third-party/libsmb2/source/lib/Makefile.PS3_PPU +100 -0
  312. package/linux_x64/third-party/libsmb2/source/lib/Makefile.am +85 -0
  313. package/linux_x64/third-party/libsmb2/source/lib/aes.c +33 -0
  314. package/linux_x64/third-party/libsmb2/source/lib/aes.h +29 -0
  315. package/linux_x64/third-party/libsmb2/source/lib/aes128ccm.c +185 -0
  316. package/linux_x64/third-party/libsmb2/source/lib/aes128ccm.h +28 -0
  317. package/linux_x64/third-party/libsmb2/source/lib/aes_apple.c +70 -0
  318. package/linux_x64/third-party/libsmb2/source/lib/aes_apple.h +34 -0
  319. package/linux_x64/third-party/libsmb2/source/lib/aes_reference.c +560 -0
  320. package/linux_x64/third-party/libsmb2/source/lib/aes_reference.h +49 -0
  321. package/linux_x64/third-party/libsmb2/source/lib/alloc.c +154 -0
  322. package/linux_x64/third-party/libsmb2/source/lib/asn1-ber.c +1078 -0
  323. package/linux_x64/third-party/libsmb2/source/lib/asn1-ber.h +161 -0
  324. package/linux_x64/third-party/libsmb2/source/lib/compat.c +599 -0
  325. package/linux_x64/third-party/libsmb2/source/lib/compat.h +829 -0
  326. package/linux_x64/third-party/libsmb2/source/lib/dcerpc-lsa.c +641 -0
  327. package/linux_x64/third-party/libsmb2/source/lib/dcerpc-srvsvc.c +885 -0
  328. package/linux_x64/third-party/libsmb2/source/lib/dcerpc.c +2513 -0
  329. package/linux_x64/third-party/libsmb2/source/lib/dreamcast/vfs.c +328 -0
  330. package/linux_x64/third-party/libsmb2/source/lib/dreamcast/vfs.h +15 -0
  331. package/linux_x64/third-party/libsmb2/source/lib/errors.c +1192 -0
  332. package/linux_x64/third-party/libsmb2/source/lib/hmac-md5.c +84 -0
  333. package/linux_x64/third-party/libsmb2/source/lib/hmac-md5.h +42 -0
  334. package/linux_x64/third-party/libsmb2/source/lib/hmac.c +245 -0
  335. package/linux_x64/third-party/libsmb2/source/lib/init.c +778 -0
  336. package/linux_x64/third-party/libsmb2/source/lib/krb5-wrapper.c +1072 -0
  337. package/linux_x64/third-party/libsmb2/source/lib/krb5-wrapper.h +134 -0
  338. package/linux_x64/third-party/libsmb2/source/lib/libsmb2.c +4292 -0
  339. package/linux_x64/third-party/libsmb2/source/lib/libsmb2.syms +168 -0
  340. package/linux_x64/third-party/libsmb2/source/lib/md4.h +43 -0
  341. package/linux_x64/third-party/libsmb2/source/lib/md4c.c +289 -0
  342. package/linux_x64/third-party/libsmb2/source/lib/md5.c +249 -0
  343. package/linux_x64/third-party/libsmb2/source/lib/md5.h +76 -0
  344. package/linux_x64/third-party/libsmb2/source/lib/ntlmssp.c +1380 -0
  345. package/linux_x64/third-party/libsmb2/source/lib/ntlmssp.h +84 -0
  346. package/linux_x64/third-party/libsmb2/source/lib/pdu.c +1159 -0
  347. package/linux_x64/third-party/libsmb2/source/lib/ps2/TODO +6 -0
  348. package/linux_x64/third-party/libsmb2/source/lib/ps2/imports.lst +84 -0
  349. package/linux_x64/third-party/libsmb2/source/lib/ps2/irx_imports.h +28 -0
  350. package/linux_x64/third-party/libsmb2/source/lib/ps2/ps2smb2.h +35 -0
  351. package/linux_x64/third-party/libsmb2/source/lib/ps2/smb2_fio.c +816 -0
  352. package/linux_x64/third-party/libsmb2/source/lib/ps2/smb2_fio.h +15 -0
  353. package/linux_x64/third-party/libsmb2/source/lib/ps2/smb2man.c +69 -0
  354. package/linux_x64/third-party/libsmb2/source/lib/sha-private.h +28 -0
  355. package/linux_x64/third-party/libsmb2/source/lib/sha.h +334 -0
  356. package/linux_x64/third-party/libsmb2/source/lib/sha1.c +450 -0
  357. package/linux_x64/third-party/libsmb2/source/lib/sha224-256.c +611 -0
  358. package/linux_x64/third-party/libsmb2/source/lib/sha384-512.c +1059 -0
  359. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-close.c +240 -0
  360. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-create.c +508 -0
  361. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-echo.c +202 -0
  362. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-error.c +157 -0
  363. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-flush.c +207 -0
  364. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-ioctl.c +445 -0
  365. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-lock.c +312 -0
  366. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-logoff.c +190 -0
  367. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-negotiate.c +646 -0
  368. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-notify-change.c +278 -0
  369. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-oplock-break.c +543 -0
  370. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-query-directory.c +580 -0
  371. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-query-info.c +753 -0
  372. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-read.c +391 -0
  373. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-session-setup.c +331 -0
  374. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-set-info.c +361 -0
  375. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-tree-connect.c +278 -0
  376. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-tree-disconnect.c +171 -0
  377. package/linux_x64/third-party/libsmb2/source/lib/smb2-cmd-write.c +319 -0
  378. package/linux_x64/third-party/libsmb2/source/lib/smb2-data-file-info.c +537 -0
  379. package/linux_x64/third-party/libsmb2/source/lib/smb2-data-filesystem-info.c +384 -0
  380. package/linux_x64/third-party/libsmb2/source/lib/smb2-data-reparse-point.c +117 -0
  381. package/linux_x64/third-party/libsmb2/source/lib/smb2-data-security-descriptor.c +361 -0
  382. package/linux_x64/third-party/libsmb2/source/lib/smb2-share-enum.c +181 -0
  383. package/linux_x64/third-party/libsmb2/source/lib/smb2-signing.c +279 -0
  384. package/linux_x64/third-party/libsmb2/source/lib/smb2-signing.h +51 -0
  385. package/linux_x64/third-party/libsmb2/source/lib/smb3-seal.c +165 -0
  386. package/linux_x64/third-party/libsmb2/source/lib/smb3-seal.h +43 -0
  387. package/linux_x64/third-party/libsmb2/source/lib/socket.c +1502 -0
  388. package/linux_x64/third-party/libsmb2/source/lib/spnego-wrapper.c +634 -0
  389. package/linux_x64/third-party/libsmb2/source/lib/spnego-wrapper.h +74 -0
  390. package/linux_x64/third-party/libsmb2/source/lib/sync.c +988 -0
  391. package/linux_x64/third-party/libsmb2/source/lib/timestamps.c +70 -0
  392. package/linux_x64/third-party/libsmb2/source/lib/unicode.c +307 -0
  393. package/linux_x64/third-party/libsmb2/source/lib/usha.c +345 -0
  394. package/linux_x64/third-party/libsmb2/source/libsmb2.pc.in +14 -0
  395. package/linux_x64/third-party/libsmb2/source/packaging/RPM/libsmb2.spec.in +135 -0
  396. package/linux_x64/third-party/libsmb2/source/packaging/RPM/makerpms.sh +114 -0
  397. package/linux_x64/third-party/libsmb2/source/tests/Makefile.am +34 -0
  398. package/linux_x64/third-party/libsmb2/source/tests/README +28 -0
  399. package/linux_x64/third-party/libsmb2/source/tests/aes128ccm-test.c +119 -0
  400. package/linux_x64/third-party/libsmb2/source/tests/functions.sh +11 -0
  401. package/linux_x64/third-party/libsmb2/source/tests/ld_sockerr.c +58 -0
  402. package/linux_x64/third-party/libsmb2/source/tests/metastat-0202-censored.c +136 -0
  403. package/linux_x64/third-party/libsmb2/source/tests/ntlmssp_generate_blob.c +123 -0
  404. package/linux_x64/third-party/libsmb2/source/tests/prog_cat.c +188 -0
  405. package/linux_x64/third-party/libsmb2/source/tests/prog_cat_cancel.c +203 -0
  406. package/linux_x64/third-party/libsmb2/source/tests/prog_ls.c +189 -0
  407. package/linux_x64/third-party/libsmb2/source/tests/prog_mkdir.c +85 -0
  408. package/linux_x64/third-party/libsmb2/source/tests/prog_rmdir.c +84 -0
  409. package/linux_x64/third-party/libsmb2/source/tests/smb2-dcerpc-coder-test.c +635 -0
  410. package/linux_x64/third-party/libsmb2/source/tests/test_0100_ls_basic.sh +22 -0
  411. package/linux_x64/third-party/libsmb2/source/tests/test_0101_ls_basic_valgrind.sh +23 -0
  412. package/linux_x64/third-party/libsmb2/source/tests/test_0102_ls_basic_socket_error.sh +16 -0
  413. package/linux_x64/third-party/libsmb2/source/tests/test_0103_ls_basic_valgrind_malloc_error.sh +25 -0
  414. package/linux_x64/third-party/libsmb2/source/tests/test_0200_mkdir.sh +15 -0
  415. package/linux_x64/third-party/libsmb2/source/tests/test_0201_mkdir_valgrind.sh +15 -0
  416. package/linux_x64/third-party/libsmb2/source/tests/test_0210_cp_basic.sh +25 -0
  417. package/linux_x64/third-party/libsmb2/source/tests/test_0211_cp_valgrind.sh +26 -0
  418. package/linux_x64/third-party/libsmb2/source/tests/test_0212_cp_valgrind_socket_error.sh +29 -0
  419. package/linux_x64/third-party/libsmb2/source/tests/test_0300_cat_basic.sh +13 -0
  420. package/linux_x64/third-party/libsmb2/source/tests/test_0301_cat_valgrind.sh +13 -0
  421. package/linux_x64/third-party/libsmb2/source/tests/test_0302_cat_valgrind_socket_error.sh +18 -0
  422. package/linux_x64/third-party/libsmb2/source/tests/test_0310_cancel_pdu.sh +13 -0
  423. package/linux_x64/third-party/libsmb2/source/tests/test_0400_overdrawn_0202.sh +25 -0
  424. package/linux_x64/third-party/libsmb2/source/tests/test_900_dcerpc.sh +10 -0
  425. package/linux_x64/third-party/libsmb2/source/utils/Makefile.am +11 -0
  426. package/linux_x64/third-party/libsmb2/source/utils/smb2-cp.c +265 -0
  427. package/linux_x64/third-party/libsmb2/source/utils/smb2-ls.c +135 -0
  428. package/package.json +10 -4
  429. package/smb2.proto +164 -0
  430. package/win32_x64/smb2.dll +0 -0
  431. package/win32_x64/smb_server_cpp_win32_x64.exe +0 -0
  432. package/win32_x64/third-party/libsmb2/COPYING +24 -0
  433. package/win32_x64/third-party/libsmb2/LICENCE-LGPL-2.1.txt +502 -0
  434. package/win32_x64/third-party/libsmb2/NOTICE.txt +13 -0
  435. package/win32_x64/third-party/libsmb2/README +413 -0
  436. package/win32_x64/third-party/libsmb2/source/CMakeLists.txt +205 -0
  437. package/win32_x64/third-party/libsmb2/source/COPYING +24 -0
  438. package/win32_x64/third-party/libsmb2/source/LICENCE-LGPL-2.1.txt +502 -0
  439. package/win32_x64/third-party/libsmb2/source/Makefile.am +15 -0
  440. package/win32_x64/third-party/libsmb2/source/Makefile.platform +112 -0
  441. package/win32_x64/third-party/libsmb2/source/README +413 -0
  442. package/win32_x64/third-party/libsmb2/source/Xbox/libsmb2.sln +25 -0
  443. package/win32_x64/third-party/libsmb2/source/Xbox/libsmb2.vcxproj +248 -0
  444. package/win32_x64/third-party/libsmb2/source/Xbox/libsmb2.vcxproj.filters +304 -0
  445. package/win32_x64/third-party/libsmb2/source/Xbox 360/libsmb2.sln +32 -0
  446. package/win32_x64/third-party/libsmb2/source/Xbox 360/libsmb2.vcxproj +327 -0
  447. package/win32_x64/third-party/libsmb2/source/Xbox 360/libsmb2.vcxproj.filters +268 -0
  448. package/win32_x64/third-party/libsmb2/source/bootstrap +2 -0
  449. package/win32_x64/third-party/libsmb2/source/cmake/ConfigureChecks.cmake +63 -0
  450. package/win32_x64/third-party/libsmb2/source/cmake/FindSMB2.cmake +37 -0
  451. package/win32_x64/third-party/libsmb2/source/cmake/Modules/FindGSSAPI.cmake +30 -0
  452. package/win32_x64/third-party/libsmb2/source/cmake/Modules/FindLibKrb5.cmake +44 -0
  453. package/win32_x64/third-party/libsmb2/source/cmake/config.h.cmake +126 -0
  454. package/win32_x64/third-party/libsmb2/source/cmake/libsmb2.pc.cmake +14 -0
  455. package/win32_x64/third-party/libsmb2/source/component.mk +5 -0
  456. package/win32_x64/third-party/libsmb2/source/configure.ac +184 -0
  457. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareAdd.yaml +9 -0
  458. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareCheck.yaml +4 -0
  459. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareDel.yaml +5 -0
  460. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareDelSticky.yaml +5 -0
  461. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareEnum.yaml +7 -0
  462. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareGetInfo.yaml +6 -0
  463. package/win32_x64/third-party/libsmb2/source/dcerpc-examples/srvsvc-NetrShareSetInfo.yaml +11 -0
  464. package/win32_x64/third-party/libsmb2/source/examples/CMakeLists.txt +28 -0
  465. package/win32_x64/third-party/libsmb2/source/examples/Makefile.am +54 -0
  466. package/win32_x64/third-party/libsmb2/source/examples/dcerpc.c +254 -0
  467. package/win32_x64/third-party/libsmb2/source/examples/picow/CMakeLists.txt +72 -0
  468. package/win32_x64/third-party/libsmb2/source/examples/picow/README.md +2 -0
  469. package/win32_x64/third-party/libsmb2/source/examples/picow/main.cpp +119 -0
  470. package/win32_x64/third-party/libsmb2/source/examples/picow/smb-ls-sync.c +0 -0
  471. package/win32_x64/third-party/libsmb2/source/examples/smb2-CMD-FIND.c +335 -0
  472. package/win32_x64/third-party/libsmb2/source/examples/smb2-cat-async.c +183 -0
  473. package/win32_x64/third-party/libsmb2/source/examples/smb2-cat-sync.c +105 -0
  474. package/win32_x64/third-party/libsmb2/source/examples/smb2-ftruncate-sync.c +87 -0
  475. package/win32_x64/third-party/libsmb2/source/examples/smb2-ls-async.c +185 -0
  476. package/win32_x64/third-party/libsmb2/source/examples/smb2-ls-epoll.c +234 -0
  477. package/win32_x64/third-party/libsmb2/source/examples/smb2-lsa-lookupsids.c +292 -0
  478. package/win32_x64/third-party/libsmb2/source/examples/smb2-lseek-sync.c +101 -0
  479. package/win32_x64/third-party/libsmb2/source/examples/smb2-notify.c +183 -0
  480. package/win32_x64/third-party/libsmb2/source/examples/smb2-put-async.c +175 -0
  481. package/win32_x64/third-party/libsmb2/source/examples/smb2-put-sync.c +100 -0
  482. package/win32_x64/third-party/libsmb2/source/examples/smb2-raw-fsstat-async.c +353 -0
  483. package/win32_x64/third-party/libsmb2/source/examples/smb2-raw-getsd-async.c +401 -0
  484. package/win32_x64/third-party/libsmb2/source/examples/smb2-raw-stat-async.c +448 -0
  485. package/win32_x64/third-party/libsmb2/source/examples/smb2-readlink.c +80 -0
  486. package/win32_x64/third-party/libsmb2/source/examples/smb2-rename-sync.c +80 -0
  487. package/win32_x64/third-party/libsmb2/source/examples/smb2-server-sync.c +497 -0
  488. package/win32_x64/third-party/libsmb2/source/examples/smb2-share-enum-sync.c +146 -0
  489. package/win32_x64/third-party/libsmb2/source/examples/smb2-share-enum.c +208 -0
  490. package/win32_x64/third-party/libsmb2/source/examples/smb2-share-info.c +255 -0
  491. package/win32_x64/third-party/libsmb2/source/examples/smb2-stat-sync.c +103 -0
  492. package/win32_x64/third-party/libsmb2/source/examples/smb2-statvfs-sync.c +85 -0
  493. package/win32_x64/third-party/libsmb2/source/examples/smb2-truncate-sync.c +78 -0
  494. package/win32_x64/third-party/libsmb2/source/idf_component.yml +5 -0
  495. package/win32_x64/third-party/libsmb2/source/include/Makefile.am +15 -0
  496. package/win32_x64/third-party/libsmb2/source/include/amiga_os/config.h +139 -0
  497. package/win32_x64/third-party/libsmb2/source/include/apple/config.h +139 -0
  498. package/win32_x64/third-party/libsmb2/source/include/asprintf.h +65 -0
  499. package/win32_x64/third-party/libsmb2/source/include/esp/config.h +139 -0
  500. package/win32_x64/third-party/libsmb2/source/include/libsmb2-private.h +670 -0
  501. package/win32_x64/third-party/libsmb2/source/include/module.modulemap +21 -0
  502. package/win32_x64/third-party/libsmb2/source/include/picow/FreeRTOSConfig.h +143 -0
  503. package/win32_x64/third-party/libsmb2/source/include/picow/README.md +2 -0
  504. package/win32_x64/third-party/libsmb2/source/include/picow/config.h +139 -0
  505. package/win32_x64/third-party/libsmb2/source/include/picow/lwipopts.h +27 -0
  506. package/win32_x64/third-party/libsmb2/source/include/picow/lwipopts_examples_common.h +90 -0
  507. package/win32_x64/third-party/libsmb2/source/include/portable-endian.h +377 -0
  508. package/win32_x64/third-party/libsmb2/source/include/ps3/config.h +139 -0
  509. package/win32_x64/third-party/libsmb2/source/include/slist.h +63 -0
  510. package/win32_x64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc-lsa.h +172 -0
  511. package/win32_x64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc-srvsvc.h +276 -0
  512. package/win32_x64/third-party/libsmb2/source/include/smb2/libsmb2-dcerpc.h +203 -0
  513. package/win32_x64/third-party/libsmb2/source/include/smb2/libsmb2-raw.h +497 -0
  514. package/win32_x64/third-party/libsmb2/source/include/smb2/libsmb2.h +1409 -0
  515. package/win32_x64/third-party/libsmb2/source/include/smb2/smb2-errors.h +549 -0
  516. package/win32_x64/third-party/libsmb2/source/include/smb2/smb2-ioctl.h +83 -0
  517. package/win32_x64/third-party/libsmb2/source/include/smb2/smb2.h +1251 -0
  518. package/win32_x64/third-party/libsmb2/source/include/xbox/config.h +139 -0
  519. package/win32_x64/third-party/libsmb2/source/include/xbox 360/config.h +139 -0
  520. package/win32_x64/third-party/libsmb2/source/lib/CMakeLists.txt +260 -0
  521. package/win32_x64/third-party/libsmb2/source/lib/Makefile.AMIGA +46 -0
  522. package/win32_x64/third-party/libsmb2/source/lib/Makefile.AMIGA_AROS +59 -0
  523. package/win32_x64/third-party/libsmb2/source/lib/Makefile.AMIGA_OS3 +59 -0
  524. package/win32_x64/third-party/libsmb2/source/lib/Makefile.PS3_PPU +100 -0
  525. package/win32_x64/third-party/libsmb2/source/lib/Makefile.am +85 -0
  526. package/win32_x64/third-party/libsmb2/source/lib/aes.c +33 -0
  527. package/win32_x64/third-party/libsmb2/source/lib/aes.h +29 -0
  528. package/win32_x64/third-party/libsmb2/source/lib/aes128ccm.c +185 -0
  529. package/win32_x64/third-party/libsmb2/source/lib/aes128ccm.h +28 -0
  530. package/win32_x64/third-party/libsmb2/source/lib/aes_apple.c +70 -0
  531. package/win32_x64/third-party/libsmb2/source/lib/aes_apple.h +34 -0
  532. package/win32_x64/third-party/libsmb2/source/lib/aes_reference.c +560 -0
  533. package/win32_x64/third-party/libsmb2/source/lib/aes_reference.h +49 -0
  534. package/win32_x64/third-party/libsmb2/source/lib/alloc.c +154 -0
  535. package/win32_x64/third-party/libsmb2/source/lib/asn1-ber.c +1078 -0
  536. package/win32_x64/third-party/libsmb2/source/lib/asn1-ber.h +161 -0
  537. package/win32_x64/third-party/libsmb2/source/lib/compat.c +599 -0
  538. package/win32_x64/third-party/libsmb2/source/lib/compat.h +829 -0
  539. package/win32_x64/third-party/libsmb2/source/lib/dcerpc-lsa.c +641 -0
  540. package/win32_x64/third-party/libsmb2/source/lib/dcerpc-srvsvc.c +885 -0
  541. package/win32_x64/third-party/libsmb2/source/lib/dcerpc.c +2513 -0
  542. package/win32_x64/third-party/libsmb2/source/lib/dreamcast/vfs.c +328 -0
  543. package/win32_x64/third-party/libsmb2/source/lib/dreamcast/vfs.h +15 -0
  544. package/win32_x64/third-party/libsmb2/source/lib/errors.c +1192 -0
  545. package/win32_x64/third-party/libsmb2/source/lib/hmac-md5.c +84 -0
  546. package/win32_x64/third-party/libsmb2/source/lib/hmac-md5.h +42 -0
  547. package/win32_x64/third-party/libsmb2/source/lib/hmac.c +245 -0
  548. package/win32_x64/third-party/libsmb2/source/lib/init.c +778 -0
  549. package/win32_x64/third-party/libsmb2/source/lib/krb5-wrapper.c +1072 -0
  550. package/win32_x64/third-party/libsmb2/source/lib/krb5-wrapper.h +134 -0
  551. package/win32_x64/third-party/libsmb2/source/lib/libsmb2.c +4292 -0
  552. package/win32_x64/third-party/libsmb2/source/lib/libsmb2.syms +168 -0
  553. package/win32_x64/third-party/libsmb2/source/lib/md4.h +43 -0
  554. package/win32_x64/third-party/libsmb2/source/lib/md4c.c +289 -0
  555. package/win32_x64/third-party/libsmb2/source/lib/md5.c +249 -0
  556. package/win32_x64/third-party/libsmb2/source/lib/md5.h +76 -0
  557. package/win32_x64/third-party/libsmb2/source/lib/ntlmssp.c +1380 -0
  558. package/win32_x64/third-party/libsmb2/source/lib/ntlmssp.h +84 -0
  559. package/win32_x64/third-party/libsmb2/source/lib/pdu.c +1159 -0
  560. package/win32_x64/third-party/libsmb2/source/lib/ps2/TODO +6 -0
  561. package/win32_x64/third-party/libsmb2/source/lib/ps2/imports.lst +84 -0
  562. package/win32_x64/third-party/libsmb2/source/lib/ps2/irx_imports.h +28 -0
  563. package/win32_x64/third-party/libsmb2/source/lib/ps2/ps2smb2.h +35 -0
  564. package/win32_x64/third-party/libsmb2/source/lib/ps2/smb2_fio.c +816 -0
  565. package/win32_x64/third-party/libsmb2/source/lib/ps2/smb2_fio.h +15 -0
  566. package/win32_x64/third-party/libsmb2/source/lib/ps2/smb2man.c +69 -0
  567. package/win32_x64/third-party/libsmb2/source/lib/sha-private.h +28 -0
  568. package/win32_x64/third-party/libsmb2/source/lib/sha.h +334 -0
  569. package/win32_x64/third-party/libsmb2/source/lib/sha1.c +450 -0
  570. package/win32_x64/third-party/libsmb2/source/lib/sha224-256.c +611 -0
  571. package/win32_x64/third-party/libsmb2/source/lib/sha384-512.c +1059 -0
  572. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-close.c +240 -0
  573. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-create.c +508 -0
  574. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-echo.c +202 -0
  575. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-error.c +157 -0
  576. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-flush.c +207 -0
  577. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-ioctl.c +445 -0
  578. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-lock.c +312 -0
  579. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-logoff.c +190 -0
  580. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-negotiate.c +646 -0
  581. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-notify-change.c +278 -0
  582. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-oplock-break.c +543 -0
  583. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-query-directory.c +580 -0
  584. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-query-info.c +753 -0
  585. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-read.c +391 -0
  586. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-session-setup.c +331 -0
  587. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-set-info.c +361 -0
  588. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-tree-connect.c +278 -0
  589. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-tree-disconnect.c +171 -0
  590. package/win32_x64/third-party/libsmb2/source/lib/smb2-cmd-write.c +319 -0
  591. package/win32_x64/third-party/libsmb2/source/lib/smb2-data-file-info.c +537 -0
  592. package/win32_x64/third-party/libsmb2/source/lib/smb2-data-filesystem-info.c +384 -0
  593. package/win32_x64/third-party/libsmb2/source/lib/smb2-data-reparse-point.c +117 -0
  594. package/win32_x64/third-party/libsmb2/source/lib/smb2-data-security-descriptor.c +361 -0
  595. package/win32_x64/third-party/libsmb2/source/lib/smb2-share-enum.c +181 -0
  596. package/win32_x64/third-party/libsmb2/source/lib/smb2-signing.c +279 -0
  597. package/win32_x64/third-party/libsmb2/source/lib/smb2-signing.h +51 -0
  598. package/win32_x64/third-party/libsmb2/source/lib/smb3-seal.c +165 -0
  599. package/win32_x64/third-party/libsmb2/source/lib/smb3-seal.h +43 -0
  600. package/win32_x64/third-party/libsmb2/source/lib/socket.c +1502 -0
  601. package/win32_x64/third-party/libsmb2/source/lib/spnego-wrapper.c +634 -0
  602. package/win32_x64/third-party/libsmb2/source/lib/spnego-wrapper.h +74 -0
  603. package/win32_x64/third-party/libsmb2/source/lib/sync.c +988 -0
  604. package/win32_x64/third-party/libsmb2/source/lib/timestamps.c +70 -0
  605. package/win32_x64/third-party/libsmb2/source/lib/unicode.c +307 -0
  606. package/win32_x64/third-party/libsmb2/source/lib/usha.c +345 -0
  607. package/win32_x64/third-party/libsmb2/source/libsmb2.pc.in +14 -0
  608. package/win32_x64/third-party/libsmb2/source/packaging/RPM/libsmb2.spec.in +135 -0
  609. package/win32_x64/third-party/libsmb2/source/packaging/RPM/makerpms.sh +114 -0
  610. package/win32_x64/third-party/libsmb2/source/tests/Makefile.am +34 -0
  611. package/win32_x64/third-party/libsmb2/source/tests/README +28 -0
  612. package/win32_x64/third-party/libsmb2/source/tests/aes128ccm-test.c +119 -0
  613. package/win32_x64/third-party/libsmb2/source/tests/functions.sh +11 -0
  614. package/win32_x64/third-party/libsmb2/source/tests/ld_sockerr.c +58 -0
  615. package/win32_x64/third-party/libsmb2/source/tests/metastat-0202-censored.c +136 -0
  616. package/win32_x64/third-party/libsmb2/source/tests/ntlmssp_generate_blob.c +123 -0
  617. package/win32_x64/third-party/libsmb2/source/tests/prog_cat.c +188 -0
  618. package/win32_x64/third-party/libsmb2/source/tests/prog_cat_cancel.c +203 -0
  619. package/win32_x64/third-party/libsmb2/source/tests/prog_ls.c +189 -0
  620. package/win32_x64/third-party/libsmb2/source/tests/prog_mkdir.c +85 -0
  621. package/win32_x64/third-party/libsmb2/source/tests/prog_rmdir.c +84 -0
  622. package/win32_x64/third-party/libsmb2/source/tests/smb2-dcerpc-coder-test.c +635 -0
  623. package/win32_x64/third-party/libsmb2/source/tests/test_0100_ls_basic.sh +22 -0
  624. package/win32_x64/third-party/libsmb2/source/tests/test_0101_ls_basic_valgrind.sh +23 -0
  625. package/win32_x64/third-party/libsmb2/source/tests/test_0102_ls_basic_socket_error.sh +16 -0
  626. package/win32_x64/third-party/libsmb2/source/tests/test_0103_ls_basic_valgrind_malloc_error.sh +25 -0
  627. package/win32_x64/third-party/libsmb2/source/tests/test_0200_mkdir.sh +15 -0
  628. package/win32_x64/third-party/libsmb2/source/tests/test_0201_mkdir_valgrind.sh +15 -0
  629. package/win32_x64/third-party/libsmb2/source/tests/test_0210_cp_basic.sh +25 -0
  630. package/win32_x64/third-party/libsmb2/source/tests/test_0211_cp_valgrind.sh +26 -0
  631. package/win32_x64/third-party/libsmb2/source/tests/test_0212_cp_valgrind_socket_error.sh +29 -0
  632. package/win32_x64/third-party/libsmb2/source/tests/test_0300_cat_basic.sh +13 -0
  633. package/win32_x64/third-party/libsmb2/source/tests/test_0301_cat_valgrind.sh +13 -0
  634. package/win32_x64/third-party/libsmb2/source/tests/test_0302_cat_valgrind_socket_error.sh +18 -0
  635. package/win32_x64/third-party/libsmb2/source/tests/test_0310_cancel_pdu.sh +13 -0
  636. package/win32_x64/third-party/libsmb2/source/tests/test_0400_overdrawn_0202.sh +25 -0
  637. package/win32_x64/third-party/libsmb2/source/tests/test_900_dcerpc.sh +10 -0
  638. package/win32_x64/third-party/libsmb2/source/utils/Makefile.am +11 -0
  639. package/win32_x64/third-party/libsmb2/source/utils/smb2-cp.c +265 -0
  640. package/win32_x64/third-party/libsmb2/source/utils/smb2-ls.c +135 -0
@@ -0,0 +1,988 @@
1
+ /* -*- mode:c; tab-width:8; c-basic-offset:8; indent-tabs-mode:nil; -*- */
2
+ /*
3
+ Copyright (C) 2016 by Ronnie Sahlberg <ronniesahlberg@gmail.com>
4
+
5
+ This program is free software; you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation; either version 2.1 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with this program; if not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #ifdef HAVE_CONFIG_H
19
+ #include "config.h"
20
+ #endif
21
+
22
+ #ifndef _GNU_SOURCE
23
+ #define _GNU_SOURCE
24
+ #endif
25
+
26
+ #ifdef HAVE_STDINT_H
27
+ #include <stdint.h>
28
+ #endif
29
+
30
+ #ifdef HAVE_STDLIB_H
31
+ #include <stdlib.h>
32
+ #endif
33
+
34
+ #include <errno.h>
35
+
36
+ #ifdef HAVE_SYS_POLL_H
37
+ #include <sys/poll.h>
38
+ #endif
39
+
40
+ #ifdef HAVE_POLL_H
41
+ #include <poll.h>
42
+ #endif
43
+
44
+ #ifdef HAVE_STRING_H
45
+ #include <string.h>
46
+ #endif
47
+
48
+ #include "compat.h"
49
+
50
+ #ifdef HAVE_TIME_H
51
+ #include <time.h>
52
+ #endif
53
+
54
+ #ifdef HAVE_SYS_TIME_H
55
+ #include <sys/time.h>
56
+ #endif
57
+
58
+ #include <stdio.h>
59
+
60
+ #include "smb2.h"
61
+ #include "libsmb2.h"
62
+ #include "libsmb2-raw.h"
63
+ #include "libsmb2-private.h"
64
+
65
+ static int wait_for_reply(struct smb2_context *smb2,
66
+ struct sync_cb_data *cb_data)
67
+ {
68
+ time_t t = time(NULL);
69
+
70
+ while (!cb_data->is_finished) {
71
+ struct pollfd pfd;
72
+ memset(&pfd, 0, sizeof(struct pollfd));
73
+ pfd.fd = smb2_get_fd(smb2);
74
+ pfd.events = smb2_which_events(smb2);
75
+
76
+ if (poll(&pfd, 1, 1000) < 0) {
77
+ smb2_set_error(smb2, "Poll failed");
78
+ return -1;
79
+ }
80
+ if (smb2->timeout) {
81
+ smb2_timeout_pdus(smb2);
82
+ }
83
+ if (!SMB2_VALID_SOCKET(smb2->fd) && ((time(NULL) - t) > (smb2->timeout)))
84
+ {
85
+ smb2_set_error(smb2, "Timeout expired and no connection exists\n");
86
+ return -1;
87
+ }
88
+ if (pfd.revents == 0) {
89
+ continue;
90
+ }
91
+ if (smb2_service(smb2, pfd.revents) < 0) {
92
+ smb2_set_error(smb2, "smb2_service failed with : "
93
+ "%s\n", smb2_get_error(smb2));
94
+ return -1;
95
+ }
96
+ }
97
+
98
+ return 0;
99
+ }
100
+
101
+ static void sync_connect_cb(struct smb2_context *smb2, int status,
102
+ void *command_data, void *private_data)
103
+ {
104
+ struct sync_cb_data *cb_data = private_data;
105
+
106
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
107
+ if (cb_data != &smb2->connect_cb_data) {
108
+ free(cb_data);
109
+ }
110
+ return;
111
+ }
112
+
113
+ cb_data->is_finished = 1;
114
+ cb_data->status = status;
115
+ }
116
+
117
+ /*
118
+ * Connect to the server and mount the share.
119
+ */
120
+ int smb2_connect_share(struct smb2_context *smb2,
121
+ const char *server,
122
+ const char *share,
123
+ const char *user)
124
+ {
125
+ struct sync_cb_data *cb_data;
126
+ int rc = 0;
127
+
128
+ cb_data = &smb2->connect_cb_data;
129
+ rc = smb2_connect_share_async(smb2, server, share, user, sync_connect_cb, cb_data);
130
+ if (rc < 0) {
131
+ goto out;
132
+ }
133
+
134
+ rc = wait_for_reply(smb2, cb_data);
135
+ if (rc < 0) {
136
+ cb_data->status = SMB2_STATUS_CANCELLED;
137
+ return rc;
138
+ }
139
+
140
+ rc = cb_data->status;
141
+ out:
142
+
143
+ return rc;
144
+ }
145
+
146
+ /*
147
+ * Disconnect from share
148
+ */
149
+ int smb2_disconnect_share(struct smb2_context *smb2)
150
+ {
151
+ struct sync_cb_data *cb_data;
152
+ int rc = 0;
153
+
154
+ cb_data = &smb2->connect_cb_data;
155
+
156
+ rc = smb2_disconnect_share_async(smb2, sync_connect_cb, cb_data);
157
+ if (rc < 0) {
158
+ goto out;
159
+ }
160
+
161
+ rc = wait_for_reply(smb2, cb_data);
162
+ if (rc < 0) {
163
+ cb_data->status = SMB2_STATUS_CANCELLED;
164
+ return rc;
165
+ }
166
+
167
+ rc = cb_data->status;
168
+ out:
169
+
170
+ return rc;
171
+ }
172
+
173
+ /*
174
+ * opendir()
175
+ */
176
+ static void sync_opendir_cb(struct smb2_context *smb2, int status,
177
+ void *command_data, void *private_data)
178
+ {
179
+ struct sync_cb_data *cb_data = private_data;
180
+
181
+ if (status == SMB2_STATUS_SHUTDOWN) {
182
+ return;
183
+ }
184
+ if (status) {
185
+ cb_data->status = status;
186
+ }
187
+ cb_data->is_finished = 1;
188
+ cb_data->ptr = command_data;
189
+ }
190
+
191
+ struct smb2dir *smb2_opendir(struct smb2_context *smb2, const char *path)
192
+ {
193
+ struct smb2_pdu *pdu;
194
+ struct sync_cb_data *cb_data;
195
+ struct smb2dir *dir;
196
+
197
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
198
+ if (cb_data == NULL) {
199
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
200
+ return NULL;
201
+ }
202
+
203
+ pdu = smb2_opendir_async_pdu(smb2, path, sync_opendir_cb, cb_data, NULL);
204
+ if (pdu == NULL) {
205
+ smb2_set_error(smb2, "smb2_opendir_async failed");
206
+ free(cb_data);
207
+ return NULL;
208
+ }
209
+
210
+ if (wait_for_reply(smb2, cb_data) < 0) {
211
+ free(cb_data);
212
+ smb2_free_pdu(smb2, pdu);
213
+ return NULL;
214
+ }
215
+
216
+ dir = cb_data->ptr;
217
+ if (dir) {
218
+ /* Give ownership of cb_data to dir. It will be freed when dir is freed */
219
+ dir->free_cb_data = free;
220
+ } else {
221
+ free(cb_data);
222
+ }
223
+ smb2_free_pdu(smb2, pdu);
224
+ return dir;
225
+ }
226
+
227
+ /*
228
+ * open()
229
+ */
230
+ static void sync_open_cb(struct smb2_context *smb2, int status,
231
+ void *command_data, void *private_data)
232
+ {
233
+ struct sync_cb_data *cb_data = private_data;
234
+
235
+ cb_data->is_finished = 1;
236
+ cb_data->ptr = command_data;
237
+ }
238
+
239
+ struct smb2fh *smb2_open(struct smb2_context *smb2, const char *path, int flags)
240
+ {
241
+ struct smb2_pdu *pdu;
242
+ struct sync_cb_data *cb_data;
243
+ void *ptr;
244
+
245
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
246
+ if (cb_data == NULL) {
247
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
248
+ return NULL;
249
+ }
250
+
251
+ /* pdu takes ownership of cb_data and will free it when the pdu is freed */
252
+ pdu = smb2_open_async_pdu(smb2, path, flags, sync_open_cb, cb_data, free);
253
+ if (pdu == NULL) {
254
+ smb2_set_error(smb2, "smb2_open_async failed");
255
+ free(cb_data);
256
+ return NULL;
257
+ }
258
+
259
+ if (wait_for_reply(smb2, cb_data) < 0) {
260
+ smb2_free_pdu(smb2, pdu);
261
+ return NULL;
262
+ }
263
+
264
+ ptr = cb_data->ptr;
265
+ cb_data->ptr = NULL;
266
+ smb2_free_pdu(smb2, pdu);
267
+ return ptr;
268
+ }
269
+
270
+ /*
271
+ * close()
272
+ */
273
+ static void sync_close_cb(struct smb2_context *smb2, int status,
274
+ void *command_data, void *private_data)
275
+ {
276
+ struct sync_cb_data *cb_data = private_data;
277
+
278
+ if (status == SMB2_STATUS_SHUTDOWN) {
279
+ return;
280
+ }
281
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
282
+ free(cb_data);
283
+ return;
284
+ }
285
+
286
+ cb_data->is_finished = 1;
287
+ cb_data->status = status;
288
+ }
289
+
290
+ int smb2_close(struct smb2_context *smb2, struct smb2fh *fh)
291
+ {
292
+ struct sync_cb_data *cb_data;
293
+ int rc = 0;
294
+
295
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
296
+ if (cb_data == NULL) {
297
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
298
+ return -ENOMEM;
299
+ }
300
+
301
+ rc = smb2_close_async(smb2, fh, sync_close_cb, cb_data);
302
+ if (rc < 0) {
303
+ goto out;
304
+ }
305
+
306
+ rc = wait_for_reply(smb2, cb_data);
307
+ if (rc < 0) {
308
+ cb_data->status = SMB2_STATUS_CANCELLED;
309
+ goto out;
310
+ }
311
+
312
+ rc = cb_data->status;
313
+ out:
314
+ free(cb_data);
315
+
316
+ return rc;
317
+ }
318
+
319
+ /*
320
+ * fsync()
321
+ */
322
+ static void sync_fsync_cb(struct smb2_context *smb2, int status,
323
+ void *command_data, void *private_data)
324
+ {
325
+ struct sync_cb_data *cb_data = private_data;
326
+
327
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
328
+ free(cb_data);
329
+ return;
330
+ }
331
+
332
+ cb_data->is_finished = 1;
333
+ cb_data->status = status;
334
+ }
335
+
336
+ int smb2_fsync(struct smb2_context *smb2, struct smb2fh *fh)
337
+ {
338
+ struct sync_cb_data *cb_data;
339
+ int rc = 0;
340
+
341
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
342
+ if (cb_data == NULL) {
343
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
344
+ return -ENOMEM;
345
+ }
346
+
347
+ rc = smb2_fsync_async(smb2, fh, sync_fsync_cb, cb_data);
348
+ if (rc < 0) {
349
+ goto out;
350
+ }
351
+
352
+ rc = wait_for_reply(smb2, cb_data);
353
+ if (rc < 0) {
354
+ cb_data->status = SMB2_STATUS_CANCELLED;
355
+ return rc;
356
+ }
357
+
358
+ rc = cb_data->status;
359
+ out:
360
+ free(cb_data);
361
+
362
+ return rc;
363
+ }
364
+
365
+ /*
366
+ * pread()
367
+ */
368
+ static void sync_generic_status_cb(struct smb2_context *smb2, int status,
369
+ void *command_data, void *private_data)
370
+ {
371
+ struct sync_cb_data *cb_data = private_data;
372
+
373
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
374
+ free(cb_data);
375
+ return;
376
+ }
377
+
378
+ cb_data->is_finished = 1;
379
+ cb_data->status = status;
380
+ }
381
+
382
+ int smb2_pread(struct smb2_context *smb2, struct smb2fh *fh,
383
+ uint8_t *buf, uint32_t count, uint64_t offset)
384
+ {
385
+ struct sync_cb_data *cb_data;
386
+ int rc = 0;
387
+
388
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
389
+ if (cb_data == NULL) {
390
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
391
+ return -ENOMEM;
392
+ }
393
+
394
+ rc = smb2_pread_async(smb2, fh, buf, count, offset,
395
+ sync_generic_status_cb, cb_data);
396
+ if (rc < 0) {
397
+ goto out;
398
+ }
399
+
400
+ rc = wait_for_reply(smb2, cb_data);
401
+ if (rc < 0) {
402
+ cb_data->status = SMB2_STATUS_CANCELLED;
403
+ return rc;
404
+ }
405
+
406
+ rc = cb_data->status;
407
+ out:
408
+ free(cb_data);
409
+
410
+ return rc;
411
+ }
412
+
413
+ int smb2_pwrite(struct smb2_context *smb2, struct smb2fh *fh,
414
+ const uint8_t *buf, uint32_t count, uint64_t offset)
415
+ {
416
+ struct sync_cb_data *cb_data;
417
+ int rc = 0;
418
+
419
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
420
+ if (cb_data == NULL) {
421
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
422
+ return -ENOMEM;
423
+ }
424
+
425
+ rc = smb2_pwrite_async(smb2, fh, buf, count, offset,
426
+ sync_generic_status_cb, cb_data);
427
+ if (rc < 0) {
428
+ goto out;
429
+ }
430
+
431
+ rc = wait_for_reply(smb2, cb_data);
432
+ if (rc < 0) {
433
+ cb_data->status = SMB2_STATUS_CANCELLED;
434
+ return rc;
435
+ }
436
+
437
+ rc = cb_data->status;
438
+ out:
439
+ free(cb_data);
440
+
441
+ return rc;
442
+ }
443
+
444
+ int smb2_read(struct smb2_context *smb2, struct smb2fh *fh,
445
+ uint8_t *buf, uint32_t count)
446
+ {
447
+ struct sync_cb_data *cb_data;
448
+ int rc = 0;
449
+
450
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
451
+ if (cb_data == NULL) {
452
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
453
+ return -ENOMEM;
454
+ }
455
+
456
+ rc = smb2_read_async(smb2, fh, buf, count,
457
+ sync_generic_status_cb, cb_data);
458
+ if (rc < 0) {
459
+ goto out;
460
+ }
461
+
462
+ rc = wait_for_reply(smb2, cb_data);
463
+ if (rc < 0) {
464
+ cb_data->status = SMB2_STATUS_CANCELLED;
465
+ return rc;
466
+ }
467
+
468
+ rc = cb_data->status;
469
+ out:
470
+ free(cb_data);
471
+
472
+ return rc;
473
+ }
474
+
475
+ int smb2_write(struct smb2_context *smb2, struct smb2fh *fh,
476
+ const uint8_t *buf, uint32_t count)
477
+ {
478
+ struct sync_cb_data *cb_data;
479
+ int rc = 0;
480
+
481
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
482
+ if (cb_data == NULL) {
483
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
484
+ return -ENOMEM;
485
+ }
486
+
487
+ rc = smb2_write_async(smb2, fh, buf, count,
488
+ sync_generic_status_cb, cb_data);
489
+ if (rc < 0) {
490
+ goto out;
491
+ }
492
+
493
+ rc = wait_for_reply(smb2, cb_data);
494
+ if (rc < 0) {
495
+ cb_data->status = SMB2_STATUS_CANCELLED;
496
+ return rc;
497
+ }
498
+
499
+ rc = cb_data->status;
500
+ out:
501
+ free(cb_data);
502
+
503
+ return rc;
504
+ }
505
+
506
+ int smb2_unlink(struct smb2_context *smb2, const char *path)
507
+ {
508
+ struct sync_cb_data *cb_data;
509
+ int rc = 0;
510
+
511
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
512
+ if (cb_data == NULL) {
513
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
514
+ return -ENOMEM;
515
+ }
516
+
517
+ rc = smb2_unlink_async(smb2, path,
518
+ sync_generic_status_cb, cb_data);
519
+ if (rc < 0) {
520
+ goto out;
521
+ }
522
+
523
+ rc = wait_for_reply(smb2, cb_data);
524
+ if (rc < 0) {
525
+ cb_data->status = SMB2_STATUS_CANCELLED;
526
+ return rc;
527
+ }
528
+
529
+ rc = cb_data->status;
530
+ out:
531
+ free(cb_data);
532
+
533
+ return rc;
534
+ }
535
+
536
+ int smb2_rmdir(struct smb2_context *smb2, const char *path)
537
+ {
538
+ struct sync_cb_data *cb_data;
539
+ int rc = 0;
540
+
541
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
542
+ if (cb_data == NULL) {
543
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
544
+ return -ENOMEM;
545
+ }
546
+
547
+ rc = smb2_rmdir_async(smb2, path,
548
+ sync_generic_status_cb, cb_data);
549
+ if (rc < 0) {
550
+ goto out;
551
+ }
552
+
553
+ rc = wait_for_reply(smb2, cb_data);
554
+ if (rc < 0) {
555
+ cb_data->status = SMB2_STATUS_CANCELLED;
556
+ return rc;
557
+ }
558
+
559
+ rc = cb_data->status;
560
+ out:
561
+ free(cb_data);
562
+
563
+ return rc;
564
+ }
565
+
566
+ int smb2_mkdir(struct smb2_context *smb2, const char *path)
567
+ {
568
+ struct sync_cb_data *cb_data;
569
+ int rc = 0;
570
+
571
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
572
+ if (cb_data == NULL) {
573
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
574
+ return -ENOMEM;
575
+ }
576
+
577
+ rc = smb2_mkdir_async(smb2, path,
578
+ sync_generic_status_cb, cb_data);
579
+ if (rc < 0) {
580
+ goto out;
581
+ }
582
+
583
+ rc = wait_for_reply(smb2, cb_data);
584
+ if (rc < 0) {
585
+ cb_data->status = SMB2_STATUS_CANCELLED;
586
+ return rc;
587
+ }
588
+
589
+ rc = cb_data->status;
590
+ out:
591
+ free(cb_data);
592
+
593
+ return rc;
594
+ }
595
+
596
+ int smb2_fstat(struct smb2_context *smb2, struct smb2fh *fh,
597
+ struct smb2_stat_64 *st)
598
+ {
599
+ struct sync_cb_data *cb_data;
600
+ int rc = 0;
601
+
602
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
603
+ if (cb_data == NULL) {
604
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
605
+ return -ENOMEM;
606
+ }
607
+
608
+ rc = smb2_fstat_async(smb2, fh, st,
609
+ sync_generic_status_cb, cb_data);
610
+ if (rc < 0) {
611
+ goto out;
612
+ }
613
+
614
+ rc = wait_for_reply(smb2, cb_data);
615
+ if (rc < 0) {
616
+ cb_data->status = SMB2_STATUS_CANCELLED;
617
+ return rc;
618
+ }
619
+
620
+ rc = cb_data->status;
621
+ out:
622
+ free(cb_data);
623
+
624
+ return rc;
625
+ }
626
+
627
+ int smb2_stat(struct smb2_context *smb2, const char *path,
628
+ struct smb2_stat_64 *st)
629
+ {
630
+ struct sync_cb_data *cb_data;
631
+ int rc = 0;
632
+
633
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
634
+ if (cb_data == NULL) {
635
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
636
+ return -ENOMEM;
637
+ }
638
+
639
+ rc = smb2_stat_async(smb2, path, st,
640
+ sync_generic_status_cb, cb_data);
641
+ if (rc < 0) {
642
+ goto out;
643
+ }
644
+
645
+ rc = wait_for_reply(smb2, cb_data);
646
+ if (rc < 0) {
647
+ cb_data->status = SMB2_STATUS_CANCELLED;
648
+ return rc;
649
+ }
650
+
651
+ rc = cb_data->status;
652
+ out:
653
+ free(cb_data);
654
+
655
+ return rc;
656
+ }
657
+
658
+ int smb2_rename(struct smb2_context *smb2, const char *oldpath,
659
+ const char *newpath)
660
+ {
661
+ struct sync_cb_data *cb_data;
662
+ int rc = 0;
663
+
664
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
665
+ if (cb_data == NULL) {
666
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
667
+ return -ENOMEM;
668
+ }
669
+
670
+ rc = smb2_rename_async(smb2, oldpath, newpath,
671
+ sync_generic_status_cb, cb_data);
672
+ if (rc < 0) {
673
+ goto out;
674
+ }
675
+
676
+ rc = wait_for_reply(smb2, cb_data);
677
+ if (rc < 0) {
678
+ cb_data->status = SMB2_STATUS_CANCELLED;
679
+ return rc;
680
+ }
681
+
682
+ rc = cb_data->status;
683
+ out:
684
+ free(cb_data);
685
+
686
+ return rc;
687
+ }
688
+
689
+ int smb2_statvfs(struct smb2_context *smb2, const char *path,
690
+ struct smb2_statvfs *st)
691
+ {
692
+ struct sync_cb_data *cb_data;
693
+ int rc = 0;
694
+
695
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
696
+ if (cb_data == NULL) {
697
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
698
+ return -ENOMEM;
699
+ }
700
+
701
+ rc = smb2_statvfs_async(smb2, path, st,
702
+ sync_generic_status_cb, cb_data);
703
+ if (rc < 0) {
704
+ goto out;
705
+ }
706
+
707
+ rc = wait_for_reply(smb2, cb_data);
708
+ if (rc < 0) {
709
+ cb_data->status = SMB2_STATUS_CANCELLED;
710
+ return rc;
711
+ }
712
+
713
+ rc = cb_data->status;
714
+ out:
715
+ free(cb_data);
716
+
717
+ return rc;
718
+ }
719
+
720
+ int smb2_truncate(struct smb2_context *smb2, const char *path,
721
+ uint64_t length)
722
+ {
723
+ struct sync_cb_data *cb_data;
724
+ int rc = 0;
725
+
726
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
727
+ if (cb_data == NULL) {
728
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
729
+ return -ENOMEM;
730
+ }
731
+
732
+ rc = smb2_truncate_async(smb2, path, length,
733
+ sync_generic_status_cb, cb_data);
734
+ if (rc < 0) {
735
+ goto out;
736
+ }
737
+
738
+ rc = wait_for_reply(smb2, cb_data);
739
+ if (rc < 0) {
740
+ cb_data->status = SMB2_STATUS_CANCELLED;
741
+ return rc;
742
+ }
743
+
744
+ rc = cb_data->status;
745
+ out:
746
+ free(cb_data);
747
+
748
+ return rc;
749
+ }
750
+
751
+ int smb2_ftruncate(struct smb2_context *smb2, struct smb2fh *fh,
752
+ uint64_t length)
753
+ {
754
+ struct sync_cb_data *cb_data;
755
+ int rc = 0;
756
+
757
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
758
+ if (cb_data == NULL) {
759
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
760
+ return -ENOMEM;
761
+ }
762
+
763
+ rc = smb2_ftruncate_async(smb2, fh, length,
764
+ sync_generic_status_cb, cb_data);
765
+ if (rc < 0) {
766
+ goto out;
767
+ }
768
+
769
+ rc = wait_for_reply(smb2, cb_data);
770
+ if (rc < 0) {
771
+ cb_data->status = SMB2_STATUS_CANCELLED;
772
+ return rc;
773
+ }
774
+
775
+ rc = cb_data->status;
776
+ out:
777
+ free(cb_data);
778
+
779
+ return rc;
780
+ }
781
+
782
+ struct sync_readlink_cb_data {
783
+ char *buf;
784
+ int len;
785
+ };
786
+
787
+ static void readlink_cb(struct smb2_context *smb2, int status,
788
+ void *command_data, void *private_data)
789
+ {
790
+ struct sync_cb_data *cb_data = private_data;
791
+ struct sync_readlink_cb_data *rl_data = cb_data->ptr;
792
+
793
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
794
+ free(cb_data);
795
+ return;
796
+ }
797
+
798
+ cb_data->is_finished = 1;
799
+ cb_data->status = status;
800
+ strncpy(rl_data->buf, command_data, rl_data->len);
801
+ }
802
+
803
+ int smb2_readlink(struct smb2_context *smb2, const char *path,
804
+ char *buf, uint32_t len)
805
+ {
806
+ struct sync_cb_data *cb_data;
807
+ struct sync_readlink_cb_data rl_data _U_;
808
+ int rc = 0;
809
+
810
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
811
+ if (cb_data == NULL) {
812
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
813
+ return -ENOMEM;
814
+ }
815
+
816
+ rl_data.buf = buf;
817
+ rl_data.len = len;
818
+
819
+ cb_data->ptr = &rl_data;
820
+
821
+ rc = smb2_readlink_async(smb2, path, readlink_cb, cb_data);
822
+ if (rc < 0) {
823
+ goto out;
824
+ }
825
+
826
+ rc = wait_for_reply(smb2, cb_data);
827
+ if (rc < 0) {
828
+ cb_data->status = SMB2_STATUS_CANCELLED;
829
+ return rc;
830
+ }
831
+
832
+ rc = cb_data->status;
833
+ out:
834
+ free(cb_data);
835
+
836
+ return rc;
837
+ }
838
+
839
+ static void sync_echo_cb(struct smb2_context *smb2, int status,
840
+ void *command_data, void *private_data)
841
+ {
842
+ struct sync_cb_data *cb_data = private_data;
843
+
844
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
845
+ free(cb_data);
846
+ return;
847
+ }
848
+
849
+ cb_data->is_finished = 1;
850
+ cb_data->status = status;
851
+ }
852
+
853
+ /*
854
+ * Send SMB2_ECHO command to the server
855
+ */
856
+ int smb2_echo(struct smb2_context *smb2)
857
+ {
858
+ struct sync_cb_data *cb_data;
859
+ int rc = 0;
860
+
861
+ if (!SMB2_VALID_SOCKET(smb2->fd)) {
862
+ smb2_set_error(smb2, "Not Connected to Server");
863
+ return -ENOMEM;
864
+ }
865
+
866
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
867
+ if (cb_data == NULL) {
868
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
869
+ return -ENOMEM;
870
+ }
871
+
872
+ rc = smb2_echo_async(smb2, sync_echo_cb, cb_data);
873
+ if (rc < 0) {
874
+ goto out;
875
+ }
876
+
877
+ rc = wait_for_reply(smb2, cb_data);
878
+ if (rc < 0) {
879
+ cb_data->status = SMB2_STATUS_CANCELLED;
880
+ return rc;
881
+ }
882
+
883
+ rc = cb_data->status;
884
+ out:
885
+ free(cb_data);
886
+
887
+ return rc;
888
+ }
889
+
890
+ static void sync_notify_change_cb(struct smb2_context *smb2, int status,
891
+ void *command_data, void *private_data)
892
+ {
893
+ struct sync_cb_data *cb_data = private_data;
894
+
895
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
896
+ return;
897
+ }
898
+
899
+ cb_data->is_finished = 1;
900
+ cb_data->ptr = command_data;
901
+ }
902
+
903
+
904
+ /**
905
+ * One-off sync command for getting notify change response
906
+ */
907
+ struct smb2_file_notify_change_information *smb2_notify_change(struct smb2_context *smb2, const char *path, uint16_t flags, uint32_t filter)
908
+ {
909
+ struct sync_cb_data *cb_data;
910
+ void *ptr;
911
+
912
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
913
+ if (cb_data == NULL) {
914
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
915
+ return NULL;
916
+ }
917
+
918
+ if (smb2_notify_change_async(smb2, path, flags, filter, 0,
919
+ sync_notify_change_cb, cb_data) != 0) {
920
+ smb2_set_error(smb2, "smb2_notify_change failed");
921
+ free(cb_data);
922
+ return NULL;
923
+ }
924
+
925
+ if (wait_for_reply(smb2, cb_data) < 0) {
926
+ cb_data->status = SMB2_STATUS_CANCELLED;
927
+ free(cb_data);
928
+ return NULL;
929
+ }
930
+
931
+ ptr = cb_data->ptr;
932
+ free(cb_data);
933
+ return ptr;
934
+ }
935
+
936
+ static void sync_share_enum_cb(struct smb2_context *smb2, int status,
937
+ void *command_data, void *private_data)
938
+ {
939
+ struct sync_cb_data *cb_data = private_data;
940
+
941
+ if (cb_data->status == SMB2_STATUS_CANCELLED) {
942
+ free(cb_data);
943
+ return;
944
+ }
945
+
946
+ cb_data->is_finished = 1;
947
+ cb_data->status = status;
948
+ cb_data->ptr = command_data;
949
+ }
950
+
951
+ /*
952
+ * Send SRVSVC ShareEnum call to the server
953
+ */
954
+ struct srvsvc_NetrShareEnum_rep *
955
+ smb2_share_enum_sync(struct smb2_context *smb2, enum SHARE_INFO_enum level)
956
+ {
957
+ struct srvsvc_NetrShareEnum_rep *rep = NULL;
958
+ struct sync_cb_data *cb_data;
959
+ int rc = 0;
960
+
961
+ if (!SMB2_VALID_SOCKET(smb2->fd)) {
962
+ smb2_set_error(smb2, "Not Connected to Server");
963
+ return NULL;
964
+ }
965
+
966
+ cb_data = calloc(1, sizeof(struct sync_cb_data));
967
+ if (cb_data == NULL) {
968
+ smb2_set_error(smb2, "Failed to allocate sync_cb_data");
969
+ return NULL;
970
+ }
971
+
972
+ rc = smb2_share_enum_async(smb2, level, sync_share_enum_cb, cb_data);
973
+ if (rc < 0) {
974
+ goto out;
975
+ }
976
+
977
+ rc = wait_for_reply(smb2, cb_data);
978
+ if (rc < 0) {
979
+ return NULL;
980
+ }
981
+
982
+ rep = cb_data->ptr;
983
+
984
+ out:
985
+ free(cb_data);
986
+
987
+ return rep;
988
+ }