Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DecodeMIMEHeaderString

1 view
Skip to first unread message

Manfred Polak

unread,
Oct 25, 2021, 7:26:28 PM10/25/21
to
Moin!

Ich hab ein ungefähr 15 Jahre altes VBScript von mir wieder
reaktiviert, das seinerzeit problemlos funktioniert hatte. Allein,
jetzt wollte es nicht mehr. Nach ausgiebiger Fehlersuche bin ich
auf Folgendes gekommen:

Das Script (das eigentlich nichts mit Hamster zu tun hat) soll
an einer Stelle MIME-codierte Header (als Ganzes, nicht einzelne
Zeilen) decodieren, und dafür wird per OLE DecodeMIMEHeaderString
verwendet. Doch dabei entfernt Hamster nun alle Zeilenumbrüche.
Anschließend sollte der Header in einzelne Zeilen zerlegt werden,
doch das scheitert jetzt, weil ja alles in einer Zeile steht.

Das muss früher [tm] anders gewesen sein, sonst hätte das Script
nie funktioniert. Ist das jetzige Verhalten Absicht oder ein
Versehen?


Manfred

Alfred Peters

unread,
Oct 26, 2021, 1:21:49 PM10/26/21
to
Es schrieb einmal Manfred Polak:

> Das Script (das eigentlich nichts mit Hamster zu tun hat) soll
> an einer Stelle MIME-codierte Header (als Ganzes, nicht einzelne
> Zeilen) decodieren, und dafür wird per OLE DecodeMIMEHeaderString
> verwendet. Doch dabei entfernt Hamster nun alle Zeilenumbrüche.
> Anschließend sollte der Header in einzelne Zeilen zerlegt werden,
> doch das scheitert jetzt, weil ja alles in einer Zeile steht.

> Das muss früher [tm] anders gewesen sein, sonst hätte das Script
> nie funktioniert. Ist das jetzige Verhalten Absicht oder ein
> Versehen?

Mit Sicherheit ist das Absicht. Zum dekodieren gehört auch das entfalten
des Headers.

Was dein Skript anbetrifft, sollte sich das recht leicht korrigieren
lassen. Anstatt DecodeMIMEHeaderString() auf den ganzen Header
anzuwenden, rufst du die Funktion einfach später in der Schleife für
jede einzelne Zeile auf.

Alfred
--
21818.6

Manfred Polak

unread,
Oct 26, 2021, 8:04:18 PM10/26/21
to
Alfred Peters schrieb:

>Es schrieb einmal Manfred Polak:
>
>> Das muss früher [tm] anders gewesen sein, sonst hätte das Script
>> nie funktioniert. Ist das jetzige Verhalten Absicht oder ein
>> Versehen?
>
>Mit Sicherheit ist das Absicht. Zum dekodieren gehört auch das entfalten
>des Headers.

Das geht aber auch ohne das Löschen aller Zeilenumbrüche. Von mir
aus kann das gerne so bleiben, wie es jetzt ist, ich will also überhaupt
nicht nörgeln. Aber nur zur Demonstration, wie das früher auch schon
funktioniert hat:

Aus

| From: t...@gmx.de (Thomas G. Liesner)
| Newsgroups: de.comm.provider.metronet
| Subject: =?ISO-8859-1?Q?Ach,_man_gew=F6hnt_sich_dran._Muss_der_Humor_eben_etwas_kn?=
| =?ISO-8859-1?Q?apper_ausfallen_und_auch_eine_Signatur_ist_nicht_unbedingt?=
| =?ISO-8859-1?Q?_machbar._So_long,_Thomas_G._Liesner_(was:_Das_ist_aber_ir?=
| =?ISO-8859-1?Q?gendwie_bl=F6d,_wenn_der_body_garnicht_genutzt_wird_(was:_?=
| =?ISO-8859-1?Q?Klasse_Idee_(was:_Einspruchsversuch_(was:_Neuer_Thread_)))?=
| =?ISO-8859-1?Q?)?=
| Date: Sat, 25 Jul 1998 08:57:32 GMT
| Organization: TGL-Soft
| Lines: 15
| Message-ID: <6pc6jd$rvu$5...@muenster.westfalen.de>
| References: <35b59e62...@news.easynews.net> <6or2sn$etl$1...@newsfeed.easynews.net> <35b825d5...@news.easynews.net> <6p42or$qdh$3...@news01.btx.dtag.de> <35bf0ecd...@news.easynews.net> <6p5chh$bjd$5...@muenster.westfalen.de> <35d71aba...@news.easynews.net>
| Reply-To: Da.reagiert.ja.jemand.posta...@tgl.westfalen.de
| NNTP-Posting-Host: ppp000.westfalen.de
| Mime-Version: 1.0
| Content-Type: text/plain; charset=ISO-8859-1
| Content-Transfer-Encoding: quoted-printable
| X-Server-Date: 25 Jul 1998 08:56:13 GMT
| X-Newsreader: Forte Agent 1.5/32.451
| Path: milde.ndh.net!news.ndh.net!news.ndh.net!news.seicom.net!wuff.mayn.de!news.ruhrgebiet.individual.net!news.prima.ruhr.de!muenster.westfalen.de!not-for-mail

machte die alte Version von DecodeMIMEHeaderString:

| From: t...@gmx.de (Thomas G. Liesner)
| Newsgroups: de.comm.provider.metronet
| Subject: Ach, man gewöhnt sich dran. Muss der Humor eben etwas knapper ausfallen und auch eine Signatur ist nicht unbedingt machbar. So long, Thomas G. Liesner (was: Das ist aber irgendwie blöd, wenn der body garnicht genutzt wird (was: Klasse Idee (was: Einspruchsversuch (was: Neuer Thread ))))
| Date: Sat, 25 Jul 1998 08:57:32 GMT
| Organization: TGL-Soft
| Lines: 15
| Message-ID: <6pc6jd$rvu$5...@muenster.westfalen.de>
| References: <35b59e62...@news.easynews.net> <6or2sn$etl$1...@newsfeed.easynews.net> <35b825d5...@news.easynews.net> <6p42or$qdh$3...@news01.btx.dtag.de> <35bf0ecd...@news.easynews.net> <6p5chh$bjd$5...@muenster.westfalen.de> <35d71aba...@news.easynews.net>
| Reply-To: Da.reagiert.ja.jemand.posta...@tgl.westfalen.de
| NNTP-Posting-Host: ppp000.westfalen.de
| Mime-Version: 1.0
| Content-Type: text/plain; charset=ISO-8859-1
| Content-Transfer-Encoding: quoted-printable
| X-Server-Date: 25 Jul 1998 08:56:13 GMT
| X-Newsreader: Forte Agent 1.5/32.451
| Path: milde.ndh.net!news.ndh.net!news.ndh.net!news.seicom.net!wuff.mayn.de!news.ruhrgebiet.individual.net!news.prima.ruhr.de!muenster.westfalen.de!not-for-mail

Das heftig gefaltete Subject wurde also völlig korrekt entfaltet, ohne
dass sonstige Zeilenumbrüche abhanden gekommen wären.

>Was dein Skript anbetrifft, sollte sich das recht leicht korrigieren
>lassen. Anstatt DecodeMIMEHeaderString() auf den ganzen Header
>anzuwenden, rufst du die Funktion einfach später in der Schleife für
>jede einzelne Zeile auf.

Ja, könnte ich so machen. Allerdings habe ich hier auch noch einen
Hamster 2.1.0.1526 von 2012 rumliegen, und der zeigt noch das alte
Verhalten, die Zeilenumbrüche bleiben also erhalten. Und weil das
Script nicht oft oder gar regelmäßig ausgeführt wird, sondern im
Prinzip bloß einmal (plus ein paar Probeläufe jetzt), habe ich jetzt
einfach mal diesen alten Hamster dafür eingespannt und muss so
überhaupt nichts am Script ändern.

Es transferiert übrigens gut 155.000 Postings aus einem Folder von
Agent in MySQL. Auf Dauer möchte ich das eh mit Delphi machen,
aber vorerst will ich mein Konstrukt von 2005 wiederbeleben. Was
jetzt auch gelungen ist.


Manfred

Alfred Peters

unread,
Oct 27, 2021, 12:04:25 PM10/27/21
to
Es schrieb einmal Manfred Polak:
> Alfred Peters schrieb:
>
>>Es schrieb einmal Manfred Polak:
>>
>>> Das muss früher [tm] anders gewesen sein, sonst hätte das Script
>>> nie funktioniert. Ist das jetzige Verhalten Absicht oder ein
>>> Versehen?

> machte die alte Version von DecodeMIMEHeaderString:
>
> | From: t...@gmx.de (Thomas G. Liesner)
> | Newsgroups: de.comm.provider.metronet
> | Subject: Ach, man gewöhnt sich dran. Muss der Humor eben etwas knapper ausfallen und auch eine Signatur ist nicht unbedingt machbar. So long, Thomas G. Liesner (was: Das ist aber irgendwie blöd, wenn der body garnicht genutzt wird (was: Klasse Idee (was: Einspruchsversuch (was: Neuer Thread ))))

> Das heftig gefaltete Subject wurde also völlig korrekt entfaltet, ohne
> dass sonstige Zeilenumbrüche abhanden gekommen wären.

Ich sehe da keinen Zeilenumbruch. Das Subjekt ist eine lange Zeile. Auch
in der RAW-Ansicht deines Artikels.

Alfred
--
21821.2

Alfred Peters

unread,
Oct 27, 2021, 12:10:49 PM10/27/21
to
Es schrieb einmal Manfred Polak:

> Ja, könnte ich so machen. Allerdings habe ich hier auch noch einen
> Hamster 2.1.0.1526 von 2012 rumliegen, und der zeigt noch das alte
> Verhalten, die Zeilenumbrüche bleiben also erhalten. Und weil das

Dürfte dann das Ergebnis von diesem Fix sein:

| V2.1.0.1536 (nightly snapshot {AP2})
| - Bugfix: [Filter][HS2] Beim dekodieren gefalteter Header wurde die Faltung
| unter Umständen (ASCII Text) nicht entfernt. {AP2}


Alfred
--
21821.2

Manfred Polak

unread,
Oct 28, 2021, 7:01:40 PM10/28/21
to
Alfred Peters schrieb:

>Es schrieb einmal Manfred Polak:
>
>> machte die alte Version von DecodeMIMEHeaderString:
>>
>> | From: t...@gmx.de (Thomas G. Liesner)
>> | Newsgroups: de.comm.provider.metronet
>> | Subject: Ach, man gewöhnt sich dran. Muss der Humor eben etwas knapper ausfallen und auch eine Signatur ist nicht unbedingt machbar. So long, Thomas G. Liesner (was: Das ist aber irgendwie blöd, wenn der body garnicht genutzt wird (was: Klasse Idee (was: Einspruchsversuch (was: Neuer Thread ))))
>
>> Das heftig gefaltete Subject wurde also völlig korrekt entfaltet, ohne
>> dass sonstige Zeilenumbrüche abhanden gekommen wären.
>
>Ich sehe da keinen Zeilenumbruch.

Ich schon.

>Das Subjekt ist eine lange Zeile. Auch in der RAW-Ansicht deines Artikels.

Es geht doch (wie schon die ganze Zeit) um den kompletten Header.
*Diesen* Header habe ich ausgewählt, damit da irgendwo etwas zum
Entfalten da ist - und das wurde entfaltet, während die restlichen
Headerzeilen für sich bestehen blieben. Die neue Version von
DecodeMIMEHeaderString macht dagegen aus dem ganzen Header eine
einzige sehr lange Zeile, da kommen also die Zeilenumbrüche tatsächlich
abhanden.

Aber wie schon geschrieben, ist mein Problem ohne Aufwand gelöst.
Kann also alles so bleiben, wie es ist.


Manfred

Alfred Peters

unread,
Oct 29, 2021, 12:23:23 PM10/29/21
to
Es schrieb einmal Manfred Polak:

> Es geht doch (wie schon die ganze Zeit) um den kompletten Header.
> *Diesen* Header habe ich ausgewählt, damit da irgendwo etwas zum
> Entfalten da ist - und das wurde entfaltet, während die restlichen
> Headerzeilen für sich bestehen blieben. Die neue Version von
> DecodeMIMEHeaderString macht dagegen aus dem ganzen Header eine
> einzige sehr lange Zeile, da kommen also die Zeilenumbrüche tatsächlich
> abhanden.

Ach so, du hast sämtliche Header auf einmal an die Funktion verfüttert!?
Ich denke, dass hat dann früher eher zufällig funktioniert.

> Aber wie schon geschrieben, ist mein Problem ohne Aufwand gelöst.
> Kann also alles so bleiben, wie es ist.

Gut das wir darüber gesprochen haben.

Alfred
--
21826.7
0 new messages