| midrange.com code scratchpad | 
				
					| 
							
								| Name:FTPLOGIN | Scriptlanguage:Plain Text | Tabwidth:4 | Date:03/10/2011 02:26:13 pm | IP:Logged |  | 
				
					| Description:Processes requests for FTP logins via Exit point:   QIBM_QTMF_SVR_LOGON      Format:   TCPL0200 
 sets default namefmt & current directory based on user profile
 | 
				
					| Code: 
							
								
								
								| 
         hoption(*nodebugio:*srcstmt) dftactgrp(*no) actgrp(*caller)
      dFTPLogIn         pr
     d ApplicationID                 10i 0
     d UserID                       999a    Options(*VarSize)
     d UserIDLen                     10i 0
     d Auth                         999a    Options(*VarSize)
     d AuthLen                       10i 0
     d IPAddress                    999a    Options(*VarSize)
     d IPAddressLen                  10i 0
     d AllowLogin                    10i 0
     d UserProfile                   10a
     d Password                      10a
     d CurLib                        10a
     d HomeDir                      999a    Options(*VarSize)
     d HomeDirLen                    10i 0
     d AppInfo                      999a    Options(*VarSize)
     d AppInfoLen                    10i 0
      dFTPLogIn         pi
     d ApplicationID                 10i 0
     d UserID                       999a    Options(*VarSize)
     d UserIDLen                     10i 0
     d Auth                         999a    Options(*VarSize)
     d AuthLen                       10i 0
     d IPAddress                    999a    Options(*VarSize)
     d IPAddressLen                  10i 0
     d AllowLogin                    10i 0
     d UserProfile                   10a
     d Password                      10a
     d CurLib                        10a
     d HomeDir                      999a    Options(*VarSize)
     d HomeDirLen                    10i 0
     d AppInfo                      999a    Options(*VarSize)
     d AppInfoLen                    10i 0
      dAppInfoDS        ds                   Qualified
     d NameFmt                       10i 0
     d CWD                           10i 0
     d FileListFmt                   10i 0
     d ConnSecurity                  10i 0
     d DataEncrypt                   10i 0
     d ConnCipher                     5i 0
     d DataCipher                     5i 0
      dNeverAllow       c                   Const(-1)
     dDontAllow        c                   Const(0)
     dAllow            c                   Const(1)
     dAlwaysAllow      c                   Const(2)
       /free
            AppInfoLen = %Size(AppInfoDS);
            Select;
              When %Subst(UserID:1:UserIDLen) = 'ANONYMOUS';
               AllowLogin = DontAllow;
              Other;
               AllowLogin = Allow;
               If %Subst(UserID:1:UserIDLen) = 'XXXXXXTWH'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXJDS'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXDBJ'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXBOB'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXREM'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXJEN'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXCAT'
                 Or %Subst(UserID:1:UserIDLen) = 'XXXXXXJPL'
                 Or %Subst(UserID:1:1) = 'Q';
                   AppInfoDS.NameFmt = 0;
                   AppInfoDS.CWD = 0;
                   AppInfoDS.FileListFmt = 0;
                   AppInfoDS.ConnSecurity = 0;
                   AppInfoDS.DataEncrypt = 0;
                   AppInfoDS.ConnCipher = 0;
                   AppInfoDS.DataCipher = 0;
                   CurLib = 'SENDLIB';
               Else;
                   AppInfoDS.NameFmt = 1;
                   AppInfoDS.CWD = 1;
                   AppInfoDS.FileListFmt = 1;
                   AppInfoDS.ConnSecurity = 0;
                   AppInfoDS.DataEncrypt = 0;
                   AppInfoDS.ConnCipher = 0;
                   AppInfoDS.DataCipher = 0;
                   HomeDir = '/home/' + %Subst(UserID:1:UserIDLen);
                   HomeDirLen = %Len(%Trim(HomeDir));
               EndIf;
           EndSl;
            %Subst(AppInfo:1:AppInfoLen) = AppInfoDS;
           *InLR = *On;
           Return;
  |  | 
				
					|  |