Mercurial > noffle
comparison src/post.c @ 494:372f8b55506e noffle
[svn] Apply patch from Jan De Luyck. Add new option 'add-messageid-if-missing',
which optionally postpones adding a message ID to the upstream server.
If this is done, post-locally must be off.
This is to deal with an upstream server troubling Jan. It usually (but
not always) rejects posts with a Noffle message ID.
I have changed Jan's original option of 'add-message-id-if-missing'
for consistency with 'replace-messageid' and added the manual page entry.
See SourceForge feature request 1513395.
author | bears |
---|---|
date | Wed, 12 Jul 2006 20:26:41 +0100 |
parents | 21300895412f |
children |
comparison
equal
deleted
inserted
replaced
493:4d3a1597813a | 494:372f8b55506e |
---|---|
1 /* | 1 /* |
2 post.c | 2 post.c |
3 | 3 |
4 $Id: post.c 517 2003-04-03 17:21:24Z bears $ | 4 $Id: post.c 645 2006-07-12 19:26:41Z bears $ |
5 */ | 5 */ |
6 | 6 |
7 #if HAVE_CONFIG_H | 7 #if HAVE_CONFIG_H |
8 #include <config.h> | 8 #include <config.h> |
9 #endif | 9 #endif |
180 Bool newsgroupsFound, pathFound; | 180 Bool newsgroupsFound, pathFound; |
181 Bool replyToFound, orgFound; | 181 Bool replyToFound, orgFound; |
182 Bool continuation; | 182 Bool continuation; |
183 time_t t; | 183 time_t t; |
184 int sigLines; | 184 int sigLines; |
185 Bool addMsgIdIfMissing; | |
186 Bool processMsgId = TRUE; | |
187 | |
188 addMsgIdIfMissing = Cfg_addMsgIdIfMissing(); | |
185 | 189 |
186 s = new_DynStr( 10000 ); | 190 s = new_DynStr( 10000 ); |
187 article.text = s; | 191 article.text = s; |
188 | 192 |
189 /* RFC says only one of these headers. */ | 193 /* RFC says only one of these headers. */ |
354 /* Ensure Message ID is present and valid */ | 358 /* Ensure Message ID is present and valid */ |
355 if ( article.over.msgId[ 0 ] == '\0' ) | 359 if ( article.over.msgId[ 0 ] == '\0' ) |
356 { | 360 { |
357 Prt_genMsgId( article.over.msgId, article.over.from, "NOFFLE" ); | 361 Prt_genMsgId( article.over.msgId, article.over.from, "NOFFLE" ); |
358 Log_inf( "Adding missing Message-ID '%s'", article.over.msgId ); | 362 Log_inf( "Adding missing Message-ID '%s'", article.over.msgId ); |
363 | |
364 if ( ! addMsgIdIfMissing ) | |
365 processMsgId = FALSE; | |
359 } | 366 } |
360 else if ( ! Prt_isValidMsgId( article.over.msgId ) || Cfg_replaceMsgId() ) | 367 else if ( ! Prt_isValidMsgId( article.over.msgId ) || Cfg_replaceMsgId() ) |
361 { | 368 { |
362 Prt_genMsgId( article.over.msgId, article.over.from, "NOFFLE" ); | 369 Prt_genMsgId( article.over.msgId, article.over.from, "NOFFLE" ); |
363 Log_dbg( LOG_DBG_POST, | 370 Log_dbg( LOG_DBG_POST, |
364 "Replacing Message-ID with '%s'", | 371 "Replacing Message-ID with '%s'", |
365 article.over.msgId ); | 372 article.over.msgId ); |
366 } | 373 } |
367 DynStr_app( s, "Message-ID: " ); | 374 |
368 DynStr_appLn( s, article.over.msgId ); | 375 if ( processMsgId ) |
376 { | |
377 DynStr_app( s, "Message-ID: " ); | |
378 DynStr_appLn( s, article.over.msgId ); | |
379 } | |
380 else | |
381 Log_inf( "Not storing Message-ID '%s' in message.", article.over.msgId ); | |
369 | 382 |
370 /* Ensure Path header */ | 383 /* Ensure Path header */ |
371 if ( ! pathFound ) | 384 if ( ! pathFound ) |
372 { | 385 { |
373 Str path; | 386 Str path; |