# #################################################################### # Exceed Connection Server 13.7 # Copyright (c) 1997-2009 Open Text Corporation. All Rights Reserved. # #################################################################### # Migration Tool # $Revision: 10408 $ ####################################################################### function migrateMode() { if(lower1 == "mode") { if((lower2 == "broadcast") || (lower2 == "query") || (lower2 == "indirect")) { print $0 > cfgFile } else { print $1 "=passive" > cfgFile migrateStartMethod() } } } function migrateStartMethod() { mode = $2 lmode = lower2 startMethod = -1 if(lmode == "rsh") startMethod = 1 else if(lmode == "telnet") startMethod = 6 else if(lmode == "rexec") startMethod = 0 else if(lmode == "ssh") startMethod = 8 else if(lmode == "rlogin") startMethod = 4 if(startMethod >= 0) { cmd = sprintf("cp -p %s %s", templateXs, xsFile) system(cmd) if(startMethod < 8) print "Start Method=" startMethod >> xsFile } } function migrateFile() { fileName = $2 split(fileName, parts, ".") newFileName = parts[1] "_" profName "." parts[2] cmd = sprintf("%s %s %s \"%s\" \"%s\"", migFile, profDir, commonDir, fileName, newFileName) if(system(cmd)) { fileName = newFileName } print $1 "=" fileName > cfgFile } function migratePrompts() { key = "Unknown1" if(lower1 == "prompthostname") key = "Local Prompt Host" else if (lower1 == "promptcommand") key = "Local Prompt Command" value = -1 if(lower2 == "hide") value = 0 else if(lower2 == "display") value = 1 else if(lower2 == "prompt") value = 2 else if (lower2 == "auto") value = 3 print key "=" value >> xsFile } function migrateSpecialPrompts() { key = "Unknown2" if (lower1 == "promptuserid") key = "Local Prompt UID" else if (lower1 == "promptpassword") key = "Local Prompt Password" value = -1 if(lower2 == "hide") value = 0 else if(lower2 == "display") value = 1 else if (lower2 == "prompt") value = 2 else if (lower2 == "auto") { value = 0 bUseLoginCredentials = 1 } print key "=" value >> xsFile } function migrateForAllModes() { key = "Unknown3" if(lower1 == "truncatersh") key = "Truncate Local User ID" else if(lower1 == "autofillstripuiddomain") key = "Strip Windows UID Domain" else if(lower1 == "closetimeout") key = "Close Timeout" else if(lower1 == "reuseproxy") key = "ReuseProxy" print key "=" $2 >> xsFile } function migrateHostUserIdPasswordCmd() { key = "Unknown4" if((lower1 ~ /host$/) && (match(lower1, lmode) == 1)) key = "Host" else if((lower1 ~ /userid$/) && (match(lower1, lmode) == 1)) key = "User Id" else if((lower1 ~ /password$/) && (match(lower1, lmode) == 1)) key = "Password" else if((lower1 ~ /cmd$/) && (match(lower1, lmode) == 1)) key = "Command" else return print key "=" $2 >> xsFile } function migrateTelnet() { key = "Unknown5" if(lower1 == "userpasswordprompt") key = "Password Prompt" else if (lower1 == "useridprompt") key = "UserId Prompt" else if (lower1 == "shellprompt") key = "Shell Prompt" else if (lower1 == "telnetoptprompt") key = "Optional Prompt1" else if (lower1 == "telnetoptpromptreply") key = "Optional Reply1" print key "=" keyValue >> xsFile } function migrateSSH() { key = "Unknown6" if(lower1 == "sshexopts") key = "Extra SSH Options" else if (lower1 == "sshconnecttounknownserver") key = "Connect Unknown SSH Hosts" else if (lower1 == "sshoptprompt") key = "Optional Prompt1" else if (lower1 == "sshoptpromptreply") key = "Optional Reply1" else if (lower1 == "sshcommand") key = "Command" print key "=" keyValue >> xsFile } function migrateSSHFlags() { key = "Unknown7" if(lower1 == "sshusedefaultopts") key = "Use Default SSH Options" else if(lower1 == "createpasswordfile") key = "Do Password File" value = $2 if($2 == "") value = "0" print key "=" value >> xsFile } function migrateSSHXtraPrompts() { key = "Unknown8" if (lower1 == "sshoptprompt2") key = "Extra Prompt1" else if (lower1 == "sshoptpromptreply2") key = "Extra Reply1" if($2 == "") bEnableExtraPrompts = 0 print key "=" $2 >> xsFile } function migrateSharingCfg() { bMigrateSharingCfg = 0 fileName = "sharing.cfg" newFileName = "sharing" "_" profName ".cfg" cmd = sprintf("%s %s %s %s %s", migFile, profDir, commonDir, fileName, newFileName) if(system(cmd)) { print "SharingACL" "=" newFileName > cfgFile } } function getKeyValue() { keyValue = "" n = split($0, fields, "=") for(i = 2 ; i <= n ; ++i) { keyValue = keyValue fields[i] if(i < n) { keyValue = keyValue "=" } } } function doMigration() { if(cursection ~ /\[EWEB\]/) { if(lower1 != "vendorrelease") { print $0 > cfgFile if(bMigrateSharingCfg) { bMigrateSharingCfg = 0 migrateSharingCfg() } } } else if(cursection ~ /\[PERFORMANCE\]/) { if((lower1 != "discardxputimage") && (lower1 != "discardxputimagesize")) { print $0 > cfgFile } } else if(cursection ~ /\[STARTUP\]/) { if(lower1 == "mode") migrateMode() if(lower1 ~ /^xdm/) { if(lower1 == "xdmhostfile") { migrateFile() } else if(lower1 == "xdmindirectselectfirst") { print $1 "=1" > cfgFile } else { print $0 > cfgFile } } else if(startMethod >= 0) { if((lower1 == "truncatersh") || (lower1 == "autofillstripuiddomain") || (lower1 == "closetimeout") || (lower1 == "reuseproxy")) { migrateForAllModes() } else if(1 == match(lower1, lmode)) { migrateHostUserIdPasswordCmd() } else if(bPromptUser) { if((lower1 == "prompthostname") || (lower1 == "promptcommand")) { migratePrompts() } else if((lower1 == "promptuserid") || (lower1 == "promptpassword")) { migrateSpecialPrompts() } } if(startMethod == 6) { if((lower1 == "userpasswordprompt") || (lower1 == "useridprompt") || (lower1 == "shellprompt") || (lower1 == "telnetoptprompt") || (lower1 == "telnetoptpromptreply")) migrateTelnet() } else if(startMethod == 8) { if((lower1 == "sshexopts") || (lower1 == "sshconnecttounknownserver") || (lower1 == "sshoptprompt") || (lower1 == "sshoptpromptreply") || (lower1 == "sshcommand")) migrateSSH() else if((lower1 == "sshusedefaultopts") || (lower1 == "createpasswordfile")) migrateSSHFlags() else if((lower1 == "sshoptprompt2") || (lower1 == "sshoptpromptreply2")) migrateSSHXtraPrompts() } } } else if((lower1 == "keyboardfile") || (lower1 == "rgbfile") || (lower1 == "accessfile") || ((lower1 == "xauthfile") && useXauth)) { migrateFile() } else { print $0 > cfgFile } } BEGIN { FS = "=" bMigrateSharingCfg = 1 bPromptUser = 0 useXauth = 0 bUseLoginCredentials = ((profName == "Global_wm") || (profName == "Global_xterm")) bEnableExtraPrompts = 1 bEnableX11Tunneling = 0 startMethod=-1 } { getKeyValue() lower0 = tolower($0) lower1 = tolower($1) lower2 = tolower($2) } /^\[.*\]$/ { cursection=toupper($0) print $0 > cfgFile next } (lower1 ~ /^promptuser/) && (lower2 == 1) { bPromptUser = 1 } lower1 ~ /^usexauth/ { useXauth = (lower2 == 1) } lower1 ~ /^sshenablex11tunneling/ { bEnableX11Tunneling = (lower2 == 1) } { doMigration() } END { if(startMethod >= 0) { print "Use Login Credentials=" bUseLoginCredentials >> xsFile } if(startMethod >= 7) { print "Enable Extra Prompts=" bEnableExtraPrompts >> xsFile if(bEnableX11Tunneling) startMethod = 7 print "Start Method=" startMethod >> xsFile } }