Fossil

Check-in [ea646955]
Login

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

Overview
Comment:Avoided a crash in Fossil > Admin > Notification > Send Announcement triggered when no subscribers are set up, causing it to fail on Submit if you tell it to send the announcement to all subscribers. The check also guards against sending such things before email alerts are set up. In either case, the "Send Announcmeent" page gives an error pointing you to the docs, rather than a form that cannot be successfully submitted.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ea646955f16f82a9823f6b57a7f2ecc622647e0dc15691c341c09a24ffa74c8a
User & Date: wyoung 2018-10-04 07:36:20.669
Context
2018-10-04
12:52
Remove the SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option from default builds. This avoids problems that might arise when users type parentheses in search boxes that use FTS. ... (check-in: 9dc49e61 user: drh tags: trunk)
07:36
Avoided a crash in Fossil > Admin > Notification > Send Announcement triggered when no subscribers are set up, causing it to fail on Submit if you tell it to send the announcement to all subscribers. The check also guards against sending such things before email alerts are set up. In either case, the "Send Announcmeent" page gives an error pointing you to the docs, rather than a form that cannot be successfully submitted. ... (check-in: ea646955 user: wyoung tags: trunk)
07:13
Fixed an off-by-one error affecting "fossil grep" when the final argument was left off. ... (check-in: f6502e8c user: wyoung tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/alerts.c.
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720






2721

2722
2723
2724
2725
2726
2727
2728
    return;
  }
  if( fossil_strcmp(P("name"),"test1")==0 ){
    /* Visit the /announce/test1 page to see the CGI variables */
    @ <p style='border: 1px solid black; padding: 1ex;'>
    cgi_print_all(0, 0);
    @ </p>
  }else
  if( P("submit")!=0 && cgi_csrf_safe(1) ){
    char *zErr = alert_send_announcement();
    style_header("Announcement Sent");
    if( zErr ){
      @ <h1>Internal Error</h1>
      @ <p>The following error was reported by the system:
      @ <blockquote><pre>
      @ %h(zErr)
      @ </pre></blockquote>
    }else{
      @ <p>The announcement has been sent.</p>
    }
    style_footer();    
    return;






  }

  style_header("Send Announcement");
  @ <form method="POST">
  @ <table class="subscribe">
  if( g.perm.Admin ){
    int aa = PB("aa");
    int all = PB("all");
    const char *aack = aa ? "checked" : "";







<
|













>
>
>
>
>
>

>







2699
2700
2701
2702
2703
2704
2705

2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
    return;
  }
  if( fossil_strcmp(P("name"),"test1")==0 ){
    /* Visit the /announce/test1 page to see the CGI variables */
    @ <p style='border: 1px solid black; padding: 1ex;'>
    cgi_print_all(0, 0);
    @ </p>

  }else if( P("submit")!=0 && cgi_csrf_safe(1) ){
    char *zErr = alert_send_announcement();
    style_header("Announcement Sent");
    if( zErr ){
      @ <h1>Internal Error</h1>
      @ <p>The following error was reported by the system:
      @ <blockquote><pre>
      @ %h(zErr)
      @ </pre></blockquote>
    }else{
      @ <p>The announcement has been sent.</p>
    }
    style_footer();    
    return;
  } else if( !alert_enabled() ){
    style_header("Cannot Send Announcement");
    @ <p>Either you have no subscribers yet, or email alerts are not yet
    @ <a href="https://fossil-scm.org/fossil/doc/trunk/www/alerts.md">set up</a>
    @ for this repository.</p>
    return;
  }

  style_header("Send Announcement");
  @ <form method="POST">
  @ <table class="subscribe">
  if( g.perm.Admin ){
    int aa = PB("aa");
    int all = PB("all");
    const char *aack = aa ? "checked" : "";