Index DocHome Next |
iPlanet Web Server, Enterprise Edition NSAPI Programmer's Guide |
Contents
About This Book
Chapter 1 Basics of Server OperationConfiguration Files
magnus.conf
Dynamic Reconfiguration
server.xml
obj.conf
mime.types
How the Server Handles Requests from Clients
HTTP Basics
Writing New Server Application Functions
Steps in the Request Handling Process
Directives for Handling Requests
Chapter 2 Syntax and Use of obj.confServer Instructions in obj.conf
Summary of the Directives
The Object Tag
Objects that Use the name Attribute
Variables Defined in server.xml
Object that Use the ppath Attribute
Flow of Control in obj.conf
AuthTrans
Syntax Rules for Editing obj.conf
NameTrans
PathCheck
ObjectType
Service
AddLog
Error
Order of Directives
About obj.conf Directive Examples
Parameters
Case Sensitivity
Separators
Quotes
Spaces
Line Continuation
Path Names
Comments
Chapter 3 Predefined SAFs and the Request Handling ProcessThe bucket Parameter
AuthTrans Stage
basic-auth
NameTrans Stage
basic-ncsa
get-sslid
qos-handler
assign-name
PathCheck Stage
document-root
home-page
pfx2dir
redirect
strip-params
unix-home
check-acl
ObjectType Stage
deny-existence
find-index
find-links
find-pathinfo
get-client-cert
load-config
nt-uri-clean
ntcgicheck
require-auth
set-virtual-index
ssl-check
ssl-logout
unix-uri-clean
force-type
Service Stage
set-default-type
shtml-hacktype
type-by-exp
type-by-extension
add-footer
AddLog Stage
add-header
append-trailer
imagemap
index-common
index-simple
key-toosmall
list-dir
make-dir
query-handler
remove-dir
remove-file
rename-file
send-cgi
send-file
send-range
send-shellcgi
send-wincgi
service-dump
shtml_send
stats-xml
upload-file
common-log
Error Stage
flex-log
record-useragent
send-error
qos-error
Chapter 4 Creating Custom SAFsThe SAF Interface
SAF Parameters
pb (parameter block)
Result Codes
sn (session)
rq (request)
Creating and Using Custom SAFs
Write the Source Code
Overview of NSAPI C Functions
Compile and Link
Load and Initialize the SAF
Instruct the Server to Call the SAFs
Reconfigure the Server
Test the SAF
Parameter Block Manipulation Routines
Required Behavior of SAFs for Each Directive
Protocol Utilities for Service SAFs
Memory Management
File I/O
Network I/O
Threads
Utilities
Virtual Server
Init SAFs
CGI to NSAPI Conversion
AuthTrans SAFs
NameTrans SAFs
PathCheck SAFs
ObjectType SAFs
Service SAFs
Error SAFs
AddLog SAFs
Chapter 5 NSAPI Function ReferenceNSAPI Functions (in Alphabetical Order)
CALLOC
cinfo_find
condvar_init
condvar_notify
condvar_terminate
condvar_wait
crit_enter
crit_exit
crit_init
crit_terminate
daemon_atrestart
fc_open
fc_close
filebuf_buf2sd
filebuf_close
filebuf_getc
filebuf_open
filebuf_open_nostat
FREE
func_exec
func_find
log_error
MALLOC
net_ip2host
net_read
net_write
netbuf_buf2sd
netbuf_close
netbuf_getc
netbuf_grab
netbuf_open
param_create
param_free
pblock_copy
pblock_create
pblock_dup
pblock_find
pblock_findval
pblock_free
pblock_nninsert
pblock_nvinsert
pblock_pb2env
pblock_pblock2str
pblock_pinsert
pblock_remove
pblock_str2pblock
PERM_CALLOC
PERM_FREE
PERM_MALLOC
PERM_REALLOC
PERM_STRDUP
prepare_nsapi_thread
protocol_dump822
protocol_set_finfo
protocol_start_response
protocol_status
protocol_uri2url
protocol_uri2url_dynamic
REALLOC
request_get_vs
request_header
request_stat_path
request_translate_uri
session_dns
session_maxdns
shexp_casecmp
shexp_cmp
shexp_match
shexp_valid
STRDUP
system_errmsg
system_fclose
system_flock
system_fopenRO
system_fopenRW
system_fopenWA
system_fread
system_fwrite
system_fwrite_atomic
system_gmtime
system_localtime
system_lseek
system_rename
system_ulock
system_unix2local
systhread_attach
systhread_current
systhread_getdata
systhread_newkey
systhread_setdata
systhread_sleep
systhread_start
systhread_timerset
util_can_exec
util_chdir2path
util_chdir2path
util_cookie_find
util_env_find
util_env_free
util_env_replace
util_env_str
util_getline
util_hostname
util_is_mozilla
util_is_url
util_itoa
util_later_than
util_sh_escape
util_snprintf
util_sprintf
util_strcasecmp
util_strftime
util_strncasecmp
util_uri_escape
util_uri_is_evil
util_uri_parse
util_uri_unescape
util_vsnprintf
util_vsprintf
vs_alloc_slot
vs_get_data
vs_get_default_httpd_object
vs_get_doc_root
vs_get_httpd_objset
vs_get_id
vs_get_mime_type
vs_lookup_config_var
vs_register_cb
vs_set_data
vs_translate_uri
Chapter 6 Examples of Custom SAFsExamples in the Build
AuthTrans Example
Installing the Example
NameTrans Example
Source Code
Installing the Example
PathCheck Example
Source Code
Installing the Example
ObjectType Example
Source Code
Installing the Example
Service Example
Source Code
Installing the Example
AddLog Example
Source Code
More Complex Service Example
Installing the Example
Quality of Service Examples
Source Code
Installing the Example
Source Code
Chapter 7 Syntax and Use of magnus.confInit SAFs
cindex-init
Server Information
define-perf-bucket
dns-cache-init
flex-init
flex-rotate-init
init-cgi
init-clf
init-uhome
load-modules
nt-console-init
perf-init
pool-init
register-http-method
stats-init
thread-pool-init
ExtraPath
Language Issues
MtaHost
NetSiteRoot
ServerConfigurationFile
ServerID
ServerRoot
TempDir
TempDirSecurity
User
AdminLanguage
DNS Lookup
ClientLanguage
DefaultCharSet
DefaultLanguage
AsyncDNS
Threads, Processes and Connections
DNS
ConnQueueSize
Native Thread Pools
HeaderBufferSize
IOTimeout
KeepAliveThreads
KeepAliveTimeout
KernelThreads
ListenQ
MaxKeepAliveConnections
MaxProcs (Unix Only)
PostThreadsEarly
RcvBufSize
RqThrottle
RqThrottleMin
SndBufSize
StackSize
StrictHttpHeaders
TerminateTimeout
ThreadIncrement
UseNativePoll (Unix only)
NativePoolStackSize
CGI
NativePoolMaxThreads
NativePoolMinThreads
NativePoolQueueSize
CGIExpirationTimeout
Error Logging and Statistic Collection
CGIStubIdleTimeout
CGIWaitPid (UNIX Only)
MaxCGIStubs
MinCGIStubs
WincgiTimeout
ErrorLog
ACL
ErrorLogDateFormat
LogFlushInterval
LogVerbose
LogVsId
PidLog
ACLCacheLifetime
Security
ACLUserCacheSize
ACLGroupCacheSize
Security
Chunked Encoding
SSLCacheEntries
SSLClientAuthDataLimit
SSLClientAuthTimeout
SSLSessionTimeout
SSL3SessionTimeout
UseOutputStreamSize
Miscellaneous
ChunkedRequestBufferSize
ChunkedRequestTimeout
ChildRestartCallback
HTTPVersion
MaxRqHeaders
Umask (UNIX only)
Chapter 8 Virtual Server Configuration FilesThe server.dtd File
The server.xml File
Variables
Elements in server.dtd and server.xml
Using the Server Manager and Class Manager
SERVER
Virtual Server Selection for Request Processing
VARS
LS (Listen Socket)
CONNECTIONGROUP
SSLPARAMS
MIME
ACLFILE
VSCLASS
VS (Virtual Server)
QOSPARAMS
USERDB
User Database Selection
The iPlanet LDAP Schema
The Convergence Tree
The Domain Component (dc)Tree
Appendix A Data Structure ReferencePrivatization of Some Data Structures
session
pblock
pb_entry
pb_param
Session->client
request
stat
shmem_s
cinfo
Appendix B MIME TypesIntroduction
Determining the MIME Type
How the Type Affects the Response
What Does the Client Do with the MIME Type?
Syntax of the MIME Types File
Sample MIME Types File
Appendix C Wildcard PatternsWildcard Patterns
Wildcard Examples
Appendix D Time Formats
Appendix E HyperText Transfer ProtocolCompliance
Requests
Request Method, URI, and Protocol Version
Responses
Request Headers
Request Data
HTTP Protocol Version, Status Code, and Reason Phrase
Buffered Streams
Response Headers
Response Data
Appendix F Dynamic Results Caching Functions
dr_cache_destroy
dr_cache_init
dr_cache_refresh
dr_net_write
fc_net_write
Appendix G Alphabetical List of NSAPI Functions and Macros
Appendix H Alphabetical List of Directives in magnus.conf
Appendix I Alphabetical List of Pre-defined SAFs
Index
Index DocHome Next
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.
Last Updated May 15, 2001