GCGI implements NCSA's Common Gateway Interface along with the extensions to that interface defined in RFC2388. This means that GCGI can handle input as either the standard URL-encoded data, or as MIME data encoded with the multipart/form-data content type. So, GCGI supports everything from standard integers and strings to file uploads.
| Tags | Internet Web Dynamic Content CGI Tools/Libraries |
|---|---|
| Licenses | LGPL |
| Operating Systems | POSIX Linux |
| Implementation | C |
Recent releases


Changes: This release is primarily a bugfix release. Many improvements have been made to the build system, and GCGI now builds on GNU/Linux and FreeBSD without modification.


Changes: Support was added for sending normal cookies and encrypted cookies (the encrypted cookies require the OpenSSL libraries). Also added was support for manipulating HTTP headers, including redirects, cache-control, length, the content-type header and content-disposition header. The build process was changed to use libtool, enabling the building of a shared GCGI library. All the encoding/decoding functions were moved to the public header file so they can be used by calling programs. Lastly, some changes were made to increase compatibility with BSD-based systems along with several other small bugfixes.


Changes: Most importantly, GCGI no longer uses temporary files to process RFC2388 queries. It now buffers the incoming data in memory. This buffering makes it possible to place limits on the amount of data read. You can now limit either the total possible length of a CGI query, or the length of a single MIME part. This will allow developers to limit the sizes of files that will be uploaded. Several smaller bugfixes were also made.


Changes: This release contains significant improvements to the build process. GCGI is now system installable using autotools ('make install'), and all dependencies have been removed from the gcgi.h header file.


Changes: A fix for a memory leak which was occurring in mimeParseContentType(), which was causing a segfault whenever a complicated Content-Type: header was present, a fix for an error in findQueryStringColl() whereby the wrong node could be selected if you have two or more form fields with similar names (like "formfield" and "formfield-two"), and addition of a missing semicolon to a #define statement in gcgi.h.
- All comments
Recent commentsdead ?
this project is dead ?