adam@0
|
1 #include <urweb/urweb.h>
|
adam@0
|
2
|
adam@8
|
3 #include <openssl/dh.h>
|
adam@8
|
4
|
adam@3
|
5 uw_unit uw_OpenidFfi_init(uw_context);
|
adam@3
|
6
|
adam@8
|
7 typedef struct {
|
adam@8
|
8 uw_Basis_string endpoint, localId;
|
adam@8
|
9 } uw_OpenidFfi_discovery;
|
adam@2
|
10
|
adam@2
|
11 uw_Basis_string uw_OpenidFfi_endpoint(uw_context, uw_OpenidFfi_discovery);
|
adam@2
|
12 uw_Basis_string uw_OpenidFfi_localId(uw_context, uw_OpenidFfi_discovery);
|
adam@2
|
13
|
adam@2
|
14 uw_OpenidFfi_discovery *uw_OpenidFfi_discover(uw_context, uw_Basis_string id);
|
adam@3
|
15
|
adam@3
|
16 typedef uw_buffer *uw_OpenidFfi_inputs;
|
adam@3
|
17 typedef uw_buffer *uw_OpenidFfi_outputs;
|
adam@3
|
18
|
adam@3
|
19 uw_OpenidFfi_inputs uw_OpenidFfi_createInputs(uw_context);
|
adam@3
|
20 uw_unit uw_OpenidFfi_addInput(uw_context, uw_OpenidFfi_inputs, uw_Basis_string key, uw_Basis_string value);
|
adam@3
|
21
|
adam@3
|
22 uw_Basis_string uw_OpenidFfi_getOutput(uw_context, uw_OpenidFfi_outputs, uw_Basis_string key);
|
adam@3
|
23
|
adam@4
|
24 uw_OpenidFfi_outputs uw_OpenidFfi_direct(uw_context, uw_Basis_string url, uw_OpenidFfi_inputs);
|
adam@4
|
25 uw_OpenidFfi_outputs uw_OpenidFfi_indirect(uw_context, uw_Basis_string fields);
|
adam@6
|
26
|
adam@8
|
27 uw_Basis_string uw_OpenidFfi_sha1(uw_context, uw_Basis_string key, uw_Basis_string data);
|
adam@7
|
28 uw_Basis_string uw_OpenidFfi_sha256(uw_context, uw_Basis_string key, uw_Basis_string data);
|
adam@8
|
29
|
adam@8
|
30 typedef DH *uw_OpenidFfi_dh;
|
adam@8
|
31
|
adam@8
|
32 uw_Basis_string uw_OpenidFfi_modulus(uw_context, uw_OpenidFfi_dh);
|
adam@8
|
33 uw_Basis_string uw_OpenidFfi_generator(uw_context, uw_OpenidFfi_dh);
|
adam@8
|
34 uw_Basis_string uw_OpenidFfi_public(uw_context, uw_OpenidFfi_dh);
|
adam@8
|
35
|
adam@8
|
36 uw_OpenidFfi_dh uw_OpenidFfi_generate(uw_context);
|
adam@8
|
37 uw_Basis_string uw_OpenidFfi_compute(uw_context, uw_OpenidFfi_dh, uw_Basis_string server_pub);
|