@@ -447,46 +447,10 @@
447 447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zRef = P("HTTP_REFERER");
448 448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zRef==0 ) zRef = zDefault;
449 449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
450 450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return zRef;
451 451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** If cgi_referer(0) returns a non-0 AND the referrer is from the same
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fossil app path (i.e. the referrer's path starts with g.zTop), this
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** function returns the first path element of the referring page, up
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** to, but not including, the first slash. Thus if he refer[r]er is
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** https://foo.com/fossil.cgi/foo/bar, this returns "foo". The
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** returned memory is malloc'd and needs to be freed by the caller.
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char * cgi_referer_fossil_page_name(){
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- UrlData url;
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char * zPage = 0;
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char * zRef = cgi_referer(0);
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(zRef==0) return 0;
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(&url, 0, sizeof(url));
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url_parse_local(zRef, 0, &url);
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(url.path==strstr(url.path, g.zTop)){
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* g.zTop is, e.g., /cgi-bin/fossil.cgi,
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url.path is, e.g., /cgi-bin/fossil.cgi/page/... */
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char * zSlash = 0;
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zPage = url.path + strlen(g.zTop);
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if('/' == zPage[0]){
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *zPage++ = 0;
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if((zSlash = strstr(zPage,"/"))!=0){
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *zSlash = 0;
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zPage = mprintf("%s", zPage);
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{ /*unexpected result*/
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zPage = 0;
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url_cleanup(&url);
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return zPage;
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
488 452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
489 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
490 454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return true if the current request appears to be safe from a
491 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Cross-Site Request Forgery (CSRF) attack. Conditions that must
492 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** be met:
493 457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!