Ejemplo n.º 1
0
static gboolean
open_file(gchar *fname, int open_flags, gint extra_flags, gint *fd)
{
  FilePermOptions perm_opts;
  FileOpenOptions open_opts;

  file_perm_options_defaults(&perm_opts);

  open_opts.open_flags = open_flags;
  open_opts.create_dirs = !!(extra_flags & CREATE_DIRS);
  open_opts.is_pipe = !!(extra_flags & PIPE);
  open_opts.needs_privileges = FALSE;

  return affile_open_file(fname, &open_opts, &perm_opts, fd);
}
Ejemplo n.º 2
0
static AFFileSourceDriver *
affile_sd_new_instance(gchar *filename, GlobalConfig *cfg)
{
  AFFileSourceDriver *self = g_new0(AFFileSourceDriver, 1);
  
  log_src_driver_init_instance(&self->super, cfg);
  self->filename = g_string_new(filename);
  self->super.super.super.init = affile_sd_init;
  self->super.super.super.queue = affile_sd_queue;
  self->super.super.super.deinit = affile_sd_deinit;
  self->super.super.super.notify = affile_sd_notify;
  self->super.super.super.free_fn = affile_sd_free;
  log_reader_options_defaults(&self->reader_options);
  file_perm_options_defaults(&self->file_perm_options);
  self->reader_options.parse_options.flags |= LP_LOCAL;

  if (affile_is_linux_proc_kmsg(filename))
    self->file_open_options.needs_privileges = TRUE;
  return self;
}
Ejemplo n.º 3
0
AFUnixSourceDriver *
afunix_sd_new_instance(TransportMapper *transport_mapper, gchar *filename)
{
  AFUnixSourceDriver *self = g_new0(AFUnixSourceDriver, 1);

  afsocket_sd_init_instance(&self->super, socket_options_new(), transport_mapper);

  self->super.super.super.super.init = afunix_sd_init;
  self->super.super.super.super.free_fn = afunix_sd_free;
  self->super.acquire_socket = afunix_sd_acquire_socket;
  self->super.setup_addresses = afunix_sd_setup_addresses;

  self->super.max_connections = 256;
  self->super.recvd_messages_are_local = TRUE;

  self->filename = g_strdup(filename);
  file_perm_options_defaults(&self->file_perm_options);
  self->file_perm_options.file_perm = 0666;

  afunix_sd_adjust_reader_options(self, configuration);
  return self;
}
Ejemplo n.º 4
0
AFUnixSourceDriver *
afunix_sd_new_instance(TransportMapper *transport_mapper, gchar *filename, GlobalConfig *cfg)
{
  AFUnixSourceDriver *self = g_new0(AFUnixSourceDriver, 1);

  afsocket_sd_init_instance(&self->super, socket_options_new(), transport_mapper, cfg);

  self->super.super.super.super.init = afunix_sd_init;
  self->super.super.super.super.free_fn = afunix_sd_free;
  self->super.setup_addresses = afunix_sd_setup_addresses;

  self->super.max_connections = 256;
  self->super.recvd_messages_are_local = TRUE;

  self->filename = g_strdup(filename);
  file_perm_options_defaults(&self->file_perm_options);
  self->file_perm_options.file_perm = 0666;
  self->pass_unix_credentials = cfg->pass_unix_credentials;
  self->create_dirs = cfg->create_dirs;
  afunix_sd_set_pass_unix_credentials(self, self->pass_unix_credentials);

  afunix_sd_adjust_reader_options(self, cfg);
  return self;
}