Update von Hamster  < 1.3.23.130  auf  >= 1.3.23.140
====================================================

Ab dem Hamster 1.3.13.140 wurde die SSL-Funktionalitt direkt in den 
Hamster integriert. Hierdurch wurde eine nderung der HamFetchMail- 
bzw. HamSendMail-Skriptbefehle ntig, die sehr viele Hamsternutzer 
betreffen wird. 

Was ist zu tun?

1.	Fr alle Nutzer, also auch solche, die bisher kein SSL benutzt 
haben:
-----------------------------------------------------------------------

Alle Skripte, die HamFetchMail- bzw. HamSendMail-Befehle nutzen, 
sollten daraufhin berprft werden, ob bei den
FetchMail-Parametern hinter dem <LeaveOnServer>-Parameter
bzw. den
HamSendMail-Parametern hinter dem <from-select>-Parameter 
Eintrge existieren, die angepasst werden mssen.

Die neue Syntax der Befehle lautet:

HamFetchMail( <server>, <port>, <user>, <pass>, <destuser>, <filter>, 
	<LeaveOnServer>, <SSLMode>, <SSLVerify>, <SSLCaFile> )

bzw.

HamSendMail( <server>, <port>, <from-select>, <to-select>, <SSLMode>, 
	<SSLVerify>, <SSLCaFile> )
HamSendMailAuth( <server>, <port>, <user>, <pass>, <from-select>,
	<to-select>, <SSLMode>, <SSLVerify>, <SSLCaFile> )

Wichtig ist nicht nur die neue Anzahl der Parameter, sondern auch das 
neue Parameterformat!

	SSLMode: Integer [0..3]
	SSLVerify: Integer [0..3]
	SSLCaFile: String

d.h. ein Befehl mit vollstndig ausgefllten Parametern sieht ohne 
Nutzung von SSL z.B. folgendermaen aus:

HamFetchMail( "pop3-server", "110", "user", "pass", "admin", "", 0, 0, 0, "" )

bzw.

HamSendMail( "smtp-server", "25", ".*", ".*", 0, 0, ""  )
oder:
HamSendMailAuth( "smtp-server", "25", "", "", ".*", ".*", 0, 0, "" )




2.	Fr Nutzer, die bisher SSL ber Stunnel benutzt haben oder jetzt 
SSL nutzen wollen:
-----------------------------------------------------------------------

2.1	Hamster als Client (Zugriff auf externe Server):
----------------------------------------------------

Hier sei wrmstens die Lektre der SSL-FAQ von Phillip Wendler und 
Martin Germann empfohlen:

	http://www.ximera.de/

oder auch enthalten in der deutschen Hamster-Hilfedatei

	http://zielgra.de/hamster/hamster_hlp_de.zip

Soviel an dieser Stelle:

Um SSL berhaupt nutzen zu knnen, werden zwei zustzliche dll-Dateien 
bentigt:

libssl32.dll und libeay32.dll in aktueller Ausfhrung, d.h. minimal 
erforderlich ist Version openssl-0.9.6b.

Download z.B. unter:
	http://www.ximera.de/openssl_dlls.zip

Die beiden DLLs mssen in das Hamster-Hauptverzeichnis oder ein 
Verzeichnis, das in der Umgebungsvariable %PATH% enthalten ist, kopiert 
werden. Der Hamster findet sie beim Start automatisch. 


Unter Konfiguration/Grundeinstellungen/SSL stehen die 
Grundeinstellungen fr SSL:

Es gibt zwei Mglichkeiten von Zertifkatsspeichern:
Unter "Path to certificates for verification" kann ein Verzeichnis 
angegeben werden, in dem alle Zertifikate in Einzeldateien vorliegen. 
Die Namen der Dateien mssen dann dem Format 
"<Hash_des_Zertifikates>.0" entsprechen (s. SSL-FAQ).
Eine alternative Mglichkeit besteht in der Angabe einer pem-Datei 
unter "File with certificates for verification", die alle Zertifikate 
gesammelt enthlt.

Beide Mglichkeiten knnen additiv verwendet werden, ntig ist nur die 
Angabe einer von beiden.

Hier ist zu beachten, da die eingetragenen Zertifikatsspeicher zur
berprfung aller SSL-Zertifikate verwendet werden - unabhngig davon, wie
die SSL-Funktionen aufgerufen wurden (Menu oder Skript).
Individuell abweichende Einstellungen fr einzelne Server knnen jeweils in
deren Einzelkonfiguration vorgenommen bzw. ber die SSL-Parameter der 
Skriptbefehle bergeben werden.

Auch mssen alle SSL-Einstellungen fr die Einzelserver erneut
aktiviert werden, da die alten Einstellungen nicht bernommen werden.

SSL-Settings:

Chose Usage:
<SSLMode>	Wie soll SSL verwendet werden?
		0 - SSL abgeschaltet (default)
		1 - SSL auf separatem Port (z.B. 465,995,563)
		2 - TLS, wenn mglich (Fallback auf unverschlsselte Verbindung,
			wenn TLS nicht mglich ist)
		3 - TLS wird erzwungen (auf Standardport z.B. 25,110,119)

Chose Verification:
<SSLVerify>	Steuert die Zertifikatsberprfung (entspricht der -v-Option von STunnel).
		0 - Zertifikatsberprfung abgeschaltet
		1 - Zertifikatsberprfung, falls Zertifikat vorgelegt
		2 - Zertifikatsberprfung immer
		3 - Zertifikatsberprfung immer und Vergleich des Serverzertifikats mit lokaler Kopie

Verify with File:
<SSLCaFile>	Der Pfad zum Zertifikat fr die berprfung. Wenn leer, wird
	der in den Grundeinstellungen eingetragene Standard genommen. 



2.2	Hamster als Server (lokale Server):
---------------------------------------

Um SSL mit den lokalen Servern von Hamster verwenden zu knnen, wird
ein Zertifikat mit geheimem Schlssel bentigt. Beim Versuch, die lokalen
Server ohne ein solches Schlsselpaar in Betrieb zu nehmen, beschwert
sich der Hamster mit einer Fehlermeldung und nimmt die lokalen Server
ohne SSL-Untersttzung in Betrieb(!).

Nheres zur Erzeugung und Installation steht in der SSL-FAQ.



4.	Aufrumen alter SSL-Eintrge:
-----------------------------------

Wenn sicher ist, da die alte Methode ber Stunnel nicht mehr bentigt 
wird, knnen folgende Eintrge entfernt werden:

aus allen server.inis:
UseSSL
SSL-Port
sTunnelOption

aus der hamster.ini:
SSLWrapperNotClose
SSLProg
SSLStartTimeout
SSLlocalStartTimeout
SSLKeyFile
STunnelOption

und natrlich die
stunnelw.exe und zugehrige Dateien



--
Mathias Behrle, letzte nderung 23.03.02