author | Michael Krelin <hacker@klever.net> | 2008-02-08 21:26:55 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-02-08 21:26:55 (UTC) |
commit | 1a4d8acd92d17ec1363886383bd171eabef2e25e (patch) (unidiff) | |
tree | 7c330603957c5f6eff2bfeaa9155ff5ccb701e82 /include | |
parent | 2e93c9940944edab87c29a2a13d60090f15fea86 (diff) | |
download | libopkele-1a4d8acd92d17ec1363886383bd171eabef2e25e.zip libopkele-1a4d8acd92d17ec1363886383bd171eabef2e25e.tar.gz libopkele-1a4d8acd92d17ec1363886383bd171eabef2e25e.tar.bz2 |
renamed verify_op to verify_OP
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | include/opkele/basic_op.h | 2 | ||||
-rw-r--r-- | include/opkele/verify_op.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/opkele/basic_op.h b/include/opkele/basic_op.h index 0e3231d..0326508 100644 --- a/include/opkele/basic_op.h +++ b/include/opkele/basic_op.h | |||
@@ -1,250 +1,250 @@ | |||
1 | #ifndef __OPKELE_BASIC_OP_H | 1 | #ifndef __OPKELE_BASIC_OP_H |
2 | #define __OPKELE_BASIC_OP_H | 2 | #define __OPKELE_BASIC_OP_H |
3 | 3 | ||
4 | #include <string> | 4 | #include <string> |
5 | #include <opkele/types.h> | 5 | #include <opkele/types.h> |
6 | #include <opkele/extension.h> | 6 | #include <opkele/extension.h> |
7 | 7 | ||
8 | namespace opkele { | 8 | namespace opkele { |
9 | using std::string; | 9 | using std::string; |
10 | 10 | ||
11 | /** | 11 | /** |
12 | * Implementation of basic OP functionality | 12 | * Implementation of basic OP functionality |
13 | */ | 13 | */ |
14 | class basic_OP { | 14 | class basic_OP { |
15 | public: | 15 | public: |
16 | /** | 16 | /** |
17 | * The request mode for the request being processed | 17 | * The request mode for the request being processed |
18 | */ | 18 | */ |
19 | mode_t mode; | 19 | mode_t mode; |
20 | /** | 20 | /** |
21 | * association used in transaction. reset in case of dumb operation | 21 | * association used in transaction. reset in case of dumb operation |
22 | */ | 22 | */ |
23 | assoc_t assoc; | 23 | assoc_t assoc; |
24 | /** | 24 | /** |
25 | * true if the request is openid2 request | 25 | * true if the request is openid2 request |
26 | */ | 26 | */ |
27 | bool openid2; | 27 | bool openid2; |
28 | /** | 28 | /** |
29 | * The return_to RP endpoint | 29 | * The return_to RP endpoint |
30 | */ | 30 | */ |
31 | string return_to; | 31 | string return_to; |
32 | /** | 32 | /** |
33 | * The realm we authenticate for | 33 | * The realm we authenticate for |
34 | */ | 34 | */ |
35 | string realm; | 35 | string realm; |
36 | /** | 36 | /** |
37 | * Claimed identifier | 37 | * Claimed identifier |
38 | */ | 38 | */ |
39 | string claimed_id; | 39 | string claimed_id; |
40 | /** | 40 | /** |
41 | * The OP-Local identifier | 41 | * The OP-Local identifier |
42 | */ | 42 | */ |
43 | string identity; | 43 | string identity; |
44 | /** | 44 | /** |
45 | * The invalidate handle for the reply request | 45 | * The invalidate handle for the reply request |
46 | */ | 46 | */ |
47 | string invalidate_handle; | 47 | string invalidate_handle; |
48 | 48 | ||
49 | void reset_vars(); | 49 | void reset_vars(); |
50 | 50 | ||
51 | /** | 51 | /** |
52 | * @name Request information access | 52 | * @name Request information access |
53 | * Setting and retrieval of the information pertaining to the request being processed | 53 | * Setting and retrieval of the information pertaining to the request being processed |
54 | * @{ | 54 | * @{ |
55 | */ | 55 | */ |
56 | /** | 56 | /** |
57 | * Check if the RP expects us to get back to them. | 57 | * Check if the RP expects us to get back to them. |
58 | * @return true if RP supplied return_to URL | 58 | * @return true if RP supplied return_to URL |
59 | */ | 59 | */ |
60 | bool has_return_to() const; | 60 | bool has_return_to() const; |
61 | /** | 61 | /** |
62 | * Find out where the RP is waiting for us. | 62 | * Find out where the RP is waiting for us. |
63 | * @return the return_to URL supplied | 63 | * @return the return_to URL supplied |
64 | * @throw no_return_to if no return_to is supplied with the request | 64 | * @throw no_return_to if no return_to is supplied with the request |
65 | */ | 65 | */ |
66 | const string& get_return_to() const; | 66 | const string& get_return_to() const; |
67 | 67 | ||
68 | /** | 68 | /** |
69 | * Find out what realm we are authenticating user for | 69 | * Find out what realm we are authenticating user for |
70 | * @return the realm | 70 | * @return the realm |
71 | */ | 71 | */ |
72 | const string& get_realm() const; | 72 | const string& get_realm() const; |
73 | 73 | ||
74 | /** | 74 | /** |
75 | * Check if request is about identity | 75 | * Check if request is about identity |
76 | * @return true if so | 76 | * @return true if so |
77 | */ | 77 | */ |
78 | bool has_identity() const; | 78 | bool has_identity() const; |
79 | /** | 79 | /** |
80 | * Get claimed identifier supplied with the request | 80 | * Get claimed identifier supplied with the request |
81 | * @return claimed identifier | 81 | * @return claimed identifier |
82 | * @throw non_identity if request is not about identity | 82 | * @throw non_identity if request is not about identity |
83 | */ | 83 | */ |
84 | const string& get_claimed_id() const; | 84 | const string& get_claimed_id() const; |
85 | /** | 85 | /** |
86 | * Get the identity (OP-Local identifier) being confirmed | 86 | * Get the identity (OP-Local identifier) being confirmed |
87 | * @return identity | 87 | * @return identity |
88 | * @throw non_identity if request is not about identity | 88 | * @throw non_identity if request is not about identity |
89 | */ | 89 | */ |
90 | const string& get_identity() const; | 90 | const string& get_identity() const; |
91 | 91 | ||
92 | /** | 92 | /** |
93 | * Is identifier supposed to be selected on our side? | 93 | * Is identifier supposed to be selected on our side? |
94 | * @return true if identity is a special identifier select URI | 94 | * @return true if identity is a special identifier select URI |
95 | */ | 95 | */ |
96 | bool is_id_select() const; | 96 | bool is_id_select() const; |
97 | 97 | ||
98 | /** | 98 | /** |
99 | * Select the identity for identifier select request | 99 | * Select the identity for identifier select request |
100 | * @param cid claimed identifier | 100 | * @param cid claimed identifier |
101 | * @param lid local identifier | 101 | * @param lid local identifier |
102 | */ | 102 | */ |
103 | void select_identity(const string& cid,const string& lid); | 103 | void select_identity(const string& cid,const string& lid); |
104 | /** | 104 | /** |
105 | * Set claimed identifier (for instance if it's supposed to have | 105 | * Set claimed identifier (for instance if it's supposed to have |
106 | * fragment part) | 106 | * fragment part) |
107 | * @param cid claimed identifier | 107 | * @param cid claimed identifier |
108 | */ | 108 | */ |
109 | void set_claimed_id(const string& cid); | 109 | void set_claimed_id(const string& cid); |
110 | /** | 110 | /** |
111 | * @} | 111 | * @} |
112 | */ | 112 | */ |
113 | 113 | ||
114 | /** @name OpenID operations | 114 | /** @name OpenID operations |
115 | * @{ | 115 | * @{ |
116 | */ | 116 | */ |
117 | /** | 117 | /** |
118 | * Establish association with RP | 118 | * Establish association with RP |
119 | * @param oum reply message | 119 | * @param oum reply message |
120 | * @param inm request message | 120 | * @param inm request message |
121 | */ | 121 | */ |
122 | basic_openid_message& associate( | 122 | basic_openid_message& associate( |
123 | basic_openid_message& oum, | 123 | basic_openid_message& oum, |
124 | const basic_openid_message& inm); | 124 | const basic_openid_message& inm); |
125 | 125 | ||
126 | /** | 126 | /** |
127 | * Parse the checkid_* request. The function parses input message, | 127 | * Parse the checkid_* request. The function parses input message, |
128 | * retrieves the information needed for further processing, | 128 | * retrieves the information needed for further processing, |
129 | * verifies what can be verified at this stage. | 129 | * verifies what can be verified at this stage. |
130 | * @param inm incoming OpenID message | 130 | * @param inm incoming OpenID message |
131 | * @param ext extension/chain of extensions supported | 131 | * @param ext extension/chain of extensions supported |
132 | */ | 132 | */ |
133 | void checkid_(const basic_openid_message& inm,extension_t *ext=0); | 133 | void checkid_(const basic_openid_message& inm,extension_t *ext=0); |
134 | /** | 134 | /** |
135 | * Build and sign a positive assertion message | 135 | * Build and sign a positive assertion message |
136 | * @param om outpu OpenID message | 136 | * @param om outpu OpenID message |
137 | * @param ext extension/chain of extensions supported | 137 | * @param ext extension/chain of extensions supported |
138 | * @return reference to om | 138 | * @return reference to om |
139 | */ | 139 | */ |
140 | basic_openid_message& id_res(basic_openid_message& om, | 140 | basic_openid_message& id_res(basic_openid_message& om, |
141 | extension_t *ext=0); | 141 | extension_t *ext=0); |
142 | /** | 142 | /** |
143 | * Build a 'cancel' negative assertion | 143 | * Build a 'cancel' negative assertion |
144 | * @param om output OpenID message | 144 | * @param om output OpenID message |
145 | * @return reference to om | 145 | * @return reference to om |
146 | */ | 146 | */ |
147 | basic_openid_message& cancel(basic_openid_message& om); | 147 | basic_openid_message& cancel(basic_openid_message& om); |
148 | /** | 148 | /** |
149 | * Build an 'error' reply | 149 | * Build an 'error' reply |
150 | * @param om output OpenID message | 150 | * @param om output OpenID message |
151 | * @param error a human-readable message indicating the cause | 151 | * @param error a human-readable message indicating the cause |
152 | * @param contact contact address for the server administrator (can be empty) | 152 | * @param contact contact address for the server administrator (can be empty) |
153 | * @param reference a reference token (can be empty) | 153 | * @param reference a reference token (can be empty) |
154 | * @return reference to om | 154 | * @return reference to om |
155 | */ | 155 | */ |
156 | basic_openid_message& error(basic_openid_message& om, | 156 | basic_openid_message& error(basic_openid_message& om, |
157 | const string& error,const string& contact, | 157 | const string& error,const string& contact, |
158 | const string& reference ); | 158 | const string& reference ); |
159 | /** | 159 | /** |
160 | * Build a setup_needed reply to checkid_immediate request | 160 | * Build a setup_needed reply to checkid_immediate request |
161 | * @param oum output OpenID message | 161 | * @param oum output OpenID message |
162 | * @param inm incoming OpenID request being processed | 162 | * @param inm incoming OpenID request being processed |
163 | * @return reference to oum | 163 | * @return reference to oum |
164 | */ | 164 | */ |
165 | basic_openid_message& setup_needed( | 165 | basic_openid_message& setup_needed( |
166 | basic_openid_message& oum,const basic_openid_message& inm); | 166 | basic_openid_message& oum,const basic_openid_message& inm); |
167 | 167 | ||
168 | /** | 168 | /** |
169 | * Process check_authentication request | 169 | * Process check_authentication request |
170 | * @param oum output OpenID message | 170 | * @param oum output OpenID message |
171 | * @param inm incoming request | 171 | * @param inm incoming request |
172 | * @return reference to oum | 172 | * @return reference to oum |
173 | */ | 173 | */ |
174 | basic_openid_message& check_authentication( | 174 | basic_openid_message& check_authentication( |
175 | basic_openid_message& oum,const basic_openid_message& inm); | 175 | basic_openid_message& oum,const basic_openid_message& inm); |
176 | /** | 176 | /** |
177 | * @} | 177 | * @} |
178 | */ | 178 | */ |
179 | 179 | ||
180 | /** | 180 | /** |
181 | * Verify return_to url. The default implementation checks whether | 181 | * Verify return_to url. The default implementation checks whether |
182 | * return_to URI matches the realm | 182 | * return_to URI matches the realm |
183 | * @throw bad_realm in case of invalid realm | 183 | * @throw bad_realm in case of invalid realm |
184 | * @throw bad_return_to if return_to doesn't match the realm | 184 | * @throw bad_return_to if return_to doesn't match the realm |
185 | * @see verify_op::verify_return_to() | 185 | * @see verify_OP::verify_return_to() |
186 | */ | 186 | */ |
187 | virtual void verify_return_to(); | 187 | virtual void verify_return_to(); |
188 | 188 | ||
189 | /** | 189 | /** |
190 | * @name Global persistent store API | 190 | * @name Global persistent store API |
191 | * These functions are related to the associations with RPs storage | 191 | * These functions are related to the associations with RPs storage |
192 | * and retrieval and nonce management. | 192 | * and retrieval and nonce management. |
193 | * @{ | 193 | * @{ |
194 | */ | 194 | */ |
195 | /** | 195 | /** |
196 | * Allocate association. | 196 | * Allocate association. |
197 | * @param type association type | 197 | * @param type association type |
198 | * @param kl association key length | 198 | * @param kl association key length |
199 | * @param sl true if the association is stateless | 199 | * @param sl true if the association is stateless |
200 | * @return association object | 200 | * @return association object |
201 | */ | 201 | */ |
202 | virtual assoc_t alloc_assoc(const string& type,size_t kl,bool sl) = 0; | 202 | virtual assoc_t alloc_assoc(const string& type,size_t kl,bool sl) = 0; |
203 | /** | 203 | /** |
204 | * Retrieve valid unexpired association | 204 | * Retrieve valid unexpired association |
205 | * @param handle association handle | 205 | * @param handle association handle |
206 | * @return association object | 206 | * @return association object |
207 | */ | 207 | */ |
208 | virtual assoc_t retrieve_assoc(const string& handle) = 0; | 208 | virtual assoc_t retrieve_assoc(const string& handle) = 0; |
209 | /** | 209 | /** |
210 | * Allocate nonce. | 210 | * Allocate nonce. |
211 | * @param nonce input-output parameter containing timestamp part of | 211 | * @param nonce input-output parameter containing timestamp part of |
212 | * the nonce on input | 212 | * the nonce on input |
213 | * @param sl true if the nonce is | 213 | * @param sl true if the nonce is |
214 | * @return reference to nonce | 214 | * @return reference to nonce |
215 | * @throw failed_lookup if no such valid unexpired association | 215 | * @throw failed_lookup if no such valid unexpired association |
216 | * could be retrieved | 216 | * could be retrieved |
217 | */ | 217 | */ |
218 | virtual string& alloc_nonce(string& nonce) = 0; | 218 | virtual string& alloc_nonce(string& nonce) = 0; |
219 | /** | 219 | /** |
220 | * Check nonce validity | 220 | * Check nonce validity |
221 | * @param nonce nonce to check | 221 | * @param nonce nonce to check |
222 | * @return true if nonce found and isn't yet invalidated | 222 | * @return true if nonce found and isn't yet invalidated |
223 | */ | 223 | */ |
224 | virtual bool check_nonce(const string& nonce) = 0; | 224 | virtual bool check_nonce(const string& nonce) = 0; |
225 | /** | 225 | /** |
226 | * Invalidate nonce | 226 | * Invalidate nonce |
227 | * @param nonce nonce to check | 227 | * @param nonce nonce to check |
228 | */ | 228 | */ |
229 | virtual void invalidate_nonce(const string& nonce) = 0; | 229 | virtual void invalidate_nonce(const string& nonce) = 0; |
230 | /** | 230 | /** |
231 | * @} | 231 | * @} |
232 | */ | 232 | */ |
233 | 233 | ||
234 | /** | 234 | /** |
235 | * @name Site particulars API | 235 | * @name Site particulars API |
236 | * @{ | 236 | * @{ |
237 | */ | 237 | */ |
238 | /** | 238 | /** |
239 | * Query the absolute URL of the op endpoint | 239 | * Query the absolute URL of the op endpoint |
240 | * @return fully qualified url of the OP endpoint | 240 | * @return fully qualified url of the OP endpoint |
241 | */ | 241 | */ |
242 | virtual const string get_op_endpoint() const = 0; | 242 | virtual const string get_op_endpoint() const = 0; |
243 | /** | 243 | /** |
244 | * @} | 244 | * @} |
245 | */ | 245 | */ |
246 | 246 | ||
247 | }; | 247 | }; |
248 | } | 248 | } |
249 | 249 | ||
250 | #endif /* __OPKELE_BASIC_OP_H */ | 250 | #endif /* __OPKELE_BASIC_OP_H */ |
diff --git a/include/opkele/verify_op.h b/include/opkele/verify_op.h index 6b94240..9e29bac 100644 --- a/include/opkele/verify_op.h +++ b/include/opkele/verify_op.h | |||
@@ -1,26 +1,26 @@ | |||
1 | #ifndef __OPKELE_VERIFY_OP_H | 1 | #ifndef __OPKELE_VERIFY_OP_H |
2 | #define __OPKELE_VERIFY_OP_H | 2 | #define __OPKELE_VERIFY_OP_H |
3 | 3 | ||
4 | #include <opkele/basic_op.h> | 4 | #include <opkele/basic_op.h> |
5 | 5 | ||
6 | namespace opkele { | 6 | namespace opkele { |
7 | 7 | ||
8 | /** | 8 | /** |
9 | * The OP implementation that does discovery verification on RP | 9 | * The OP implementation that does discovery verification on RP |
10 | */ | 10 | */ |
11 | class verify_op : public basic_OP { | 11 | class verify_OP : public basic_OP { |
12 | public: | 12 | public: |
13 | 13 | ||
14 | /** | 14 | /** |
15 | * In addition to basic_OP::verify_return_to() functionality this | 15 | * In addition to basic_OP::verify_return_to() functionality this |
16 | * implementation does the discovery on RP to see if return_to matches | 16 | * implementation does the discovery on RP to see if return_to matches |
17 | * the realm | 17 | * the realm |
18 | * @throw bad_return_to in case we fail to discover corresponding | 18 | * @throw bad_return_to in case we fail to discover corresponding |
19 | * service endpoint | 19 | * service endpoint |
20 | */ | 20 | */ |
21 | void verify_return_to(); | 21 | void verify_return_to(); |
22 | }; | 22 | }; |
23 | 23 | ||
24 | } | 24 | } |
25 | 25 | ||
26 | #endif /* __OPKELE_VERIFY_OP_H */ | 26 | #endif /* __OPKELE_VERIFY_OP_H */ |