📄 changelog
字号:
06-22-2002 Julian Catchen <topeka@catchen.org> *Fixed bug in mimeParseContentDisposition() that would cause a segfault when processing an RFC2388 submission without a filename submitted. *Added missing #include to sys/types.h in examples/getinput.c to make getinput build on FreeBSD. *Fixed several build issues with autotools (i.e. I have become one with automake and autoconf). GCGI now builds without issue on GNU/Linux and FreeBSD.06-15-2002 Julian Catchen <topeka@catchen.org> *Added support for sending normal cookies and encrypted cookies. The encrypted cookies require the OpenSSL libraries. *Fixed crlfstringbuf typo in src/Makefile.am. Thanks to Clinton Roy <croy@dstc.edu.au>. *Added parsing code to make sure that is a filename is included in the Content-Disposition header, that the full path is parsed off of it (leaving only the filename). IE send the full path for some reason. Thanks to Erik Dalin <dalen@jpl.se> for the heads-up on this one. *Replaced setenv() with putenv() for compilation on BSD systems. Also added casts to fix calls to isspace() on BSD. *Moved all the encoding/decoding functions to the public header file so they can be used by calling programs. This includes en/decoding for base64, url encoding, quoted-printable encoding. *Changed build process to use libtool, enabling the building of shared GCGI library.06-03-2002 Julian Catchen <topeka@catchen.org> *Added functions to handle HTTP headers, including: gcgiSendContentDisp() -- Send a Content-Disposition header (inline/attached and a filename). gcgiSendContentType() -- Send Content-Type header (Mime Type like "text/html", a name and a character set). gcgiSendLocation() -- Sends the Location header to redirect the user to another page. gcgiSendStatus() -- Sends a status header which can print out a specific HTTP error code. gcgiSendCacheControl() -- Sends Cache control headers to allow the programmer to control whether their pages are cached by the user's browser or a proxy along the way.05-16-2002 Julian Catchen <topeka@catchen.org> *Added ident(1) string to gcgi.c and environment variable "HTTP_REFERER" to the envVar[] array -- thanks to George Headley <headley@coherentpartners.com> for pointing out the missing env variable and ident string.03-20-2002 Julian Catchen <topeka@catchen.org> *Created a new structure called CRLFStringBuf. This structure and its functions will buffer an incoming stream of CRLF-terminated strings. *Altered GCGI to use CRLFStringBuf to read in RFC2388 data. GCGI no longer needs temporary files to store the incoming query. *Added gcgiSetLimits() function. This function allows you to set limits on how much data to read for an entire RFC2388 query, and for a single MIME part. *Added an addition example program called gcgiGetInput which allows developers to easily capture the input of a CGI query for debugging purposes.02-14-2002 Julian Catchen <topeka@catchen.org> *Altered gcgi.h so that it has no dependencies on other files in the project. *Made the library installable ('make install') using autotools. *Moved the test programs to the "examples" subdirectory and made them not build by default. *Made gcgi useable for C++ programs.02-08-2002 Julian Catchen <topeka@catchen.org> *Found memory leak which was occurring in mimeParseContentType(). The leak was causing a seg fault whenever a complicated Content-Type: header was present (one with a boundary or something similar). *Fixed an error in findQueryStringColl() whereby the wrong node could be selected if you have two or more form fields with similar names, like this: "formfield" and "formfield-two".01-26-2002 Julian Catchen <topeka@catchen.org> *Updated project to use use autotools -- ./configure, make *Added error checking to parsing routinges to handle empty/NULL strings. *Changed all checks for spaces, *p == ' ' to use issapce() instead.01-23-2002 Julian Catchen <topeka@catchen.org> *Altered gcgiFetchData so that it returns the MIME type, subtype and encoding. *Added function gcgiFieldSize() that returns the exact size of the buffer that is holding the field. This is useful when uploading binary files. *Changed gcgiFieldLength to return the string length of the field (used to return the buffer size). 01-21-2002 Julian Catchen <topeka@catchen.org> *Fixed bug where by during MIME parsing too many CRLF sequences were being removed from binary data, munging PNG files. The correct behavior is to only remove the final CRLF before the MIME boundary in binary data.01-20-2002 Julian Catchen <topeka@catchen.org> *Implemented a token parser for MIME headers. The parser breaks the header into logical tokens which can then be parsed individually. *Added MimeFormat and MimeDisposition enum typedefs.01-12-2002 Julian Catchen *Fixed bug where RFC2388 decoding function was not deleting the intermediate file it used to decode mime MIME message. *Fixed bug that affected corner case of BASE64 decoding.01-06-2002 Julian Catchen *Changed gcgiLoadEnvVariables so that it can load environment variables of any size, dynamically.10-02-2001 Julian Catchen *Added mimeEncodeBaseSixtyFourString() to encode base64 data. *Optimized mimeDecodeBaseSixtyFourString() *Added mimeEncodeQuotedPrintableString() *Added mimeEncodeUrlString(), decodeUrlEncodedString() *Added hextochar().10-01-2001 Julian Catchen *Added gcgiDebug() function to allow loading of environment variables and query data from external files. Allows CGI programs to be run from the command line or through a debugger. *Added HTTP_COOKIE to environment variables.9-30-2001 Julian Catchen *Fixed bug in urlDecode() function causing field name to be overwritten. Affected GET queries.9-26-2001 Julian Catchen *typedef'ed the gcgi return types as gcgiReturnType. Changed all external functions to return a gcgiReturnType instead of an integer.8-28-2001 Julian Catchen *Changed Makefile to build a static library. It should now be easier to build against gcgi. Releasing as v0.71.8-26-2001 Julian Catchen *Initial release of gcgi library, version 0.70.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -