1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145
|
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 $
|