• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/dbus-1.6.8/dbus/

Lines Matching defs:credentials

2 /* dbus-credentials.c Credentials provable through authentication
25 #include "dbus-credentials.h"
34 * authenticate. The main credentials right now are a unix user
43 * Private details of credentials code.
65 * Creates a new credentials object.
89 * Creates a new object with credentials (user ID and process ID) from the current process.
111 * Increment refcount on credentials.
113 * @param credentials the object
116 _dbus_credentials_ref (DBusCredentials *credentials)
118 _dbus_assert (credentials->refcount > 0);
119 credentials->refcount += 1;
123 * Decrement refcount on credentials.
125 * @param credentials the object
128 _dbus_credentials_unref (DBusCredentials *credentials)
130 _dbus_assert (credentials->refcount > 0);
132 credentials->refcount -= 1;
133 if (credentials->refcount == 0)
135 dbus_free (credentials->windows_sid);
136 dbus_free (credentials->adt_audit_data);
137 dbus_free (credentials);
142 * Add a UNIX process ID to the credentials.
144 * @param credentials the object
149 _dbus_credentials_add_unix_pid (DBusCredentials *credentials,
152 credentials->unix_pid = pid;
157 * Add a UNIX user ID to the credentials.
159 * @param credentials the object
164 _dbus_credentials_add_unix_uid(DBusCredentials *credentials,
167 credentials->unix_uid = uid;
173 * Add a Windows user SID to the credentials.
175 * @param credentials the object
180 _dbus_credentials_add_windows_sid (DBusCredentials *credentials,
189 dbus_free (credentials->windows_sid);
190 credentials->windows_sid = copy;
196 * Add ADT audit data to the credentials.
198 * @param credentials the object
204 _dbus_credentials_add_adt_audit_data (DBusCredentials *credentials,
213 dbus_free (credentials->adt_audit_data);
214 credentials->adt_audit_data = copy;
215 credentials->adt_audit_data_size = size;
223 * @param credentials the object
228 _dbus_credentials_include (DBusCredentials *credentials,
234 return credentials->unix_pid != DBUS_PID_UNSET;
236 return credentials->unix_uid != DBUS_UID_UNSET;
238 return credentials->windows_sid != NULL;
240 return credentials->adt_audit_data != NULL;
248 * Gets the UNIX process ID in the credentials, or #DBUS_PID_UNSET if
249 * the credentials object doesn't contain a process ID.
251 * @param credentials the object
255 _dbus_credentials_get_unix_pid (DBusCredentials *credentials)
257 return credentials->unix_pid;
261 * Gets the UNIX user ID in the credentials, or #DBUS_UID_UNSET if
262 * the credentials object doesn't contain a user ID.
264 * @param credentials the object
268 _dbus_credentials_get_unix_uid (DBusCredentials *credentials)
270 return credentials->unix_uid;
274 * Gets the Windows user SID in the credentials, or #NULL if
275 * the credentials object doesn't contain a Windows user SID.
277 * @param credentials the object
281 _dbus_credentials_get_windows_sid (DBusCredentials *credentials)
283 return credentials->windows_sid;
287 * Gets the ADT audit data in the credentials, or #NULL if
288 * the credentials object doesn't contain ADT audit data.
290 * @param credentials the object
294 _dbus_credentials_get_adt_audit_data (DBusCredentials *credentials)
296 return credentials->adt_audit_data;
300 * Gets the ADT audit data size in the credentials, or 0 if
301 * the credentials object doesn't contain ADT audit data.
303 * @param credentials the object
307 _dbus_credentials_get_adt_audit_data_size (DBusCredentials *credentials)
309 return credentials->adt_audit_data_size;
313 * Checks whether the first credentials object contains
314 * all the credentials found in the second credentials object.
316 * @param credentials the object
317 * @param possible_subset see if credentials in here are also in the first arg
321 _dbus_credentials_are_superset (DBusCredentials *credentials,
326 possible_subset->unix_pid == credentials->unix_pid) &&
328 possible_subset->unix_uid == credentials->unix_uid) &&
330 (credentials->windows_sid && strcmp (possible_subset->windows_sid,
331 credentials->windows_sid) == 0)) &&
333 (credentials->adt_audit_data && memcmp (possible_subset->adt_audit_data,
334 credentials->adt_audit_data,
335 credentials->adt_audit_data_size) == 0));
339 * Checks whether a credentials object contains anything.
341 * @param credentials the object
342 * @returns #TRUE if there are no credentials in the object
345 _dbus_credentials_are_empty (DBusCredentials *credentials)
348 credentials->unix_pid == DBUS_PID_UNSET &&
349 credentials->unix_uid == DBUS_UID_UNSET &&
350 credentials->windows_sid == NULL &&
351 credentials->adt_audit_data == NULL;
355 * Checks whether a credentials object contains a user identity.
357 * @param credentials the object
361 _dbus_credentials_are_anonymous (DBusCredentials *credentials)
364 credentials->unix_uid == DBUS_UID_UNSET &&
365 credentials->windows_sid == NULL;
369 * Merge all credentials found in the second object into the first object,
372 * @param credentials the object
373 * @param other_credentials credentials to merge
377 _dbus_credentials_add_credentials (DBusCredentials *credentials,
381 _dbus_credentials_add_credential (credentials,
384 _dbus_credentials_add_credential (credentials,
387 _dbus_credentials_add_credential (credentials,
390 _dbus_credentials_add_credential (credentials,
402 * @param credentials the object
404 * @param other_credentials credentials to merge
408 _dbus_credentials_add_credential (DBusCredentials *credentials,
415 if (!_dbus_credentials_add_unix_pid (credentials, other_credentials->unix_pid))
421 if (!_dbus_credentials_add_unix_uid (credentials, other_credentials->unix_uid))
427 if (!_dbus_credentials_add_windows_sid (credentials, other_credentials->windows_sid))
433 if (!_dbus_credentials_add_adt_audit_data (credentials, other_credentials->adt_audit_data, other_credentials->adt_audit_data_size))
441 * Clear all credentials in the object.
443 * @param credentials the object
446 _dbus_credentials_clear (DBusCredentials *credentials)
448 credentials->unix_pid = DBUS_PID_UNSET;
449 credentials->unix_uid = DBUS_UID_UNSET;
450 dbus_free (credentials->windows_sid);
451 credentials->windows_sid = NULL;
452 dbus_free (credentials->adt_audit_data);
453 credentials->adt_audit_data = NULL;
454 credentials->adt_audit_data_size = 0;
458 * Copy a credentials object.
460 * @param credentials the object
464 _dbus_credentials_copy (DBusCredentials *credentials)
472 if (!_dbus_credentials_add_credentials (copy, credentials))
482 * Check whether the user-identifying credentials in two credentials
484 * user are ignored, but any kind of user ID credentials must be the
488 * @param credentials the object
489 * @param other_credentials credentials to compare
490 * @returns #TRUE if the two credentials refer to the same user
493 _dbus_credentials_same_user (DBusCredentials *credentials,
499 return credentials->unix_uid == other_credentials->unix_uid &&
500 ((!(credentials->windows_sid || other_credentials->windows_sid)) ||
501 (credentials->windows_sid && other_credentials->windows_sid &&
502 strcmp (credentials->windows_sid, other_credentials->windows_sid) == 0));
506 * Convert the credentials in this object to a human-readable
509 * @param credentials the object
514 _dbus_credentials_to_string_append (DBusCredentials *credentials,
520 if (credentials->unix_uid != DBUS_UID_UNSET)
522 if (!_dbus_string_append_printf (string, "uid=" DBUS_UID_FORMAT, credentials->unix_uid))
526 if (credentials->unix_pid != DBUS_PID_UNSET)
528 if (!_dbus_string_append_printf (string, "%spid=" DBUS_PID_FORMAT, join ? " " : "", credentials->unix_pid))
534 if (credentials->windows_sid != NULL)
536 if (!_dbus_string_append_printf (string, "%ssid=%s", join ? " " : "", credentials->windows_sid))
550 /* tests in dbus-credentials-util.c */