version 1.1.1.1, 2012/02/21 16:23:02
|
version 1.1.1.2, 2012/05/29 12:26:49
|
Line 73 fill_seq(char *str, size_t strsize)
|
Line 73 fill_seq(char *str, size_t strsize)
|
{ |
{ |
static char sessid[7]; |
static char sessid[7]; |
int len; |
int len; |
|
debug_decl(sudoers_io_version, SUDO_DEBUG_UTIL) |
|
|
if (sessid[0] == '\0') |
if (sessid[0] == '\0') |
io_nextid(def_iolog_dir, sessid); |
io_nextid(def_iolog_dir, sessid); |
Line 81 fill_seq(char *str, size_t strsize)
|
Line 82 fill_seq(char *str, size_t strsize)
|
len = snprintf(str, strsize, "%c%c/%c%c/%c%c", sessid[0], |
len = snprintf(str, strsize, "%c%c/%c%c/%c%c", sessid[0], |
sessid[1], sessid[2], sessid[3], sessid[4], sessid[5]); |
sessid[1], sessid[2], sessid[3], sessid[4], sessid[5]); |
if (len < 0) |
if (len < 0) |
return strsize; /* handle non-standard snprintf() */ | debug_return_size_t(strsize); /* handle non-standard snprintf() */ |
return (size_t)len; | debug_return_size_t(len); |
} |
} |
|
|
static size_t |
static size_t |
fill_user(char *str, size_t strsize) |
fill_user(char *str, size_t strsize) |
{ |
{ |
return strlcpy(str, user_name, strsize); | debug_decl(fill_user, SUDO_DEBUG_UTIL) |
| debug_return_size_t(strlcpy(str, user_name, strsize)); |
} |
} |
|
|
static size_t |
static size_t |
Line 96 fill_group(char *str, size_t strsize)
|
Line 98 fill_group(char *str, size_t strsize)
|
{ |
{ |
struct group *grp; |
struct group *grp; |
size_t len; |
size_t len; |
|
debug_decl(fill_group, SUDO_DEBUG_UTIL) |
|
|
if ((grp = sudo_getgrgid(user_gid)) != NULL) { |
if ((grp = sudo_getgrgid(user_gid)) != NULL) { |
len = strlcpy(str, grp->gr_name, strsize); |
len = strlcpy(str, grp->gr_name, strsize); |
Line 105 fill_group(char *str, size_t strsize)
|
Line 108 fill_group(char *str, size_t strsize)
|
len = snprintf(str + len, strsize - len, "#%u", |
len = snprintf(str + len, strsize - len, "#%u", |
(unsigned int) user_gid); |
(unsigned int) user_gid); |
} |
} |
return len; | debug_return_size_t(len); |
} |
} |
|
|
static size_t |
static size_t |
fill_runas_user(char *str, size_t strsize) |
fill_runas_user(char *str, size_t strsize) |
{ |
{ |
return strlcpy(str, runas_pw->pw_name, strsize); | debug_decl(fill_runas_user, SUDO_DEBUG_UTIL) |
| debug_return_size_t(strlcpy(str, runas_pw->pw_name, strsize)); |
} |
} |
|
|
static size_t |
static size_t |
Line 119 fill_runas_group(char *str, size_t strsize)
|
Line 123 fill_runas_group(char *str, size_t strsize)
|
{ |
{ |
struct group *grp; |
struct group *grp; |
size_t len; |
size_t len; |
|
debug_decl(fill_runas_group, SUDO_DEBUG_UTIL) |
|
|
if (runas_gr != NULL) { |
if (runas_gr != NULL) { |
len = strlcpy(str, runas_gr->gr_name, strsize); |
len = strlcpy(str, runas_gr->gr_name, strsize); |
Line 132 fill_runas_group(char *str, size_t strsize)
|
Line 137 fill_runas_group(char *str, size_t strsize)
|
(unsigned int) runas_pw->pw_gid); |
(unsigned int) runas_pw->pw_gid); |
} |
} |
} |
} |
return len; | debug_return_size_t(len); |
} |
} |
|
|
static size_t |
static size_t |
fill_hostname(char *str, size_t strsize) |
fill_hostname(char *str, size_t strsize) |
{ |
{ |
return strlcpy(str, user_shost, strsize); | debug_decl(fill_hostname, SUDO_DEBUG_UTIL) |
| debug_return_size_t(strlcpy(str, user_shost, strsize)); |
} |
} |
|
|
static size_t |
static size_t |
fill_command(char *str, size_t strsize) |
fill_command(char *str, size_t strsize) |
{ |
{ |
return strlcpy(str, user_base, strsize); | debug_decl(fill_command, SUDO_DEBUG_UTIL) |
| debug_return_size_t(strlcpy(str, user_base, strsize)); |
} |
} |
|
|
/* |
/* |
Line 159 expand_iolog_path(const char *prefix, const char *dir,
|
Line 166 expand_iolog_path(const char *prefix, const char *dir,
|
size_t len, prelen = 0; |
size_t len, prelen = 0; |
char *dst, *dst0, *path, *pathend, tmpbuf[PATH_MAX]; |
char *dst, *dst0, *path, *pathend, tmpbuf[PATH_MAX]; |
const char *endbrace, *src = dir; |
const char *endbrace, *src = dir; |
int pass, strfit; | int pass; |
| bool strfit; |
| debug_decl(expand_iolog_path, SUDO_DEBUG_UTIL) |
|
|
/* Expanded path must be <= PATH_MAX */ |
/* Expanded path must be <= PATH_MAX */ |
if (prefix != NULL) |
if (prefix != NULL) |
Line 180 expand_iolog_path(const char *prefix, const char *dir,
|
Line 189 expand_iolog_path(const char *prefix, const char *dir,
|
file++; |
file++; |
|
|
for (pass = 0; pass < 3; pass++) { |
for (pass = 0; pass < 3; pass++) { |
strfit = FALSE; | strfit = false; |
switch (pass) { |
switch (pass) { |
case 0: |
case 0: |
src = dir; |
src = dir; |
Line 267 expand_iolog_path(const char *prefix, const char *dir,
|
Line 276 expand_iolog_path(const char *prefix, const char *dir,
|
} |
} |
} |
} |
|
|
return path; | debug_return_str(path); |
bad: |
bad: |
efree(path); |
efree(path); |
return NULL; | debug_return_str(NULL); |
} |
} |