SMTP-Gateway (aka smtp-gated) proxy changelog --------------------------------------------- 1.4.16 : 07.09.2008 - zmiana wersji z 1.4.16-rc2 1.4.16-rc2 : - zmiana parametru opcji spf: "source" na "incoming" - dodana wartosc "fixed" do parametru spf, wraz z spf_fixed_ip (dla proxy znajdujacego sie za NAT-em) - "support" dla architektur 64-bit 1.4.16-rc1 : 24.01.2008 - poprawiony blad przy kompilacji na OpenBSD - poprawiony blad przy kompilacji na NetBSD - poprawiony blad w auth_require powodujacy desynchronizacje potoku - zmiana nazwy parametrow dla nat_header_type na odpowiedniejsze - zmiana nazwy parametrow dla auth_require (loose => ifsupported) - dodana opcja size_limit: limit dla rozmiaru wiadomosci - dodana opcja auth_skip: wylaczenie skanowania dla autoryzowanych sesji - ponowne sprawdzenie blokady przed ostatecznym zaakceptowaniem tresci - wsparcie dla IPFilter<4000027 (za squid-cache.org) - wsparcie dla DNSBL (opcje: dnsbl) - wsparcie dla XCLIENT (mode fixed+xclient) - wsparcie dla SPF (libspf2; opcje: spf, spf_log_only) - wsparcie dla regex (libpcre; opcje: regex_*, lock_on, auth_skip) - zmiana nazwy: source_addr na outgoing_addr - wstepne wsparcie dla DSPAM (libdspam, jeszcze nie dziala) 1.4.15.1 : 11.12.2006 - bugfix dotyczacy statefile (!), az wstyd pisac o co chodzi :) print "nie bede wiecej robic poprawek w ostatniej chwili\n"x1000 1.4.15 : 11.12.2006 - poprawiony potencjalny SIGSEGV (!) - support dla *BSD/pf - support dla *BSD/IPFilter, patch Bartosza Kuzmy - drobne porzadki w kodzie - przywrocony support dla mksd. - poprawiony bug dotyczacy spam_max_load - ignorowanie ECONNABORTED i ECONNRESET powodujących dotychczas umieranie demona na FreeBSD ("accept error: Software caused connection abort") - nowy tryb pracy: remote-udp (wspolpraca z proxy-helper) - zmiana nazwy dumpfile, dumpfile_perm na statefile, statefile_perm - nowa zmienna: statefile_type - logowanie skroconych statystyk przy zakonczeniu programu (do sysloga) - nowy parametr: -C, pokazuje efektywna wartosc zmiennej konfiguracyjnej - nowy paremetr: -K, ubija pracujacy proces smtp-gated - logowanie adresu gniazdka lokalnego przy polaczeniu - flagi w statusie 1.4.14-rc1 : 11.05.2006 - dramatycznie zmieniony sposob konfiguracji (!) - ograniczona ilosc log_facility (do potencjalnie uzywanych) - dodana wersja do dumpfile - zmiany w obsludze opcji enum z pliku konfiguracyjnego - zmienione domyslne prawa do plikow tymczasowych na 0660 - usuniety wyciek pamieci (jesli MAIL FROM nie bylo logowane) - ostrzezenie w logach, jesli dzialamy jako root - dodana opcja auth_require - dodane no-auth do statusu - "--enable-chunking" jest nietestowany i prawdopodobnie nie dziala! OPCJA NIE NADAJE SIE DO UZYCIA W SRODOWISKU PRODUKCYJNYM! 1.4.12-rc9 : 02.12.2005 - mozliwosc ustawienia log_facility - log_level oraz log_facility akceptuja wartosci tekstowe, lista wartosci wyswietlana w "smtp-gated -T" - usuwanie bialych spacji na koncu opcji konfiguracyjnych - zmiana domyslnej wartosci pipeline_size z 64 do 128 - logowanie poczatku potoku po jego przepelnieniu - dumpfile_perm: okresla prawa do pliku statusu - poprawna kompilacja na Solarisa 1.4.12-rc8 : 27.10.2005 - dodatkowe testy - dla SPAM: zmieniony wpis w logach z "result=..." na "score=..." - max_per_*_lock blokuja po przekroczeniu odpowiedniego limitu - action_script: nowe wartosci FOUND: "MAX_HOST", "MAX_IDENT" 1.4.12-rc7 : 25.09.2005 - poprawiona zgodnosc z ENHANCEDSTATUSCODES po przejeciu sesji - dodatkowe testy - spam_max_size, scan_max_size zmienione z int na uint - poprawiona dokumentacja - dodane PROXY_NAME do srodowiska dla action_script - poprawiona zmienna srodowiskowa FOUND dla action_script 1.4.12-rc6 : 14.09.2005 - dodana opcja action_script - teraz lock dziala takze dla spamu 1.4.12-rc5 : - pidy procesow potomnych wylaczone z pamieci wspoldzielonej, do oddzielnej tablicy "pids". jesli nawet jeden bedzie mial jakis buffer-overrun to nie rozlozy wszystkich (profilaktyka) :) - SIGTERM/SIGQUIT przerywa petle procesu klienta (ubija go) - poprawione wykrywanie FreeBSD/ipfw w ./configure - zmieniony format naglowka X-NAT-Received - zmiana nazwy opcji nat_header na nat_header_type (!) - opcje przeniesione do konfiguracji run-time: HEADER=>nat_header, SPOOL_INFO_HEADER=>spool_header PIPELINE_QUEUE=>pipeline_size - ujednolicony format logow (zamiast "host=" jest "src=" badz "dst=") - gcc4: poprawiona inicjacja struktur w src/vars.h 1.4.12-rc4 : - w przypadku przepelnienia kolejki potoku, usuwa spoola bez wzgledu na ustawienie leave_on_error (i tak bedzie pusty) - dodaje '\n' na koncu lockfile'a 1.4.12-rc3 : 15.03.2005 - usuniety wyciek pamieci w start() 1.4.12-rc2 : 14.03.2005 - test-suite zostalo dolaczone do dystrybucji 1.4.12-rc1 : - nat_header=2: wlacza prosty naglowek, "HEADER: ip_zrodlowe" - support dla TCP w spamd_path oraz clamd_path - email_length: limit dlugosci logowanego adresu e-mail (przez ewentualnym md5), przeniesiony z dyrektyw przy kompilacji - usuniete potencjalne przepelnienia bufora w printf() dla glibc >= 2.1, potencjalne = nieprawdopodobne - filtrowanie rozszerzen BINARYMIME oraz XEXCH50 - atomiczna podmiana pliku stanu - dodany plik .spec dla rpm-owcow - support dla NAT-a FreeBSD ipfw i kompatybilnych - dodana licencja do wszystkich plikow - kompilacja za pomoca narzedzi GNU auto* 1.4.11-2 : 23.02.2005 - poprawiona kompilacja na (starszych?) wersjach gcc ("warning: unnamed struct/union that defines no instances") 1.4.11 : 22.02.2005 - locale uaktualniane takze po SIGHUP - poprawka w obsludze timeout-ow i ich logowania - poprawka (krytyczna!) w response() - poprawiony blad w parsowaniu konfiguracji (opcji typu BOOL) - poprawka w kodowaniu do base64 (ostatni znak jest juz ok) 1.4.10 : - ograniczenie dlugosci logowanej domeny z HELO/EHLO - spam_block: blokuje spam (traktuje jak wirusy, z msg_spam_found) - dodana mozliwosc logowania adresow e-mail w postaci md5+base64 - zmiana log_mail_from i log_rcpt_to na maski bitowe: 0x01 = logowanie zaakceptowanych, 0x02 = logowanie odrzuconych, 0x04 = logowanie w postaci zakodowanej (md5+base64) - poprawiona obsluga timeout-ow - liczba polaczen bezposrednich (STARTTLS) w statystykach - zmiany we wczytywaniu konfiguracji - dyrektywy konfiguracyjne przeniesione do setup.h - troche innych porzadkow w kodzie, rozbicie na kilka plikow - locale: (umozliwia zmiane jezyka komunikatow systemowych) - powstaly manuale :) smtp-gated(8) i smtp-gated.conf(5) 1.4.9 : - obsluga ENHANCEDSTATUSCODES we wlasnych komunikatach - pozmieniane niektore deklaracje z signed int na unsigned int dla porzadku - zmiana kodu powitania przy blokadach/problemach na 554 - usuniety potencjalny wyciek pamieci wspoldzielonej (mogl wystapic wylacznie podczas nieprawidlowego startu) 1.4.8 : - zamkniecie stdin,stdout,stderr przy pracy w tle - zmiana biezacego katalogu na spool_path podczas normalnej pracy (w tle) - chroot_path pozwala na uruchomienie programu w chroot-owanym srodowisku (wszystkie pozostale sciezki sa wzgledem chroot_path!) - nowe opcje linii komend: -s, -S, -r - nie zglasza bledow ECONNRESET w get_line (tylko smieci w logach) - ignoruje sygnal SIGPIPE - log_rcpt_to=1 => logowanie tylko zaakceptowanych, >1 wszystkich - log_helo: logowanie parametru HELO/EHLO - poprawiona (i uproszczona) obsluga DATA - poprawiony potencjalny problem z synchronizacja potoku - dodatkowe statystyki (liczby wirusow/spamu/odrzuconych polaczen) - po SIGTERM odlacza sie od sluchajacego gniazdka i czeka na zakonczenie istniejacych polaczen - zmienione niektore komunikaty - poprawione tworzenie nazw lockfile z uzyciem identa (!) - uaktualnione skrypty startowe dla debiana i redhata 1.4.7 : - wyrzucona nazwa spool-a z logow - dodany naglowek X-Spool-Info na poczatku zawartosci spoola z informacjami skojarzonymi z nadawca, procesem i MTA - pozmieniane niektore komunikaty w logach (!) - logowanie liczby odbiorcow w sesji (rcpts=) - MAIL FROM i RCPT TO logowane po dwie sztuki w miare mozliwosci - mozliwosc spolszczenia domyslnych komunikatow dla klientow podczas kompilacji (-DPOLISH w Makefile) 1.4.6 : 10.02.2005 - nazwa wirusa w lockfile - prawa do pliku PID (w makrodefinicji) - Makefile strip-uje binarke przy upgrade - pomija antyspam jesli minutowy loadavg jest powyzej spam_max_load 1.4.5 : 09.02.2005 - w statusie podaje predkosc sesji klienta - loguje czas oraz identa przy polaczeniach bezposrednich (direct proxy) - akceptuje brak pustej linii na koncu pliku konfiguracyjnego - poprawiona obsluga log_level - logowanie MAIL FROM i RCPT TO - plik .pid tworzony po ewentualnej zmianie UID/GID - logowanie rezultatu z identa jesli jest nieprawidlowy - nieco uporzadkowany kod 1.4.4 : 06.02.2005 - blokowanie zawirusowanych komputerow (lock_path, lock_duration) - 'lockfile' z UID=0 uznawane sa za nieistniejace, ale zapobiegaja dalszym (czasowym) blokadom - nowa zmienna log_level definiuje poziom komunikatow w syslogu i na konsoli - logowanie liczby tranzakcji SMTP (przy zamknieciu polaczenia) - 'foreground' wyrzucone z pliku konfiguracyjnego na rzecz linii komend - zmiana '-c' na '-t' oraz '-T' (upgrade wersji trzeba dokonczyc recznie) (!) - nieco uporzadkowany kod 1.4.3 - jesli wystapi blad podczas spoolowania, to usuwa plik i ignoruje blad - uporzadkowanie kodu, struktur i nazw - timeout dla connect() do serwera SMTP oraz do serwera ident - w statusie: data startu, data restartu, czas dzialania - flagi volatile sig_atomic_t: force_reconfig, force_dump - obsluga SIGCHLD przeniesiona do petli glownej serwera (przez flage child_died) - komunikaty action(...) przy foreground=1 wysylane na stderr - BDAT teoretycznie obslugiwany przez direct_proxy (czyli bez ingerencji i skanowania) 1.4.2 - wstep do supportu dla SMTP BDAT (eksperymentalnie-wstepny-niepelny) 1.4.1a - dodana obsluga bledu EINTR dla wait3() 1.4.1 - dodane ograniczenie na ilosc polaczen na ident'a - zmiana nazwy max_procs na max_connections - zmiana nazwy load_max na max_load - dodany parametr priority (nice value) - dodany parametr load_max (load avg 5,10) - dodany USR1 (state dump do pliku dumpfile) - poprawiony buffer overflow w funkcji spamscan (recv) 1.3.15 - zmiana timeout_connection na timeout_idle (!) - zmiana wartosci niektorych timeout-ow - wpis w logu jesli potomek umrze smiercia nienaturalna - akceptacja "DATA" oraz "DATA [...]" - wspolpraca ze spamassassinem - * http://old.spamassassin.org/full/2.6x/dist/spamd/README.spamd - zmienna use_netfilter - loguje calkowity czas trwania polaczenia - dodane ograniczenie ilosc polaczen (procesow): max_procs - dodane ograniczenie na ilosc polaczen na hosta: max_per_host 1.3.14 - dodane timeout_connection i reakcja na niego - konfiguracja wyswietlana z tablicy config_options - wartosci domyslne w tablicy config_options - zmieniony naglowek z X-NAT-Path na X-NAT-Received: - parametr abuse - blok przeniesiony do inject_nat_header() - licznik procesow potomnych 1.3.13 - mozliwosc pracy lokalnej (netfilter), bez wspolpracy ident-a (z p3scan) - wykrywanie petli (z p3scan) - jesli konczy z powodu jakiegos sygnalu, to wstawia jego numer w syslogu - statystyki odebranych bajtow 1.3.12 - naglowek X-NAT-Path: 1.3.11 - support dla clamd - nie tworzy spool-a jesli scan_max_size=0 1.3.10 - konczenie spoolowania powyzej scan_max_size - czas skanowania w logach - 'connection closed' pokazuje ktora strona zamknela polaczenie - jesli ignore_errors, to ignoruj takze problemy z utworzeniem pliku tymczasowego 1.3.9 - opcja scan_max_size (-1 == brak ograniczenia) - parametr -v 1.3.8 - opcja source_addr - poprawione SO_REUSEADDR - bylo nie przy tym gniazdku :) - (powinno byc przy proxy) 1.3.7 - odtwarza errno po got_signal 1.3.6 - opcja leave_on_error - opcja pidfile 1.3.5 - poprawione ignore_errors - przy HUP otwiera gniazdko tylko gdy port>=1024 albo gdy uid==0 1.3.4 - socket ma teraz ustawiana opcje SO_REUSEADDR, bo daemon umieral przy HUP-ie :) 1.3.3 - opcje set_user, set_group - zwraca 0 jesli konfiguracja jest poprawna 1.3.2 - opcja ignore_errors 1.3.0 - komunikaty przeniesione do konfiguracji 1.0.0 : luty 2004 - pierwsza wersja : vim: set syntax=changelog textwidth=80 tabstop=4 shiftwidth=4 :