Árvore de páginas

Correções

Ocorrência: Se for habilitada a chave SSL_ENCRYPT_UPSTREAM=1 no ini do Broker HTTP, o Broker gera dump ao iniciar.

Solução: Corrigido a inicialização do Broker com a chave SSL_ENCRYPT_UPSTREAM=1 habilitada.

Chamado: DTAPPSRV-5382

Ocorrência: A classe TWSDLManager, ao fazer o parse de um WSDL, apresenta a mensagem de erro: "Error parsing schema for namespace Xml Parser Exception : expected: 'D' actual: 'd'".

Solução: Corrigido o parse da classe TWSDLManager para tratar corretamente os namespaces e locations declarados.

Referente ao chamado: DTAPPSRV-5548

Ocorrência: Arquivos zip gerados com a função AdvPL FZip() com senha não reconhecem a senha utilizada.

Solução: Alterações para gerar CRC válido dos arquivos a compactar e quando usar senha.

Referente ao chamado: DTAPPSRV-5630

Ocorrências:

1) Caso um campo caractere delimitado tivesse uma virgula no meio do conteudo delimitado, a virgula era erroneamente considerada como separador de campo, importando os dados fora de ordem.
2) Caso a vírgula presente no conteúdo seja o ultimo caractere antes do delimitador, o processo de importação era finalizado com a ocorrência de erro "string index out of bounds"

Correção:

Ao ler um arquivo texto, caso um determinado conteúdo inicie com um delimitador, é buscado o próximo delimitador -- que indica o final do campo . Com isso, mesmo que exista um separador no meio do conteúdo, o mesmo será corretamente ignorado.

Referente ao chamado: DTAPPSRV-5476

Incidente: Queda do AppServer ao fazer a leitura de um email.

Solução: Corrigido a leitura de email na classe TMailMessage.

Referente ao chamado: DTAPPSRV-5624

Incidente: Em alguns casos um tratamento de erro (ErrorBlock) poderia apresentar uma falha no encerramento da thread, fazendo com que o ERP tivesse um comportamento não esperado.

Solução: Fizemos um ajuste na camada em questão para compatibilizar o comportamento do ErrorBlock, respeitando assim as instruções de encerramento da thread.

Referente ao chamado: DTAPPSRV-5488

Inicidente: O método SaveAttach da classe TMailMessage não aceitava caminho relativo.

Solução: Corrigido o método SaveAttach para aceitar caminho relativo (server).

Referente ao chamado: DTAPPSRV-5708

Incidente: A função HSMInitialize não está carregando por padrão o valor da chave Module da seção SSLConfigure para o primeiro parâmetro.

Solução: Corrigido a função HSMInitialize para fazer a carga do valor configurado na chave Module.

Referente ao chamado: DTAPPSRV-5712

Melhorias

Situação : A configuração de mapeamento de campos automática entre APPServer e DBAccess, configurável através da configuração MAPPER=ON|OFF não estava sendo considerada pelo servidor de aplicação, estando o recurso sempre ligado.

Implementação: Criada a possibilidade de desligar o mapeamento dinâmico de campos através da configuração MAPPER=OFF ( na seção DBACCESS do appserver.ini ) e/ou através da configuração DBMAPPER=OFF na seção do ambiente (environment).
Para mais informações sobre o que é o mapeamento dinâmico de campos, consulte a TDN, no documento "Mapeamento Dinâmico de Campos - MAPPER"

Chamado: DTAPPSRV-4988

Ocorrência: A chave DISABLECIPHER da seção SSLCONFIGURE não funcionava para a porta multiprotocolo, tornando a porta vulnerável em pentests realizados por clientes.

Solução: Adicionado suporte para chave DISABLECIPHER na porta multiprotocolo. A versão 19.3.1.x suporta todas as cifras ou conjunto de cifras disponíveis na documentação da OpenSSL 1.0.2 (ver seção CIPHER SUITE NAMES). A versão 20.3.0.x suporta todas as cifras ou conjunto de cifras disponíveis na documentação da OpenSSL 1.1.1 (ver seção CIPHER SUITE NAMES). Mais informações na documentação https://tdn.totvs.com/display/tec/DisableCipher

Referente ao chamado: DTAPPSRV-5262

Ocorrência: Um certificado .PFX pode conter o certificado da autoridade certificadora mais os certificados do cliente. Como não havia uma função para conversão direta de um arquivo .PFX para um arquivo .PEM, era necessário utilizar as funções PFXCA2PEM (extrai autoridade certificadora) e PFXCert2PEM (extrai certificado do cliente), e concatenar as repostas destas funções em um único arquivo .PEM.

Solução: Adicionado a função PFX2PEM para converter um arquivo .PFX para um arquivo .PEM, sem necessidade de funções auxiliares. Função documentada em https://tdn.totvs.com/display/tec/PFX2PEM

Referente ao chamado: DTAPPSRV-5266