OS4X Core event scripts

From OS4X
Jump to navigation Jump to search

The event interface gives you the possibility to start processes during an OFTP connection like managing an EDM system, sending confirmation emails, deleting files, etc. The events have all information available as parameters at this point of time the event will be started.

The events are defined via web interface. This configuration is stored in the database, which will be read by every binary on startup and on every configuration reload. If an events is unavailable or not runnable (i.e. execute permissions are missing, user has no read permissions etc.), the event will not be started.

All events, except of the start receive event, run in the background and don't influence active OS4X transfers during their execution.

The following virtual filenames are reserved and therefor no "normal" script will be run on these files (send, receive, xERP & block):

  • ODETTE_CERTIFICATE_REQUEST: OFTP2 automatic certificate exchange request
  • ODETTE_CERTIFICATE_DELIVER: OFTP2 automatic certificate exchange delivery
  • ODETTE_CRL_REQUEST: OFTP2 automatic certificate revocation list request
  • ODETTE_CRL_DELIVER: OFTP2 automatic certificate revocation list delivery
  • OS4X_UPDATE: OS4X update package

start session script

Will be started at the beginning of an OFTP session after handshaking SSIDs and passwords.

Parameters:

  • 1. partner shortname
  • 2. partner index value

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 3. freely configurable partner event parameter

end session script

Will be started at the end of an OFTP session after receiving an ESID („end session ID“).

Parameters:

  • 1. partner shortname
  • 2. partner index value

Starting with OS4X release 2016-11-28, the following parameter exists:

  • 3. value of ESIDREAS (reason code)

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 4. freely configurable partner event parameter

start receive script

Will be started at the beginning of an OFTP file transfer from partner to local site after handshaking SFIDs. This script is the only event script which will be started INSIDE the OFTP protocol state machine in order to let a file be received or not! For this feature, the returncode of the event script is used to decline the receipt of a file and to create an SFNA error message (if returncode of script is not equal to zero) or to accept the file, producing an SFPA message.

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. absolute filename of received file AFTER successful transfer
  • 4. absolute filename of receiving file DURING transfer (temporary)
  • 5. filesize in kilobytes (kB) given by partner (may not be true size)
  • 6. partner index value
  • 7. SFID destination
  • 8. SFID originator
  • 9. [optional: OFTP2 file description]
  • 10. file datestamp
  • 11. file timestamp
  • 12. file format, formatted as OFTP attribute:
    • 'F': Fixed format binary file
    • 'V': Variable format binary file
    • 'U': Unstructured binary file
    • 'T': Text
  • 13. maximum record size ("0" if transfered in binary or text mode)

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 14. freely configurable partner event parameter

Possible return values are interpreted as shown below:

OFTP 1.x session:

  • 1: Invalid filename.
  • 2: Invalid destination.
  • 3: Invalid origin.
  • 4: Storage record format not supported.
  • 5: Maximum record length not supported.
  • 6: File size is too big.
  • 10: Invalid record count.
  • 11: Invalid byte count.
  • 12: Access method failure.
  • 13: Duplicate file.
  • 99: Unspecified reason.

In addition, in OFTP2 session:

  • 14: File direction refused.
  • 15: Cipher suite not supported.
  • 16: Encrypted file not allowed.
  • 17: Unencrypted file not allowed.
  • 18: Compression not allowed.
  • 19: Signed file not allowed.
  • 20: Unsigned file not allowed.

This feature was first introduced in build 2007-10-16 of OS4X.

end receive script

Will be started after an OFTP file transfer from partner to local site after handshaking EFIDs („end file ID“)

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. absolute filename of received file AFTER successful transfer
  • 4. error indicator: 0 means no error, any other displays an error
  • 5. partner index
  • 6. SFID destination
  • 7. SFID originator
  • 8. [optional: OFTP2 file description]
  • 9. data throughput in kB/sec
  • 10. file datestamp
  • 11. file timestamp
  • 12. used cipher suite in OFTP2 session ("0" for OFTP1.x sessions)
  • 13. signed EERP request in OFTP2 session ("0" for OFTP1.x sessions)
  • 14. file format, formatted as OFTP attribute:
    • 'F': Fixed format binary file
    • 'V': Variable format binary file
    • 'U': Unstructured binary file
    • 'T': Text
  • 15. maximum record size ("0" if transfered in binary or text mode)

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 16. freely configurable partner event parameter

start send script

Will be started at the beginning of an OFTP file transfer from local site to partner after handshaking SFIDs.

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. real filename with absolute path
  • 4. send queue entry comment
  • 5. partner index
  • 6. referenced job ID
  • 7. referenced file ID

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 8. freely configurable partner event parameter

end send script

Will be started at the end of an OFTP file transfer from local site to partner after handshaking SFIDs.

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. real filename with absolute path
  • 4. send queue entry comment
  • 5. error indicator: 0 means no error, any other displays an error
  • 6. partner index
  • 7. data throughput in kB/sec
  • 8. referenced job ID
  • 9. referenced file ID
  • 10. file datestamp
  • 11. file timestamp

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 12. freely configurable partner event parameter

xERP script

Will be started whenever an EERP is receiver from a partner. Useful for later-on system-internal cleanup processes. Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. real filename
  • 4. comment
  • 5. error flag: 0=no error, otherwise NERP error code
  • 6. partner index
  • 7. file datestamp
  • 8. file timestamp
  • 9. originator
  • 10. destination
  • 11. referenced job ID
  • 12. referenced file ID

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 13. freely configurable partner event parameter

blocked script

Will be started if a send queue entry will be blocked. If more than one entry will be blocked (i.e. if a connection problem occurs), the script will be executed for every send queue entry seperately.

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. real filename with absolute path
  • 4. send queue entry comment
  • 5. partner index
  • 6. referenced job ID
  • 7. referenced file ID

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 8. freely configurable partner event parameter

Send queue entry send try increase event

Every time a send queue entry increases the amount of send tries, this event will be executed.

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. real filename with absolute path
  • 4. send queue entry comment
  • 5. partner index
  • 6. referenced job ID
  • 7. referenced file ID
  • 8. freely configurable partner event parameter
  • 9. actual send try
  • 10. maximum amount of send tries configured

debug daemon log script

Every time a debug log will be dumped, this script will be started.

Parameters:

  • 1: absolute path to the logfile

license high water mark script

Each time the license is checked and a configurable high water mark has been exceeded, this script will be started. This script could be used i.e. for sending an administrator an email with license information or for changing the status of the OFTP system in a system management tool.

Parameters:

  • 1: configured high water mark in percent
  • 2: actual amount of configured partners
  • 3: licensed amount of configured partners

automatic certificate import script

If an automatic certificate exchange import succeeds, this script will be called.

Parameters:

  • 1. partner shortname
  • 2. partner index value

OS4X automatic software update event

If enabled in the configuration via Enable automatic update mechanism & OS4X automatic software update event, this script or program is executed each time a file with the virtual filename "OS4X_UPDATE" is successfully received.

Parameters:

  • -f <absolute filename of received file>

OS4X automatic update post event

If enabled in the configuration via Enable automatic update mechanism & OS4X automatic software update event, this script or program is executed each time after the execution of the update process. The parameters of this post event are:

  • 1. absolute filename of the update file, passed as first parameter to the OS4X update program os4xupdate
  • 2. numeric return code of the update process (0=no error)

enqueue post script

If enabled in the configuration via enqueue post-script, this script or program is executed each time a file is enqueued to the send queue. Due to the fact that handled files for OFTP2 transfers (signed, compressed and/or encrypted) get a new temporary file name, this event script will return this new name also.

Parameters:

  • 1. partner index value
  • 2. absolute filename (new temporary if OFTP2 handled file)
  • 3. virtual filename
  • 4. comment
  • 5. alternative SSID for originator
  • 6. alternative SSID for destination
  • 7. alternative SFID for originator
  • 8. alternative SFID for destination
  • 9. priority
  • 10. size of file
  • 11. original size of file
  • 12. alternative OFTP password for originator
  • 13. alternative OFTP password for destination
  • 14. OFTP release level (see Configuration: partner's OFTP version column for a list of release levels)
  • 15. OFTP2 SFIDSEC field
  • 16. OFTP2 cipher suite
  • 17. OFTP2 compression
  • 18. OS4X server ID
  • 19. send queue index
  • 20. Original filename (same as absolute filename if original file is untouched; changed against absolute filename if original file is touched by OFTP2 mechanisms)

Starting with OS4X release 2017-01-30, the following parameter exists:

  • 21. freely configurable partner event parameter

OS4X API proxy system log event script

If enabled in the configuration via OS4X API proxy system log event script, this script or program is executed each time a critical situation is being logged via OS4Xapi by the OS4X SmartProxy. The user context of this script is the webserver of the OS4Xapi.

Parameter:

  1. message

Event failure script

In any case a running event returns a returncode not equal zero ("0"), another script can be called to inform other externals about the situation. The "event failure" event script gets the following parameters:

  1. script type (see below)
  2. returncode given by the running event
  3. the command of the event (absolute path, as configured in the "Events" configuration)
  4. ... all parameters

Since all parameters are being appended to the end of this script (starting as parameter 4), their amount is dynamic and depends on the script type. The following script type number (parameter $1) represent the corresponding event:

  1. OS4X_SCRIPT_START_SESSION: start session
  2. OS4X_SCRIPT_END_SESSION: end session
  3. OS4X_SCRIPT_START_RECEIVE: start receive
  4. OS4X_SCRIPT_END_RECEIVE: end receive
  5. OS4X_SCRIPT_START_SEND: start send
  6. OS4X_SCRIPT_END_SEND: end send
  7. OS4X_SCRIPT_BLOCKED: blocked
  8. OS4X_SCRIPT_XERP: xERP
  9. OS4X_SCRIPT_DEBUGLOG: debug log dump
  10. OS4X_SCRIPT_LIC: license high watermark
  11. OS4X_SCRIPT_UPDATE: update
  12. OS4X_SCRIPT_AUTO_CERT_IMPORT: automatic certificate import
  13. OS4X_SCRIPT_ENQUEUE_POST: enqueue post
  14. OS4X_SCRIPT_ENTERPRISE_JOB_ABORTED: OS4X Enterprise aborted job

OS4X Enterprise job abort script

If OS4X Enterprise is enabled in the configuration ('Configuration' -> 'OS4X Enterprise' -> 'Is OS4X Enterprise installed'), this input field is active for configuration, otherwise it will not be displayed. This event will be executed synchronously every time an OS4X job gets into a final aborted state (send jobs: 4; receive jobs: 9). It has the following parameters:

  1. numeric job ID
  2. status ID (see above in order to distinguish incoming and outgoing job by its status value)
  3. absolute path to the job's actual XML file, containing all information i.e. sender, recipient, files, command etc.

Since the script will be executed synchronously, there is no need to clean up the temporary XML file: OS4X cleans it up automatically.

System log event

This event is being executed for every system log entry added (configurable: only non-OK values are fired).

Parameters:

  • 1. numeric error code with the following meaning:
    • 0: everything OK
    • -2: warning
    • anything else: error
  • 2. The complete error message.

This event is available since OS4X release 2017-01-30.

Send queue cleanup event

If the send queue daemon is configured to delete successfully sent send queue entries with a configured age, this event can be triggered in order to handle the information that the entry is removed. This event is being executed synchronously and not in parallel, so keep in mind to make this event performant.

Parameters:

  • 1. partner shortname
  • 2. virtual filename
  • 3. real filename with absolute path
  • 4. send queue entry comment
  • 5. partner index
  • 6. referenced job ID
  • 7. referenced file ID
  • 8. freely configurable partner event parameter

OS4X Enterprise user created event

If via administrative web interface a new user is created, this event will be fired:

  • 1. Person index: primary key of the recipient in the database table "<tableprefix>recipients"
  • 2. Surname of the new recipient
  • 3. Name of the new recipient
  • 4. Email address of the new recipient
  • 5. Username
  • 6. Auth.type (0: PAM, 1: internal, 2: SSO)
  • 7. User type ("internal" or "portal")
  • 8. Password
  • 9. Portal index: -1 or primary key of the portal used in the database table "<tableprefix>portals"