[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Bug#16072: patch for trailing garbage in kmreaderwin
From:       Wolfgang Rohdewald <WRohdewald () dplanet ! ch>
Date:       2000-11-28 0:48:41
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 27 November 2000 15:30, you (Michael Häckel) wrote:
> > - -  QCString ba(dwstr.c_str(), dwstr.size() + 1);
> > +  len=dwstr.size();
> > +  QByteArray ba(len+1);
> > +  memcpy(ba.data(),dwstr.data(),len);
> > +  ba[len]=0;
> > +  return ba;
> > +}
>
> Das kann meiner Ansicht nach nicht funktionieren, weil die /0 ja nur an
> Text, nicht aber an Binäre Daten angehängt werden soll. Enthält das Mail
> eine Anlage, sollte am Ende eben keine /0 angehängt werden. Ansonsten
> Vergrößern sich Anlagen beim Versenden per e-Mail jeweils um 1 Byte.
>
> >----- +QCString KMMessage::bodyDecoded(void) const
> > +{
> > +  QByteArray raw(bodyDecodedRaw());
> > +  QCString ba(raw.data());
> >    return ba;
> >  }
>
> Nur für den Fall, daß man einen QCString haben will, braucht man die Null.

This is fixed in the new patch, and I cleaned kmmsgpart.cpp. This patch does
work with the current cvsup copy.

This patch activated another latent bug in
kmcomposewin::applyChanges: If I forward and GPG sign a message with 
attachment, this bug removed the last LF of the string END PGP SIGNATURE 
Result: Kpgp::setMessage did not find this string.
    // begin the search for the next '\n' after "-----END PGP"
    index = mess.find("\n",index+13);
    back  = mess.right(mess.length() - index); // index is -1 since LF missing

Result: The text appears twice. Example in Mail "Fwd: Fax..." in attached 
file. The buggy code removed the last char (the LF) by shortening the string 
by 1 char. But the LF was still there - until my patch explicitly puts a HEX 
00 there. I fixed that too.

> PS: Could you send me some mails, where you see trailing garbage?

In attached file kmail bugs. The mails SF1372..., SF1423...

- -- 

mit freundlichen Gruessen
with my best greetings
Wolfgang Rohdewald
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjojAPsACgkQMoa7xU5silrlFwCfU3J67srxJZbA64WWNtfslSRF
FzYAnj4ybvH2dhGnyn105Ei0PY8vTZ/3
=zsz1
-----END PGP SIGNATURE-----

["patch9" (text/x-c++)]

diff -u ./kmcomposewin.cpp ../kmail.wr/kmcomposewin.cpp
--- ./kmcomposewin.cpp	Sat Nov 25 03:35:32 2000
+++ ../kmail.wr/kmcomposewin.cpp	Tue Nov 28 00:13:14 2000
@@ -1123,9 +1123,7 @@
     } else
       body = codec->fromUnicode(str);
 
-    QByteArray bBody(body);
-    bBody.resize(bBody.size() - 1);
-    bodyPart.setBodyEncoded(bBody);
+    bodyPart.setBodyEncoded(body);
 
     mMsg->addBodyPart(&bodyPart);
 
diff -u ./kmmessage.cpp ../kmail.wr/kmmessage.cpp
--- ./kmmessage.cpp	Sun Nov 19 18:31:32 2000
+++ ../kmail.wr/kmmessage.cpp	Tue Nov 28 00:20:48 2000
@@ -1543,12 +1543,12 @@
 
 
 //-----------------------------------------------------------------------------
-QCString KMMessage::bodyDecoded(void) const
+QByteArray KMMessage::bodyDecodedRaw(void) const
 {
   DwString dwsrc, dwstr;
   QString result;
 
-  dwsrc = mMsg->Body().AsString().c_str();
+  dwsrc = mMsg->Body().AsString().data();
   switch (cte())
   {
   case DwMime::kCteBase64:
@@ -1561,10 +1561,22 @@
     dwstr = dwsrc;
     break;
   }
-  // Should probably be returning a QByteArray, if it may contain NUL
 
-  QCString ba(dwstr.c_str(), dwstr.size() + 1);
+  int len=dwstr.size();
+  QByteArray ba(len);
+  memcpy(ba.data(),dwstr.data(),len);
+  return ba;
+}
+
 
+//-----------------------------------------------------------------------------
+QCString KMMessage::bodyDecoded(void) const
+{
+  QByteArray raw(bodyDecodedRaw());
+  int len=raw.size();
+  QCString ba(len+1);
+  memcpy(ba.data(),raw.data(),len);
+  ba[len] = 0;
   return ba;
 }
 
diff -u ./kmmessage.h ../kmail.wr/kmmessage.h
--- ./kmmessage.h	Fri Nov 17 10:17:31 2000
+++ ../kmail.wr/kmmessage.h	Mon Nov 27 18:00:38 2000
@@ -238,6 +238,7 @@
   /** Returns a decoded version of the body from the current content transfer
     encoding. */
   virtual QCString bodyDecoded(void) const;
+  virtual QByteArray bodyDecodedRaw(void) const;
 
   /** Number of body parts the message has. This is one for plain messages
       without any attachment. */
diff -u ./kmmsgpart.cpp ../kmail.wr/kmmsgpart.cpp
--- ./kmmsgpart.cpp	Mon Nov  6 02:34:47 2000
+++ ../kmail.wr/kmmsgpart.cpp	Tue Nov 28 00:36:10 2000
@@ -54,8 +54,10 @@
 void KMMessagePart::setBody(const QString aStr)
 {
   int encoding = contentTransferEncoding();
-
-  mBody = aStr.copy();
+  int len = aStr.length();
+  mBody.truncate(len+1);
+  memcpy(mBody.data(), (const char *)aStr, len);
+  mBody[len] = 0;
 
   if (encoding!=DwMime::kCteQuotedPrintable &&
       encoding!=DwMime::kCteBase64)
@@ -74,7 +76,6 @@
   Bin_MD5Context ctx;
   DwString dwResult, dwSrc;
   QString result;
-  int len;
 
   if (aStr.isEmpty())
     return QString();
@@ -87,7 +88,6 @@
   Bin_MD5Final(digest, &ctx);
   dwSrc = DwString((const char*)digest, 16);
   DwEncodeBase64(dwSrc, dwResult);
-  len = dwResult.size();
   result = QString( dwResult.c_str() );
   result.truncate(22);
   return result;
@@ -98,25 +98,19 @@
 {
   DwString dwResult, dwSrc;
   int encoding = contentTransferEncoding();
-  int len;
-
-  mBodySize = aStr.size();
 
   switch (encoding)
   {
   case DwMime::kCteQuotedPrintable:
-    dwSrc = DwString(aStr.data(), aStr.size());
-    DwEncodeQuotedPrintable(dwSrc, dwResult);
-    len = dwResult.size();
-    mBody.truncate(len);
-    memcpy(mBody.data(), dwResult.c_str(), len);
-    break;
   case DwMime::kCteBase64:
     dwSrc = DwString(aStr.data(), aStr.size());
-    DwEncodeBase64(dwSrc, dwResult);
-    len = dwResult.size();
-    mBody.truncate(len);
-    memcpy(mBody.data(), dwResult.c_str(), len);
+    if (encoding == DwMime::kCteQuotedPrintable)
+      DwEncodeQuotedPrintable(dwSrc, dwResult);
+    else
+      DwEncodeBase64(dwSrc, dwResult);
+    mBodySize = dwResult.size()+1;
+    mBody.truncate(mBodySize);
+    memcpy(mBody.data(), dwResult.c_str(), mBodySize);
     break;
   default:
     kdDebug() << "WARNING -- unknown encoding `" << (const char*)cteStr() << "'. \
Assuming 8bit." << endl; @@ -124,8 +118,10 @@
   case DwMime::kCte8bit:
   case DwMime::kCteBinary:
     mBody.duplicate( aStr );
+    mBodySize = aStr.size();
     break;
   }
+  mBody[mBodySize-1] = 0;
 }
 
 
@@ -140,18 +136,15 @@
   switch (encoding)
   {
   case DwMime::kCteQuotedPrintable:
-    dwSrc = DwString(mBody.data(), mBody.size());
-    DwDecodeQuotedPrintable(dwSrc, dwResult);
-    len = dwResult.size();
-    result.resize(len);
-    memcpy((void*)result.data(), (void*)dwResult.c_str(), len);
-    break;
   case DwMime::kCteBase64:
     dwSrc = DwString(mBody.data(), mBody.size());
-    DwDecodeBase64(dwSrc, dwResult);
-    len = dwResult.size();
+    if (encoding == DwMime::kCteQuotedPrintable)
+      DwDecodeQuotedPrintable(dwSrc, dwResult);
+    else
+      DwDecodeBase64(dwSrc, dwResult);
+    len = dwResult.size()+1;
     result.resize(len);
-    memcpy((void*)result.data(), (void*)dwResult.c_str(), len);
+    memcpy(result.data(), dwResult.c_str(), len);
     break;
   default:
     kdDebug() << "WARNING -- unknown encoding `" << (const char*)cteStr() << "'. \
Assuming 8bit." << endl; @@ -161,6 +154,7 @@
     result.duplicate( mBody );
     break;
   }
+  result[result.size()-1] = 0;
 
   return result;
 }
diff -u ./kmmsgpart.h ../kmail.wr/kmmsgpart.h
--- ./kmmsgpart.h	Sat Oct  7 22:23:59 2000
+++ ../kmail.wr/kmmsgpart.h	Mon Nov 27 21:17:22 2000
@@ -97,7 +97,10 @@
   QString mCte;
   QString mContentDescription;
   QString mContentDisposition;
-  QCString mBody;
+  QByteArray mBody;  // keep it null terminated since some callers
+                     // misuse it as a QCString. Really the callers
+                     // should be fixed like in kmreaderwin.cpp.
+                     // mBody should not be QCString since it can be binary.
   QString mName;
   QString mCharset;
   int mBodySize;
diff -u ./kmreaderwin.cpp ../kmail.wr/kmreaderwin.cpp
--- ./kmreaderwin.cpp	Fri Nov 17 21:49:51 2000
+++ ../kmail.wr/kmreaderwin.cpp	Tue Nov 28 00:25:57 2000
@@ -637,8 +637,6 @@
 	if ((type == "") || (stricmp(type, "text")==0))
 	{
 	  str = msgPart.bodyDecoded();
-	  str.resize( str.count() + 1 );
-	  str.at( str.count() - 1 ) = '\0';
 	  QCString cstr;
 	  cstr.assign(str);
 	  if (i>0)


["kmail bugs" (message/rfc822)]
From wr@poboxes.com Wed Oct 25 13:20:28 2000
>From wr  Wed Oct 25 13:20:28 2000
Return-Path: <wr@poboxes.com>
Delivered-To: wr@poboxes.com
Received: by poboxes.com (Postfix, from userid 501)
	id 7C36C40469; Wed, 25 Oct 2000 13:20:28 +0200 (CEST)
To: wr@poboxes.com
Subject: Ausdruck von wr                                   
Message-Id: <20001025112028.7C36C40469@poboxes.com>
Date: Wed, 25 Oct 2000 13:20:28 +0200 (CEST)
From: wr@poboxes.com (Wolfgang Rohdewald)
Status: RO
X-Status: O

        Algosoft AG
        Fliederweg 2
        8107 Buchs













                                                         MUSEE DE ZOOLOGIE
                                                         Palais de Rumine
                                                         Riponne 6
                                                         1005  LAUSANNE



        Offerte Nr. 1005

        Kunden-Nr : 1                                    8112 Otelfingen, 25. Oktober 2000

  Menge Bezeichnung                    MW   Artikelnummer          Fr./Stk. Rab.       Total
  ------------------------------------------------------------------------------------------

      1 Abdeckhaube hinten              b  76 106834 0243            23.00  Netto      23.00
                                                                                  ----------






















                                                                                       23.00
        MW=b 7.5% exclue              auf Fr.      23.00                                1.75
                                                                                  ----------
        Auftragswert                                                                   24.75
                                                                                  ==========
































                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



From nuesch@cdk.ch Wed Oct 25 08:23:19 2000
Return-Path: <nuesch@cdk.ch>
Received: from malta.dolphins.ch (malta.dolphins.ch [212.25.25.7])
	by dubb05h05-0.dplanet.ch (8.9.3/8.9.3/2.02dplanet-mx) with ESMTP id IAA20949
	for <WRohdewald@dplanet.ch>; Wed, 25 Oct 2000 08:19:01 +0200
Received: from pc3 (rt.cdk.ch [212.25.29.235])
	by malta.dolphins.ch (8.10.2/8.10.2) with SMTP id e9P6J0g03655
	for <WRohdewald@dplanet.ch>; Wed, 25 Oct 2000 08:19:00 +0200
Message-ID: <000e01c03e4c$11bb5460$cb02a8c0@cdk.ch>
From: =?iso-8859-1?Q?Christa_N=FCesch?= <nuesch@cdk.ch>
To: "W. Rohdewald" <WRohdewald@dplanet.ch>
Subject: SF1372 - Lieferschein Chanez
Date: Wed, 25 Oct 2000 08:23:19 +0200
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_000B_01C03E5C.D508A200"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2615.200
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
Status: R 
X-Status: N

This is a multi-part message in MIME format.


Sie erhalten per Fax die =C4nderungen des Lieferscheins

[Attachment #7 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Sie erhalten per Fax die Änderungen des 
Lieferscheins</FONT></DIV></BODY></HTML>

[Attachment #8 (.)]


mehrere Quittungen nacheinander kommen richtig.
Für eine Rechnung/Nachdruck einer Rechnung muss mann aus dem Programm Fakturierung \
aussteigen und frisch einsteigen damit der Druck richtig kommt. Druckt man \
anschliessend eine zweite Rechnung/Nachdruck kommt diese falsch. Man muss also \
jedesmal wenn man eine Rechnung oder Nachdruck machen will aus dem \
Fakturierungsprogramm austeigen und freisch einsteigen, auch wenn vorgängig eine \
Quittung gedruckt wurde. 


[Attachment #11 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>mehrere Quittungen nacheinander kommen 
richtig.</FONT></DIV>
<DIV><FONT face=Arial size=2>Für eine Rechnung/Nachdruck einer Rechnung muss 
mann aus dem Programm Fakturierung aussteigen und frisch einsteigen damit der 
Druck richtig kommt.&nbsp;Druckt man anschliessend eine zweite 
Rechnung/Nachdruck kommt&nbsp;diese falsch. Man muss also jedesmal wenn man eine 
Rechnung oder Nachdruck machen will aus dem Fakturierungsprogramm austeigen und 
freisch einsteigen, auch wenn vorgängig eine Quittung gedruckt wurde. 
</FONT></DIV></BODY></HTML>

[Attachment #12 (--------------Boundary-00=_1DHPPCUQORCWVGLCK0BE)]

Die beiden Modems sollten jetzt wieder funktionieren.

-----Urspr=FCngliche Nachricht-----
Von:	Wolfgang Rohdewald [SMTP:WRohdewald@dplanet.ch]
Gesendet am:	Dienstag, 24. Oktober 2000 20:00
An:	Giepz, Helge
Betreff:	Re: SF1432 AlgoD
992056 war nicht nachfolgend. 992056 kam am 30.9., und 992055 am 12.10.
Es fehlte auf Ihrer Anlage das Programm FILRCVgO. Warum das verschwunden
ist, ist mir nicht klar.

Ich bin noch nicht fertig, aber nun kommt seit einer Stunde bei beiden =
Modems,
ISDN und analog, nur noch besetzt. Bitte sagen Sie mir Bescheid, wenn =
die
Modems wieder funktionieren.

------ =_NextPart_000_01C03E5B.DFAA4D40
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IhwGAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAsAEAAAEAAAAQAAAAAwAAMAIAAAAL
AA8OAAAAAAIB/w8BAAAASQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAFdSb2hkZXdhbGRAZHBs
YW5ldC5jaABTTVRQAFdSb2hkZXdhbGRAZHBsYW5ldC5jaAAAAAAeAAIwAQAAAAUAAABTTVRQAAAA
AB4AAzABAAAAFgAAAFdSb2hkZXdhbGRAZHBsYW5ldC5jaAAAAAMAFQwBAAAAAwD+DwYAAAAeAAEw
AQAAABgAAAAnV1JvaGRld2FsZEBkcGxhbmV0LmNoJwACAQswAQAAABsAAABTTVRQOldST0hERVdB
TERARFBMQU5FVC5DSAAAAwAAOQAAAAALAEA6AQAAAB4A9l8BAAAAFgAAAFdSb2hkZXdhbGRAZHBs
YW5ldC5jaAAAAAIB918BAAAASQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAFdSb2hkZXdhbGRA
ZHBsYW5ldC5jaABTTVRQAFdSb2hkZXdhbGRAZHBsYW5ldC5jaAAAAAADAP1fAQAAAAMA/18AAAAA
AgH2DwEAAAAEAAAAAAAAAtlaAQSAAQARAAAAQVc6IFNGMTQzMiBBbGdvRAA8BAEFgAMADgAAANAH
CgAZAAgAEAAaAAMALwEBIIADAA4AAADQBwoAGQAIAA8AKwADAD8BAQmAAQAhAAAANTg3RTZEODgx
RjFBMUI0MUI1MDcyOTMyNkZBQzI1MzcAEwcBA5AGANgFAAAhAAAACwACAAEAAAALACMAAAAAAAMA
JgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAAAAAAQAA5AGAmBBtLPsABHgBwAAEAAAARAAAAQVc6
IFNGMTQzMiBBbGdvRAAAAAACAXEAAQAAABYAAAABwD5LGuo8Awr097JPnar655NRgUapAAAeAB4M
AQAAAAUAAABTTVRQAAAAAB4AHwwBAAAADwAAAGhfZ2llcHpAY2RrLmRlAAADAAYQ11oVWgMABxDj
AQAAHgAIEAEAAABlAAAARElFQkVJREVOTU9ERU1TU09MTFRFTkpFVFpUV0lFREVSRlVOS1RJT05J
RVJFTi0tLS0tVVJTUFL8TkdMSUNIRU5BQ0hSSUNIVC0tLS0tVk9OOldPTEZHQU5HUk9IREVXQUxE
UwAAAAACAQkQAQAAAMUCAADBAgAA5AMAAExaRnWACVrTAwAKAHJjcGcxMjUWMgD4C2BuDhAwMzGd
AfcgAqQD4wIAY2gKwOBzZXQwIAcTAoMAULEQdnBycQ5QEO99CoDZCMggOwlvDjA1AoAKgWx1YwBQ
CwNjEhILxCDCRAiQIGJlaQEAA6AqTQRxbQQgcwbwbHT1GHFqEUB6BUAD8AmABJCAIGZ1bmt0aQIg
ewiRCfAuCqIKhAqECzBseGkzNgFAFzABQBLAbwkZUGN0EgQxNiAtzR4CVREgEsBcJxMQDyDXHGAQ
8BgQTgDQaAUQEPB+dB4DG0YdFBzhCxMdFmkwLTE0NAFAHGAxOI4wAUAM0CJDYiBWAiAqOgyDYhFg
VwbwZmcrDxEH8WgBAHcHQGQggFtTTVRQOlck51RAZAtRbhFALhDwXXsbRSNwRweQCfABAAVAYR5t
I8cX8QCAAZBnLCCgMjQuIE8akG8YMG8FwAHQItAqYToi0SdWQSUjuEcIkHB6KZBIZehsZ2UnR0IR
QAlwASBRI8dSZToGAEYiQDPmMhFwLOBvRCBPIVocZOkXdjk5AdA1HeAlMAXA/wMAH8Ey8B9xAhAs
4SgQKdANMlVrKGAoUSAzMC68OS4pkBpwJWAyUzU00i0OIC4PQBs1RQQgZmWGaBlBKFB1ZiBJH5CP
GjEroAtgLPAgZGEEIB5QA2AJwChgNMBGSUygUkNWZ08p0FcKwDZ1NMA40nYEkATwaHdvNYEJ8BtE
BAB0KZA8ASBUbWky5msLYHIbO0nvEPAYIAuAMvBvPlEzBDdQ3QAgaSmBAaAaMW4acDSQ7QNwbQVA
ETBpBUAYQCbQuQXAU3Q7UhgiGCwsPeX4U0RONXMAcAdAOTApkH9AQDLhPtIYMBExGcAp0ELbQQA3
kXM4kQOgUxgBPJJvLaA7ERhBKZB3CfADoGS/CJAbRBilGf8bDhQhAEswAAAAAwAQEAAAAAADABEQ
AQAAAAMAgBD/////QAAHMGCPUAFLPsABQAAIMGCPUAFLPsABCwAAgAggBgAAAAAAwAAAAAAAAEYA
AAAAA4UAAAAAAAADAAKACCAGAAAAAADAAAAAAAAARgAAAAAQhQAAAAAAAAMABYAIIAYAAAAAAMAA
AAAAAABGAAAAAFKFAAC3DQAAHgAlgAggBgAAAAAAwAAAAAAAAEYAAAAAVIUAAAEAAAAEAAAAOC4w
AAMAJoAIIAYAAAAAAMAAAAAAAABGAAAAAAGFAAAAAAAACwAvgAggBgAAAAAAwAAAAAAAAEYAAAAA
DoUAAAAAAAADADCACCAGAAAAAADAAAAAAAAARgAAAAARhQAAAAAAAAMAMoAIIAYAAAAAAMAAAAAA
AABGAAAAABiFAAAAAAAAHgBBgAggBgAAAAAAwAAAAAAAAEYAAAAANoUAAAEAAAABAAAAAAAAAB4A
QoAIIAYAAAAAAMAAAAAAAABGAAAAADeFAAABAAAAAQAAAAAAAAAeAEOACCAGAAAAAADAAAAAAAAA
RgAAAAA4hQAAAQAAAAEAAAAAAAAAHgA9AAEAAAAFAAAAQVc6IAAAAAADAA00/TcAAD49

------ =_NextPart_000_01C03E5B.DFAA4D40--

From WRohdewald@dplanet.ch Tue Nov 28 00:03:01 2000
>From wr  Tue Nov 28 00:03:11 2000
Return-Path: <WRohdewald@dplanet.ch>
Delivered-To: wr@poboxes.com
Received: from verilin (localhost [127.0.0.1])
	by poboxes.com (Postfix) with SMTP id 114513F886
	for <wr@poboxes.com>; Tue, 28 Nov 2000 00:03:09 +0100 (CET)
Content-Type: Multipart/Mixed;
  boundary="------------Boundary-00=_1DHPPCUQORCWVGLCK0BE"
From: Wolfgang Rohdewald <WRohdewald@dplanet.ch>
Reply-To: WRohdewald@dplanet.ch
To: wr@poboxes.com
Subject: Fwd: Fax: 1 Seiten von
Date: Tue, 28 Nov 2000 00:03:01 +0100
X-Mailer: KMail [version 1.2]
MIME-Version: 1.0
Message-Id: <00112800030100.02810@verilin>
Status: RO
X-Status: O



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



- ----------  Forwarded Message  ----------
Subject: Fax: 1 Seiten von
Date: Mon, 23 Oct 2000 10:27:04 +0200
From: uucp <uucp@verilin.localdomain>
To: wr@poboxes.com


recvq/fax00368.tif:
    Sender:
     Pages: 1
   Quality: Normal
      Page: ISO A4
  Received: 2000:10:23 10:26:37
TimeToRecv: 0:25
SignalRate: 9600 bit/s
DataFormat: 1-D MR

- -------------------------------------------------------



- -- 

mit freundlichen Gruessen
with my best greetings
Wolfgang Rohdewald
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjoi6C0ACgkQMoa7xU5silpCyQCgoRUbTdNhztNu3MmNuTpVCNcH
jK4An2/FWAUI0XT9sADEIPc5QaeRBea/
=yqOn
-----END PGP SIGNATURE-----
["Attachment: 1" (image/tiff)]
_______________________________________________
Kmail Developers mailing list
Kmail@master.kde.org
http://master.kde.org/mailman/listinfo/kmail


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic