[40sig] GPGverify jetzt auch als Include

10/05/2008 - 16:59 von Thomas Barghahn | Report spam
Hallo zusammen,

File: "GPGverify_include.ds"

Dieser befindet sich im Verzeichnis:
"..\40tude_Dialog\Scripts\Custom\"


procedure Init_GPGverify (var FILENAME : String;
var EXEFILE : String
);

begin

// -
// Configuration settings
// -

// Pfad, wo der Artikel temporàr gespeichert wird
FILENAME := 'C:\Temp\_article_in.msg';

//Pfad zuz 40sig.exe
EXEFILE := 'C:\Programme\40tude Dialog\40sig.exe';

// -
// End of configuration settings
// -

end;

// //
// - No user maintainable parts below this line -- //
// //

procedure gpg_verify(var Message : TStringList;
FILENAME : String;
EXEFILE : String
);

begin
Message.Savetofile (FILENAME);
FileExecute (0, EXEFILE, 'open', FILENAME,'' ,1 , 9000);
Message.Loadfromfile (FILENAME);
end;

procedure GPGverify (var Message : TStringlist;
const IsEmail : boolean
);

var
i : Integer;
l : Integer;
endline : Integer;
MAXLINES : Integer;
X_PGP_SIG : String;
BEGIN_PGP_SIG_MSG : String;
FILENAME : String;
EXEFILE : String;

begin
If IsEmail then Exit;
Init_GPGverify (FILENAME, EXEFILE);
MAXLINES := 50000;
X_PGP_SIG := 'X-PGP-Sig';
BEGIN_PGP_SIG_MSG := '--BEGIN PGP SIGNED MESSAGE--';
for i := 0 to Message.Count-1 do begin
if Message[i] = '' then break; // end of header
if (pos(X_PGP_SIG, Message[i]) = 1) then begin
gpg_verify (Message, FILENAME, EXEFILE);
break;
end; // if
end; // for
endline := Message.Count-1;
if endline > MAXLINES then endline := MAXLINES;
for l := 0 to endline do begin
if Message[l] = BEGIN_PGP_SIG_MSG then begin
gpg_verify (Message, FILENAME, EXEFILE);
break;
end; // if
end; // for
end; // of procedure


Die Prozedur *OnBeforeSavingMessage* könnte dann so aussehen:


program OnBeforeSavingMessage;

// hier benötigte uses-Anweisungen eintragen
// uses Textfile, Forms, StdCtrls;

{$I GPGverify_Include.ds}
{$I Quote_Correction_Include.ds}
// hier weitere Include-Files eintragen


procedure OnBeforeSavingMessage( var Message : TStringlist;
const Servername : string;
const IsEmail : boolean
);

begin
// Your code goes here

GPGverify ( Message, IsEmail );
QuoteCorrection ( Message, IsEmail );

// hier folgen weitere Routinen

end;

begin
end.


Freundliche Grüße
Thomas Barghahn
+++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
Jesus sprach zu seinen Jüngern:
"Wer nicht Messer und Gabel hat, der frisst
mit den Fingern."
 

Lesen sie die antworten

#1 Reinhard Irmer
10/05/2008 - 18:08 | Warnen spam
Hallo *Thomas*,

*Thomas Barghahn* schrieb:

Hallo zusammen,

File: "GPGverify_include.ds"

Dieser befindet sich im Verzeichnis:
"..\40tude_Dialog\Scripts\Custom\"


procedure Init_GPGverify (var FILENAME : String;
var EXEFILE : String
);

begin

// -
// Configuration settings
// -

// Pfad, wo der Artikel temporàr gespeichert wird
FILENAME := 'C:\Temp\_article_in.msg';



eingebunden, OBSave erfolgreich kompiliert, gepullt:

Ein einziger Artikel wurde nach C:\Temp\_article_in.msg geschrieben. Bei
weiteren, signierten postings kam die Fehlermeldung "Cannot create
c:\temp\_article_in.msg" . Ausser bei dem einzigen (ersten) Artikel wurde
keine weiteren X-PGP-CHECK-Header geschrieben.

[...]

Viele Gruesse
Reinhard

,- [3 weisse Bi-hirken] -.
| in meiner Heimat steh'n und auf |
| der Hamster-Spielwiese 1.25.2.0 |
''

Ähnliche fragen