Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

security_service.c File Reference

#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-bindings.h>
#include <dbus/dbus-glib-lowlevel.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>
#include <sys/types.h>
#include <unistd.h>
#include <time.h>
#include <signal.h>
#include <pwd.h>
#include <grp.h>
#include <sys/stat.h>
#include <hiker/pdk/sysutils_pdk.h>
#include <hiker/types.h>
#include <hiker/bundlemgr.h>
#include <hiker/attnmgr.h>
#include <hiker/security.h>
#include "SecurityObject.h"
#include "SecurityUpdate.h"
#include "SecurityKernel.h"
#include "SecurityManifest.h"
#include "SecurityUtilities.h"
#include <openssl/sha.h>
#include "security_service_glue.h"

Data Structures

struct  App
struct  _tAlertStatus

Defines

#define ALP_PRV_SPF_DEFAULT_CONFIG_FILE_PATH_RO   "/etc/default.policy"
#define ALP_PRV_SPF_DEFAULT_CONFIG_FILE_PATH_RW   "/var/opt/alp/data/lib/security/policy"
#define ALP_PRV_SPF_SECURITY_XML_FILE   "security.xml"
#define ALP_PRV_SPF_DEFAULT_LOG_FILE_PATH   "/var/log/security"
#define ALP_PRV_SPF_DEFAULT_USER   "security"
#define ALP_PRV_SPF_DEFAULT_GROUP   "security"
#define ALP_PRV_SPF_DEFAULT_UID   105
#define ALP_PRV_SPF_DEFAULT_GID   105
#define ALP_PRV_SPF_UI_TWO_SIMPLE
#define SECURITY_TYPE_OBJECT   (security_object_get_type())
#define SECURITY_OBJECT(object)   (G_TYPE_CHECK_INSTANCE_CAST ( ( object ) , SECURITY_TYPE_OBJECT , SecurityObject ) )
#define SECURITY_OBJECT_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass), SECURITY_TYPE_OBJECT, SecurityObjectClass))
#define SECURITY_IS_OBJECT(object)   (G_TYPE_CHECK_INSTANCE_TYPE ((object), SECURITY_TYPE_OBJECT))
#define SECURITY_IS_OBJECT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), SECURITY_TYPE_OBJECT))
#define SECURITY_OBJECT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), SECURITY_TYPE_OBJECT, SecurityObjectClass))
#define DBUS_API_SUBJECT_TO_CHANGE
#define DEBUG   1
#define d(msg)   if( app.debug != 0 ) { fputs( msg, app.debug_fp ); fflush( app.debug_fp ); }
#define ALP_PRV_SPF_SO_BREAK_IF_NULL(object, type, err)   if( object == (type *) NULL ) { err = FALSE; break; g_set_error( error, SSQ, ALP_PRV_SPF_SO_E_NULL_PARAMETER, "null parameter"); }

Typedefs

typedef _tAlertStatus tAlertStatus

Functions

 G_DEFINE_TYPE (SecurityObject, security_object, G_TYPE_OBJECT)
GType security_object_get_type (void)
gboolean alp_security_service_update (SecurityObject *obj, char *message, GError **error)
gboolean alp_security_service_ps_get_policyname_from_policy (SecurityObject *obj, unsigned int policy, gchar **out_policyname, gchar **out_parentname, GError **error)
gboolean alp_security_service_ps_get_policy_from_policyname (SecurityObject *obj, char *policyname, unsigned int *out_policy, GError **error)
gboolean alp_security_service_ps_packageid_increment (SecurityObject *obj, unsigned int packageid, unsigned int *out_count, GError **error)
gboolean alp_security_service_ps_packageid_decrement (SecurityObject *obj, unsigned int packageid, unsigned int *out_count, GError **error)
gboolean alp_security_service_ps_packageid_count (SecurityObject *obj, unsigned int packageid, unsigned int *out_count, GError **error)
gboolean alp_security_service_ps_get_policy_from_certificate (SecurityObject *obj, char *certificate, unsigned int *out_policy, GError **error)
gboolean alp_security_service_ps_get_policy_from_gid (SecurityObject *obj, unsigned int gid, unsigned int *out_policy, GError **error)
gboolean alp_security_service_ps_get_certificate_from_policy (SecurityObject *obj, unsigned int policy, gchar **out_certificate, gchar **out_certid, GError **error)
gboolean alp_security_service_ps_get_gid_from_policy (SecurityObject *obj, unsigned int policy, unsigned int *out_gid, GError **error)
gboolean alp_security_service_ps_get_policy_from_uid (SecurityObject *obj, unsigned int uid, unsigned int *out_policy, GError **error)
gboolean alp_security_service_ps_get_policy_from_package (SecurityObject *obj, char *package, unsigned int *out_policy, GError **error)
gboolean alp_security_service_ps_get_supplementary_group_size (SecurityObject *obj, unsigned int policy, unsigned int *out_size, GError **error)
gboolean alp_security_service_ps_get_uid_gid_sgids (SecurityObject *obj, unsigned int policy, unsigned int *out_uid, unsigned int *out_gid, GError **error)
gboolean alp_security_service_ps_enroll_package (SecurityObject *obj, char *package, unsigned int *out_packageid, GError **error)
gboolean alp_security_service_query_get_assertion_string (SecurityObject *obj, uint policy, char *assertion, unsigned int subject_pid, unsigned int client_pid, gchar **out_assertion_value, GError **error)
gboolean alp_security_service_query_get_assertion_type (SecurityObject *obj, unsigned int policy, char *assertion, unsigned int subject_pid, unsigned int client_pid, unsigned int *out_assertion_value, GError **error)
gboolean alp_security_service_info (SecurityObject *obj, gchar **out_version, GHashTable **out_calls, GError **error)
gboolean alp_security_service_pkcs5_set_phrase (SecurityObject *obj, unsigned int which, char *phrase, GError **error)
gboolean alp_security_service_pkcs5_check_phrase (SecurityObject *obj, unsigned int which, char *trial_phrase, unsigned int *correct, GError **error)
gboolean alp_security_service_pkcs5_set_parameters (SecurityObject *obj, unsigned int which, unsigned int iteration, unsigned int active, char *salt, GError **error)
gboolean alp_security_service_pkcs5_get_parameters (SecurityObject *obj, unsigned int which, unsigned int *iteration, unsigned int *active, char **salt, GError **error)
gboolean alp_security_service_apas_enroll (SecurityObject *obj, char *path, unsigned int *out_packageid, GError **error)
gboolean alp_security_service_apas_path_get_packageid (SecurityObject *obj, char *path, unsigned int *out_packageid, GError **error)
gboolean alp_security_service_apas_packageid_remove (SecurityObject *obj, unsigned int packageid, unsigned int *out_refcount, GError **error)
gboolean alp_security_service_apas_packageid_uid_get (SecurityObject *obj, unsigned int packageid, unsigned int *out_uid, GError **error)
gboolean alp_security_service_apas_packageid_gid_get (SecurityObject *obj, unsigned int packageid, unsigned int *out_gid, GError **error)
gboolean alp_security_service_apas_packageid_sgids_get (SecurityObject *obj, unsigned int packageid, char **out_sgids, GError **error)
gboolean alp_security_service_query_complete (SecurityObject *obj, unsigned int id, gchar **out_assertion_value, unsigned int *out_exit_okay, GError **error)
int main (int argc, char *argv[])

Variables

App app


Define Documentation

#define ALP_PRV_SPF_DEFAULT_CONFIG_FILE_PATH_RO   "/etc/default.policy"
 

#define ALP_PRV_SPF_DEFAULT_CONFIG_FILE_PATH_RW   "/var/opt/alp/data/lib/security/policy"
 

#define ALP_PRV_SPF_DEFAULT_GID   105
 

#define ALP_PRV_SPF_DEFAULT_GROUP   "security"
 

#define ALP_PRV_SPF_DEFAULT_LOG_FILE_PATH   "/var/log/security"
 

#define ALP_PRV_SPF_DEFAULT_UID   105
 

#define ALP_PRV_SPF_DEFAULT_USER   "security"
 

#define ALP_PRV_SPF_SECURITY_XML_FILE   "security.xml"
 

#define ALP_PRV_SPF_SO_BREAK_IF_NULL object,
type,
err   )     if( object == (type *) NULL ) { err = FALSE; break; g_set_error( error, SSQ, ALP_PRV_SPF_SO_E_NULL_PARAMETER, "null parameter"); }
 

#define ALP_PRV_SPF_UI_TWO_SIMPLE
 

#define d msg   )     if( app.debug != 0 ) { fputs( msg, app.debug_fp ); fflush( app.debug_fp ); }
 

#define DBUS_API_SUBJECT_TO_CHANGE
 

#define DEBUG   1
 

#define SECURITY_IS_OBJECT object   )     (G_TYPE_CHECK_INSTANCE_TYPE ((object), SECURITY_TYPE_OBJECT))
 

#define SECURITY_IS_OBJECT_CLASS klass   )     (G_TYPE_CHECK_CLASS_TYPE ((klass), SECURITY_TYPE_OBJECT))
 

#define SECURITY_OBJECT object   )     (G_TYPE_CHECK_INSTANCE_CAST ( ( object ) , SECURITY_TYPE_OBJECT , SecurityObject ) )
 

#define SECURITY_OBJECT_CLASS klass   )     (G_TYPE_CHECK_CLASS_CAST ((klass), SECURITY_TYPE_OBJECT, SecurityObjectClass))
 

#define SECURITY_OBJECT_GET_CLASS obj   )     (G_TYPE_INSTANCE_GET_CLASS ((obj), SECURITY_TYPE_OBJECT, SecurityObjectClass))
 

#define SECURITY_TYPE_OBJECT   (security_object_get_type())
 


Typedef Documentation

typedef struct _tAlertStatus tAlertStatus
 


Function Documentation

gboolean alp_security_service_apas_enroll SecurityObject obj,
char *  path,
unsigned int *  out_packageid,
GError **  error
 

gboolean alp_security_service_apas_packageid_gid_get SecurityObject obj,
unsigned int  packageid,
unsigned int *  out_gid,
GError **  error
 

gboolean alp_security_service_apas_packageid_remove SecurityObject obj,
unsigned int  packageid,
unsigned int *  out_refcount,
GError **  error
 

gboolean alp_security_service_apas_packageid_sgids_get SecurityObject obj,
unsigned int  packageid,
char **  out_sgids,
GError **  error
 

gboolean alp_security_service_apas_packageid_uid_get SecurityObject obj,
unsigned int  packageid,
unsigned int *  out_uid,
GError **  error
 

gboolean alp_security_service_apas_path_get_packageid SecurityObject obj,
char *  path,
unsigned int *  out_packageid,
GError **  error
 

gboolean alp_security_service_info SecurityObject obj,
gchar **  out_version,
GHashTable **  out_calls,
GError **  error
 

gboolean alp_security_service_pkcs5_check_phrase SecurityObject obj,
unsigned int  which,
char *  trial_phrase,
unsigned int *  correct,
GError **  error
 

gboolean alp_security_service_pkcs5_get_parameters SecurityObject obj,
unsigned int  which,
unsigned int *  iteration,
unsigned int *  active,
char **  salt,
GError **  error
 

gboolean alp_security_service_pkcs5_set_parameters SecurityObject obj,
unsigned int  which,
unsigned int  iteration,
unsigned int  active,
char *  salt,
GError **  error
 

gboolean alp_security_service_pkcs5_set_phrase SecurityObject obj,
unsigned int  which,
char *  phrase,
GError **  error
 

gboolean alp_security_service_ps_enroll_package SecurityObject obj,
char *  package,
unsigned int *  out_packageid,
GError **  error
 

gboolean alp_security_service_ps_get_certificate_from_policy SecurityObject obj,
unsigned int  policy,
gchar **  out_certificate,
gchar **  out_certid,
GError **  error
 

gboolean alp_security_service_ps_get_gid_from_policy SecurityObject obj,
unsigned int  policy,
unsigned int *  out_gid,
GError **  error
 

gboolean alp_security_service_ps_get_policy_from_certificate SecurityObject obj,
char *  certificate,
unsigned int *  out_policy,
GError **  error
 

gboolean alp_security_service_ps_get_policy_from_gid SecurityObject obj,
unsigned int  gid,
unsigned int *  out_policy,
GError **  error
 

gboolean alp_security_service_ps_get_policy_from_package SecurityObject obj,
char *  package,
unsigned int *  out_policy,
GError **  error
 

gboolean alp_security_service_ps_get_policy_from_policyname SecurityObject obj,
char *  policyname,
unsigned int *  out_policy,
GError **  error
 

gboolean alp_security_service_ps_get_policy_from_uid SecurityObject obj,
unsigned int  uid,
unsigned int *  out_policy,
GError **  error
 

gboolean alp_security_service_ps_get_policyname_from_policy SecurityObject obj,
unsigned int  policy,
gchar **  out_policyname,
gchar **  out_parentname,
GError **  error
 

gboolean alp_security_service_ps_get_supplementary_group_size SecurityObject obj,
unsigned int  policy,
unsigned int *  out_size,
GError **  error
 

gboolean alp_security_service_ps_get_uid_gid_sgids SecurityObject obj,
unsigned int  policy,
unsigned int *  out_uid,
unsigned int *  out_gid,
GError **  error
 

gboolean alp_security_service_ps_packageid_count SecurityObject obj,
unsigned int  packageid,
unsigned int *  out_count,
GError **  error
 

gboolean alp_security_service_ps_packageid_decrement SecurityObject obj,
unsigned int  packageid,
unsigned int *  out_count,
GError **  error
 

gboolean alp_security_service_ps_packageid_increment SecurityObject obj,
unsigned int  packageid,
unsigned int *  out_count,
GError **  error
 

gboolean alp_security_service_query_complete SecurityObject obj,
unsigned int  id,
gchar **  out_assertion_value,
unsigned int *  out_exit_okay,
GError **  error
 

gboolean alp_security_service_query_get_assertion_string SecurityObject obj,
uint  policy,
char *  assertion,
unsigned int  subject_pid,
unsigned int  client_pid,
gchar **  out_assertion_value,
GError **  error
 

gboolean alp_security_service_query_get_assertion_type SecurityObject obj,
unsigned int  policy,
char *  assertion,
unsigned int  subject_pid,
unsigned int  client_pid,
unsigned int *  out_assertion_value,
GError **  error
 

gboolean alp_security_service_update SecurityObject obj,
char *  message,
GError **  error
 

G_DEFINE_TYPE SecurityObject  ,
security_object  ,
G_TYPE_OBJECT 
 

int main int  argc,
char *  argv[]
 

GType security_object_get_type void   ) 
 


Variable Documentation

App app
 


Generated on Sat Dec 16 20:29:49 2006 for hiker-0.9 by  doxygen 1.4.4