SMTP-Gateway (aka smtp-gated) proxy changelog
---------------------------------------------

1.4.12-rc9 :
  - 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". jeli nawet jeden bdzie mia jaki buffer-overrun to nie
    rozoy 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 tw=80 syntax=changelog :

