projects
/
platform
/
upstream
/
dbus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[daemon-fix] Registering starters: unwanted release_kdbus_name when no error was...
[platform/upstream/dbus.git]
/
dbus
/
dbus-keyring.c
diff --git
a/dbus/dbus-keyring.c
b/dbus/dbus-keyring.c
index
de6a5ea
..
f0c64de
100644
(file)
--- a/
dbus/dbus-keyring.c
+++ b/
dbus/dbus-keyring.c
@@
-17,10
+17,11
@@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 5
9 Temple Place, Suite 330, Boston, MA 02111-1307
USA
+ * Foundation, Inc., 5
1 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*
*/
*
*/
+#include <config.h>
#include "dbus-keyring.h"
#include "dbus-protocol.h"
#include <dbus/dbus-string.h>
#include "dbus-keyring.h"
#include "dbus-protocol.h"
#include <dbus/dbus-string.h>
@@
-79,7
+80,7
@@
* Maximum number of keys in the keyring before
* we just ignore the rest
*/
* Maximum number of keys in the keyring before
* we just ignore the rest
*/
-#ifdef DBUS_
BUIL
D_TESTS
+#ifdef DBUS_
ENABLE_EMBEDDE
D_TESTS
#define MAX_KEYS_IN_FILE 10
#else
#define MAX_KEYS_IN_FILE 256
#define MAX_KEYS_IN_FILE 10
#else
#define MAX_KEYS_IN_FILE 256
@@
-142,8
+143,6
@@
_dbus_keyring_new (void)
return keyring;
return keyring;
- /* out_4: */
- _dbus_string_free (&keyring->filename_lock);
out_3:
_dbus_string_free (&keyring->filename);
out_2:
out_3:
_dbus_string_free (&keyring->filename);
out_2:
@@
-354,7
+353,7
@@
add_new_key (DBusKey **keys_p,
goto out;
}
goto out;
}
- _dbus_get_
current
_time (×tamp, NULL);
+ _dbus_get_
real
_time (×tamp, NULL);
keys[n_keys-1].id = id;
keys[n_keys-1].creation_time = timestamp;
keys[n_keys-1].id = id;
keys[n_keys-1].creation_time = timestamp;
@@
-429,7
+428,7
@@
_dbus_keyring_reload (DBusKeyring *keyring,
retval = FALSE;
have_lock = FALSE;
retval = FALSE;
have_lock = FALSE;
- _dbus_get_
current
_time (&now, NULL);
+ _dbus_get_
real
_time (&now, NULL);
if (add_new)
{
if (add_new)
{
@@
-604,7
+603,7
@@
_dbus_keyring_reload (DBusKeyring *keyring,
}
if (!_dbus_string_save_to_file (&contents, &keyring->filename,
}
if (!_dbus_string_save_to_file (&contents, &keyring->filename,
- error))
+
FALSE,
error))
goto out;
}
goto out;
}
@@
-698,10
+697,10
@@
_dbus_keyring_unref (DBusKeyring *keyring)
/**
* Creates a new keyring that lives in the ~/.dbus-keyrings directory
/**
* Creates a new keyring that lives in the ~/.dbus-keyrings directory
- * of the
given user credentials. If the credentials are #NULL or
- * empty, uses those of the current process.
+ * of the
user represented by @p credentials. If the @p credentials are
+ *
#NULL or
empty, uses those of the current process.
*
*
- * @param
username username to get keyring for,
or #NULL
+ * @param
credentials a set of credentials representing a user
or #NULL
* @param context which keyring to get
* @param error return location for errors
* @returns the keyring or #NULL on error
* @param context which keyring to get
* @param error return location for errors
* @returns the keyring or #NULL on error
@@
-718,6
+717,13
@@
_dbus_keyring_new_for_credentials (DBusCredentials *credentials,
DBusCredentials *our_credentials;
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
DBusCredentials *our_credentials;
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
+
+ if (_dbus_check_setuid ())
+ {
+ dbus_set_error_const (error, DBUS_ERROR_NOT_SUPPORTED,
+ "Unable to create DBus keyring when setuid");
+ return NULL;
+ }
keyring = NULL;
error_set = FALSE;
keyring = NULL;
error_set = FALSE;
@@
-909,7
+915,7
@@
find_recent_key (DBusKeyring *keyring)
int i;
long tv_sec, tv_usec;
int i;
long tv_sec, tv_usec;
- _dbus_get_
current
_time (&tv_sec, &tv_usec);
+ _dbus_get_
real
_time (&tv_sec, &tv_usec);
i = 0;
while (i < keyring->n_keys)
i = 0;
while (i < keyring->n_keys)
@@
-1017,7
+1023,7
@@
_dbus_keyring_get_hex_key (DBusKeyring *keyring,
/** @} */ /* end of exposed API */
/** @} */ /* end of exposed API */
-#ifdef DBUS_
BUIL
D_TESTS
+#ifdef DBUS_
ENABLE_EMBEDDE
D_TESTS
#include "dbus-test.h"
#include <stdio.h>
#include "dbus-test.h"
#include <stdio.h>
@@
-1075,7
+1081,7
@@
_dbus_keyring_test (void)
dbus_error_init (&error);
ring1 = _dbus_keyring_new_for_credentials (NULL, &context,
&error);
dbus_error_init (&error);
ring1 = _dbus_keyring_new_for_credentials (NULL, &context,
&error);
- _dbus_assert (ring1);
+ _dbus_assert (ring1
!= NULL
);
_dbus_assert (error.name == NULL);
id = _dbus_keyring_get_best_key (ring1, &error);
_dbus_assert (error.name == NULL);
id = _dbus_keyring_get_best_key (ring1, &error);
@@
-1087,7
+1093,7
@@
_dbus_keyring_test (void)
}
ring2 = _dbus_keyring_new_for_credentials (NULL, &context, &error);
}
ring2 = _dbus_keyring_new_for_credentials (NULL, &context, &error);
- _dbus_assert (ring2);
+ _dbus_assert (ring2
!= NULL
);
_dbus_assert (error.name == NULL);
if (ring1->n_keys != ring2->n_keys)
_dbus_assert (error.name == NULL);
if (ring1->n_keys != ring2->n_keys)
@@
-1150,5
+1156,5
@@
_dbus_keyring_test (void)
return FALSE;
}
return FALSE;
}
-#endif /* DBUS_
BUIL
D_TESTS */
+#endif /* DBUS_
ENABLE_EMBEDDE
D_TESTS */