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