The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
Legacy synchronous exec functions. More...
#include <freeradius-devel/server/request.h>
#include <freeradius-devel/util/pair.h>
#include <freeradius-devel/util/talloc.h>
#include <sys/types.h>
Go to the source code of this file.
Functions | |
int | radius_exec_program_legacy (char *out, size_t outlen, request_t *request, char const *cmd, fr_pair_list_t *input_pairs, bool exec_wait, bool shell_escape, fr_time_delta_t timeout)) |
Execute a program. More... | |
int | radius_readfrom_program_legacy (int fd, pid_t pid, fr_time_delta_t timeout, char *answer, int left) |
Read from the child process. More... | |
pid_t | radius_start_program_legacy (int *stdin_fd, int *stdout_fd, int *stderr_fd, char const *cmd, request_t *request, bool exec_wait, fr_pair_list_t *input_pairs, bool shell_escape) |
Start a process. More... | |
Legacy synchronous exec functions.
Definition in file exec_legacy.h.
int radius_exec_program_legacy | ( | char * | out, |
size_t | outlen, | ||
request_t * | request, | ||
char const * | cmd, | ||
fr_pair_list_t * | input_pairs, | ||
bool | exec_wait, | ||
bool | shell_escape, | ||
fr_time_delta_t | timeout | ||
) |
Execute a program.
[out] | out | buffer to append plaintext (non valuepair) output. |
[in] | outlen | length of out buffer. |
[in] | request | Current request (may be NULL). |
[in] | cmd | Command to execute. This is parsed into argv[] parts, then each individual argv part is xlat'ed. |
[in] | input_pairs | list of value pairs - these will be available in the environment of the child. |
[in] | exec_wait | set to 1 if you want to read from or write to child. |
[in] | shell_escape | values before passing them as arguments. |
[in] | timeout | amount of time to wait, in seconds. |
Definition at line 474 of file exec_legacy.c.
int radius_readfrom_program_legacy | ( | int | fd, |
pid_t | pid, | ||
fr_time_delta_t | timeout, | ||
char * | answer, | ||
int | left | ||
) |
Read from the child process.
fd | file descriptor to read from. |
pid | pid of child, will be reaped if it dies. |
timeout | amount of time to wait, in seconds. |
answer | buffer to write into. |
left | length of buffer. |
Definition at line 357 of file exec_legacy.c.
pid_t radius_start_program_legacy | ( | int * | stdin_fd, |
int * | stdout_fd, | ||
int * | stderr_fd, | ||
char const * | cmd, | ||
request_t * | request, | ||
bool | exec_wait, | ||
fr_pair_list_t * | input_pairs, | ||
bool | shell_escape | ||
) |
Start a process.
[out] | stdin_fd | pointer to int, receives the stdin file descriptor. Set to NULL and the child will have /dev/null on stdin. |
[out] | stdout_fd | pointer to int, receives the stdout file descriptor. Set to NULL and the child will have /dev/null on stdout. |
[out] | stderr_fd | pointer to int, receives the stderr file descriptor. Set to NULL and the child will have /dev/null on stderr. |
[in] | cmd | Command to execute. This is parsed into argv[] parts, then each individual argv part is xlat'ed. |
[in] | request | Current request |
[in] | exec_wait | set to true to read from or write to child. |
[in] | input_pairs | list of value pairs - these will be put into the environment variables of the child. |
[in] | shell_escape | values before passing them as arguments. |
Definition at line 227 of file exec_legacy.c.