Miva Empresa/Mia/Script Compiler v5.32 Release Notes
Posted by Wayne Smith on 17 August 2018 11:01 AM
|
|
Bugs Fixed ---------- 23788: OpenSSL thread locking callback is called after all threads have been joined and cleanup has begun 24758: CompilerParser::Find_ScratchVariable_Ident can be susceptible to a buffer overflow 24759: Passing a negative value for the "-O" flag causes a segfault 24762: mvc fails to pass the verbose flag to the assembler 24817: The JSONDecoder should clear any existing data from the output parameter 26511: LOWER function leaks memory 26512: UPPER function leaks memory 26517: SQL_Stack::PopBool should use the string length, not the string size 26518: MivaSQL crashes when search condition does not contain RHS operators 26522: MivaSQL UNION should remove duplicates from individual result sets 26525: SQL_Bucket_Record does not delete the value popped off of the stack 26556: MvSMTP should clear the g.MvSMTP_Error variable on a successful connection 26572: PostgreSQL: Add prepared statement to cache after query is executed / view is closed 26602: Compiler: MvOPENVIEW should output a compiler error if the QUERY attribute is missing 26767: CommandLine_Warning_Flags has bad index boundary checks 26772: LocateDSOs should output an error when the .so/.DLL directory encounters an error 26841: UNIXReentrantFileManager::DirectoryListing should use readdir_r 26881: Generate SHA256SUMS of all distribution files and components 27000: VariableHash::LookupVariable_Fancy on present but uncreated variable causes a crash 27031: DefaultDatabaseVariable::Clone is cloning the wrong variable 27037: SpecialVariables values are not set to the parent's value in a multi-threaded environment
New Builtin Functions --------------------- - file_set_time( path, location, modified ) Sets the file's modified time Parameters: - path - The path to the file - location - Either script or data - modified - time_t (seconds since 1-JAN-1970) Return Value: - 1 on success, 0 on failure
- crypto_next_error() Gets the next crypto error Parameters: - None Return Value: - The appropriate crypto error
- crypto_clear_error() Will clear out all crypto errors Parameters: - None Return Value: - Empty
- crypto_evp_sign( digestname, privkey, buffer, signature var ) Generates an RSA / ECDSA signature Parameters: - digestname - Hash algorithm name, such as "md5" or "sha256". Supported digest algorithms will vary between OpenSSL installations - privkey - EVP PKEY structure reference - buffer - The data to sign - signature - The signed output signature Return Value: - 1 on success, 0 on failure
- crypto_evp_verify( digestname, pubkey, buffer, signature ) Verifies an RSA / ECDSA signature Parameters: - digestname - Hash algorithm name, such as "md5" or "sha256". Supported digest algorithms will vary between OpenSSL installations - pubkey - EVP PKEY structure reference - buffer - The data to verify - signature - The signature to verify Return Value: - 1 on success, 0 on failure
- evp_pkey_load_pubkey_x509( x509 var, pkey var ) Loads a PKEY reference from an x509 public key reference Parameters: - x509 - Certificate reference returned from functions such as x509_load_mem - pkey - Structure reference Return Value: - 1 on success, 0 on failure
Other ----- - crypto_last_error Previously if the crypto error originated from Miva Empresa, the returned error was always the same. If the crypto error was from OpenSSL then it would be lost after calling the function. Modified to always return the last crypto error.
- trim / ltrim / rtrim Will now trim whitespace from arrays and structures. Previously the functions would convert arrays and structures to serialized data and then trim it. Arrays and structures are now iterated and all values within are trimmed appropriately.
- POST content type of "application/json" is now supported. The POSTed data will be parsed and stored in the s.json_data variable as a JSON object. The raw POSTed data will populate the s.content_data variable.
- Added the FLAGS attribute to MvCALL / mvt:call. The only supported flag currently is "noparse" which will disable parsing of the returned data. The data will populate the s.callvalue variable. This is ideal if you do not need to iterate HTML / XML elements.
- evp_pkey_load_mem now supports the DER and PEM formats.
- Added support for Redis. The use of the redis functions can be obtained by adding a system library with the code of "hiredis."
- The compiler now warns when text / HTML is present and will not be output in the current context | |
|