CGI Services Architecture
Recent Pages

Environment Variables
Template Processing
RDF Responses
RDF Messaging
URL Rewriting
File Uploads
Sample Authenticated Se ...
HTTP Cookies
Client Authentication
GET and POST Variables

Links

www.strozzi.it on Twitter
CSA Home
Table of Contents

Advertising

Session

User ID
Password



Campaigns

stopsoftwarepatents.eu petition banner

Environment Variables

CSA sets and uses a number of environment variables for its own purposes. All of these variables are available also to the application program, but not all of them may be freely modified by the latter, or things may break. In the explanations below, each variable is optionally followed by a "(profile)" tag, indicating whether that variable is meant to be set by the application profile $CSA_ROOT/csa.rc.

quote
The single-quote character, octal \047.
tab
The horizontal-tab character, octal \009.
soh
The rc list separator, octal \001.
nil
The empty rc value ''.
nl
The newline character, octal \010.
cr
The carriage-return character, octal \013.
star
The '*' character, sometimes useful for pattern matching with rc(1).
CSA_ACCOUNT
Current CSA UNIX user name. Default: the value returned by whoami(1).
CSA_AFTERCOMMIT
Extra actions to be performed after csaCommit has performed a successful commit. It MUST be a valid rc program fragment, properly escaped to make it eval-safe. It is up to the application program to make sure that special rc characters have been properly escaped in the fragment. The important difference between commands listed in CSA_ONCOMMIT (see further down) and those listed in CSA_AFTERCOMMIT is that the formers are executed inside the commit sub-process, while the latters are run inside the main CSA flow so they can be used to change variable values in a way that is visible to the main program. Default: unset.
CSA_ALLOW_USER
The UNIX account that the CSA application MUST run as. If the application finds itself to be running under a different account then it MUST "commit suicide", i.e. stop immediately with an error message. CGI programs are often executed by setuid wrappers and this security measure is meant to avod that, if the wrapper crashes, the application program runs as root, with unpredictable and usually dangerous effects on the integrity and security of the system. Default: nobody (profile).
CSA_ARGS_FILE
If CSA_DUMP is set to 1 (see below) this variable is set to the path of a file containing a copy of the command-line arguments received by the CSA CGI front-end. Such file will be called /tmp/csa.args.XXXXXX (see mktemp(1) for the meaning of XXXXXX). Default: dynamically set.
CSA_AUDIT
If set to 1, then any changes to files done by the csaCommit function will be subject to rcs(1) versioning. Do not set this variable if change-management is already done with something different/better, like CVS for example. Default: unset (profile).
CSA_AUTH_DOM
The domain attribute of the User Session Cookie. Default: unset (profile).
CSA_AUTH_PATH
The path attribute of the User Session Cookie. Default: unset (profile).
CSA_AUTH_PW
Authenticated session password. Note that this variable, although loaded in the program environment as usual, will not appear on output pages, not even on those that are meant to show the environment, for obvious security reasons. Default: unset.
CSA_AUTH_REALM
The realm for CSA-managed HTTP Basic Authentication (see also CSA_AUTH_TYPE). Default: $CSA_ID (profile).
CSA_AUTH_SENT
Set by the csaAuth.send() function to prevent sending authentication data to the client multiple times, which would be harmless but also useless.
CSA_AUTH_SSL
The secure attribute of the User Session Cookie. Default: unset (profile).
CSA_AUTH_TYPE
the type of Web authentication that is in effect. Valid values are:
basic
CSA-managed Basic HTTP authentication
custom
Custom authentication scheme, usually based on an HTTP session cookie or other session-level variable.
server
Server-managed authentication, normally of the basic or digest type.
Default: basic.
CSA_AUTH_USER
The authenticated user-id. Default: unset.
CSA_AWK_INCLUDE
directory path where local AWK function overrides can be found. Default: unset.
CSA_AWK_NEWCACHE
If set to 1, the AWK function cache is rebuilt. Default: unset.
CSA_BASELIBS
extra rc(1) files to be loaded by CSA batch programs. Default: unset (profile).
CSA_BEEN_HERE
This is a general purpose "safety-valve" that can be used to prevent loops inside the CSA code. A CSA library function that may not be called repeatedly will have to list its name in this variable and perform the relevant test any time it is called. Default: unset.
CSA_BUGS_TO
If set to a sintactically valid RFC822 e-mail address, a bug report will be sent to that address in the event of certain CSA internal errors. Default: unset (profile).
CSA_CGI_ISINDEX
Original value of the command-line argument, if any, passed by the CGI interface to the application program for ISINDEX queries.
CSA_CGILIBS
extra rc(1) files to be loaded by CSA CGI programs. Default: unset (profile).
CSA_CGI_STDIN
Where to read the original CGI standard input stream from.
CSA_CGI_STEM
Initial part of the CSA CGI script absolute URL from the point of view of the local Web server, but without any trailing CSA personality identifiers, such as 'I', 'P', etc. Default: /cgi-bin/CSA (global profile).
CSA_CDATA
Path to a file containing CDATA stuff, i.e. data to be included verbatim in a Web response template. Default: unset.
CSA_CMD_CI
RCS ci(1) command and arguments. Default: ci -q -t/dev/null (profile).
CSA_CMD_CRYPT
Name and arguments of the local encryption utility. Default: sed 's/./X/g' (profile).
CSA_CMD_CURL
Name and arguments of a local HTTP client, such as curl(1), wget(1), and the like. Default: curl -0 -s (profile).
CSA_CMD_DOTLOCK
Name and arguments of the local dot-lock creation utility. By default, CSA uses Alberto Bertogli's Open Lock Daemon, old(1), to manage locks. However, Web applications living on shared hosting services may not be allowed to execute long-running processes, i.e. daemons. If this variable is non empty it will cause the relevant CSA library functions to apply a more traditional (but also more problematic) dot-locking scheme. A typical setting for CSA_CMD_DOTLOCK is
lockfile -r3 -s8. Default: unset (global profile).
CSA_CMD_MD
Name and arguments of the local message-digest computation utility. Default: md5sum (profile).
CSA_CMD_PS
Name and arguments of the local command that can be used to list the processes having a given EUID. Default: pgrep -u $CSA_ALLOW_USER. On systems where pgrep(1) is not available, the much slower ps(1) can be used, with suitable options, like ps h -u $CSA_ALLOW_USER (profile).
CSA_CMD_SENDMAIL
Name and arguments of the local MTA command.
Default: /usr/lib/sendmail -oi -t (profile).
CSA_COMMIT
Contains the list of files to be acted upon by the csaCommit library function. See csaMainlib.rc. Default: dynamically set.
CSA_CONCEAL
List of variables that are not to be shown in output templates and similar places, for security reasons. Default: dinamically set.
CSA_CONFIRMED
If equal to 1, y, yes or true (all case-insensitive) it tells that a Web action requiring confirmation was confirmed by the client. Unless this variable is assigned the special value noskip by the client, it is automatically set to 1 in case the amount of data sent by the client is greater then 200KB (but still smaller than CSA_RPC_MAXSIZE), to skip the confirmation step and prevent large chunks of data, which may occur for instance with file uploads, from travelling back an forth between the server and the client multiple times. Default: unset.
CSA_DEBUG
If set to 1, then the $CSA_ROOT/var/debug.log file will be created, containing the CSA function-call trace and a lot of other useful debugging information. Writing such file is quite expensive in terms of extra system resources, so it should be avoided when not strictly necessary, by setting CSA_DEBUG=0. Default: (profile).
CSA_DEBUG_STEP
The length of this variable is increased by one every time the csaDebug function is called, and the value of such length is included in STDERR messages produced by said function as a debugging aid. Default: dynamically set.
CSA_DOCROOT
It is the same as either $CSA_DOCROOT1 or $CSA_DOCROOT2 (see below), depending on the execution context. Default: dinamically set.
CSA_DOCROOT1
Non-SSL document root directory of either the Web Server or the Virtual Host. Default: $DOCUMENT_ROOT (profile).
CSA_DOCROOT2
Same as CSA_DOCROOT1, but for SSL Web connections. Default: $CSA_DOCROOT1 (profile).
CSA_DUMP
If set to 1, then the CSA CGI front-end will write a lot of debugging information into a number of temporary workfilesa. See CSA_DUMP_FILE, CSA_ENV_FILE and CSA_ARGS_FILE for more information. Default: (CSA CGI front-end).
CSA_DUMP_FILE
If CSA_DUMP is set to 1 (see above) this variable is set to the path of the file where the CSA CGI front-end program STDERR will be stored. Such file will be called /tmp/csa.stderr.XXXXXX (see mktemp(1) for the meaning of XXXXXX). Default: dynamically set.
CSA_ENABLE_CPI
Allow CSA Processing Instructions (CPI) in [X]HTML response templates. Default: false (profile).
CSA_ENV_FILE
If CSA_DUMP is set to 1 (see above) this variable is set to the path of a file containing a copy of the initial CSA CGI front-end program environment. Such file will be called /tmp/csa.env.XXXXXX (see mktemp(1) for the meaning of XXXXXX). Default: dynamically set.
CSA_EXIT_SCRIPT
Used to pass csaExit.fault and csaExit.ok (as defined by csaCgilib.rc) an application-level script file containing custom code to be run prior to exiting. Default: unset.
CSA_FORM_RWADIV
RDF block inclusion stub for HTML forms. Default: $CSA_INSTALL/lib/rwadiv.txt (profile).
CSA_FQDN
Fully-Qualified Domain Name of the CSA host. Default: as reported by
hostname --fqdn (profile).
CSA_GUID
General purpose Globally-Unique ID in TagURI format, for CSA programs that need one. Default: dinamicaly computed.
CSA_HTTP_HEADERS
HTTP response headers are stored in this variable when they are set with csaHttp.header --defer. Default: dynamically set.
CSA_HTTP_LENGTH
Value of the Content-Length: HTTP header. Default: dynamically set.
CSA_HTTP_STATUS
HTTP status message. Default: dynamically set.
CSA_HTTP_URL
Value of the Location: HTTP header. Default: CSA_URL2 (literal, not var!).
CSA_HOST
Host-name of the Web Server running the current CSA application instance. Default: the value returned by the hostname command.
CSA_ID
CSA application name. It MUST comprise only characters in the set [-_A-Za-z0-9], such as foo, test, example, ABC, some-name, etc. Default: unset (profile).
CSA_INPUT_FILE
If CSA_DUMP is set to 1 (see above) this variable is set to the path of a file containing a copy of the CSA CGI front-end program STDIN stream. Such file will be called /tmp/csa.stdin.XXXXXX (see mktemp(1) for the meaning of XXXXXX). Default: dynamically set.
CSA_INSTALL
CSA installation directory. Default: /usr/local/csa (profile).
CSA_ISINDEX
Contents of the QUERY_STRING variable of an ISINDEX HTTP request. Given the current CSA CGI calling conventions, pure ISINDEX queries may no longer occur, as the "?" URL argument is already used to identify the target CSA program (i.e. ?0=class.method&...). Default: unset.
CSA_LANG
Local language code for messages and Web pages, according to the usual classification ( en, en_US, it, en_UK, es, etc.). The selected language MUST correspond to message and template directories that actually exist on the server. Currently, CSA provides messages only in the it and en_US versions. Default: $CSA_LANG_DEFAULT.
CSA_LANG_DEFAULT
Default language code. Default: en_US (profile).
CSA_LIBS
List of CSA rc(1) library functions already loaded by csaLoadLib at any given time. By testing the content of this variable, other CSA scripts and functions will be able to assess whether what they need is already available or whether they need to call csaLoadLib to get it. This is meant to save the subshell associated with using the `{whatis ...} construct of rc(1). Default: dynamically set.
CSA_LOCK_REALM
Must be set to a string which needs to be shared by all hosts that need to access the same data over some kind of network share, like NFS etc. Default: csa@localhost (profile).
CSA_LOCK_VERBOSE
If set to 1 all locking operations are reported verbosely to STDERR. This can be especially useful to detect lock timeouts due to deadlock conditions. Default: unset (profile).
CSA_LOCKS
List of lock-files (semaphores) created so far by the CSA program through the csaLock function. Default: unset.
CSA_LOGDIR
Where to store CSA log files. Default $CSA_ROOT/var/ (profile).
CSA_LOGLVL
The logfile verbosity. Can be INFO, WARN or ERR, and each value can be abbreviated to its first letter (i.e. I, W, E, case-insensitive). Default WARN (profile).
CSA_MAXPROC
Max. no. of active processes allowed on the system. If this limit is exceeded then no new requests will be denied with an error message. This check is normally not active. Default: unlimited (profile).
CSA_MSG_GRP
Current message group name. Default: CSA_SYSTEM.
CSA_MSG_NUM
Current message number. Default: 0000.
CSA_MSG_OK
Default positive completion message, with arguments. Default: 0028.
CSA_MSG_TEXT
Current message text. Default: unset.
CSA_NOAUDIT
Contains the list of files that are not to be versioned even if CSA_AUDIT is set. See csaMainlib.rc. Default: dynamically set.
CSA_OLDSES_PROP
rc(1) list of session-management related values. Default: dynamically set.
CSA_ONCOMMIT
Extra actions to be performed by csaCommit. It MUST be a valid rc program fragment, properly escaped to make it eval-safe. It is up to the application program to make sure that special rc characters have been properly escaped in the fragment. Default: unset.
CSA_PGM
List of program names that have been assigned throughout a CSA run. When the CSA CGI front-end is called as CSAI the underlying libraries will know that CSA is running in interactive mode, that is presumably by a human client. This can be used by well-written application programs to decide whether action confirmations need to be used or not. Otherwise, if confirmations are always requested, they are likely to get "in the way" of automatic interactions by a programmatic client. Default: dynamically set.
CSA_PID
NFS-safe unique identificator of the current CSA program. Default: $CSA_HOST.$pid.
CSA_PRG_URL
The URL, either absolute or relative, to redirect the client to when performing POST-Redirect-GET schemas. Default: /prg;$CSA_GUID (profile).
CSA_RANDOM
A pseudo-random integer value. It is currently only available when CSA is running as a CGI program, otherwise this value is unset. Default: dynamically set.
CSA_RDF_ARG
Remote Procedure Call arguments, in RDF format. Default: $TMPDIR/arg$pid.tmp.
CSA_RDF_ARG2
Used internally by CSA. Default: $CSA_RDF_ARG.
CSA_RDF_BODY
Remote Procedure Call response body, in RDF format. Default: dinamically set.
CSA_RDF_DOC
If this is set to 1, then the call arguments and the method-specific IDL documentation (if any) are included in the HTTP response body. Default: unset (profile).
CSA_RDF_MRW
Machine-readable Web ( Semantic Web) response body, in RDF format. Default: dinamically set.
CSA_RDF_ORB
Opaque Response Block, used to produce XML responses which do not fall within the definition of the Semantic Web, such as XML-RPC, SOAP, RSS 2.0, etc. It is the responsibility of CSA applications to write the desired data to this file. Default: /dev/null.
CSA_RDF_TYP
If set to (zero), then CSA will ignore RDF datatype directives received in the CGI request message and it will consider everything to be a string, consistently with the basic behaviour of the CGI API. The defaultt is to use data-types, as they provide for more power in the communicattion between the client and the server, and are especially useful when one piece of data can take several formats, for example when it can be either a string or aa base64-encoded binary object. Without data-typing the CSA has no easy way to understand how to consider that particular value. Default: 1 (profile).
CSA_REQUEST_URI
Concatenation of $PATH_INFO?$QUERY_STRING in HTTP requests, useful for debugging purposes. If either values are unavailable then the corresponding token is set to the word UNKNOWN. So, for instance, if neither values are known, CSA_REQUEST_URI will be set to /UNKNOWN?UNKNOWN. Default: dinamically set.
CSA_REQ_CHARSET
The character-set possibly specified in the XML prologue by an XML-RPC or SOAP client. Default: $CSA_CHARSET.
CSA_RESULT
Used by many CSA library functions to return the function result to the caller, mainly useful to save a `{} subprocess. Default: unset.
CSA_RID
Current request-ID. Default: $CSA_HOST^_$pid.
CSA_ROOT
CSA application installation directory. Default: / (profile).
CSA_RPC_AWK
Path to a temporary file containing the RPC dynamic AWK filter. Default: $TMPDIR/awk$pid.tmp.
CSA_RPC_CMD
Path to a temporary file containing the RPC request. Default: $TMPDIR/rpc$pid.tmp.
CSA_RPC_FLAG
This is set to either I, S, R, 2, P or null, depending on whether CSA is invoked by the client as either CSAI, CSAS, CSAR, CSA2, CSAP or CSA respectively. Default: internally set.
CSA_RPC_FMT
Preferred response format requested by the client. Currently only RDF and RSS (both case insensitive) are supported. Default: unset.
CSA_RPC_GUID
if this variable is present in an RPC request, and if it is set to a syntactically acceptable value, then it is passed to the CSA CGI program unchanged. Default: unset.
CSA_RPC_MODE
if this is set to main by the client then the session data will be updated with new values at the end of the current run, otherwise it will be left alone. Default: main.
CSA_RPCC_AWK
Data returned to a CSA client by a remote web service, in AWK format. Default: dynamically set.
CSA_RPCHREF
Useful for pointing at fragment identifiers inside response page templates. For instance <a href='$[CSA_RPCHREF]#1'>Some Link</a>. Default: $CSA_RPC_URL$PATH_INFO.
CSA_RPC_IDL
Path to the IDL (Interface Definition Language) file associated with the requested method, if any, in RDF format. Default: $CSA_ROOT/doc/ methodname.rdf.
CSA_RPC_IOLIB
Path to the RPC I/O library associated with the requested method, if any. Default: $CSA_INSTALL/lib/csa-rpciolib.awk.
CSA_RPC_MAXSIZE
Max. size in bytes of POST/PUT data. Default: 100 Kbytes (global profile).
CSA_RPC_MAXARG
Max. size of actual argument names+values in a POST request. Default: 10 Kbytes (global profile).
CSA_RPC_PUT
Path to a temporary file containing the entity body of a PUT request. Default: $TMPDIR/put$pid.tmp.
CSA_RPC_RESULT
Value to be returned to the client, in RDF format, as the result of an RPC request (used internally by CSA). Default: unset.
CSA_RPC_UPLOAD
List of temporary workfiles used by CSA to store files uploaded by the client. The list is used mostly to pass the _UPLOAD AWK array between csaCgi.awk and the application-layer AWK scripts (see CSA_RPC_IOLIB). Default: dynamically set.
CSA_RPC_URI
This is the same as either $CSA_RPC_URI1 or $CSA_RPC_URI2 (see below), depending on the execution context. Default: dinamically set.
CSA_RPC_URI1
Non-SSL absolute URL of the current CSA front-end. Default: $CSA_URL1$CSA_CGI_STEM$CSA_ID (profile).
CSA_RPC_URI2
Same as CSA_RPC_URI1, but for SSL Web connections. Default: $CSA_URL2$CSA_CGI_STEM$CSA_ID. (profile).
CSA_RPC_URL
This is the same as either $CSA_RPC_URL1 or $CSA_RPC_URL2 (see below), depending on the execution context. This variable is now deprecated in favour of $CSA_RPC_URI. Default: dinamically set.
CSA_RPC_URL1
Non-SSL absolute URL of the current CSA front-end. This variable is now deprecated in favour of $CSA_RPC_URI1.Default: $CSA_URL1$CSA_CGI_STEM (profile).
CSA_RPC_URL2
Same as CSA_RPC_URL1, but for SSL Web connections. This variable is now deprecated in favour of $CSA_RPC_URI2. Default: $CSA_URL2$CSA_CGI_STEM (profile).
CSA_RPC_WWW
Path to a temporary file containing the CSA program call (GET/POST) variables, in rc syntax. Default: dynamically set.
CSA_RPC2_ERR
Fault code for XML-RPC responses. Default: -32400 for XML-RPC and Server for SOAP.
CSA_RPC2_OK
Positive completion code for XML-RPC and SOAP responses. Default: <boolean>true</boolean> for both XML-RPC and SOAP.
CSA_RWA
This RPC variable, if present, is expected to contain the XML request body of CSA RwA (RDF with Attachments) payload. Default: unset.
CSA_SESSION
Generic HTTP session variable that a CSA application can use to store pieces of data that are need to logically link different client requests together. Like with any mechanisms that require cooperation on the part of the client, CSA_SESSION is not guaranteed to work so the application should not rely on its existence/validity and the application itself should always apply a sensible default behaviour if CSA_SESSION is unusable. The content of CSA_SESSION is made available to the application program regardless of whether the latter calls the csaGetArgs function or not. Individual information tokens are stored in CSA_SESSION in the usual rc(1) list format and they may not contain the ``pipe'' symbol, i.e. a vertical bar ' |'. Default: unset.
CSA_SESSION_NEXT
Used internally by CSA to handle CSA_SESSION. See the latter for more info. Default: unset.
CSA_SSL_MODE
Tells whether the application requires SSL. In the normal case a CSA web service can be invoked by clients either over HTTP or HTTPS, with only selected security-sensitive functions optionally requiring SSL (i.e. sending login credentials, etc.). By setting CSA_SSL_MODE=strict the application can refuse to serve any data if it detects that a non-SSL communication channel is being used between the server and the client. Default: relaxed (profile).
CSA_STATUS
Generic CSA error flag, used by some of the library functions. Default: .
CSA_STDERR
Where to send the standard error stream. Default: /dev/stderr (profile).
CSA_STDOUT
Where to send the standard output stream. Default: /dev/stdout (profile).
CSA_SYSOUT
Where the csaSystem function stores the called program STDOUT. Default: dinamically set.
CSA_SYSERR
Where the csaSystem function stores the called program STDERR. Default: dinamically set.
CSA_SYSLOG
syslog facility name where to log to, instead of using a local file. Default: unset (profile).
CSA_TESTMODE
Generic flag used to tell programs that we are running in test mode. Whether to test this flag is up to the application programs. Default: (profile).
CSA_TPL_ALLOW
AWK pattern specifying allowed tag names in templates. The filter does not apply to file tags. If any template tags match that pattern, their values will be forced to the literal string <!-- removed --> on output. Default: ^CSA_ (profile).
CSA_TPL_DENY
AWK pattern specyfing environment variables which values MUST NOT appare on output templates. If any environment variables match that pattern, their values will be forced to the literal string <!-- removed --> on output. Default: (^(fn_|HTTP_COOKIE|CSA_AUTH_PW|csa0)|(CRYPTKEY|SALT)$) (profile).
CSA_TPL_EVAL
List of names to be eval'ed by the csaTemplate() library function. Default: unset.
CSA_TPLEXT
File-name extension of template files. Default: html (profile).
CSA_TPLMAX
Max. recursion depth for includes. Default: 10 (profile).
CSA_TPLRDF
Templates may either contain an embedded RDF block or they can include it from an external file. The RDF file is expected to have the same full-path name as the associated template file, with .rdf appended to it.
CSA_TPL_ROOT
Directory where csaTemplate will look for templates. Default: CSA_ROOT/lib (profile).
CSA_TPL_SAFEPATH
list of filesystem paths that can be considered safe with respect to template tags of the form $[/path/to/file]. If such inclusion tags reference paths not listed in CSA_TPL_SAFEPATH the inclusion is not performed. For backward compatibility, by default CSA_TPL_SAFEPATH is empty and any path can be used. Default: unset (profile)
CSA_TPL_TMP
Path to a temporary workfile to be used by application-level procedures invoked with $[program|] template tags. Default: dynamically set.
CSA_TPLWB
Write-back buffer for template post-procesing (used internally by CSA). Default: unset.
CSA_URL
Context-dependent base URL of the current CSA server. It is the same as either $CSA_URL1 or $CSA_URL2 (see below), depending on the execution context. Default: dinamically set.
CSA_URL1
Non-SSL base URL of the current CSA server. Default: http://localhost (profile).
CSA_URL2
Same as CSA_URL1, but for SSL Web connections. Default: $CSA_URL1 (profile).
CSA_USER_ID
Web User ID, for authenticated sessions. Default: unset.
CSA_VERSION
Current CSA version. Default: fixed.
CSA_WBMSG
Write-back message. This is a variable through which a sub-program, i.e. a called process, can request the parent rc program to print a CSA message through csaPrintMsg. This capability requires that the caller capture the called program output into a temporary file, which is then sourced with the " ." shell operator. After sourcing the generated script file, the caller will then test the content of said variable and take the proper actions. Building a source-safe script is the responsibility of the called program. Default: unset.
CSA_WORKFILES
List of the work-files created by the CSA application during the current run. Such files will be removed on exit by the csaExit function. Default: unset.
CSA_XMLNS_CC
Creative Commons (CC) Namespace URI. Default: http://web.resource.org/cc/.
CSA_XMLNS_CSA
CSA Namespace URI. Default: http://www.linux.it/~carlos/csa/.
CSA_XMLNS_DC
Dublin Core (DC) Namespace URI. Default:
http://purl.org/dc/elements/1.1/.
CSA_XMLNS_RDF
RDF Namespace URI. Default:
http://www.w3.org/1999/02/22-rdf-syntax-ns#.
CSA_XMLNS_RDFS
RDF Schema Description URI. Default:
http://www.w3.org/2000/01/rdf-schema#.
CSA_XMLNS_XSD
XML Schema Description. Default: http://www.w3.org/2000/10/XMLSchema#.
CSA_XMLISH
if set to true it will trigger a degree of compatibility with XHTML in the output produced by certain CSA functions an programs, for instance by closing void tags with > and things like that. Default: false (profile).
SWU_LOCK_SALT
Starting with version 1.1.0 some core parts of CSA, including the locking-primitives, were moved to a separate package named Shell-Ware Utilities (SWU, hence the name of this variable). SWU, in turn, relies on the Open Lock Daemon (OLD) for locking. As with any other cooperative locking mechanism, OLD allows anyone to release enyone else's locks, if they know what strings where used to acquire them. Since OLD sits on a TCP/IP network socket, this may be a security exposure. To make things more secure, SWU allows an application program to set a password-like string, that will be used to acquire the locks. For instance, if the CSA library function is requested to lock /path/to/some/file, and supposing the SWU_LOCK_SALT is set to the string xyz123 in the CSA application profile, the actual resource that will be locked is xyz123:/path/to/some/file. If we keep the content of SWU_LOCK_SALT secret, the name of the lock will be hard to guess, and therefore more difficult to break on the part of unauthorized third parties. Default: SWU (profile).

Date and time values.

The CSA variables CSA_TIME_LOCAL and CSA_TIME_UTC are used to hold local and UTC time values respectively. Here is how their values are set:

  CSA_TIME_LOCAL =`{date '+%Y %m %d %H %M %S %Z %a %b %s %z %:z .%3N'}
  CSA_TIME_UTC =`{date -u '+%Y %m %d %H %M %S %Z %a %b %s %z %:z .%3N'}

Application programs, as well as other parts of CSA, can use selected elements from CSA_TIME_LOCAL and CSA_TIME_UTC to build their own custom date and time values.

Using elements from the above two lists, CSA sets also the following time-related scalar values (shown with example values):

   CSA_TIME_HTTP = Tue, 18 Jan 2005 10:50:31 GMT
   CSA_TIME_ISO = 2005-01-18 10:50:31
   CSA_TIME_ISO8601 = 2005-01-18T10:50:31+01:00

Such variables are used internally by CSA itself, but they are also available for use by application programs.


Trackbacks (0) | New trackback | Print

This Web Site is Copyright © 2007,2008,2009,2010 Carlo Strozzi, Some Rights Reserved
site map | recent changes | disclaimer