summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2007-12-15 15:04:01 (UTC)
committer Michael Krelin <hacker@klever.net>2007-12-15 15:04:40 (UTC)
commit52c81fff0274c6bb54f6f9be414432ee6388e723 (patch) (unidiff)
treedc950b3f640bd7db8fc3f9f331f51a724a84f440
parent58383f07af80dfd5b5c18e5158291c3d8caefbe7 (diff)
downloadlibopkele-52c81fff0274c6bb54f6f9be414432ee6388e723.zip
libopkele-52c81fff0274c6bb54f6f9be414432ee6388e723.tar.gz
libopkele-52c81fff0274c6bb54f6f9be414432ee6388e723.tar.bz2
fixed handling of openid:Delegate in discovery
which was mistakenly added to the list of endpoint URIs instead of local ids. Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--lib/discovery.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/discovery.cc b/lib/discovery.cc
index 1f23ff1..9503b5d 100644
--- a/lib/discovery.cc
+++ b/lib/discovery.cc
@@ -249,49 +249,49 @@ namespace opkele {
249 if(sscanf(*(a++),"%ld",&status_code)==1 && status_code!=100) { 249 if(sscanf(*(a++),"%ld",&status_code)==1 && status_code!=100) {
250 cdata = &status_string; 250 cdata = &status_string;
251 pt_stack.push_back(n); 251 pt_stack.push_back(n);
252 break; 252 break;
253 } 253 }
254 } 254 }
255 } 255 }
256 }else if(xmode&xmode_html) { 256 }else if(xmode&xmode_html) {
257 html_start_element(n,a); 257 html_start_element(n,a);
258 }else{ 258 }else{
259 skipping = 1; 259 skipping = 1;
260 } 260 }
261 }else if(pt_s==2) { 261 }else if(pt_s==2) {
262 if(is_qelement(pt_stack.back().c_str(), NSURI_XRD "\tService")) { 262 if(is_qelement(pt_stack.back().c_str(), NSURI_XRD "\tService")) {
263 if(is_qelement(n,NSURI_XRD "\tType")) { 263 if(is_qelement(n,NSURI_XRD "\tType")) {
264 assert(xrd); assert(xrd_service); 264 assert(xrd); assert(xrd_service);
265 cdata_buf.clear(); 265 cdata_buf.clear();
266 cdata = &cdata_buf; 266 cdata = &cdata_buf;
267 }else if(is_qelement(n,NSURI_XRD "\tURI")) { 267 }else if(is_qelement(n,NSURI_XRD "\tURI")) {
268 assert(xrd); assert(xrd_service); 268 assert(xrd); assert(xrd_service);
269 cdata = &(xrd_service->uris.add(element_priority(a),string())); 269 cdata = &(xrd_service->uris.add(element_priority(a),string()));
270 }else if(is_qelement(n,NSURI_XRD "\tLocalID") 270 }else if(is_qelement(n,NSURI_XRD "\tLocalID")
271 || is_qelement(n,NSURI_OPENID10 "\tDelegate") ) { 271 || is_qelement(n,NSURI_OPENID10 "\tDelegate") ) {
272 assert(xrd); assert(xrd_service); 272 assert(xrd); assert(xrd_service);
273 cdata = &(xrd_service->uris.add(element_priority(a),string())); 273 cdata = &(xrd_service->local_ids.add(element_priority(a),string()));
274 }else{ 274 }else{
275 skipping = 1; 275 skipping = 1;
276 } 276 }
277 }else 277 }else
278 skipping = 1; 278 skipping = 1;
279 }else if(xmode&xmode_html) { 279 }else if(xmode&xmode_html) {
280 html_start_element(n,a); 280 html_start_element(n,a);
281 }else{ 281 }else{
282 skipping = 1; 282 skipping = 1;
283 } 283 }
284 } 284 }
285 } 285 }
286 void end_element(const XML_Char *n) { 286 void end_element(const XML_Char *n) {
287 if(skipping<0) return; 287 if(skipping<0) return;
288 if(skipping) { 288 if(skipping) {
289 --skipping; return; 289 --skipping; return;
290 } 290 }
291 if(is_qelement(n,NSURI_XRD "\tType")) { 291 if(is_qelement(n,NSURI_XRD "\tType")) {
292 assert(xrd); assert(xrd_service); assert(cdata==&cdata_buf); 292 assert(xrd); assert(xrd_service); assert(cdata==&cdata_buf);
293 xrd_service->types.insert(cdata_buf); 293 xrd_service->types.insert(cdata_buf);
294 }else if(is_qelement(n,NSURI_XRD "\tService")) { 294 }else if(is_qelement(n,NSURI_XRD "\tService")) {
295 assert(xrd); assert(xrd_service); 295 assert(xrd); assert(xrd_service);
296 assert(!pt_stack.empty()); 296 assert(!pt_stack.empty());
297 assert(pt_stack.back()==(NSURI_XRD "\tService")); 297 assert(pt_stack.back()==(NSURI_XRD "\tService"));