Security Advisories (3)
CVE-2017-0373 (2017-05-10)

The gen_class_pod implementation in lib/Config/Model/Utils/GenClassPod.pm in Config-Model (aka libconfig-model-perl) before 2.102 has a dangerous "use lib" line, which allows remote attackers to have an unspecified impact via a crafted Debian package file.

CPANSA-Config-Model-2017-01 (2017-05-10)

YAML or YAML::XS can be loaded automatically making it possible to run arbitrary code loading a specially crafted YAML file.

CVE-2017-0374 (2017-05-10)

Loads models from a local directory, making it possible to substitute the model.

NAME

Config::Model::Backend::PlainFile - Read and write config as plain file

VERSION

version 1.249

SYNOPSIS

use Config::Model;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($WARN);

my $model = Config::Model->new;

my $inst = $model->create_config_class(
   name => "WithPlainFile",
   element => [ 
       [qw/source new/] => { qw/type leaf value_type uniline/ },
   ],
   read_config  => [ 
       { 
           backend => 'plain_file', 
           config_dir => '/tmp',
       },
   ],
);

my $inst = $model->instance(root_class_name => 'WithPlainFile' );
my $root = $inst->config_root ;

$root->load('source=foo new=yes' );

$inst->write_back ;

Now /tmp directory will contain 2 files: source and new with foo and yes inside.

DESCRIPTION

This module is used directly by Config::Model to read or write the content of a configuration tree written in several files. Each element of the node is written in a plain file.

This module supports currently only leaf and list elements. In the case of list element, each line of the file is a value of the list.

CONSTRUCTOR

new ( node => $node_obj, name => 'plain_file' ) ;

Inherited from Config::Model::Backend::Any. The constructor will be called by Config::Model::AutoRead.

read ( io_handle => ... )

Of all parameters passed to this read call-back, only io_handle is used. This parameter must be IO::File object already opened for read.

It can also be undef. In this case, read() will return 0.

When a file is read, read() will return 1.

write ( io_handle => ... )

Of all parameters passed to this write call-back, only io_handle is used. This parameter must be IO::File object already opened for write.

write() will return 1.

AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO

Config::Model, Config::Model::AutoRead, Config::Model::Backend::Any,