selinux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [SEMANAGE] Polymorphism vs headers - fix
@ 2005-12-13  0:46 Ivan Gyurdiev
  0 siblings, 0 replies; only message in thread
From: Ivan Gyurdiev @ 2005-12-13  0:46 UTC (permalink / raw)
  To: SELinux List; +Cc: Stephen Smalley

[-- Attachment #1: Type: text/plain, Size: 371 bytes --]

No headers should precede the polymorphic definition... including the 
internal header.
This allows greater freedom as to what can go into the internal header - 
specifically,
it can now include things like database.h, that make use of the 
polymorphic type.

Also remove unused libselinux headers, things that are in _internal.h 
already, and
add stub port_internal.h.


[-- Attachment #2: libsemanage.poly_headers_cleanup.diff --]
[-- Type: text/x-patch, Size: 15021 bytes --]

diff -Naurp --exclude-from excludes old/libsemanage/src/booleans_file.c new/libsemanage/src/booleans_file.c
--- old/libsemanage/src/booleans_file.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/booleans_file.c	2005-12-12 19:10:29.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "boolean_internal.h"
-
-typedef semanage_bool_t record_t;
-typedef semanage_bool_key_t record_key_t;
+struct semanage_bool;
+struct semanage_bool_key;
+typedef struct semanage_bool record_t;
+typedef struct semanage_bool_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_file;
@@ -14,8 +14,8 @@ typedef struct dbase_file dbase_t;
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
-#include <selinux/selinux.h>
 #include <semanage/handle.h>
+#include "boolean_internal.h"
 #include "database_file.h"
 #include "booleans_file.h"
 #include "parse_utils.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/booleans_local.c new/libsemanage/src/booleans_local.c
--- old/libsemanage/src/booleans_local.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/booleans_local.c	2005-12-12 19:21:48.000000000 -0500
@@ -1,12 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "boolean_internal.h"
-
-typedef semanage_bool_key_t record_key_t;
-typedef semanage_bool_t record_t;
+struct semanage_bool;
+struct semanage_bool_key;
+typedef struct semanage_bool_key record_key_t;
+typedef struct semanage_bool record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
+#include "boolean_internal.h"
 #include "handle.h" 
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/booleans_policy.c new/libsemanage/src/booleans_policy.c
--- old/libsemanage/src/booleans_policy.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/booleans_policy.c	2005-12-12 19:15:32.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "boolean_internal.h"
-
-typedef semanage_bool_key_t record_key_t;
-typedef semanage_bool_t record_t;
+struct semanage_bool;
+struct semanage_bool_key;
+typedef struct semanage_bool_key record_key_t;
+typedef struct semanage_bool record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/booleans_policy.h>
+#include "boolean_internal.h"
 #include "handle.h"
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/booleans_policydb.c new/libsemanage/src/booleans_policydb.c
--- old/libsemanage/src/booleans_policydb.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/booleans_policydb.c	2005-12-12 19:11:01.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "boolean_internal.h"
-
-typedef semanage_bool_t record_t;
-typedef semanage_bool_key_t record_key_t;
+struct semanage_bool;
+struct semanage_bool_key;
+typedef struct semanage_bool record_t;
+typedef struct semanage_bool_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_policydb;
@@ -12,6 +12,7 @@ typedef struct dbase_policydb dbase_t;
 
 #include <sepol/booleans.h>
 #include <semanage/handle.h>
+#include "boolean_internal.h"
 #include "booleans_policydb.h"
 #include "debug.h"
 #include "database_policydb.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/interfaces_file.c new/libsemanage/src/interfaces_file.c
--- old/libsemanage/src/interfaces_file.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/interfaces_file.c	2005-12-12 19:08:54.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "iface_internal.h"
-
-typedef semanage_iface_t record_t;
-typedef semanage_iface_key_t record_key_t;
+struct semanage_iface;
+struct semanage_iface_key;
+typedef struct semanage_iface record_t;
+typedef struct semanage_iface_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_file;
@@ -12,8 +12,8 @@ typedef struct dbase_file dbase_t;
 
 #include <stdlib.h>
 #include <stdio.h>
-#include <selinux/selinux.h>
 #include <semanage/handle.h>
+#include "iface_internal.h"
 #include "context_internal.h"
 #include "database_file.h"
 #include "interfaces_file.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/interfaces_local.c new/libsemanage/src/interfaces_local.c
--- old/libsemanage/src/interfaces_local.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/interfaces_local.c	2005-12-12 19:16:08.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "iface_internal.h"
-
-typedef semanage_iface_key_t record_key_t;
-typedef semanage_iface_t record_t;
+struct semanage_iface;
+struct semanage_iface_key;
+typedef struct semanage_iface_key record_key_t;
+typedef struct semanage_iface record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/interfaces_local.h>
+#include "iface_internal.h"
 #include "handle.h" 
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/interfaces_policy.c new/libsemanage/src/interfaces_policy.c
--- old/libsemanage/src/interfaces_policy.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/interfaces_policy.c	2005-12-12 19:21:24.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "iface_internal.h"
-
-typedef semanage_iface_key_t record_key_t;
-typedef semanage_iface_t record_t;
+struct semanage_iface;
+struct semanage_iface_key;
+typedef struct semanage_iface_key record_key_t;
+typedef struct semanage_iface record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/interfaces_policy.h>
+#include "iface_internal.h"
 #include "handle.h"
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/interfaces_policydb.c new/libsemanage/src/interfaces_policydb.c
--- old/libsemanage/src/interfaces_policydb.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/interfaces_policydb.c	2005-12-12 19:09:32.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "iface_internal.h"
-
-typedef semanage_iface_t record_t;
-typedef semanage_iface_key_t record_key_t;
+struct semanage_iface;
+struct semanage_iface_key;
+typedef struct semanage_iface record_t;
+typedef struct semanage_iface_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_policydb;
@@ -12,6 +12,7 @@ typedef struct dbase_policydb dbase_t;
 
 #include <sepol/interfaces.h>
 #include <semanage/handle.h>
+#include "iface_internal.h"
 #include "interfaces_policydb.h"
 #include "debug.h"
 #include "database_policydb.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/port_internal.h new/libsemanage/src/port_internal.h
--- old/libsemanage/src/port_internal.h	1969-12-31 19:00:00.000000000 -0500
+++ new/libsemanage/src/port_internal.h	2005-12-12 19:12:54.000000000 -0500
@@ -0,0 +1,11 @@
+#ifndef _SEMANAGE_PORT_INTERNAL_H_
+#define _SEMANAGE_PORT_INTERNAL_H_
+
+#include <semanage/port_record.h>
+#include <semanage/ports_local.h>
+#include <semanage/ports_policy.h>
+#include "dso.h"
+
+/* TODO: Hidden prototypes here */
+
+#endif
diff -Naurp --exclude-from excludes old/libsemanage/src/ports_file.c new/libsemanage/src/ports_file.c
--- old/libsemanage/src/ports_file.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/ports_file.c	2005-11-23 21:43:46.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include <semanage/port_record.h>
-
-typedef semanage_port_t record_t;
-typedef semanage_port_key_t record_key_t;
+struct semanage_port;
+struct semanage_port_key;
+typedef struct semanage_port record_t;
+typedef struct semanage_port_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_file;
@@ -14,6 +14,7 @@ typedef struct dbase_file dbase_t;
 #include <stdio.h>
 #include <strings.h>
 #include <semanage/handle.h>
+#include "port_internal.h"
 #include "context_internal.h"
 #include "database_file.h"
 #include "ports_file.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/ports_local.c new/libsemanage/src/ports_local.c
--- old/libsemanage/src/ports_local.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/ports_local.c	2005-12-12 19:16:32.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include <semanage/port_record.h>
-
-typedef semanage_port_key_t record_key_t;
-typedef semanage_port_t record_t;
+struct semanage_port;
+struct semanage_port_key;
+typedef struct semanage_port_key record_key_t;
+typedef struct semanage_port record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/handle.h>
+#include "port_internal.h"
 #include "handle.h" 
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/ports_policy.c new/libsemanage/src/ports_policy.c
--- old/libsemanage/src/ports_policy.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/ports_policy.c	2005-12-12 19:16:36.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include <semanage/port_record.h>
-
-typedef semanage_port_key_t record_key_t;
-typedef semanage_port_t record_t;
+struct semanage_port;
+struct semanage_port_key;
+typedef struct semanage_port_key record_key_t;
+typedef struct semanage_port record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/ports_policy.h>
+#include "port_internal.h"
 #include "handle.h" 
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/ports_policydb.c new/libsemanage/src/ports_policydb.c
--- old/libsemanage/src/ports_policydb.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/ports_policydb.c	2005-12-12 18:59:48.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include <semanage/port_record.h>
-
-typedef semanage_port_t record_t;
-typedef semanage_port_key_t record_key_t;
+struct semanage_port;
+struct semanage_port_key;
+typedef struct semanage_port record_t;
+typedef struct semanage_port_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_policydb;
@@ -12,7 +12,7 @@ typedef struct dbase_policydb dbase_t;
 
 #include <sepol/ports.h>
 #include <semanage/handle.h>
-#include "ports_policydb.h"
+#include "port_internal.h"
 #include "debug.h"
 #include "database_policydb.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/seusers.c new/libsemanage/src/seusers.c
--- old/libsemanage/src/seusers.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/seusers.c	2005-12-12 19:21:40.000000000 -0500
@@ -1,14 +1,14 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "seuser_internal.h"
-
-typedef semanage_seuser_key_t record_key_t;
-typedef semanage_seuser_t record_t;
+struct semanage_seuser;
+struct semanage_seuser_key;
+typedef struct semanage_seuser_key record_key_t;
+typedef struct semanage_seuser record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
 #include "user_internal.h"
-#include <semanage/users_policy.h>
+#include "seuser_internal.h"
 #include "seusers.h"
 #include "handle.h"
 #include "database.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/seusers_file.c new/libsemanage/src/seusers_file.c
--- old/libsemanage/src/seusers_file.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/seusers_file.c	2005-12-12 19:18:29.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "seuser_internal.h"
-
-typedef semanage_seuser_t record_t;
-typedef semanage_seuser_key_t record_key_t;
+struct semanage_seuser;
+struct semanage_seuser_key;
+typedef struct semanage_seuser record_t;
+typedef struct semanage_seuser_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_file;
@@ -14,7 +14,7 @@ typedef struct dbase_file dbase_t;
 #include <stdio.h>
 #include <strings.h>
 
-#include <selinux/selinux.h>
+#include "seuser_internal.h"
 #include "database_file.h"
 #include "parse_utils.h"
 #include "debug.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/users_file.c new/libsemanage/src/users_file.c
--- old/libsemanage/src/users_file.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/users_file.c	2005-12-12 19:05:10.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "user_internal.h"
-
-typedef semanage_user_t record_t;
-typedef semanage_user_key_t record_key_t;
+struct semanage_user;
+struct semanage_user_key;
+typedef struct semanage_user record_t;
+typedef struct semanage_user_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_file;
@@ -14,8 +14,8 @@ typedef struct dbase_file dbase_t;
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
-#include <selinux/selinux.h>
 #include <semanage/handle.h>
+#include "user_internal.h"
 #include "database_file.h"
 #include "users_file.h"
 #include "parse_utils.h"
diff -Naurp --exclude-from excludes old/libsemanage/src/users_local.c new/libsemanage/src/users_local.c
--- old/libsemanage/src/users_local.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/users_local.c	2005-12-12 19:23:07.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "user_internal.h"
-
-typedef semanage_user_key_t record_key_t;
-typedef semanage_user_t record_t;
+struct semanage_user;
+struct semanage_user_key;
+typedef struct semanage_user_key record_key_t;
+typedef struct semanage_user record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/users_local.h>
+#include "user_internal.h"
 #include "handle.h" 
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/users_policy.c new/libsemanage/src/users_policy.c
--- old/libsemanage/src/users_policy.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/users_policy.c	2005-12-12 19:23:27.000000000 -0500
@@ -1,13 +1,13 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "user_internal.h"
-
-typedef semanage_user_key_t record_key_t;
-typedef semanage_user_t record_t;
+struct semanage_user;
+struct semanage_user_key;
+typedef struct semanage_user_key record_key_t;
+typedef struct semanage_user record_t;
 #define DBASE_RECORD_DEFINED
 
 #include <stddef.h>
-#include <semanage/users_policy.h>
+#include "user_internal.h"
 #include "handle.h" 
 #include "database.h"
 
diff -Naurp --exclude-from excludes old/libsemanage/src/users_policydb.c new/libsemanage/src/users_policydb.c
--- old/libsemanage/src/users_policydb.c	2005-12-12 19:20:55.000000000 -0500
+++ new/libsemanage/src/users_policydb.c	2005-12-12 19:06:18.000000000 -0500
@@ -1,9 +1,9 @@
 /* Copyright (C) 2005 Red Hat, Inc. */
 
-#include "user_internal.h"
-
-typedef semanage_user_t record_t;
-typedef semanage_user_key_t record_key_t;
+struct semanage_user;
+struct semanage_user_key;
+typedef struct semanage_user record_t;
+typedef struct semanage_user_key record_key_t;
 #define DBASE_RECORD_DEFINED
 
 struct dbase_policydb;
@@ -12,6 +12,7 @@ typedef struct dbase_policydb dbase_t;
 
 #include <sepol/users.h>
 #include <semanage/handle.h>
+#include "user_internal.h"
 #include "users_policydb.h"
 #include "debug.h"
 #include "database_policydb.h"

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-12-13  0:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-13  0:46 [SEMANAGE] Polymorphism vs headers - fix Ivan Gyurdiev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).