diff -up smeserver-thinclient-2.0/createlinks.tftpdconf smeserver-thinclient-2.0/createlinks --- smeserver-thinclient-2.0/createlinks.tftpdconf 2006-04-01 23:50:45.000000000 +1100 +++ smeserver-thinclient-2.0/createlinks 2016-04-02 14:18:04.646913457 +1100 @@ -13,4 +13,3 @@ panel_link("thinclient", "manager"); # Symlinks #-------------------------------------------------- safe_symlink("restart", "root/etc/e-smith/events/thinclient-conf/services2adjust/dhcpd"); -safe_symlink("restart", "root/etc/e-smith/events/thinclient-conf/services2adjust/tftpd"); diff -up smeserver-thinclient-2.0/root/etc/e-smith/web/functions/thinclient.tftpdconf smeserver-thinclient-2.0/root/etc/e-smith/web/functions/thinclient --- smeserver-thinclient-2.0/root/etc/e-smith/web/functions/thinclient.tftpdconf 2006-06-12 20:43:42.000000000 +1000 +++ smeserver-thinclient-2.0/root/etc/e-smith/web/functions/thinclient 2016-04-03 20:59:58.000000000 +1000 @@ -61,11 +61,11 @@ my $pxeclients = esmith::ConfigDB->open( my $hosts = esmith::ConfigDB->open_ro('hosts'); -my $version = '2.0.0-0'; -my $email = 'smeserver@batley.id.au'; +my $version = '2.0-6'; +my $email = 'trevorbatley@users.sourceforge.net'; my $title = 'Thin Client Configuration'; my $copyright = 'copyright (c) 2004, Trevor Batley, '.$email.''; -my $sendreports = 'Please send Featurerequests and Bugs to me'; +my $sendreports = 'Please raise Bugs and Feature Requests in Bugzilla (SMEContribs => smeserver-thinclient)'; my $thinclientstatus; my $pxedefaultbase; @@ -167,12 +167,12 @@ sub showStatusReport ($$$$) if ($log ne '') { - open (LOG, $log) || die ("Error while opening temporally log file.\n"); - while () - { - print "$_". "
"; - } - close LOG; + open (LOG, $log) || die ("Error while opening temporally log file.\n"); + while () + { + print "$_". "
"; + } + close LOG; } print $q->hr; @@ -257,12 +257,12 @@ sub showPXEGlobals($) print $q->start_table ({-class => "sme-noborders"}); print $q->p ('PXE Booting is a facility for allowing LAN workstations to boot an operating system ', 'over the network.
', - 'If Thinclient is enabled, PXE Booting is enabled and dhcp will supply the filepath of ', + 'If PXE Booting is enabled, dhcp will supply the filepath of ', 'a pxe bootable image to any LAN workstation requesting it.', ); print $q->p ('You must specifiy which Tftp server you will be using to supply the image.
', - 'Selecting Self will activate the Tftp server running on this server.
', + 'Selecting Self will activate the Tftp server running on this server (if you have installed one - e.g. smeserver-tftp-server).
', 'You can also select from any host defined on your network (preferred), or specify ', 'the IP address of the machine your Tftp server is running on.', ); @@ -351,23 +351,23 @@ sub showPXEGlobals($) { if ($config->get('tftpd')->prop('status') ne 'enabled') { - print $q->p ({-CLASS => "sme-noborders"}, + print $q->p ({-CLASS => "sme-norborders"}, $q->p ('WARNING: a tftp server is required to supply the boot image to your workstations.
', - 'TFTP is currently disabled, but will be enabled when you enable ThinClient booting.')); + 'TFTP is currently disabled, but will be enabled when you enable PXE Boot Server (you will need to click Apply above).')); } } else { print $q->p ({-CLASS => "sme-noborders"}, $q->p ('WARNING: a tftp server is required to supply the boot image to your workstations.
', - 'I can\'t find any settings for TFTP, so can only assume you are managing this!')); + 'I can\'t find any settings for TFTP, so can only assume that you are managing this!')); } } # --- DHCPD Status (if not turned on issue a warning) if ($config->get('dhcpd')->prop('status') ne 'enabled') { - print $q->p ({-CLASS => "sme-noborders"}, + print $q->p ({-CLASS => "sme-norborders"}, $q->p ('WARNING: all this information is supplied to your workstations via DHCP.
', 'DHCP is currently disabled, and none of this will work until you enable it!')); } @@ -914,9 +914,18 @@ sub saveConfiguration ($) if (system ("/sbin/e-smith/signal-event thinclient-conf > /var/log/thinclient.log 2>&1")) { - showInitial($q, "error", "Error occurred during thinclient-update event.", "/var/log/thinclient.log"); + showInitial($q, "error", "Error occurred during thinclient-conf event.", "/var/log/thinclient.log"); return; } + # If we are using the tftp server locally trigger a tftpd reconfiguration + if ($tftpserver eq "Self") + { + if (system ("/sbin/e-smith/signal-event tftpd-conf > /var/log/thinclient.log 2>&1")) + { + showInitial($q, "error", "Error occurred during ttftpd-conf event.", "/var/log/thinclient.log"); + return; + } + } showInitial ($q, "success", "ThinClient parameters successfully updated.", "");