Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
polkit
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Zbigniew Jędrzejewski-Szmek
polkit
Commits
20d7b8fe
Commit
20d7b8fe
authored
Aug 15, 2008
by
David Zeuthen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api cleanup (part 1)
parent
08df7620
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1918 additions
and
2373 deletions
+1918
-2373
polkit-backendd/Makefile.am
polkit-backendd/Makefile.am
+3
-1
polkit-backendd/org.freedesktop.PolicyKit.Backend.xml
polkit-backendd/org.freedesktop.PolicyKit.Backend.xml
+5
-0
polkit-backendd/polkit-daemon-backend.c
polkit-backendd/polkit-daemon-backend.c
+34
-0
polkit-backendd/polkit-daemon-backend.h
polkit-backendd/polkit-daemon-backend.h
+3
-0
src/polkit/Makefile.am
src/polkit/Makefile.am
+5
-9
src/polkit/polkit-action-description.c
src/polkit/polkit-action-description.c
+1398
-0
src/polkit/polkit-action-description.h
src/polkit/polkit-action-description.h
+27
-27
src/polkit/polkit-authorization-db.c
src/polkit/polkit-authorization-db.c
+0
-16
src/polkit/polkit-context.c
src/polkit/polkit-context.c
+208
-530
src/polkit/polkit-context.h
src/polkit/polkit-context.h
+22
-86
src/polkit/polkit-implicit-authorization.c
src/polkit/polkit-implicit-authorization.c
+109
-109
src/polkit/polkit-implicit-authorization.h
src/polkit/polkit-implicit-authorization.h
+20
-20
src/polkit/polkit-policy-cache.c
src/polkit/polkit-policy-cache.c
+0
-541
src/polkit/polkit-policy-cache.h
src/polkit/polkit-policy-cache.h
+0
-81
src/polkit/polkit-policy-file-entry.c
src/polkit/polkit-policy-file-entry.c
+0
-759
src/polkit/polkit-policy-file.h
src/polkit/polkit-policy-file.h
+0
-73
src/polkit/polkit-private.h
src/polkit/polkit-private.h
+8
-19
src/polkit/polkit.h
src/polkit/polkit.h
+2
-4
tools/Makefile.am
tools/Makefile.am
+1
-1
tools/polkit-action.c
tools/polkit-action.c
+55
-65
tools/polkit-auth.c
tools/polkit-auth.c
+12
-20
tools/polkit-policy-file-validate.c
tools/polkit-policy-file-validate.c
+6
-12
No files found.
polkit-backendd/Makefile.am
View file @
20d7b8fe
...
...
@@ -36,7 +36,9 @@ polkit_backendd_CPPFLAGS = \
$(AM_CPPFLAGS)
polkit_backendd_LDADD
=
\
$(DBUS_GLIB_LIBS)
$(top_builddir)
/src/polkit/libpolkit-1.la
$(DBUS_GLIB_LIBS)
\
$(top_builddir)
/src/kit/libkit.la
\
$(top_builddir)
/src/polkit/libpolkit-1.la
servicedir
=
$(datadir)
/dbus-1/system-services
...
...
polkit-backendd/org.freedesktop.PolicyKit.Backend.xml
View file @
20d7b8fe
...
...
@@ -9,5 +9,10 @@
<arg
name=
"result"
direction=
"out"
type=
"s"
/>
</method>
<method
name=
"GetPolicyEntries"
>
<annotation
name=
"org.freedesktop.DBus.GLib.Async"
value=
""
/>
<arg
name=
"result"
direction=
"out"
type=
"as"
/>
</method>
</interface>
</node>
polkit-backendd/polkit-daemon-backend.c
View file @
20d7b8fe
...
...
@@ -49,6 +49,9 @@
#include "polkit-daemon-backend.h"
#include <polkit/polkit.h>
#include <polkit/polkit-private.h>
static
gboolean
no_exit
=
FALSE
;
/*--------------------------------------------------------------------------------------------------------------*/
...
...
@@ -253,6 +256,37 @@ polkit_daemon_backend_hello (PolKitDaemonBackend *daemon,
s
=
g_strdup_printf
(
"You said '%s'"
,
message
);
dbus_g_method_return
(
context
,
s
);
g_free
(
s
);
return
TRUE
;
}
/*--------------------------------------------------------------------------------------------------------------*/
gboolean
polkit_daemon_backend_get_policy_entries
(
PolKitDaemonBackend
*
daemon
,
DBusGMethodInvocation
*
context
)
{
GPtrArray
*
a
;
PolKitPolicyCache
*
c
;
c
=
_polkit_policy_cache_new
(
PACKAGE_DATA_DIR
"polkit-1/actions"
,
TRUE
,
NULL
);
polkit_policy_cache_unref
(
c
);
a
=
g_ptr_array_new
();
g_ptr_array_add
(
a
,
g_strdup
(
"foo"
));
g_ptr_array_add
(
a
,
g_strdup
(
"bar"
));
g_ptr_array_add
(
a
,
g_strdup
(
"baz"
));
g_ptr_array_add
(
a
,
NULL
);
dbus_g_method_return
(
context
,
a
->
pdata
);
g_ptr_array_foreach
(
a
,
(
GFunc
)
g_free
,
NULL
);
g_ptr_array_free
(
a
,
TRUE
);
return
TRUE
;
}
/*--------------------------------------------------------------------------------------------------------------*/
polkit-backendd/polkit-daemon-backend.h
View file @
20d7b8fe
...
...
@@ -73,6 +73,9 @@ gboolean polkit_daemon_backend_hello (PolKitDaemonBackend *daemon,
const
char
*
message
,
DBusGMethodInvocation
*
context
);
gboolean
polkit_daemon_backend_get_policy_entries
(
PolKitDaemonBackend
*
daemon
,
DBusGMethodInvocation
*
context
);
G_END_DECLS
#endif
/* __POLKIT_DAEMON_BACKEND_H__ */
src/polkit/Makefile.am
View file @
20d7b8fe
...
...
@@ -31,17 +31,15 @@ libpolkit_1include_HEADERS = \
polkit-seat.h
\
polkit-session.h
\
polkit-caller.h
\
polkit-policy-file-entry.h
\
polkit-policy-file.h
\
polkit-policy-cache.h
\
polkit-policy-default.h
\
polkit-action-description.h
\
polkit-implicit-authorization.h
\
polkit-authorization.h
\
polkit-authorization-constraint.h
\
polkit-authorization-db.h
\
polkit-tracker.h
\
polkit-simple.h
libpolkit_1_la_SOURCES
=
\
libpolkit_1_la_SOURCES
=
\
polkit.h
\
polkit-private.h
\
polkit-types.h
\
...
...
@@ -53,10 +51,8 @@ libpolkit_1_la_SOURCES = \
polkit-seat.h polkit-seat.c
\
polkit-session.h polkit-session.c
\
polkit-caller.h polkit-caller.c
\
polkit-policy-file-entry.h polkit-policy-file-entry.c
\
polkit-policy-file.h polkit-policy-file.c
\
polkit-policy-cache.h polkit-policy-cache.c
\
polkit-policy-default.h polkit-policy-default.c
\
polkit-action-description.h polkit-action-description.c
\
polkit-implicit-authorization.h polkit-implicit-authorization.c
\
polkit-debug.h polkit-debug.c
\
polkit-utils.h polkit-utils.c
\
polkit-authorization.h polkit-authorization.c
\
...
...
src/polkit/polkit-
policy-file
.c
→
src/polkit/polkit-
action-description
.c
View file @
20d7b8fe
This diff is collapsed.
Click to expand it.
src/polkit/polkit-
policy-file-entry
.h
→
src/polkit/polkit-
action-description
.h
View file @
20d7b8fe
...
...
@@ -31,62 +31,62 @@
#error "Only <polkit/polkit.h> can be included directly, this file may disappear or change contents."
#endif
#ifndef POLKIT_
POLICY_FILE_ENTRY
_H
#define POLKIT_
POLICY_FILE_ENTRY
_H
#ifndef POLKIT_
ACTION_DESCRIPTION
_H
#define POLKIT_
ACTION_DESCRIPTION
_H
#include <polkit/polkit-types.h>
#include <polkit/polkit-result.h>
#include <polkit/polkit-
policy-default
.h>
#include <polkit/polkit-
implicit-authorization
.h>
#include <polkit/polkit-error.h>
POLKIT_BEGIN_DECLS
struct
_PolKit
PolicyFileEntry
;
typedef
struct
_PolKit
PolicyFileEntry
PolKitPolicyFileEntry
;
struct
_PolKit
ActionDescription
;
typedef
struct
_PolKit
ActionDescription
PolKitActionDescription
;
/**
* PolKit
PolicyFileEntry
AnnotationsForeachFunc:
* @
policy_file_entry
: the policy file entry
* PolKit
ActionDescription
AnnotationsForeachFunc:
* @
action_description
: the policy file entry
* @key: key of the annotation
* @value: corrosponding value of the annotation
* @user_data: user data passed to polkit_
policy_file_entry
_annotations_foreach()
* @user_data: user data passed to polkit_
action_description
_annotations_foreach()
*
* Callback function for polkit_
policy_file_entry
_annotations_foreach().
* Callback function for polkit_
action_description
_annotations_foreach().
*
* Returns: Pass #TRUE to short-circuit, e.g. stop the iteration
**/
typedef
polkit_bool_t
(
*
PolKit
PolicyFileEntryAnnotationsForeachFunc
)
(
PolKitPolicyFileEntry
*
policy_file_entry
,
typedef
polkit_bool_t
(
*
PolKit
ActionDescriptionAnnotationsForeachFunc
)
(
PolKitActionDescription
*
action_description
,
const
char
*
key
,
const
char
*
value
,
void
*
user_data
);
PolKit
PolicyFileEntry
*
polkit_policy_file_entry_ref
(
PolKitPolicyFileEntry
*
policy_file_entry
);
void
polkit_
policy_file_entry_unref
(
PolKitPolicyFileEntry
*
policy_file_entry
);
void
polkit_
policy_file_entry_debug
(
PolKitPolicyFileEntry
*
policy_file_entry
);
PolKit
ActionDescription
*
polkit_action_description_ref
(
PolKitActionDescription
*
action_description
);
void
polkit_
action_description_unref
(
PolKitActionDescription
*
action_description
);
void
polkit_
action_description_debug
(
PolKitActionDescription
*
action_description
);
const
char
*
polkit_policy_file_entry_get_id
(
PolKitPolicyFileEntry
*
policy_file_entry
);
PolKit
PolicyDefault
*
polkit_policy_file_entry_get_default
(
PolKitPolicyFileEntry
*
policy_file_entry
);
const
char
*
polkit_action_description_get_id
(
PolKitActionDescription
*
action_description
);
PolKit
ImplicitAuthorization
*
polkit_action_description_get_implicit_authorization
(
PolKitActionDescription
*
action_description
);
const
char
*
polkit_
policy_file_entry_get_action_description
(
PolKitPolicyFileEntry
*
policy_file_entry
);
const
char
*
polkit_
policy_file_entry_get_action_message
(
PolKitPolicyFileEntry
*
policy_file_entry
);
const
char
*
polkit_
action_description_get_action_description
(
PolKitActionDescription
*
action_description
);
const
char
*
polkit_
action_description_get_action_message
(
PolKitActionDescription
*
action_description
);
const
char
*
polkit_
policy_file_entry_get_action_vendor
(
PolKitPolicyFileEntry
*
policy_file_entry
);
const
char
*
polkit_
policy_file_entry_get_action_vendor_url
(
PolKitPolicyFileEntry
*
policy_file_entry
);
const
char
*
polkit_
policy_file_entry_get_action_icon_name
(
PolKitPolicyFileEntry
*
policy_file_entry
);
const
char
*
polkit_
action_description_get_action_vendor
(
PolKitActionDescription
*
action_description
);
const
char
*
polkit_
action_description_get_action_vendor_url
(
PolKitActionDescription
*
action_description
);
const
char
*
polkit_
action_description_get_action_icon_name
(
PolKitActionDescription
*
action_description
);
polkit_bool_t
polkit_
policy_file_entry_annotations_foreach
(
PolKitPolicyFileEntry
*
policy_file_entry
,
PolKit
PolicyFileEntry
AnnotationsForeachFunc
cb
,
polkit_bool_t
polkit_
action_description_annotations_foreach
(
PolKitActionDescription
*
action_description
,
PolKit
ActionDescription
AnnotationsForeachFunc
cb
,
void
*
user_data
);
const
char
*
polkit_
policy_file_entry_get_annotation
(
PolKitPolicyFileEntry
*
policy_file_entry
,
const
char
*
polkit_
action_description_get_annotation
(
PolKitActionDescription
*
action_description
,
const
char
*
key
);
PolKit
PolicyDefault
*
polkit_policy_file_entry_get_default_factory
(
PolKitPolicyFileEntry
*
policy_file_entry
);
polkit_bool_t
polkit_
policy_file_entry_set_default
(
PolKitPolicyFileEntry
*
policy_file_entry
,
PolKit
PolicyDefault
*
defaults
,
PolKit
ImplicitAuthorization
*
polkit_action_description_get_implicit_authorization_factory
(
PolKitActionDescription
*
action_description
);
polkit_bool_t
polkit_
action_description_set_implicit_authorization
(
PolKitActionDescription
*
action_description
,
PolKit
ImplicitAuthorization
*
implicit_authorzation
,
PolKitError
**
error
);
POLKIT_END_DECLS
#endif
/* POLKIT_
POLICY_FILE_ENTRY
_H */
#endif
/* POLKIT_
ACTION_DESCRIPTION
_H */
src/polkit/polkit-authorization-db.c
View file @
20d7b8fe
...
...
@@ -134,22 +134,6 @@ oom:
return
authdb
;
}
polkit_bool_t
_polkit_authorization_db_pfe_foreach
(
PolKitPolicyCache
*
policy_cache
,
PolKitPolicyCacheForeachFunc
callback
,
void
*
user_data
)
{
return
FALSE
;
}
PolKitPolicyFileEntry
*
_polkit_authorization_db_pfe_get_by_id
(
PolKitPolicyCache
*
policy_cache
,
const
char
*
action_id
)
{
return
NULL
;
}
/**
* polkit_authorization_db_ref:
* @authdb: the object
...
...
src/polkit/polkit-context.c
View file @
20d7b8fe
This diff is collapsed.
Click to expand it.
src/polkit/polkit-context.h
View file @
20d7b8fe
...
...
@@ -39,10 +39,10 @@
#include <polkit/polkit-result.h>
#include <polkit/polkit-context.h>
#include <polkit/polkit-action.h>
#include <polkit/polkit-action-description.h>
#include <polkit/polkit-seat.h>
#include <polkit/polkit-session.h>
#include <polkit/polkit-caller.h>
#include <polkit/polkit-policy-cache.h>
#include <polkit/polkit-authorization-db.h>
POLKIT_BEGIN_DECLS
...
...
@@ -75,104 +75,26 @@ typedef void (*PolKitContextConfigChangedCB) (PolKitContext *pk_context,
void
*
user_data
);
/**
* PolKitContextAddIOWatch:
* @pk_context: the polkit context
* @fd: the file descriptor to watch
*
* Type for function supplied by the application to integrate a watch
* on a file descriptor into the applications main loop. The
* application must call polkit_context_io_func() when there is data
* to read from the file descriptor.
*
* For glib mainloop, the function will typically look like this:
*
* <programlisting>
* static gboolean
* io_watch_have_data (GIOChannel *channel, GIOCondition condition, gpointer user_data)
* {
* int fd;
* PolKitContext *pk_context = user_data;
* fd = g_io_channel_unix_get_fd (channel);
* polkit_context_io_func (pk_context, fd);
* return TRUE;
* }
*
* static int
* io_add_watch (PolKitContext *pk_context, int fd)
* {
* guint id = 0;
* GIOChannel *channel;
* channel = g_io_channel_unix_new (fd);
* if (channel == NULL)
* goto out;
* id = g_io_add_watch (channel, G_IO_IN, io_watch_have_data, pk_context);
* if (id == 0) {
* g_io_channel_unref (channel);
* goto out;
* }
* g_io_channel_unref (channel);
* out:
* return id;
* }
* </programlisting>
*
* Returns: 0 if the watch couldn't be set up; otherwise an unique
* identifier for the watch.
**/
typedef
int
(
*
PolKitContextAddIOWatch
)
(
PolKitContext
*
pk_context
,
int
fd
);
/**
* PolKitContextRemoveIOWatch:
* @pk_context: the context object
* @watch_id: the id obtained from using the supplied function
* of type #PolKitContextAddIOWatch
*
* Type for function supplied by the application to remove a watch set
* up via the supplied function of type #PolKitContextAddIOWatch
*
* For the glib mainloop, the function will typically look like this:
* PolKitActionDescriptionForeachFunc:
* @action_description: the entry
* @user_data: user data
*
* <programlisting>
* static void
* io_remove_watch (PolKitContext *pk_context, int watch_id)
* {
* g_source_remove (watch_id);
* }
* </programlisting>
* Type for function used in to iterate over action descriptions.
*
* Returns: #TRUE to short-circuit, e.g. stop the iteration
**/
typedef
void
(
*
PolKitContextRemoveIOWatch
)
(
PolKitContext
*
pk_context
,
int
watch_id
);
typedef
polkit_bool_t
(
*
PolKitActionDescriptionForeachFunc
)
(
PolKitActionDescription
*
action_description
,
void
*
user_data
);
PolKitContext
*
polkit_context_new
(
void
);
void
polkit_context_set_config_changed
(
PolKitContext
*
pk_context
,
PolKitContextConfigChangedCB
cb
,
void
*
user_data
);
void
polkit_context_set_io_watch_functions
(
PolKitContext
*
pk_context
,
PolKitContextAddIOWatch
io_add_watch_func
,
PolKitContextRemoveIOWatch
io_remove_watch_func
);
void
polkit_context_set_load_descriptions
(
PolKitContext
*
pk_context
);
polkit_bool_t
polkit_context_init
(
PolKitContext
*
pk_context
,
PolKitError
**
error
);
PolKitContext
*
polkit_context_ref
(
PolKitContext
*
pk_context
);
void
polkit_context_unref
(
PolKitContext
*
pk_context
);
void
polkit_context_force_reload
(
PolKitContext
*
pk_context
);
void
polkit_context_io_func
(
PolKitContext
*
pk_context
,
int
fd
);
PolKitPolicyCache
*
polkit_context_get_policy_cache
(
PolKitContext
*
pk_context
);
POLKIT_GNUC_DEPRECATED
PolKitResult
polkit_context_can_session_do_action
(
PolKitContext
*
pk_context
,
PolKitAction
*
action
,
PolKitSession
*
session
);
POLKIT_GNUC_DEPRECATED
PolKitResult
polkit_context_can_caller_do_action
(
PolKitContext
*
pk_context
,
PolKitAction
*
action
,
PolKitCaller
*
caller
);
PolKitResult
polkit_context_is_caller_authorized
(
PolKitContext
*
pk_context
,
PolKitAction
*
action
,
PolKitCaller
*
caller
,
...
...
@@ -184,6 +106,20 @@ PolKitResult polkit_context_is_session_authorized (PolKitContext *pk_con
PolKitSession
*
session
,
PolKitError
**
error
);
polkit_bool_t
polkit_context_action_description_foreach
(
PolKitContext
*
pk_context
,
PolKitActionDescriptionForeachFunc
cb
,
void
*
user_data
);
PolKitActionDescription
*
polkit_context_get_action_description
(
PolKitContext
*
pk_context
,
const
char
*
action_id
);
/* TODO: move to private static lib */
polkit_bool_t
polkit_action_description_get_from_file
(
const
char
*
path
,
PolKitActionDescriptionForeachFunc
cb
,
void
*
user_data
,
PolKitError
**
error
);
PolKitAuthorizationDB
*
polkit_context_get_authorization_db
(
PolKitContext
*
pk_context
);
POLKIT_END_DECLS
...
...
src/polkit/polkit-
policy-default
.c
→
src/polkit/polkit-
implicit-authorization
.c
View file @
20d7b8fe
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
/***************************************************************************
*
* polkit-
policy-default
.c : policy definition for the defaults
* polkit-
implicit-authorization
.c : policy definition for the defaults
*
* Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
*
...
...
@@ -42,13 +42,13 @@
#include "polkit-debug.h"
#include "polkit-error.h"
#include "polkit-
policy-default
.h"
#include "polkit-
implicit-authorization
.h"
#include "polkit-private.h"
#include "polkit-test.h"
#include "polkit-private.h"
/**
* SECTION:polkit-
policy-default
* SECTION:polkit-
implicit-authorization
* @title: Defaults
* @short_description: Models the default policy for an action.
*
...
...
@@ -56,12 +56,12 @@
**/
/**
* PolKit
PolicyDefault
:
* PolKit
ImplicitAuthorization
:
*
* Objects of this class are used to record information about a
* default policy for an action.
**/
struct
_PolKit
PolicyDefault
struct
_PolKit
ImplicitAuthorization
{
int
refcount
;
PolKitResult
default_any
;
...
...
@@ -70,7 +70,7 @@ struct _PolKitPolicyDefault
};
/**
* polkit_
policy_default
_new:
* polkit_
implicit_authorization
_new:
*
* Construct a new object with all defaults set as restrictive as possible.
*
...
...
@@ -78,12 +78,12 @@ struct _PolKitPolicyDefault
*
* Since: 0.7
*/
PolKit
PolicyDefault
*
polkit_
policy_default
_new
(
void
)
PolKit
ImplicitAuthorization
*
polkit_
implicit_authorization
_new
(
void
)
{
PolKit
PolicyDefault
*
pd
;
PolKit
ImplicitAuthorization
*
pd
;
pd
=
kit_new0
(
PolKit
PolicyDefault
,
1
);
pd
=
kit_new0
(
PolKit
ImplicitAuthorization
,
1
);
if
(
pd
==
NULL
)
goto
out
;
pd
->
refcount
=
1
;
...
...
@@ -95,8 +95,8 @@ out:
}
/**
* polkit_
policy_default
_clone:
* @
policy_default
: object to clone
* polkit_
implicit_authorization
_clone:
* @
implicit_authorization
: object to clone
*
* Create a new object with the same value as the given object
*
...
...
@@ -104,36 +104,36 @@ out:
*
* Since: 0.7
*/
PolKit
PolicyDefault
*
polkit_
policy_default_clone
(
PolKitPolicyDefault
*
policy_default
)
PolKit
ImplicitAuthorization
*
polkit_
implicit_authorization_clone
(
PolKitImplicitAuthorization
*
implicit_authorization
)
{
PolKit
PolicyDefault
*
pd
;
PolKit
ImplicitAuthorization
*
pd
;
kit_return_val_if_fail
(
policy_default
!=
NULL
,
NULL
);
kit_return_val_if_fail
(
implicit_authorization
!=
NULL
,
NULL
);
pd
=
polkit_
policy_default
_new
();
pd
=
polkit_
implicit_authorization
_new
();
if
(
pd
==
NULL
)
goto
out
;
pd
->
refcount
=
1
;
pd
->
default_any
=
policy_default
->
default_any
;
pd
->
default_inactive
=
policy_default
->
default_inactive
;
pd
->
default_active
=
policy_default
->
default_active
;
pd
->
default_any
=
implicit_authorization
->
default_any
;
pd
->
default_inactive
=
implicit_authorization
->
default_inactive
;
pd
->
default_active
=
implicit_authorization
->
default_active
;
out:
return
pd
;
}
/**
* polkit_
policy_default
_equals:
* @a: a #PolKit
PolicyDefault
object
* @b: a #PolKit
PolicyDefault
object
* polkit_
implicit_authorization
_equals:
* @a: a #PolKit
ImplicitAuthorization
object
* @b: a #PolKit
ImplicitAuthorization
object
*
* Compare if two objects are equal.
*
* Returns: %TRUE only if the objects are equal
*/
polkit_bool_t
polkit_
policy_default_equals
(
PolKitPolicyDefault
*
a
,
PolKitPolicyDefault
*
b
)
polkit_
implicit_authorization_equals
(
PolKitImplicitAuthorization
*
a
,
PolKitImplicitAuthorization
*
b
)
{
polkit_bool_t
ret
;
...
...
@@ -151,14 +151,14 @@ polkit_policy_default_equals (PolKitPolicyDefault *a, PolKitPolicyDefault *b)
return
ret
;
}
PolKit
PolicyDefault
*
_polkit_
policy_default
_new
(
PolKitResult
defaults_allow_any
,
PolKit
ImplicitAuthorization
*
_polkit_
implicit_authorization
_new
(
PolKitResult
defaults_allow_any
,
PolKitResult
defaults_allow_inactive
,
PolKitResult
defaults_allow_active
)
{
PolKit
PolicyDefault
*
pd
;
PolKit
ImplicitAuthorization
*
pd
;
pd
=
kit_new0
(
PolKit
PolicyDefault
,
1
);
pd
=
kit_new0
(
PolKit
ImplicitAuthorization
,
1
);
if
(
pd
==
NULL
)
goto
out
;
pd
->
refcount
=
1
;
...
...
@@ -170,63 +170,63 @@ out:
}
/**
* polkit_
policy_default
_ref:
* @
policy_default
: the policy object
* polkit_
implicit_authorization
_ref:
* @
implicit_authorization
: the policy object
*
* Increase reference count.
*
* Returns: the object
**/
PolKit
PolicyDefault
*
polkit_
policy_default_ref
(
PolKitPolicyDefault
*
policy_default
)
PolKit
ImplicitAuthorization
*
polkit_
implicit_authorization_ref
(
PolKitImplicitAuthorization
*
implicit_authorization
)
{
kit_return_val_if_fail
(
policy_default
!=
NULL
,
policy_default
);
policy_default
->
refcount
++
;
return
policy_default
;
kit_return_val_if_fail
(
implicit_authorization
!=
NULL
,
implicit_authorization
);
implicit_authorization
->
refcount
++
;
return
implicit_authorization
;
}
/**
* polkit_
policy_default
_unref:
* @
policy_default
: the object
* polkit_
implicit_authorization
_unref:
* @
implicit_authorization
: the object
*
* Decreases the reference count of the object. If it becomes zero,
* the object is freed. Before freeing, reference counts on embedded
* objects are decresed by one.
**/
void
polkit_
policy_default_unref
(
PolKitPolicyDefault
*
policy_default
)
polkit_
implicit_authorization_unref
(
PolKitImplicitAuthorization
*
implicit_authorization
)
{
kit_return_if_fail
(
policy_default
!=
NULL
);
policy_default
->
refcount
--
;
if
(
policy_default
->
refcount
>
0
)
kit_return_if_fail
(
implicit_authorization
!=
NULL
);
implicit_authorization
->
refcount
--
;
if
(
implicit_authorization
->
refcount
>
0
)
return
;
kit_free
(
policy_default
);
kit_free
(
implicit_authorization
);
}
/**
* polkit_
policy_default
_debug:
* @
policy_default
: the object
* polkit_
implicit_authorization
_debug:
* @
implicit_authorization
: the object
*
* Print debug details
**/
void
polkit_
policy_default_debug
(
PolKitPolicyDefault
*
policy_default
)
polkit_
implicit_authorization_debug
(
PolKitImplicitAuthorization
*
implicit_authorization
)
{
kit_return_if_fail
(
policy_default
!=
NULL
);
polkit_debug
(
"PolKit
PolicyDefault
: refcount=%d
\n
"
kit_return_if_fail
(
implicit_authorization
!=
NULL
);
polkit_debug
(
"PolKit
ImplicitAuthorization
: refcount=%d
\n
"
" default_any=%s
\n
"
" default_inactive=%s
\n
"
" default_active=%s"
,
policy_default
->
refcount
,
polkit_result_to_string_representation
(
policy_default
->
default_any
),
polkit_result_to_string_representation
(
policy_default
->
default_inactive
),
polkit_result_to_string_representation
(
policy_default
->
default_active
));
implicit_authorization
->
refcount
,
polkit_result_to_string_representation
(
implicit_authorization
->
default_any
),
polkit_result_to_string_representation
(
implicit_authorization
->
default_inactive
),
polkit_result_to_string_representation
(
implicit_authorization
->
default_active
));
}
/**
* polkit_
policy_default
_can_session_do_action:
* @
policy_default
: the object
* polkit_
implicit_authorization
_can_session_do_action:
* @
implicit_authorization
: the object
* @action: the type of access to check for
* @session: the session in question
*
...
...
@@ -237,7 +237,7 @@ polkit_policy_default_debug (PolKitPolicyDefault *policy_default)
* #POLKIT_RESULT_YES, #POLKIT_RESULT_NO.
**/
PolKitResult
polkit_
policy_default_can_session_do_action
(
PolKitPolicyDefault
*
policy_default
,
polkit_
implicit_authorization_can_session_do_action
(
PolKitImplicitAuthorization
*
implicit_authorization
,
PolKitAction
*
action
,
PolKitSession
*
session
)
{
...
...
@@ -247,11 +247,11 @@ polkit_policy_default_can_session_do_action (PolKitPolicyDefault *policy_default
ret
=
POLKIT_RESULT_NO
;
kit_return_val_if_fail
(
policy_default
!=
NULL
,
ret
);
kit_return_val_if_fail
(
implicit_authorization
!=
NULL
,
ret
);
kit_return_val_if_fail
(
action
!=
NULL
,
ret
);
kit_return_val_if_fail
(
session
!=
NULL
,
ret
);
ret
=
policy_default
->
default_any
;
ret
=
implicit_authorization
->
default_any
;
polkit_session_get_ck_is_local
(
session
,
&
is_local
);
polkit_session_get_ck_is_active
(
session
,
&
is_active
);
...
...
@@ -260,17 +260,17 @@ polkit_policy_default_can_session_do_action (PolKitPolicyDefault *policy_default
goto
out
;
if
(
is_active
)
{
ret
=
policy_default
->
default_active
;