The qDecoder Project

[svn] / releases / qDecoder-10.1.1 / CHANGES

Parent Directory Parent Directory Revision Log Revision Log


Revision 549 - Download Blame
Sun Feb 21 05:45:57 2010 UTC (6 months, 2 weeks ago) by wolkykim
File size: 16920 byte(s)
qDecoder 10.1.1 RELEASE
    1                             [The qDecoder Project]
    2 -------------------------------------------------------------------------------
    3 
    4 qDecoder Changes
    5 
    6 ``FIX'', ``NEW'', ``REP'' and ``REM'' are stand on ``Fixed or Modified'',
    7 ``New'', ``Replaced'' and ``Removed''.
    8 
    9   Release 10.1.1
   10     FIX) Q_HTTPCLIENT uses TCP_NODELAY socket to improve performance.
   11     FIX) Q_HTTPCLIENT performance improvements.
   12     ADD) Add qStrDupf() - duplicate a formatted string.
   13     FIX) qSocketClose() - added timeoutms parameter.
   14     ADD) Q_OBSTACK->writeFinal() - write out merged final data to the file descriptor.
   15     FIX) Q_ENTRY->putStrf() - fix memory leak
   16     FIX) merge qCount.c and qSed.c into qUtil.c
   17   Release 10.1.0
   18     ADD) qIo.c
   19       REP) qSocketWaitReadable() => qIoWaitReadable()
   20       REP) qSocketWaitWritable() => qIoWaitWritable()
   21       REP) qSocketRead() => qIoRead()
   22       REP) qSocketWrite() => qIoWrite()
   23       REP) qSocketGets() => qIoGets()
   24       REP) qSocketPuts() => qIoPuts()
   25       REP) qSocketPrintf() => qIoPrintf()
   26       REP) qSocketSendfile() => qIoSend()
   27       REP) qSocketSaveIntoFile() => qIoSend()
   28       REP) qSocketSaveIntoMemory() => qIoRead()
   29   Release 10.0.0
   30     ADD) Added "--enable-threadsafe" option to support multi-thread program
   31     model.
   32     ADD) Q_HTTPCLIENT (HTTP client)
   33     FIX) Q_HASHTBL (Object of dynamic hash-table)
   34       Add thread-safe feature.
   35       Introduce Object-C style interface. ex) qHashtblGetStr() =>
   36       Q_HASHTBL->getStr()
   37     FIX) Q_HASHARR (Object of static hash-table)
   38       Add thread-safe feature.
   39       Introduce Object-C style interface. ex) qHasharrGetStr() =>
   40       Q_HASHARR->getStr()
   41     FIX) Q_ENTRY (Object of linked-list data structure)
   42       Add thread-safe feature.
   43       Introduce Object-C style interface. ex) qEntryGetStr() =>
   44       Q_ENTRY->getStr()
   45     FIX) Q_OBSTACK (Object of object stack data structure)
   46       Add thread-safe feature.
   47       Introduce Object-C style interface. ex) qObstackGrow() =>
   48       Q_OBSTACK->grow()
   49     FIX) Q_DATABASE (Object of object stack data structure)
   50       Add thread-safe feature.
   51       Introduce Object-C style interface. ex) qDbOpen() => Q_DB->open()
   52     ADD) Added timeout parameter to qSocketOpen().
   53     ADD) qMkdir() - attempts to create a directory recursively.
   54     FIX) configure script supports --enable-fastcgi option.
   55     FIX) Fixed bug about qCountUpdate(). It did not return updated counter
   56     value.
   57     FIX) Wrong MD5 checksum on a 64bit machine. (reported by SimenKing)
   58     REM) qCgiResponseError() is removed.
   59     REP) qHtmlIsEmail() => qStrIsEmail()
   60     REP) qHtmlIsUrl() => qStrIsUrl()
   61     ADD) qFileCheckPath() - validate file path.
   62     ADD) qFileCorrectPath() - correct file path.
   63     ADD) qFileGetAbsPath() - get absolute system path.
   64     ADD) qSysGetIp() - get system IP address string.
   65     ADD) Q_ENTRY->truncate()
   66   Release 9.0.3
   67     NEW) Modified autoconf script and source codes to support FastCGI.
   68   Release 9.0.2
   69     FIX) large file problems. (changing some size_t type to off_t type)
   70     FIX) fixed up shared library building problem on FreeBSD AMD 64 machine.
   71   Release 9.0.1
   72     FIX) qCgiRequestParseQueries() - quoted boundary patch. (by Hidai Kenichi)
   73     NEW) qStrUnchar() - remove character from head and tail of the string.
   74     NEW) qDecoderVersion() - get the version string of qDecoder library.
   75     FIX) minor fixes related packaging.
   76   Release 9.0
   77     This is new branch of qDecoder.
   78     qDecoder 9.0 does not support lower version compatibility any more.
   79     Distributed under BSD-like License.
   80   Release 8.0
   81     NEW) qDecoderSetUploadBase() - Initialize qDecoder() for progressive
   82     uploading.
   83     FIX) qDecoder() - Now qDecoder() supports progressive uploading and direct
   84     file saving into disk.
   85     NEW) qSedArgAddDirect() - For huge size(over 1024 - 1) value.
   86   Release 7.1.1
   87     FIX) qSedArgAdd() - Adjust miss typed variable length. (1024*64 => 1024)
   88   Release 7.1
   89     NEW) qGetTimeStr() - Generate date string formatted as 'YYYYMMDDhhmmss'.
   90     NEW) qJavaScript() - Print out some JavaScript code.
   91     NEW) qAwkStr() - Scanning pattern from string.
   92     FIX) qAwkOpen() - Compatibility increment
   93     FIX) qAwkNext() - Expand array size to 1024(before 256)
   94     FIX) qCountRead() - Compatibility increment
   95     FIX) qCountSave() - Compatibility increment
   96     FIX) qCountUpdate() - Compatibility increment
   97     FIX) qDecoder() - Now qdecoder uses more smaller memory
   98     FIX) qCheckFile() - Utility increment
   99     New socket functions(unix only). Please refer the reference for more
  100     details.
  101     NEW) qSocketOpen()
  102     NEW) qSocketClose()
  103     NEW) qSocketWaitReadable()
  104     NEW) qSocketRead()
  105     NEW) qSocketGets()
  106     NEW) qSocketWrite()
  107     NEW) qSocketPuts()
  108     NEW) qSocketPrintf()
  109     NEW) qSocketSendFile()
  110     NEW) qSocketSaveIntoFile()
  111     NEW) qSocketSetNonblock()
  112     NEW) qSocketConv2file()
  113   Release 7.0.1
  114     NEW) qDecoder() - Added another argument, "variable_name.contenttype", when
  115     file is uploaded.
  116     NEW) qCookieValue() - Return only cookie data.
  117     NEW) qValueType() - Return the type of query.
  118     NEW) qfopen(), qfclose() - Open file stream with file lock.
  119     FIX) qPrintf(), qPuts() - Added new modes.
  120     FIX) qSession() - Changed return type.
  121   Release 7.0
  122     NEW) qSession...() - Session related functions
  123     NEW) qMD5Str(), qMD5File() - Calculate a message-digest
  124     fingerprint(checksum).
  125     NEW) qUniqueID() - Always returns unique 32 bytes string.
  126     NEW) qCookieRemove() - Remove cookie from client(browser).
  127     NEW) qfValueFirst(), qfValueNext() - Used for patching the arguments having
  128     an identical variable name inregular sequence.
  129     NEW) qsValueFirst(), qsValueNext() - Used for patching the arguments having
  130     an identical variable name inregular sequence.
  131     NEW) qGetContentFlag() - qCheck execution of qContentType().
  132     NEW) qFreeAll() - Deallocates the all allocated memories by qDecoder.
  133     FIX) qDecoder() - qcDecoder() is merged
  134     FIX) qSedStr(), qSedFile() - Changed parameters
  135     FIX) qCatFile() - Support formatted arguments, Support Win32 environment
  136     FIX) qCheckFile() - Support formatted parameters
  137     FIX) qURLencode - Does not encode '@', '.', '/', '\', '-', '_', ':'
  138     character
  139     FIX) qRedirect - Regular code improvement
  140     FIX) qPrint(), qArgPrint, qsPrint, qfPrint - Changed return type
  141     FIX) qPuts() - Regular code improvement
  142     REP) qcDecoder() - Merged by qDecoder()
  143     REP) qAddCookie() - Merged by qValueAdd()
  144     REP) qSetCookie() - Renamed to qCookieSet()
  145     REP) qReadCounter(), qUpdateCounter(), qSaveCounter() - Renamed to
  146     qCountRead(), qCountSave(), qCountUpdate()
  147   Release 6.0.5
  148     FIX) qAddCookie() - Solves the problems in which qAddCookie() does not
  149     operate when there is no existing cookie (when _cookie_first_entry is NULL).
  150 
  151   Release 6.0.4
  152     NEW) qAddCookie() - Forcibly adds the cookie value to the cookie linked
  153     list.
  154     NEW) qResetContentFlag() - Initializes the system for ContentType() to be
  155     forcibly displayed in dublicate.
  156     FIX) qURLencode() - Adjusts the system so that "@./-?&=#\:_" will not be
  157     encoded.
  158     FIX) qPrintf(), qPuts() - Modifies the token character into "
  159     `(){}[]<>\"',\r\n" so that the character strings after '&' will not be
  160     linked at the automatic link function.
  161     FIX) qSetCookie(), qGetGMTime() - Solves the cookie settings-related
  162     problems occurring from the fact that, in connection with qGetGMTime() at
  163     Solaris machines, Time Zone is displayed not in GMT but in Local Time Zone
  164     such as KST while time is normally displayed in GMT.
  165     FIX) qReadFile(), qFileSize() - Supports Win32.
  166   Release 6.0.3
  167     NEW) qValueReplace() - Transposes the tokens or specific character strings
  168     of query strings into given character strings.
  169     NEW) qStrReplace() - Transposes the tokens or specific character strings of
  170     strings into given character strings.
  171     NEW) qReset() - Initializes qDecoder. (Deallocates memory and initializes
  172     internal variables)
  173     FIX) qAwkClose() - Modifies the system to have return values.
  174   Release 6.0.2
  175     NEW) Adds the static library creation project files for Microsoft Visual C++
  176     use.
  177     FIX) Converts those internally used functions (starting with '_') into
  178     "static".
  179   Release 6.0.1
  180     NEW) Applies Autoconf.
  181   Release 6.0
  182     REP) qCgienv() - Replacement function qCGIenv().
  183     FIX) qDecoder() - Adds the security code for overflow attacks when
  184     multipart/form-data is interpreted.
  185     FIX) qSaveStr() - Removes permission setup arguments for the compatibility
  186     with WIN32.
  187     FIX) Changes the name of structure Entry into Q_Entry.
  188     FIX) Changes the name of structure Cgienv into Q_CGIenv.
  189     FIX) Adjusts the installation path into /usr/local/lib, /usr/local/include
  190     in case of "make install".
  191     FIX) qDownload(), qDownloadMime() - Modifies the system for return values to
  192     have the number of transmitted bytes.
  193     FIX) qPrintf() - Modifies the system so that the length of combined
  194     character strings can be supported up to 10K.
  195     NEW) Supports the shared library (libqDecoder.so).
  196     NEW) qCGIenv() - Extended edition of qCgienv() of old versions.
  197   Release 5.0.8
  198     FIX) qSetCookie() - Corrects the sequence of arguments according to the
  199     standard specification.
  200     FIX) qURLdecode() - Changes the function prototype from void to char* so
  201     that the decoded string pointer can be returned.
  202     FIX) qDownload() - Modifies the system so that the entire file size can be
  203     identified when downloading at clients.
  204     NEW) qDownloadMime() - Transmits files to clients according to MIME.
  205     NEW) qFileSize() - Notifies the file size by the unit of byte.
  206   Release 5.0.7
  207     REP) qStrBig() - Replacement function qStrupr().
  208     NEW) qArgMake(), qArgPrint(), qArgMatch(), qArgEmprint(), qArgFree() - A
  209     group of functions that analyzes search queries, identifies the number of
  210     query hits inside strings, and displays the results making the matching
  211     parts in bold characters.
  212     NEW) qValueDefault() - Same as qValue(). But hands over the basic string
  213     value when there is no corresponding query name.
  214     NEW) qValueNotEmpty() - Same as qValue(). But displays error messages in
  215     case of NULL or blank character strings ("").
  216     NEW) qStrincmp() - Plays the role of the strncmp() function plus the
  217     stricmp() function. Compares the first n bytes of character strings without
  218     distinguishing uppercase/lowercase letters.
  219   Release 5.0.6
  220     FIX) qitocomma() - Solves the problems in which negative numbers are
  221     displayed as '-,123,456'.
  222     FIX) qURLencode() - Modifies the system so that a space ' ' can be encoded
  223     not into '+' but into '%20'.
  224     FIX) qUpdateCounter() - Modifies the problem of returning the 'existing
  225     value' into figures of 'existing value + update'.
  226     FIX) qDownload() - Changes the function type from void to int so that it can
  227     have return values when there is no file.
  228     FIX) qError(), qErrorContact() - Corrects the problems in which
  229     [Administrator: ...] is inserted before and after those messages set up as
  230     qErrorContact() (for original messages to be displayed without the
  231     insertion).
  232   Release 5.0.5
  233     REP) qStrStr() - Replacement function qStristr()
  234     REP) qSed() - Replacement function qSedFile()
  235     NEW) qStricmp() - Functionally the same as the strcmp() function. But does
  236     not distinguish uppercase/lowercase letters.
  237     NEW) qSedStr() - Performs source input by strings.
  238   Release 5.0.4
  239     REP) qFileCat() - Replacement function qCatFile().
  240     FIX) qUpdateCounter() - Modifies interfaces (so that the update
  241     increase/decrease can be numerically controlled).
  242     FIX) qDecoder() - Processes the arguments handed over to the environment
  243     variable of QUERY-STRING in the multipart/form-data method.
  244     NEW) qReadFile() - Reads files and stores them in memory.
  245     NEW) qSaveStr() - Stores the contents of strings in files.
  246   Release 5.0.3
  247     FIX) qPrintf(), qPuts() - Adds '&' to tokens again.
  248     NEW) qfGetLine() - Returns allocated memory pointers by reading a line of
  249     files regardless of the length.
  250   Release 5.0.2
  251     FIX) qSed() - Makes a modification so that NULL pointers can be inserted as
  252     the arg argumentation. Solves the problems in which the segmentation fault
  253     errors occur in case the first argument of arg is NULL (when the SSI
  254     function is to be used without conversion).
  255     FIX) qPrintf(), qPuts() - Removes the '&' character from tokens.
  256   Release 5.0.1
  257     FIX) qValue(), qiValue(), qfValue(), qfiValue(), qsValue(), qsiValue(),
  258     qcValue(), qciValue() - Uses vsprintf() instead of the vsnprintf() function
  259     due to the compatibility problem.
  260     NEW) qSed() - Displays specified symbols in files after changing them into
  261     defined character strings.
  262   Release 5.0
  263     REP) qSendFile() - Replacement function qFileCat().
  264     FIX) qValue(), qiValue(), qfValue(), qfiValue(), qsValue(), qsiValue(),
  265     qcValue(), qciValue() - Performs patch works so that arguments can be
  266     transmitted by formats.
  267     FIX) qPuts() - Removes '&' from the token list.
  268     NEW) qValueFirst() - Acquires the variable value for the first argument
  269     among the arguments transmitted in an identical variable name.
  270     NEW) qValueNext() - Acquires the next variable value.
  271     NEW) qRedirect() - The page-jump function using the location: header of
  272     HTTP.
  273     NEW) qFileCat() - Displays all the corresponding files in stdout.
  274   Release 4.3.1
  275     FIX) Modifies install/deinstall method of Makefile.
  276   Release 4.3
  277     FIX) qDecoder() - Performs patch works so that the queries handed over to
  278     SSI can be received.
  279     NEW) qAwkOpen()
  280     NEW) qAwkNext()
  281     NEW) qAwkClose()
  282     NEW) *qGetFirstEntry()
  283     NEW) *qitocomma()
  284   Release 4.2
  285     FIX) qDecoder() - Patches related to Macintosh IE.
  286     FIX) qGgienv() - Patches related to Apache 1.3.
  287     FIX) qGetGMTime() - Performance improvement.
  288     NEW) *qCGIname()
  289     NEW) qDownload()
  290     NEW) *qGetEnv()
  291     NEW) *qStrBig()
  292     NEW) *qStrStr()
  293   Release 4.0.1
  294     FIX) qfDecoder() - emoves the length restriction of one line in files.
  295     FIX) qDecoder() - Modifies the internal algorithm of the multipart/form-data
  296     format.
  297   Release 4.0
  298     FIX) qDecoder() - Supports file uploading.
  299     FIX) qfDecoder() - Processes those lines starting with # as explanatory
  300     notes.
  301     FIX) qURLencode() - Makes a modification for '@' and '.' not to be encoded.
  302     FIX) _decode_query() - Changes the function name into qURLdecode().
  303     FIX) qCheckEmail() - Allows '.' in ID.
  304     FIX) qPrintf(), qPuts() - Modes 10 through 16 are newly supported.
  305   Release 3.5
  306     FIX) _get_query() - Adds the confirmation that the environment variable is
  307     not set up.
  308     FIX) qCgienv() - Optimizes using environment variables that are used in
  309     Netscape and Explore in common.
  310     FIX) qSetCookie() - Changes the expiration-date designation from char* to
  311     the int type.
  312     FIX) qError() - Adds logging functions.
  313     FIX) qURLencode() - Makes a modification for numbers and English alphabets
  314     not to be encoded.
  315     NEW) qErrLog()
  316   Release 3.4.2
  317     FIX) qDecoder(), qfDecoder(), qcDecoder() - Modifies Linked List algorithm.
  318     FIX) qPuts() - Solves the problems in which warnings are given when
  319     compilation is performed at certain systems.
  320   Release 3.4.1
  321     FIX) qPrintf(), qPuts() - Removes the space displayed at the end of
  322     character strings.
  323   Release 3.4
  324     FIX) qCheckEmail() - Makes a modification for emails including '-' or '_' to
  325     be possible.
  326     FIX) qPrintf(), qPuts() - Corrects the problems in which < and > of
  327     character-string contents are displayed as '<' and '>' (displays them as &lt
  328     and &gt). Only those character strings such as 'mailto:guest@hongik.ac.kr'
  329     were automatically linked, but the automatic link of such types as
  330     'guest@hongik.ac.kr' can be performed.
  331     NEW) qSetCookie()
  332     NEW) *qURLencode()
  333     NEW) qGetGMTime()
  334   Release 3.3.1
  335     FIX) qDecoder() - Corrects the problem in which the '&' character of the
  336     query value is recognized as a separator.
  337   Release 3.3
  338     NEW) qcDecoder()
  339     NEW) *qcValue()
  340     NEW) qcPrint()
  341     NEW) qcFree()
  342   Release 3.2.2
  343     NEW) qUpdateCounter()
  344     NEW) qPuts()
  345     NEW) qCheckURL()
  346   Release 3.2
  347     NEW) qReadCounter()
  348     NEW) qSaveCounter()
  349     NEW) qStr09AZaz()
  350   Release 3.1
  351     NEW) qPrintf()
  352     NEW) qCheckEmail()
  353     NEW) qError()
  354   Release 3.0
  355     NEW) *qfDecoder()
  356     NEW) *qfValue()
  357     NEW) qfPrint()
  358     NEW) qError()
  359     NEW) *qRemoveSpace()
  360   Release 2.2
  361     NEW) qDecoder()
  362     NEW) *qValue()
  363     NEW) qPrint()
  364     NEW) qFree()
  365     NEW) qContentType()
  366     NEW) qCgienv()
  367     NEW) *qGetTime()
  368     NEW) qCheckFile()
  369     NEW) qSendFile()
  370 
  371  -------------------------------------------------------------------------------
  372                             [The qDecoder Project]

Home | About | Examples | Changes | Download | SVN Repository | Install | Reference