Re: attachment stripped
Eric Broch <[email protected]> Mon, 12 Apr 2021 13:44:08 -0600
| Newsgroups | gmane.mail.spam.dspam.user |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============8779592774228225423==
Content-Type: multipart/alternative;
boundary="------------7C6DF94FEB12A159EB095665"
Content-Language: en-US
This is a multi-part message in MIME format.
--------------7C6DF94FEB12A159EB095665
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
dspam-users,
I'm not sure if anyone cares (anymore), but I still use dspam and it
works great.
I found one solution to the truncation of emails when dspamc (dspam
--client) is called (patch below).
When dspam in daemon mode receives a message from dspam client it is
sent to the daemon with dot stuffing/de-stuffing respectively, however,
on return from the daemon to the dspam client the message was not dot
stuffed/de-stuffed.
# cat ../SOURCES/dspam-stuffdot.patch
--- ./src/dspam.c 2012-04-11 12:48:33.000000000 -0600
+++ ./src/dspam.new.c 2021-04-12 13:21:58.919951576 -0600
@@ -103,6 +103,40 @@
#define USE_SMTP (_ds_read_attribute(agent_config,
"DeliveryProto") && !strcmp(_ds_read_attribute(agent_config,
"DeliveryProto"), "SMTP"))
#define LOOKUP(A, B) ((_ds_pref_val(A, "localStore")[0]) ?
_ds_pref_val(A, "localStore") : B)
+buffer * stuff_dot(char * message);
+/*
+** buffer * stuff_dot(char * message);
+**
+** DESCRIPTION
+** Stuff '.' where necessary for SMTP Protocol
+**
+** INPUT ARGUMENTS
+** char * message
+**
+** RETURN VALUES
+** Returns buffer * msg
+**
+** Author
+** Eric C. Broch
+**
+*/
+buffer * stuff_dot(char * message) {
+
+ buffer * msg;
+ int i = 0;
+
+ msg = buffer_create(NULL);
+ while(i<strlen(message)) {
+ if (buffer_ncat(msg,&message[i],1)) return NULL;
+ if (i == strlen(message)-1) break;
+ if ((message[i] == '\n') && (message[i + 1] && message[i + 1] ==
'.')) {
+ if (buffer_cat(msg,".")) return NULL;
+ if (buffer_ncat(msg,&message[++i],1)) return NULL;
+ }
+ i++;
+ }
+ return msg;
+}
int
main (int argc, char *argv[])
@@ -977,7 +1011,18 @@
(result == DSR_ISSPAM) ? "SPAM" : "INNOCENT");
if (mailer_args == NULL) {
- fputs (message, stream);
+ /* calling program: dspamc */
+ if (stream == ATX->sockfd) {
+ /* stuff dots before sending back to dspam client */
+ /* otherwise trunction of email can occur, Eric Broch 04-12-2021 */
+ buffer * msg = stuff_dot(message);
+ fputs(msg->data,stream);
+ buffer_destroy(msg);
+ }
+ /* calling program: dspam */
+ else {
+ fputs(message,stream);
+ }
return 0;
}
--- ./src/client.c 2012-04-11 12:48:33.000000000 -0600
+++ ./src/client.new.c 2021-04-12 13:14:45.152130732 -0600
@@ -228,6 +228,14 @@
exitcode = 99;
}
} else {
+ /* de-stuff dots from server, 04-12-2021, Eric C. Broch, 7 lines */
+ if((line[0] && line[0]=='.') && (line[1] && line[1]=='.')) {
+ size_t i, len = strlen(line);
+ for(i=0;i<len;i++){
+ line[i]=line[i+1];
+ }
+ line[len-1]=0;
+ }
printf("%s\n", line);
}
free(line);
Eric
On 9/3/2014 9:27 PM, Eric Broch wrote:
>
> Hello Ken and Stevan,
>
> I've done some investigation and below you can see the offending line
> in the original email is line 002. Line 001 and line 003 are for
> context. Per Stevan.
>
> 001 has low airflow of 92 cfm for exhaust down low which equates to .4
> cfm/ft2=
> 002 .
> 003 <b>I suggest that this ducting be modified before I return.
> Another low duc=
>
>
> After the message is piped into dspamc it is processed by
> client_process in the file client.c
>
> Before the message is sent to the daemon \r and . are added where
> necessary.
>
> At this point line 002 is stuffed with a . as seen below:
>
> 001 has low airflow of 92 cfm for exhaust down low which equates to .4
> cfm/ft2=
> 002 ..
> 003 <b>I suggest that this ducting be modified before I return.
> Another low duc=
>
>
> The message is then sent to the daemon and received back.
>
> Upon receiving the message back it is truncated after line 001.
>
> When receiving the message back from the daemon, reception of the
> returned message terminates on 1 of 2 conditions: 1) A single line
> with a . or 2) no more data from the daemon. In fact the daemon is
> removing the stuffed '.'.
>
> The while loop responsible for terminating reception of the message
> from the dspam daemon is coded in the following way: while ( line !=
> NULL && strcmp (line, ".") ). I changed this code to while ( line !=
> NULL /* && strcmp (line, ".") */ ) commenting out termination on the
> . and received the full message back, line 002 back in its original
> form:
>
> 001 has low airflow of 92 cfm for exhaust down low which equates to .4
> cfm/ft2=
> 002 .
> 003 <b>I suggest that this ducting be modified before I return.
> Another low duc=
>
>
> Anyway, this is how things stand presently. I'm not sure how the
> daemon works but will investigate that as well.
>
> Eric
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/
>
> _______________________________________________
> Dspam-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspam-user
--------------7C6DF94FEB12A159EB095665
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>dspam-users,<br>
</p>
<p>I'm not sure if anyone cares (anymore), but I still use dspam and
it works great.</p>
<p>I found one solution to the truncation of emails when dspamc
(dspam --client) is called (patch below).</p>
<p>When dspam in daemon mode receives a message from dspam client it
is sent to the daemon with dot stuffing/de-stuffing respectively,
however,<br>
</p>
<p>on return from the daemon to the dspam client the message was not
dot stuffed/de-stuffed.</p>
<p><br>
</p>
<p># cat ../SOURCES/dspam-stuffdot.patch<br>
--- ./src/dspam.c 2012-04-11 12:48:33.000000000 -0600<br>
+++ ./src/dspam.new.c 2021-04-12 13:21:58.919951576 -0600<br>
@@ -103,6 +103,40 @@<br>
#define USE_SMTP (_ds_read_attribute(agent_config,
"DeliveryProto") &&
!strcmp(_ds_read_attribute(agent_config, "DeliveryProto"),
"SMTP"))<br>
#define LOOKUP(A, B) ((_ds_pref_val(A, "localStore")[0]) ?
_ds_pref_val(A, "localStore") : B)<br>
<br>
+buffer * stuff_dot(char * message);<br>
+/*<br>
+** buffer * stuff_dot(char * message);<br>
+**<br>
+** DESCRIPTION<br>
+** Stuff '.' where necessary for SMTP Protocol<br>
+**<br>
+** INPUT ARGUMENTS<br>
+** char * message<br>
+**<br>
+** RETURN VALUES<br>
+** Returns buffer * msg<br>
+**<br>
+** Author<br>
+** Eric C. Broch<br>
+**<br>
+*/<br>
+buffer * stuff_dot(char * message) {<br>
+<br>
+ buffer * msg;<br>
+ int i = 0;<br>
+<br>
+ msg = buffer_create(NULL);<br>
+ while(i<strlen(message)) {<br>
+ if (buffer_ncat(msg,&message[i],1)) return NULL;<br>
+ if (i == strlen(message)-1) break;<br>
+ if ((message[i] == '\n') && (message[i + 1]
&& message[i + 1] == '.')) {<br>
+ if (buffer_cat(msg,".")) return NULL;<br>
+ if (buffer_ncat(msg,&message[++i],1)) return NULL;<br>
+ }<br>
+ i++;<br>
+ }<br>
+ return msg;<br>
+}<br>
<br>
int<br>
main (int argc, char *argv[])<br>
@@ -977,7 +1011,18 @@<br>
(result == DSR_ISSPAM) ? "SPAM" :
"INNOCENT");<br>
<br>
if (mailer_args == NULL) {<br>
- fputs (message, stream);<br>
+ /* calling program: dspamc */<br>
+ if (stream == ATX->sockfd) {<br>
+ /* stuff dots before sending back to dspam client */<br>
+ /* otherwise trunction of email can occur, Eric Broch
04-12-2021 */<br>
+ buffer * msg = stuff_dot(message);<br>
+ fputs(msg->data,stream);<br>
+ buffer_destroy(msg);<br>
+ }<br>
+ /* calling program: dspam */<br>
+ else {<br>
+ fputs(message,stream);<br>
+ }<br>
return 0;<br>
}<br>
<br>
--- ./src/client.c 2012-04-11 12:48:33.000000000 -0600<br>
+++ ./src/client.new.c 2021-04-12 13:14:45.152130732 -0600<br>
@@ -228,6 +228,14 @@<br>
exitcode = 99;<br>
}<br>
} else {<br>
+ /* de-stuff dots from server, 04-12-2021, Eric C. Broch,
7 lines */<br>
+ if((line[0] && line[0]=='.') && (line[1]
&& line[1]=='.')) {<br>
+ size_t i, len = strlen(line);<br>
+ for(i=0;i<len;i++){<br>
+ line[i]=line[i+1];<br>
+ }<br>
+ line[len-1]=0;<br>
+ }<br>
printf("%s\n", line);<br>
}<br>
free(line);<br>
<br>
</p>
<div class="moz-cite-prefix">Eric</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 9/3/2014 9:27 PM, Eric Broch wrote:<br>
</div>
<blockquote type="cite" cite="mid:[email protected]">
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<p class="MsoNormal"
style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="mso-fareast-font-family:"Times New
Roman"">Hello Ken and Stevan, <br>
<br>
I've done some investigation and below you can see the
offending line in the original email is line 002. Line 001 and
line 003 are for context. Per Stevan.<br>
</span><span style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family: "Times New
Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">001 has low airflow of 92 cfm for exhaust
down low which equates to .4 cfm/ft2=</span><span
style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family:"Times New Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">002 .</span><span
style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family:"Times New Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">003 <b>I suggest that this ducting be
modified before I return. Another low duc=</span><span
style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="mso-fareast-font-family:"Times New Roman""><br>
</span>After the message is piped into dspamc it is processed by
client_process in the file client.c</p>
<p class="MsoNormal">Before the message is sent to the daemon \r
and . are added where necessary. </p>
<p class="MsoNormal">At this point line 002 is stuffed with a .
as seen below:</p>
<p class="MsoNormal"
style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">001 has low airflow of 92 cfm for exhaust
down low which equates to .4 cfm/ft2=</span><span
style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family:"Times New Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">002 ..</span><span
style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family:"Times New Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">003 <b>I suggest that this ducting be
modified before I return. Another low duc=</span><span
style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal"><br>
The message is then sent to the daemon and received back.</p>
<p class="MsoNormal">Upon receiving the message back it is
truncated after line 001.</p>
<p class="MsoNormal">When receiving the message back from the
daemon, reception of the returned message terminates on 1 of 2
conditions: 1) A single line with a . or 2) no more data from
the daemon. In fact the daemon is removing the stuffed '.'.</p>
<p class="MsoNormal">The while loop responsible for terminating
reception of the message from the dspam daemon is coded in the
following way: while ( line != NULL && strcmp (line,
".") ). I changed this code to while ( line != NULL /*
&& strcmp (line, ".") */ ) commenting out termination
on the . and received the full message back, line 002 back in
its original form: </p>
<p class="MsoNormal"
style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">001 has low airflow of 92 cfm for exhaust
down low which equates to .4 cfm/ft2=</span><span
style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family:"Times New Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">002 .</span><span
style="font-size:10.0pt;font-family:"Courier
New";mso-fareast-font-family:"Times New Roman""><br>
</span><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman"">003 <b>I suggest that this ducting be
modified before I return. Another low duc=<br>
</span></p>
<p class="MsoNormal"
style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><br>
</p>
<p class="MsoNormal"
style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal">Anyway, this is how things stand presently. I'm not sure
how the daemon works but will investigate that as well. <br>
<br>
</p>
<p class="MsoNormal"
style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal">Eric<br>
<span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
"Courier New";mso-fareast-font-family:"Times
New Roman""></span><span
style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 12">
<meta name="Originator" content="Microsoft Word 12">
<link rel="File-List"
href="file:///C:%5CUsers%5Cebroch%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml">
<link rel="themeData"
href="file:///C:%5CUsers%5Cebroch%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx">
<link rel="colorSchemeMapping"
href="file:///C:%5CUsers%5Cebroch%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]-->
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:10.0pt;
margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;}.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:12.0pt;
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;}.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:10.0pt;
line-height:115%;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]--> <br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
<a class="moz-txt-link-freetext" href="http://tv.slashdot.org/">http://tv.slashdot.org/</a></pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Dspam-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/dspam-user">https://lists.sourceforge.net/lists/listinfo/dspam-user</a>
</pre>
</blockquote>
</body>
</html>
--------------7C6DF94FEB12A159EB095665--
--===============8779592774228225423==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============8779592774228225423==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Dspam-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspam-user
--===============8779592774228225423==--