[selinux-policy: 756/3172] merge 1.27.10 changes
Daniel J Walsh
dwalsh at fedoraproject.org
Thu Oct 7 20:10:12 UTC 2010
commit 5a3b360db774482f3bd56d013166510530aa1bac
Author: Chris PeBenito <cpebenito at tresys.com>
Date: Tue Oct 18 15:32:36 2005 +0000
merge 1.27.10 changes
libselinux/ChangeLog | 4 ++++
libselinux/VERSION | 2 +-
libselinux/src/seusers.c | 30 ++++++++++++++++--------------
3 files changed, 21 insertions(+), 15 deletions(-)
---
diff --git a/libselinux/ChangeLog b/libselinux/ChangeLog
index 984d86a..bf7a213 100644
--- a/libselinux/ChangeLog
+++ b/libselinux/ChangeLog
@@ -1,3 +1,7 @@
+1.27.10 2005-10-17
+ * Changed getseuserbyname to ignore empty lines and to handle
+ no matching entry in the same manner as no seusers file.
+
1.27.9 2005-10-13
* Changed selinux_mkload_policy to try downgrading the
latest policy version available to the kernel-supported version.
diff --git a/libselinux/VERSION b/libselinux/VERSION
index 2151d61..3fdfffc 100644
--- a/libselinux/VERSION
+++ b/libselinux/VERSION
@@ -1 +1 @@
-1.27.9
+1.27.10
diff --git a/libselinux/src/seusers.c b/libselinux/src/seusers.c
index 2b6c42d..926b149 100644
--- a/libselinux/src/seusers.c
+++ b/libselinux/src/seusers.c
@@ -26,9 +26,9 @@ static int process_seusers(const char *buffer,
start = newbuf;
while (isspace(*start))
start++;
- if (*start == '#') {
+ if (*start == '#' || *start == 0) {
free(newbuf);
- return -1; /* Comment, skip over */
+ return -1; /* Comment or empty line, skip over */
}
end = strchr(start, ':');
if (!end)
@@ -98,16 +98,8 @@ int getseuserbyname(const char *name, char **r_seuser, char **r_level) {
char *defaultlevel=NULL;
cfg = fopen(selinux_usersconf_path(), "r");
- if (!cfg) {
- if (require_seusers)
- return -1;
- /* Fall back to the Linux username and no level. */
- *r_seuser = strdup(name);
- if (!(*r_seuser))
- return -1;
- *r_level = NULL;
- return 0;
- }
+ if (!cfg)
+ goto nomatch;
while (getline(&buffer, &size, cfg) > 0) {
++lineno;
@@ -138,6 +130,7 @@ int getseuserbyname(const char *name, char **r_seuser, char **r_level) {
if (buffer)
free(buffer);
fclose(cfg);
+
if (seuser) {
free(username);
free(defaultseuser);
@@ -152,6 +145,15 @@ int getseuserbyname(const char *name, char **r_seuser, char **r_level) {
*r_level = defaultlevel;
return 0;
}
-
- return -1;
+
+nomatch:
+ if (require_seusers)
+ return -1;
+
+ /* Fall back to the Linux username and no level. */
+ *r_seuser = strdup(name);
+ if (!(*r_seuser))
+ return -1;
+ *r_level = NULL;
+ return 0;
}
More information about the scm-commits
mailing list