Привет.Кто разбирался с сабжом? В последнем бета релизе isc dhcpd, функция execute() уже встроенна, и не надо никаких патчей. Проблема в том, что она не передаёт никаких параметров внешнему приложению. Есть пример такого типа:
on commit {
set rc = execute("/usr/local/bin/script", "commit", binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)), binary-to-ascii(10, 8, ".",leased-address), binary-to-ascii(10, 32, "",encode-int(lease-time, 32)));
}В теории, при commit он должен передать по очереди: "commit", мак, айпи, и время аренды как параметры для некого /usr/local/bin/script.
А на практике, ничего не передаётся.
И если даже пример упростить до вот такого:on commit {
set rc = execute("/usr/local/bin/script", "hello");
}То всё равно не передаётся этот hello как параметр.
Гугл молчит как рыба, не знаю куда рыть. Заранее спасибо.
Забыл добавить, вот кусок мануала:execute(command-path, data-expr1 ... data-exprN);
External command execution is made possible through execute();
expressions. These expressions take a variable number of arguments,
where the first is the command name (full path or only the name of
the executable) and is followed by zero or more are data-expressions
whose values will be evaluated and passed as external arguments
(assumed to be text strings suitable for use as a command-line argu-
ment).