readme

来自「FastCGI,语言无关的、可伸缩架构的CGI开放扩展」· 代码 · 共 401 行 · 第 1/2 页

TXT
401
字号
  correct value of sin_family in the socketaddr structure for an  AF_UNIX connection (SCO returns the wrong value, as reported by Paul  Mahoney).  Changed the error retry logic in FCGX_Accept.  FCGX_Accept now  returns -1 only in case of operating system errors that occur while  accepting a connection (e.g. out of file descriptors).  Other errors  cause the current connection to be dropped and a new connection to  be attempted.Perl:  Changed FCGI.xs to make it insensitive to Perl's treatment of  environ (we hope).  Changed FCGI::accept so the initial environment  variables are not unset on the first call to FCGI::accept (or on  subsequent calls either).  Added the echo-perl example  program.  Added a workaround for the "empty initial environment bug"  to tiny-perl-fcgi.  Changed the example Perl scripts to use a new  symbolic link ./perl, avoiding the HP-UX 32 character limit on the  first line of a command interpreter file.  Because the FastCGI-enabled Perl interpreter uses the C fcgi_stdio  library, it picks up all the changes listed above for C.  There's  a new Perl subroutine FCGI::finish.Tcl:  Fixed a bug in tclFCGI.c that caused the request environment  variables to be lost.  Changed FCGI_Accept so the initial  environment variables are not unset on the first call to FCGI_Accept  (or on subsequent calls either).  Added the echo-tcl example  program.  Fixed another bug that caused Tcl to become confused by  file opens; as a side effect of this change, writes to stdout/stderr  that occur in an app running as FastCGI before FCGI_Accept is called  are no-ops rather than crashing Tcl.  Changed the example Tcl  scripts to use a new symbolic link ./tclsh, avoiding the HP-UX 32  character limit on the first line of a command interpreter file.  Because the FastCGI-enabled Tcl interpreter uses the C fcgi_stdio  library, it picks up all the changes listed above for C; there's  a new Tcl command FCGI_Finish.Java:  Fixed a sign-extension bug in FCGIMessage.java that caused bad encodings  of names and values in name-value pairs for lengths in [128..255].  Made small cleanups in the Java example programs to make them more  consistent with the other examples.What's New: Version 1.4, 10 May 1996--------------------------------------Includes Java classes and Java examples.What's New: Version 1.3.1, 6 May 1996--------------------------------------New, simplified, license terms.  Includes an expanded whitepaper thatdescribes FastCGI support in Open Market's Secure WebServer 2.0.Includes Open Market FastCGI 1.0 Programmer's Guide.  Includes"FastCGI: A High-Performance Gateway Interface", a position paperpresented at the workshop "Programming the Web - a search for APIs",Fifth International World Wide Web Conference, 6 May 1996, Paris,France.What's New: Version 1.3, 29 April 1996--------------------------------------First public release; new license terms on all files.Changed cgi-fcgi.c to use SO_REUSEADDR when creating the listening socket;this avoids the need to wait through the TIME_WAIT state on all the TCPconnections made by the previous instance of an external applicationyou are restarting.What's New: Version 1.2.2, 15 April 1996----------------------------------------Partially fixed a bug in Perl's FCGI::accept (source file FCGI.xs).The per-request environment variables were being lost.  Now theper-request environment variables show up correctly, except that ifthe Perl application has an empty initial environment, the environmentvariables associated with the *first* request are lost.  Therefore,when starting Perl, always set some environment variable using theAppClass -initial-env option, or by running cgi-fcgi in a non-emptyenvironment.What's New: Version 1.2.1, 22 March 1996----------------------------------------Fixed a bug in FCGI_Accept.  If your application running as FastCGIopened a file before calling FCGI_Accept, it would decide that itwas really running as CGI.  Things went downhill quickly after that!Also added advisory locking to serialize calls to accept on sharedlistening sockets on Solaris and IRIX, to work around problemswith concurrent accept calls on these platforms.What's New: Version 1.2, 20 March 1996--------------------------------------1. This version of the kit implements the most recent draftof the protocol spec.  Enhancements to the protocol includea BEGIN_REQUEST record that simplifies request ID managementand transmits role and keep-alive information, and a simplifiedend-of-stream indication.The protocol spec has been revised to describe exactly what'sbeen implemented, leaving out the features that we hope tointroduce in later releases.At the application level, the visible change is the FCGI_ROLEvariable that's available to applications.  This allows an applicationto check that it has been invoked in the expected role.  A singleapplication can be written to respond in several roles.  TheFCGI_Accept.3 manpage contains more information.2.  We introduced the new "module" prefix FCGX in order to simplifythe relationship between fcgi_stdio and fcgiapp.A growing number of functions are provided in both fcgi_stdio andfcgiapp versions.  Rather than inventing an ad hoc solution for eachnaming conflict (as we did with FCGI_accept and FCGI_Accept), we'vebitten the bullet and systematically renamed *all* the fcgappprimitives with the prefix FCGX_.  In fcgi_stdio, we've renamedFCGI_accept to FCGI_Accept.  So all functions that are common in thetwo libraries have the same name modulo the different prefixes.The Accept function visible in Tcl is now called FCGI_Accept, notFCGI_accept.The Accept function visible in Perl is now FCGI::accept.  Alllower case names for functions and all upper case names formodules appears to be a Perl convention, so we conform.3. The kit now fully supports the Responder, Authorizer,and Filter roles.The Filter role required a new function, FCGI_StartFilterData.FCGI_StartFilterData changes the input stream from readingFCGI_STDIN data to reading FCGI_DATA data.  The manpagegives full details.Another new function, FCGI_SetExitStatus, is primarily forthe Responder role but is available to all.  FCGI_SetExitStatusallows an application to set a nonzero "exit" statusbefore completing a request and calling FCGI_Accept again.The manpage gives full details.These two new functions are provided at both the fcgi_stdio interfaceand the basic fcgiapp interface.  Naturally, the fcgiapp versions arecalled FCGX_StartFilterData and FCGX_SetExitStatus.4. The fcgiapp interface changed slightly in order to treatthe streams and environment data more symmetrically.FCGX_Accept now returns an environment pointer, rather than requiringa call to FCGX_GetAllParams to retrieve an environment pointer.FCGX_GetParam takes an explicit environment pointer argument.FCGX_GetAllParams is eliminated.  See the documentation in the headerfile for complete information.fcgiapp also added the procedure FCGX_IsCGI, providing a standardizedtest of whether the app was started as CGI or FastCGI.5. We've ported the kits to vendor-supported ANSI C compilerson Sun (Solaris 2.X), HP, and Digital platforms.  GCC can beselected on these platforms by performing SETENV CC gcc beforerunning configure.What's New: Version 1.1, 30 Jan 1996------------------------------------1. More platforms: Digital UNIX, IBM AIX, Silicon Graphics IRIX,Sun SunOS 4.1.4.2. Perl and Tcl: Simple recipes for producing Perl and Tclinterpreters that run as FastCGI applications.  No sourcecode changes are needed to Perl and Tcl.  Documentedin separate documents, accessible via the index page.Version 1.0, 10 Jan 1996------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?