Fossil SCM

Typo fix and EOL whitespace cleanups. No functional changes.

stephan 2024-01-21 21:57 trunk
Commit e0576ea919cd8052a00c849f1ee2f5325d18a4c6aa89752d15d5e00bd8730f29
2 files changed +18 -18 +18 -18
+18 -18
--- src/alerts.c
+++ src/alerts.c
@@ -87,11 +87,11 @@
8787
@ eventid TEXT PRIMARY KEY, -- Object that changed
8888
@ sentSep BOOLEAN DEFAULT false, -- individual alert sent
8989
@ sentDigest BOOLEAN DEFAULT false, -- digest alert sent
9090
@ sentMod BOOLEAN DEFAULT false -- pending moderation alert sent
9191
@ ) WITHOUT ROWID;
92
-@
92
+@
9393
@ -- Obsolete table. No longer used.
9494
@ DROP TABLE IF EXISTS repository.alert_bounce;
9595
;
9696
9797
/*
@@ -876,11 +876,11 @@
876876
int nTo = 0;
877877
char **azTo = 0;
878878
Blob v;
879879
char *z, *zAddr;
880880
int i;
881
-
881
+
882882
email_header_value(pMsg, "to", &v);
883883
z = blob_str(&v);
884884
for(i=0; z[i]; i++){
885885
if( z[i]=='<' && (zAddr = email_copy_addr(&z[i+1],'>'))!=0 ){
886886
azTo = fossil_realloc(azTo, sizeof(azTo[0])*(nTo+1) );
@@ -890,11 +890,11 @@
890890
*pnTo = nTo;
891891
*pazTo = azTo;
892892
}
893893
894894
/*
895
-** Free a list of To addresses obtained from a prior call to
895
+** Free a list of To addresses obtained from a prior call to
896896
** email_header_to()
897897
*/
898898
void email_header_to_free(int nTo, char **azTo){
899899
int i;
900900
for(i=0; i<nTo; i++) fossil_free(azTo[i]);
@@ -916,11 +916,11 @@
916916
** Message-Id:
917917
** Content-Type:
918918
** Content-Transfer-Encoding:
919919
** MIME-Version:
920920
** Sender:
921
-**
921
+**
922922
** The caller maintains ownership of the input Blobs. This routine will
923923
** read the Blobs and send them onward to the email system, but it will
924924
** not free them.
925925
**
926926
** The Message-Id: field is added if there is not already a Message-Id
@@ -929,11 +929,11 @@
929929
** If the zFromName argument is not NULL, then it should be a human-readable
930930
** name or handle for the sender. In that case, "From:" becomes a made-up
931931
** email address based on a hash of zFromName and the domain of email-self,
932932
** and an additional "Sender:" field is inserted with the email-self
933933
** address. Downstream software might use the Sender header to set
934
-** the envelope-from address of the email. If zFromName is a NULL pointer,
934
+** the envelope-from address of the email. If zFromName is a NULL pointer,
935935
** then the "From:" is set to the email-self value and Sender is
936936
** omitted.
937937
*/
938938
void alert_send(
939939
AlertSender *p, /* Emailer context */
@@ -1046,11 +1046,11 @@
10461046
** a long-running server and will not be sending email notifications,
10471047
** then leave this setting blank.
10481048
*/
10491049
/*
10501050
** SETTING: email-admin width=40
1051
-** This is the email address for the human administrator for the system.
1051
+** This is the email address for the human administrator for the system.
10521052
** Abuse and trouble reports and password reset requests are send here.
10531053
*/
10541054
/*
10551055
** SETTING: email-subname width=16
10561056
** This is a short name used to identifies the repository in the Subject:
@@ -1081,19 +1081,19 @@
10811081
**
10821082
** email-renew-warning is the time (in days since 1970-01-01) when the
10831083
** last batch of "your subscription is about to expire" emails were
10841084
** sent out.
10851085
**
1086
-** email-renew-cutoff is normally 7 days behind email-renew-warning.
1086
+** email-renew-cutoff is normally 7 days behind email-renew-warning.
10871087
*/
10881088
/*
10891089
** SETTING: email-send-method width=5 default=off sensitive
10901090
** Determine the method used to send email. Allowed values are
10911091
** "off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
10921092
** means no email is ever sent. The "relay" value means emails are sent
10931093
** to an Mail Sending Agent using SMTP located at email-send-relayhost.
1094
-** The "pipe" value means email messages are piped into a command
1094
+** The "pipe" value means email messages are piped into a command
10951095
** determined by the email-send-command setting. The "dir" value means
10961096
** emails are written to individual files in a directory determined
10971097
** by the email-send-dir setting. The "db" value means that emails
10981098
** are added to an SQLite database named by the* email-send-db setting.
10991099
** The "stdout" value writes email text to standard output, for debugging.
@@ -1134,11 +1134,11 @@
11341134
*/
11351135
11361136
11371137
/*
11381138
** COMMAND: alerts*
1139
-**
1139
+**
11401140
** Usage: %fossil alerts SUBCOMMAND ARGS...
11411141
**
11421142
** Subcommands:
11431143
**
11441144
** pending Show all pending alerts. Useful for debugging.
@@ -1805,11 +1805,11 @@
18051805
** that constitutes verification of the email address.
18061806
**
18071807
** * The sid= query parameter contains an integer subscriberId.
18081808
** This only works for the administrator. It allows the
18091809
** administrator to edit any subscription.
1810
-**
1810
+**
18111811
** * The user is logged into an account other than "nobody" or
18121812
** "anonymous". In that case the notification settings
18131813
** associated with that account can be edited without needing
18141814
** to know the subscriber code.
18151815
**
@@ -1937,11 +1937,11 @@
19371937
zErr = mprintf("Select this checkbox and press \"Unsubscribe\" again to"
19381938
" unsubscribe");
19391939
}else{
19401940
alert_unsubscribe(sid, 1);
19411941
db_commit_transaction();
1942
- return;
1942
+ return;
19431943
}
19441944
}
19451945
style_set_current_feature("alerts");
19461946
style_header("Update Subscription");
19471947
db_prepare(&q,
@@ -2198,11 +2198,11 @@
21982198
21992199
22002200
/* This is the message that gets sent to describe how to change
22012201
** or modify a subscription
22022202
*/
2203
-static const char zUnsubMsg[] =
2203
+static const char zUnsubMsg[] =
22042204
@ To changes your subscription settings at %s visit this link:
22052205
@
22062206
@ %s/alerts/%s
22072207
@
22082208
@ To completely unsubscribe from %s, visit the following link:
@@ -2243,13 +2243,13 @@
22432243
int sid = 0;
22442244
22452245
if( zName==0 ) zName = P("scode");
22462246
22472247
/* If a valid subscriber code is supplied, then either present the user
2248
- ** with a comformation, or if already confirmed, unsubscribe immediately.
2248
+ ** with a confirmation, or if already confirmed, unsubscribe immediately.
22492249
*/
2250
- if( zName
2250
+ if( zName
22512251
&& (sid = db_int(0, "SELECT subscriberId FROM subscriber"
22522252
" WHERE subscriberCode=hextoblob(%Q)", zName))!=0
22532253
){
22542254
char *zUnsubName = mprintf("confirm%04x", sid);
22552255
if( P(zUnsubName)!=0 ){
@@ -2334,11 +2334,11 @@
23342334
@ unsubscribe and/or modify your subscription settings</p>
23352335
}
23362336
alert_sender_free(pSender);
23372337
style_finish_page();
23382338
return;
2339
- }
2339
+ }
23402340
23412341
/* Non-logged-in users have to enter an email address to which is
23422342
** sent a message containing the unsubscribe link.
23432343
*/
23442344
style_header("Unsubscribe Request");
@@ -2743,11 +2743,11 @@
27432743
if( p->needMod ){
27442744
blob_appendf(&p->hdr, "Subject: %s Pending Moderation: %s\r\n",
27452745
zSub, zTitle);
27462746
}else{
27472747
blob_appendf(&p->hdr, "Subject: %s %s\r\n", zSub, zTitle);
2748
- blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
2748
+ blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
27492749
zUuid, alert_hostname(zFrom));
27502750
zIrt = db_column_text(&q, 4);
27512751
if( zIrt && zIrt[0] ){
27522752
blob_appendf(&p->hdr, "In-Reply-To: <%.32s@%s>\r\n",
27532753
zIrt, alert_hostname(zFrom));
@@ -3252,11 +3252,11 @@
32523252
);
32533253
while( db_step(&q)==SQLITE_ROW ){
32543254
Blob hdr, body;
32553255
blob_init(&hdr, 0, 0);
32563256
blob_init(&body, 0, 0);
3257
- alert_renewal_msg(&hdr, &body,
3257
+ alert_renewal_msg(&hdr, &body,
32583258
db_column_text(&q,0),
32593259
db_column_int(&q,1),
32603260
db_column_text(&q,2),
32613261
db_column_text(&q,3),
32623262
zRepoName, zUrl);
@@ -3322,11 +3322,11 @@
33223322
style_header("Outbound Email Disabled");
33233323
@ <p>Outbound email is disabled on this repository
33243324
style_finish_page();
33253325
return;
33263326
}
3327
- if( P("submit")!=0
3327
+ if( P("submit")!=0
33283328
&& P("subject")!=0
33293329
&& P("msg")!=0
33303330
&& P("from")!=0
33313331
&& cgi_csrf_safe(2)
33323332
&& captcha_is_correct(0)
33333333
--- src/alerts.c
+++ src/alerts.c
@@ -87,11 +87,11 @@
87 @ eventid TEXT PRIMARY KEY, -- Object that changed
88 @ sentSep BOOLEAN DEFAULT false, -- individual alert sent
89 @ sentDigest BOOLEAN DEFAULT false, -- digest alert sent
90 @ sentMod BOOLEAN DEFAULT false -- pending moderation alert sent
91 @ ) WITHOUT ROWID;
92 @
93 @ -- Obsolete table. No longer used.
94 @ DROP TABLE IF EXISTS repository.alert_bounce;
95 ;
96
97 /*
@@ -876,11 +876,11 @@
876 int nTo = 0;
877 char **azTo = 0;
878 Blob v;
879 char *z, *zAddr;
880 int i;
881
882 email_header_value(pMsg, "to", &v);
883 z = blob_str(&v);
884 for(i=0; z[i]; i++){
885 if( z[i]=='<' && (zAddr = email_copy_addr(&z[i+1],'>'))!=0 ){
886 azTo = fossil_realloc(azTo, sizeof(azTo[0])*(nTo+1) );
@@ -890,11 +890,11 @@
890 *pnTo = nTo;
891 *pazTo = azTo;
892 }
893
894 /*
895 ** Free a list of To addresses obtained from a prior call to
896 ** email_header_to()
897 */
898 void email_header_to_free(int nTo, char **azTo){
899 int i;
900 for(i=0; i<nTo; i++) fossil_free(azTo[i]);
@@ -916,11 +916,11 @@
916 ** Message-Id:
917 ** Content-Type:
918 ** Content-Transfer-Encoding:
919 ** MIME-Version:
920 ** Sender:
921 **
922 ** The caller maintains ownership of the input Blobs. This routine will
923 ** read the Blobs and send them onward to the email system, but it will
924 ** not free them.
925 **
926 ** The Message-Id: field is added if there is not already a Message-Id
@@ -929,11 +929,11 @@
929 ** If the zFromName argument is not NULL, then it should be a human-readable
930 ** name or handle for the sender. In that case, "From:" becomes a made-up
931 ** email address based on a hash of zFromName and the domain of email-self,
932 ** and an additional "Sender:" field is inserted with the email-self
933 ** address. Downstream software might use the Sender header to set
934 ** the envelope-from address of the email. If zFromName is a NULL pointer,
935 ** then the "From:" is set to the email-self value and Sender is
936 ** omitted.
937 */
938 void alert_send(
939 AlertSender *p, /* Emailer context */
@@ -1046,11 +1046,11 @@
1046 ** a long-running server and will not be sending email notifications,
1047 ** then leave this setting blank.
1048 */
1049 /*
1050 ** SETTING: email-admin width=40
1051 ** This is the email address for the human administrator for the system.
1052 ** Abuse and trouble reports and password reset requests are send here.
1053 */
1054 /*
1055 ** SETTING: email-subname width=16
1056 ** This is a short name used to identifies the repository in the Subject:
@@ -1081,19 +1081,19 @@
1081 **
1082 ** email-renew-warning is the time (in days since 1970-01-01) when the
1083 ** last batch of "your subscription is about to expire" emails were
1084 ** sent out.
1085 **
1086 ** email-renew-cutoff is normally 7 days behind email-renew-warning.
1087 */
1088 /*
1089 ** SETTING: email-send-method width=5 default=off sensitive
1090 ** Determine the method used to send email. Allowed values are
1091 ** "off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
1092 ** means no email is ever sent. The "relay" value means emails are sent
1093 ** to an Mail Sending Agent using SMTP located at email-send-relayhost.
1094 ** The "pipe" value means email messages are piped into a command
1095 ** determined by the email-send-command setting. The "dir" value means
1096 ** emails are written to individual files in a directory determined
1097 ** by the email-send-dir setting. The "db" value means that emails
1098 ** are added to an SQLite database named by the* email-send-db setting.
1099 ** The "stdout" value writes email text to standard output, for debugging.
@@ -1134,11 +1134,11 @@
1134 */
1135
1136
1137 /*
1138 ** COMMAND: alerts*
1139 **
1140 ** Usage: %fossil alerts SUBCOMMAND ARGS...
1141 **
1142 ** Subcommands:
1143 **
1144 ** pending Show all pending alerts. Useful for debugging.
@@ -1805,11 +1805,11 @@
1805 ** that constitutes verification of the email address.
1806 **
1807 ** * The sid= query parameter contains an integer subscriberId.
1808 ** This only works for the administrator. It allows the
1809 ** administrator to edit any subscription.
1810 **
1811 ** * The user is logged into an account other than "nobody" or
1812 ** "anonymous". In that case the notification settings
1813 ** associated with that account can be edited without needing
1814 ** to know the subscriber code.
1815 **
@@ -1937,11 +1937,11 @@
1937 zErr = mprintf("Select this checkbox and press \"Unsubscribe\" again to"
1938 " unsubscribe");
1939 }else{
1940 alert_unsubscribe(sid, 1);
1941 db_commit_transaction();
1942 return;
1943 }
1944 }
1945 style_set_current_feature("alerts");
1946 style_header("Update Subscription");
1947 db_prepare(&q,
@@ -2198,11 +2198,11 @@
2198
2199
2200 /* This is the message that gets sent to describe how to change
2201 ** or modify a subscription
2202 */
2203 static const char zUnsubMsg[] =
2204 @ To changes your subscription settings at %s visit this link:
2205 @
2206 @ %s/alerts/%s
2207 @
2208 @ To completely unsubscribe from %s, visit the following link:
@@ -2243,13 +2243,13 @@
2243 int sid = 0;
2244
2245 if( zName==0 ) zName = P("scode");
2246
2247 /* If a valid subscriber code is supplied, then either present the user
2248 ** with a comformation, or if already confirmed, unsubscribe immediately.
2249 */
2250 if( zName
2251 && (sid = db_int(0, "SELECT subscriberId FROM subscriber"
2252 " WHERE subscriberCode=hextoblob(%Q)", zName))!=0
2253 ){
2254 char *zUnsubName = mprintf("confirm%04x", sid);
2255 if( P(zUnsubName)!=0 ){
@@ -2334,11 +2334,11 @@
2334 @ unsubscribe and/or modify your subscription settings</p>
2335 }
2336 alert_sender_free(pSender);
2337 style_finish_page();
2338 return;
2339 }
2340
2341 /* Non-logged-in users have to enter an email address to which is
2342 ** sent a message containing the unsubscribe link.
2343 */
2344 style_header("Unsubscribe Request");
@@ -2743,11 +2743,11 @@
2743 if( p->needMod ){
2744 blob_appendf(&p->hdr, "Subject: %s Pending Moderation: %s\r\n",
2745 zSub, zTitle);
2746 }else{
2747 blob_appendf(&p->hdr, "Subject: %s %s\r\n", zSub, zTitle);
2748 blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
2749 zUuid, alert_hostname(zFrom));
2750 zIrt = db_column_text(&q, 4);
2751 if( zIrt && zIrt[0] ){
2752 blob_appendf(&p->hdr, "In-Reply-To: <%.32s@%s>\r\n",
2753 zIrt, alert_hostname(zFrom));
@@ -3252,11 +3252,11 @@
3252 );
3253 while( db_step(&q)==SQLITE_ROW ){
3254 Blob hdr, body;
3255 blob_init(&hdr, 0, 0);
3256 blob_init(&body, 0, 0);
3257 alert_renewal_msg(&hdr, &body,
3258 db_column_text(&q,0),
3259 db_column_int(&q,1),
3260 db_column_text(&q,2),
3261 db_column_text(&q,3),
3262 zRepoName, zUrl);
@@ -3322,11 +3322,11 @@
3322 style_header("Outbound Email Disabled");
3323 @ <p>Outbound email is disabled on this repository
3324 style_finish_page();
3325 return;
3326 }
3327 if( P("submit")!=0
3328 && P("subject")!=0
3329 && P("msg")!=0
3330 && P("from")!=0
3331 && cgi_csrf_safe(2)
3332 && captcha_is_correct(0)
3333
--- src/alerts.c
+++ src/alerts.c
@@ -87,11 +87,11 @@
87 @ eventid TEXT PRIMARY KEY, -- Object that changed
88 @ sentSep BOOLEAN DEFAULT false, -- individual alert sent
89 @ sentDigest BOOLEAN DEFAULT false, -- digest alert sent
90 @ sentMod BOOLEAN DEFAULT false -- pending moderation alert sent
91 @ ) WITHOUT ROWID;
92 @
93 @ -- Obsolete table. No longer used.
94 @ DROP TABLE IF EXISTS repository.alert_bounce;
95 ;
96
97 /*
@@ -876,11 +876,11 @@
876 int nTo = 0;
877 char **azTo = 0;
878 Blob v;
879 char *z, *zAddr;
880 int i;
881
882 email_header_value(pMsg, "to", &v);
883 z = blob_str(&v);
884 for(i=0; z[i]; i++){
885 if( z[i]=='<' && (zAddr = email_copy_addr(&z[i+1],'>'))!=0 ){
886 azTo = fossil_realloc(azTo, sizeof(azTo[0])*(nTo+1) );
@@ -890,11 +890,11 @@
890 *pnTo = nTo;
891 *pazTo = azTo;
892 }
893
894 /*
895 ** Free a list of To addresses obtained from a prior call to
896 ** email_header_to()
897 */
898 void email_header_to_free(int nTo, char **azTo){
899 int i;
900 for(i=0; i<nTo; i++) fossil_free(azTo[i]);
@@ -916,11 +916,11 @@
916 ** Message-Id:
917 ** Content-Type:
918 ** Content-Transfer-Encoding:
919 ** MIME-Version:
920 ** Sender:
921 **
922 ** The caller maintains ownership of the input Blobs. This routine will
923 ** read the Blobs and send them onward to the email system, but it will
924 ** not free them.
925 **
926 ** The Message-Id: field is added if there is not already a Message-Id
@@ -929,11 +929,11 @@
929 ** If the zFromName argument is not NULL, then it should be a human-readable
930 ** name or handle for the sender. In that case, "From:" becomes a made-up
931 ** email address based on a hash of zFromName and the domain of email-self,
932 ** and an additional "Sender:" field is inserted with the email-self
933 ** address. Downstream software might use the Sender header to set
934 ** the envelope-from address of the email. If zFromName is a NULL pointer,
935 ** then the "From:" is set to the email-self value and Sender is
936 ** omitted.
937 */
938 void alert_send(
939 AlertSender *p, /* Emailer context */
@@ -1046,11 +1046,11 @@
1046 ** a long-running server and will not be sending email notifications,
1047 ** then leave this setting blank.
1048 */
1049 /*
1050 ** SETTING: email-admin width=40
1051 ** This is the email address for the human administrator for the system.
1052 ** Abuse and trouble reports and password reset requests are send here.
1053 */
1054 /*
1055 ** SETTING: email-subname width=16
1056 ** This is a short name used to identifies the repository in the Subject:
@@ -1081,19 +1081,19 @@
1081 **
1082 ** email-renew-warning is the time (in days since 1970-01-01) when the
1083 ** last batch of "your subscription is about to expire" emails were
1084 ** sent out.
1085 **
1086 ** email-renew-cutoff is normally 7 days behind email-renew-warning.
1087 */
1088 /*
1089 ** SETTING: email-send-method width=5 default=off sensitive
1090 ** Determine the method used to send email. Allowed values are
1091 ** "off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
1092 ** means no email is ever sent. The "relay" value means emails are sent
1093 ** to an Mail Sending Agent using SMTP located at email-send-relayhost.
1094 ** The "pipe" value means email messages are piped into a command
1095 ** determined by the email-send-command setting. The "dir" value means
1096 ** emails are written to individual files in a directory determined
1097 ** by the email-send-dir setting. The "db" value means that emails
1098 ** are added to an SQLite database named by the* email-send-db setting.
1099 ** The "stdout" value writes email text to standard output, for debugging.
@@ -1134,11 +1134,11 @@
1134 */
1135
1136
1137 /*
1138 ** COMMAND: alerts*
1139 **
1140 ** Usage: %fossil alerts SUBCOMMAND ARGS...
1141 **
1142 ** Subcommands:
1143 **
1144 ** pending Show all pending alerts. Useful for debugging.
@@ -1805,11 +1805,11 @@
1805 ** that constitutes verification of the email address.
1806 **
1807 ** * The sid= query parameter contains an integer subscriberId.
1808 ** This only works for the administrator. It allows the
1809 ** administrator to edit any subscription.
1810 **
1811 ** * The user is logged into an account other than "nobody" or
1812 ** "anonymous". In that case the notification settings
1813 ** associated with that account can be edited without needing
1814 ** to know the subscriber code.
1815 **
@@ -1937,11 +1937,11 @@
1937 zErr = mprintf("Select this checkbox and press \"Unsubscribe\" again to"
1938 " unsubscribe");
1939 }else{
1940 alert_unsubscribe(sid, 1);
1941 db_commit_transaction();
1942 return;
1943 }
1944 }
1945 style_set_current_feature("alerts");
1946 style_header("Update Subscription");
1947 db_prepare(&q,
@@ -2198,11 +2198,11 @@
2198
2199
2200 /* This is the message that gets sent to describe how to change
2201 ** or modify a subscription
2202 */
2203 static const char zUnsubMsg[] =
2204 @ To changes your subscription settings at %s visit this link:
2205 @
2206 @ %s/alerts/%s
2207 @
2208 @ To completely unsubscribe from %s, visit the following link:
@@ -2243,13 +2243,13 @@
2243 int sid = 0;
2244
2245 if( zName==0 ) zName = P("scode");
2246
2247 /* If a valid subscriber code is supplied, then either present the user
2248 ** with a confirmation, or if already confirmed, unsubscribe immediately.
2249 */
2250 if( zName
2251 && (sid = db_int(0, "SELECT subscriberId FROM subscriber"
2252 " WHERE subscriberCode=hextoblob(%Q)", zName))!=0
2253 ){
2254 char *zUnsubName = mprintf("confirm%04x", sid);
2255 if( P(zUnsubName)!=0 ){
@@ -2334,11 +2334,11 @@
2334 @ unsubscribe and/or modify your subscription settings</p>
2335 }
2336 alert_sender_free(pSender);
2337 style_finish_page();
2338 return;
2339 }
2340
2341 /* Non-logged-in users have to enter an email address to which is
2342 ** sent a message containing the unsubscribe link.
2343 */
2344 style_header("Unsubscribe Request");
@@ -2743,11 +2743,11 @@
2743 if( p->needMod ){
2744 blob_appendf(&p->hdr, "Subject: %s Pending Moderation: %s\r\n",
2745 zSub, zTitle);
2746 }else{
2747 blob_appendf(&p->hdr, "Subject: %s %s\r\n", zSub, zTitle);
2748 blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
2749 zUuid, alert_hostname(zFrom));
2750 zIrt = db_column_text(&q, 4);
2751 if( zIrt && zIrt[0] ){
2752 blob_appendf(&p->hdr, "In-Reply-To: <%.32s@%s>\r\n",
2753 zIrt, alert_hostname(zFrom));
@@ -3252,11 +3252,11 @@
3252 );
3253 while( db_step(&q)==SQLITE_ROW ){
3254 Blob hdr, body;
3255 blob_init(&hdr, 0, 0);
3256 blob_init(&body, 0, 0);
3257 alert_renewal_msg(&hdr, &body,
3258 db_column_text(&q,0),
3259 db_column_int(&q,1),
3260 db_column_text(&q,2),
3261 db_column_text(&q,3),
3262 zRepoName, zUrl);
@@ -3322,11 +3322,11 @@
3322 style_header("Outbound Email Disabled");
3323 @ <p>Outbound email is disabled on this repository
3324 style_finish_page();
3325 return;
3326 }
3327 if( P("submit")!=0
3328 && P("subject")!=0
3329 && P("msg")!=0
3330 && P("from")!=0
3331 && cgi_csrf_safe(2)
3332 && captcha_is_correct(0)
3333
+18 -18
--- src/alerts.c
+++ src/alerts.c
@@ -87,11 +87,11 @@
8787
@ eventid TEXT PRIMARY KEY, -- Object that changed
8888
@ sentSep BOOLEAN DEFAULT false, -- individual alert sent
8989
@ sentDigest BOOLEAN DEFAULT false, -- digest alert sent
9090
@ sentMod BOOLEAN DEFAULT false -- pending moderation alert sent
9191
@ ) WITHOUT ROWID;
92
-@
92
+@
9393
@ -- Obsolete table. No longer used.
9494
@ DROP TABLE IF EXISTS repository.alert_bounce;
9595
;
9696
9797
/*
@@ -876,11 +876,11 @@
876876
int nTo = 0;
877877
char **azTo = 0;
878878
Blob v;
879879
char *z, *zAddr;
880880
int i;
881
-
881
+
882882
email_header_value(pMsg, "to", &v);
883883
z = blob_str(&v);
884884
for(i=0; z[i]; i++){
885885
if( z[i]=='<' && (zAddr = email_copy_addr(&z[i+1],'>'))!=0 ){
886886
azTo = fossil_realloc(azTo, sizeof(azTo[0])*(nTo+1) );
@@ -890,11 +890,11 @@
890890
*pnTo = nTo;
891891
*pazTo = azTo;
892892
}
893893
894894
/*
895
-** Free a list of To addresses obtained from a prior call to
895
+** Free a list of To addresses obtained from a prior call to
896896
** email_header_to()
897897
*/
898898
void email_header_to_free(int nTo, char **azTo){
899899
int i;
900900
for(i=0; i<nTo; i++) fossil_free(azTo[i]);
@@ -916,11 +916,11 @@
916916
** Message-Id:
917917
** Content-Type:
918918
** Content-Transfer-Encoding:
919919
** MIME-Version:
920920
** Sender:
921
-**
921
+**
922922
** The caller maintains ownership of the input Blobs. This routine will
923923
** read the Blobs and send them onward to the email system, but it will
924924
** not free them.
925925
**
926926
** The Message-Id: field is added if there is not already a Message-Id
@@ -929,11 +929,11 @@
929929
** If the zFromName argument is not NULL, then it should be a human-readable
930930
** name or handle for the sender. In that case, "From:" becomes a made-up
931931
** email address based on a hash of zFromName and the domain of email-self,
932932
** and an additional "Sender:" field is inserted with the email-self
933933
** address. Downstream software might use the Sender header to set
934
-** the envelope-from address of the email. If zFromName is a NULL pointer,
934
+** the envelope-from address of the email. If zFromName is a NULL pointer,
935935
** then the "From:" is set to the email-self value and Sender is
936936
** omitted.
937937
*/
938938
void alert_send(
939939
AlertSender *p, /* Emailer context */
@@ -1046,11 +1046,11 @@
10461046
** a long-running server and will not be sending email notifications,
10471047
** then leave this setting blank.
10481048
*/
10491049
/*
10501050
** SETTING: email-admin width=40
1051
-** This is the email address for the human administrator for the system.
1051
+** This is the email address for the human administrator for the system.
10521052
** Abuse and trouble reports and password reset requests are send here.
10531053
*/
10541054
/*
10551055
** SETTING: email-subname width=16
10561056
** This is a short name used to identifies the repository in the Subject:
@@ -1081,19 +1081,19 @@
10811081
**
10821082
** email-renew-warning is the time (in days since 1970-01-01) when the
10831083
** last batch of "your subscription is about to expire" emails were
10841084
** sent out.
10851085
**
1086
-** email-renew-cutoff is normally 7 days behind email-renew-warning.
1086
+** email-renew-cutoff is normally 7 days behind email-renew-warning.
10871087
*/
10881088
/*
10891089
** SETTING: email-send-method width=5 default=off sensitive
10901090
** Determine the method used to send email. Allowed values are
10911091
** "off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
10921092
** means no email is ever sent. The "relay" value means emails are sent
10931093
** to an Mail Sending Agent using SMTP located at email-send-relayhost.
1094
-** The "pipe" value means email messages are piped into a command
1094
+** The "pipe" value means email messages are piped into a command
10951095
** determined by the email-send-command setting. The "dir" value means
10961096
** emails are written to individual files in a directory determined
10971097
** by the email-send-dir setting. The "db" value means that emails
10981098
** are added to an SQLite database named by the* email-send-db setting.
10991099
** The "stdout" value writes email text to standard output, for debugging.
@@ -1134,11 +1134,11 @@
11341134
*/
11351135
11361136
11371137
/*
11381138
** COMMAND: alerts*
1139
-**
1139
+**
11401140
** Usage: %fossil alerts SUBCOMMAND ARGS...
11411141
**
11421142
** Subcommands:
11431143
**
11441144
** pending Show all pending alerts. Useful for debugging.
@@ -1805,11 +1805,11 @@
18051805
** that constitutes verification of the email address.
18061806
**
18071807
** * The sid= query parameter contains an integer subscriberId.
18081808
** This only works for the administrator. It allows the
18091809
** administrator to edit any subscription.
1810
-**
1810
+**
18111811
** * The user is logged into an account other than "nobody" or
18121812
** "anonymous". In that case the notification settings
18131813
** associated with that account can be edited without needing
18141814
** to know the subscriber code.
18151815
**
@@ -1937,11 +1937,11 @@
19371937
zErr = mprintf("Select this checkbox and press \"Unsubscribe\" again to"
19381938
" unsubscribe");
19391939
}else{
19401940
alert_unsubscribe(sid, 1);
19411941
db_commit_transaction();
1942
- return;
1942
+ return;
19431943
}
19441944
}
19451945
style_set_current_feature("alerts");
19461946
style_header("Update Subscription");
19471947
db_prepare(&q,
@@ -2198,11 +2198,11 @@
21982198
21992199
22002200
/* This is the message that gets sent to describe how to change
22012201
** or modify a subscription
22022202
*/
2203
-static const char zUnsubMsg[] =
2203
+static const char zUnsubMsg[] =
22042204
@ To changes your subscription settings at %s visit this link:
22052205
@
22062206
@ %s/alerts/%s
22072207
@
22082208
@ To completely unsubscribe from %s, visit the following link:
@@ -2243,13 +2243,13 @@
22432243
int sid = 0;
22442244
22452245
if( zName==0 ) zName = P("scode");
22462246
22472247
/* If a valid subscriber code is supplied, then either present the user
2248
- ** with a comformation, or if already confirmed, unsubscribe immediately.
2248
+ ** with a confirmation, or if already confirmed, unsubscribe immediately.
22492249
*/
2250
- if( zName
2250
+ if( zName
22512251
&& (sid = db_int(0, "SELECT subscriberId FROM subscriber"
22522252
" WHERE subscriberCode=hextoblob(%Q)", zName))!=0
22532253
){
22542254
char *zUnsubName = mprintf("confirm%04x", sid);
22552255
if( P(zUnsubName)!=0 ){
@@ -2334,11 +2334,11 @@
23342334
@ unsubscribe and/or modify your subscription settings</p>
23352335
}
23362336
alert_sender_free(pSender);
23372337
style_finish_page();
23382338
return;
2339
- }
2339
+ }
23402340
23412341
/* Non-logged-in users have to enter an email address to which is
23422342
** sent a message containing the unsubscribe link.
23432343
*/
23442344
style_header("Unsubscribe Request");
@@ -2743,11 +2743,11 @@
27432743
if( p->needMod ){
27442744
blob_appendf(&p->hdr, "Subject: %s Pending Moderation: %s\r\n",
27452745
zSub, zTitle);
27462746
}else{
27472747
blob_appendf(&p->hdr, "Subject: %s %s\r\n", zSub, zTitle);
2748
- blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
2748
+ blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
27492749
zUuid, alert_hostname(zFrom));
27502750
zIrt = db_column_text(&q, 4);
27512751
if( zIrt && zIrt[0] ){
27522752
blob_appendf(&p->hdr, "In-Reply-To: <%.32s@%s>\r\n",
27532753
zIrt, alert_hostname(zFrom));
@@ -3252,11 +3252,11 @@
32523252
);
32533253
while( db_step(&q)==SQLITE_ROW ){
32543254
Blob hdr, body;
32553255
blob_init(&hdr, 0, 0);
32563256
blob_init(&body, 0, 0);
3257
- alert_renewal_msg(&hdr, &body,
3257
+ alert_renewal_msg(&hdr, &body,
32583258
db_column_text(&q,0),
32593259
db_column_int(&q,1),
32603260
db_column_text(&q,2),
32613261
db_column_text(&q,3),
32623262
zRepoName, zUrl);
@@ -3322,11 +3322,11 @@
33223322
style_header("Outbound Email Disabled");
33233323
@ <p>Outbound email is disabled on this repository
33243324
style_finish_page();
33253325
return;
33263326
}
3327
- if( P("submit")!=0
3327
+ if( P("submit")!=0
33283328
&& P("subject")!=0
33293329
&& P("msg")!=0
33303330
&& P("from")!=0
33313331
&& cgi_csrf_safe(2)
33323332
&& captcha_is_correct(0)
33333333
--- src/alerts.c
+++ src/alerts.c
@@ -87,11 +87,11 @@
87 @ eventid TEXT PRIMARY KEY, -- Object that changed
88 @ sentSep BOOLEAN DEFAULT false, -- individual alert sent
89 @ sentDigest BOOLEAN DEFAULT false, -- digest alert sent
90 @ sentMod BOOLEAN DEFAULT false -- pending moderation alert sent
91 @ ) WITHOUT ROWID;
92 @
93 @ -- Obsolete table. No longer used.
94 @ DROP TABLE IF EXISTS repository.alert_bounce;
95 ;
96
97 /*
@@ -876,11 +876,11 @@
876 int nTo = 0;
877 char **azTo = 0;
878 Blob v;
879 char *z, *zAddr;
880 int i;
881
882 email_header_value(pMsg, "to", &v);
883 z = blob_str(&v);
884 for(i=0; z[i]; i++){
885 if( z[i]=='<' && (zAddr = email_copy_addr(&z[i+1],'>'))!=0 ){
886 azTo = fossil_realloc(azTo, sizeof(azTo[0])*(nTo+1) );
@@ -890,11 +890,11 @@
890 *pnTo = nTo;
891 *pazTo = azTo;
892 }
893
894 /*
895 ** Free a list of To addresses obtained from a prior call to
896 ** email_header_to()
897 */
898 void email_header_to_free(int nTo, char **azTo){
899 int i;
900 for(i=0; i<nTo; i++) fossil_free(azTo[i]);
@@ -916,11 +916,11 @@
916 ** Message-Id:
917 ** Content-Type:
918 ** Content-Transfer-Encoding:
919 ** MIME-Version:
920 ** Sender:
921 **
922 ** The caller maintains ownership of the input Blobs. This routine will
923 ** read the Blobs and send them onward to the email system, but it will
924 ** not free them.
925 **
926 ** The Message-Id: field is added if there is not already a Message-Id
@@ -929,11 +929,11 @@
929 ** If the zFromName argument is not NULL, then it should be a human-readable
930 ** name or handle for the sender. In that case, "From:" becomes a made-up
931 ** email address based on a hash of zFromName and the domain of email-self,
932 ** and an additional "Sender:" field is inserted with the email-self
933 ** address. Downstream software might use the Sender header to set
934 ** the envelope-from address of the email. If zFromName is a NULL pointer,
935 ** then the "From:" is set to the email-self value and Sender is
936 ** omitted.
937 */
938 void alert_send(
939 AlertSender *p, /* Emailer context */
@@ -1046,11 +1046,11 @@
1046 ** a long-running server and will not be sending email notifications,
1047 ** then leave this setting blank.
1048 */
1049 /*
1050 ** SETTING: email-admin width=40
1051 ** This is the email address for the human administrator for the system.
1052 ** Abuse and trouble reports and password reset requests are send here.
1053 */
1054 /*
1055 ** SETTING: email-subname width=16
1056 ** This is a short name used to identifies the repository in the Subject:
@@ -1081,19 +1081,19 @@
1081 **
1082 ** email-renew-warning is the time (in days since 1970-01-01) when the
1083 ** last batch of "your subscription is about to expire" emails were
1084 ** sent out.
1085 **
1086 ** email-renew-cutoff is normally 7 days behind email-renew-warning.
1087 */
1088 /*
1089 ** SETTING: email-send-method width=5 default=off sensitive
1090 ** Determine the method used to send email. Allowed values are
1091 ** "off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
1092 ** means no email is ever sent. The "relay" value means emails are sent
1093 ** to an Mail Sending Agent using SMTP located at email-send-relayhost.
1094 ** The "pipe" value means email messages are piped into a command
1095 ** determined by the email-send-command setting. The "dir" value means
1096 ** emails are written to individual files in a directory determined
1097 ** by the email-send-dir setting. The "db" value means that emails
1098 ** are added to an SQLite database named by the* email-send-db setting.
1099 ** The "stdout" value writes email text to standard output, for debugging.
@@ -1134,11 +1134,11 @@
1134 */
1135
1136
1137 /*
1138 ** COMMAND: alerts*
1139 **
1140 ** Usage: %fossil alerts SUBCOMMAND ARGS...
1141 **
1142 ** Subcommands:
1143 **
1144 ** pending Show all pending alerts. Useful for debugging.
@@ -1805,11 +1805,11 @@
1805 ** that constitutes verification of the email address.
1806 **
1807 ** * The sid= query parameter contains an integer subscriberId.
1808 ** This only works for the administrator. It allows the
1809 ** administrator to edit any subscription.
1810 **
1811 ** * The user is logged into an account other than "nobody" or
1812 ** "anonymous". In that case the notification settings
1813 ** associated with that account can be edited without needing
1814 ** to know the subscriber code.
1815 **
@@ -1937,11 +1937,11 @@
1937 zErr = mprintf("Select this checkbox and press \"Unsubscribe\" again to"
1938 " unsubscribe");
1939 }else{
1940 alert_unsubscribe(sid, 1);
1941 db_commit_transaction();
1942 return;
1943 }
1944 }
1945 style_set_current_feature("alerts");
1946 style_header("Update Subscription");
1947 db_prepare(&q,
@@ -2198,11 +2198,11 @@
2198
2199
2200 /* This is the message that gets sent to describe how to change
2201 ** or modify a subscription
2202 */
2203 static const char zUnsubMsg[] =
2204 @ To changes your subscription settings at %s visit this link:
2205 @
2206 @ %s/alerts/%s
2207 @
2208 @ To completely unsubscribe from %s, visit the following link:
@@ -2243,13 +2243,13 @@
2243 int sid = 0;
2244
2245 if( zName==0 ) zName = P("scode");
2246
2247 /* If a valid subscriber code is supplied, then either present the user
2248 ** with a comformation, or if already confirmed, unsubscribe immediately.
2249 */
2250 if( zName
2251 && (sid = db_int(0, "SELECT subscriberId FROM subscriber"
2252 " WHERE subscriberCode=hextoblob(%Q)", zName))!=0
2253 ){
2254 char *zUnsubName = mprintf("confirm%04x", sid);
2255 if( P(zUnsubName)!=0 ){
@@ -2334,11 +2334,11 @@
2334 @ unsubscribe and/or modify your subscription settings</p>
2335 }
2336 alert_sender_free(pSender);
2337 style_finish_page();
2338 return;
2339 }
2340
2341 /* Non-logged-in users have to enter an email address to which is
2342 ** sent a message containing the unsubscribe link.
2343 */
2344 style_header("Unsubscribe Request");
@@ -2743,11 +2743,11 @@
2743 if( p->needMod ){
2744 blob_appendf(&p->hdr, "Subject: %s Pending Moderation: %s\r\n",
2745 zSub, zTitle);
2746 }else{
2747 blob_appendf(&p->hdr, "Subject: %s %s\r\n", zSub, zTitle);
2748 blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
2749 zUuid, alert_hostname(zFrom));
2750 zIrt = db_column_text(&q, 4);
2751 if( zIrt && zIrt[0] ){
2752 blob_appendf(&p->hdr, "In-Reply-To: <%.32s@%s>\r\n",
2753 zIrt, alert_hostname(zFrom));
@@ -3252,11 +3252,11 @@
3252 );
3253 while( db_step(&q)==SQLITE_ROW ){
3254 Blob hdr, body;
3255 blob_init(&hdr, 0, 0);
3256 blob_init(&body, 0, 0);
3257 alert_renewal_msg(&hdr, &body,
3258 db_column_text(&q,0),
3259 db_column_int(&q,1),
3260 db_column_text(&q,2),
3261 db_column_text(&q,3),
3262 zRepoName, zUrl);
@@ -3322,11 +3322,11 @@
3322 style_header("Outbound Email Disabled");
3323 @ <p>Outbound email is disabled on this repository
3324 style_finish_page();
3325 return;
3326 }
3327 if( P("submit")!=0
3328 && P("subject")!=0
3329 && P("msg")!=0
3330 && P("from")!=0
3331 && cgi_csrf_safe(2)
3332 && captcha_is_correct(0)
3333
--- src/alerts.c
+++ src/alerts.c
@@ -87,11 +87,11 @@
87 @ eventid TEXT PRIMARY KEY, -- Object that changed
88 @ sentSep BOOLEAN DEFAULT false, -- individual alert sent
89 @ sentDigest BOOLEAN DEFAULT false, -- digest alert sent
90 @ sentMod BOOLEAN DEFAULT false -- pending moderation alert sent
91 @ ) WITHOUT ROWID;
92 @
93 @ -- Obsolete table. No longer used.
94 @ DROP TABLE IF EXISTS repository.alert_bounce;
95 ;
96
97 /*
@@ -876,11 +876,11 @@
876 int nTo = 0;
877 char **azTo = 0;
878 Blob v;
879 char *z, *zAddr;
880 int i;
881
882 email_header_value(pMsg, "to", &v);
883 z = blob_str(&v);
884 for(i=0; z[i]; i++){
885 if( z[i]=='<' && (zAddr = email_copy_addr(&z[i+1],'>'))!=0 ){
886 azTo = fossil_realloc(azTo, sizeof(azTo[0])*(nTo+1) );
@@ -890,11 +890,11 @@
890 *pnTo = nTo;
891 *pazTo = azTo;
892 }
893
894 /*
895 ** Free a list of To addresses obtained from a prior call to
896 ** email_header_to()
897 */
898 void email_header_to_free(int nTo, char **azTo){
899 int i;
900 for(i=0; i<nTo; i++) fossil_free(azTo[i]);
@@ -916,11 +916,11 @@
916 ** Message-Id:
917 ** Content-Type:
918 ** Content-Transfer-Encoding:
919 ** MIME-Version:
920 ** Sender:
921 **
922 ** The caller maintains ownership of the input Blobs. This routine will
923 ** read the Blobs and send them onward to the email system, but it will
924 ** not free them.
925 **
926 ** The Message-Id: field is added if there is not already a Message-Id
@@ -929,11 +929,11 @@
929 ** If the zFromName argument is not NULL, then it should be a human-readable
930 ** name or handle for the sender. In that case, "From:" becomes a made-up
931 ** email address based on a hash of zFromName and the domain of email-self,
932 ** and an additional "Sender:" field is inserted with the email-self
933 ** address. Downstream software might use the Sender header to set
934 ** the envelope-from address of the email. If zFromName is a NULL pointer,
935 ** then the "From:" is set to the email-self value and Sender is
936 ** omitted.
937 */
938 void alert_send(
939 AlertSender *p, /* Emailer context */
@@ -1046,11 +1046,11 @@
1046 ** a long-running server and will not be sending email notifications,
1047 ** then leave this setting blank.
1048 */
1049 /*
1050 ** SETTING: email-admin width=40
1051 ** This is the email address for the human administrator for the system.
1052 ** Abuse and trouble reports and password reset requests are send here.
1053 */
1054 /*
1055 ** SETTING: email-subname width=16
1056 ** This is a short name used to identifies the repository in the Subject:
@@ -1081,19 +1081,19 @@
1081 **
1082 ** email-renew-warning is the time (in days since 1970-01-01) when the
1083 ** last batch of "your subscription is about to expire" emails were
1084 ** sent out.
1085 **
1086 ** email-renew-cutoff is normally 7 days behind email-renew-warning.
1087 */
1088 /*
1089 ** SETTING: email-send-method width=5 default=off sensitive
1090 ** Determine the method used to send email. Allowed values are
1091 ** "off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
1092 ** means no email is ever sent. The "relay" value means emails are sent
1093 ** to an Mail Sending Agent using SMTP located at email-send-relayhost.
1094 ** The "pipe" value means email messages are piped into a command
1095 ** determined by the email-send-command setting. The "dir" value means
1096 ** emails are written to individual files in a directory determined
1097 ** by the email-send-dir setting. The "db" value means that emails
1098 ** are added to an SQLite database named by the* email-send-db setting.
1099 ** The "stdout" value writes email text to standard output, for debugging.
@@ -1134,11 +1134,11 @@
1134 */
1135
1136
1137 /*
1138 ** COMMAND: alerts*
1139 **
1140 ** Usage: %fossil alerts SUBCOMMAND ARGS...
1141 **
1142 ** Subcommands:
1143 **
1144 ** pending Show all pending alerts. Useful for debugging.
@@ -1805,11 +1805,11 @@
1805 ** that constitutes verification of the email address.
1806 **
1807 ** * The sid= query parameter contains an integer subscriberId.
1808 ** This only works for the administrator. It allows the
1809 ** administrator to edit any subscription.
1810 **
1811 ** * The user is logged into an account other than "nobody" or
1812 ** "anonymous". In that case the notification settings
1813 ** associated with that account can be edited without needing
1814 ** to know the subscriber code.
1815 **
@@ -1937,11 +1937,11 @@
1937 zErr = mprintf("Select this checkbox and press \"Unsubscribe\" again to"
1938 " unsubscribe");
1939 }else{
1940 alert_unsubscribe(sid, 1);
1941 db_commit_transaction();
1942 return;
1943 }
1944 }
1945 style_set_current_feature("alerts");
1946 style_header("Update Subscription");
1947 db_prepare(&q,
@@ -2198,11 +2198,11 @@
2198
2199
2200 /* This is the message that gets sent to describe how to change
2201 ** or modify a subscription
2202 */
2203 static const char zUnsubMsg[] =
2204 @ To changes your subscription settings at %s visit this link:
2205 @
2206 @ %s/alerts/%s
2207 @
2208 @ To completely unsubscribe from %s, visit the following link:
@@ -2243,13 +2243,13 @@
2243 int sid = 0;
2244
2245 if( zName==0 ) zName = P("scode");
2246
2247 /* If a valid subscriber code is supplied, then either present the user
2248 ** with a confirmation, or if already confirmed, unsubscribe immediately.
2249 */
2250 if( zName
2251 && (sid = db_int(0, "SELECT subscriberId FROM subscriber"
2252 " WHERE subscriberCode=hextoblob(%Q)", zName))!=0
2253 ){
2254 char *zUnsubName = mprintf("confirm%04x", sid);
2255 if( P(zUnsubName)!=0 ){
@@ -2334,11 +2334,11 @@
2334 @ unsubscribe and/or modify your subscription settings</p>
2335 }
2336 alert_sender_free(pSender);
2337 style_finish_page();
2338 return;
2339 }
2340
2341 /* Non-logged-in users have to enter an email address to which is
2342 ** sent a message containing the unsubscribe link.
2343 */
2344 style_header("Unsubscribe Request");
@@ -2743,11 +2743,11 @@
2743 if( p->needMod ){
2744 blob_appendf(&p->hdr, "Subject: %s Pending Moderation: %s\r\n",
2745 zSub, zTitle);
2746 }else{
2747 blob_appendf(&p->hdr, "Subject: %s %s\r\n", zSub, zTitle);
2748 blob_appendf(&p->hdr, "Message-Id: <%.32s@%s>\r\n",
2749 zUuid, alert_hostname(zFrom));
2750 zIrt = db_column_text(&q, 4);
2751 if( zIrt && zIrt[0] ){
2752 blob_appendf(&p->hdr, "In-Reply-To: <%.32s@%s>\r\n",
2753 zIrt, alert_hostname(zFrom));
@@ -3252,11 +3252,11 @@
3252 );
3253 while( db_step(&q)==SQLITE_ROW ){
3254 Blob hdr, body;
3255 blob_init(&hdr, 0, 0);
3256 blob_init(&body, 0, 0);
3257 alert_renewal_msg(&hdr, &body,
3258 db_column_text(&q,0),
3259 db_column_int(&q,1),
3260 db_column_text(&q,2),
3261 db_column_text(&q,3),
3262 zRepoName, zUrl);
@@ -3322,11 +3322,11 @@
3322 style_header("Outbound Email Disabled");
3323 @ <p>Outbound email is disabled on this repository
3324 style_finish_page();
3325 return;
3326 }
3327 if( P("submit")!=0
3328 && P("subject")!=0
3329 && P("msg")!=0
3330 && P("from")!=0
3331 && cgi_csrf_safe(2)
3332 && captcha_is_correct(0)
3333

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button