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;
-
|
|
|