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); }
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; }
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; }
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; }