From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 3 Aug 2007 19:15:39 +0400 From: "Fr. Br. George" To: ALT Linux Sisyphus discussion list Message-ID: <20070803151535.GL99264@grep.po.cs.msu.su> Mail-Followup-To: "Fr. Br. George" , ALT Linux Sisyphus discussion list References: <75e139a00708020620u4f15b89eqc38a7a4836151d5b@mail.gmail.com> <75e139a00708030545h1982ca2dkb0682f76d9af60f5@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <75e139a00708030545h1982ca2dkb0682f76d9af60f5@mail.gmail.com> User-Agent: Mutt/1.4.2.2i Subject: Re: [sisyphus] =?koi8-r?b?c3Vkb2VkaXQ6IMvByyDJzSDQz8zY2s/XwdTY09Et?= =?koi8-r?b?1M8/ISA6KQ==?= X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 15:15:50 -0000 Archived-At: List-Archive: List-Post: Для начала: Дима, бага в 3b851f7c5e54b0e7445b633804d3d40e8f4aaa37 /getgrouplistfstat Продублировал в BZ на всякий пожарный. #12462 Дпльше -- лирика: On Fri, Aug 03, 2007 at 07:45:50PM +0700, Slava Semushin wrote: > > Не получается приготовить: > > [c0der@rock ~]$ sudoedit /etc/fstab > > sudoedit: /etc/fstab: Bad address > Вопрос остаётся в силе. > [c0der@rock ~]$ strace sudo -e /etc/fstab Я бы сказал, что даже интереснее: strace -Ff sudoedit /etc/fstab ... 11616 <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 11621 11616 --- SIGCHLD (Child exited) @ 0 (0) --- 11616 close(4) = 0 11616 rt_sigaction(SIGCHLD, {0x804c1d0, [], SA_RESTART}, NULL, 8) = 0 11616 rt_sigaction(SIGTSTP, {SIG_IGN}, NULL, 8) = 0 11616 utimes("/var/run/sudo/george/3", NULL) = 0 11616 time(NULL) = 1186149331 11616 send(3, "<85>Aug 3 17:55:31 sudo[11616]: george : TTY=pts/3 ; PWD=/home/george ; USER=root ; COMMAND=sudoedit /etc/fstab", 114, MSG_NOSIGNAL) = 114 11616 umask(022) = 022 11616 setrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0 11616 stat64("/var/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=48, ...}) = 0 11616 setresuid32(-1, 0, -1) = 0 11616 open("/etc/fstab", O_RDONLY) = 4 11616 stat64(NULL, 0xbf976590) = -1 EFAULT (Bad address) 11616 close(4) = 0 11616 setresuid32(0, 0, 0) = 0 11616 write(2, "sudoedit: ", 10) = 10 11616 write(2, "/etc/fstab", 10) = 10 11616 write(2, ": ", 2) = 2 11616 write(2, "Bad address\n", 12) = 12 11616 exit_group(1) = ? ... Что это за stat64(NULL, 0xbf976590)? Проблема здесь: 109 memset(tf, 0, (argc - 1) * sizeof(*tf)); 110 for (i = 0, ap = argv + 1; i < argc - 1 && *ap != NULL; i++, ap++) { 111 set_perms(PERM_RUNAS); 112 ofd = open(*ap, O_RDONLY, 0644); 113 if (ofd != -1) { 114 #ifdef HAVE_FSTAT 115 if (fstat(ofd, &sb) != 0) { 116 #else 117 if (stat(tf[i].ofile, &sb) != 0) { 118 #endif 119 close(ofd); /* XXX - could reset errno */ 120 ofd = -1; "sudo_edit.c" 349 стр. --31%-- По указанным в начале причинам собирается без fstat. И -- не работает. Оно, конечно. бага. Но если "getgrouplistfstat" в configure.in поменять на "getgrouplist fstat", начинает работать. Шаловливые ручонки-с. -- George V. Kouryachy (aka Fr. Br. George) mailto:george at altlinux_org