Fossil

Check-in [4eb3e0f2]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Only invoke the email alert sender after a successful HTTP request. Mark Not Found requests as 404, unsuccessful.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:4eb3e0f20e04edc563d903065486c85a56d883e323c6a1e15503e21ff85c9969
User & Date: drh 2018-06-24 18:22:53
Context
2018-06-24
18:47
Fix the /doc webpage so that it does not call fossil_fatal() when it cannot find the requested document. It simply does a 404 routine. By not calling fossil_fatal(), it avoids unnecessary entries in the error log. check-in: 29cb8260 user: drh tags: trunk
18:22
Only invoke the email alert sender after a successful HTTP request. Mark Not Found requests as 404, unsuccessful. check-in: 4eb3e0f2 user: drh tags: trunk
17:51
Improvements to the /test-warning webpage. check-in: 8d9ad750 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/cgi.c.

338
339
340
341
342
343
344

345

346
347
348
349
350
351
352
  }
  fflush(g.httpOut);
  CGIDEBUG(("DONE\n"));

  /* After the webpage has been sent, do any useful background
  /* processing.
  */

  email_auto_exec();

}

/*
** Do a redirect request to the URL given in the argument.
**
** The URL must be relative to the base of the fossil server.
*/







>
|
>







338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
  }
  fflush(g.httpOut);
  CGIDEBUG(("DONE\n"));

  /* After the webpage has been sent, do any useful background
  /* processing.
  */
  if( iReplyStatus==200 ){
    email_auto_exec();
  }
}

/*
** Do a redirect request to the URL given in the argument.
**
** The URL must be relative to the base of the fossil server.
*/

Changes to src/name.c.

421
422
423
424
425
426
427

428
429

430
431
432
433
434
435
436
*/
int name_to_typed_rid(const char *zName, const char *zType){
  int rid;

  if( zName==0 || zName[0]==0 ) return 0;
  rid = symbolic_name_to_rid(zName, zType);
  if( rid<0 ){

    fossil_fatal("ambiguous name: %s", zName);
  }else if( rid==0 ){

    fossil_fatal("not found: %s", zName);
  }
  return rid;
}
int name_to_rid(const char *zName){
  return name_to_typed_rid(zName, "*");
}







>


>







421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
*/
int name_to_typed_rid(const char *zName, const char *zType){
  int rid;

  if( zName==0 || zName[0]==0 ) return 0;
  rid = symbolic_name_to_rid(zName, zType);
  if( rid<0 ){
    cgi_set_status(404, "Not Found");
    fossil_fatal("ambiguous name: %s", zName);
  }else if( rid==0 ){
    cgi_set_status(404, "Not Found");
    fossil_fatal("not found: %s", zName);
  }
  return rid;
}
int name_to_rid(const char *zName){
  return name_to_typed_rid(zName, "*");
}