kozabrada123
89333d6353
Implement gateway options, zlib-stream compression ( #508 )
...
* feat: add GatewayOptions
* feat: implement zlib-stream compression
This also changes how gateway messages work.
Now each gateway backend converts its message into an
intermediary RawGatewayMessage, from which we inflate
and parse GatewayMessages.
Thanks to ByteAlex and their zlib-stream-rs crate, which
helped me understand how to parse a compressed websocket stream
2024-06-23 17:23:13 +02:00
kozabrada123
8d56259eac
chorus macros 0.4.0
2024-06-18 17:35:39 +02:00
Quat3rnion
a5a0459d70
Backend related updates ( #501 )
...
(by Quat3rnion)
Some updates relating to usage with Symfonia:
* Using distinct types instead of primitives on some objects
* Add sqlx derives and implementations
* Make a facade type for Shared to be used in non-client contexts
2024-06-04 19:41:50 +02:00
kozabrada123
d4377c5280
Ci improvements ( #498 )
...
* bump wasm-bindgen version to 0.2.92
* change wasm-gecko to using ubuntu-latest, since geckodriver is not supported on macos-latest
* check some common non-default feature configurations
* add experimental semver checks
2024-06-02 19:28:02 +02:00
kozabrada123
b2fd3e18cc
Move Shared<T> to types/mod.rs, bump some dependencies ( #492 )
...
* deps: bump rustls to 0.21.11
This is done to fix CVE-2024-32650, which practically shouldn't affect
us but it's still better not to use vulnerable dependencies.
* deps: bump h2 to 0.3.26
This is done to fix another vulnerability, which should also not affect
us (non-critical, in h2 servers)
* fix: move Shared<T> to types/mod.rs
2024-04-28 14:15:57 +02:00
kozabrada123
319748c0a7
Use WebSocketEvent derive instead of impl WebSocketEvent for .. ( #491 )
...
use derive macro instead of manual impl blocks
2024-04-28 08:32:05 +02:00
kozabrada123
74d6785e50
Primitive voice implementation (feature/voice) ( #457 )
...
* Add Webrtc Identify & Ready
* Add more webrtc typings
* Attempt an untested voice gateway implementation
* fmt
* Merge with main
* Same allow as for voice as normal gateway
* Test error observer
* Minor updates
* More derives
* Even more derives
* Small types update
* e
* Minor doc fixes
* Modernise voice gateway
* Add default impl for voicegatewayerror
* Make voice event fields pub
* Event updates via the scientific method
* ??
* Fix bad request in voice gateway init
* Voice gateway updates
* Fix error failing to 'deserialize' properly
* Update voice identify
* Clarify FIXME related to #430
* Update to v7
* Create seperate voice_gateway.rs and voice_udp.rs
* Restructure voice to new module
* fix: deserialization error in speaking bitflags
* feat: kinda janky ip discovery impl
* feat: return ip discovery data + minor update
* feat: packet parsing!
* fix: voice works again
* feat: add voice_media_sink_wants
(comitting uncommited changes to merge)
* chore: rename events/webrtc to events/voice_gateway
* Add UdpHandle
* chore: clippy + other misc updates
* fix: attempt to fix failing wasm build
* chore: yes clippy, that is indeed an unneeded return statement
* feat: add VoiceData struct
* feat: add VoiceData reference to UdpHandler
* feat: decryption?
* chore: formatting
* feat: add ssrc definition (op 12)
* feat: add untested sending & asbtract nonce generation
* feat: Public api! (sorta)
* small updates
* feat: add sequence number
* chore: yes
* feat: merge VoiceHandler into official development
* chore: yes clippy, you are special
* fix: duplicated gateway events
* feat: first try at vgw wasm compat
* fix: blunder
* fix: gateway connect using wrong url
* fix: properly using encrypted data, bad practice for buffer creation
* chore: split voice udp
* feat: udp error handling, create udp/backends
* fix: its the same
* chore: clarify UDP on WASM
* api: split voice gateway and udp features, test for voice gateway in WASM
* feat: new encryption modes, minor code quality
* docs: document voice encryption modes
* chore: unused imports
* chore: update getrandom version to match wasm version
* chore: update on packet size FIXME
* drop buf asap
* Okay can't do that actually
* tests: add nonce test
* normal tests work?
* docs: fix doc warning, fix incorrect refrences to 'webrtc'
* chore: json isn't a doc test
* tests: better gateway auth test
* testing tests
* update voice heartbeat, fix the new test issue
* committed too much
* fix: unused import
* fix: use ip discovery address as string, not as Vec<u8>
* chore: less obnoxious logging
* chore: better unimplemented voice modes handling
* chore: remove unused variable
* chore: use matches macro
* add voice examples, make gateway ones clearer
* rename voice example
* chore: remove unused VoiceHandler
* fix: implement gateway Reconnect and InvalidSession
* Typo
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* Fix a bunch of typos
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* fix: error handling while loading native certs
* fix: guh
* use be for nonce bytes
* fix: refactor gw and vgw closures
* remove outdated docs
---------
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
2024-04-16 17:18:21 +02:00
bitfl0wer
23c50cd262
bump version, add rust-version
2024-04-16 15:13:27 +02:00
kozabrada123
70ecd021b1
Bump whoami to fix stack buffer overflow ( #485 )
...
his was done since whoami versions < 1.5.0 are vulnerable to a stack
buffer overflow.
2024-04-16 08:31:14 +02:00
kozabrada123
ea111a4e35
Bump mio to fix RUSTSEC-2024-0019 ( #482 )
2024-03-14 20:25:24 +01:00
Dirk Stolle
282602d5c3
Update h2 to 0.3.24 to fix vulnerability RUSTSEC-2024-0003 ( #474 )
...
The update fixes a resource exhaustion vulnerability in h2 which
may lead to Denial of Service. For more information on that see
<https://rustsec.org/advisories/RUSTSEC-2024-0003 >.
2024-01-31 22:47:46 +01:00
bitfl0wer
e15c947d33
Merge branch 'main' of https://github.com/polyphony-chat/chorus
2024-01-19 21:50:44 +01:00
bitfl0wer
bb1d565b55
bump version to 0.14.0
2024-01-19 21:50:42 +01:00
kozabrada123
7a878d03ac
Revert "Mess w/ the tests to see if it really works"
...
This reverts commit 7b975e3c95
.
2024-01-19 16:05:34 +01:00
kozabrada123
7b975e3c95
Mess w/ the tests to see if it really works
2024-01-19 15:53:24 +01:00
kozabrada123
1f5a6e5266
feat: switch safina_timer for tokio, fix sleep duration overflow in examples
2024-01-19 15:48:59 +01:00
kozabrada123
77b3a42b1c
feat: fix heartbeat time on WASM
2024-01-19 14:55:23 +01:00
bitfl0wer
9c7f430b06
bump package versions
2024-01-11 19:36:36 +01:00
bitfl0wer
9ca29c6560
Update cargo lock
2023-12-10 18:37:38 +01:00
bitfl0wer
f74a8b2068
Bump version
2023-12-03 22:35:45 +01:00
bitfl0wer
e828c3cada
Bump version, explain why custom `reqwest`
2023-11-22 16:14:47 +01:00
bitfl0wer
8a588892b2
Add wasm-bindgen-futures
2023-11-22 14:24:01 +01:00
bitfl0wer
8c385ee39e
Add wasm-bindgen to Cargo.toml
2023-11-20 11:41:32 +01:00
bitfl0wer
5826ccd923
add wasm-bindgen-test
2023-11-19 22:49:41 +01:00
bitfl0wer
9ae07a15d7
start implementing wasm gateway
2023-11-19 01:31:04 +01:00
bitfl0wer
81455afb7c
Use upstream ws_stream_wasm
2023-11-18 19:13:26 +01:00
bitfl0wer
17a58f6f40
Use ws_stream_wasm fork
2023-11-18 15:27:22 +01:00
bitfl0wer
b27f60b989
Move ws_stream_wasm to shared dependencies
...
Avoids conditional compiling bug i haven't yet fully found out. See:
https://cloud.bitfl0wer.de/s/KEcZs7PtQ3JZo8x
2023-11-16 16:28:55 +01:00
bitfl0wer
bdfc261c93
Merge branch 'main' into feature/wasm32-unknown
2023-11-14 16:30:24 +01:00
bitfl0wer
7d8e980cc2
bump version
2023-11-14 16:11:00 +01:00
Flori
512e26d9ec
Bump rustix from 0.38.11 to 0.38.22 ( #438 )
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.38.11
to 0.38.22.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="58238c794c
"><code>58238c7</code></a>
chore: Release rustix version 0.38.22</li>
<li><a
href="ee297a1541
"><code>ee297a1</code></a>
Miscellaneous clippy fixes. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/928 ">#928</a>)</li>
<li><a
href="b28c5a8308
"><code>b28c5a8</code></a>
Miscellaneous documentation cleanups. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/929 ">#929</a>)</li>
<li><a
href="cc82ed28cc
"><code>cc82ed2</code></a>
Fix ioctl numbers on BSDs (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/926 ">#926</a>)</li>
<li><a
href="90b2fbd818
"><code>90b2fbd</code></a>
Add ioctl <code>Updater</code> type (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/925 ">#925</a>)</li>
<li><a
href="e1d66b5822
"><code>e1d66b5</code></a>
Make <code>runtime::fork</code> return the PID in both the parent and
child. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/924 ">#924</a>)</li>
<li><a
href="31dfad159d
"><code>31dfad1</code></a>
Fixes for empty and multiple-entry control message buffers. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/915 ">#915</a>)</li>
<li><a
href="1edcdfe02a
"><code>1edcdfe</code></a>
Add a <code>readlinkat_raw</code> function. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/923 ">#923</a>)</li>
<li><a
href="15278a1279
"><code>15278a1</code></a>
Implement <code>rustix::process::sched_getcpu</code>. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/921 ">#921</a>)</li>
<li><a
href="560b2e818a
"><code>560b2e8</code></a>
Remove redundant checks for <code>linux_kernel</code> in the linux_raw
backend. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/922 ">#922</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/bytecodealliance/rustix/compare/v0.38.11...v0.38.22 ">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustix&package-manager=cargo&previous-version=0.38.11&new-version=0.38.22 )](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/polyphony-chat/chorus/network/alerts ).
</details>
2023-11-14 12:46:16 +01:00
dependabot[bot]
318007d1e7
Bump rustix from 0.38.11 to 0.38.22
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.38.11 to 0.38.22.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.11...v0.38.22 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-11-14 11:35:55 +00:00
dependabot[bot]
564f5cb270
Bump tungstenite from 0.20.0 to 0.20.1
...
Bumps [tungstenite](https://github.com/snapview/tungstenite-rs ) from 0.20.0 to 0.20.1.
- [Changelog](https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/snapview/tungstenite-rs/compare/v0.20.0...v0.20.1 )
---
updated-dependencies:
- dependency-name: tungstenite
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-11-14 10:22:09 +00:00
bitfl0wer
ec8d1c1f90
Replace tokio::time with safina-timer
2023-11-13 19:20:38 +01:00
bitfl0wer
641abe8ba6
Use patched reqwest with multipart-headers support
2023-11-13 17:34:16 +01:00
bitfl0wer
9f81806ff1
remove sqlx from wasm-exclusion, add futures-timer
2023-11-13 15:29:37 +01:00
bitfl0wer
af0178e15a
compile-lock most wasm32 incompatibilities
2023-11-13 13:55:55 +01:00
bitfl0wer
110ce51c05
+ ws_stream_wasm, - dev-dependency on tokio/full
2023-11-13 12:43:00 +01:00
bitfl0wer
6af267c7cf
HOTFIX: remove openssl, like it was intended
2023-11-12 18:04:47 +01:00
bitfl0wer
c3d6937171
Remove openssl-dependency fully
2023-11-12 18:04:15 +01:00
bitfl0wer
279ac9d8ca
Bump version for chorus
2023-11-12 17:41:59 +01:00
bitfl0wer
2f559b1397
Remove openssl, use rustls and rand instead
2023-11-12 17:20:32 +01:00
bitfl0wer
7938f0295e
Add source url field trait
2023-09-03 21:00:48 +02:00
bitfl0wer
db533f9700
Make Errors Hash and Eq, bump version
2023-09-03 16:55:19 +02:00
bitfl0wer
47ba03102c
Bugfix time
2023-09-01 15:02:57 +02:00
bitfl0wer
635361a417
Bump version
2023-09-01 13:02:11 +02:00
bitfl0wer
a46ffc965c
Bump dependencies
2023-09-01 00:49:59 +02:00
bitfl0wer
c9c222664d
Bump version
2023-09-01 00:49:42 +02:00
fowb
b949477b24
Bump Version
2023-08-30 15:29:14 +02:00
bitfl0wer
8c45355620
Bump version
2023-08-29 14:45:10 +02:00