2007-02-20 14:31:07 +00:00
|
|
|
--- libselinux-2.0.1/src/selinuxswig_wrap.c.rhat 2007-02-20 09:25:03.000000000 -0500
|
|
|
|
+++ libselinux-2.0.1/src/selinuxswig_wrap.c 2007-02-20 09:25:14.000000000 -0500
|
2007-02-07 19:39:11 +00:00
|
|
|
@@ -2832,7 +2832,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp1 = NULL ;
|
|
|
|
- char *temp10 ;
|
|
|
|
+ char *temp10 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
|
|
|
|
{
|
2007-02-07 19:39:11 +00:00
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -2879,7 +2879,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
int val1 ;
|
|
|
|
int ecode1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -2911,7 +2911,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp1 = NULL ;
|
|
|
|
- char *temp10 ;
|
|
|
|
+ char *temp10 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
|
|
|
|
{
|
2007-02-07 19:39:11 +00:00
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -2937,7 +2937,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp1 = NULL ;
|
|
|
|
- char *temp10 ;
|
|
|
|
+ char *temp10 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
|
|
|
|
{
|
2007-02-07 19:39:11 +00:00
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -2981,7 +2981,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp1 = NULL ;
|
|
|
|
- char *temp10 ;
|
|
|
|
+ char *temp10 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
|
|
|
|
{
|
2007-02-07 19:39:11 +00:00
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -3025,7 +3025,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp1 = NULL ;
|
|
|
|
- char *temp10 ;
|
|
|
|
+ char *temp10 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
|
|
|
|
{
|
2007-02-07 19:39:11 +00:00
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -3069,7 +3069,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp1 = NULL ;
|
|
|
|
- char *temp10 ;
|
|
|
|
+ char *temp10 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
|
|
|
|
{
|
2007-02-07 19:39:11 +00:00
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -3117,7 +3117,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
char *buf1 = 0 ;
|
|
|
|
int alloc1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -3155,7 +3155,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
char *buf1 = 0 ;
|
|
|
|
int alloc1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -3192,7 +3192,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
int val1 ;
|
|
|
|
int ecode1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -3314,7 +3314,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
int val1 ;
|
|
|
|
int ecode1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -3475,7 +3475,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
security_context_t *arg2 = (security_context_t *) 0 ;
|
|
|
|
int result;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -3735,7 +3735,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
unsigned int val2 ;
|
|
|
|
int ecode2 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp3 = NULL ;
|
|
|
|
- char *temp30 ;
|
|
|
|
+ char *temp30 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
PyObject * obj1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
|
|
|
|
@@ -3779,7 +3779,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
char *buf1 = 0 ;
|
|
|
|
int alloc1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -4213,7 +4213,7 @@
|
|
|
|
char *buf1 = 0 ;
|
|
|
|
int alloc1 = 0 ;
|
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
|
|
|
{
|
|
|
|
@@ -4251,7 +4251,7 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
char *buf1 = 0 ;
|
|
|
|
int alloc1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
security_context_t temp2 = NULL ;
|
|
|
|
- char *temp20 ;
|
|
|
|
+ char *temp20 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
|
|
|
@@ -4284,7 +4284,7 @@
|
|
|
|
PyObject *resultobj = 0;
|
|
|
|
char **arg1 = (char **) 0 ;
|
|
|
|
int result;
|
|
|
|
- char *temp1 ;
|
|
|
|
+ char *temp1 = NULL ;
|
|
|
|
|
|
|
|
{
|
|
|
|
arg1 = &temp1;
|
|
|
|
@@ -4310,8 +4310,8 @@
|
2007-01-24 17:20:19 +00:00
|
|
|
int res1 ;
|
|
|
|
char *buf1 = 0 ;
|
|
|
|
int alloc1 = 0 ;
|
2007-02-07 19:39:11 +00:00
|
|
|
- char *temp2 ;
|
|
|
|
- char *temp3 ;
|
|
|
|
+ char *temp2 = NULL ;
|
|
|
|
+ char *temp3 = NULL ;
|
2007-01-24 17:20:19 +00:00
|
|
|
PyObject * obj0 = 0 ;
|
|
|
|
|
2007-02-07 19:39:11 +00:00
|
|
|
{
|
2007-02-20 14:31:07 +00:00
|
|
|
--- libselinux-2.0.1/src/enabled.c.rhat 2007-02-20 09:25:03.000000000 -0500
|
|
|
|
+++ libselinux-2.0.1/src/enabled.c 2007-02-20 09:27:53.000000000 -0500
|
|
|
|
@@ -8,10 +8,44 @@
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "policy.h"
|
|
|
|
|
|
|
|
+static int readFD (int fd, char **buf)
|
|
|
|
+{
|
|
|
|
+ char *p;
|
|
|
|
+ size_t size = 16384;
|
|
|
|
+ int s, filesize;
|
|
|
|
+
|
|
|
|
+ *buf = calloc (16384, sizeof (char));
|
|
|
|
+ if (*buf == 0)
|
|
|
|
+ return -1;
|
|
|
|
+
|
|
|
|
+ filesize = 0;
|
|
|
|
+ do {
|
|
|
|
+ p = &(*buf) [filesize];
|
|
|
|
+ do {
|
|
|
|
+ s = read (fd, p, 16384);
|
|
|
|
+ } while (s < 0 && errno == EINTR);
|
|
|
|
+ if (s < 0)
|
|
|
|
+ break;
|
|
|
|
+ filesize += s;
|
|
|
|
+ /* only exit for empty reads */
|
|
|
|
+ if (s == 0)
|
|
|
|
+ break;
|
|
|
|
+ size += s;
|
|
|
|
+ *buf = realloc (*buf, size);
|
|
|
|
+ } while (1);
|
|
|
|
+
|
|
|
|
+ if (filesize == 0 && s < 0) {
|
|
|
|
+ free (*buf);
|
|
|
|
+ *buf = NULL;
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return filesize;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
int is_selinux_enabled(void)
|
|
|
|
{
|
|
|
|
- char *buf;
|
|
|
|
- size_t size;
|
|
|
|
+ char *buf = NULL;
|
|
|
|
int fd;
|
|
|
|
ssize_t ret;
|
|
|
|
int enabled = 0;
|
|
|
|
@@ -21,19 +55,11 @@
|
|
|
|
if (fd < 0)
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
- size = selinux_page_size;
|
|
|
|
- buf = malloc(size);
|
|
|
|
- if (!buf) {
|
|
|
|
- enabled = -1;
|
|
|
|
- goto out;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- memset(buf, 0, size);
|
|
|
|
-
|
|
|
|
- ret = read(fd, buf, size - 1);
|
|
|
|
+ ret = readFD(fd, &buf);
|
|
|
|
+ close(fd);
|
|
|
|
if (ret < 0) {
|
|
|
|
enabled = -1;
|
|
|
|
- goto out2;
|
|
|
|
+ goto out;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!strstr(buf, "selinuxfs"))
|
|
|
|
@@ -49,7 +75,6 @@
|
|
|
|
out2:
|
|
|
|
free(buf);
|
|
|
|
out:
|
|
|
|
- close(fd);
|
|
|
|
return enabled;
|
|
|
|
}
|
|
|
|
|
|
|
|
--- libselinux-2.0.1/src/selinuxswig.i.rhat 2007-02-20 09:25:03.000000000 -0500
|
|
|
|
+++ libselinux-2.0.1/src/selinuxswig.i 2007-02-20 09:25:14.000000000 -0500
|
|
|
|
@@ -28,7 +28,7 @@
|
|
|
|
%typemap(in, numinputs=0) security_context_t *(security_context_t temp=NULL) {
|
|
|
|
$1 = &temp;
|
|
|
|
}
|
|
|
|
-%typemap(argout) security_context_t * (char *temp) {
|
|
|
|
+%typemap(argout) security_context_t * (char *temp=NULL) {
|
|
|
|
if (*$1)
|
|
|
|
temp = *$1;
|
|
|
|
else
|
|
|
|
@@ -126,7 +126,7 @@
|
|
|
|
extern int selinux_raw_to_trans_context(char *raw,
|
|
|
|
security_context_t *transp);
|
|
|
|
|
|
|
|
-%typemap(in, numinputs=0) char **(char *temp) {
|
|
|
|
+%typemap(in, numinputs=0) char **(char *temp=NULL) {
|
|
|
|
$1 = &temp;
|
|
|
|
}
|
|
|
|
|