26 #include "dbus-nonce.h"
27 #include "dbus-internals.h"
28 #include "dbus-protocol.h"
29 #include "dbus-sysdeps.h"
42 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
107 buffer[
sizeof buffer - 1] =
'\0';
109 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
111 _dbus_verbose (
"reading nonce from file: %s\n", _dbus_string_get_const_data (fname));
114 fp = fopen (_dbus_string_get_const_data (fname),
"rb");
117 nread = fread (buffer, 1,
sizeof buffer - 1, fp);
134 _dbus_accept_with_noncefile (
int listen_fd,
const DBusNonceFile *noncefile)
143 if (_dbus_read_nonce (_dbus_noncefile_get_path(noncefile), &nonce,
NULL) !=
TRUE)
146 if (_dbus_socket_is_invalid (fd))
148 if (do_check_nonce(fd, &nonce,
NULL) !=
TRUE) {
149 _dbus_verbose (
"nonce check failed. Closing socket.\n");
163 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
201 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
203 if (_dbus_string_get_length (noncefile) == 0)
212 read_result = _dbus_read_nonce (noncefile, &nonce, error);
215 _DBUS_ASSERT_ERROR_IS_SET (error);
219 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
225 if (send_result == -1)
229 "Failed to send nonce (fd=%d): %s",
245 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
287 _DBUS_ASSERT_ERROR_IS_SET (error);
290 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
306 if (!generate_and_write_nonce (&noncefile->path, error))
308 _DBUS_ASSERT_ERROR_IS_SET (error);
313 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
339 return do_noncefile_create (noncefile, error,
FALSE);
353 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
374 return do_noncefile_create (noncefile, error,
TRUE);
388 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
408 return &noncefile->path;
422 _dbus_noncefile_check_nonce (
int fd,
426 return do_check_nonce (fd, _dbus_noncefile_get_path (noncefile), error);