TeXovani ciziho zdroje?
Jan Kasprzak
kas at informatics.muni.cz
Fri Jul 4 11:50:42 CEST 2003
Petr Olsak wrote:
: Na zaklade znalosti TeXu co mam mohu zodpovedne prohlasit, ze
: \let\openout=\undefined \let\openin=\undefined \let\input=\undefined
: v plainu je pro tyto bezpecnostni pozadavky postacujici.
:
: V LaTeXu to nepomuze, protoze tam je vyznam primitvu \input ukryt
: v kontrolni sekvenci \@@input (nebo tak nejak).
:
To "ukryte" znamena \xdef a \let, nebo je jeste nejaky jiny
zpusob, jak "ukryt" funkcionalitu primitiva do neceho jineho?
: Z dotazu neni jasne, zda chces funkcionalitu \input zachovat pro sve
: vlastni potreby. Pokud ano, pak by mohlo stacit
: \let\tajneslovoproinput=\input pred pouzitim \input. Domnivam se, ze
: neexistuje moznost v TeXu zjistit deklarovane kontrolni sekvence (ledaze
: se clovek muze podivat do binarniho formatu), tj. tajneslovoproinput je
: utocnikem neodhalitelne.
Ano, predstavoval bych si, ze budu generovat treba \inputX,
kde X bude dlouhy nahodny retezec pismen (pro jistotu jeste jiny
pro kazdy beh TeXu). Jak dlouhy muze byt nazev makra?
: Samozrejme se predpoklada, ze utocnik nevi,
: jakymi prikazy se jeho dokument dale zpracovavan na urovni vnejsiho
: souboru (po \endinput). Kdyby to vedel, muze si zkusit trasovat vyznamy
: tech maker, az se k \tajmenuslovuproinput dohrabe. Vyznamy maker muze
: trasovat jednak do logu, a pokud nema pristup do logu, pak je muze
: zobrazovat i do dvi pomoci \meaning !
Jo, ale to by se k tomu dostal az po ukonceni TeXu, ne?
Nebo je nejak moznost jak ten log zpet nacist (nebude-li mit \input)?
Ja predpokladam, ze utocnik nebude mit pristup ani k logu,
ani k .dvi, ale nanejvys k vyslednemu PostScriptu (nejspis si tedy
bude moci pomoci \special{} do toho PS neco propasovat.
Nicmene porad to zrejme neni bezpecnostni problem, pokud
ten "nahodny retezec X" budu generovat pro kazdy beh TeXu znovu.
Nebo se pletu?
: Primitiv \write bych nezakazoval. Nastavi/li se na zacatku pozadovane
: vystupni proudy do konkretnich souboru pomoci \openout, pak se zakaze
: \openout, pak stale je mozne zapisovat pomoci \write.
OK.
: Za nejnebezpecnejsi povazuji rozsireni web2c TeXu (nad standardni TeX),
: ktere za jiste konfigurace umozni spustet prikazy systemu pomoci \write18.
: V texmf/web2c/texmf.cnf je k tomu konfiguracni parametr shell_escape,
: ktery musi byt nastaven na false.
Uff. No to je fakt sila. Dival jsem se ale, mam vsude "f".
Jeste nejake dalsi podobne veci o kterych nevim?
-Y.
--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz> http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz 0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\ Czech Linux Homepage: http://www.linux.cz/ ///
\\\\ If you hold a Unix shell to your ear, do you hear the C? ////
More information about the csTeX
mailing list