This PoC demonstrates a soundness bug in Deno's N-API implementation where SendPtr<T> implements Send for all types T, even when T is not Send.
In ext/napi/util.rs:
| [package] | |
| name = "deno_rawarena_poc" | |
| version = "0.1.0" | |
| edition = "2021" | |
| [dependencies] | |
| deno_core = { path = "/home/tt/github/deno/libs/core" } | |
| [[bin]] | |
| name = "rawarena_poc" |
| [package] | |
| name = "deno_arena_poc" | |
| version = "0.1.0" | |
| edition = "2021" | |
| [dependencies] | |
| deno_core = { path = "/home/tt/github/deno/libs/core" } | |
| [[bin]] | |
| name = "arena_poc" |
| # | |
| # Automatically generated file; DO NOT EDIT. | |
| # OpenWrt Configuration | |
| # | |
| CONFIG_MODULES=y | |
| CONFIG_HAVE_DOT_CONFIG=y | |
| # CONFIG_TARGET_sunxi is not set | |
| # CONFIG_TARGET_apm821xx is not set | |
| # CONFIG_TARGET_ath25 is not set | |
| # CONFIG_TARGET_ar71xx is not set |
| #!/bin/bash | |
| if test -f "/usr/local/etc/shadowsocks-libev-$1.json"; then | |
| echo "/usr/local/etc/shadowsocks-libev-$1.json" | |
| echo "Switch to $1 node" | |
| cp /usr/local/etc/shadowsocks-libev.json /usr/local/etc/shadowsocks-libev.bak.json | |
| cp "/usr/local/etc/shadowsocks-libev-$1.json" /usr/local/etc/shadowsocks-libev.json | |
| brew services restart shadowsocks-libev | |
| fi |
| #!/bin/sh /etc/rc.common | |
| # | |
| # Copyright (C) 2016 Jian Chang <aa65535@live.com> | |
| # Copyright (C) 2016 Evian Zhow <evianzhow@gmail.com> | |
| # | |
| # This is free software, licensed under the GNU General Public License v3. | |
| # See /LICENSE for more information. | |
| # | |
| START=90 |
| src/gz reboot_core http://mirrors.ustc.edu.cn/lede/releases/17.01.2/targets/ar71xx/generic/packages | |
| src/gz reboot_base http://mirrors.ustc.edu.cn/lede/releases/17.01.2/packages/mips_24kc/base | |
| src/gz reboot_luci http://mirrors.ustc.edu.cn/lede/releases/17.01.2/packages/mips_24kc/luci | |
| src/gz reboot_packages http://mirrors.ustc.edu.cn/lede/releases/17.01.2/packages/mips_24kc/packages | |
| src/gz reboot_routing http://mirrors.ustc.edu.cn/lede/releases/17.01.2/packages/mips_24kc/routing | |
| src/gz reboot_telephony http://mirrors.ustc.edu.cn/lede/releases/17.01.2/packages/mips_24kc/telephony |
| <?xml version="1.0"?> | |
| <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
| <fontconfig> | |
| <!-- | |
| Load per-user customization files where stored on XDG Base Directory | |
| specification compliant places. it should be usually: | |
| $HOME/.config/fontconfig/conf.d | |
| $HOME/.config/fontconfig/fonts.conf | |
| --> |
| <?xml version="1.0"?> | |
| <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
| <fontconfig> | |
| <!-- | |
| Load per-user customization files where stored on XDG Base Directory | |
| specification compliant places. it should be usually: | |
| $HOME/.config/fontconfig/conf.d | |
| $HOME/.config/fontconfig/fonts.conf | |
| --> | |
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |
| <ProxifierProfile version="101" platform="Windows" product_id="0" product_minver="310"> | |
| <Options> | |
| <Resolve> | |
| <AutoModeDetection enabled="true" /> | |
| <ViaProxy enabled="false"> | |
| <TryLocalDnsFirst enabled="false" /> | |
| </ViaProxy> | |
| <ExclusionList>%ComputerName%; localhost; *.local</ExclusionList> | |
| </Resolve> |