Closed
Bug 1800618
Opened 2 years ago
Closed 2 years ago
Write generic nsIHttpChannel for oblivious HTTP
Categories
(Core :: Networking: HTTP, enhancement, P3)
Core
Networking: HTTP
Tracking
()
RESOLVED
FIXED
111 Branch
Tracking | Status | |
---|---|---|
firefox111 | --- | fixed |
People
(Reporter: valentin, Assigned: keeler)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
As noted in bug 1800614 the payload of ohttp channels is the serialization of an HTTP channel using rfc9292 to encode headers, payload, etc.
It would be good to have a generic channel for this purpose, that can hide most of the complexity from its consumers.
I think a wrapper of a regular httpchannel would work well.
Most methods would just be forwarded to the wrapped channel, except we overrride AsyncOpen to serialize the inner channel, open an entirely new channel (currently TRRServiceChannel) and send off the payload.
Assignee | ||
Comment 1•2 years ago
|
||
Updated•2 years ago
|
Assignee: nobody → dkeeler
Status: NEW → ASSIGNED
Updated•2 years ago
|
Attachment #9311862 -
Attachment description: WIP: Bug 1800618 - implement an oblivious http channel r?valentin → Bug 1800618 - implement an oblivious http channel r?valentin
Pushed by dkeeler@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/437540429de2
implement an oblivious http channel r=necko-reviewers,valentin
Comment 3•2 years ago
|
||
Backed out for causing build bustages on ObliviousHttpChannel.h
- Backout link
- Push with failures
- Failure Log
- Failure line: /builds/worker/checkouts/gecko/netwerk/protocol/http/ObliviousHttpChannel.h:20:43: error: base class has incomplete type
/builds/worker/checkouts/gecko/netwerk/protocol/http/ObliviousHttpChannel.h:26:3: error: unknown type name 'NS_DECL_NSIREQUESTOBSERVER'
/builds/worker/checkouts/gecko/netwerk/protocol/http/ObliviousHttpChannel.h:27:28: error: expected ';' at end of declaration list
Flags: needinfo?(dkeeler)
Assignee | ||
Updated•2 years ago
|
Flags: needinfo?(dkeeler)
Pushed by dkeeler@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/16229048031e
implement an oblivious http channel r=necko-reviewers,valentin
Comment 5•2 years ago
|
||
Backed out for causing base-toolchains build bustages.
[task 2023-01-23T23:19:01.256Z] 23:19:01 INFO - gmake[4]: Entering directory '/builds/worker/workspace/obj-build/netwerk/protocol/http'
[task 2023-01-23T23:19:01.258Z] 23:19:01 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/gcc/bin/g++ --sysroot /builds/worker/fetches/sysroot-x86_64-linux-gnu -std=gnu++17 -isystem /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/c++/7.5.0 -isystem /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/x86_64-linux-gnu/c++/7.5.0 -isystem /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/x86_64-linux-gnu -isystem /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include -o Unified_cpp_protocol_http3.o -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DDEBUG=1 -DOS_POSIX=1 -DOS_LINUX=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/netwerk/protocol/http -I/builds/worker/workspace/obj-build/netwerk/protocol/http -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/dom/base -I/builds/worker/checkouts/gecko/netwerk/base -I/builds/worker/checkouts/gecko/netwerk/cookie -I/builds/worker/checkouts/gecko/netwerk/dns -I/builds/worker/checkouts/gecko/netwerk/ipc -I/builds/worker/checkouts/gecko/netwerk/socket/neqo_glue -I/builds/worker/checkouts/gecko/netwerk/url-classifier -I/builds/worker/checkouts/gecko/extensions/auth -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -gdwarf-4 -freorder-blocks -Os -fno-omit-frame-pointer -funwind-tables -Werror -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-invalid-offsetof -Wno-error=deprecated -Wduplicated-cond -Wimplicit-fallthrough -Wlogical-op -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -Wno-psabi -fno-strict-aliasing -ffp-contract=off -MD -MP -MF .deps/Unified_cpp_protocol_http3.o.pp Unified_cpp_protocol_http3.cpp
[task 2023-01-23T23:19:01.259Z] 23:19:01 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/mozilla/MozPromise.h:13:0,
[task 2023-01-23T23:19:01.259Z] 23:19:01 INFO - from /builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders/mozilla/net/PNecko.h:15,
[task 2023-01-23T23:19:01.260Z] 23:19:01 INFO - from /builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders/mozilla/net/PNeckoChild.h:9,
[task 2023-01-23T23:19:01.260Z] 23:19:01 INFO - from /builds/worker/workspace/obj-build/dist/include/mozilla/net/NeckoChild.h:11,
[task 2023-01-23T23:19:01.260Z] 23:19:01 INFO - from /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpLog.h:20,
[task 2023-01-23T23:19:01.261Z] 23:19:01 INFO - from /builds/worker/checkouts/gecko/netwerk/protocol/http/MockHttpAuth.cpp:7,
[task 2023-01-23T23:19:01.261Z] 23:19:01 INFO - from Unified_cpp_protocol_http3.cpp:2:
[task 2023-01-23T23:19:01.261Z] 23:19:01 INFO - /builds/worker/checkouts/gecko/netwerk/protocol/http/ObliviousHttpChannel.cpp: In member function 'virtual nsresult mozilla::net::ObliviousHttpChannel::OnStopRequest(nsIRequest*, nsresult)':
[task 2023-01-23T23:19:01.262Z] 23:19:01 ERROR - /builds/worker/workspace/obj-build/dist/include/mozilla/Logging.h:290:61: error: format '%u' expects argument of type 'unsigned int', but argument 6 has type 'nsresult' [-Werror=format=]
[task 2023-01-23T23:19:01.262Z] 23:19:01 INFO - MOZ_LOG_EXPAND_ARGS _args); \
[task 2023-01-23T23:19:01.263Z] 23:19:01 INFO - ^
[task 2023-01-23T23:19:01.263Z] 23:19:01 INFO - /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpLog.h:54:3: note: in expansion of macro 'MOZ_LOG'
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - MOZ_LOG(mozilla::net::gHttpLog, mozilla::LogLevel::Debug, args)
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - ^~~~~~~
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpLog.h:57:19: note: in expansion of macro 'LOG4'
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - #define LOG(args) LOG4(args)
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - ^~~~
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - /builds/worker/checkouts/gecko/netwerk/protocol/http/ObliviousHttpChannel.cpp:624:3: note: in expansion of macro 'LOG'
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - LOG(("ObliviousHttpChannel::OnStopRequest [this=%p, request=%p, status=%u]",
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - ^
[task 2023-01-23T23:19:01.264Z] 23:19:01 INFO - cc1plus: all warnings being treated as errors
[task 2023-01-23T23:19:01.264Z] 23:19:01 ERROR - gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:673: Unified_cpp_protocol_http3.o] Error 1
[task 2023-01-23T23:19:01.265Z] 23:19:01 INFO - gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/netwerk/protocol/http'
Flags: needinfo?(dkeeler)
Assignee | ||
Updated•2 years ago
|
Flags: needinfo?(dkeeler)
Pushed by dkeeler@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0b27c2bd6f64
implement an oblivious http channel r=necko-reviewers,valentin
Comment 7•2 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
status-firefox111:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•