summaryrefslogtreecommitdiff
path: root/debian/local/update_tlsm4
diff options
context:
space:
mode:
Diffstat (limited to 'debian/local/update_tlsm4')
-rw-r--r--debian/local/update_tlsm4248
1 files changed, 0 insertions, 248 deletions
diff --git a/debian/local/update_tlsm4 b/debian/local/update_tlsm4
deleted file mode 100644
index 4b14ea1..0000000
--- a/debian/local/update_tlsm4
+++ /dev/null
@@ -1,248 +0,0 @@
-#!/usr/bin/perl -w
-#------------------------------------------------------------------------
-#
-# $Sendmail: update_tls,v 8.14.2 2007-11-02 22:20:56 cowboy Exp $
-#
-# Create /etc/mail/tls/starttls.m4 for Debian Sendmail
-#
-# Copyright 1998-2007 Richard Nelson. All Rights Reserved.
-#
-# Notes (to all):
-# *
-#
-# Notes (to self):
-# *
-#
-#------------------------------------------------------------------------
-#
-# Initialization of the perl environment
-use strict; # be kosher
-use Cwd; # provide cwd()
-use Env; # A few environmental references
-use integer; # Peformance
-use Sys::Hostname; # make sure we have a valid hostname
-use Getopt::Long; # parameter handling
-
-# Local libraries - for Debian Sendmail Perl helper functions
-# BEGIN { $main::my_path = substr($0,$[,rindex($0,'/')) };
-use lib ('.', substr($0,$[,rindex($0,'/')), "/usr/share/sendmail");
-require Parse_mc;
-
-# Version of this program
-#($main::MYNAME = $main::0) =~ s|.*/||;
-#$main::Author = "Richard Nelson";
-#$main::AuthorMail = "cowboy\@debian.org";
-#$main::Version = '$Revision: 2.00 $ ';
-$main::program_name = $0;
-$main::program_version = '8.14.2';
-$main::program_date = '2007-11-02 22:20:56 cowboy';
-$main::debug = 0;
-
-my $interp_pgm = "$^X";
-my $interp_vrm = $];
-$interp_vrm = ("$^V" | '000') if (defined $^V);
-my $current_time = scalar localtime;
-my $user = getlogin || (getpwuid($<))[0] || "Unknown!!";
-my $hostname = hostname();
-my $directory = getcwd();
-
-my $Starttls_def = "/etc/mail/tls/starttls.m4";
-
-# Hash of define names to filename
-my %Def_Map;
-
-#
-#------------------------------------------------------------------------------
-# Finally, some code (almost)
-#------------------------------------------------------------------------------
-#
-# Argument handling...
-$main::opt_help='';
-$main::opt_output_file='';
-$main::opt_input_file='';
-$main::opt_debug='';
-my @options = qw(
- help|h
- output-file|output_file|o:s
- input-file|input_file|i:s
- debug!
- );
-my $result = GetOptions(@options);
-if ( ! $result ) {
- die "Terminating due to parameter error";
- };
-if ( $main::opt_help ) {
- warn "$main::program_name $main::program_version $main::program_date\n";
- warn "$0 \n";
- warn " -help\n" if $main::opt_help;
- warn " -debug\n" if $main::opt_debug;
- warn " -o $main::opt_output_file\n" if $main::opt_output_file;
- warn " -i $main::opt_input_file\n" if $main::opt_input_file;
- exit 0;
- };
-
-my $Starttls = $main::opt_output_file || $Starttls_def;
-${Parse_mc::database_file} = $main::opt_input_file
- if $main::opt_input_file;
-# $main::debug is used in Parse_mc !
-$main::debug = $main::opt_debug || $main::debug;
-
-# Let them know wtf is going on...
-print STDOUT "Creating ${Starttls}...\n";
-
-# Read the mc/m4 files
-&Parse_mc::read_dbs($Parse_mc::database_file, '');
-
-# Obtain Starttls information from database
-&get_data;
-
-# Write out the textual representation
-&write_starttls;
-
-
-#
-#------------------------------------------------------------------------------
-# Obtain information from database
-#------------------------------------------------------------------------------
-sub get_data {
- my @names = (
- 'confTO_STARTTLS'
- ,'confCACERT'
- ,'confCACERT_PATH'
- ,'confCRL'
- ,'confCLIENT_CERT'
- ,'confCLIENT_KEY'
- ,'confSERVER_CERT'
- ,'confSERVER_KEY'
- ,'confTLS_SRV_OPTIONS'
- );
-
- foreach my $entry (@names) {
- my ($class, $flags, $files, $options) =
- &Parse_mc::entry_dbs($entry);
- my $file = @{$files}[0];
- $Def_Map{$entry} = '';
- $Def_Map{$entry} = $file if ($file ne '-');
- #$Def_Map{$entry} = &Parse_mc::format_dbs($entry);
- };
- };
-
-
-#
-#------------------------------------------------------------------------------
-# Create /etc/mail/tls/starttls.m4
-#------------------------------------------------------------------------------
-sub write_starttls {
- my $ofh = new FileHandle;
-
- $Starttls = '&STDOUT' if ($Starttls eq '-');
- unless ( open($ofh, ">$Starttls") ) {
- warn("Could not open $Starttls($!), using STDOUT.\n");
- open($ofh, ">&STDOUT");
- };
- $Starttls = '-' if ($Starttls eq '&STDOUT');
-
- &write_m4($ofh);
-
- close $ofh;
- if ($Starttls eq $Starttls_def) {
- chown '0', '0', $Starttls;
- chmod 0744, $Starttls;
- };
- };
-
-
-#
-#------------------------------------------------------------------------------
-# Write Starttls m4 file
-#------------------------------------------------------------------------------
-sub write_m4 {
- my ($ofh) = @_;
-
- print $ofh <<"EOT";
-divert(-1)dnl
-####################################################################
-##### This file is automagically generated -- edit at your own risk
-#####
-##### Copyright (c) 2002-2007 Richard Nelson. All Rights Reserved.
-#####
-##### file: ${Starttls}
-##### STARTTLS Configuration for Debian Sendmail
-##### generated via: (${interp_pgm} ${interp_vrm})
-##### ${main::program_name}
-##### version: ${main::program_version} ${main::program_date}
-##### by: ${user}\@${hostname}
-##### on: ${current_time}
-##### in: ${directory}
-##### input files: ${Parse_mc::database_file}
-#####
-##### Usage:
-##### 1) To get *ANY* STARTTLS support for sendmail you
-##### A) *MUST* Add this line to /etc/mail/sendmail.mc
-##### \`include(\`/etc/mail/tls/starttls.m4\')dnl\'
-##### B) *MAY* Add the same line to /etc/mail/submit.mc
-##### to get MSP<->MTA authentication/encryption
-##### 2) You may modify the marked portions of this file, those
-##### deal with the cert/key filenames and TLS options.
-##### If you need finer control of TLS options, use the access
-##### database.
-#####
-####################################################################
-divert(0)dnl
-VERSIONID(\`\$Id: starttls.m4,v 8.14.2-1 2007-11-02 22:20:56 cowboy Exp \$\')
-dnl #
-dnl #---------------------------------------------------------------------
-dnl # Bring in Autoconf results
-dnl #---------------------------------------------------------------------
-ifdef(\`sm_version\', \`dnl\',
-\`include(\`/usr/share/sendmail/cf/debian/autoconf.m4\')dnl\')
-dnl #
-dnl # Check to see if inclusion is valid (version >= 8.11.0, tls enabled)
-ifelse(eval(sm_version_math >= 527104), \`1\', \`dnl
-ifelse(sm_enable_tls, \`yes\', \`dnl
-dnl #
-dnl # To support shared keyfiles, we need them to be group readable
-dnl #
-define(\`confDONT_BLAME_SENDMAIL\',dnl
- defn(\`confDONT_BLAME_SENDMAIL\')\`,GroupReadableKeyFile\')dnl
-dnl #
-dnl # ...Do not touch anything above this line...
-dnl #
-dnl # Set a more reasonable timeout on negotiation
-dnl #
-define(\`confTO_STARTTLS\', \`$Def_Map{'confTO_STARTTLS'}\')dnl # <= EDIT
-dnl #
-dnl # CA directory - CA certs should be herein
-define(\`confCACERT_PATH\', \`$Def_Map{'confCACERT_PATH'}\')dnl # <= EDIT
-dnl #
-dnl # CA file (may be the same as client/server certificate)
-define(\`confCACERT\', \`$Def_Map{'confCACERT'}\')dnl # <= EDIT
-dnl #
-dnl # Certificate Revocation List
-define(\`confCRL\', \`$Def_Map{'confCRL'}\')dnl # <= EDIT
-EOT
-if (! -f $Def_Map{'confCRL'}) {
-print $ofh <<"EOT";
-dnl # CRL not found... do not issue warnings on it!
-undefine(\`confCRL\')dnl
-EOT
- };
- print $ofh <<"EOT";
-dnl #
-dnl # Server certificate/key (can be in the same file, and shared w/client)
-dnl # NOTE: The key must *NOT* be encrypted !!!
-define(\`confSERVER_CERT\', \`$Def_Map{'confSERVER_CERT'}\')dnl # <= EDIT
-define(\`confSERVER_KEY\', \`$Def_Map{'confSERVER_KEY'}\')dnl # <= EDIT
-dnl #
-dnl # Client certificate/key (can be in the same file, and shared w/server)
-dnl # NOTE: The key must *NOT* be encrypted !!!
-define(\`confCLIENT_CERT\', \`$Def_Map{'confCLIENT_CERT'}\')dnl # <= EDIT
-define(\`confCLIENT_KEY\', \`$Def_Map{'confCLIENT_KEY'}\')dnl # <= EDIT
-dnl #
-dnl # Optional settings
-define(\`confTLS_SRV_OPTIONS\', \`$Def_Map{'confTLS_SRV_OPTIONS'}\')dnl # <= EDIT
-dnl #
-\')\')dnl
-EOT
- };
-