CCC helyzetjelentés

Fórumok

Nyaraláskor szoktam egy-egy nagyobbat lökni a CCC-n. Régebbi nyarakon készült a többszál támogatás, kivételkezelés, mostanra azonban nem látok magam előtt ilyen jelentős munkát, ui. a CCC3 meglehetősen készen van (önfény:).

Megemlítem itt, hogy a CCC3 a Unicode/UTF-8 támogatásban tér el a CCC2-től, és már tavaly ősz óta készen van. Ugyanezt a lépést kellene megtennie a Pythonnak, de már legalább egy éve nem jutnak 2-ről a 3-ra. Olyan kiváló nyelvben pedig, mint a Ruby (a Linuxvilág cikke szerint) még híre sincs a Unicode/UTF-8-nak. A késlekedés oka (szerintem), hogy nem tudják visszafelé kompatibilis módon megoldani a Unicodera áttérést. Namost vagy olyan okos valaki mint a Jávások, akik eleve (10+ éve) beépítették a nyelvbe a Unicodeot, vagy le kell nyelni a békát, amit az inkompatibilitás jelent. A CCC-vel az a helyzet, hogy a CCC2 továbbra is karban van tartva, ezzel fordulnak a Latin-1/2 kódolást használó régebbi, nem portolt alkalmazások, az új, többnyelvű programok viszont CCC3-mal.

A Python és Ruby el van árasztva mindenféle csatolókkal a legkülönfélébb külső modulokhoz. A CCC-ben ezt nem tudjuk utólérni, egy-két dolog azért nálunk is készül. Most pl. SSL támogatás:

Lett egy (kis) SSL függvényinterfész könyvtár (triviális). A socketek (fd-k) kaptak egy burkoló osztályt. Az SSL kapcsolatok is kaptak egy burkoló osztályt. Ezek az osztályok nem az OOP szépsége kedvéért készültek, hanem, hogy az egyforma interfészek lehetővé tegyék, hogy ugyanaz a program (az SSL bekapcsolásától eltekintve) egyformán működjön plain és secure socketekkel.

A _kis_ jelző, azt jelenti, hogy a függvényinterfész nem tartalmaz mindent (nem is értek mindent), de a fontos dolgokat igen. A CCC program képes SSL kapcsolatot felvenni, szerver és kliens oldalon hitelesíteni a másik felet és természetesen titkosítva kommunikálni.

Ha már, akkor a websrv-t kiegészítettem SSL támogatással. A websrv az egyik kedvenc programom. Egy demó web szerver, ami nem versenyezhat ugyan az Apache-csal, de azért van benne néhány dolog: CGI, PHP, SSI és most HTTPS támogatás. A websrv többszálú és (ami legfontosaabb) a forráslistája még mindig nem éri el az 1000 sort.

Régen volt már kiadósan tesztelve a websrv. A mostani teszt alkalmával 3 óra alatt 1 millió HTTPS lekérdezést szolgált ki (100 request/sec). Egyszerre 8 wget kliens volt a támadó. A szerver átlagosan 5-6 szálon futott, időnként elérte a 8-at. A lekérdezések 20%-a php oldal volt. Egy ilyen teszt leginkább a multithread kezelés stabilitását méri.

Ha már, akkor a Jáva terminálos programokat (jtlib) is kiegészítettem SSL támogatással, ezek most saját erőből tudnak hitelesíteni, titkosítani. Persze továbbra is használható az sslforward.

Hozzászólások

Vad Zoltan

$CCCDIR/tools/socket/ssl/sslctx_funif.cpp-be kellene egy include string.h (strcmp hivas miatt, Fedora core3/gcc 3.4.2 a környzet)
Még egy jelzésem lenne, $CCC3DIR/usr/include/std1.ch 188 sorában a comment // helyett / van .

köszi

Évente ki szoktam próbálni a CCC-t Linuxtól különböző rendszereken. A mostani tapasztalatokat írtam le itt.
--
CCC3