#!/usr/bin/env perl
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html

BEGIN
{
    $::XCATROOT =
        $ENV{'XCATROOT'} ? $ENV{'XCATROOT'}
      : -d '/opt/xcat'   ? '/opt/xcat'
      : '/usr';
}
use lib "$::XCATROOT/lib/perl";
use File::Basename;
use Getopt::Long;
use xCAT::MsgUtils;
use xCAT::Utils;
my $bname = basename($0);

#-----------------------------------------------------------------------------

=head1   copycerts

 This updates the service node with files necessary to access the
 database on the MasterNode and restarts the xcat daemon
 run from servicenode postinstall script

=cut

#-----------------------------------------------------------------------------

&copyCertstoSN;

exit 0;

#-----------------------------------------------------------------------------

=head3 copyCertstoSN

  Copy from the mounted /xcatpost/ directory to the MS /install/postscripts
  directory the /install/postscripts/ca  install/postscripts/cert and
  /install/postscripts/_xcat into the local file system.  These certificate are
  needed for the postresql db setup for the service node to be able to access
  the DB from the service node.

=cut

#-----------------------------------------------------------------------------
sub copyCertstoSN
{
    my $rc = 0;
    `touch /etc/xCATSN`;
    if (-d "/xcatpost/_xcat")
    {
        if (!(-d "/root/.xcat"))
        {
            mkdir("/root/.xcat", 0600);
        }
        `cp -f -rp /xcatpost/_xcat/* /root/.xcat`;
        `chmod 0600 /root/.xcat/*`;
    }
    else
    {
        xCAT::MsgUtils->message('S',
                                "/xcatpost/_xcat directory does not exist\n");

    }
    if (-d "/xcatpost/ca")
    {
        if (!(-d "/etc/xcat"))
        {
            mkdir("/etc/xcat", 0755);
        }
        if (!(-d "/etc/xcat/ca"))
        {
            mkdir("/etc/xcat/ca", 0755);
        }
        `cp -f -rp /xcatpost/ca/* /etc/xcat/ca`;
        `chmod 0600 /etc/xcat/ca/*`;
        `chmod 0600 /etc/xcat/ca/certs/*`;
    }
    else
    {
        xCAT::MsgUtils->message('S', "/xcatpost/ca directory does not exist\n");

    }
    return $rc;
}