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