Initial checkin of yast2-casa-ats module.
This commit is contained in:
		
							
								
								
									
										1
									
								
								CASA-auth-token/yast2-casa-ats/MAINTAINER
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								CASA-auth-token/yast2-casa-ats/MAINTAINER
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | Ryan Partridge <rpartridge@novell.com> | ||||||
							
								
								
									
										18
									
								
								CASA-auth-token/yast2-casa-ats/Makefile.svn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								CASA-auth-token/yast2-casa-ats/Makefile.svn
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | # | ||||||
|  | # Makefile.cvs | ||||||
|  | # | ||||||
|  | configure: all | ||||||
|  | 	./configure | ||||||
|  |  | ||||||
|  | all: | ||||||
|  | 	y2tool y2autoconf | ||||||
|  | 	y2tool y2automake | ||||||
|  | 	autoreconf --force --install | ||||||
|  |  | ||||||
|  | install: configure | ||||||
|  | 	make | ||||||
|  | 	make install | ||||||
|  |  | ||||||
|  | reconf: all | ||||||
|  | 	./config.status --recheck | ||||||
|  | 	./config.status | ||||||
							
								
								
									
										1
									
								
								CASA-auth-token/yast2-casa-ats/RPMNAME
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								CASA-auth-token/yast2-casa-ats/RPMNAME
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | yast2-casa-ats | ||||||
							
								
								
									
										1
									
								
								CASA-auth-token/yast2-casa-ats/VERSION
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								CASA-auth-token/yast2-casa-ats/VERSION
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | 2.13.0 | ||||||
							
								
								
									
										7
									
								
								CASA-auth-token/yast2-casa-ats/agents/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								CASA-auth-token/yast2-casa-ats/agents/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | # Makefile.am for casa-ats/agents | ||||||
|  |  | ||||||
|  | agent_SCRIPTS = | ||||||
|  |  | ||||||
|  | scrconf_DATA = cfg_casa-ats.scr | ||||||
|  |  | ||||||
|  | EXTRA_DIST = $(agent_SCRIPTS) $(scrconf_DATA) | ||||||
							
								
								
									
										17
									
								
								CASA-auth-token/yast2-casa-ats/agents/cfg_casa-ats.scr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								CASA-auth-token/yast2-casa-ats/agents/cfg_casa-ats.scr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | /** | ||||||
|  |  * File: | ||||||
|  |  *   cfg_casa-ats.scr | ||||||
|  |  * Summary: | ||||||
|  |  *   SCR Agent for reading/writing /etc/sysconfig/casa-ats | ||||||
|  |  *   using the sysconfig-agent | ||||||
|  |  *  | ||||||
|  |  * $Id: cfg_casa-ats.scr,v 1.1.2.3 2006/11/13 21:16:33 rpartridge Exp $ | ||||||
|  |  * | ||||||
|  |  * Read/Sets the values defined in <tt>/etc/sysconfig/casa-ats</tt> | ||||||
|  |  * in an easy manner. | ||||||
|  |  */ | ||||||
|  | .sysconfig.casa-ats | ||||||
|  |  | ||||||
|  | `ag_ini( | ||||||
|  |   `SysConfigFile("/etc/sysconfig/casa-ats") | ||||||
|  | ) | ||||||
							
								
								
									
										12
									
								
								CASA-auth-token/yast2-casa-ats/configure.in.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								CASA-auth-token/yast2-casa-ats/configure.in.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | ## YCP module configure.in.in | ||||||
|  |  | ||||||
|  | ## Initialize | ||||||
|  | @YAST2-INIT-COMMON@ | ||||||
|  | @YAST2-INIT-YCP@ | ||||||
|  |  | ||||||
|  | ## some common checks | ||||||
|  | @YAST2-CHECKS-COMMON@ | ||||||
|  | @YAST2-CHECKS-YCP@ | ||||||
|  |  | ||||||
|  | ## and generate the output... | ||||||
|  | @YAST2-OUTPUT@ | ||||||
							
								
								
									
										10
									
								
								CASA-auth-token/yast2-casa-ats/doc/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								CASA-auth-token/yast2-casa-ats/doc/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # Makefile.am for casa-ats/doc | ||||||
|  |  | ||||||
|  | SUBDIRS = autodocs | ||||||
|  |  | ||||||
|  | htmldir = $(docdir) | ||||||
|  |  | ||||||
|  | doc_DATA = | ||||||
|  | html_DATA = | ||||||
|  |  | ||||||
|  | EXTRA_DIST = $(doc_DATA) $(html_DATA) | ||||||
							
								
								
									
										3
									
								
								CASA-auth-token/yast2-casa-ats/doc/autodocs/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								CASA-auth-token/yast2-casa-ats/doc/autodocs/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # Makefile.am for casa-ats/doc/autodocs | ||||||
|  |  | ||||||
|  | include $(top_srcdir)/autodocs-ycp.ami | ||||||
| @@ -0,0 +1,4 @@ | |||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Tue Oct 24 10:59:35 2006 - rpartridge@novell.com | ||||||
|  |  | ||||||
|  | - initial version | ||||||
							
								
								
									
										384
									
								
								CASA-auth-token/yast2-casa-ats/src/CasaAts.ycp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										384
									
								
								CASA-auth-token/yast2-casa-ats/src/CasaAts.ycp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,384 @@ | |||||||
|  | /* ------------------------------------------------------------------------------ | ||||||
|  |  * Copyright (c) 2006 Novell, Inc. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify it under | ||||||
|  |  * the terms of version 2 of the GNU General Public License as published by the | ||||||
|  |  * Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
|  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  |  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License along with | ||||||
|  |  * this program; if not, contact Novell, Inc. | ||||||
|  |  * | ||||||
|  |  * To contact Novell about this file by physical or electronic mail, you may find | ||||||
|  |  * current contact information at www.novell.com. | ||||||
|  |  * ------------------------------------------------------------------------------ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * File:	modules/CasaAts.ycp | ||||||
|  |  * Package:	Configuration of casa-ats | ||||||
|  |  * Summary:	CasaAts settings, input and output functions | ||||||
|  |  * Authors:	Ryan Partridge <rpartridge@novell.com> | ||||||
|  |  * | ||||||
|  |  * $Id: CasaAts.ycp 27914 2006-02-13 14:32:08Z locilka $ | ||||||
|  |  * | ||||||
|  |  * Representation of the configuration of casa-ats. | ||||||
|  |  * Input and output routines. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | { | ||||||
|  |  | ||||||
|  | module "CasaAts"; | ||||||
|  | textdomain "casa-ats"; | ||||||
|  |  | ||||||
|  | import "Progress"; | ||||||
|  | import "Report"; | ||||||
|  | import "Summary"; | ||||||
|  | import "Message"; | ||||||
|  | import "SuSEFirewall"; | ||||||
|  | import "FileUtils"; | ||||||
|  | import "Service"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Settings Map | ||||||
|  |  */ | ||||||
|  | global map Settings = $[]; | ||||||
|  |  | ||||||
|  | string port = "2645"; | ||||||
|  | string service_name = "casa_atsd"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Prototypes | ||||||
|  |  */ | ||||||
|  | global boolean Modified(); | ||||||
|  |  | ||||||
|  | boolean ModifyFirewallPort(); | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Data was modified? | ||||||
|  |  */ | ||||||
|  | global boolean modified = false; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  */ | ||||||
|  | global boolean proposal_valid = false; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Write only, used during autoinstallation. | ||||||
|  |  * Don't run services and SuSEconfig, it's all done at one place. | ||||||
|  |  */ | ||||||
|  | global boolean write_only = false; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Abort function | ||||||
|  |  * return boolean return true if abort | ||||||
|  |  */ | ||||||
|  | global boolean() AbortFunction = Modified; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Abort function | ||||||
|  |  * @return boolean return true if abort | ||||||
|  |  */ | ||||||
|  | global define boolean Abort() ``{ | ||||||
|  |     if(AbortFunction != nil) | ||||||
|  |     { | ||||||
|  | 	return AbortFunction () == true; | ||||||
|  |     } | ||||||
|  |     return false; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Data was modified? | ||||||
|  |  * @return true if modified | ||||||
|  |  */ | ||||||
|  | global boolean Modified() { | ||||||
|  |     y2debug("modified=%1",modified); | ||||||
|  |     return modified; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Read all casa-ats settings | ||||||
|  |  * @return true on success | ||||||
|  |  */ | ||||||
|  | global boolean Read() { | ||||||
|  |  | ||||||
|  |     /* CasaAts read dialog caption */ | ||||||
|  |     string caption = _("Initializing CASA ATS Configuration"); | ||||||
|  |  | ||||||
|  |     // TODO FIXME Set the right number of stages | ||||||
|  |     integer steps = 2; | ||||||
|  |  | ||||||
|  |     integer sl = 500; | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     // TODO FIXME Names of real stages | ||||||
|  |     // We do not set help text here, because it was set outside | ||||||
|  |     Progress::New( caption, " ", steps, [ | ||||||
|  | 	    /* Progress stage 1/2 */ | ||||||
|  | 	    _("Read the previous settings"), | ||||||
|  | 	    /* Progress stage 2/2 */ | ||||||
|  | 	    _("Read the firewall status") | ||||||
|  | 	], [ | ||||||
|  | 	    /* Progress step 1/2 */ | ||||||
|  | 	    _("Reading the settings file..."), | ||||||
|  | 	    /* Progress step 2/2 */ | ||||||
|  | 	    _("Reading the firewall status..."), | ||||||
|  | 	    /* Progress finished */ | ||||||
|  | 	    _("Finished") | ||||||
|  | 	], | ||||||
|  | 	"" | ||||||
|  |     ); | ||||||
|  |  | ||||||
|  |     // read settings file | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     if (FileUtils::Exists("/etc/sysconfig/casa-ats")) | ||||||
|  |     { | ||||||
|  |         Settings["CONFIG_CASAATS_ENABLE"] = tolower((string)SCR::Read(.sysconfig.casa-ats.CONFIG_CASAATS_ENABLE)) == "yes"; | ||||||
|  |         Settings["CONFIG_CASAATS_REALM"] = (string)SCR::Read(.sysconfig.casa-ats.CONFIG_CASAATS_REALM); | ||||||
|  |         Settings["CONFIG_CASAATS_HOST"] = (string)SCR::Read(.sysconfig.casa-ats.CONFIG_CASAATS_HOST); | ||||||
|  |         Settings["CONFIG_CASAATS_PROXY_USERNAME"] = (string)SCR::Read(.sysconfig.casa-ats.CONFIG_CASAATS_PROXY_USERNAME); | ||||||
|  |         Settings["CONFIG_CASAATS_OPEN_PORT"] = tolower((string)SCR::Read(.sysconfig.casa-ats.CONFIG_CASAATS_OPEN_PORT)) == "yes"; | ||||||
|  |     } | ||||||
|  |     /* Error message */ | ||||||
|  |     if(false) Report::Error(_("Cannot read settings file.")); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     // read firewall settings | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     Progress::set(false); | ||||||
|  |     SuSEFirewall::Read(); | ||||||
|  |     Progress::set(true); | ||||||
|  |     /* Error message */ | ||||||
|  |     if(false) Report::Error(_("Cannot read firewall status.")); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     /* Progress finished */ | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     Progress::Finish(); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     modified = false; | ||||||
|  |     return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Write all casa-ats settings | ||||||
|  |  * @return true on success | ||||||
|  |  */ | ||||||
|  | global boolean Write() { | ||||||
|  |  | ||||||
|  |     /* CasaAts read dialog caption */ | ||||||
|  |     string caption = _("Saving CASA ATS Configuration"); | ||||||
|  |  | ||||||
|  |     // TODO FIXME And set the right number of stages | ||||||
|  |     integer steps = 4; | ||||||
|  |  | ||||||
|  |     integer sl = 500; | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     // TODO FIXME Names of real stages | ||||||
|  |     // We do not set help text here, because it was set outside | ||||||
|  |     Progress::New(caption, " ", steps, [ | ||||||
|  | 	    /* Progress stage 1/4 */ | ||||||
|  | 	    _("Write the settings"), | ||||||
|  | 	    /* Progress stage 2/4 */ | ||||||
|  | 	    _("Execute configuration script"), | ||||||
|  | 	    /* Progress stage 3/4 */ | ||||||
|  | 	    _("Update runlevel settings"), | ||||||
|  | 	    /* Progress stage 4/4 */ | ||||||
|  | 	    _("Adjust firewall") | ||||||
|  | 	], [ | ||||||
|  | 	    /* Progress step 1/4 */ | ||||||
|  | 	    _("Writing the settings..."), | ||||||
|  | 	    /* Progress step 2/4 */ | ||||||
|  | 	    _("Executing configuration script..."), | ||||||
|  | 	    /* Progress step 3/4 */ | ||||||
|  | 	    _("Updating runlevel settings..."), | ||||||
|  | 	    /* Progress step 4/4 */ | ||||||
|  | 	    _("Adjusting firewall..."), | ||||||
|  | 	    /* Progress finished */ | ||||||
|  | 	    _("Finished") | ||||||
|  | 	], | ||||||
|  | 	"" | ||||||
|  |     ); | ||||||
|  |  | ||||||
|  |     // write the settings in /etc/sysconfig/casa-ats | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     SCR::Write(.sysconfig.casa-ats.CONFIG_CASAATS_ENABLE, Settings["CONFIG_CASAATS_ENABLE"]:false ? "yes" : "no"); | ||||||
|  |     SCR::Write(.sysconfig.casa-ats.CONFIG_CASAATS_REALM, Settings["CONFIG_CASAATS_REALM"]:""); | ||||||
|  |     SCR::Write(.sysconfig.casa-ats.CONFIG_CASAATS_HOST, Settings["CONFIG_CASAATS_HOST"]:""); | ||||||
|  |     SCR::Write(.sysconfig.casa-ats.CONFIG_CASAATS_PROXY_USERNAME, Settings["CONFIG_CASAATS_PROXY_USERNAME"]:""); | ||||||
|  |     SCR::Write(.sysconfig.casa-ats.CONFIG_CASAATS_OPEN_PORT, Settings["CONFIG_CASAATS_OPEN_PORT"]:false ? "yes" : "no"); | ||||||
|  |     /* Error message */ | ||||||
|  |     if(false) Report::Error (_("Cannot write settings.")); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     // run the configure script | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     string cmd = "/usr/share/java/CASA/authtoken/bin/CasaBasicATSSetup.sh"; | ||||||
|  |     cmd = "PROXY_USER_PW=\"%1\" " + cmd; | ||||||
|  |     cmd = "PROXY_USER_NAME=\"" + Settings["CONFIG_CASAATS_PROXY_USERNAME"]:"" + "\" " + cmd; | ||||||
|  |     cmd = "LDAP_HOST_NAME=\"" + Settings["CONFIG_CASAATS_HOST"]:"" + "\" " + cmd; | ||||||
|  |     cmd = "REALM=\"" + Settings["CONFIG_CASAATS_REALM"]:"" + "\" " + cmd; | ||||||
|  |     y2milestone("Running CASA-ATS configuration script:"); | ||||||
|  |     y2milestone(cmd, "******"); | ||||||
|  |     map retval = (map)SCR::Execute(.target.bash_output, sformat(cmd, Settings["CONFIG_CASAATS_PROXY_USERNAME"]:"")); | ||||||
|  |     y2milestone("Return code: %1", retval["exit"]:0); | ||||||
|  |     /* Error message */ | ||||||
|  |     if(false) Report::Error (_("Error executing script.")); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     // enable/disable and start/stop service as needed | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     if (Settings["CONFIG_CASAATS_ENABLE"]:false) | ||||||
|  |     { | ||||||
|  |         if (!Service::Enabled(service_name)) | ||||||
|  |         { | ||||||
|  |             Service::Enable(service_name); | ||||||
|  |         } | ||||||
|  |         if (Service::Status(service_name) != 0) | ||||||
|  |         { | ||||||
|  |             Service::Start(service_name); | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |         { | ||||||
|  |             Service::Restart(service_name); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         if (Service::Enabled(service_name)) | ||||||
|  |         { | ||||||
|  |             Service::Disable(service_name); | ||||||
|  |         } | ||||||
|  |         if (Service::Status(service_name) == 0) | ||||||
|  |         { | ||||||
|  |             Service::Stop(service_name); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     /* Error message */ | ||||||
|  |     if(false) Report::Error (_("Error updating runlevels.")); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     // adjust firewall as needed | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     if (ModifyFirewallPort()) | ||||||
|  |     { | ||||||
|  |         // write settings | ||||||
|  |         Progress::set(false); | ||||||
|  |         SuSEFirewall::WriteOnly(); | ||||||
|  |         if (!write_only) | ||||||
|  |         { | ||||||
|  |             SuSEFirewall::ActivateConfiguration(); | ||||||
|  |         } | ||||||
|  |         Progress::set(true); | ||||||
|  |     } | ||||||
|  |     /* Error message */ | ||||||
|  |     if(false) Report::Error (_("Error adjusting firewall.")); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     /* Progress finished */ | ||||||
|  |     Progress::NextStage(); | ||||||
|  |     Progress::Finish(); | ||||||
|  |     sleep(sl); | ||||||
|  |  | ||||||
|  |     if(Abort()) return false; | ||||||
|  |     return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Get all casa-ats settings from the first parameter | ||||||
|  |  * (For use by autoinstallation.) | ||||||
|  |  * @param settings The YCP structure to be imported. | ||||||
|  |  * @return boolean True on success | ||||||
|  |  */ | ||||||
|  | global boolean Import (map settings) { | ||||||
|  |     // TODO FIXME: your code here (fill the above mentioned variables)... | ||||||
|  |     return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Dump the casa-ats settings to a single map | ||||||
|  |  * (For use by autoinstallation.) | ||||||
|  |  * @return map Dumped settings (later acceptable by Import ()) | ||||||
|  |  */ | ||||||
|  | global map Export () { | ||||||
|  |     // TODO FIXME: your code here (return the above mentioned variables)... | ||||||
|  |     return $[]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Create a textual summary and a list of unconfigured cards | ||||||
|  |  * @return summary of the current configuration | ||||||
|  |  */ | ||||||
|  | global list Summary() { | ||||||
|  |     // TODO FIXME: your code here... | ||||||
|  |     /* Configuration summary text for autoyast */ | ||||||
|  |     return [ _("Configuration summary..."), [] ]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Create an overview table with all configured cards | ||||||
|  |  * @return table items | ||||||
|  |  */ | ||||||
|  | global list Overview() { | ||||||
|  |     // TODO FIXME: your code here... | ||||||
|  |     return []; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Return packages needed to be installed and removed during | ||||||
|  |  * Autoinstallation to insure module has all needed software | ||||||
|  |  * installed. | ||||||
|  |  * @return map with 2 lists. | ||||||
|  |  */ | ||||||
|  | global map AutoPackages() { | ||||||
|  |     // TODO FIXME: your code here... | ||||||
|  |     return $[ "install":[], "remove":[] ]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | global boolean IsPortOpen() | ||||||
|  | { | ||||||
|  |     return contains(SuSEFirewall::GetAdditionalServices("TCP", "EXT"), port); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | boolean ModifyFirewallPort() | ||||||
|  | { | ||||||
|  |     boolean retVal = false; | ||||||
|  |     list<string> services = SuSEFirewall::GetAdditionalServices("TCP", "EXT"); | ||||||
|  |     if (!contains(services, port) && Settings["CONFIG_CASAATS_OPEN_PORT"]:false) | ||||||
|  |     { | ||||||
|  |         services = add(services, port); | ||||||
|  |         retVal = true; | ||||||
|  |     } | ||||||
|  |     else if (contains(services, port) && !Settings["CONFIG_CASAATS_OPEN_PORT"]:false) | ||||||
|  |     { | ||||||
|  |         services = filter(string service, services, | ||||||
|  |             { | ||||||
|  |                 return (service != port); | ||||||
|  |             } | ||||||
|  |         ); | ||||||
|  |         retVal = true; | ||||||
|  |     } | ||||||
|  |     if (retVal) | ||||||
|  |     { | ||||||
|  |         SuSEFirewall::SetAdditionalServices("TCP", "EXT", services); | ||||||
|  |     } | ||||||
|  |     return retVal; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* EOF */ | ||||||
|  | } | ||||||
							
								
								
									
										27
									
								
								CASA-auth-token/yast2-casa-ats/src/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								CASA-auth-token/yast2-casa-ats/src/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | # Makefile.am for casa-ats/src | ||||||
|  |  | ||||||
|  | yncludedir = @yncludedir@/casa-ats | ||||||
|  |  | ||||||
|  | client_DATA =			\ | ||||||
|  | 	casa-ats.ycp | ||||||
|  |  | ||||||
|  | ynclude_DATA =			\ | ||||||
|  | 	helps.ycp		\ | ||||||
|  | 	wizards.ycp		\ | ||||||
|  | 	dialogs.ycp		\ | ||||||
|  | 	complex.ycp | ||||||
|  |  | ||||||
|  | desktop_DATA =			\ | ||||||
|  | 	casa-ats.desktop | ||||||
|  |  | ||||||
|  | module_DATA =			\ | ||||||
|  | 	CasaAts.ycp | ||||||
|  |  | ||||||
|  | # create a symlink for local build, #145327 | ||||||
|  | casa-ats: | ||||||
|  | 	ln -sf . $@ | ||||||
|  | ycpchook = casa-ats | ||||||
|  |  | ||||||
|  | EXTRA_DIST = $(client_DATA) $(ynclude_DATA) $(module_DATA) $(desktop_DATA) | ||||||
|  |  | ||||||
|  | include $(top_srcdir)/Makefile.am.common | ||||||
							
								
								
									
										24
									
								
								CASA-auth-token/yast2-casa-ats/src/casa-ats.desktop
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								CASA-auth-token/yast2-casa-ats/src/casa-ats.desktop
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | [Desktop Entry] | ||||||
|  | Type=Application | ||||||
|  | Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Misc; | ||||||
|  |  | ||||||
|  | X-KDE-ModuleType=Library | ||||||
|  | X-KDE-RootOnly=true | ||||||
|  | X-KDE-HasReadOnlyMode=true | ||||||
|  | X-KDE-Library=yast2 | ||||||
|  | X-SuSE-YaST-Call=casa-ats | ||||||
|  |  | ||||||
|  | X-SuSE-YaST-Group=Misc | ||||||
|  | X-SuSE-YaST-Argument= | ||||||
|  | X-SuSE-YaST-RootOnly=true | ||||||
|  | X-SuSE-YaST-AutoInst= | ||||||
|  | X-SuSE-YaST-Geometry= | ||||||
|  | X-SuSE-YaST-SortKey= | ||||||
|  | X-SuSE-YaST-AutoInstResource=casa-ats | ||||||
|  |  | ||||||
|  | Icon=yast-casa-ats | ||||||
|  | Exec=/sbin/yast2 casa-ats  | ||||||
|  |  | ||||||
|  | Name=CasaAts | ||||||
|  | GenericName=casa-ats | ||||||
|  | X-KDE-SubstituteUID=true | ||||||
							
								
								
									
										93
									
								
								CASA-auth-token/yast2-casa-ats/src/casa-ats.ycp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								CASA-auth-token/yast2-casa-ats/src/casa-ats.ycp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | /* ------------------------------------------------------------------------------ | ||||||
|  |  * Copyright (c) 2006 Novell, Inc. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify it under | ||||||
|  |  * the terms of version 2 of the GNU General Public License as published by the | ||||||
|  |  * Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
|  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  |  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License along with | ||||||
|  |  * this program; if not, contact Novell, Inc. | ||||||
|  |  * | ||||||
|  |  * To contact Novell about this file by physical or electronic mail, you may find | ||||||
|  |  * current contact information at www.novell.com. | ||||||
|  |  * ------------------------------------------------------------------------------ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * File:	clients/casa-ats.ycp | ||||||
|  |  * Package:	Configuration of casa-ats | ||||||
|  |  * Summary:	Main file | ||||||
|  |  * Authors:	Ryan Partridge <rpartridge@novell.com> | ||||||
|  |  * | ||||||
|  |  * $Id: casa-ats.ycp 27914 2006-02-13 14:32:08Z locilka $ | ||||||
|  |  * | ||||||
|  |  * Main file for casa-ats configuration. Uses all other files. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | { | ||||||
|  |  | ||||||
|  | /*** | ||||||
|  |  * <h3>Configuration of casa-ats</h3> | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | textdomain "casa-ats"; | ||||||
|  |  | ||||||
|  | /* The main () */ | ||||||
|  | y2milestone ("----------------------------------------"); | ||||||
|  | y2milestone ("CasaAts module started"); | ||||||
|  |  | ||||||
|  | import "Progress"; | ||||||
|  | import "Report"; | ||||||
|  | import "Summary"; | ||||||
|  |  | ||||||
|  | import "CommandLine"; | ||||||
|  | include "casa-ats/wizards.ycp"; | ||||||
|  |  | ||||||
|  | map cmdline_description = $[ | ||||||
|  |     "id" 	: "casa-ats", | ||||||
|  |     /* Command line help text for the Xcasa-ats module */ | ||||||
|  |     "help"	: _("Configuration of casa-ats"), | ||||||
|  |     "guihandler"        : CasaAtsSequence, | ||||||
|  |     "initialize"        : CasaAts::Read, | ||||||
|  |     "finish"            : CasaAts::Write, | ||||||
|  |     "actions"           : $[ | ||||||
|  | 	// FIXME TODO: fill the functionality description here | ||||||
|  |     ], | ||||||
|  |     "options"		: $[ | ||||||
|  | 	// FIXME TODO: fill the option descriptions here | ||||||
|  |     ], | ||||||
|  |     "mappings"		: $[ | ||||||
|  | 	// FIXME TODO: fill the mappings of actions and options here | ||||||
|  |     ] | ||||||
|  | ]; | ||||||
|  |  | ||||||
|  | /* is this proposal or not? */ | ||||||
|  | boolean propose = false; | ||||||
|  | list args = WFM::Args(); | ||||||
|  | if(size(args) > 0) { | ||||||
|  |     if(is(WFM::Args(0), path) && WFM::Args(0) == .propose) { | ||||||
|  |         y2milestone("Using PROPOSE mode"); | ||||||
|  |         propose = true; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* main ui function */ | ||||||
|  | any ret = nil; | ||||||
|  |  | ||||||
|  | if(propose) ret = CasaAtsAutoSequence(); | ||||||
|  | else ret = CommandLine::Run(cmdline_description); | ||||||
|  | y2debug("ret=%1", ret); | ||||||
|  |  | ||||||
|  | /* Finish */ | ||||||
|  | y2milestone("CasaAts module finished"); | ||||||
|  | y2milestone("----------------------------------------"); | ||||||
|  |  | ||||||
|  | return ret; | ||||||
|  |  | ||||||
|  | /* EOF */ | ||||||
|  | } | ||||||
							
								
								
									
										205
									
								
								CASA-auth-token/yast2-casa-ats/src/complex.ycp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								CASA-auth-token/yast2-casa-ats/src/complex.ycp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,205 @@ | |||||||
|  | /* ------------------------------------------------------------------------------ | ||||||
|  |  * Copyright (c) 2006 Novell, Inc. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify it under | ||||||
|  |  * the terms of version 2 of the GNU General Public License as published by the | ||||||
|  |  * Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
|  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  |  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License along with | ||||||
|  |  * this program; if not, contact Novell, Inc. | ||||||
|  |  * | ||||||
|  |  * To contact Novell about this file by physical or electronic mail, you may find | ||||||
|  |  * current contact information at www.novell.com. | ||||||
|  |  * ------------------------------------------------------------------------------ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * File:	include/casa-ats/complex.ycp | ||||||
|  |  * Package:	Configuration of casa-ats | ||||||
|  |  * Summary:	Dialogs definitions | ||||||
|  |  * Authors:	Ryan Partridge <rpartridge@novell.com> | ||||||
|  |  * | ||||||
|  |  * $Id: complex.ycp 29363 2006-03-24 08:20:43Z mzugec $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | { | ||||||
|  |  | ||||||
|  | textdomain "casa-ats"; | ||||||
|  |  | ||||||
|  | import "Label"; | ||||||
|  | import "Popup"; | ||||||
|  | import "Wizard"; | ||||||
|  | import "Wizard_hw"; | ||||||
|  | import "Confirm"; | ||||||
|  | import "CasaAts"; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | include "casa-ats/helps.ycp"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Return a modification status | ||||||
|  |  * @return true if data was modified | ||||||
|  |  */ | ||||||
|  | boolean Modified() { | ||||||
|  |     return CasaAts::Modified(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | boolean ReallyAbort() { | ||||||
|  |     return !CasaAts::Modified() || Popup::ReallyAbort(true); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | boolean PollAbort() { | ||||||
|  |     return UI::PollInput() == `abort; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Read settings dialog | ||||||
|  |  * @return `abort if aborted and `next otherwise | ||||||
|  |  */ | ||||||
|  | symbol ReadDialog() { | ||||||
|  |     Wizard::RestoreHelp(HELPS["read"]:""); | ||||||
|  |     // CasaAts::AbortFunction = PollAbort; | ||||||
|  |     if (!Confirm::MustBeRoot()) return `abort; | ||||||
|  |     boolean ret = CasaAts::Read(); | ||||||
|  |     return ret ? `next : `abort; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Write settings dialog | ||||||
|  |  * @return `abort if aborted and `next otherwise | ||||||
|  |  */ | ||||||
|  | symbol WriteDialog() { | ||||||
|  |     Wizard::RestoreHelp(HELPS["write"]:""); | ||||||
|  |     // CasaAts::AbortFunction = PollAbort; | ||||||
|  |     boolean ret = CasaAts::Write(); | ||||||
|  |     return ret ? `next : `abort; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Summary dialog | ||||||
|  |  * @return dialog result | ||||||
|  |  */ | ||||||
|  | any SummaryDialog() { | ||||||
|  |  | ||||||
|  |     /* CasaAts summary dialog caption */ | ||||||
|  |     string caption = _("CasaAts Configuration"); | ||||||
|  |  | ||||||
|  |     /* FIXME */ | ||||||
|  |     list summary = CasaAts::Summary(); | ||||||
|  |     list unconfigured = summary[1]:[]; | ||||||
|  |     string configured = summary[0]:""; | ||||||
|  |  | ||||||
|  |     /* Frame label */ | ||||||
|  |     term contents = Wizard_hw::DetectedContent(_("CasaAts to Configure"), | ||||||
|  | 	    unconfigured, false, configured); | ||||||
|  |  | ||||||
|  |     Wizard::SetContentsButtons(caption, contents, HELPS["summary"]:"", | ||||||
|  | 	    Label::BackButton(), Label::FinishButton()); | ||||||
|  |  | ||||||
|  |     any ret = nil; | ||||||
|  |     while(true) { | ||||||
|  |  | ||||||
|  | 	ret = UI::UserInput(); | ||||||
|  |  | ||||||
|  | 	/* abort? */ | ||||||
|  | 	if(ret == `abort || ret == `cancel || ret == `back) { | ||||||
|  | 	    if(ReallyAbort()) break; | ||||||
|  | 	    else continue; | ||||||
|  | 	} | ||||||
|  |         /* overview dialog */ | ||||||
|  |         else if(ret == `edit_button) { | ||||||
|  |             ret = `overview; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         /* configure the selected device */ | ||||||
|  |         else if(ret == `configure_button) { | ||||||
|  | 	    // TODO FIXME: check for change of the configuration | ||||||
|  |             any selected = UI::QueryWidget(`id(`detected_selbox), `CurrentItem); | ||||||
|  |             if(selected == `other) { | ||||||
|  |                 ret = `other; | ||||||
|  |             } | ||||||
|  |             else { | ||||||
|  |                 ret = `configure; | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         else if(ret == `next) { | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         else { | ||||||
|  |             y2error("unexpected retcode: %1", ret); | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Overview dialog | ||||||
|  |  * @return dialog result | ||||||
|  |  */ | ||||||
|  | any OverviewDialog() { | ||||||
|  |  | ||||||
|  |     /* CasaAts overview dialog caption */ | ||||||
|  |     string caption = _("CasaAts Overview"); | ||||||
|  |  | ||||||
|  |     list overview = CasaAts::Overview(); | ||||||
|  |  | ||||||
|  |     /* FIXME table header */ | ||||||
|  |     term contents = Wizard_hw::ConfiguredContent( | ||||||
|  | 	/* Table header */ | ||||||
|  | 	`header(_("Number"), _("CasaAts")), | ||||||
|  | 	overview, nil, nil, nil, nil ); | ||||||
|  |  | ||||||
|  |     contents = Wizard_hw::SpacingAround(contents, 1.5, 1.5, 1.0, 1.0); | ||||||
|  |  | ||||||
|  |     Wizard::SetContentsButtons(caption, contents, HELPS["overview"]:"", | ||||||
|  | 	    Label::BackButton(), Label::FinishButton()); | ||||||
|  |  | ||||||
|  |     any ret = nil; | ||||||
|  |     while(true) { | ||||||
|  |  | ||||||
|  | 	ret = UI::UserInput(); | ||||||
|  |  | ||||||
|  | 	/* abort? */ | ||||||
|  | 	if(ret == `abort || ret == `cancel) { | ||||||
|  | 	    if(ReallyAbort()) break; | ||||||
|  | 	    else continue; | ||||||
|  | 	} | ||||||
|  |         /* add */ | ||||||
|  |         else if(ret == `add_button) { | ||||||
|  | 	    /* FIXME */ | ||||||
|  |             ret = `add; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         /* edit */ | ||||||
|  |         else if(ret == `edit_button) { | ||||||
|  | 	    /* FIXME */ | ||||||
|  |             ret = `edit; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         /* delete */ | ||||||
|  |         else if(ret == `delete_button) { | ||||||
|  | 	    /* FIXME */ | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  |         else if(ret == `next || ret == `back) { | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         else { | ||||||
|  |             y2error("unexpected retcode: %1", ret); | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* EOF */ | ||||||
|  | } | ||||||
							
								
								
									
										170
									
								
								CASA-auth-token/yast2-casa-ats/src/dialogs.ycp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								CASA-auth-token/yast2-casa-ats/src/dialogs.ycp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,170 @@ | |||||||
|  | /* ------------------------------------------------------------------------------ | ||||||
|  |  * Copyright (c) 2006 Novell, Inc. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify it under | ||||||
|  |  * the terms of version 2 of the GNU General Public License as published by the | ||||||
|  |  * Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
|  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  |  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License along with | ||||||
|  |  * this program; if not, contact Novell, Inc. | ||||||
|  |  * | ||||||
|  |  * To contact Novell about this file by physical or electronic mail, you may find | ||||||
|  |  * current contact information at www.novell.com. | ||||||
|  |  * ------------------------------------------------------------------------------ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * File:	include/casa-ats/dialogs.ycp | ||||||
|  |  * Package:	Configuration of casa-ats | ||||||
|  |  * Summary:	Dialogs definitions | ||||||
|  |  * Authors:	Ryan Partridge <rpartridge@novell.com> | ||||||
|  |  * | ||||||
|  |  * $Id: dialogs.ycp 27914 2006-02-13 14:32:08Z locilka $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | { | ||||||
|  |  | ||||||
|  | textdomain "casa-ats"; | ||||||
|  |  | ||||||
|  | import "Label"; | ||||||
|  | import "Wizard"; | ||||||
|  | import "Popup"; | ||||||
|  | import "Address"; | ||||||
|  | import "CasaAts"; | ||||||
|  |  | ||||||
|  | include "casa-ats/helps.ycp"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Authentication Token Service dialog | ||||||
|  |  * @return dialog result | ||||||
|  |  */ | ||||||
|  | any ATSInfoDialog () { | ||||||
|  |  | ||||||
|  |     /* CasaAts configure1 dialog caption */ | ||||||
|  |     string caption = _("CASA Authentication Token Service Configuration"); | ||||||
|  |  | ||||||
|  |     boolean enable = CasaAts::Settings["CONFIG_CASAATS_ENABLE"]:false; | ||||||
|  |     string realm = CasaAts::Settings["CONFIG_CASAATS_REALM"]:""; | ||||||
|  |     string host = CasaAts::Settings["CONFIG_CASAATS_HOST"]:""; | ||||||
|  |     string proxy_username = CasaAts::Settings["CONFIG_CASAATS_PROXY_USERNAME"]:""; | ||||||
|  |     string proxy_password = CasaAts::Settings["CONFIG_CASAATS_PROXY_PASSWORD"]:""; | ||||||
|  |     boolean open_port = CasaAts::Settings["CONFIG_CASAATS_OPEN_PORT"]:false; | ||||||
|  |  | ||||||
|  |     /* CasaAts ATSInfo dialog contents */ | ||||||
|  |     term contents = | ||||||
|  |         `HVSquash | ||||||
|  |         ( | ||||||
|  |             `VBox | ||||||
|  |             ( | ||||||
|  |                 `Left(`CheckBox(`id(`enable), `opt(`notify), _("&Enable CASA Authentication Token Service"), enable)), | ||||||
|  |                 `VSpacing(1.0), | ||||||
|  |                 `TextEntry(`id(`realm), _("&Realm name:"), realm), | ||||||
|  |                 `TextEntry(`id(`host), _("&Host server (IP address or DNS name):"), host), | ||||||
|  |                 `TextEntry(`id(`proxy_username), _("&Proxy username (i.e. cn=admin,o=novell):"), proxy_username), | ||||||
|  |                 `Password(`id(`proxy_password), _("Pa&ssword for proxy user:"), proxy_password), | ||||||
|  |                 `VSpacing(1.0), | ||||||
|  |                 `Left(`CheckBox(`id(`firewall), _("&Open service port in firewall"), open_port)) | ||||||
|  |             ) | ||||||
|  |         ); | ||||||
|  |     Wizard::SetContentsButtons(caption, contents, HELPS["atsinfo"]:"", | ||||||
|  | 	    Label::BackButton(), Label::FinishButton()); | ||||||
|  |  | ||||||
|  |     UI::SetFocus(`id(`enable)); | ||||||
|  |  | ||||||
|  |     UI::ChangeWidget(`id(`realm), `Enabled, enable); | ||||||
|  |     UI::ChangeWidget(`id(`host), `Enabled, enable); | ||||||
|  |     UI::ChangeWidget(`id(`proxy_username), `Enabled, enable); | ||||||
|  |     UI::ChangeWidget(`id(`proxy_password), `Enabled, enable); | ||||||
|  |     UI::ChangeWidget(`id(`firewall), `Enabled, enable); | ||||||
|  |  | ||||||
|  |     map event = nil; | ||||||
|  |     any ret = nil; | ||||||
|  |     while(true) | ||||||
|  |     { | ||||||
|  |         event = UI::WaitForEvent (); | ||||||
|  |         ret = event["ID"]:nil; | ||||||
|  |  | ||||||
|  | 	/* abort? */ | ||||||
|  | 	if(ret == `abort || ret == `cancel) | ||||||
|  |         { | ||||||
|  | 	    if(ReallyAbort()) break; | ||||||
|  | 	    else continue; | ||||||
|  | 	} | ||||||
|  |         else if (ret == `enable) | ||||||
|  |         { | ||||||
|  |             y2milestone("Changing enable/diable state"); | ||||||
|  |             boolean enableFields = (boolean)UI::QueryWidget(`enable, `Value); | ||||||
|  |             UI::ChangeWidget(`id(`realm), `Enabled, enableFields); | ||||||
|  |             UI::ChangeWidget(`id(`host), `Enabled, enableFields); | ||||||
|  |             UI::ChangeWidget(`id(`proxy_username), `Enabled, enableFields); | ||||||
|  |             UI::ChangeWidget(`id(`proxy_password), `Enabled, enableFields); | ||||||
|  |             UI::ChangeWidget(`id(`firewall), `Enabled, enableFields); | ||||||
|  |         } | ||||||
|  |         else if(ret == `next) | ||||||
|  |         { | ||||||
|  |             enable = (boolean)UI::QueryWidget(`enable, `Value); | ||||||
|  |             CasaAts::Settings["CONFIG_CASAATS_ENABLE"] = enable; | ||||||
|  |             if (enable) | ||||||
|  |             { | ||||||
|  |                 realm = (string)UI::QueryWidget(`realm, `Value); | ||||||
|  |                 if (realm == nil || realm == "") | ||||||
|  |                 { | ||||||
|  |                     Popup::Error(_("The Realm cannot be blank")); | ||||||
|  |                     continue; | ||||||
|  |                 } | ||||||
|  |                 CasaAts::Settings["CONFIG_CASAATS_REALM"] = realm; | ||||||
|  |  | ||||||
|  |                 host = (string)UI::QueryWidget(`host, `Value); | ||||||
|  |                 if (host == nil || host == "") | ||||||
|  |                 { | ||||||
|  |                     Popup::Error(_("The Host cannot be blank")); | ||||||
|  |                     continue; | ||||||
|  |                 } | ||||||
|  |                 else if (!Address::Check4(host)) | ||||||
|  |                 { | ||||||
|  |                     Popup::Error(_("The Host must be a valid IP address or DNS name")); | ||||||
|  |                     continue; | ||||||
|  |                 } | ||||||
|  |                 CasaAts::Settings["CONFIG_CASAATS_HOST"] = host; | ||||||
|  |  | ||||||
|  |                 proxy_username = (string)UI::QueryWidget(`proxy_username, `Value); | ||||||
|  |                 if (proxy_username == nil || proxy_username == "") | ||||||
|  |                 { | ||||||
|  |                     Popup::Error(_("The Proxy username cannot be blank")); | ||||||
|  |                     continue; | ||||||
|  |                 } | ||||||
|  |                 CasaAts::Settings["CONFIG_CASAATS_PROXY_USERNAME"] = proxy_username; | ||||||
|  |  | ||||||
|  |                 proxy_password = (string)UI::QueryWidget(`proxy_password, `Value); | ||||||
|  |                 if (proxy_password == nil || proxy_password == "") | ||||||
|  |                 { | ||||||
|  |                     Popup::Error(_("The Proxy user password cannot be blank")); | ||||||
|  |                     continue; | ||||||
|  |                 } | ||||||
|  |                 CasaAts::Settings["CONFIG_CASAATS_PROXY_PASSWORD"] = proxy_password; | ||||||
|  |  | ||||||
|  |                 open_port = (boolean)UI::QueryWidget(`firewall, `Value); | ||||||
|  |                 CasaAts::Settings["CONFIG_CASAATS_OPEN_PORT"] = open_port; | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 CasaAts::Settings["CONFIG_CASAATS_OPEN_PORT"] = false; | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         else if(ret == `back) | ||||||
|  |         { | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* EOF */ | ||||||
|  | } | ||||||
							
								
								
									
										69
									
								
								CASA-auth-token/yast2-casa-ats/src/helps.ycp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								CASA-auth-token/yast2-casa-ats/src/helps.ycp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | |||||||
|  | /* ------------------------------------------------------------------------------ | ||||||
|  |  * Copyright (c) 2006 Novell, Inc. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify it under | ||||||
|  |  * the terms of version 2 of the GNU General Public License as published by the | ||||||
|  |  * Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
|  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  |  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License along with | ||||||
|  |  * this program; if not, contact Novell, Inc. | ||||||
|  |  * | ||||||
|  |  * To contact Novell about this file by physical or electronic mail, you may find | ||||||
|  |  * current contact information at www.novell.com. | ||||||
|  |  * ------------------------------------------------------------------------------ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * File:	include/casa-ats/helps.ycp | ||||||
|  |  * Package:	Configuration of casa-ats | ||||||
|  |  * Summary:	Help texts of all the dialogs | ||||||
|  |  * Authors:	Ryan Partridge <rpartridge@novell.com> | ||||||
|  |  * | ||||||
|  |  * $Id: helps.ycp 27914 2006-02-13 14:32:08Z locilka $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | { | ||||||
|  |  | ||||||
|  | textdomain "casa-ats"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * All helps are here | ||||||
|  |  */ | ||||||
|  | map HELPS = $[ | ||||||
|  |  | ||||||
|  |     /* Read dialog help 1/2 */ | ||||||
|  |     "read" : _("<p><b><big>Initializing CASA Authentication Token Service Configuration</big></b><br> | ||||||
|  | Please wait...<br></p> | ||||||
|  | ") + | ||||||
|  |  | ||||||
|  |     /* Read dialog help 2/2 */ | ||||||
|  |     _("<p><b><big>Aborting Initialization:</big></b><br> | ||||||
|  | Safely abort the configuration utility by pressing <b>Abort</b> now.</p> | ||||||
|  | "), | ||||||
|  |  | ||||||
|  |     /* Write dialog help 1/2 */ | ||||||
|  |     "write" : _("<p><b><big>Saving CASA Authentication Token Service Configuration</big></b><br> | ||||||
|  | Please wait...<br></p> | ||||||
|  | ") + | ||||||
|  |  | ||||||
|  |     /* Write dialog help 2/2 */ | ||||||
|  | _("<p><b><big>Aborting Saving:</big></b><br> | ||||||
|  | Abort the save procedure by pressing <b>Abort</b>. | ||||||
|  | An additional dialog informs whether it is safe to do so. | ||||||
|  | </p> | ||||||
|  | "), | ||||||
|  |  | ||||||
|  |     /* ATS info dialog help 1/3 */ | ||||||
|  |     "atsinfo" : _("<p><b><big>CASA Authentication Token Service Configuration</big></b><br> | ||||||
|  | Configure the CASA Authentication Token Service here.<br></p> | ||||||
|  | "), | ||||||
|  |  | ||||||
|  | ]; | ||||||
|  |  | ||||||
|  | /* EOF */ | ||||||
|  | } | ||||||
							
								
								
									
										147
									
								
								CASA-auth-token/yast2-casa-ats/src/wizards.ycp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								CASA-auth-token/yast2-casa-ats/src/wizards.ycp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | |||||||
|  | /* ------------------------------------------------------------------------------ | ||||||
|  |  * Copyright (c) 2006 Novell, Inc. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify it under | ||||||
|  |  * the terms of version 2 of the GNU General Public License as published by the | ||||||
|  |  * Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
|  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  |  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License along with | ||||||
|  |  * this program; if not, contact Novell, Inc. | ||||||
|  |  * | ||||||
|  |  * To contact Novell about this file by physical or electronic mail, you may find | ||||||
|  |  * current contact information at www.novell.com. | ||||||
|  |  * ------------------------------------------------------------------------------ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * File:	include/casa-ats/wizards.ycp | ||||||
|  |  * Package:	Configuration of casa-ats | ||||||
|  |  * Summary:	Wizards definitions | ||||||
|  |  * Authors:	Ryan Partridge <rpartridge@novell.com> | ||||||
|  |  * | ||||||
|  |  * $Id: wizards.ycp 27914 2006-02-13 14:32:08Z locilka $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | { | ||||||
|  |  | ||||||
|  | textdomain "casa-ats"; | ||||||
|  |  | ||||||
|  | import "Sequencer"; | ||||||
|  | import "Wizard"; | ||||||
|  |  | ||||||
|  | include "casa-ats/complex.ycp"; | ||||||
|  | include "casa-ats/dialogs.ycp"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Add a configuration of casa-ats | ||||||
|  |  * @return sequence result | ||||||
|  |  */ | ||||||
|  | any AddSequence() { | ||||||
|  |  | ||||||
|  |     /* FIXME: adapt to your needs */ | ||||||
|  |     map aliases = $[ | ||||||
|  | 	"atsinfo"	: ``(ATSInfoDialog()), | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     /* FIXME: adapt to your needs */ | ||||||
|  |     map sequence = $[ | ||||||
|  | 	"ws_start" : "config1", | ||||||
|  | 	"atsinfo" : $[ | ||||||
|  | 	    `abort	: `abort, | ||||||
|  | 	    `next	: `next | ||||||
|  | 	] | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     return Sequencer::Run(aliases, sequence); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Main workflow of the casa-ats configuration | ||||||
|  |  * @return sequence result | ||||||
|  |  */ | ||||||
|  | any MainSequence() { | ||||||
|  |  | ||||||
|  |     /* FIXME: adapt to your needs */ | ||||||
|  |     map aliases = $[ | ||||||
|  | 	"atsinfo"	:   ``( ATSInfoDialog() ) | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     /* FIXME: adapt to your needs */ | ||||||
|  |     map sequence = $[ | ||||||
|  | 	"ws_start" : "atsinfo", | ||||||
|  | 	"atsinfo" : $[ | ||||||
|  | 	    `abort	: `abort, | ||||||
|  | 	    `next	: `next | ||||||
|  | 	] | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     any ret = Sequencer::Run(aliases, sequence); | ||||||
|  |  | ||||||
|  |     return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Whole configuration of casa-ats | ||||||
|  |  * @return sequence result | ||||||
|  |  */ | ||||||
|  | any CasaAtsSequence() { | ||||||
|  |  | ||||||
|  |     map aliases = $[ | ||||||
|  | 	"read"	: [ ``( ReadDialog() ), true ], | ||||||
|  | 	"main"	:   ``( MainSequence() ), | ||||||
|  | 	"write"	: [ ``( WriteDialog() ), true ] | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     map sequence = $[ | ||||||
|  | 	"ws_start" : "read", | ||||||
|  | 	"read" : $[ | ||||||
|  | 	    `abort	: `abort, | ||||||
|  | 	    `next	: "main" | ||||||
|  | 	], | ||||||
|  | 	"main" : $[ | ||||||
|  | 	    `abort	: `abort, | ||||||
|  | 	    `next	: "write" | ||||||
|  | 	], | ||||||
|  | 	"write" : $[ | ||||||
|  | 	    `abort	: `abort, | ||||||
|  | 	    `next	: `next | ||||||
|  | 	] | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     Wizard::CreateDialog(); | ||||||
|  |  | ||||||
|  |     any ret = Sequencer::Run(aliases, sequence); | ||||||
|  |  | ||||||
|  |     UI::CloseDialog(); | ||||||
|  |     return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Whole configuration of casa-ats but without reading and writing. | ||||||
|  |  * For use with autoinstallation. | ||||||
|  |  * @return sequence result | ||||||
|  |  */ | ||||||
|  | any CasaAtsAutoSequence() { | ||||||
|  |  | ||||||
|  |     /* Initialization dialog caption */ | ||||||
|  |     string caption = _("CasaAts Configuration"); | ||||||
|  |     /* Initialization dialog contents */ | ||||||
|  |     term contents = `Label(_("Initializing...")); | ||||||
|  |  | ||||||
|  |     Wizard::CreateDialog(); | ||||||
|  |     Wizard::SetContentsButtons(caption, contents, "", | ||||||
|  | 	    Label::BackButton(), Label::NextButton()); | ||||||
|  |  | ||||||
|  |     any ret = MainSequence(); | ||||||
|  |  | ||||||
|  |     UI::CloseDialog(); | ||||||
|  |     return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* EOF */ | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								CASA-auth-token/yast2-casa-ats/testsuite/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								CASA-auth-token/yast2-casa-ats/testsuite/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | # | ||||||
|  | # Makefile.am for .../testsuite | ||||||
|  | # | ||||||
|  | # Do not edit this file (Makefile.am) as it will be overwritten! | ||||||
|  | # | ||||||
|  |  | ||||||
|  | AUTOMAKE_OPTIONS = dejagnu | ||||||
|  | EXTRA_DIST = $(wildcard tests/*.out) $(wildcard tests/*.err) $(wildcard tests/*.ycp) $(wildcard tests/*.yh) | ||||||
|  |  | ||||||
|  | testsuite_prepare = @ydatadir@/testsuite/Makefile.testsuite | ||||||
|  |  | ||||||
|  | all-local: $(testsuite_prepare) | ||||||
|  | 	make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) | ||||||
|  |  | ||||||
|  | clean-local: $(testsuite_prepare) | ||||||
|  | 	make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) clean | ||||||
|  |  | ||||||
|  | check-local: $(testsuite_prepare) | ||||||
|  | 	make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) check | ||||||
|  |  | ||||||
|  | # EOF | ||||||
							
								
								
									
										30
									
								
								CASA-auth-token/yast2-casa-ats/yast2-casa-ats.spec.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								CASA-auth-token/yast2-casa-ats/yast2-casa-ats.spec.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | @HEADER-COMMENT@ | ||||||
|  |  | ||||||
|  | @HEADER@ | ||||||
|  | Requires:	yast2 | ||||||
|  | BuildRequires:	perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite | ||||||
|  |  | ||||||
|  | BuildArchitectures:	noarch | ||||||
|  |  | ||||||
|  | Summary:	Configuration of casa-ats | ||||||
|  |  | ||||||
|  | %description | ||||||
|  | - | ||||||
|  |  | ||||||
|  | @PREP@ | ||||||
|  |  | ||||||
|  | @BUILD@ | ||||||
|  |  | ||||||
|  | @INSTALL@ | ||||||
|  |  | ||||||
|  | @CLEAN@ | ||||||
|  |  | ||||||
|  | %files | ||||||
|  | %defattr(-,root,root) | ||||||
|  | %dir @yncludedir@/casa-ats | ||||||
|  | @yncludedir@/casa-ats/* | ||||||
|  | @scrconfdir@/*.scr | ||||||
|  | @clientdir@/*.ycp | ||||||
|  | @moduledir@/CasaAts.* | ||||||
|  | @desktopdir@/casa-ats.desktop | ||||||
|  | %doc @docdir@ | ||||||
		Reference in New Issue
	
	Block a user