From: Ivan Gyurdiev <ivg2@cornell.edu>
To: selinux@tycho.nsa.gov, Stephen Smalley <sds@tycho.nsa.gov>
Subject: [ SEMANAGE ] Remove unused relay functions
Date: Thu, 20 Oct 2005 17:23:39 -0400 [thread overview]
Message-ID: <43580ADB.1060003@cornell.edu> (raw)
[-- Attachment #1: Type: text/plain, Size: 804 bytes --]
Removes unused relay interfaces for POLICYDB databases (modify
functions). Some of them had the wrong names too...
This is basically the logical conclusion of splitting the internal
POLICYDB header in half - one half was made public in an earlier patch,
and now I'm dropping the other half in favor of more direct access
(without relay) - policydb_components.c uses polymorphism and method
tables to call the right function itself without relay, which is better.
====
What I don't like very much is that accessing the functions directly via
the dbase interfaces assumes binary compatibility between the sepol and
semanage record (currently true), while in the previous versions I had
convert() functions to change between the two. I've put a warning - not
sure if I'll do anything about it.
[-- Attachment #2: libsemanage.no_relay.diff --]
[-- Type: text/x-patch, Size: 13685 bytes --]
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/booleans_policy.c new/libsemanage/src/booleans_policy.c
--- old/libsemanage/src/booleans_policy.c 2005-10-20 14:03:25.000000000 -0400
+++ new/libsemanage/src/booleans_policy.c 2005-10-20 17:10:07.000000000 -0400
@@ -11,9 +11,9 @@ typedef struct dbase_direct dbase_t;
#include <stddef.h>
#include <stdlib.h>
#include <semanage/boolean_record.h>
+#include <semanage/booleans_policy.h>
#include "handle.h"
#include "database.h"
-#include "booleans_policy.h"
#include "debug.h"
static inline int semanage2sepol_key(
@@ -43,81 +43,6 @@ record_table_t SEPOL_BOOL_RTABLE = {
.free = sepol_bool_free,
};
-int semanage_bool_add(
- semanage_handle_t* handle,
- semanage_bool_key_t* key,
- semanage_bool_t* data) {
-
- dbase_config_t* dconfig =
- semanage_bool_dbase_policy(handle);
- sepol_bool_t* sepol_data;
- sepol_bool_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->add(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_bool_modify_policy(
- semanage_handle_t* handle,
- semanage_bool_key_t* key,
- semanage_bool_t* data) {
-
- dbase_config_t* dconfig =
- semanage_port_dbase_policy(handle);
- sepol_bool_t* sepol_data;
- sepol_bool_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->modify(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_bool_del(
- semanage_handle_t* handle,
- semanage_bool_key_t* key) {
-
- dbase_config_t* dconfig =
- semanage_bool_dbase_policy(handle);
- sepol_bool_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (dconfig->dtable->del(handle, dconfig->dbase, sepol_key) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
int semanage_bool_query(
semanage_handle_t* handle,
semanage_bool_key_t* key,
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/booleans_policy.h new/libsemanage/src/booleans_policy.h
--- old/libsemanage/src/booleans_policy.h 2005-10-20 10:40:46.000000000 -0400
+++ new/libsemanage/src/booleans_policy.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,25 +0,0 @@
-#ifndef _SEMANAGE_BOOLEANS_POLICY_INTERNAL_H_
-#define _SEMANAGE_BOOLEANS_POLICY_INTERNAL_H_
-
-#include <semanage/handle.h>
-#include <semanage/boolean_record.h>
-#include <semanage/booleans_policy.h>
-
-/* BOOLEAN RECORD (SEPOL): method table */
-extern record_table_t SEPOL_BOOL_RTABLE;
-
-extern int semanage_bool_add(
- semanage_handle_t* handle,
- semanage_bool_key_t* key,
- semanage_bool_t* data);
-
-extern int semanage_bool_modify(
- semanage_handle_t* handle,
- semanage_bool_key_t* key,
- semanage_bool_t* data);
-
-extern int semanage_bool_del(
- semanage_handle_t* handle,
- semanage_bool_key_t* key);
-
-#endif
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/interfaces_policy.c new/libsemanage/src/interfaces_policy.c
--- old/libsemanage/src/interfaces_policy.c 2005-10-20 10:40:46.000000000 -0400
+++ new/libsemanage/src/interfaces_policy.c 2005-10-20 17:09:34.000000000 -0400
@@ -11,9 +11,9 @@ typedef struct dbase_direct dbase_t;
#include <stddef.h>
#include <stdlib.h>
#include <semanage/iface_record.h>
+#include <semanage/interfaces_policy.h>
#include "handle.h"
#include "database.h"
-#include "interfaces_policy.h"
#include "debug.h"
static inline int semanage2sepol_key(
@@ -43,81 +43,6 @@ record_table_t SEPOL_IFACE_RTABLE = {
.free = sepol_iface_free,
};
-int semanage_iface_add(
- semanage_handle_t* handle,
- semanage_iface_key_t* key,
- semanage_iface_t* data) {
-
- dbase_config_t* dconfig =
- semanage_iface_dbase_policy(handle);
- sepol_iface_t* sepol_data;
- sepol_iface_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->add(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_iface_modify_policy(
- semanage_handle_t* handle,
- semanage_iface_key_t* key,
- semanage_iface_t* data) {
-
- dbase_config_t* dconfig =
- semanage_port_dbase_policy(handle);
- sepol_iface_t* sepol_data;
- sepol_iface_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->modify(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_iface_del(
- semanage_handle_t* handle,
- semanage_iface_key_t* key) {
-
- dbase_config_t* dconfig =
- semanage_iface_dbase_policy(handle);
- sepol_iface_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (dconfig->dtable->del(handle, dconfig->dbase, sepol_key) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
int semanage_iface_query(
semanage_handle_t* handle,
semanage_iface_key_t* key,
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/interfaces_policy.h new/libsemanage/src/interfaces_policy.h
--- old/libsemanage/src/interfaces_policy.h 2005-10-20 10:40:46.000000000 -0400
+++ new/libsemanage/src/interfaces_policy.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,25 +0,0 @@
-#ifndef _SEMANAGE_INTERFACES_POLICY_INTERNAL_H_
-#define _SEMANAGE_INTERFACES_POLICY_INTERNAL_H_
-
-#include <semanage/handle.h>
-#include <semanage/iface_record.h>
-#include <semanage/interfaces_policy.h>
-
-/* INTERFACE RECORD (SEPOL): method table */
-extern record_table_t SEPOL_IFACE_RTABLE;
-
-extern int semanage_iface_add(
- semanage_handle_t* handle,
- semanage_iface_key_t* key,
- semanage_iface_t* data);
-
-extern int semanage_iface_modify(
- semanage_handle_t* handle,
- semanage_iface_key_t* key,
- semanage_iface_t* data);
-
-extern int semanage_iface_del(
- semanage_handle_t* handle,
- semanage_iface_key_t* key);
-
-#endif
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/ports_policy.c new/libsemanage/src/ports_policy.c
--- old/libsemanage/src/ports_policy.c 2005-10-20 14:03:26.000000000 -0400
+++ new/libsemanage/src/ports_policy.c 2005-10-20 17:09:08.000000000 -0400
@@ -11,9 +11,9 @@ typedef struct dbase_direct dbase_t;
#include <stddef.h>
#include <stdlib.h>
#include <semanage/port_record.h>
+#include <semanage/ports_policy.h>
#include "handle.h"
#include "database.h"
-#include "ports_policy.h"
#include "debug.h"
static inline int semanage2sepol_key(
@@ -43,81 +43,6 @@ record_table_t SEPOL_PORT_RTABLE = {
.free = sepol_port_free,
};
-int semanage_port_add(
- semanage_handle_t* handle,
- semanage_port_key_t* key,
- semanage_port_t* data) {
-
- dbase_config_t* dconfig =
- semanage_port_dbase_policy(handle);
- sepol_port_t* sepol_data;
- sepol_port_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->add(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_port_modify(
- semanage_handle_t* handle,
- semanage_port_key_t* key,
- semanage_port_t* data) {
-
- dbase_config_t* dconfig =
- semanage_port_dbase_policy(handle);
- sepol_port_t* sepol_data;
- sepol_port_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->modify(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_port_del(
- semanage_handle_t* handle,
- semanage_port_key_t* key) {
-
- dbase_config_t* dconfig =
- semanage_port_dbase_policy(handle);
- sepol_port_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (dconfig->dtable->del(handle, dconfig->dbase, sepol_key) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
int semanage_port_query(
semanage_handle_t* handle,
semanage_port_key_t* key,
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/ports_policy.h new/libsemanage/src/ports_policy.h
--- old/libsemanage/src/ports_policy.h 2005-10-20 10:40:46.000000000 -0400
+++ new/libsemanage/src/ports_policy.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,25 +0,0 @@
-#ifndef _SEMANAGE_PORTS_POLICY_INTERNAL_H_
-#define _SEMANAGE_PORTS_POLICY_INTERNAL_H_
-
-#include <semanage/handle.h>
-#include <semanage/port_record.h>
-#include <semanage/ports_policy.h>
-
-/* PORT RECORD (SEPOL): method table */
-extern record_table_t SEPOL_PORT_RTABLE;
-
-extern int semanage_port_add(
- semanage_handle_t* handle,
- semanage_port_key_t* key,
- semanage_port_t* data);
-
-extern int semanage_port_modify(
- semanage_handle_t* handle,
- semanage_port_key_t* key,
- semanage_port_t* data);
-
-extern int semanage_port_del(
- semanage_handle_t* handle,
- semanage_port_key_t* key);
-
-#endif
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/users_policy.c new/libsemanage/src/users_policy.c
--- old/libsemanage/src/users_policy.c 2005-10-20 14:03:27.000000000 -0400
+++ new/libsemanage/src/users_policy.c 2005-10-20 17:09:20.000000000 -0400
@@ -11,9 +11,9 @@ typedef struct dbase_direct dbase_t;
#include <stddef.h>
#include <stdlib.h>
#include <semanage/user_record.h>
+#include <semanage/users_policy.h>
#include "handle.h"
#include "database.h"
-#include "users_policy.h"
#include "debug.h"
static inline int semanage2sepol_key(
@@ -43,81 +43,6 @@ record_table_t SEPOL_USER_RTABLE = {
.free = sepol_user_free,
};
-int semanage_user_add(
- semanage_handle_t* handle,
- semanage_user_key_t* key,
- semanage_user_t* data) {
-
- dbase_config_t* dconfig =
- semanage_user_dbase_policy(handle);
- sepol_user_t* sepol_data;
- sepol_user_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->add(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_user_modify_policy(
- semanage_handle_t* handle,
- semanage_user_key_t* key,
- semanage_user_t* data) {
-
- dbase_config_t* dconfig =
- semanage_port_dbase_policy(handle);
- sepol_user_t* sepol_data;
- sepol_user_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (semanage2sepol_data(data, &sepol_data) < 0)
- goto err;
-
- if (dconfig->dtable->modify(handle, dconfig->dbase,
- sepol_key, sepol_data) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
-int semanage_user_del(
- semanage_handle_t* handle,
- semanage_user_key_t* key) {
-
- dbase_config_t* dconfig =
- semanage_user_dbase_policy(handle);
- sepol_user_key_t* sepol_key;
-
- if (semanage2sepol_key(key, &sepol_key) < 0)
- goto err;
-
- if (dconfig->dtable->del(handle, dconfig->dbase, sepol_key) < 0)
- goto err;
-
- return STATUS_SUCCESS;
-
- err:
- /* FIXME: handle error */
- return STATUS_ERR;
-}
-
int semanage_user_query(
semanage_handle_t* handle,
semanage_user_key_t* key,
diff -Naurp --exclude CVS --exclude ChangeLog --exclude VERSION --exclude libsemanage.map --exclude 'module_record*' --exclude 'database_directory*' old/libsemanage/src/users_policy.h new/libsemanage/src/users_policy.h
--- old/libsemanage/src/users_policy.h 2005-10-20 10:40:46.000000000 -0400
+++ new/libsemanage/src/users_policy.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,25 +0,0 @@
-#ifndef _SEMANAGE_USERS_POLICY_INTERNAL_H_
-#define _SEMANAGE_USERS_POLICY_INTERNAL_H_
-
-#include <semanage/handle.h>
-#include <semanage/user_record.h>
-#include <semanage/users_policy.h>
-
-/* USER RECORD (SEPOL): method table */
-extern record_table_t SEPOL_USER_RTABLE;
-
-extern int semanage_user_add(
- semanage_handle_t* handle,
- semanage_user_key_t* key,
- semanage_user_t* data);
-
-extern int semanage_user_modify(
- semanage_handle_t* handle,
- semanage_user_key_t* key,
- semanage_user_t* data);
-
-extern int semanage_user_del(
- semanage_handle_t* handle,
- semanage_user_key_t* key);
-
-#endif
next reply other threads:[~2005-10-20 21:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-20 21:23 Ivan Gyurdiev [this message]
2005-10-20 21:35 ` [ SEMANAGE ] Remove unused relay functions Ivan Gyurdiev
2005-10-21 14:10 ` Stephen Smalley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43580ADB.1060003@cornell.edu \
--to=ivg2@cornell.edu \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.