mitmproxy-rs 0.7.0__tar.gz → 0.7.2__tar.gz

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 (137) hide show
  1. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/CHANGELOG.md +8 -0
  2. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/Cargo.lock +21 -35
  3. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/Cargo.toml +3 -2
  4. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/PKG-INFO +3 -3
  5. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/ipc/mitmproxy_ipc.pb.swift +1 -0
  6. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/version-info.toml +3 -2
  7. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/dns_resolver.rs +28 -3
  8. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/pyproject.toml +2 -2
  9. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/ipc/mitmproxy_ipc.rs +0 -12
  10. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/processes/windows_icons.rs +25 -0
  11. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.cargo/config.toml +0 -0
  12. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/FUNDING.yml +0 -0
  13. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/dependabot.yml +0 -0
  14. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/python-version.txt +0 -0
  15. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/scripts/build-macos-redirector.sh +0 -0
  16. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/scripts/pin-versions.py +0 -0
  17. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/workflows/autofix.yml +0 -0
  18. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/workflows/ci.yml +0 -0
  19. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.github/workflows/docs.yml +0 -0
  20. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/.gitignore +0 -0
  21. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/CONTRIBUTING.md +0 -0
  22. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/LICENSE +0 -0
  23. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/README.md +0 -0
  24. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/architecture.png +0 -0
  25. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/.gitignore +0 -0
  26. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/dns.py +0 -0
  27. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/local.conf +0 -0
  28. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/nonlocal.conf +0 -0
  29. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/openvpnserv.exe +0 -0
  30. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/plot.py +0 -0
  31. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/process.rs +0 -0
  32. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/py_echo_client.py +0 -0
  33. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/py_echo_server.py +0 -0
  34. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/wg_echo_client.py +0 -0
  35. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/benches/wg_echo_server.py +0 -0
  36. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/.swift-format +0 -0
  37. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/.swiftlint.yml +0 -0
  38. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/README.md +0 -0
  39. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/mitmproxy_macos/__init__.py +0 -0
  40. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/mitmproxy_macos/macos-certificate-truster.app/Contents/Info.plist +0 -0
  41. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/mitmproxy_macos/macos-certificate-truster.app/Contents/Resources/mitmproxy.icns +0 -0
  42. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/pyproject.toml +0 -0
  43. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/.gitignore +0 -0
  44. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/ExportOptions.plist +0 -0
  45. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/README.md +0 -0
  46. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/ipc/utils.swift +0 -0
  47. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
  48. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-1024.png +0 -0
  49. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-128.png +0 -0
  50. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-16.png +0 -0
  51. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-256.png +0 -0
  52. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-32.png +0 -0
  53. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-512.png +0 -0
  54. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/AppIcon.appiconset/logo-circle-64.png +0 -0
  55. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/Assets.xcassets/Contents.json +0 -0
  56. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/app.swift +0 -0
  57. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector/macos_redirector.entitlements +0 -0
  58. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector.xcodeproj/project.pbxproj +0 -0
  59. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
  60. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  61. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -0
  62. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/macos-redirector.xcodeproj/xcshareddata/xcschemes/macos-redirector.xcscheme +0 -0
  63. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/FlowExtensions.swift +0 -0
  64. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/Info.plist +0 -0
  65. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/InterceptConf.swift +0 -0
  66. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/ProcessInfoCache.swift +0 -0
  67. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/TransparentProxyProvider.swift +0 -0
  68. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/libproc-Bridging-Header.h +0 -0
  69. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/main.swift +0 -0
  70. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-macos/redirector/network-extension/network_extension.entitlements +0 -0
  71. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/.gitignore +0 -0
  72. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/Cargo.toml +0 -0
  73. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/README.md +0 -0
  74. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/__init__.py +0 -0
  75. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/__init__.pyi +0 -0
  76. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/_pyinstaller/__init__.py +0 -0
  77. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/_pyinstaller/hook-mitmproxy_macos.py +0 -0
  78. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/_pyinstaller/hook-mitmproxy_rs.py +0 -0
  79. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/_pyinstaller/hook-mitmproxy_windows.py +0 -0
  80. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/mitmproxy_rs/py.typed +0 -0
  81. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/lib.rs +0 -0
  82. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/process_info.rs +0 -0
  83. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/server/base.rs +0 -0
  84. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/server/local_redirector.rs +0 -0
  85. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/server/mod.rs +0 -0
  86. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/server/udp.rs +0 -0
  87. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/server/wireguard.rs +0 -0
  88. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/stream.rs +0 -0
  89. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/task.rs +0 -0
  90. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/udp_client.rs +0 -0
  91. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/src/util.rs +0 -0
  92. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-rs/stubtest-allowlist.txt +0 -0
  93. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/README.md +0 -0
  94. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/mitmproxy_windows/LICENSE +0 -0
  95. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/mitmproxy_windows/WINDIVERT_VERSION +0 -0
  96. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/mitmproxy_windows/WinDivert.dll +0 -0
  97. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/mitmproxy_windows/WinDivert.lib +0 -0
  98. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/mitmproxy_windows/WinDivert64.sys +0 -0
  99. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/mitmproxy_windows/__init__.py +0 -0
  100. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy-windows/pyproject.toml +0 -0
  101. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/__init__.py +0 -0
  102. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/__init__.pyi +0 -0
  103. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/_pyinstaller/__init__.py +0 -0
  104. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/_pyinstaller/hook-mitmproxy_macos.py +0 -0
  105. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/_pyinstaller/hook-mitmproxy_rs.py +0 -0
  106. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/_pyinstaller/hook-mitmproxy_windows.py +0 -0
  107. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/mitmproxy_rs/py.typed +0 -0
  108. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/bin/process-list.rs +0 -0
  109. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/certificates/macos.rs +0 -0
  110. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/certificates/mod.rs +0 -0
  111. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/dns.rs +0 -0
  112. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/intercept_conf.rs +0 -0
  113. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/ipc/mitmproxy_ipc.proto +0 -0
  114. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/ipc/mod.rs +0 -0
  115. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/lib.rs +0 -0
  116. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/messages.rs +0 -0
  117. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/core.rs +0 -0
  118. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/icmp.rs +0 -0
  119. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/mod.rs +0 -0
  120. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/task.rs +0 -0
  121. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/tcp.rs +0 -0
  122. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/tests.rs +0 -0
  123. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/udp.rs +0 -0
  124. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/network/virtual_device.rs +0 -0
  125. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/packet_sources/macos.rs +0 -0
  126. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/packet_sources/mod.rs +0 -0
  127. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/packet_sources/udp.rs +0 -0
  128. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/packet_sources/windows.rs +0 -0
  129. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/packet_sources/wireguard.rs +0 -0
  130. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/processes/macos_icons.rs +0 -0
  131. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/processes/macos_list.rs +0 -0
  132. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/processes/mod.rs +0 -0
  133. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/processes/windows_list.rs +0 -0
  134. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/shutdown.rs +0 -0
  135. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/util.rs +0 -0
  136. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/windows/mod.rs +0 -0
  137. {mitmproxy_rs-0.7.0 → mitmproxy_rs-0.7.2}/src/windows/network.rs +0 -0
@@ -1,3 +1,11 @@
1
+ ## 0.7.2
2
+
3
+ - Make `active_executables` raise for invalid paths on Windows.
4
+
5
+ ## 0.7.1
6
+
7
+ - Make DnsResolver.lookup_* methods return error numbers matching `getaddrinfo`.
8
+
1
9
  ## 0.7.0
2
10
 
3
11
  - Set IPV6_V6ONLY flag for UDP sockets
@@ -276,8 +276,7 @@ dependencies = [
276
276
  [[package]]
277
277
  name = "boringtun"
278
278
  version = "0.6.0"
279
- source = "registry+https://github.com/rust-lang/crates.io-index"
280
- checksum = "751787b019c674b9ac353f4eaa285e6711c21badb421cd8c199bf2c83b727f29"
279
+ source = "git+https://github.com/cloudflare/boringtun?rev=e3252d9c4f4c8fc628995330f45369effd4660a1#e3252d9c4f4c8fc628995330f45369effd4660a1"
281
280
  dependencies = [
282
281
  "aead",
283
282
  "base64 0.13.1",
@@ -293,7 +292,7 @@ dependencies = [
293
292
  "rand_core",
294
293
  "ring",
295
294
  "tracing",
296
- "untrusted 0.9.0",
295
+ "untrusted",
297
296
  "x25519-dalek",
298
297
  ]
299
298
 
@@ -660,15 +659,14 @@ dependencies = [
660
659
 
661
660
  [[package]]
662
661
  name = "curve25519-dalek"
663
- version = "4.0.0-rc.3"
662
+ version = "4.1.3"
664
663
  source = "registry+https://github.com/rust-lang/crates.io-index"
665
- checksum = "436ace70fc06e06f7f689d2624dc4e2f0ea666efb5aa704215f7249ae6e047a7"
664
+ checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
666
665
  dependencies = [
667
666
  "cfg-if",
668
667
  "cpufeatures",
669
668
  "curve25519-dalek-derive",
670
669
  "fiat-crypto",
671
- "platforms",
672
670
  "rustc_version",
673
671
  "subtle",
674
672
  "zeroize",
@@ -820,9 +818,9 @@ dependencies = [
820
818
 
821
819
  [[package]]
822
820
  name = "fiat-crypto"
823
- version = "0.1.20"
821
+ version = "0.2.9"
824
822
  source = "registry+https://github.com/rust-lang/crates.io-index"
825
- checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
823
+ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
826
824
 
827
825
  [[package]]
828
826
  name = "filetime"
@@ -1514,7 +1512,7 @@ checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd"
1514
1512
 
1515
1513
  [[package]]
1516
1514
  name = "macos-certificate-truster"
1517
- version = "0.7.0"
1515
+ version = "0.7.2"
1518
1516
  dependencies = [
1519
1517
  "security-framework",
1520
1518
  ]
@@ -1606,7 +1604,7 @@ dependencies = [
1606
1604
 
1607
1605
  [[package]]
1608
1606
  name = "mitm-wg-test-client"
1609
- version = "0.7.0"
1607
+ version = "0.7.2"
1610
1608
  dependencies = [
1611
1609
  "anyhow",
1612
1610
  "boringtun",
@@ -1617,7 +1615,7 @@ dependencies = [
1617
1615
 
1618
1616
  [[package]]
1619
1617
  name = "mitmproxy"
1620
- version = "0.7.0"
1618
+ version = "0.7.2"
1621
1619
  dependencies = [
1622
1620
  "anyhow",
1623
1621
  "boringtun",
@@ -1654,7 +1652,7 @@ dependencies = [
1654
1652
 
1655
1653
  [[package]]
1656
1654
  name = "mitmproxy_rs"
1657
- version = "0.7.0"
1655
+ version = "0.7.2"
1658
1656
  dependencies = [
1659
1657
  "anyhow",
1660
1658
  "boringtun",
@@ -1827,12 +1825,6 @@ version = "0.1.0"
1827
1825
  source = "registry+https://github.com/rust-lang/crates.io-index"
1828
1826
  checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1829
1827
 
1830
- [[package]]
1831
- name = "platforms"
1832
- version = "3.4.1"
1833
- source = "registry+https://github.com/rust-lang/crates.io-index"
1834
- checksum = "0e4c7666f2019727f9e8e14bf14456e99c707d780922869f1ba473eee101fa49"
1835
-
1836
1828
  [[package]]
1837
1829
  name = "plotters"
1838
1830
  version = "0.3.6"
@@ -2201,17 +2193,17 @@ dependencies = [
2201
2193
 
2202
2194
  [[package]]
2203
2195
  name = "ring"
2204
- version = "0.16.20"
2196
+ version = "0.17.8"
2205
2197
  source = "registry+https://github.com/rust-lang/crates.io-index"
2206
- checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
2198
+ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
2207
2199
  dependencies = [
2208
2200
  "cc",
2201
+ "cfg-if",
2202
+ "getrandom",
2209
2203
  "libc",
2210
- "once_cell",
2211
2204
  "spin",
2212
- "untrusted 0.7.1",
2213
- "web-sys",
2214
- "winapi",
2205
+ "untrusted",
2206
+ "windows-sys 0.52.0",
2215
2207
  ]
2216
2208
 
2217
2209
  [[package]]
@@ -2395,9 +2387,9 @@ dependencies = [
2395
2387
 
2396
2388
  [[package]]
2397
2389
  name = "spin"
2398
- version = "0.5.2"
2390
+ version = "0.9.8"
2399
2391
  source = "registry+https://github.com/rust-lang/crates.io-index"
2400
- checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
2392
+ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
2401
2393
 
2402
2394
  [[package]]
2403
2395
  name = "stable_deref_trait"
@@ -2781,12 +2773,6 @@ dependencies = [
2781
2773
  "subtle",
2782
2774
  ]
2783
2775
 
2784
- [[package]]
2785
- name = "untrusted"
2786
- version = "0.7.1"
2787
- source = "registry+https://github.com/rust-lang/crates.io-index"
2788
- checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
2789
-
2790
2776
  [[package]]
2791
2777
  name = "untrusted"
2792
2778
  version = "0.9.0"
@@ -3032,7 +3018,7 @@ dependencies = [
3032
3018
 
3033
3019
  [[package]]
3034
3020
  name = "windows-redirector"
3035
- version = "0.7.0"
3021
+ version = "0.7.2"
3036
3022
  dependencies = [
3037
3023
  "anyhow",
3038
3024
  "env_logger",
@@ -3216,9 +3202,9 @@ dependencies = [
3216
3202
 
3217
3203
  [[package]]
3218
3204
  name = "x25519-dalek"
3219
- version = "2.0.0-rc.3"
3205
+ version = "2.0.1"
3220
3206
  source = "registry+https://github.com/rust-lang/crates.io-index"
3221
- checksum = "ec7fae07da688e17059d5886712c933bb0520f15eff2e09cfa18e30968f4e63a"
3207
+ checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
3222
3208
  dependencies = [
3223
3209
  "curve25519-dalek",
3224
3210
  "rand_core",
@@ -6,7 +6,7 @@ authors = [
6
6
  "Fabio Valentini <decathorpe@gmail.com>",
7
7
  "Maximilian Hils <cargo@maximilianhils.com>",
8
8
  ]
9
- version = "0.7.0"
9
+ version = "0.7.2"
10
10
  publish = false
11
11
  repository = "https://github.com/mitmproxy/mitmproxy-rs"
12
12
  edition = "2021"
@@ -31,7 +31,7 @@ rand_core = { version = "0.6.4", features = ["getrandom"] }
31
31
  smoltcp = "0.11"
32
32
  tokio = { version = "1.39.2", features = ["macros", "net", "rt-multi-thread", "sync", "time", "io-util", "process"] }
33
33
  boringtun = { version = "0.6", default-features = false }
34
- x25519-dalek = "=2.0.0-rc.3"
34
+ x25519-dalek = "2.0.0"
35
35
  console-subscriber = { version = "0.4.0", optional = true }
36
36
  image = { version = "0.25.2", default-features = false, features = ["png", "tiff"] }
37
37
  prost = "0.13.1"
@@ -46,6 +46,7 @@ socket2 = "0.5.7"
46
46
  [patch.crates-io]
47
47
  # tokio = { path = "../tokio/tokio" }
48
48
  smoltcp = { git = 'https://github.com/smoltcp-rs/smoltcp', rev = 'ef67e7b46cabf49783053cbf68d8671ed97ff8d4' }
49
+ boringtun = { git = 'https://github.com/cloudflare/boringtun', rev = 'e3252d9c4f4c8fc628995330f45369effd4660a1' }
49
50
 
50
51
  [target.'cfg(windows)'.dependencies.windows]
51
52
  version = "0.57.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mitmproxy_rs
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -9,8 +9,8 @@ Classifier: Programming Language :: Python :: 3.10
9
9
  Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
- Requires-Dist: mitmproxy-windows ==0.7.0 ; os_name == 'nt'
13
- Requires-Dist: mitmproxy-macos ==0.7.0 ; sys_platform == 'darwin'
12
+ Requires-Dist: mitmproxy-windows ==0.7.2 ; os_name == 'nt'
13
+ Requires-Dist: mitmproxy-macos ==0.7.2 ; sys_platform == 'darwin'
14
14
  Author: Fabio Valentini <decathorpe@gmail.com>, Maximilian Hils <cargo@maximilianhils.com>
15
15
  Author-email: Fabio Valentini <decathorpe@gmail.com>, Maximilian Hils <cargo@maximilianhils.com>
16
16
  License: MIT
@@ -1,5 +1,6 @@
1
1
  // DO NOT EDIT.
2
2
  // swift-format-ignore-file
3
+ // swiftlint:disable all
3
4
  //
4
5
  // Generated by the Swift generator plugin for the protocol buffer compiler.
5
6
  // Source: mitmproxy_ipc.proto
@@ -12,7 +12,7 @@ authors = [
12
12
  "Fabio Valentini <decathorpe@gmail.com>",
13
13
  "Maximilian Hils <cargo@maximilianhils.com>",
14
14
  ]
15
- version = "0.7.0"
15
+ version = "0.7.2"
16
16
  publish = false
17
17
  repository = "https://github.com/mitmproxy/mitmproxy-rs"
18
18
  edition = "2021"
@@ -37,7 +37,7 @@ rand_core = { version = "0.6.4", features = ["getrandom"] }
37
37
  smoltcp = "0.11"
38
38
  tokio = { version = "1.39.2", features = ["macros", "net", "rt-multi-thread", "sync", "time", "io-util", "process"] }
39
39
  boringtun = { version = "0.6", default-features = false }
40
- x25519-dalek = "=2.0.0-rc.3"
40
+ x25519-dalek = "2.0.0"
41
41
  console-subscriber = { version = "0.4.0", optional = true }
42
42
  image = { version = "0.25.2", default-features = false, features = ["png", "tiff"] }
43
43
  prost = "0.13.1"
@@ -52,6 +52,7 @@ socket2 = "0.5.7"
52
52
  [patch.crates-io]
53
53
  # tokio = { path = "../tokio/tokio" }
54
54
  smoltcp = { git = 'https://github.com/smoltcp-rs/smoltcp', rev = 'ef67e7b46cabf49783053cbf68d8671ed97ff8d4' }
55
+ boringtun = { git = 'https://github.com/cloudflare/boringtun', rev = 'e3252d9c4f4c8fc628995330f45369effd4660a1' }
55
56
 
56
57
  [target.'cfg(windows)'.dependencies.windows]
57
58
  version = "0.57.0"
@@ -1,4 +1,5 @@
1
1
  use mitmproxy::dns::{ResolveErrorKind, ResolveResult, ResponseCode, DNS_SERVERS};
2
+ use once_cell::sync::OnceCell;
2
3
  use pyo3::exceptions::socket::gaierror;
3
4
  use pyo3::prelude::*;
4
5
  use pyo3::types::PyAny;
@@ -77,6 +78,30 @@ pub fn get_system_dns_servers() -> PyResult<Vec<String>> {
77
78
  })
78
79
  }
79
80
 
81
+ struct AddrInfoErrorConst(&'static str, OnceCell<isize>);
82
+ impl AddrInfoErrorConst {
83
+ const fn new(identifier: &'static str) -> Self {
84
+ AddrInfoErrorConst(identifier, OnceCell::new())
85
+ }
86
+ fn get(&self) -> isize {
87
+ *self.1.get_or_init(|| {
88
+ Python::with_gil(|py| {
89
+ py.import_bound("socket")
90
+ .and_then(|m| m.getattr(self.0))
91
+ .and_then(|m| m.extract())
92
+ .unwrap_or_else(|e| {
93
+ log::error!("Failed to resolve socket constant: {e}");
94
+ 0
95
+ })
96
+ })
97
+ })
98
+ }
99
+ }
100
+
101
+ static EAI_AGAIN: AddrInfoErrorConst = AddrInfoErrorConst::new("EAI_AGAIN");
102
+ static EAI_NONAME: AddrInfoErrorConst = AddrInfoErrorConst::new("EAI_NONAME");
103
+ static EAI_NODATA: AddrInfoErrorConst = AddrInfoErrorConst::new("EAI_NODATA");
104
+
80
105
  fn resolve_result_to_py(resolved: ResolveResult<Vec<IpAddr>>) -> Result<Vec<String>, PyErr> {
81
106
  match resolved {
82
107
  Ok(resp) => Ok(resp
@@ -87,12 +112,12 @@ fn resolve_result_to_py(resolved: ResolveResult<Vec<IpAddr>>) -> Result<Vec<Stri
87
112
  ResolveErrorKind::NoRecordsFound {
88
113
  response_code: ResponseCode::NXDomain,
89
114
  ..
90
- } => Err(gaierror::new_err("NXDOMAIN")),
115
+ } => Err(gaierror::new_err((EAI_NONAME.get(), "NXDOMAIN"))),
91
116
  ResolveErrorKind::NoRecordsFound {
92
117
  response_code: ResponseCode::NoError,
93
118
  ..
94
- } => Err(gaierror::new_err("NOERROR")),
95
- _ => Err(gaierror::new_err(e.to_string())),
119
+ } => Err(gaierror::new_err((EAI_NODATA.get(), "NOERROR"))),
120
+ _ => Err(gaierror::new_err((EAI_AGAIN.get(), e.to_string()))),
96
121
  },
97
122
  }
98
123
  }
@@ -17,8 +17,8 @@ classifiers = [
17
17
  ]
18
18
 
19
19
  dependencies = [
20
- "mitmproxy_windows==0.7.0; os_name == 'nt'",
21
- "mitmproxy_macos==0.7.0; sys_platform == 'darwin'",
20
+ "mitmproxy_windows==0.7.2; os_name == 'nt'",
21
+ "mitmproxy_macos==0.7.2; sys_platform == 'darwin'",
22
22
  ]
23
23
 
24
24
  [tool.black]
@@ -6,7 +6,6 @@
6
6
  // or file a PR and let CI handle it.
7
7
 
8
8
  /// Packet with associated tunnel info (Windows pipe to mitmproxy)
9
- #[allow(clippy::derive_partial_eq_without_eq)]
10
9
  #[derive(Clone, PartialEq, ::prost::Message)]
11
10
  pub struct PacketWithMeta {
12
11
  #[prost(bytes = "vec", tag = "1")]
@@ -14,7 +13,6 @@ pub struct PacketWithMeta {
14
13
  #[prost(message, optional, tag = "2")]
15
14
  pub tunnel_info: ::core::option::Option<TunnelInfo>,
16
15
  }
17
- #[allow(clippy::derive_partial_eq_without_eq)]
18
16
  #[derive(Clone, PartialEq, ::prost::Message)]
19
17
  pub struct TunnelInfo {
20
18
  #[prost(uint32, tag = "1")]
@@ -23,7 +21,6 @@ pub struct TunnelInfo {
23
21
  pub process_name: ::core::option::Option<::prost::alloc::string::String>,
24
22
  }
25
23
  /// Packet or intercept spec (Windows pipe to redirector)
26
- #[allow(clippy::derive_partial_eq_without_eq)]
27
24
  #[derive(Clone, PartialEq, ::prost::Message)]
28
25
  pub struct FromProxy {
29
26
  #[prost(oneof = "from_proxy::Message", tags = "1, 2")]
@@ -31,7 +28,6 @@ pub struct FromProxy {
31
28
  }
32
29
  /// Nested message and enum types in `FromProxy`.
33
30
  pub mod from_proxy {
34
- #[allow(clippy::derive_partial_eq_without_eq)]
35
31
  #[derive(Clone, PartialEq, ::prost::Oneof)]
36
32
  pub enum Message {
37
33
  #[prost(message, tag = "1")]
@@ -41,14 +37,12 @@ pub mod from_proxy {
41
37
  }
42
38
  }
43
39
  /// Packet (macOS UDP Stream)
44
- #[allow(clippy::derive_partial_eq_without_eq)]
45
40
  #[derive(Clone, PartialEq, ::prost::Message)]
46
41
  pub struct Packet {
47
42
  #[prost(bytes = "vec", tag = "1")]
48
43
  pub data: ::prost::alloc::vec::Vec<u8>,
49
44
  }
50
45
  /// Intercept conf (macOS Control Stream)
51
- #[allow(clippy::derive_partial_eq_without_eq)]
52
46
  #[derive(Clone, PartialEq, ::prost::Message)]
53
47
  pub struct InterceptConf {
54
48
  #[prost(bool, tag = "1")]
@@ -57,7 +51,6 @@ pub struct InterceptConf {
57
51
  pub actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
58
52
  }
59
53
  /// New flow (macOS TCP/UDP Stream)
60
- #[allow(clippy::derive_partial_eq_without_eq)]
61
54
  #[derive(Clone, PartialEq, ::prost::Message)]
62
55
  pub struct NewFlow {
63
56
  #[prost(oneof = "new_flow::Message", tags = "1, 2")]
@@ -65,7 +58,6 @@ pub struct NewFlow {
65
58
  }
66
59
  /// Nested message and enum types in `NewFlow`.
67
60
  pub mod new_flow {
68
- #[allow(clippy::derive_partial_eq_without_eq)]
69
61
  #[derive(Clone, PartialEq, ::prost::Oneof)]
70
62
  pub enum Message {
71
63
  #[prost(message, tag = "1")]
@@ -74,7 +66,6 @@ pub mod new_flow {
74
66
  Udp(super::UdpFlow),
75
67
  }
76
68
  }
77
- #[allow(clippy::derive_partial_eq_without_eq)]
78
69
  #[derive(Clone, PartialEq, ::prost::Message)]
79
70
  pub struct TcpFlow {
80
71
  #[prost(message, optional, tag = "1")]
@@ -82,7 +73,6 @@ pub struct TcpFlow {
82
73
  #[prost(message, optional, tag = "2")]
83
74
  pub tunnel_info: ::core::option::Option<TunnelInfo>,
84
75
  }
85
- #[allow(clippy::derive_partial_eq_without_eq)]
86
76
  #[derive(Clone, PartialEq, ::prost::Message)]
87
77
  pub struct UdpFlow {
88
78
  #[prost(message, optional, tag = "1")]
@@ -90,7 +80,6 @@ pub struct UdpFlow {
90
80
  #[prost(message, optional, tag = "3")]
91
81
  pub tunnel_info: ::core::option::Option<TunnelInfo>,
92
82
  }
93
- #[allow(clippy::derive_partial_eq_without_eq)]
94
83
  #[derive(Clone, PartialEq, ::prost::Message)]
95
84
  pub struct UdpPacket {
96
85
  #[prost(bytes = "vec", tag = "1")]
@@ -98,7 +87,6 @@ pub struct UdpPacket {
98
87
  #[prost(message, optional, tag = "2")]
99
88
  pub remote_address: ::core::option::Option<Address>,
100
89
  }
101
- #[allow(clippy::derive_partial_eq_without_eq)]
102
90
  #[derive(Clone, PartialEq, ::prost::Message)]
103
91
  pub struct Address {
104
92
  #[prost(string, tag = "1")]
@@ -36,6 +36,11 @@ impl IconCache {
36
36
  Ok(self.icons.get(e.get()).unwrap())
37
37
  }
38
38
  Entry::Vacant(e) => {
39
+ if !e.key().exists() {
40
+ // ExtractAssociatedIconW always returns a placeholder icon for invalid paths.
41
+ // We want unknown paths to raise on all platforms.
42
+ bail!("Executable does not exist.");
43
+ }
39
44
  let pixels = unsafe {
40
45
  let hinst = GetModuleHandleW(None)?;
41
46
  icon_for_executable(e.key(), hinst)?
@@ -167,3 +172,23 @@ unsafe fn icon_to_pixels(icon: HICON) -> PixelData {
167
172
  height: height_u32,
168
173
  }
169
174
  }
175
+
176
+ #[cfg(test)]
177
+ mod tests {
178
+ use super::*;
179
+
180
+ #[test]
181
+ fn png() {
182
+ let path = PathBuf::from("C:\\Windows\\System32\\calc.exe");
183
+ let mut icon_cache = IconCache::default();
184
+ let vec = icon_cache.get_png(path).unwrap();
185
+ assert!(!vec.is_empty());
186
+ }
187
+
188
+ #[test]
189
+ fn no_icon_found() {
190
+ let path = PathBuf::from("invalid path");
191
+ let mut icon_cache = IconCache::default();
192
+ assert!(icon_cache.get_png(path).is_err());
193
+ }
194
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes