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:
  1.      hoption(*nodebugio:*srcstmt) dftactgrp(*no) actgrp(*caller)
  2.  
  3.      dFTPLogIn         pr
  4.      d ApplicationID                 10i 0
  5.      d UserID                       999a    Options(*VarSize)
  6.      d UserIDLen                     10i 0
  7.      d Auth                         999a    Options(*VarSize)
  8.      d AuthLen                       10i 0
  9.      d IPAddress                    999a    Options(*VarSize)
  10.      d IPAddressLen                  10i 0
  11.      d AllowLogin                    10i 0
  12.      d UserProfile                   10a
  13.      d Password                      10a
  14.      d CurLib                        10a
  15.      d HomeDir                      999a    Options(*VarSize)
  16.      d HomeDirLen                    10i 0
  17.      d AppInfo                      999a    Options(*VarSize)
  18.      d AppInfoLen                    10i 0
  19.  
  20.      dFTPLogIn         pi
  21.      d ApplicationID                 10i 0
  22.      d UserID                       999a    Options(*VarSize)
  23.      d UserIDLen                     10i 0
  24.      d Auth                         999a    Options(*VarSize)
  25.      d AuthLen                       10i 0
  26.      d IPAddress                    999a    Options(*VarSize)
  27.      d IPAddressLen                  10i 0
  28.      d AllowLogin                    10i 0
  29.      d UserProfile                   10a
  30.      d Password                      10a
  31.      d CurLib                        10a
  32.      d HomeDir                      999a    Options(*VarSize)
  33.      d HomeDirLen                    10i 0
  34.      d AppInfo                      999a    Options(*VarSize)
  35.      d AppInfoLen                    10i 0
  36.  
  37.      dAppInfoDS        ds                   Qualified
  38.      d NameFmt                       10i 0
  39.      d CWD                           10i 0
  40.      d FileListFmt                   10i 0
  41.      d ConnSecurity                  10i 0
  42.      d DataEncrypt                   10i 0
  43.      d ConnCipher                     5i 0
  44.      d DataCipher                     5i 0
  45.  
  46.      dNeverAllow       c                   Const(-1)
  47.      dDontAllow        c                   Const(0)
  48.      dAllow            c                   Const(1)
  49.      dAlwaysAllow      c                   Const(2)
  50.  
  51.       /free
  52.  
  53.            AppInfoLen = %Size(AppInfoDS);
  54.  
  55.            Select;
  56.  
  57.              When %Subst(UserID:1:UserIDLen) = 'ANONYMOUS';
  58.                AllowLogin = DontAllow;
  59.  
  60.              Other;
  61.                AllowLogin = Allow;
  62.                If %Subst(UserID:1:UserIDLen) = 'XXXXXXTWH'
  63.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXJDS'
  64.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXDBJ'
  65.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXBOB'
  66.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXREM'
  67.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXJEN'
  68.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXCAT'
  69.                  Or %Subst(UserID:1:UserIDLen) = 'XXXXXXJPL'
  70.                  Or %Subst(UserID:1:1) = 'Q';
  71.                    AppInfoDS.NameFmt = 0;
  72.                    AppInfoDS.CWD = 0;
  73.                    AppInfoDS.FileListFmt = 0;
  74.                    AppInfoDS.ConnSecurity = 0;
  75.                    AppInfoDS.DataEncrypt = 0;
  76.                    AppInfoDS.ConnCipher = 0;
  77.                    AppInfoDS.DataCipher = 0;
  78.                    CurLib = 'SENDLIB';
  79.                Else;
  80.                    AppInfoDS.NameFmt = 1;
  81.                    AppInfoDS.CWD = 1;
  82.                    AppInfoDS.FileListFmt = 1;
  83.                    AppInfoDS.ConnSecurity = 0;
  84.                    AppInfoDS.DataEncrypt = 0;
  85.                    AppInfoDS.ConnCipher = 0;
  86.                    AppInfoDS.DataCipher = 0;
  87.                    HomeDir = '/home/' + %Subst(UserID:1:UserIDLen);
  88.                    HomeDirLen = %Len(%Trim(HomeDir));
  89.                EndIf;
  90.            EndSl;
  91.  
  92.            %Subst(AppInfo:1:AppInfoLen) = AppInfoDS;
  93.            *InLR = *On;
  94.            Return;
  95.  
© 2004-2019 by midrange.com generated in 0.007s valid xhtml & css