summaryrefslogtreecommitdiffstats
path: root/sshd_wizard/Sshd.pm
diff options
context:
space:
mode:
authorAntoine Ginies <aginies@mandriva.com>2005-06-07 05:40:45 +0000
committerAntoine Ginies <aginies@mandriva.com>2005-06-07 05:40:45 +0000
commit6ac1c5ea42d4118dbf1d4620c30da89213c15213 (patch)
tree05846ca6eca2e387f7a9ec7656039dcfa07aa812 /sshd_wizard/Sshd.pm
parent30b85826e56eb7445e2bb271fd0d2ab395f84e9e (diff)
downloaddrakwizard-6ac1c5ea42d4118dbf1d4620c30da89213c15213.tar
drakwizard-6ac1c5ea42d4118dbf1d4620c30da89213c15213.tar.gz
drakwizard-6ac1c5ea42d4118dbf1d4620c30da89213c15213.tar.bz2
drakwizard-6ac1c5ea42d4118dbf1d4620c30da89213c15213.tar.xz
drakwizard-6ac1c5ea42d4118dbf1d4620c30da89213c15213.zip
create default struct needed for ssh wizard
Diffstat (limited to 'sshd_wizard/Sshd.pm')
-rwxr-xr-xsshd_wizard/Sshd.pm65
1 files changed, 61 insertions, 4 deletions
diff --git a/sshd_wizard/Sshd.pm b/sshd_wizard/Sshd.pm
index e8c3b21d..96e4299e 100755
--- a/sshd_wizard/Sshd.pm
+++ b/sshd_wizard/Sshd.pm
@@ -25,22 +25,79 @@ use strict;
use common;
use services;
use MDK::Wizard::Wizcommon;
-
use Libconf::Templates;
use Libconf::Glueconf::Ssh::Sshd_config;
my $wiz = new MDK::Wizard::Wizcommon;
-
my $conf = "/etc/ssh/sshd_config";
+
# remove anoying \t in /etc/ssh/sshd_config to permit Glueconf to read it
substInFile { s/\t/ /gi } $conf;
-
# we ask glueconf to give us the structure representing /etc/ssh/sshd_config
my $sshd = new Libconf::Glueconf::Ssh::Sshd_config({ filename => '/etc/ssh/sshd_config' });
-#debug
+# ------ debug
use Data::Dumper;
print Dumper($sshd);
+my $o = {
+ name => 'Samba wizard',
+ var => {
+ wiz_ => '',
+ },
+ init => sub {
+ test_host_domain($SHORTHOSTNAME, $DOMAINNAME);
+ },
+ needed_rpm => [ 'openssh-server' ],
+ defaultimage => "/usr/share/wizards/sshd_wizard/images/sshd.png"
+ };
+
+my @yesorno = qw(yes no); push @yesorno, "";
+
+
+$o->{pages} = {
+ welcome => {
+ name => N(''),
+ },
+ end => {
+ name => N('Congratulations') . "\n\n" . N('The wizard successfully configured your Ssh server.'),
+ no_back => 1,
+ end => 1,
+ next => 0
+ },
+ error_end => {
+ name => N("Failed"),
+ data => [ { label => N("Please relaunch drakwizard, and try to change some parameters.") } ],
+ no_back => 1,
+ end => 1,
+ next => 0,
+ },
+ };
+
+sub new {
+ my ($class, $conf) = @_;
+ bless {
+ o => $o,
+ }, $class;
+}
+
+sub write_conf_restart_ssh {
+ $sshd->write_conf($conf);
+ if (services::is_service_running('sshd')) {
+ services::restart('sshd')
+ } else { services::start('sshd') }
+}
+
+sub do_it {
+ $::testing and return;
+ # display a wait dialog box
+ my $in = 'interactive'->vnew('su', 'Ssh');
+ my $w = $in->wait_message(N("Ssh server"), N("Configuring your Ssh server..."));
+ write_conf_restart_sshd();
+ # remove wait message
+ undef $w;
+ check_started('sshd');
+}
+
1;