Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
forked frommozilla/neqo

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
NotificationsYou must be signed in to change notification settings

sshyran/neqo

 
 

neqo logo

To run test HTTP/3 programs (neqo-client and neqo-server):

  • cargo build
  • ./target/debug/neqo-server [::]:12345 --db ./test-fixture/db
  • ./target/debug/neqo-client http://127.0.0.1:12345/

Faster Builds with Separate NSS/NSPR

You can clone NSS (https://hg.mozilla.org/projects/nss) and NSPR(https://hg.mozilla.org/projects/nspr) into the same directory and export anenvironment variable calledNSS_DIR pointing to NSS. This causes the build touse the existing NSS checkout. However, in order to run anything that dependson NSS, you need to set$\[DY]LD\_LIBRARY\_PATH to point to$NSS_DIR/../dist/Debug/lib.

Note: If you did not compile NSS separately, you need to have mercurial (hg), installed.NSS builds require gyp, and ninja (or ninja-build) to be present also.

Debugging Neqo

Using SSLKEYLOGFILE to decrypt Wireshark logs

Info here

TODO: What is the minimum Wireshark version needed?TODO: Above link may be incorrect, protocol now called TLS instead of SSL?

Using RUST_LOG effectively

As documented in theenv_logger documentation,theRUST_LOG environment variable can be used to selectively enable log messagesfrom Rust code. This works for Neqo's cmdline tools, as well as for when Neqo isincorporated into Gecko, althoughGecko needs to be built in debug mode.

Some examples:

  1. RUST_LOG=neqo_transport::dump ./mach run lists sent and received QUICpackets and their frames' contents only.
  2. RUST_LOG=neqo_transport=debug,neqo_http3=trace,info ./mach run sets a'debug' log level for transport, 'trace' level for http3, and 'info' loglevel for all other Rust crates, both Neqo and others used by Gecko.
  3. RUST_LOG=neqo=trace,error ./mach run setstrace level for all modulesstarting with "neqo", and setserror as minimum log level for otherunrelated Rust log messages.

Trying In-development Neqo code in Gecko

In a checked-out copy of Gecko source, set paths for the four Neqo crates tolocal versions innetwerk/socket/neqo_glue/Cargo.toml. For example, if Neqowas checked out to /home/alice/git/neqo, change:

neqo-http3 = { tag = "v0.1.7", git = "https://github.com/mozilla/neqo" }neqo-transport = { tag = "v0.1.7", git = "https://github.com/mozilla/neqo" }neqo-common = { tag = "v0.1.7", git = "https://github.com/mozilla/neqo" }

to

neqo-http3 = { path = "/home/alice/git/neqo/neqo-http3" }neqo-transport = { path = "/home/alice/git/neqo/neqo-transport" }neqo-common = { path = "/home/alice/git/neqo/neqo-common" }

and

[dependencies.neqo-crypto]tag = "v0.1.7"git = "https://github.com/mozilla/neqo"default-features = falsefeatures = ["gecko"]

to

[dependencies.neqo-crypto]path = "/home/alice/git/neqo/neqo-crypto"default-features = falsefeatures = ["gecko"]

Note: Using newer Neqo code with Gecko may also require changes (likely toneqo_glue) ifsomething has changed.

Compile Gecko as usual with./mach build.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust99.3%
  • Other0.7%

[8]ページ先頭

©2009-2025 Movatter.jp