113 lines
7.2 KiB
HTML
113 lines
7.2 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html lang="en-us" xml:lang="en-us">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="security" content="public" />
|
|
<meta name="Robots" content="index,follow" />
|
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
|
<meta name="DC.Type" content="reference" />
|
|
<meta name="DC.Title" content="Example: FTP server logon exit program in CL code" />
|
|
<meta name="abstract" content="This is an example of a simple File Transfer Protocol (FTP) Server Logon exit program. It is written in iSeries Command Language (CL)." />
|
|
<meta name="description" content="This is an example of a simple File Transfer Protocol (FTP) Server Logon exit program. It is written in iSeries Command Language (CL)." />
|
|
<meta name="DC.Relation" scheme="URI" content="rzaiqlepi.htm" />
|
|
<meta name="copyright" content="(C) Copyright IBM Corporation 2004, 2006" />
|
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004, 2006" />
|
|
<meta name="DC.Format" content="XHTML" />
|
|
<meta name="DC.Identifier" content="rzaiqexamplogoncl" />
|
|
<meta name="DC.Language" content="en-us" />
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
|
<title>Example: FTP server logon exit program in CL code</title>
|
|
</head>
|
|
<body id="rzaiqexamplogoncl"><a name="rzaiqexamplogoncl"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">Example: FTP server logon exit program in CL code</h1>
|
|
<div><p>This is an example of a simple File Transfer Protocol (FTP) Server
|
|
Logon exit program. It is written in iSeries™ Command Language (CL).</p>
|
|
<div class="section"><p>This is an example of a simple FTP Server Logon exit program.
|
|
It is written in iSeries Command
|
|
Language (CL). This code is not complete, but provides a starting point to
|
|
help you create your own program.</p>
|
|
<div class="note"><span class="notetitle">Note:</span> By using the code examples, you
|
|
agree to the terms of the <a href="codedisclaimer.htm">Code license and disclaimer information</a>.</div>
|
|
<p>(Pre
|
|
formatted text in the following example will flow outside the frame.)</p>
|
|
<pre class="screen">/******************************************************************************/
|
|
/* */
|
|
/* Sample FTP server logon exit program. */
|
|
/* Note: This program is a sample only and has not undergone any formal */
|
|
/* review or testing. */
|
|
/* */
|
|
/* Additional notes: */
|
|
/* 1. When the FTP server logon exit is called, the FTP server job is */
|
|
/* running under the QTCP user profile. */
|
|
/* 2. For the ANONYMOUS case, users can add logging capability (for */
|
|
/* example, write the E-mail address entered for the password and */
|
|
/* the client IP address to a log file). */
|
|
/* 3. IBM strongly recommends that you create the exit program in a library */
|
|
/* with *PUBLIC authority set to *EXCLUDE, and give the exit program */
|
|
/* itself a *PUBLIC authority of *EXCLUDE. The FTP server adopts */
|
|
/* authority when it is necessary to resolve and call the exit program. */
|
|
/* */
|
|
/******************************************************************************/
|
|
|
|
TSTLOGCL: PGM PARM(&APPIDIN &USRIN &USRLENIN &AUTIN &AUTLENIN +
|
|
&IPADDRIN &IPLENIN &RETCDOUT &USRPRFOUT &PASSWDOUT +
|
|
&CURLIBOUT)
|
|
|
|
/* Declare input parameters */
|
|
DCL VAR(&APPIDIN) TYPE(*CHAR) LEN(4) /* Application identifier */
|
|
DCL VAR(&USRIN) TYPE(*CHAR) LEN(999)/* User ID */
|
|
DCL VAR(&USRLENIN) TYPE(*CHAR) LEN(4) /* Length of user ID */
|
|
DCL VAR(&AUTIN) TYPE(*CHAR) LEN(999)/* Authentication string */
|
|
DCL VAR(&AUTLENIN) TYPE(*CHAR) LEN(4) /* Length of auth. string */
|
|
DCL VAR(&IPADDRIN) TYPE(*CHAR) LEN(15) /* Client IP address */
|
|
DCL VAR(&IPLENIN) TYPE(*CHAR) LEN(4) /* IP address length */
|
|
DCL VAR(&RETCDOUT) TYPE(*CHAR) LEN(4) /* return code (out) */
|
|
DCL VAR(&USRPRFOUT) TYPE(*CHAR) LEN(10) /* user profile (out) */
|
|
DCL VAR(&PASSWDOUT) TYPE(*CHAR) LEN(10) /* password (out) */
|
|
DCL VAR(&CURLIBOUT) TYPE(*CHAR) LEN(10) /* current library (out) */
|
|
|
|
/* Declare local copies of parameters (in format usable by CL) */
|
|
DCL VAR(&APPID) TYPE(*DEC) LEN(1 0)
|
|
DCL VAR(&USRLEN) TYPE(*DEC) LEN(5 0)
|
|
DCL VAR(&AUTLEN) TYPE(*DEC) LEN(5 0)
|
|
DCL VAR(&IPLEN) TYPE(*DEC) LEN(5 0)
|
|
|
|
/* Assign input parameters to local copies */
|
|
CHGVAR VAR(&APPID) VALUE(%BINARY(&APPIDIN))
|
|
CHGVAR VAR(&USRLEN) VALUE(%BINARY(&USRLENIN))
|
|
CHGVAR VAR(&AUTLEN) VALUE(%BINARY(&AUTLENIN))
|
|
CHGVAR VAR(&IPLEN) VALUE(%BINARY(&IPLENIN))
|
|
|
|
/* Check for ANONYMOUS user. Allow for ANONYMOUSA, etc. as "regular" */
|
|
/* user profile. */
|
|
IF COND(&USRLEN = 9) THEN(DO)
|
|
IF COND(%SST(&USRIN 1 9) = 'ANONYMOUS')
|
|
THEN(DO)
|
|
/* For anonymous user: want to force user profile ANONYMOUS current library to PUBLIC. */
|
|
CHGVAR VAR(%BINARY(&RETCDOUT)) VALUE(6)
|
|
CHGVAR VAR(&USRPRFOUT) VALUE('ANONYMOUS ')
|
|
CHGVAR VAR(&CURLIBOUT) VALUE('PUBLIC ')
|
|
ENDDO
|
|
/* Any other user: proceed with normal logon processing. */
|
|
ELSE CMD(CHGVAR VAR(%BINARY(&RETCDOUT)) VALUE(1))
|
|
ENDDO
|
|
ELSE CMD(CHGVAR VAR(%BINARY(&RETCDOUT)) VALUE(1))
|
|
|
|
END: ENDPGM</pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaiqlepi.htm" title="You can control the authentication of users to a TCP/IP application server with the TCP/IP Application Server Logon exit point.">Server logon exit point</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |