Leo Kettmeir
f955afc5ea
chore: bump rust-urlpattern to 0.1.3 ( #13328 )
2022-01-11 22:42:58 +01:00
Luca Casonato
f3ece7457a
fix(ext/web): handle no arguments in atob ( #13341 )
2022-01-11 17:31:13 +01:00
DjDeveloper
5680d33dd9
feat(ext/ffi): support alias names for symbol definitions ( #13090 )
2022-01-11 07:21:16 +01:00
Sean Michael Wykes
91f6c5fc7e
feat(ext/crypto): implement AES-KW for wrapKey/unwrapKey ( #13286 )
2022-01-11 10:14:47 +05:30
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Sean Michael Wykes
59f0eafd19
feat(ext/crypto): JWK support for unwrapKey/wrapKey ( #13261 )
2022-01-07 16:39:01 +05:30
Leo Kettmeir
2067820714
feat(ext/websocket): server automatically handle ping/pong for incoming WebSocket ( #13172 )
2022-01-06 17:41:16 +01:00
Bartek Iwańczuk
46f2ff1205
chore: forward 1.17.2 to main ( #13295 )
2022-01-06 13:20:42 +01:00
Leo Kettmeir
c40419b55b
feat(ext/websocket): add header support to WebSocketStream ( #11887 )
2022-01-05 17:41:44 +01:00
Divy Srivastava
c74eb7a889
feat(ext/crypto): implement AES-GCM encryption ( #13119 )
2022-01-05 20:42:30 +05:30
DjDeveloper
9778545048
fix(ext/ffi): throw errors instead of panic ( #13283 )
2022-01-05 12:55:31 +05:30
Sean Michael Wykes
c4a0a43ce8
fix(ext/crypto) - exportKey JWK for AES/HMAC must use base64url ( #13264 )
...
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-01-05 01:00:37 +01:00
Andreu Botella
22d140ffb1
refactor(ext/web): Don't rely on NaN comparisons in TextEncoderStream
( #13151 )
...
In the `transform` function to `TextEncoderStream`'s internal
`TransformStream`, if `chunk` is the empty string and
`this.#pendingHighSurrogate` is null, then `lastCodeUnit` will be NaN.
As it turns out, this does not cause a bug because the comparison to
check for lone surrogates turns out to be false for NaN, but to rely on
it makes the code brittle.
2022-01-05 00:42:30 +01:00
Sean Michael Wykes
340764adec
fix(ext/crypto): use forgiving base64 encoding for JWK ( #13240 )
...
Implements "forgiving" in JWK decode passing suitable config to base64::decode_config
2022-01-03 17:54:45 +05:30
Sean Michael Wykes
9a42d65fc7
feat(ext/crypto): support AES-CTR encrypt/decrypt ( #13177 )
...
Fixes #13201 .
2022-01-03 12:27:28 +01:00
Andreu Botella
0ead12d673
fix(doc): Make private types which show up in the rustdocs public ( #13230 )
...
`CrossIsolateStore`, `ExtensionBuilder` and `InMemoryChannelResource`
are private types which are referred to by other public APIs, and so
don't show up as links in the rustdoc. This is especially confusing for
`ExtensionBuilder`, since there is nothing in the docs that explains how
to build an extension.
Exposing these three types doesn't add any new capabilities:
`ExtensionBuilder` can be created from `Extension::builder()`,
`SharedArrayBufferStore` and `CompiledWasmModuleStore` already enable
doing anything that `CrossIsolateStore` can do by itself, and
`InMemoryChannelResource` isn't constructable.
2021-12-30 02:05:26 +01:00
Sean Michael Wykes
07618c861e
fix(ext/crypto) include AES-CTR for deriveKey ( #13174 )
2021-12-27 08:25:17 -05:00
Zach
de2df20d57
fix(ext/console): map basic css color keywords to ansi ( #13175 )
2021-12-23 13:06:24 +01:00
Bartek Iwańczuk
9391ba1098
chore: merge v1.17.1 into main ( #13184 )
2021-12-22 22:20:17 +01:00
Divy Srivastava
04fe513003
refactor(ext/crypto): cleanup decrypt code ( #13120 )
2021-12-20 16:07:36 +01:00
Leo Kettmeir
ef95d7b1e9
fix(ext/websocket): WebSocketStream don't error with "sending after closing" when closing ( #13134 )
2021-12-20 11:36:46 +01:00
Divy Srivastava
6de53b631f
refactor: use once_cell
instead of lazy_static
( #13135 )
2021-12-18 16:14:42 -05:00
Luke Channings
e5a8588370
fix(ext/ffi): use c_char
instead of i8
for reading strings ( #13118 )
2021-12-17 10:42:45 +01:00
Bartek Iwańczuk
e0cba6b19b
chore: release crates for v1.17.0 ( #13112 )
2021-12-16 18:51:23 +01:00
Sean Michael Wykes
60faf7a0ed
feat(ext/crypto): support importing ECSDA and ECDH ( #13088 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-16 17:28:43 +01:00
Andreu Botella
8efe829fca
feat(fetch): support abort reasons in fetch ( #13106 )
2021-12-16 12:58:24 +01:00
Andreu Botella
01a6b66034
feat: support abort reasons in Deno APIs and WebSocketStream
( #13066 )
2021-12-16 12:57:26 +01:00
Luca Casonato
f0e1a6b84c
refactor(ext/crypto): clean up encrypt rust code ( #13094 )
2021-12-15 22:18:26 +01:00
Luca Casonato
ec7d90666f
fix(ext/crypto): various cleanup in JWK imports ( #13092 )
...
This aligns all of the error messages, and makes falsey comparisons
more strict.
2021-12-15 15:46:29 +01:00
Elias Sjögreen
ee49cce726
feat(ext/ffi): implement UnsafePointer and UnsafePointerView ( #12828 )
2021-12-15 15:41:49 +01:00
Ben Noordhuis
4d176b7b7c
fix(ext/net): make unix and tcp identical on close ( #13075 )
...
std/http/server knows how to handle "Listener has been closed"
exceptions but not "operation canceled" errors.
Make "unix" listen sockets throw the same exception as "tcp" listen
sockets when the socket is closed and has a pending accept operation.
There is still a discrepancy when multiple accept requests are posted
but that's probably a less visible issue and something for another day.
Fixes #13033
2021-12-14 23:27:04 +01:00
Luca Casonato
b220a58d1a
feat(ext/crypto): support exporting RSA JWKs ( #13081 )
...
This commit adds support for exporting RSA JWKs in the Web Crypto API.
It also does some minor fixes for RSA JWK imports.
Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14 17:02:14 +01:00
Luca Casonato
5fe4d5c818
feat(ext/crypto): support importing RSA JWKs ( #13071 )
...
This commit adds support for importing RSA JWKs in the Web Crypto API.
Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14 12:25:07 +01:00
Luca Casonato
8fdade79da
refactor(ext/crypto): generateKey rust cleanup ( #13069 )
2021-12-13 18:45:08 +01:00
Yoshiya Hinosawa
308813ae29
fix(ext/web): set location undefined when --location
is not specified ( #13046 )
2021-12-14 00:35:59 +09:00
Luca Casonato
5afb2cca65
refactor(ext/crypto): clean up exportKey rust code ( #13052 )
2021-12-13 13:22:03 +01:00
Luca Casonato
cbfc8dd59d
refactor(ext/crypto): symmetric jwk decode in rust ( #13047 )
2021-12-10 22:23:19 +01:00
Andreu Botella
0f0dd5b7ec
feat(ext/web): implement AbortSignal.prototype.throwIfAborted()
( #13044 )
...
See whatwg/dom#1034 .
2021-12-10 15:12:38 +01:00
Luca Casonato
2926827726
refactor(ext/crypto): clean up rust side importKey ( #13036 )
...
This commit cleans up the Rust side of `import_key` by using a bunch of
enums instead of structs with "type" and "data" fields.
This commit does add some duplicated code for the time being, because
a lot of the other ops still need to get the same cleanup treatment.
2021-12-10 15:06:03 +01:00
Kitson Kelly
616ff1d482
chore: place @deprecated
tag after documentation block ( #13037 )
2021-12-10 11:05:50 +11:00
Sean Michael Wykes
0129c74fd9
refactor(ext/crypto): various cleanups in js code ( #13027 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-09 23:32:10 +01:00
Kitson Kelly
345f0fbe5c
feat(cli): update to TypeScript 4.5 ( #12410 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-12-10 09:12:21 +11:00
Yacine Hmito
a3d024ac2e
feat(crypto): support importKey
in SPKI format ( #12921 )
...
This commit adds support for `spki` key format for `crypto.subtle.importKey` for the RSA* algorithms.
2021-12-09 20:32:55 +01:00
Luca Casonato
e70dc53460
refactor(ext/crypto): de-duplicate copyBuffer code ( #13030 )
...
This commit de-duplicates the buffer copying code in ext/crypto.
Co-authored-by: yacinehmito <yacinehmito@users.noreply.github.com>
2021-12-09 16:50:04 +01:00
Luca Casonato
fce7e4bd31
refactor(ext/crypto): clean up exportKey
logic ( #13029 )
...
This commit de-duplicates and cleans up some logic in `exportKey`. There
are no functional changes in this commit (just moves code around).
2021-12-09 16:47:17 +01:00
Luca Casonato
abd25e5982
refactor(ext/crypto): clean up importKey
logic ( #13028 )
...
This commit de-duplicates and cleans up some logic in `importKey`. There
are no functional changes in this commit (just moves code around).
2021-12-09 16:20:14 +01:00
Yoshiya Hinosawa
69ad5f0e78
feat(ext/timers): add refTimer, unrefTimer API ( #12953 )
2021-12-09 17:00:55 +09:00
Andreu Botella
318f48f9ad
feat(streams): support abort reasons in streams ( #12991 )
2021-12-08 23:31:22 +01:00
Andreu Botella
33da15ae5a
refactor(timers): refactor timers to use one async op per timer ( #12862 )
...
This change also makes the timers implementation closer to the spec, and
sets up the stage to implement AbortSignal.timeout() (whatwg/dom#1032).
Fixes #8965
Fixes #10974
Fixes #11398
2021-12-07 13:39:58 +01:00
Ryan Dahl
a2f1357fe8
chore: upgrade to rustls 0.20 ( #12488 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-12-07 00:48:11 +01:00
Divy Srivastava
d31378726e
feat(ext/crypto): implement unwrapKey ( #12539 )
2021-12-05 04:55:11 +01:00
Bartek Iwańczuk
c59f90d01f
chore: upgrade to Rust 1.57.0 ( #12968 )
2021-12-04 14:19:06 +01:00
Luca Casonato
72e9720e91
chore: merge v1.16.4 into main ( #12984 )
2021-12-04 01:26:54 +01:00
Leo Kettmeir
46794d4e43
refactor(ext/fetch): pass opstate in FetchHandler::fetch_file
2021-12-03 14:25:16 +01:00
Ryan Dahl
14f4102ece
refactor: deno_tls does not depend on reqwest ( #12961 )
2021-12-01 13:20:34 -05:00
Ryan Dahl
084caffc08
refactor: cli doesn't need to depend on deno_tls ( #12952 )
...
also move create_http_client to deno_fetch
2021-12-01 11:13:11 -05:00
Ryan Dahl
f3b74350da
refactor: remove deno_fetch::HttpClientDefaults ( #12931 )
...
More clean up that should have been in cc83ad3
2021-11-29 10:29:41 -05:00
Michael Busby
6c09e02304
feat(ext/net): enable sending to broadcast address ( #12860 )
...
You can now send UDP datagrams to the broadcast address.
2021-11-29 11:14:46 +01:00
Ryan Dahl
cc83ad39ce
refactor: add deno_fetch::Options for init ( #12904 )
...
deno_fetch::init has a lot of parameters and generic on two types
that keeps expanding over time. This refactor adds deno_fetch::Options
struct for more clearly defining the various parameters.
2021-11-28 13:07:03 -05:00
Divy Srivastava
96d02deed6
feat(ext/crypto): support importing exporting AES JWK keys ( #12444 )
2021-11-28 16:48:49 +01:00
Andreu Botella
1974eb1021
fix(websocket): bad rid on WebSocketStream abort( #12913 )
...
Fix a bad resource ID error when aborting a WebSocketStream immediately
after its creation.
2021-11-28 12:25:49 +01:00
Yury Selivanov
1d3f734e18
feat(ext/net): ALPN support in Deno.connectTls()
( #12786 )
2021-11-26 19:59:53 +01:00
Andreu Botella
d763633781
feat(etc/fetch): Support WebAssembly.instantiateStreaming
for file fetches ( #12901 )
...
Fetching of local files, added in #12545 , returns a response with no
headers, including the `Content-Type` header. This currently makes it
not work with the WebAssembly streaming APIs, which require the response
to have a content type of `application/wasm`.
Since the only way to obtain a `Response` object with a non-empty `url`
field is via `fetch()`, this change changes the content type requirement
to only apply to responses whose url has the `file:` scheme.
2021-11-26 19:52:41 +11:00
Luca Casonato
2853e37604
fix(ext/crypto): throw on key & op algo mismatch ( #12838 )
2021-11-25 15:57:01 +01:00
Bert Belder
c6f3493f18
chore: merge v1.16.3 into main ( #12892 )
2021-11-24 15:56:18 -08:00
Luca Casonato
2eae1ae665
revert: store header keys lower case internally ( #12837 )
...
This reverts commit 49ec3d10ad
.
2021-11-23 01:23:11 +01:00
Luca Casonato
71ceca0ffc
fix(ext/crypto): don't panic on decryption failure ( #12840 )
2021-11-22 23:58:21 +01:00
Bert Belder
6a797f7ba9
chore(ext/http): deno fmt ( #12798 )
2021-11-17 15:34:41 -08:00
David Sherret
cd61cedd19
chore: bump crates for 1.16.2 ( #12792 )
2021-11-17 10:14:23 -05:00
Ryan Dahl
b2036a4db7
refactor: re-export anyhow from deno_core ( #12777 )
2021-11-16 09:02:28 -05:00
Luca Casonato
3250ffe020
chore: bump crate versions for 1.16.1 ( #12729 )
2021-11-11 11:16:05 +01:00
Luca Casonato
08067b5e12
fix: add typings for AbortSignal.reason ( #12730 )
2021-11-11 10:28:06 +01:00
upendra1997
e00bfecf96
fix(crypto): handling large key length in HKDF ( #12692 )
2021-11-11 10:04:17 +01:00
Bert Belder
72a6231a61
refactor(ext/http): rewrite hyper integration and fix bug ( #12732 )
...
Fixes: #12193
Fixes: #12251
Closes: #12714
2021-11-10 14:51:43 -08:00
Aaron O'Mullan
375ce63c63
feat(core): streams ( #12596 )
...
This allows resources to be "streams" by implementing read/write/shutdown. These streams are implicit since their nature (read/write/duplex) isn't known until called, but we could easily add another method to explicitly tag resources as streams.
`op_read/op_write/op_shutdown` are now builtin ops provided by `deno_core`
Note: this current implementation is simple & straightforward but it results in an additional alloc per read/write call
Closes #12556
2021-11-09 19:26:17 +01:00
Luca Casonato
4f64acd4e4
chore: bump crate versions for 1.16.0 ( #12706 )
2021-11-09 13:03:17 +01:00
Luca Casonato
0de6d1edc4
fix(fetch): set content-length for empty POST/PUT ( #12703 )
...
This commit changes `fetch` to set `content-length: 0` on POST and PUT
requests with no body.
2021-11-09 12:10:40 +01:00
Luca Casonato
75793baae8
Revert "refactor(ext/http): rewrite hyper integration and fix bug ( #12332 )" ( #12704 )
...
This reverts commit 5b1e537446
.
2021-11-09 12:10:21 +01:00
Luca Casonato
66974a8794
fix(ext/net): expose all tls ops ( #12699 )
...
This makes it possible for implementers to cherry-pick which ops they
want to use.
2021-11-09 02:07:12 +01:00
Leo Kettmeir
ccd730a8b7
feat(ext/web): add AbortSignal.reason
( #12697 )
2021-11-08 23:37:06 +01:00
Bert Belder
5b1e537446
refactor(ext/http): rewrite hyper integration and fix bug ( #12332 )
...
Fixes: #12193
2021-11-08 12:49:11 -08:00
Leo Kettmeir
c91da1222b
feat(ext/web): WritableStreamDefaultController.signal ( #12654 )
2021-11-08 12:54:24 +01:00
Leo Kettmeir
ed761bf83f
BREAKING chore(ext/web): remove ReadableStream.getIterator
( #12652 )
2021-11-05 22:21:25 +01:00
Leo Kettmeir
26a5471302
fix: typings for BYOB stream readers ( #12651 )
2021-11-05 12:56:28 +01:00
Ryan Dahl
7c2abb9d57
fix: Deno.emit crashes with BorrowMutError ( #12627 )
...
Warn on await_holding_refcell_ref clippy rule to avoid this in the future.
Fixes #12453
2021-11-03 09:27:36 -04:00
Leo Kettmeir
95b2955712
feat(ext/web): BYOB support for ReadableStream ( #12616 )
...
This commit introduces support for BYOB readers in the WHATWG Streams API implementation.
2021-11-03 10:47:40 +01:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Kitson Kelly
d3662e487d
feat(ext/fetch): support fetching local files ( #12545 )
...
Closes #11925
Closes #2150
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-11-01 15:29:46 +11:00
Aaron O'Mullan
e98a36b213
cleanup(ext/fetch): consistent op names ( #12612 )
...
Rename `op_create_http_client` to `op_fetch_custom_client` to follow prefix/namespaced convention
2021-10-31 19:14:22 +01:00
Kenta Moriuchi
95b9e5f30f
feat(ext/console): Display error.cause in console ( #12462 )
2021-10-30 19:25:46 +02:00
Aaron O'Mullan
94a81e5e9b
cleanup(ext/net): consistent op names ( #12607 )
2021-10-30 18:51:42 +02:00
Luca Casonato
b7341438f2
feat: stabilize Deno.startTls ( #12581 )
...
This commit stabilizes `Deno.startTls` and removes `certFile` from the
`StartTlsOptions`.
2021-10-29 17:13:31 +02:00
Malted
8e0fd1dca1
fix(ext/fetch): Replace redundant local variable with inline return statement ( #12583 )
2021-10-29 13:42:10 +02:00
Andreu Botella
bc8e94155a
fix(encoding): support additional encoding labels ( #12586 )
2021-10-29 10:31:42 +05:30
Andreu Botella
74a93fdf63
fix(webidl): Don't throw when converting a detached buffer source ( #12585 )
...
The Web IDL conversion to `BufferSource` and similar types shouldn't
check whether the buffer is detached.
In the case of `TextDecoder`, our implementation would still throw after
the Web IDL conversions because we're creating a new `Uint8Array` from
the buffer source's buffer, which throws if it's detached. This change
also fixes this bug.
2021-10-28 23:17:27 +02:00
Andreu Botella
507ab50e0f
perf(encoding): avoid copying the input data in TextDecoder
( #12573 )
...
The implementation of `TextDecoder` had a bug where it was copying the
input data in every case. This change removes that copy in
non-`SharedArrayBuffer` cases.
Since passing a shared buffer source to Rust would fail, this copy of
the input data was making `TextDecoder` work in cases where the input
is shared. In order to avoid a breaking change, the copy is retained in
those cases.
2021-10-29 07:32:58 +11:00
Kitson Kelly
1c739470b5
feat(ext/webstorage): use implied origin when --location not set ( #12548 )
...
Closes #11882
BREAKING CHANGE: Previously when `--location` was set, the unique storage key was derived from the the URL of the location instead of just the origin. This change correctly uses just the origin. This may cause previously persisted storage to change its key and data to not be available with the same location as before.
2021-10-27 11:10:27 +11:00
Leo K
6268703487
fix(ext/http): allow multiple values in upgrade header for websocket ( #12551 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2021-10-26 23:06:44 +02:00
Ryan Dahl
9161e74a7d
Use libffi-rs instead of deno-libffi ( #12555 )
...
Fork is no longer necessary since https://github.com/tov/libffi-rs/pull/33
landed.
2021-10-26 16:30:27 -04:00
Bert Belder
cf9c4f0031
feat(ext/net): add TlsConn.handshake() ( #12467 )
...
A `handshake()` method was added that returns when the TLS handshake is
complete. The `TlsListener` and `TlsConn` interfaces were added to
accomodate this new method.
Closes: #11759 .
2021-10-26 22:27:47 +02:00