bind + linux-2.6 (nie znam C:()

Wieslaw Kierbedz WieslawKierbedz w farba.eu.org
Pią, 5 Gru 2003, 02:21:06 CET


Ponieważ na desktopie 2.6 spisuje mi się świetnie, to postanowiłem wypróbować na serwerze.
I klops:

named: capset failed: Operation not permitted

Wynalazłem w źródłach tę funkcję (doce nic nie mówią).
Ale rozumiem tylko, że ma to coś wspónego z uprawnieniami?
I inną funkcją, i zależy od jaja też :(.
A moja znajomość C to "mało >= 0".

To jest z binda - os.c
static void
linux_setcaps(unsigned int caps) {
         struct __user_cap_header_struct caphead;
         struct __user_cap_data_struct cap;
         char strbuf[ISC_STRERRORSIZE];

         if ((getuid() != 0 && !non_root_caps) || non_root)
                 return;

         memset(&caphead, 0, sizeof caphead);
         caphead.version = _LINUX_CAPABILITY_VERSION;
         caphead.pid = 0;
         memset(&cap, 0, sizeof cap);
         cap.effective = caps;
         cap.permitted = caps;
         cap.inheritable = caps;
         if (syscall(SYS_capset, &caphead, &cap) < 0) {
                 isc__strerror(errno, strbuf, sizeof(strbuf));
                 ns_main_earlyfatal("capset failed: %s", strbuf);
         }
}

a to jest z linux/kernel/unistd.h
#define __NR_capset             185


Nic więcej nie znalazłem (co nie znaczy, że nie ma).
Przebudowy binda z nagłówkami 2.6 próbowałem - to samo.

Kto może mi to odcyfrować, albo napisać o co chodzi?


-- 
Wiesław Kierbedź
gg  2128870; wieslaw_kierbedz w jabber.org
www.v4l.prv.pl (video4linux - podstawy)




Więcej informacji o liście dyskusyjnej pld-users-pl