1. 09 Jul, 2013 1 commit
    • Renato Figueiro Maia's avatar
      [OPENBUS-2304] (Lua) Permitir fazer chamadas dentro de cadeias (join)... · 62a5ec43
      Renato Figueiro Maia authored
      [OPENBUS-2304] (Lua) Permitir fazer chamadas dentro de cadeias (join) recebidas com um login diferente, mas da mesma entidade
      
      - Desfazendo alterações do commit r142237 e aplicando novas alterações (sugestão do Cassino):
        - Campo 'CallChain.target' passa a conter o 'EntityName' ao invés do 'LoginId'.
        - A operação 'AccessControl:signChainFor(target)' passa a verificar o login indicado pelo parâmetro 'target' colocando a entidade correspondente no valor no campo 'CallChain.target' da cadeia gerada.
          - Caso o login informado no parâmetro 'target' seja inválido (desconhecido) então essa operação lança a exceção 'InvalidLogins' informando o login inválido.
            - Quando a operação 'AccessControl:signChainFor(target)' chamada pela biblioteca de acesso (OpenBusLib) lança a exceção 'InvalidLogins', essa deve ser capturada e traduzida para uma exceção 'CORBA::NO_PERMISSION' com um novo minor code 'InvalidTargetCode'.
      
      - Correção de bug devido ao cache de 'profile2login' da biblioteca de acesso (Lua) a ser mantida por ORB ao invés de pra cada conexão.
      
      
      
      git-svn-id: https://subversion.tecgraf.puc-rio.br/engdist/openbus/core/branches/02_00_00@142520 ae0415b3-e90b-0410-900d-d0be9363c56b
      62a5ec43
  2. 28 Jun, 2013 1 commit
    • Renato Figueiro Maia's avatar
      [OPENBUS-2304] (Lua) Permitir fazer chamadas dentro de cadeias (join)... · c3daccbb
      Renato Figueiro Maia authored
      [OPENBUS-2304] (Lua) Permitir fazer chamadas dentro de cadeias (join) recebidas com um login diferente, mas da mesma entidade
      - Campo 'CallChain.target' passa a conter o 'EntityName' ao invés do 'LoginId'.
      - A operação 'AccessControl:signChainFor(target)' passa a receber o 'EntityName'
        ao invés do 'LoginId', mas continua sem validar o valor do parâmetro 'target',
        simplesmente colocando o valor no campo 'CallChain.target' da cadeia gerada.
        Isso é necessário pra permitir assinar cadeias pra entidades deslogadas, que
        é importante pra permitir que um processo possa receber chamadas de entidades
        conhecidas (autenticadas previamente) mesmo sem ter acesso ao ACS. 
      - Campo 'CredentialReset.login' passar a conter o 'EntityName' ao invés do
        'LoginId'. Esse campo também é renomeado pra 'CredentialReset.target' pra
        melhor clareza.
        - As sessões de saída não podem mais ter indexadas pelo 'LoginId' do destino
          (target), exatamente porque tal informação não vem mais no
          'CredentialReset'. Também não é razoável indexá-las pelo 'EntityName' pois
          potencialmente há multiplas instâncias da biblioteca de acesso (OpenBusLib)
          mantendo diferentes sessões com o mesmo 'EntityName' (assumiamos que o mesmo
          não acontecia com 'LoginId'), portanto quando uma instância da biblioteca
          conversasse com duas outras instâncias que usem o mesmo 'EntityName' a
          sessão de uma sobreporia a da outra concorrentemente degradando o desempenho
          podendo inclusive levar a uma situação de starvation em casos extremos.
          - A solução adotada foi indexar as sessões diretamente pelo
            'IOR.profile_data' do objeto sendo acessado. Antes fazíamos essa indexação
            de forma indireta através de dois mapas: um que mapeava 'IOR.profile_data'
            pra 'LoginId' e outro de 'LoginId' pra sessão. O intuito disso era
            diminuir o número de sessões a serem mantidas no cache.
      - A forma de identificar se uma chamada está sendo feita a um objeto residente
        no núcleo do barramento (core) é feito comparando o 'CredentialReset.target'
        com o 'BusEntity' (nome da entidade que representa o núcleo do barramento).
      	- Com isso, não é mais necessário padronizar o 'BusLogin' (login ID utilizado
      		pelo núcleo do barramento). Inclusive o login ID utilizado pode ser o mesmo
          bus ID utilizado para diferenciar duas instâncias do barramento OpenBus.
      
      git-svn-id: https://subversion.tecgraf.puc-rio.br/engdist/openbus/core/branches/02_00_00@142237 ae0415b3-e90b-0410-900d-d0be9363c56b
      c3daccbb
  3. 20 Aug, 2012 1 commit
  4. 28 Jul, 2012 1 commit
  5. 26 Jul, 2012 1 commit
    • Renato Figueiro Maia's avatar
      [OPENBUS-1916] Operação 'loginByPassword' deve receber uma chave codificada... · 3564b17e
      Renato Figueiro Maia authored
      [OPENBUS-1916] Operação 'loginByPassword' deve receber uma chave codificada como PKCS#8 usando DER ao invés do objeto chave privdada do LCE
      [OPENBUS-1915] (Lua) Substituir exceções 'WrongPrivateKey' e 'WrongSecret' da API pela exceção 'AccessDenied' do ACS
      [OPENBUS-1726] [LUA] Renomear testes de interoperabilidade de "demo" para "interop" e criar novo diretório "demo" para as novas demos
      - Scripts de execução dos testes de interoperabilidade executam em modo de debug. Para desabilitar isso deve-se remover as variáveis de ambiente LUA_PATH e LUA_CPATH.
      [OPENBUS-1538] Implementar a nova proposta do SDK OpenBus em Lua
      - Novo módulo auxiliar 'openbus.util.except' para facilitar a aplicação a tratar exceções geradas pelo OpenBus em Lua.
      
      git-svn-id: https://subversion.tecgraf.puc-rio.br/engdist/openbus/core/trunk@131534 ae0415b3-e90b-0410-900d-d0be9363c56b
      3564b17e
  6. 25 Jun, 2012 1 commit
  7. 22 Jun, 2012 1 commit
  8. 21 Jun, 2012 4 commits
  9. 14 Jun, 2012 1 commit
  10. 13 Jun, 2012 1 commit