Sköter allt som har med TCP-uppkoppling mot qmail (och andra daemons) att göra. För att MySQL patchen ska fungera tillsammans med SSL-patchen, så har jag gjort en smärre modifiering av den. Skillnaden mot den MySQL patch som finns annanstans är att jag bytt parametern "-S" mot "-M" ("-S" är upptagen av SSL-patchen).
errno - fixar ett problem med en gammal GCC version och vissa operativsystem
http://qmail.zoo-gate.fi/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
nobase - tar bort en förvald RBL som inte längre är fri att använda
http://qmail.zoo-gate.fi/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch
a_record - gör så att RBLs som använder A-records istället för TXT går att använda
http://qmail.zoo-gate.fi/moni.csi.hu/pub/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch
Grunduppsättningen räknas som nödvändig för att ucspi-tcp (och framförallt rblsmtpd) ska fungera helt korrekt.
Visa/dölj kommandon
ssl - gör att det på ett enkelt sätt går att SSL-wrappa vilken daemon som helst
http://www.nrg4u.com/
fungerar med grunduppsättningen, men innehåller även errno patchen. För att slippa svara på en fråga
om reverse patchning m.m, skippa den ur grunduppsättningen ovan, så funkar allt bra.
Visa/dölj kommandon
mysql - gör så att en tabell i en MySQL databas kollas efter IP som får använda servern för relay
http://sylvestre.ledru.info/howto/qmail/ucspi-tcp-0.88-mysql.updated.by.Pierre.Wieser.patch
Fungerar med grunduppsättningen.
Denna variant av MySQL patchen skiljer sig från den på TNPI,
http://www.tnpi.biz/internet/mail/toaster/patches/ucspi-tcp-0.88-mysql3+rss.patch på det sättet att man kan (och måste)
ange sökvägen till filen som innehåller uppgifter om SQL kopplingen som ska användas (användarnamn, lösenord, databas,
tabeller osv). I den patchfil som finns här på BSD-Guide har jag ändrat -S parametern till -M för att göra den kompatibel
med SSL-patchen och mina startscript.
Visa/dölj kommandon
tcpserver limits (JMS) - gör så att man kan neka smtp förbindelse om servern är för hårt belastad eller om samma ip eller ip-nät
har för många aktiva uppkopplingar.
http://qmail.jms1.net/ucspi-tcp/tcpserver-limits-2007-12-22.patch
Fungerar med grunduppsättningen.
Visa/dölj kommandon
ssl + mysql (efter nobase, a_record, ucspi-tcp-ssl)
http://www.bsd-guide.net/openbsd-mailserver/files/qmail/ucspi-tcp-0.88-ssl-mysql.patch
En patch där jag manuellt fixat de fel som uppstod för att den ena av dom var använd.
Mina förändringar av mysql patchen (baserad på den som ändrats av Pierre Wieser) tar inte med a_record fixen, så den läggs på manuellt före koden för mysql.
Läggs på efter nobase, a_record, och ucspi-tcp-ssl.
Visa/dölj kommandon
mysql + tcplimits (errno, nobase, a_record, mysql, tcp limits)
http://www.bsd-guide.net/openbsd-mailserver/files/qmail/tcpserver-limits-sql-fix.patch
En patch där jag manuellt fixat det felet som uppstod vid patchning med både mysql och tcp limits patchen.
Läggs på efter errno, nobase, mysql och tcplimits.
Visa/dölj kommandon
ssl + mysql + tcplimits (nobase, ssl, ssl+sql, tcplimits)
http://www.bsd-guide.net/openbsd-mailserver/files/qmail/ucspi-tcp-0.88-ssl-mysql-tcplimits.patch
En till patch där jag manuellt fixat problem som uppstod vid kombination av andra patchar.
Läggs på efter nobase, a_record, ssl, ssl+mysql och tcplimits.
Körs inuti ucspi-tcp-0.88.
Visa/dölj kommandon
ucspi.st-combo.09.patch
http://toribio.apollinare.org/qmail/ucspi.st-combo.09.patch
Salvatore's patch består om jag förstått allt rätt enbart av grunduppsättningen + en variant av
tcplimits, samt ett tillägg för att ändra loggformatet så att det liknar qmail-scanners loggformat.
Visa/dölj kommandon
mysql - om du vill lagra relay info i en databas. Fördelarna är att det via PHP script el. liknande enkelt går att rensa i listan över IP adresser som tillåts relaya genom servern. Det går också lika enkelt att lägga till IP adresser som alltid ska tillåtas använda servern för utgående mail. En annan fördel är att man enkelt kan dela databasen mellan flera utgående mailservrar om man vill göra en lastdelning via DNS. Nackdelen är att det inte som med relay datat i en cdb går att sätta en hel del extra variabler baserat på från vilken IP klienten har (det går däremot bra att använda både cdb och MySQL för relay databasen).
ssl - många daemons stöder åtminstone TLS direkt eller med lite extra parametrar vid kompilering. Räcker inte detta och du vill köra allt över säkra uppkopplingar, så går det att göra detta oavsett om servien stöder ssl eller inte med hjälp av denna patch.
tcplimits - gör att man kan ställa gränser på bl.a hur många connections som tillåts från ett specifikt IP åt gången. Man kan också helt och hållet neka förbindelsen ifall mailservern är för hårt belastad (har för högt "load average"). Använd om du upptäcker att alla daemons blir upptagna av spammare allt för ofta, eller om maskinen av en eller annan anledning får för mycket att göra och du automatiskt vill ge den möjlighet att "varva ner".
För guiden använder jag mysql + tcplimits:
cd /usr/local/src tar xfz ucspi-tcp-0.88.tar.gz mv ucspi-tcp-0.88 ucspi-tcp-0.88-bsdguide cd ucspi-tcp-0.88-bsdguide wget http://qmail.zoo-gate.fi/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch wget http://qmail.zoo-gate.fi/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch wget http://qmail.zoo-gate.fi/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch wget http://www.bsd-guide.net/openbsd-mailserver/files/qmail/ucspi-tcp-0.88-mysql.Pierre.Wieser.PeO.patch wget http://qmail.jms1.net/ucspi-tcp/tcpserver-limits-2007-12-22.patch wget http://www.bsd-guide.net/openbsd-mailserver/files/qmail/tcpserver-limits-sql-fix.patch patch -p1 < ucspi-tcp-0.88.errno.patch patch -p1 < ucspi-tcp-0.88.nobase.patch patch -p1 < ucspi-tcp-0.88.a_record.patch patch -p1 < ucspi-tcp-0.88-mysql.Pierre.Wieser.PeO.patch patch -p1 < tcpserver-limits-2007-12-22.patch patch -p1 < tcpserver-limits-sql-fix.patch rm *.patch rm *.orig
Oavsett vilken samling patchar du väljer så kompileras och installeras TCPserver på samma sätt:
echo "gcc -O2 -I/usr/local/mysql/include/mysql" >conf-cc echo "gcc -s -I/usr/local/mysql/include/mysql -L /usr/local/mysql/lib/mysql -l mysqlclient" >conf-ld make make setup check wget http://www.bsd-guide.net/openbsd-mailserver/files/qmail/ucspi.sql echo "Enter the MySQL root password" mysql -u root -p < ucspi.sqlEfter att ha skapat tabellen för relay information och vpopmail så är det lite småfix kvar (detta är ett medvetet avbrott mellan kommandona, då det blir problem med importen till MySQL ifall man försöker köra bägge samtidigt):
rm ucspi.sql cd /var/qmail/control wget http://www.bsd-guide.net/openbsd-mailserver/files/qmail/var_qmail_control_sql mv var_qmail_control_sql sql