NAME

Software::Security::Policy - packages that provide templated Security Policys

VERSION

version 0.03

SYNOPSIS

my $policy = Software::Security::Policy::Individual->new({
  maintainer => 'security@example.com',
});

print $output_fh $policy->fulltext;

METHODS

new
my $policy = $subclass->new(\%arg);

This method returns a new security policy object for the given security policy class. Valid arguments are:

ATTRIBUTES

maintainer

the current maintainer for the distibrution; required

timeframe

the time to expect acknowledgement of a security issue. Should include the units such as '5 days or 2 weeks'; defaults to 5 days

timeframe_quantity

the amount of time to expect an acknowledgement of a security issue. Only used if timeframe is undefined and timeframe_units is defined (eg. '5')

timeframe_units

the units of time to expect an acknowledgement of a security issue. Only used if timeframe is undefined and timeframe_quantity is defined (eg. 'days')

url

a url where the most current security policy can be found.

support_years

the number of years for which past major versions of Perl would be supported

program

the name of software for use in the middle of a sentence

Program

the name of software for use in the beginning of a sentence

program and Program arguments may be specified both, either one or none. Each argument, if not specified, is defaulted to another one, or to properly capitalized "this program", if both arguments are omitted.

support_years

Get the number of years of support to be expected

timeframe

Get the expected response time. Defaults to 5 days and uses timeframe_quantity and timeframe_units if the timeframe attribute us undefined.

maintainer

Get the maintainer that should be contacted for security issues.

url

Get the URL of the latest security policy version.

These methods are attribute readers.

program

Name of software for using in the middle of a sentence.

The method returns value of program constructor argument (if it evaluates as true, i. e. defined, non-empty, non-zero), or value of Program constructor argument (if it is true), or "this program" as the last resort.

Program

Name of software for using at the beginning of a sentence.

The method returns value of Program constructor argument (if it is true), or value of program constructor argument (if it is true), or "This program" as the last resort.

name

This method returns the name of the policy, suitable for shoving in the middle of a sentence, generally with a leading capitalized "The."

url

This method returns the URL at which a canonical text of the security policy can be found, if one is available. If possible, this will point at plain text, but it may point to an HTML resource.

summary

This method returns a snippet of text, usually a few lines, indicating the maintainer as well as an indication of the policy under which the software is maintained.

security_policy

This method returns the full text of the policy.

fulltext

This method returns the complete text of the policy.

version

This method returns the version of the policy. If the security policy is not versioned, this method will return false.

SEE ALSO

The specific policy:

Extra policys are maintained on CPAN in separate modules.

COPYRIGHT

This module is based extensively on Software::License. Only the changes required for this module are attributable to the author of this module. All other code is attributable to the author of Software::License.

AUTHOR

Timothy Legge <timlegge@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Timothy Legge <timlegge@gmail.com>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.