HTTP Services: Difference between revisions
→HTTP service "http:C": Fix wrong command Header |
|||
| (9 intermediate revisions by 3 users not shown) | |||
| Line 101: | Line 101: | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | | ||
| AddPostDataBinary | | [[HTTPC:AddPostDataBinary|AddPostDataBinary]] | ||
|- | |- | ||
| 0x00140082 | | 0x00140082 | ||
| Line 279: | Line 279: | ||
|- | |- | ||
| 0x00370080 | | 0x00370080 | ||
| | | [[2.0.0-2|2.0.0-X]] | ||
| | | | ||
| SetKeepAlive (bool) | | SetKeepAlive (bool) | ||
|- | |- | ||
| 0x003800C0 | | 0x003800C0 | ||
| | | [[3.0.0-5|3.0.0-X]]. | ||
| | | | ||
| SetPostDataTypeSize (u8 enum, u32 size) (similar to SetPostDataType) | | SetPostDataTypeSize (u8 enum, u32 size) (similar to SetPostDataType) | ||
|- | |- | ||
| 0x00390000 | | 0x00390000 | ||
| | | [[3.0.0-5|3.0.0-X]]. | ||
| | | | ||
| Finalize | | Finalize | ||
| Line 296: | Line 296: | ||
| [[8.0.0-18|8.0.0-X]] | | [[8.0.0-18|8.0.0-X]] | ||
| | | | ||
| | |SetKeepAlive? | ||
|- | |- | ||
| 0x003B0082 | | 0x003B0082 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |SetCrl | ||
|- | |- | ||
| 0x003C0080 | | 0x003C0080 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |SetInternalCrl | ||
|- | |- | ||
| 0x003D0080 | | 0x003D0080 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |SetCrlStore | ||
|- | |- | ||
| 0x003E0000 | | 0x003E0000 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |CreateCrlStore | ||
|- | |- | ||
| 0x003F0040 | | 0x003F0040 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |DestroyCrlStore | ||
|- | |- | ||
| 0x00400082 | | 0x00400082 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |AddCrlToCrlStore | ||
|- | |- | ||
| 0x00410080 | | 0x00410080 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |AddInternalCrl | ||
|- | |- | ||
| | | 0x00420040 | ||
| [[9.0.0-20|9.0.0-X]] | | [[9.0.0-20|9.0.0-X]] | ||
| | | | ||
| | |RemoveCrlFromCrlStore | ||
|} | |} | ||
| Line 342: | Line 342: | ||
Initially a HTTP context will not trust ''any'' root-CAs at all. Which root-CAs to trust must be ''explicitly'' specified via the add-root-CA service command(s). | Initially a HTTP context will not trust ''any'' root-CAs at all. Which root-CAs to trust must be ''explicitly'' specified via the add-root-CA service command(s). | ||
RootCertChains can be used to easily select a particular chain of trusted root-CAs with multiple HTTP contexts, without having to re-send each of the root-CA commands for each HTTP context. The maximum number of RootCertChains that can exist for an user-process, is only | RootCertChains can be used to easily select a particular chain of trusted root-CAs with multiple HTTP contexts, without having to re-send each of the root-CA commands for each HTTP context. The maximum number of RootCertChains that can exist for an user-process, is only 2. | ||
When using the context-specific RootCA commands such as [[HTTPC:AddTrustedRootCA]] where [[HTTPC:SelectRootCertChain]] was already used, the cert will just be added to the selected RootCertChain. | When using the context-specific RootCA commands such as [[HTTPC:AddTrustedRootCA]] where [[HTTPC:SelectRootCertChain]] was already used, the cert will just be added to the selected RootCertChain. | ||
=ClientCert Contexts= | =ClientCert Contexts= | ||
These are basically the same as RootCertChains except for TLS client cert+privk. The maximum number of ClientCert-contexts that can exist for an user-process, is only | These are basically the same as RootCertChains except for TLS client cert+privk. The maximum number of ClientCert-contexts that can exist for an user-process, is only 2. | ||
= Error codes = | = Error codes = | ||
| Line 359: | Line 359: | ||
|- | |- | ||
| 0xd8a0a046 | | 0xd8a0a046 | ||
| This is returned by [[HTTPC:Initialize]] when no network connection is available(or at least when wifi is disabled via Home Menu on New3DS). | | This is returned by [[HTTPC:Initialize]] when no network connection is available(or at least when wifi is disabled via Home Menu on New3DS). Seems to be caused by DNS lookup failure([[SOCU:getaddrinfo]] returning an error). | ||
|- | |||
| 0xd8a0a049 | |||
| Seems to be caused by a socket connect() timeout error? | |||
|- | |- | ||
| 0xd8a0a066 | | 0xd8a0a066 | ||
| This indicates that the context handle is wrong. | | This indicates that the context handle is wrong. | ||
|- | |||
| 0xd820a069 | |||
| This is returned when the call times out (with any call with a timeout arg) | |||
|} | |} | ||