Creating a custom application template

IAG comes pre-populated with many application templates, but occasionally, one might need to customize them. A typical scenario is a need to use one of the client/server based templates, which automatically launch an SSL-VPN tunnel, and then notify the user that it is ready to launch the application. Here’s how to customize the default template to make it silent.

The difference between the regular GenericWebRelayMulti template and what we will be creating is the removal of one line:

<exec exe=" " flags="256" default="yes"/><!--All platforms-->

This line governs the behavior of the application, and removing it will silence the app. To do this, the 1st step is to create a custom app template based on the regular, non-silent “Generic Browser-Embedded App (multi server)” app. Here are the steps:

1. Open the folder c:\Whale-Com\e-Gap\von\conf\wizarddefaults

2. Create a new folder under it named CustomUpdate

3. Create a new file in that folder, and name it WizardDefaultParam.Ini

4. Paste the following text into that file. Please note the bold text is key settings that are relevant to this customization:

[Application_List]

NumOfApps=1

App1=GenericWebRelayMultiSilent

[GenericWebRelayMultiSilent]

Name=Silent Generic Browser-Embedded App (Multi Servers)

AppType=2

WhaleApp=0

UseLLNMode=1

Types=1,2

LegalCharsSet=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:@&=$+_-!',;~{}%

DangerousCharsSet=/\\:*?""<>|.

DengerousCharsIncludeNull=1

ParamNameCaseSensitive=0

ParamValCaseSensitive=0

UrlCaseSensitive=0

AllowWebdav=0

PassLogoffToRWS=0

ReplyToAuth=0

UseSNT=0

Image=images/AppIcons/GenericHTTP.gif

SSLVpnTemplate=GenericRelaySilent

SSLVPNNumOfElements=2

SSLVPNElement0ID=0IPBIND

SSLVPNElement1ID=0

0IPBINDName=Server:

0IPBINDType=0

0IPBINDGuiType=2

0IPBINDValidation=IP/DNS NotEmpty

0Name=Ports:

0Type=1

0GuiType=0

0Value=

0Validation=Port NotEmpty

ActivateSmugglingProtection=0

MaxHTTPBodySize=49152

ContentTypeList=application/x-www-form-urlencoded|multipart/form-data

Explanation: The top part tells IAG that this file contains info about a certain number of apps – one in our example. The 2nd part is the details of the new app. Note that the section name needs to match the name specified in the “app1” line. The “name” parameter governs how it will look to the user in the app wizard. The SSLVPNTemplate setting tells IAG to which SSLVPN template this refers to, which we configure in the following steps:

5. Open the folder C:\Whale-Com\e-Gap\von\conf

6. Create a new folder under it named CustomUpdate

7. Create a new file under it and name it SSLVPNTemplates.xml

8. Paste the following text into that file. Please note the bold text is key settings that are relevant to this customization:

<config>

<!--

*********************************************************************************

** **

** Templates **

** **

*********************************************************************************

-->

<templates version="3" use-lsp="1">

<!--

Templates under this node support multiple platforms:

*Officially supported platforms: Windows, Linux, MacOSX.

*Other platforms (i.e. Solaris etc.) - only XML nodes with explicit [default="yes"] property will be supported/used.

"All platforms" commentry means all the above are supported by the templates XML node.

-->

<!--

*********************************************************************************

** Generic simple relay - _requires_ hosts file support **

*********************************************************************************

-->

<!-- Auto-Sense mode -->

<template name="GenericRelaySilent" userrights="2" use-with-lsp="yes" default="yes"><!--All platforms-->

<port id="0" remoteport="0" flags="650" default="yes"/><!--All platforms-->

<config-file flags="65" path="%hosts%" default="yes"><!--All platforms-->

<![CDATA[

%localip% %relayname0%

%localip% %relayname1%

]]>

</config-file>

</template>

</templates>

</config>

Explanation: The Config and Templates tag are generic file structure tags, while the rest are specific to this app. The areas enclosed in <!-- and --> are just comments, and they can be left out completely if one is so inclined. The Template Name is THE name of the template, which is referred to in the WizardDefaultParams mentioned above. It also has to be unique to other template names in the general SSLVPNTemplate.xml, so be sure to check that. Now, all you have to do is activate this, although that requires one extra step:

9. Open the IAG configuration console, and activate the configuration, checking the option to “apply changes made to external configuration files”.

10. Close the IAG configuration console AGAIN, and open it back.

Now, the new template named Silent Generic Browser-Embedded App (Multi Servers) will become available as the last item under the “browser embedded applications” category. The next step is creating a new application, based on the new template.