Zmeny mezi 2.1.8 a 2.1.9:
	doc:	vyrazny updejt a zjednoduseni, nyni plne validni HTML 4.01
		transitional, prikazy/konstrukce ktere pujdou pryc v 3.0
		byly oznaceny jako takove
	parser: objeven jeste jeden pripad isspace() bez nutneho
		castu parametru na (unsigned char)
	Apache: opraven hook pro mod_ssl tak, aby prekodovani fungovalo
		i v pripade, ze jde o anonymni (neautentikovany) SSL pristup
		[ nalezl: Petr Bydzovsky <petr@rozhled.cz> ]
	parser:	nebyl spravne resetovan priznak, ze byl nalezek CSacek
		prikaz nebo tag; toto vedlo k drobnemu poskozeni obsahu
		dokumentu v nekterych pripadech
		[ nalezl: Michal Jurosz <mj@korab.cz> ]

Zmeny mezi 2.1.7 a 2.1.8:
	gen:	parametr ruznych volani toupper() (via CSA_UPPER()) musi byt
		nejdriv preveden na unsigned char - na architekturach, kde
		je char signed by se jinak mohlo toupper() volat
		se zapornym cislem pro znaky >128
	csa_Meta: odstranen omylem zanechany debug vypis

Zmeny mezi 2.1.6 a 2.1.7:
	gen:	v META tag se pouze prepise obsah retezce pro CONTENT
		za 'charset=', zbytek obsahu tagu se ponecha beze zmeny,
		vcetne nazvu parametru; primarne pro podporu xhtml
		notace <meta .... />
		zpracovani META tagu bylo trochu upraveno a zjednoduseno,
		je nyni _nutne_ mit nejdrive HTTP-Equiv a teprve pak CONTENT.
		[ upozornil: Jan Vrany <JanFrog@skaut.cz> ]
	csacekTestJS: pokud On (default Off), CSacek pouzije heuristiku
		pro uhadnuti, zda predavany text/html dokument je ve skutecnosti
		plain JavaScript; pokud ano, obsah pouze prekoduje, ale
		neprepisuje pripadne HTML tagy
		[ pozadavek & sponzoring: Roman Rohr <roman.rohr@uhk.cz> ]
	parser:	parser vygenerovan z cmds.y pomoci Bison 1.18
	FILE:	pridan nova forma CSacku - 'FILE' - ktera pouze
		prekoduje a vypise obsah souboru, jehoz jmeno bylo
		zadano jako command line parametr. Toto je urceno
		pouze pro testovani chovani CSacku.
	csacek_info: upraveno tak, aby vystup bylo validni HTML 4.01
		(pridano DOCTYPE, META s jazykem) a pridano logo
		W3C
	gen:	zruseno prepisovani DOCTYPE - bylo to jen kvuli chybe
		MSIE 3.0, ktery je jiz nekolik let za horizontem
		sve vyznamnosti; prepisovani DOCTYPE navic zpusobuje
		neplatnost napr. XML kodu
		[ problem nalezl: Petr Stanek <snek@penguin.cz> ]
	gen:	ve <script> kodu vypni zpracovani _vsech_ HTML tagu, i
		FONT - resi problem, kdy pri prekodovani z windows-1250
		se blok
			<script>document.write("<font size=\"7\">");</script>
		nespravne prepise na
			<script>document.write("<font size="\"7\"">");</script>
		[ chybu nalezl: Vaclav Slavicek <vaclavs@macron.cz> ]
	gen:	pool pro docasne struktury je v csa_process_body() procistovan
		jen kdyz je treba; toto muze mirne urychlit zpracovani
		v obvyklych pripadech
	gen:	pretypuj parametr isspace() na (unsigned char) - pri pretypovani
		na (int) zustane cislo zaporne, pokud je char na dane
		architekture 'signed'. Toto mohlo za urcitych okolnosti
		zpusobit pad CSacku, nebo podivne chovani.
	gen:	v <?xml?> tagu se pridavala se mezera za posledni parametr
		tagu xml, tedy
		  <?xml version="1.0" encoding="us-ascii"?>
		se nekorektne prepsalo na
		  <?xml version="1.0" encoding="us-ascii" ?>
		[ chybu nasel: Petr Stanek <snek@penguin.cz>
	share:	posli klientovi hlavicku Content-Length i pro HEAD - nemusi byt
		nutne dobre v pripade, ze dokument obsahuje CSacek prikazy,
		ale toto neni casty pripad a i v tomto pripade je lepsi
		poslat orientacni velikost, nez nic.
		[ zmenu navrhl: Michal Krause <mike@navrcholu.cz> ]
	configure: LN_S nekdy obsahuje obsah v apostrofech, osetri to

Zmeny mezi 2.1.5 a 2.1.6:
	isapi:	osetri POST s nulovymi daty
		[ problem nalezl: Jaromir Ocelka <ocelka@ics.muni.cz> ] 
	isapi:	oprava pro IIS 4.0 - vytvor v ReadRawData CSacek kontext
		pouze v pripade, ze se nejedna o platny zacatek pozadavku
		[ problem nalezl: Jaromir Ocelka <ocelka@ics.muni.cz> ]
	cstools:  pridej SECTION SIGN (paragraf)
		[ problem nalezl: Jaromir Ocelka <ocelka@ics.muni.cz> ]
	configure: pro tr pouzij 'abcd...xyz' 'ABCD....XYZ' misto [a-z] [A-Z] -
		to pro nektere implementace tr nefunguje
		[ problem nalezl: Libor Bubik <ibor.bubik@proit.cz> ]
	cstools: pridej DEGREE SIGN
		[ problem nalezl: Petr Klimovic <klimovicp@zto.cz> ]
	toguess: * pokud klient posle Accept-Charset, pouzije se "nejlepsi"
		  hodnota z teto hlavicky i v pripade, ze klient poslal
		  v Accept-Language "cs"; predtim se klientovi vzdy dalo
		  iso-8859-2
		 * csa_toguess(): pri vypostu priorit v Accept-Charset
		   se neupdejtovalo maxq, coz mohlo vest k nespravnym vysledkum
		[ problem nalezl: Martin "Marji" ermk <cermak@trimedia.cz> ]
	tag SCRIPT: nyni se URL upravuje i v tomto tagu pro atribut 'SRC'
		[ problem nalezl: Daniel Kafka <daniel.kafka@multimedia.cz> ]
	gen:	v tagu <?xml ... ?> se omylem vkladala mezera mezi
		<? a xml - musi to byt dohromady "<?xml"
		[ nalezl: Jaromir Ocelka <ocelka@ics.muni.cz> ]
	configure: pridano --with-apxs, ktere dovoluje explicitne zadat cestu
		ke skriptu apxs; skript se take krome adresaru v PATH hleda
		take v na nekolika typickych mistech, ktere byt v PATH nemusi
		(/usr/local/sbin, /usr/sbin, /usr/pkg/sbin)
		[ vyrobil: Ivo Panacek <Ivo.Panacek@regionet.cz> ]
	Apache: pridan mod_czech kompatibilni template soubor cestina.html
		[ vyrobil: Ivo Panacek <Ivo.Panacek@regionet.cz> ] 

Zmeny mezi 2.1.4 a 2.1.5:
	Apache:	mod_ssl: pri zpracovani sub-requestu nech Apache core pouzit
		originalni connect_rec (ne ten podstrceny CSackem) - mod_ssl
		potrebuje ssl kontext pro opetovne otestovani pristupu a
		pripadne SSL renegotiation; toto take opravuje chybu, kdy
		k adresari se zapnuutym SSLRequireSSL neslo pristupovat ani
		pres https
		[ upozornil: Petr Simek <petrsi@jcu.cz> ]
	gen:	u URL, ktere atribut HREF nemely cely v uvozovkach apostrofech
		a presto uvozovky/apostrofy obsahovaly, se tyto chybne
		pouzily jako kdyby byl cely obsah atributu HREF v nich uzavren
		Projevilo se napr. u URL typu <A HREF=doc.location=''>foo</A>.
		[ nasel: Robert Janacek <robert@acs.cz> ]
	gen:	kompresuj pouze text/html a text/plain - napr. Netscape 4.6
		ma problemy pokud se zkompresuje cascade style sheet soubor
		(.css) a i jini klienti mohou mit problemy
		[ nasel: Zdenek Kaminski <xkaminsk@informatics.muni.cz> ]
	Apache: pokud byl modul zkompilovan pro EAPI, vypisuj tento
		fakt i ve strance vracene pri ?csacek_info
	Apache:	opravena chyba v csa_merge_conf() ktera zpusobovala, ze
		v konfiguraci virtualnich serveru nebylo mozne nastavit
		jinou hodnotu nekterych parametru CSacku, nez byla globalni
		(pripad napr. csacekEngine a csacekCompress)
		[ nasel: Pavel Kalian <pkalian@ssw.cz> ]

Zmeny mezi 2.1.3 a 2.1.4:
	gen:	pri predavani hlavicek Set-Cookie si CSacek pro nektere
		tvary Set-Cookie prepsal kus zasobniku, coz mohlo vest
		k padu; to se projevilo jen pri explicitnim vybrani
		vystupniho kodovani (tj. pri URL typu http://server/toXXX/neco/)
		[ nasel: Tomas Zeman <tom@serv1.triky.cz> ]
	Apache, ISAPI: globalni seznam CSacek serveru je v csacek_servers,
		csa_conf_t->Servers zruseno; csacek_servers je modifikovano
		pouze konfiguracnim prikazem csacekServers (+ pri inicializaci,
		kdy se pridavaji virtualni servery), pro per-request
		seznam se pouziva p->csacek_servers
	Apache:	direktiva csacekServers je nyni volatelna jen v souborech *.conf
	doc:	pridano FAQ v HTML podobe - doc/faq.html
	cstools: v kodovani bri Kamenickych opraveno premapovani
		velkeho U s krouzkem a U s carkou; spravne kodu danych
		znaku prevzaty z cstocs od Jana Kasprzaka a Jana Pazdziory
		[ oprava: Tomas Churavy <churavy@fnplzen.cz> ] 
	gen:	pri zmene Accept-Language se jmeno aktualni casti (partname)
		pridava jen tehdy, kdyz se nerovna prvnimu tokenu
	prekodovani: ignoruj indikaci iso-8859-1 v Content-Type,
		META a XML - nektery software ho pouziva jako default i tehdy,
		kdyz to neni spravne - zejmena problem s poslednimi betami PHP4
		[ bohuzel uz nevim, kdo mi poslal duvod onoho problemu
		  s PHP4b3 puvodne; tato zalezitost byla diskutovana i s
		  Pavlem Kolesnikovem <k@les.cz> ]
	API:	nova fce csa_switch_incharset() - odstranuje duplicitni
		kod v loop.c:csa_process_headers(), share.c:csa_Meta()
		a share.c:csa_Xml()
	PARTs:	atribut OTHER nebyl rozpoznan spravne; problem zejmena
		pro whichcode, kde se lidem mimo cesko vratila
		poloprazdna stranka (zkuste http://server/whichcode.en/
		s CSackem 2.1.3) - chyba zanesena pri rozdelovani
		atributu flags ve strukture csa_params_t na flags a
		flags_parts ve verzi 2.1.3
	gen:	pokud URL zacina na /.XXX/neco, a XXX neni nazev platneho
		kodovani, nepovazuje se nyni ani za jmeno casti (viz PART);
		vedlo k tomu, ze v URL typu http://server/.neco/cesta/nekam.html
		se cast /.neco/ ignorovala a predal se dokument s URI
		http://server/cesta/nekam.html
		[ upozornil: Petr Linke <petr@novicom.cz> ]
	gen:	server Zeus CGI skriptum tvrdi, ze klient je HTTP/1.1
		i kdyz neni - pod Zeusem tedy CSacek NESMI NIKDY pouzit
		vlastnosti protokolu HTTP/1.1, protoze neni jiste,
		co podporuje klient
		[ nasel: Vladimir Stwora ]
	INSTALL: znovu pridan VELMI strucny INSTALL, ktery da zakladni
		informace co delat a kde dal hledat
		[ doporucil Radek Vybiral <Radek.Vybiral@vsb.cz> ]
	gen:	opravena chyba pri predavani dokumentu - za urcitych
		podminek CSacek dokument predcasne ukoncil a nepredal ho cely
		[ objevil Radek Vybiral <Radek.Vybiral@vsb.cz>, k odstraneni
		  velmi pomohla data od Honzy Dusaka <hd@ti.cz>]
	gen:	prikazovy tag CSacku (defaultne ?) se da zmenit pomoci
		parametru skriptu configure --with-cmdtag
	gen:	pri cteni HTML tagu se bere jako jeho konec prvni ">" i tehdy,
		kdyz je logicky nespravne, tj. napr. v uvozovkach; osetri
		se tak chyby v predavanem dokumentu typu
			<A HREF="http://neco/" TARGET="_blank"">
		[k nalezeni a odstraneni prispeli Pavel Kalian <pkalian@ssw.cz>
		 a Radek Vybiral <Radek.Vybiral@vsb.cz>]
	gen:	pri uprave tagu (napr. pri prepisovani URL) se do vystupu jmeno
		tagu vypise stejne, jako bylo v originale
	toguess: upraveno tak, aby lide z Polska a Madarska take defaultne
		dostavali dokument v iso-8859-2
	toguess: zmena prubehu hadani i obsah Vary - Accept-Charset
		se pouzije jenom pokud Accept-Language neni dostatecne
		pro zjisteni podporovaneho kodovani klienta; do Vary
		se nyni vzdy dava Accept-Language a Accept-Charset jen tehdy,
		kdyz Accept-Language nebylo poslane nebo nebylo dostatecne
		pro zjisteni podporovaneho kodovani
	toguess: pri hadani pro implicitni prekodovani se nyni pro vyberu
		kodovani z Accept-Charset bere v uvahu i atribut kvality
		(q=XXX) u jmen podporovanych kodovani a kodovani se
		testuji v poradi, ve kterem jsou v hlavicce uvedeny -
		implementace vicemene odpovida davne diskuzi s Petrem Souckem
		<ad-vis@iol.cz>; opravuje take chybu "CSacek neposila charset
		pokud server i klient maji nastaveno jako kodovani
		windows-1250", hlasenou na linux@linux.cz
		(problem nalezl: Petr Tesarik <tesarik@lupa.cz>)
	Apache, ISAPI: procisteno zachazeni s konfiguracni strukturou csa_conf_t
		atributy recodeinput, compress, changeurl atd prevedeny
		na jediny atribut flags a sadu konstant CSA_CFG_*
	debug:	na MS Windows se v nazvu souboru s debug logem pouzije
		nahodne cislo misto PID - kvuli zpusobu alokace PID
		pod MS Windows maji po sobe spustene procesy casto
		stejne pid a pak se v debug logach spatne orientuje
	gen:	zmena struktury csa_conf_t - jednotlive short atributy
		slouceny do jedineho 'flags' + sada defajnu CSA_CFG_* - kod
		je tak misty citelnejsi
	http:	parametr charset se nyni posila i kdyz je dokument
		predavan v US-ASCII
	gen:	CSA_USE_CHARSET uz neni nastavitelne, CSacek v hlavicce
		Content-Type posilane klientovi parametr charset posila
		vzdy
	cstools: pridany aliasy "lat", "iso" a "koi" - tyto nazvy pouziva
		mod_czech a usnadni se tak prechod uzivatelu na CSacek
		[ oprava: Zdenek Sindelar <prcek@pinknet.cz> ]

Zmeny mezi 2.1.2 a 2.1.3:
	cstools: mezi pripustne nazvy pridano iso8859-1 a iso8859-2 - tato
		mutace spravneho MIME nazvu se obcas nekde pouziva
		[ upozornil: Petr Tomasek <tomasek@etf.cuni.cz> ]
	gen:	prepisovani URL se v sekci <SCRIPT> ... </SCRIPT> nedela -
		pokud se v napr. JavaScript kodu dynamicky vytvari odkazy,
		CSackovsky parser si neporadil s prislusnymi escape
		sekvencemi a vyprodukoval neplatny JavaScript kod
		XXX tohle bude pozdeji vyreseno poradne
		[ nalezl: Pavel Kolesnikov <k@les.cz> ]
	gen:	silne procisten kod, starajici se o hledani CSacek prikazu
		v predavanych datech; kod byl take zoptimalizovan pro
		typicky pripad, kdy se najde neco mezi <!-- a -->
		nebo <? a ?> nebo < a > a nejedna se o CSacek prikaz
	gen:	URL se nyni prepisuje i v tagu AREA (pouziva se v client-side
		image mapach)
		[ problem nasel: Filip Vojtasek <Filip.Vojtasek@ff.cuni.cz> ]
	gen:	zoptimalizovany a procisteny csa_add_recode_output() a
		csa_add_subs_output(), mely by byt nyni mirne rychlejsi
		a v nekterych pripadech take vic setrit pameti
	gen:	mikrooptimalizace v csa_decodequery()
	gen:	opravena hruba chyba v csa_decodequery(): pri vyskytu %XY
		sekvence se na jednom miste pricetlo dva misto odecteni, coz
		vedlo k tomu, ze se mohlo zpracovavat vetsi mnozstvi dat, nez
		bylo na vstupu k dispozici
	ISAPI:	zrusen kod, ktery byl drive nutny pro pripad, ze se
		delka vstupnich dat v csa_decodequery() zmenila; ted co
		csa_decodequery() vzdy vraci stejne dlouhy retezec jako byl
		original uz tento kod neni nutny
	servlist: csa_write_servers() opraveno - vypisovalo vzdy prvni
		polozku z kazdeho hash bucketu tolikrat, kolik tam bylo polozek
		(projevilo se v csacek_info)
	konfigurace: v seznamu serveru predanemu konfiguracnimu prikazu
		csacekServers je nyni oddelovac jmeno a portu serveru dvojtecka,
		aby to bylo konzistentni s vypisem v csacek_info a s tim,
		v jakem tvaru se to pise v URL; "stary" tvar (oddelovac mezera)
		je stale podporovan
	doc:	v popisu parametru skriptu configure je napsan take priklad
		nekolika typickych nazvu a odkaz na to kde najit ostatni
		[ idea: Radek Vybiral <Radek.Vybiral> ]
	Apache:	modul funkcni i pod Strongholdem
	cstools: pole cstools_itab[] je nyni setridene podle delky jmena a
		kazda polozka obsahuje delku nazvu - umoznilo mirnou
		optimalizaci cstools_whichcode()
	configure: vypisovane zpravy jsou nyni v anglictine, v cestine
		zustala jen napoveda (--help) - ten cesko-anglicky mismas
		byl prilis schizofrenni
	configure: --with-defsource nahrazeno --with-server-charset,
		jako jmeno kodovani lze pouzit kterekoli jmeno
		z pole cstools_itab[], zejmena tedy MIME nazvy
		[ idea: Radek Vybiral <Radek.Vybiral@vsb.cz> ]
	configure: --with-mutace nahrazeno --with-target
		[ idea: Radek Vybiral <Radek.Vybiral@vsb.cz> ]
	licence: zmena z GPL na BSD-like

Zmeny mezi 2.1.1 a 2.1.2:
	scripts: copy_csacek.bat --> copy_cgi.bat, pridany jednoduche
		instalacni skripty pro CGI a ISAPI (budou pouzity v binarnich
		distribucich pro MS Windows NT)
	gen:	CSacek rozpoznava XML tag <? xml version="XX" encoding="YY ?>,
		parametr "encoding" upravuje podle toho, do jakeho kodovani se
		dokument prevadi a onu hodnotu take pouzije pro urceni
		puvodniho kodovani daneho dokumentu
		[ napad: Jan Jaros <posta@jerry.cz> ]
	gen:	kazdou hlavicku WWW-Authenticate posilej samostatne
		(tj. nespojuj ji s ostatnimi) - nekteri klienti (napr. MSIE)
		ma podle vseho problemy, kdyz se takhle spoji hlavicka
		pro NTLM a Basic autentifikaci
		Pozor: tyto hlavicky stejne nakonec muzou skoncit dohromady,
		pokud je slouci server, pod kterym CSacek bezi (napr. Apache
		tyto hlavicky slucuje)
		[ chybu nasel: Ladislav Kubes <kubes@texpert.cz> ]
	INSTALL: popis instalace je nyn soust HTML dokumentace a soubor
		INSTALL byl zruen; popis byl doplnn nap. o postup instalace
		ISAPI CSku, veobecn upraveno tak, aby odpovdalo souasnmu
		stavu vc
	ISAPI:	autentifikace typu NTLM nyni funguje
		[ chybu nasel: Ladislav Kubes <kubes@texpert.cz> ]
	Apache: pridana podpora mod_ssl, vsechno zda se funguje OK :))
	Apache:	na konci zpracovani pozadavku explicitne volej ap_bflush()
		spojeni s klientem - zda se, ze nekdy se tohle implicitne
		neudela 
	Apache, CGI: opraven file upload
		[ chybu nahlasil Michal Krause <mike@navrcholu.cz> ]
	Apache: csa_debug_register_cleanup() nezadalo child cleanup
		pri volani ap_register_cleanup(), coz vedlo k dereferencovani
		nuloveho ukazatele napr. pri spousteni CGI skriptu v pripade,
		ze bylo zapnute csacek debuggovani (CSA_DEBUG, --with-debug)
	gen:	csa_decodequery() nyni zajistuje, ze vysledeny retezec
		je stejne dlohy jako puvodni; minus je, ze klientska
		data ani kodovani serveru nemohou byt v Unicode, plus to,
		ze se vyrazne zjednodusi kod zachazejici s POST/PUT daty
		v Apache a ISAPI modulu a zabrani se nechtenym interferencim
		s jinymi moduly
	string.c: g/c zruseny fce csa_hex2char(), csa_char2hex(), uz se nikde
		nepouzivaji
	slist:	pridan novy CSacek prikaz csacekServers, majici podobnou
		syntaxi jako stejnojmenna konfiguracni direktiva - akceptuje
		seznam jmen serveru s nepovinne uvedenym portem,
		navzajem oddelene mezerou - priklad:
			csacekServers dior.ics.muni.cz:8007 www.moje.cz
		Prikaz csacekServers podporuje i "stary" format zadavani jmena
		severu tak, jak byl v implementaci prikazu csacekServer
		- prikaz csacekServer je stale docasne podporovan, je
		  ekvivalentni s csacekServers
	slist:	www.csacek.cz se vzdy pridava do seznamu CSacek serveru
	Range:	pokud klient specifikoval hlavicku range a je schopen
		chunkovani, priznak o schopnosti chunkovat musi byt zrusen
		behem interniho zpracovani CSackem (viz x_finish_body() proc),
		jinak se mohou stat spatne veci (pravdepodobne se klientovi
		posle cely dokument a za nim jeste nejaka nahodna cast dat)
	parts:	pokud nazev casti nebyl uveden v URL predavaneho dokumentu,
		necpe se defaultni nazev casti ani do prepisovanych URL
		v dokumentu
	komprese: inicializuj kompresi az je treba a nepouzij ji _vubec_
		pokud se klientovi bude predavat jen cast dokumentu (Range) -
		opravuje potencialni chybu, kdy se na zacatek zpracovavanych
		dat mohly dostat data posilana initializacni rutinou
	gen:	"flagovite" cleny struktury csa_params_t nahrazeny jedinym
		clenem "flags", jehoz jednotlive bity jsou pouzity pro oznaceni
		true/false dane hodnoty
	gen:	opraven chybny test, diky kteremu se neposilala Vary ani
		v pripade, ze mela
		[ nasel Hynek Med <hynek@med.cz> ]
	gen:	drasticky zoptimalizovano prohledavani seznamu CSacek serveru
		(50-80x rychlejsi pro seznam velky 1000 serveru, 6-10x pro
		50 serveru) - znatelne pri nasazeni CSacka na velkou
		serverovou farmu, ktera muze mit stovky a tisice virtualnich
		serveru (u Apache CSacka se vsechny virtualni servery
		implicitne ocitnou na seznamu CSacek serveru)
	CGI:	"bezpecny" mod: CSacek pod Netscape serverem automaticky
		hlida i soubory ".nsconfig" bez toho, ze by bylo nutne
		menit CSA_SECUREFILE v csa_defaults.h a rekompilovat
	Apache: mod_csacek.so se nezkompiloval automaticky ani v pripade, ze
		apxs bylo v ceste; chyba byla v omylem zakomentovanem
		volani ${APXS} v Makefile.in
		[ nasel Radek Vybiral <Radek.Vybiral@vsb.cz> ]

Zmeny mezi 2.1.0 a 2.1.1:
	gen:	opravena fce csa_strcasestr() tak, aby opravdu prohledavala
		cely retezec cas-insens (predtim se prvni znak retezce
		search stale porovnaval case-sens); typicky problem
		byl pri zpracovani URL typu http://www.nekde.cz/guess/neco.html,
		ktere se spatne presmerovalo na
		http://www.nekde.cz/guessISO-8859-2/neco.html misto
		na http://www.nekde.cz/ISO-8859-2/neco.html
		[ nasel Jakub Rosa <rosa@vsnet.cz> ] 
	ISAPI:	pokud jadro serveru poslalo hlavicky na nekolikrat a
		Transfer-Encoding nebylo az v posledni davce hlavicek,
		CSacek si myslel, ze nebylo vubec poslana a data neodchunkoval
		tak, jak by mel
	Apache:	direktiva csacekChangeURL je nyni funkcni
		[ opravu poslal Pavel Krebs <pavel.krebs@varicad.com>]
	gen:	zpracovani hlavicky META zmeneno tak, aby se ve vysledku
		objevil stejny typ uvozovek, jako byl ve zdroji; take
		opravena chyba v 2.1.0, kdy se ve vytvarenem META elementu
		omylem hodnota parametru HTTP-Equiv neuzavrela uvozovkou
	ISAPI, Apache: jakykoli podretezec retezcu "whichcode", "GUESS",
		__CHARSET__ za zacatku URL byl funkci csa_parse_sn()
		bran jako oznaceni cilove znakove sady - jestlize
		se nejednalo o cely retezec, csa_init_params() pak
		chybne zahlasilo "Bad output code name"; typicka
		ukazka je URL typu "http://www.nekde.cz/g/neco.html"
		[ nasel Jakub Rosa <rosa@vsnet.cz> ] 
	ISAPI:	expirujici verze nyni nepise do event logu hlasku
		"991026:991126" (jednalo se o omylem ponechanou ladici zpravu)
	CGI:	* pro sub-request se nyni pouziva HTTP/1.1
		* hlavicky se nazpatek serveru posilaji i v pripade, ze
		  se jedna o HTTP/0.9 pozadavek - je zodpovednost
		  serveru nepreposlat je dal klientovi a pokud je server
		  od CGI skriptu nedostane, muze byt zmaten - nyni
		  HTTP/0.9 proti Apache serveru funguje i v pripade,
		  ze pozadavek jde pres CGI CSacek
	gen:	prislusne nastavuj Vary, aby pripadna proxy cache vedela,
		podle ceho se odpoved meni a neposkytovala nakesovanou
		verzi i klientum, kteri maji jine nastaveni preferenci
		ci jine schopnosti komprese
		[ Hynek Med <hynek@med.cz> ]
	gen:	nyni se prekodovavaji i chybove odpovedi od serveru (tj. ty,
		ktere maji status jiny nez 2xx, 301 a 302)
	Apache: pokud byl dokument na vstupu CSacka chunked a neprekodovaval
		se (tj. pouzilo se csa_direct_forward()), zchunkoval
		se _jeste jednou_, tj. vysledny efekt byl, ze se minimalne na
		zacatku a konci predavanych dat objevily hexadecimalni
		cisla (delky jednotlivych chunku)
	Apache: pro logovani se nyni pouziva ap_log_error() misto
		ap_log_error_old()
	Apache: na konci zpracovani pozadavku se nyni vola
		ap_finalize_request_protocol(), ktere mimo jine ukonci
		chunkovani zaverecnym "0\r\n\r\n"
		[ Patrik Rak <patrik@ein.cz>]
	Apache:	pouziti direktivy csacekRecodeInput nyni nezpusobi pad
		serveru pri zpracovavani konfiguracniho souboru
		[ Michal Krause <mike@navrcholu.cz> ]
	Apache: opraveno zacykleni v pripade, ze server byl pozadan o stranku
		vetsi nez X_CSA_OUT_BUFLEN_CHUNK (8150) HTTP/1.1 klientem
		[ Michal Krause <mike@navrcholu.cz> ]
	doc:	defaultni RedHat konfigurak pro Apache pouziva ClearModuleList
		a AddModule direktivy, v tomto pripade je tedy do konfigurace
		nutno pridat i AddModule direktivu pro CSacek; prislusne
		upraven INSTALL
		[ Radek Vybiral <Radek.Vybiral@vsb.cz> ]
	gen:	pri prepisovani URL se pouzivaji stejne uvozovky, jako
		byly pouzity ve zdroji; znamena to, ze napr. v JavaScriptove
		val = "<A HREF='http://nekde/neco.html'" se prekodovanim
		apostrofy nezmeni na uvozovky a kod zustane platny
		[ Radek Vybiral <Radek.Vybiral@vsb.cz> ]

Zmeny mezi 2.0.9 a 2.1:
	Apache:	pokud je na systemu k dispozici apxs, modul se s jeho pomoci
		rovnou i zkompiluje
	cstools: pridana zakladni podpora rustiny - mezi koi8-r, iso-8859-5,
		windows-1251 a cp866 lze prevadet, do/z latinky a Unicode
		zatim ne
	Apache:	do oznaceni serveru se u Apache 1.3+ pridava retezec
		"CSacek/VERZE"
	gen:	prekodovava se cokoli, co ma Content-Type zacinajici na
		"text/" (pricemz se zpracovava stejne jako plain text),
		tj. napr. text/javascript, text/sgml atd.
		[idea Jan Jaros]
	gen:	HTTP/1.1 klientum se data posilaji v chunked kodovani a neni
		tedy nutne, aby se kesovala v pameti kvuli zjisteni vysledne
		delky; vede k dramatickemu zmenseni spotreby pameti i tim i
		zrychleni odezvy
	Apache:	implementovany direktivy csacekImplicitWork, csacekServers;
		csacekServer zruseno
	cstools: pridana podpora CP850
	nova direktiva csacekImplicitWork: pokud je Off, CSacek se zapoji
		do prace jen kdyz je v URL uveden, tj. jen kdyz URL
		je typu .../toXXX/...
	csa_make_headersin(): v hlavicce X-Client-Charset predavej
		mime nazev kodovani, v kterem se dokument zobrazuje klientovi
	gen:	odstranen "prikaz" typu <? promenna ?> -- prakticke pouziti
		bylo jen ve whichcode_template.html a delalo se kvuli tomu
		pomerne dost prace navic
	(Fast)CGI+ISAPI: sdilen kod csa_md_call_whichcode() - kod je
		v samostatne fci csa_process_whichcode_file()
	ISAPI: Sun May 23 12:25:08 CEST 1999: modul je plne funkcni
	komprese: zjednoduseni kodu inicializujiciho kompresi, zruseno
		p->compress_initialized, typ komprese podporovane
		klientem se uklada do noveho p->ua_compress a p->compress
		se na prislusnou hodnotu nastavi az po uspesnem
		zavolani inicializacni rutiny pro dany typ komprese; zadna
		fcni zmena, pouze procisteni kodu
	gen:	plna podpora HTTP/1.1, vcetne hlavicky Range a chunked
		kodovani v odpovedi od serveru 

Zmeny mezi 2.0.8 a 2.0.9:
	gen:	META tag se nyni z dokumentu nerusi, jen se parametr
		charset prepise na spravnou hodnotu - MSIE pri sejvovani
		do jine znakove sady prislusne upravuje i META tag
	gen:	hadani kodovani: pokud vstup vypada na iso-8859-1, zkontroluj
		jeste ostatni kodovani - pri dostatecne malem vzorku
		se muze za iso-8859-1 povazovat i platny iso-8859-2 text
		[nalezl: Ondrej Sury <ondrej@sury.cz>]
	Apache:	pri prekodovani vstupnich dat updejtuj take r->clength a
		hodnotu Content-Length ve vstupnich hlavickach
		[nalezl: Michal Krause <mike@navrcholu.cz>]
	cstools: pridana podpora left single quotation mark, right single
		quotation mark right double quotation mark

Zmeny mezi 2.0.7 a 2.0.8:
	Apache:	modul se identifikuje (napriklad pro potreby IfModule)
		jako mod_csacek.c misto apache.c i pri kompilaci jinym
		kompilatorem, nez gcc (prislusna direktiva #line byla
		v ifdef __GNUC__)
	share.c:csa_send_headerout(): pokud Content-Type neni zadano,
		pouzij text/plain pouze pokud se jedna o CGI mutaci
		a bezime pod mod_html, jinak to nema smysl a muze
		dokonce vadit
		[Snek - Petr Stanek <snek@penguin.cz>]
	toguess: pokud klient ma mezi preferovanymi jazyky cs nebo sk
		a neposlal Accept-Encoding, pouzij iso-8859-2
	Apache-SSL: novejsi verze (od 1.17) uz nepotrebuji patchovat,
		staci nastavit SSL_IS_OPTIONAL na TRUE
	csa_make_headersin(): u hlavicky If-[Un]Modified-Since odstranuj
		parametr length, ktery posila MSIE - IIS na to hledi, ale
		mnozstvi dat, ktere dostal klient od CSacka nemusi souhlasit
		s velikosti fyzicke staticke stranky --> prakticky se
		eliminuje kesovani statickych textovych/HTML dokumentu
		na klientovi
	cmds.y+rmbisonjunk.sed: pri vytvareni cmds.c take zakomentuj definovani
		const pri !SDTC - dela problemy v pripade, ze kompilator
		const zna, ale nejedna se o STDC kompilator - coz je napr.
		pripad IBM cc u AIXu 4.3

Zmeny mezi 2.0.6 a 2.0.7:
	csacekServer: opravena stara chyba v CSacek prikazu <? csacekServer ?>
		argumenty prikazu se alokuji z pool_tmp a jmeno serveru
		se prevzalo bez toho, ze by se zkopirovalo z pool_req,
		takze dany pointr mohl pri pozdejsim cteni vest na temer
		jakakoli data - podle textu na strance a OS mohl diky tomu
		CSacek nahodne padat nebo minimalne ten prikaz nemel zadny
		efekt; chyba nema vliv na direktivu csacekServer[s]
		v konfiguraci serveru
	parts:	opravena stara chyba v csa_DocParts() - pri pouziti part
		ve tvaru <? PART xx=yy OTHER=neco ?> se pri platnem OTHER
		jeho text vypise jen poprve nebo po <? PART ALL ?>
	gen:	automaticke upravovani URL v predavanem dokumentu:
		* pokud je v URL cast za CSackem prazdna (tj. URL je typu
		  "..../toASCII"), vlozi se tam URI prave zpracovavaneho
		  dokumentu vcetne QUERY_STRING
		* pokud URL obsahuje CSacka a aktivni PART neni ten defaultni,
		  uprav URI tak, aby se vybrany PART (treba jazyk) v URI
		  zachovalo
	cstools:opravena velmi stara chyba v cstools_guess_charset() -
		pokud v textu byly nejake CSackovi nezname znaky,
		pri prochazeni cstools_map[] mohl cist za koncem pole,
		coz v zavislosti na OS nemuselo mit zadny nasledek
		nebo mohlo zpusobit pad CSacka (objeveno pri ladeni ISAPI
		CSacka)
	cstools: do tabulek pidn znak apostrof - ne ten klasick ', ale
		ten, vyskytujc se v iso-8859-[12] a windows-1250 na pozici 180
	Apache:	zoptimalizovano zpracovani POST dat, nyni mene narocne
		na pamet
	komprese: deflate se nyni dava prednost pred gzip, pokud klient
		podporuje oboji
	gen:	prekodovani vstupu lze zapnout/vypnout konfiguracni direktivou
	gen:	csa_decodequery(), csa_hex2char(), csa_char2hex() vylepseny,
		nemrha se nyni tolik pameti a jsou snad i rychlejsi
	gen:	csacek_info je nyni o dost pouzitelnejsi, vypisuje plnou
		konfiguraci dane instance CSackam, HTML kod
		u [E][HEAD|TAIL]TEXT jako HTML kod a i ty ostatni ruzne defajny
		trochu prehledneji
		[idea: Jaromir Ocelka <ocelka@ics.muni.cz>, puvodne jen
			vypisovani registrovanych CSacek serveru]
	gen:	zlepsena podpora prepinani jazyka -- pri pouziti odkazu
		typu .../to.XX/.., ../toGUESS.XX/..  se automaticky do URL
		doplnuje kodovani klienta, pokud si klient vybral kodovani
		explicitne
		[idea: Jaromir Ocelka <ocelka@ics.muni.cz>]
	mswin:	defaultni kodovani zmeneno na windows-1250 (bylo iso-8859-2)
		[davna pripominka Jaromira Ocelky <ocelka@ics.muni.cz>]
	gen:	User-Agent uz se nyni nijak nemodifikuje; zbytecne to
		zaneradi logy a stejne to rika serveru to, co uz davno vi --
		ze pozadavek jde pres CSacka
		[na popud Jaromira Ocelky <ocelka@ics.muni.cz>]
	cstools.c: opravena chyba v cstools_guess_charset(): text, obsahujici
		\r, \n nebo \t byl povazovan za binarni --> neprekodovavala
		se POST data, ktera tyto znaky obsahovala
		[nasel Michal Krause <mike@navrcholu.cz>]
	http.c: csa_make_headersin() nyni do vystupniho seznamu nevklada
		vubec hlavicky, ktere se maji vymazat; driv to bylo
		nutne kvuli ISAPI mutaci, tedka je to tam udelane jinak;
		upraven i prislusny MD kod u CGI a Apache modulu
	share.c: csa_unsetitem(): nyni se nezacykli  v pripade, kdyz se
		odstranovana polozka  nahodou nachazi na zacatku seznamu;
		nemelo nastesti efekt v soucasnem kodu, projevilo se az pri
		vyvoji ISAPI CSacka
	doc:	INSTALL: mirne zupdejtovano (neni napr. uz potreba davat
		vzdy do konfigurace serveru direktivu csacekEngine on,
		je to default); u Apache 1.3.X take neni treba primo
		editovat soubor Configuration, stejnou praci odvede
		--add-module=src/modules/extra/mod_csacek.c
		[Rostislav Matl <xmatl@informatics.muni.cz>]
	whichcode_template.html: opraveno nekolik chyb v anglicke verzi textu
		[Jan Prikryl <prikryl@cg.tuwien.ac.at>]
	share.c: pokud cfg je NULL, pouzij csa_cfg_def; zmena ostatniho kodu,
		nyni muze navrdo pocitat s tim, ze cfg je vzdy ne-NULL --
		opravuje take chybu CGI csacku "Bad default source code name."
	Apache:	opravena chyba pri predavani hlavicek Set-Cookie -- predavaly
		se v puvodni podobe, s nezmenenou komponentou ``path'', jen
		posledni z nich byla vypsana jeste jednou s uz opravenou path;
		pouzij ap_table_addn() pri pridavani hlavicek do r->headers_out
		a smaz r->err_headers_out -- muze obsahovat smeti
		ze sub-requestu
		[Michal Krause <mike@navrcholu.cz>]
	lint:	zdrojovy kod je nyni jeste testovan lint(1)em, coz
		odhalilo nekolik skrytych potencialnich chyb a par
		write-only promennych -- aktivace
		pomoci ``make lint'', popr. ``make zdrojak.ln''; lintuju
		na NetBSD, je mozne, ze na jinych systemech nebudou
		podporovany nektere z pouzitych parametru
	gen:	csa_is_csacek_server() opraveno --> nyni opravdu
		funguje prepisovani URL na ostatni CSacek servery
	http.c:	csa_process_headers() -- mirna optimalizace -- pokud
		hlavicka nebude predana klientovi, vubec ji nezpracovavej

Zmeny mezi 2.0.5 a 2.0.6:
	gen:	zrusen CSacek banner (HTML komentar o verzi CSacku
		a typu vystupniho kodovani, vpisovany do prekodovavaneho
		HTML dokumentu)
	Apache: POST data se predaji korektne i v pripade, ze
		CSA_WANT_DECODEQUERY je zapnuto a nejedna se o data
		z formulare
	gen:	hadani vystupniho kodovani - v pripade, ze klient
		posle jazykove preference, ale ne preference kodovani,
		pouzij iso-8859-2 pro cestinu a ASCII jinak (predtim
		se vzdy davalo ASCII)
		[inspiroval Michal Krause <mike@navrcholu.cz>]
	Apache:	POST data se predaji korektne dal i v pripade,
		ze CSA_WANT_DECODEQUERY je vypnuto
		[upozornil Michal Krause <mike@navrcholu.cz>]
	cstools: cstools_recode(): opraven chyba v prekodovavani do Unicode,
		optimalizace a procisteni kodu
	gen:	pri prekodovani z windows-1250 do jineho kodovani se
		prepise ``copyright sign'', ``trade mark sign'' a
		``registered sign'' do prislusne HTML/textove podoby
		[idea Michal Krause <mike@navrcholu.cz>]
	chyby klientu:	MSIE nepouzije CE varianty fontu specifikovanych
		pomoci FONT FACE=XXX, pokud dokument neni ve windows-1250
		(ale treba v iso-8859-2); hodnota tohoto parametru
		se nyni upravuje tak, aby na seznamu byla vzdy nejdrive
		CE varianta
		[upozornil Michal Krause <mike@navrcholu.cz>]
	gen:	csa_toguess(): zprehledneno a zoptimalizovano, DNS lookup
		se dela pouze pokud cilove kodovani/jazyk neni uhadnuto
		z hlavicek, je mozne explicitne vybrat jazyk bez explicitniho
		vybrani charsetu (tj/ URL type /to.en/kdesi/, popr.
		/.en/kdesi/ nyni je podporovano)
	gen:	zoptimalizovan kod menici URL v prekodovavanem dokumentu
	gen:	vypisovani banneru do prekodovavanych HTML dokumentu
		se da vypnout pri kompilaci pomoci
		parametru --disable-banner skriptu configure
	gen:	opravena velmi stara chyba - pri zpracovani hlavicek,
		obsahujicich nepovinne parametry se jako
		jeji "hodnota" (tj. cast bez parametru) vzal
		retezec o 1 mensi, nez mel - tragicke zejmena
		pro hlavicku typu
			Content-Type: text/html; charset=iso-8859-2
		nebot pak se dokument nerozpoznal jako text/html
		(jako typ se bralo text/htm) a dokument se neprekodoval
	chyby klientu: pokud je v Content-Type uveden (nepovinny)
		parametr charset, dokument obsahuje !DOCTYPE a
		!DOCTYPE obsahuje (nepovinne) URL na pouzite DTD,
		MSIE 3.0 nabidne download misto toho, aby dokument zobrazil;
		jako work-around se z !DOCTYPE odstranuje URL na DTD
		[nalezl Michal Krause <mike@navrcholu.cz>]
	komprese: mirne upravy inicializacniho kodu, zadne funkcni zmeny
	doc:	INSTALL: je lepsi adresar s CSacek pridat do EXTRA_INCLUDES
		nez CSackovske hlavickove soubory nakopirovat
		[upozornil  Vladimir Siroky <siroky@med.muni.cz>]

Zmeny mezi 2.0.4 a 2.0.5:
	porty:	alloca() se nyni detekuje korektneji a CSacek funguje
		i na systemu, kde alloca() neni k dispozici
	Apache:	pod Apache 1.1 se modul nyni nejen bez problemu zkompiluje,
		ale take opravdu funguje (pouzivalo se 301 Moved
		permanently, se kterymzto kodem Apache 1.1 nepocita)
	(Fast)CGI:	opraveno duplikovani Content-Length pri
		preposilani POST dat
	porty:	CSacek lze nyni zkompilovat i pod HP/UX 10.20 (testovan
		CGI CSacek, K&R cc)
	gen:	opraveno dublovani rovnitka pri zpracovani URL (zavlecena
		chyba pri oprave zpracovavani parametru typy jmeno-hodnota);
		kod kolem byl take mohutne prepsan do mnohem citelnejsi podoby
		[chybu objevil Michal Krause <mike@navrcholu.cz>]
	porty:	CSacek se nyni bez problemu zkompiluje na AIXu (testovano
		na AIX 4.2/RS6000 s gcc) a AIX je jedna z podporovanych
		platforem (ziskal jsem pristup na stroj s AIXem)
	lex. analyzator:	mirne prepsano, nastavuje se explicitne
		priznak o uspesnosti spusteni prikazu i v pripade
		uspechu, u CSA_VARIABLE bylo eliminovano jedno
		csa_getvar() (s podporou v loop.c)
	make:	upravy build procesu; make realclean nyni smaze
		vsechny soubory i s temi generovanymi skriptem
		configure, s/YACC/BISON/, bison nyni pouziva
		predponu pro interni fce csa_yy a generovany csa_cmds.h
		se upravuje tak aby byl safe na multiple-includnuti (je
		to tedka nutne, uz se neikluduje v csacek.h, kde byl
		chranen spolu se zbytkem obsahu csacek.h)

Zmeny mezi 2.0.3 a 2.0.4:
	gen:	opravena opravdu stara chyba v kodu zpracovavajicim
		csacek prikaz - pri zpracovani parametru ve tvaru
		name=value csa_yyparse() vratilo spatny token
		pokud value nebylo v uvozovkach a obsahovalo rovnitko
	gen:	zakomentovane (mezi <!-- a -->) tagy <A>, <BODY>, <FORM>,
		<META> se nyni neprevadeji na platne tagy
	Apache:	modul je opet mozno pouzivat i pod Apache 1.1
	(Fast)CGI:	pokud se dokument predaval primo, priznak 
		zda dokument je v HTML byl vzdy false (coz az tak nevadilo,
		pouziva se to jen pri vypisovani banneru)
	gen:	pri implicitnim prekodovavani nebo pokud URL vedlo
		pres CSacka ale pred CSackem nebyl zadny adresar
		(tj. bylo neco jako http://server/toXXX/dal/)
		se do prepisovanych URL pridal CSacek i tehdy, kdyz
		uz tam byl - napr. pokud URL ve zdrojaku stranky
		bylo neco jako 
		<A HREF="/cgi-bin/to__CHARSET____PART__/foo"> - tato
		forma byla nutna ve strasich verzich CSacku
	cstools:	cstools_writeuni() nezapisovalo do vystupu
		korektni hodnoty pri kodovani plain UNICODE (pri
		zapisu unicode ve forme utf-8 fungovalo korektne)
	gen:	banner a URL pri prepisovani URL se vypisovaly vzdy v  ASCII,
		i tehdy pokud se prevadelo do plain UNICODE --> vystup
		nebyl v platnem plain unicode
	gen:	csa_is_csacek_server(): port se testuje na shodu jen tehdy,
		pokud u dane polozky je csa_server_t.port zname (non-zero) - 
                	csacekServer www.ics.muni.cz
		tedy nyni funguje podle ocekavani
	gen:	hlavicka Connection a Keep-Alive se nyni nikdy ze sub-requestu
		nepredava klientovi primo - server je zodpovedny za to, aby se
		korektni hlavicky vygenerovaly v zavislosti na ostatnich
		hlavickach poslanych CSackem
	Apache:	posledni uprava opravila chybu s posilanim nekolikanasobne
		hlavicky Connection;
		nyni se take explicitne nuluje tabulka s vystupnimi hlavickami
		predtim, nez do ni zapisuje CSacek --> vystupni hlavicky
		nastavene sub-requestem nemaji vliv na hlavicky CSacku
		(bezprostredni uzitek je, ze pokud napr. CGI handler
		posle Connection: close, neznamena to, ze CSacek preposle
		tuto hlavicku klientovi)
	Netscape:  hlavicka Via musi byt <=60B, jinak NC 4.5b2 nerozkompresuje
		dokument a zobrazi prazdnou stranku; dalsi moznost
		jak chybu v NC 4.5b2 obejit by byla posilat hlavicku
		Status, neposilat Content-Length nebo posilat
		Content-Type bez parametru charset
		[chybu objevil Michal Krause <mike@navrcholu.cz>]
	komprese:
		1. pokud klient akceptoval kompresi, predavany dokument
		   se neprekodovaval (nebyl text/html nebo text/plain)
		   a CSacku byla dopredu znama jeho delka (sub-request
		   vratil hlavicku Content-Length), klientovi se
		   poslala pred vlastnimi daty inicializacni hlavicka
		   komprese a zbytek zkompresovany nebyl a data
		   se tedy pokazily - problem zejmena s dynamicky generovanymi
		   obrazky
		2. komprese se taky (zbytecne) pouzila i pokud se predavaly
		   jine nez text/html a text/plain data; pod (Fast)CGI to
		   znamena uplne vse, pro Apache jen dynamicky generovane data 
		[nalezl Michal Krause <mike@navrcholu.cz>]
	gen:    __LAMPACHARSET__ nefungovalo korektne pokud vystupni kodovani
		bylo hadane (tj. URL typu /dir/doc.html, bez
		/toXXX.YYY na zacatku)
	gen:    pri prekladu pod Apache 1.3.X se vypsal warning o implicitni
		deklaraci table_get() a vysledny modul nebylo mozne nahrat
		do serveru (missing function table_get()) - v
		csa_md_send_separator() se pouzivalo old-style
		table_get() misto ap_table_get()
		[nalezl Michal Krause <mike@navrcholu.cz>]

Zmeny mezi 2.0.2 a 2.0.3:
	cstools: cstools_whichcode() bralo jako uspesny match i ten, kdy
		name bylo subretezec ze jmena v cstools_itab[]; nyni
		se testuje jestli nalezene jmeno v cstools_itab[]
		je stejne dlouhe jako zadany parametr length
		[nalezl Michal Krause <mike@navrcholu.cz>]
	doc:	cast u popisu 2.0.[12] prepsana do hackovane/carkovane cestiny
	gen:	prekodovavalo se vse (i obrazky atd.) - p->convert & p->ishtml
		se nastavovalo na true v csa_init_params() a neresetovalo
		se na 0 pokud Content-Type nebyl text/html nebo text/plain
	conf:	parametr --with-defsource musel byt velkymi pismeny;
		nyni nezalezi na case
		[nalezl Michal Krause <mike@navrcholu.cz>]
	gen:	to co bylo zadano pomoci --with-defsource se nyni bere jako
		defaultni zdrojove kodovani (bral se predtim vzdy default - 
		ISO-8859-2)
		[nalezl Michal Krause <mike@navrcholu.cz>]
	cstools: do seznamu nazvu kodovani pridano "ISO Latin 2" a
		"ISO Latin 1"
	gen:	opravena chyba kdy se obsah stranky zobrazil i s casti
		hlavicek jako text misto jako HTML dokument - v x_fgets_line()
		se pouzivala promenna pred tim nez byla inicializovana

Zmeny mezi 2.0.1 a 2.0.2:
	gen:	cstools: opravena mapa x-mac-ce (prohozene I acute a 
		I circumflex, spatny kod pro division sign) a mapa cp852
		(prohozene I acute a I circumflex)
		- chyba objevena Petrem Snajdrem v python modulu textenc,
		  ktery pouziva CSackovske konverzni mapy
	gen:	cstools: opraveno prekodovani z UTF-8 do 8bit kodovani
		(nefungovalo pro 8bit (0-255) znaky)
	gen:	csa_setvar() nyni implicitne pouziva CSA_I_OVERWRITE,
		takze se zamezi duplicitam promennych (--> tj. nyni funguji
		promenne tak, jak se ocekava)
	gen:	csa_unsetitem()  nyni odstrani vsechny polozky
		ze seznamu, ktere maji zadany klic; predtim byla odstranena jen
		prvni
	gen:	hlavicky in  stejneho typu a out se skladaji dohromady, jak
		doporucuje podle HTTP vyjimka je Set-Cookie a Cookie, u kterych
		hodne programu predpoklada, ze bude jedna cookie na hlavicku
	gen:	csa_[un]parse_url() nyni rozeznavaji i URL typu
		'method:/path/', pouzivane MS
	gen:	csa_process_headers() nyni HTTP/0.9 aware, takze
		HTTP/0.9 pozadavky nyni funguji
	gen:	hlavickove soubory upraveny tak, aby se CSacek kod
		dal bez problemu pouzivat z C++
	W32:	copy_csacek.bat a MSVC Makefile nyni funguji spravne i pod W95
	NT:	pridano hafo NO* konstant, vyctenych z <windows.h>,
		ktere zpusobi, ze se z hlavickovych souboru windous nepouziva
		pro CSacek nepotrebny kod -->  dale se zrychli kompilace
		pod windows (uz jen mirne, asi o 10s (1/5) na Cyrix 6x86)
	NT:	definovany konstanty VC_EXTRALEAN a WIN32_LEAN_AND_MEAN -
		zrychli to kompilaci pod MSVC++ 5.0+, kompilator
		zbytecne nezpracovava pro CSacek nepotrebne veci
		z windous inkludu (kompilace se zrychli asi 3x na
		Cyrixu 6x86 120MHz)
	gen:	na nekolika mistech se alokovalo prilis mnoho mista
		pro zapis cisla do retezce; zavedeno nove makro
		CSA_GETMAXNUMCOUNT(), ktere zjisti potrebny pocet cislic
	gen:	SERVER_NAME se z SERVER_URL ziskava pomoci csa_parse_url(),
		takze se spravne odstrani i cislo portu
	apache:	x_csa_run(): spolehalo se na to, ze rewind() implicitne
		udela lseek() na zacatek souboru i tehdy, kdyz se
		na underlying deskriptor zapisovalo primo pomoci
		systemovych volani a ne pres stdio; rewind(3) takhle
		funguje na BSD systemech, ale bohuzel ne treba na
		Linuxu; dusledek byl, ze na Linuxu CSacek/Apache
		nefungoval (vracel prazdny dokument a spatne hlavicky);
		nyni se vola explicitne lseek() (a rewind(3) se nevola,
		je to zbytecne)
	gen:	kod, starajici se o nadejne "zbytky" retezce v bufferu
		se opet za urcitych okolnosti cyklil; nyni by vse melo
		fungovat, tak jak ma - prohleda se opravdu jen poslednich
		maximalne 20 znaku v retezci
	(Fast)CGI:	z pripony CSacku se neodstranovallo
		CSA_IGNORE_PREFIX, takze prikazy PART nefungovaly, pokud
		URL s CSackem bylo tvaru .../toXXX.YY.cgi/...
	(Fast)CGI:	pri zavolani s parametrem --version se vypise take to,
		zda se jedna o DEBUG verzi
	doc:	apply_to:apache_ssl.c prejmenovano na
		apply_to_apache_ssl.c (dela problemy pri rozbalovani pod
		MS Windows 95)

Zmeny mezi 2.0 a 2.0.1:
	gen:	navratova hodnota csa_DocParts() byla opacne, nez mela
		(nenulova pri uspechu a 0 pri uspechu) --> uspesne
		spustene prikazy se opisovaly do vystupu; problem asi
		pouze u whichcode, protoze to normalne nevadi (text se
		prefiltruje spravne)
	gen:	kod starajici se o "nadejne" zbytky retezce, predavaneho
		do csa_add_subs_output() zpusobil, ze pokud v textu
		bylo "__" a nejednalo se CSackem podporovane __XXX__, CSacek
		se na tomto miste zacyklil
	gen:	pokud o dokument bylo pozadano metodou HEAD, telo se neposila
	(Fast)CGI:	nebylo mozno zkompilovat CSacek pri pouziti metody
		HTTP (chybejici definice fce x_fclose_cleanup())
	gen:	http.c: v Content-Type hlavicce se jako mime nazev kodovani
		pouzivalo CSackovske oznaceni
	gen:	pokud se cilove kodovani nebylo urceno explicitne a hadalo se,
		retezec __CHARSET__ se nahrazoval prazdnym retezcem misto
		CSackovskeho nazvu uhodnuteho kodovani

Zmeny mezi 2.0b8 a 2.0:
	gen:	opraveno chybne chovani pokud PATH_INFO bylo NULL (napr.
		pokud URL bylo typu http://kdesi/cgi-bin/toXXX?navicQQ) --
		p->csacek se pouzilo driv nez bylo inicializovano

Zmeny mezi 2.0b7 a 2.0b8:
	gen:	opravena chybna interpretace URL typu /g.gif jako
		oznacujici CSacek kodovani a variantu
	gen:	zruseno __CSACEK__, nahrazeno systemem automatickeho
		prepisovani URL
	gen:	od klienta na server a opacne se nyni predavaji vsechny
		hlavicky stejneho nazvu jako jednotlive hlavicky;
		predtim se zahodily vsechny az na posledni
	gen:	v hlavicce Location, predavane klientovi, se nyni
		nahrazuji podporovane retezce __neco__; take je nyni osetreno,
		pokud URL uvedene v Location uz jde pres CSacek
		(predtim se tam CSacek vlozil jeste jednou)
	gen:    kod, vykusujici z URL oznaceni vystupniho CHARSETu
		a PART v share.c, apache.c a http.c, je nyni sloucen do
		fce csa_parse_sn()
	gen:    pri cteni hlavicek z odpovedi serveru se nyni
		korektne odstranuje \r
		[Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]
		zmenou kodu v x_fgets_line() a csa_process_headers()
		byla take mimodek opravena chyba zacykleni v pripade,
		ze v odpovedi byly hlavicky a telo oddeleno znakem
		\n (misto standardniho \r\n)
	gen:    opraveno generovani linek v BARu jako //toASCII/neco/
		[report - Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]
	gen:    opraveno presmerovani URL typu
		http://aa.bb.cc:1234/neco/ (cislo portu se zduplikovalo)
		[Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]

Zmeny mezi 2.0b6 a 2.0b7:
	gen:	kodovaci tabulky v cstools.c rozsireny o no-break
		space
	apache: opraven vazny memory leak -- v x_csa_run() se
		pomoci fdopen() oteviral stream a nikde
		se nezaviral, takze pri kazdem requestu
		se ztratilo sizeof(FILE) bajtu
	apache:	osetreno nastaveni nekterych polozek csa_conf_t pri
		csa_merge_config() na NULL; csa_create_conf() nyni
		korektne nastavuje pvsechny potrebne hodnoty
		[Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]
	apache: neni nyni treba, aby csacekEngine bylo zapnuto
		globalne; umisteni prikazu neni nijak limitovano
		(pouziva se OR_ALL) -- jedina vyjimka je
		csacekIgnorePrefix, ktera musi byt nastavena globalne,
		protoze v dobe, kdy se pouziva, jeste per-dir nastaveni
		neni k dispozici
		[idea - Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]
	apache: SECURITY: pres whichcode_template se dalo obejit
		omezeni FollowSymLinks -- nyni se nepredava primo,
		ale pomoci sub-requestu
		[idea - Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]
	gen:	s predchazejici zmenou souvisi pridani nova MD fce
		csa_md_call_whichcode(), presunuti a zjednoduseni
		csa_whichcode() do cgi.c a zmena v share.c -- vola
		se csa_md_call_whichcode() s plnou cestou k sablone
	gen:	whichcode sablona ma nyni jmeno whichcode_template.html
	gen:	csa_md_read_input() --> csa_md_read_response(), pouziva
		se i pri cteni vracenych hlavicek; umoznuje nyni snadny
		zpusob na jiny zpusob cteni dat odpovedi ze serveru
	gen:	csa_params_t: fp_in --> resp
	gen:	oprava Makefile.in, nyni by nemely byt problemy ani
		na systemech pouzivajicich GNU make nebo make
		na Digital OSF
	gen:	pokud INADDRSZ neni definovano, nastavi se na 4
		(pripad Digital Unixu 3.2B a MS Windows NT)
	
		
Zmeny mezi 2.0b5 a 2.0b6:
	gen:	pridan soubor INSTALL, ktery se pokousi popsat instalaci
		CSacku
	gen:	mova MD fce csa_md_read_input()
	gen:	zruseno csa_params_t:fp_out; nikde neni potreba
	gen:	opravena chyba pri predavani dokumentu, ktere se
		nekonvertovaly -- neposilal se volny radek mezi 
		hlavickami a telem
	gen:	zmena: pokud se dokument nekonvertuje a je znama
		jeho velikost, v csa_process_body() byl kod, ktery
		implicitne preposlal telo bez prvotniho nacteni celeho
		obsahu do pameti; kod je nyni presunut do
		samostatne fce csa_direct_forward(), kterou si
		mutace muze, ale nemusi zavolat; ke zjisteni, jestli
		by ji mela zavolat, slouzi makro CSA_SHOULD_DIRECT_FORWARD()
	apache: konstanty USE_APACHEXX_API prejmenovany na
		CSA_USE_APACHEXX_API, v x_csa_fixup() opraven potencialni
		buffer overrun pri zapisovani cisla portu; pouziva
		se csa_direct_forward() v pripade, ze vraceny dokument
		neni CSackem kodovan a je znama jeho velikost
	gen:	nova interni promenna EXTRA_ARGS, nastavena na "?$QUERY_STRING",
		pokud je QUERY_STRING definovano a nenulove a na prazdny
		retezec jinak; na nekolika mistech to umoznuje zjednodusit kod
		(bar.c, http.c, cgi.c); EXTRA_ARGS se take nove pouziva
		v whichcode_template pro zachovani pripadnych parametru
		pri zmene kodovani
	gen:	zmena zpusobu prepisovani __FOO__ ve zdrojacich -- je nyni
		safe i v pripade, ze retezec, kterym se nahrazuje,
		je delsi nez puvodni __FOO__ a je pomerne jednoduche
		dodavat dalsi __FOO__ prepisovani tak, jak bude potreba;
		pridano __CSACEK__, coz se prepise casti URL, ktera
		oznacuje CSacek -- tj pokud URL bylo:
			http://kdesi.cz/cgi-bin/toISO-8859-2.en/neco/
		tak __CSACEK__ se prepise na /cgi-bin/toISO-8859-2.en --
		slouzi pro zjednoduseni tvorby absolutnich odkazu v ramci
		lokalniho serveru; csa_subs() byla garbage collected
	kompilace:	opraven problem s ``make'' na nekterych systemech
		(definice targetu v Makefila byla takova, ze to nektere
		implementace make spletlo -- treba gmake); <sys/time.h>				a <time.h> se nyni nainkluduji spravne i na "broken"
		systemech; prototypy se pouziji i pod MSWinNT
	debug:	zmena formatu debug logu, uz se tam nyni nepisou casove udaje
		(melo by vyznam pro profilovani, ale na to je lepsi
		specializovany nastroj; jinak jsou dulezite spis vypsane
		hodnoty nez kdy se to presne stalo)
	apache: definice CSA_USE_APACHEXX_API se nyni ridi hodnotou
		MODULE_MAGIC_NUMBER, takze by to melo byt presnejsi
	gen:	csa_params_t:content_length_in je nyni signed, takze
		nehrozi, ze to delalo problemy pri velmi velkych delkach
		predavanych souboru (je nutno, aby content_length_in
		umelo uchovat -1, pouziva se pro indikaci, ze delka vstupniho
		dokumentu neni znama)
	gen:	fce, ktere braly jako parametry ``unsigned char *''
		nyni berou ``char *'' (csa_hex2char(), csa_char2hex(),
		cstools_recode())
	gen:	zruseno pouziti u_char, resp. char_type -- pouziva
		se explicitni ``unsigned char''
	gen:	pridana podpora pro hlavicky If-Match, If-None-Match
		a If-Range; posledni HTTP/1.1 hlavicka, kterou bude
		treba implementovat, bude Range (Content-MD5 podporovano
		nebude, musel bych v CSacku implementovat MD5, coz
		se mi nechce)
	gen:	zruseny posledni zbytky podpory HTTP/0.9 (tohle
		si osetri server, pod kterym CSacek bezi)
	gen:	http.c: zmena postupu predavani hlavicek
		v csa_process_headersin(), doufejme, ze je to ted
		prehlednejsi a robusnejsi; opravena take chyba, kdy
		se u hlavicek, ktere nemely explicitni kod, nepredavala
		cast za ';'
	apache:	?csacek_info opet funguje
	gen:	zruseno LARGEBUFLEN, EXTRA_ALLOC
	gen:	info.c:csa_toguess(): misto navrdo definovaneho
		CSA_DEFAULT_PARTNAME se pouziva hodnota CSacek promenne
		``default_dotpartname''
	gen:	opravena chyba, kdy pri pouziti PART, DOMAIN nebo CHARSET
		ve tvaru <? PART CS="neco" EN="something" ?> a platne
		casti EN se prepl vnitrni identifikator platnosti
		prikazu; projevilo se to tak, ze nasledujici text az
		po nasledujici <? PART ALL ?> nebo <? PART EN ?>
		se nevypsal
	MSWinNT:	Makefile v NT/MSVC/ byl znacne zjednodusen
		a mel by nyni fungovat i pod MSVC++ 4.0
	(fast)cgi:	garbage collected nepouzivany kod v apache/alloc.c
	(fast)cgi:	zruseno pouziti p->fp_out, pouziva se misto
		toho primo stdout
	
Zmeny mezi 2.0b4 a 2.0b5:
	gen:	CSacek nyni upravuje hlavicku Accep-Language,
		jako prvni element vzdy da nazev casti, do ktere prevadi
	apache:	modul nyni funguje i pod 1.2.0 a 1.1.X
	gen:	opravena chyba -- vstupni text se neprekodoval, pokud
		obsahoval jakekoli hex sekvence (%XY)
	apache: whichcode nyni funguje
	gen:	kod z args.c, deflate.c, item.c a output.c presunut
		do jinych souboru (share.c, cmds.y, zlib.c), soubory
		zruseny
	gen:	pridana MD fce csa_md_log_error()
	apache:	pokud dojde pri behu CSacku k chybe, vypise internal server
		error a duvod chyby zapise do error logu
	(fast)cgi:	pokud dojde pri behu k chybe, krome hlasky na obrazovku
		jeste chybu zapise do error logu (tj. vypise ji na stderr)
	apache: misto ap_table_set() se pouziva ap_table_setn()
	apache: pokud URL vede pres CSacek a je typu /toFOO (tj. na konci
		chybi /), klient se presmetuje na spravne URL -- kvuli
		zachovani korektnich relativnich odkazu (predtim se 
		kod choval, jako by /toFOO bylo ekvivalentni s /toFOO/
	gen:	prejmenovano nekolik internich promennych, pridana promenna
		NAME, je ekvivalentni s SCRIPT_NAME
	gen:	zruseny testy na uspech alloc fci (test se provede
		implicitne v apache/alloc.c a pod Apache je toho stejne
		malo, co by se dalo udelat)
	gen:	zruseno pouziti CSA_INTERNALLGUESS, v pripade, ze se kodovani
		hada, SCRIPT_NAME se nastavi proste jen na prazdny retezec
	gen:	csa_arg_insert() odstraneno z API
	gen:	csa_alloc_fail() se nyni vola vzdy bez parametru
	gen:	zmena ve zpusobu predavani parametru do csa_add_output() --
		deje se tak pomoci specialni struktury csa_conf_t
	gen:	loop.c: opravena chyba, kdy doslo k zacykleni, pokud
		dokument koncil na neco odpovidajici RE <.*
	gen:	opravena chyba v share.c:csa_process_vars(), kde
		se pouzil spatky ukazatel pro zjistovani jmena vystpniho
		kodovani, pokud SCRIPT_NAME neobsahovalo /
	gen:	csa_md_send_separator() je nyni volano z csa_output(),
		nikoli z csa_send_headersout()
		
Zmeny mezi 2.0b3 a 2.0b4:
	apache: pridan prikaz csacekIgnorePrefix (default "/cgi-bin") --
		je to uvod URL, ktery se ignoruje pri hledani oznaceni
		ciloveho kodovani (je tu pro usnadneni prechodu od
		CGI varianty -- neni hned treba vsechny prislusne linky
		menit, ale vse "proste funguje")
	apache: predelano z klasickeho modulu do mene klasicke struktury;
		uz nyni neni treba patch 
		apache_add_csacek_as_first_handler a nepouziva se
		sub-request; kod je kratsi a rychlejsi; je take mozno CSacek
		zkompilovat pod Apache 1.3
	gen: csa_init_params() se predeva jako parametr ukazatel na strukturu,
		ktera obsahuje konfiguraci nekterych prvku - zjednodusuje
		se tak predavani parametru z Apache konfigurace a je nyni MI
	apache: csa_conf_t: zruseno status, options, misto toho
		engineon a compress; definice presunuta do csacek.h
	apache: pridan prikaz csacekBarDef, prislusne upravena struktura
		csa_conf_t a kod v csa_init_params()
	gen: posledni zbytky konstant a maker byly prejmenovany tak, aby
		zacinaly na prefix CSA_ - jednalo se zejmena o makra a
		konstanty BAR_XXX a makra ISSET() a spol.
	gen: BAR - pro prepnuti do ceske verze listy lze pouzit jak CZ, tak
		i CS
	cgi: veskery CGI-specificky kod je nyni v souboru cgi.c, main.c
		zrusen; csa_init_method_file() a csa_init_method_http() uz
		nyni nejsou fce API
	cgi: cgi.c: zruseny dve volani free(3) na ukazatel, ktery ukazoval
		na staticke objekty (navratova hodnota z gmtime()
		a gethostbyname()) --> uz to nepada na Linuxu
	gen: cmds.y: free() nadefinovano jako prazdne; pokud doslo
		k parse error, volalo se totiz free() na hodnotu,
		vracenou z palloc() --> crash na Linuxu
	gen: testuje se pritomnost <stdarg.h> a pokud existuje,
		inkludne se primo z "csacek.h"
	compat: makro xfputs() garbage collected (nikde se nepouziva)
	gen: CSA_CMD_TAG je nyni '?' a'la SGML tag, ktery je urcen
		pro embedded jazyky
	gen: csa_http_make_headersin(): User-Agent se nyni kopiruje
		cele, jen se za nej pripoji "via C-SaCzech CSACEK_VERSION";
	gen: http.c: zruseno pouziti CSA_I_ADD (odpovida defaultnimu chovani)
		a tento flag byl garbage collected
	gen: csa_toguess(): ceska verze se posle i Slovakum;
		spravne se nastavuje "default_partname" a p->part_is_default
	gen: loop.c:x_process_cmd() je nyni fce API -- csa_run_cmd()
	nt: copy_csacek.bat upraven tak, aby vytvoril i soubory to__CHARSET__.*
	gen: csa_Part(): zrusen posledni zbytek drivejsi "hierarchie"
		prikazu PART, DOMAIN a CHARSET nastaveni p->othervalidf
		pokud bylo jmeno PART prazdne a zobrazuje se defaultni PART
	gen: x_compare_Charset(): zrusena podpora zadani kodovani pomoci
		interniho CSacek ciselneho oznaceni; vedlejsi efekt je to,
		ze prikaz CHARSET spravne funguje i tehdy, kdyz je
		cilovy "charset"  ASCII
	
Zmeny mezi 2.0b2 a 2.0b3:
	gen: share.c: pri hadani typu komprese podporovane klientem se
		nyni komprese prosazuje i pro Netscape 3.0+ jen tehdy, je-li
		v case kompilace definovano
		CSA_FORCE_COMPRESSION_FOR_UNIX_NETSCAPE -- Netscape totiz
		v pripade, ze dokument byl kompresovan, neuchovava
		cas vytvoreni dokumentu -- tzn. nekesuje ho
	gen: implementovan defajn CSA_DO_NOT_CACHE, pro snadnejsi debuggovani
	gen: API: csa_make_substitutions() --> csa_make_subs()
	gen: implementovana fce csa_gethostbyaddr(), prislusny kod
		by se opakoval jednak v csa_toguess(), jednak v csa_Domain()
	gen: ve ctenych datech je nyni osetren pripad, kdy by cast nektereho
		z podporovanych retezcu (__CHARSET__ a spol) nevesla do
		bufferu; kvuli podpore teto veci ma nyni
		x_add_output() dalsi parametr, umoznujici tuto vlastnost
		vypnout, pokud by necemu vadila (napr. pri docteni na konec dat)
	gen: loop.c: buf->len nyni ma vzdy spravnou hodnotu, i v pripade,
		ze se nad daty provedou substituce
	gen: prikazy PART, DOMAIN a CHARSET jsou nyni na stejne urovni
		(zrusena drivejsi hierarchie PART>DOMAIN>CHARSET)
	get: string.c: csa_subs() nyni vraci rozdil velikosti puvodniho
		a vysledneho retezce
		
Zmeny od C-SaCzech 2.0b1 k 2.0b2:
	apache: handler ma nyni nazev "csacek-recoder", stare
		"csacek-czech" je stale podporovano
	apache: pokud URL nejde pres CSacek, klient se nepresmeruje
		na URL s CSacek, ale posle se mu primo dokument
		v uhadnutem kodovani; kod v csacek_handler() testujici
		URL je nyni robusnejsi, funguje spravne i v pripade, ze
		URL nezacina na __CSACEK__

$Id: CHANGES,v 1.178.2.6 2002/03/10 19:44:39 dolecek Exp $
