Wolna amerykanka w PLD?
Pawel Wilk
siefca w entropy.echelon.pl
Wto, 8 Kwi 2003, 13:34:48 CEST
a ja mam takie niesmiale marzenie ;]
fopen, access, stat, blebleble, wszystko co bierze path
z glibca co jest
wystepuje blad, ze plik NIE ISTNIEJE i w tym momencie wlazi kod z pacza, ktory:
- sprawdza czy nazwa pliku zaczyna sie kropka
(jak sie nie zaczyna to reagujemy w typowy sposob i rzucamy error)
- sprawdza czy w srodowisku jest zdefiniowana zmienna HOME oraz
zmienna okreslajaca lokalizacje podkatalogu etc
(nie jest -> wypadamy)
- sprawdza czy wykonywany proces jest suidem albo ma uid/euid < niz costam
i jesli jest ktorys z tych warunkow spelniony
to uzyskuje informacje o katalogu domowym via getpwent(..) i
inne tamte i nadpisuje chwilowa zmienna zawierajaca nasz
katalog domowy
- sprawdza czy istnieje podkatalog konfiguracyjny i czy mamy do niego
prawo zajrzec (nie -> wypadamy)
- sprawdza czy plik ktorego szukala funkcja znajdowalby sie w
katalogu domowym gdyby sie znajdowal
(nie -> wypadamy)
- zabiera kropeczke lub nie (mozna nawet przy pomocy jakiejs dodatkowej
zmiennej takie zachowanie okreslic) i konstruuje nowa pathname
- wzywa sama siebie raz jeszcze z pathname ustawionym na to co wyszlo
zalatwia jakis duzy procent przypadkow mysle, nie obniza zbytnio
wydajnosci, bo juz pierwszy test wiekszosc przypadkw zalatwia, tylko
dobrze wykombinowac go trzeba zeby uwzglednic wszystkie mozliwe sposoby
zapisu nazwy sciezkowej pliku z kropeczka
no. rfc..
--
Pawel Wilk ( siefca @ entropy echelon pl ) ) pld-devel )
żyj skromnie. szanuj swojego admina.
Więcej informacji o liście dyskusyjnej pld-devel-pl