SOURCES: gdb-gdbinit-stat.patch (NEW) - read .gdbinit from current...
Tomasz Wittner
twittner w o2.pl
Pią, 9 Gru 2005, 20:11:12 CET
On Thu 8. of December 2005 18:32, Jakub Bogusz wrote:
[...]
> >
> > > + if (!homedir
> > > + || memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct
> > > stat))) +- if (!inhibit_gdbinit)
> > > ++ if (!inhibit_gdbinit && (cwdbuf.st_uid == getuid()) &&
> > > (!cwdbuf.st_mode & (S_IWOTH))) + {
> > > + catch_command_errors (source_command, gdbinit, 0, RETURN_MASK_ALL);
> > > + }
> >
> > Teraz, jeżeli jestem kim jestem i .gdbinit nie jest do zapisu przez
> > wszystkich to mogę korzystać z dobrodziejstw .gdbinit. Jeżeli jednak
> > zrobię su (czyli będę kimś innym niż jestem), żeby debbugować program
> > wymagający uprawnień root'a, to gdb już nie przeczyta .gdbinit . Sytuacja
> > odwrotna do opisanej na http://bugs.gentoo.org/show_bug.cgi?id=88398
> > Osobiście dla mnie ten pacz to tylko utrudnienie - już go u mnie nie ma.
> > Nie chcę, żeby programy mnie chroniły przed samym sobą ;).
>
> Na maszynie jednoużytkownikowej tak. Ale na wieloużytkownikowej
> uruchomienie gdb z $PWD=/tmp (lub odpowiednikiem) mogło dać zupełnie
> niespodziewane efekty.
Jest szansa na ich uniknięcie: gdb -n . Rozumiem, że można też nie być
świadomym problemu, czy zapomnieć. Za to, w przypadku tego pacza, nie ma
szansy świadomego użycia .gdbinit'a w opisanej przeze mnie sytuacji, bez
chown'owania wte i z powrotem. Zmienia on, też, powszechnie znane zachowanie
programu i oczywiście, jak zwykle, dokumentacja nie jest akualizowana
(przerabialiśmy to już na rpm-bb-and-short-circuit.patch). Być może
użytkownik powinien otrzymać jakiś msg o pominięciu .gdbinit i z jakiego
powodu i mieć coś w stylu --force-reading-gdbinit-from-cwd. Ten pacz, w
obecnej postaci, jest dla mnie nie do zaakceptowania (co nie oznacza, że mam
go ochotę poprawiać czy usuwać).
--
Tomasz Wittner
Więcej informacji o liście dyskusyjnej pld-devel-pl