SCRUM issueshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues2017-04-03T12:53:00Zhttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/98Corrigir extensão do le-lab2017-04-03T12:53:00ZDiego Giovane Pasqualindpasqualin@inf.ufpr.brCorrigir extensão do le-labAdicionar um pooling para verificar se o servidor do epoptes mudou.Adicionar um pooling para verificar se o servidor do epoptes mudou.BETAGustavoGustavohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/124le-edubar: BUG Download de arquivo vazio quando sem internet2017-05-08T13:45:40ZGustavole-edubar: BUG Download de arquivo vazio quando sem internetAo clicar no botão download de um recurso educacional quando está sem internet, faz com que um arquivo vazio seja baixado.
* [x] Não baixar o arquivo quando não consegue se conectar ao servidor.
* [x] Verificar se o download foi feito ...Ao clicar no botão download de um recurso educacional quando está sem internet, faz com que um arquivo vazio seja baixado.
* [x] Não baixar o arquivo quando não consegue se conectar ao servidor.
* [x] Verificar se o download foi feito corretamentebeta+2GustavoGustavohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/170le-lab: Verificar erro quando o daemon é fechado.2017-07-11T14:49:52ZLevi Gomesle-lab: Verificar erro quando o daemon é fechado.Quando o le-lab é fechando quando está rodando como daemon, ele não está rodando as funções de clean-up e fechando imediatamente.Quando o le-lab é fechando quando está rodando como daemon, ele não está rodando as funções de clean-up e fechando imediatamente.beta+5Levi GomesLevi Gomeshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/101Generalizar le-lab, separando-o do le-epoptes2017-08-02T13:45:43ZDiego Giovane Pasqualindpasqualin@inf.ufpr.brGeneralizar le-lab, separando-o do le-epoptesA intenção é que o le-lab vire uma ferramenta genérica para facilitar a integração de serviços em uma rede local. Eu não sei se já existe algo parecido, sugiro pesquisar um pouco. Se não existir, podemos escrever um artigo a respeito.
O...A intenção é que o le-lab vire uma ferramenta genérica para facilitar a integração de serviços em uma rede local. Eu não sei se já existe algo parecido, sugiro pesquisar um pouco. Se não existir, podemos escrever um artigo a respeito.
O princípio é então deixar no le-lab apenas o código para administrar os serviços na rede. O código relacionado ao epoptes deverá ser movido para o repositório le-epoptes. A figura abaixo dá uma ideia da proposta para o sistema, com o le-lab implementando quatro funções principais e o le-epoptes, assim como outras aplicações de propósito semelhante, utilizando essas funções. Implemente as modificações no le-lab em um branch de nome issue/101. Essas mudanças devem entrar em produção de forma sincronizada com o repositório le-epoptes.
![le-lab](/uploads/b4e6a213b0e8c08ced274f9101a5fee6/le-lab.png)
[le-lab.dia](/uploads/8a94e21e0a5ce3008e486875619bed8b/le-lab.dia)
* [x] Implementar o novo daemon do le-lab
* [x] Implementar os binários do le-epoptes
* [x] Empacotar os dois projetos
* [x] Atualizar a extensão do le-epoptes para utilizar as novas funções do dbus
* [x] Separar o daemon do dbus do daemon principal do le-labbeta+6Levi GomesLevi Gomeshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/190le-lab: Adicionar medidas de segurança na função systemctl do dbus2017-08-10T12:59:17ZLevi Gomesle-lab: Adicionar medidas de segurança na função systemctl do dbusO dbus do le-lab tem a função de permitir realizar ações em serviços do systemd. Do jeito que funciona atualmente, não existe nenhuma precaução contra um usuário sem acesso root chamar essa função do dbus e manipular serviços que não est...O dbus do le-lab tem a função de permitir realizar ações em serviços do systemd. Do jeito que funciona atualmente, não existe nenhuma precaução contra um usuário sem acesso root chamar essa função do dbus e manipular serviços que não estejam relacionados com o le-lab.
A minha ideia é adicionar uma lista contendo os serviços que o le-lab tem permissão pra modificar. Essa lista ficaria numa pasta protegida e só seria modificada pelos pacotes que fossem instalados.beta+8Levi GomesLevi Gomeshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/220le-lab: Resolver warnings do CI no pacote2017-08-23T16:16:03ZLevi Gomesle-lab: Resolver warnings do CI no pacoteLista de warnings para resolver:
* [x] changelog-should-mention-nmu : Foi porque o changelog de versões antigas foi modificado, provavelmente?
* [x] out-of-date-standards-version : A atual é 3.9.8. Ver se é possível atualizar e se é nec...Lista de warnings para resolver:
* [x] changelog-should-mention-nmu : Foi porque o changelog de versões antigas foi modificado, provavelmente?
* [x] out-of-date-standards-version : A atual é 3.9.8. Ver se é possível atualizar e se é necessário fazer alguma modificação no pacote.
* [x] init.d-script-not-marked-as-conffile etc/init.d/le-lab : Ver se tem como remover o dh_installinit. Ele não causa conflito, de qualquer maneira. Pode ser mais conveniente deixar para compatibilidade.
* [x] binary-without-manpage : Fazer manpage
* [x] bad-distribution-in-changes-file : A gente usa 'testing' como alvo das versões, que não é reconhecido.
* [x] missing-build-dependency-for-dh-addon: A dependência foi removida porque não estava sendo necessária, então fica a dúvida se é sequer necessário usar dh-python no pacote pra ter empacotamento python.beta+9Levi GomesLevi Gomeshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/141le-lab: Atualizar o dbus para utilizar sinais2017-09-05T12:45:17ZLevi Gomesle-lab: Atualizar o dbus para utilizar sinaisA extensão está usando um timeout constante de 1s para verificar o estado do servidor e checar se houve uma mudança. É mais adequado usar um sinal no dbus e conectá-lo à função 'update_server' na extensão.A extensão está usando um timeout constante de 1s para verificar o estado do servidor e checar se houve uma mudança. É mais adequado usar um sinal no dbus e conectá-lo à função 'update_server' na extensão.beta+10Levi GomesLevi Gomeshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/278le-lab: Implementar melhoramentos na interação com a interface le-lab2017-09-26T23:10:58ZLevi Gomesle-lab: Implementar melhoramentos na interação com a interface le-labO le-lab no estado atual requer o uso do dbus para interagir com as suas funções externamente. Para facilitar o uso com a interface e tambem deixá-la mais genérica, será feito uma interface de linha de comando para acessar as funções do ...O le-lab no estado atual requer o uso do dbus para interagir com as suas funções externamente. Para facilitar o uso com a interface e tambem deixá-la mais genérica, será feito uma interface de linha de comando para acessar as funções do le-lab, e tambem uma biblioteca em python que abstrai o acesso às funções do le-lab.
Outro melhoramento a ser feito, é remover a necessidade dos serviços implementando o le-lab adicionarem um arquivo de serviço do avahi. O le-lab pode gerar automaticamente um arquivo de serviço com as configurações padrão usando apenas o nome do serviço.
Lista de tarefas:
* [x] Adicionar biblioteca 'services.py' que implementa uma interface simplificada de acesso às funções do le-lab
* [x] Criar interface via linha de comando pra acessar as funções criadas no 'services.py'
* [x] Alterar o anúncio de serviços para gerar o arquivo de configuração automaticamente
* [x] Atualizar le-epoptes para usar a nova interface
* [x] Atualizar README com as modificações feitasbeta+12Levi GomesLevi Gomeshttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/161Adicionar Family Shield DNS no LE62017-10-04T14:34:25ZDiego Giovane Pasqualindpasqualin@inf.ufpr.brAdicionar Family Shield DNS no LE6O Family Shield é um serviço de DNS que bloqueia sites inapropriados. Para configurar é muito simples, basta adicionar os servidores deles no `/etc/resolv.conf`:
```
nameserver 208.67.222.123
nameserver 208.67.220.123
```
Podemos ...O Family Shield é um serviço de DNS que bloqueia sites inapropriados. Para configurar é muito simples, basta adicionar os servidores deles no `/etc/resolv.conf`:
```
nameserver 208.67.222.123
nameserver 208.67.220.123
```
Podemos simplesmente configurar isso através do le-conf por padrão, mas gostaria de permitir ao usuário desabilitar essa opção se desejado. A forma mais simples de desabilitar em todas as máquinas seria via epoptes. Precisamos então de duas coisas:O le-conf precisa ter um script executável para controlar o serviço na máquina(SCRUM#165) e o epoptes/le-lab precisa ter um método para ativar e desativar o serviço em todas as maquinas.
Algumas ideias levantadas para a implementação dessa função pelo epoptes foram:
- Pesquisar se é possível adicionar uma função dentro do epoptes como um 'add-on' para executar esse comando. Seria adicionado um ícone a mais na interface do epoptes que iria habilitar/desabilitar o Family Shield em todas as máquinas da rede(o epoptes já tem uma função para executar comandos nas máquinas cliente, então imagino que seja possível fazer isso).
- Pode ser implementada uma interface que faça isso no le-lab: O usuário professor e admin podem executar um comando para habilitar/desabilitar o Family Shield(isso pode ser feito através de uma interface gráfica do le-lab acessada pela barra superior). Quando esse comando for executado, o le-lab anuncia um serviço na rede. As máquinas cliente detectam o serviço e executam o script do family shield.
beta+12Luiz Vasconcelloslfav17@inf.ufpr.brLuiz Vasconcelloslfav17@inf.ufpr.brhttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/114le-lab: Adicionar um botão para abrir o epoptes na extensão2017-10-03T15:29:58ZLevi Gomesle-lab: Adicionar um botão para abrir o epoptes na extensãoA extensão deve permitir que os usuários autorizados cliquem num botão "Server", que abrirá o daemon do epoptes.A extensão deve permitir que os usuários autorizados cliquem num botão "Server", que abrirá o daemon do epoptes.beta+12GustavoGustavohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/230Adicionar job no .gitlab-ci.yml dos pacotes para publicar pacotes no repositó...2017-10-11T13:43:05ZDiego Giovane Pasqualindpasqualin@inf.ufpr.brAdicionar job no .gitlab-ci.yml dos pacotes para publicar pacotes no repositório stableSerão dois novos jobs no .gitlab-ci.yml:
- build_for_stable: Esse job será igual ao atual `build`, porém ele deve antes substituir o valor `testing` por `stable` no arquivo `package/debian/changelog` em todas as entradas.
- deploy_to_p...Serão dois novos jobs no .gitlab-ci.yml:
- build_for_stable: Esse job será igual ao atual `build`, porém ele deve antes substituir o valor `testing` por `stable` no arquivo `package/debian/changelog` em todas as entradas.
- deploy_to_production: Esse job extra deve ser manual, ou seja, o administrador do repositório git deve clicar em um botão no gitlab para que ele seja publicado no stable do repositório debian (veja [manual do gitlab-ci](https://gitlab.c3sl.ufpr.br/help/ci/pipelines.md). Ele irá fazer o deploy dos artefatos gerados no `build_for_stable`, rodando o mesmo comando do atual job de nome `deploy` (alterando, portanto, apenas o `dependencies`.
Outras mudanças necessárias:
- Substituir nome do job `build` para `build_for_testing` (lembrar de ajustar campo `dependencies` nos jobs correspondentes).
- Substituir nome do job `deploy` para `deploy_to_testing`.
- Como vai existir repetição de código em `build_for_testing` e `build_for_stable`, considerar a criação de um script na raiz do repositório com o código abaixo (pode ser levemente diferente para cada repositório):
```bash
LINE=$(head -n 1 package/debian/changelog)
PACKAGE=$(echo $LINE | cut -d' ' -f1)
VERSION=$(echo $LINE | cut -d' ' -f2 | grep -o -E '[0-9]*\.[0-9]*\.[0-9]*')
tar --exclude=debian -czf ${PACKAGE}_${VERSION}.orig.tar.gz package/*
cd package
debuild -us -uc
cd ../
mkdir build/
mv ${PACKAGE}* build/
```
Efetuar alterações acima mencionadas em todos os pacotes do LE e marcar abaixo quando pronto:
* [x] le-autoupgrade
* [x] le-all
* [x] le-live-all
* [x] le-interface
* [x] le-user-apps
* [x] le-sys-apps
* [x] le-conf
* [x] le-lab
* [x] le-epoptes
* [x] ubiquity
* [x] le-edubar
* [x] le6-gtk-theme
* [x] le-control-panel
* [x] dash-to-dock
* [x] ubiquity-slideshow-le
Para cada pacote, crie um branch `issue/230` e solicite merge request para o `master`, mencionando essa tarefa no commit (exemplo: `SCRUM#230: add job on .gitlab-ci.yml to deploy package to stable repository`.stableLuan Varaschim WelterLuan Varaschim Welterhttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/470Remover uso de variáveis privadas fora das classes no le-lab2018-04-16T18:35:02ZDiego Giovane Pasqualindpasqualin@inf.ufpr.brRemover uso de variáveis privadas fora das classes no le-labAtualmente variáveis iniciando com _, comumente utilizadas para definir variáveis privadas no python, estão sendo utilizadas fora das classes. Se elas precisam ser utilizadas fora da classe devem ser definidas como públicas. Se necessári...Atualmente variáveis iniciando com _, comumente utilizadas para definir variáveis privadas no python, estão sendo utilizadas fora das classes. Se elas precisam ser utilizadas fora da classe devem ser definidas como públicas. Se necessário, definir getters and setters. Exemplos:
https://www.programiz.com/python-programming/property
https://www.python-course.eu/python3_properties.phpstable-6.1.1-2Rafael S CastilhoRafael S Castilhohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/453O serviço do le-lab e a atualização de pacotes parece estar inconsistente2018-04-25T12:15:19ZDavisson Henrique PaulinoO serviço do le-lab e a atualização de pacotes parece estar inconsistente* Ao fazer dist-upgrade da versão da iso de 2017-12-22 para a próxima estáva dando o seguinte erro:[erro_le_lab.ppm](/uploads/8fa70e0fcbd77c0389607d2d35e4a562/erro_le_lab.ppm)
* Isso acontecia porque quando o le-lab carregava as suas lis...* Ao fazer dist-upgrade da versão da iso de 2017-12-22 para a próxima estáva dando o seguinte erro:[erro_le_lab.ppm](/uploads/8fa70e0fcbd77c0389607d2d35e4a562/erro_le_lab.ppm)
* Isso acontecia porque quando o le-lab carregava as suas listas de serviços o arquivo `disableFamilyShield.dpkg-new` existia, porém em outro momento(provavelmente ao parar o le-lab) ele não existia mais. Ver #451
* Mas quando o pacote le-parental-control é atualizado não acontece conflito em arquivo nenhum. Então o dpkg pode estar gerando o `disableFamilyShield.dpkg-new` apenas de forma temporária e o le-lab está sendo inicializado nesse meio tempostable-6.1.1-3André MachadoAndré Machadohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/485Desinstalação do le-lab não esta sendo feita direito2018-05-09T13:05:23ZRafael S CastilhoDesinstalação do le-lab não esta sendo feita direitona hora de desintalar o le-lab ele ainda deixa alguns arquivos de configuração pra tras na maquina, além disso o epoptes que deveria ser desinstalado junto com o le-lab é dito como desinstalado antes de o le-lab tentar desinstala-lo. O r...na hora de desintalar o le-lab ele ainda deixa alguns arquivos de configuração pra tras na maquina, além disso o epoptes que deveria ser desinstalado junto com o le-lab é dito como desinstalado antes de o le-lab tentar desinstala-lo. O resultado é que quando se reinstala o le-labo le-epoptes não funciona e as notificações do le-lab somem.stable-6.1.1-4Rafael S CastilhoRafael S Castilhohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/561Classe de tipo de serviço do le-lab; ex. uma única máquina pode anunciar-se c...2018-06-14T12:48:17ZAlessandro EliasClasse de tipo de serviço do le-lab; ex. uma única máquina pode anunciar-se como servidor.A ideia é criar tipo de serviço que somente uma máquina pode anunciar na rede, ou outro tipo que pode ter mais de uma anunciando. Assim resolvemos o problema do family-shiled (inconsistência) vide issue #528.A ideia é criar tipo de serviço que somente uma máquina pode anunciar na rede, ou outro tipo que pode ter mais de uma anunciando. Assim resolvemos o problema do family-shiled (inconsistência) vide issue #528.stable-6.1.1-6Davisson Henrique PaulinoDavisson Henrique Paulinohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/562Servidor epoptes não consegue se conectar com cliente2018-08-16T13:15:24ZLucas Sulzbachls17@inf.ufpr.brServidor epoptes não consegue se conectar com clienteEste problema aconteceu algumas vezes comigo: O servidor epoptes não consegue se conectar com a outra máquina da rede, porém a instância do le-lab nesta outra máquina a considera cliente. Algumas vezes ocorre uma exceção junto com as men...Este problema aconteceu algumas vezes comigo: O servidor epoptes não consegue se conectar com a outra máquina da rede, porém a instância do le-lab nesta outra máquina a considera cliente. Algumas vezes ocorre uma exceção junto com as mensagens de connection lost, como pode ser visto no log: [epoptes.log](/uploads/23224a4ab75523b7550fc031eeab3b68/epoptes.log)
```
2018-05-23 11:07:32-0300 [-] Log opened.
2018-05-23 11:07:32-0300 [-] twistd 16.0.0 (/usr/bin/python 2.7.12) starting up.
2018-05-23 11:07:32-0300 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2018-05-23 11:07:32-0300 [-] DelimitedBashReceiverFactory (TLS) starting on 789
2018-05-23 11:07:32-0300 [-] Starting factory <epoptes.daemon.bashplex.DelimitedBashReceiverFactory instance at 0x7f8f705104d0>
2018-05-23 11:07:32-0300 [-] GUIFactory starting on '/var/run/epoptes/epoptes.socket'
2018-05-23 11:07:32-0300 [-] Starting factory <epoptes.daemon.guiplex.GUIFactory instance at 0x7f8f705105a8>
2018-06-06 11:55:41-0300 [-] Received SIGTERM, shutting down.
2018-06-06 11:55:41-0300 [-] (UNIX Port /var/run/epoptes/epoptes.socket Closed)
2018-06-06 11:55:41-0300 [-] Stopping factory <epoptes.daemon.guiplex.GUIFactory instance at 0x7f8f705105a8>
2018-06-06 11:55:41-0300 [-] (TLS Port 789 Closed)
2018-06-06 11:55:41-0300 [-] Stopping factory <epoptes.daemon.bashplex.DelimitedBashReceiverFactory instance at 0x7f8f705104d0>
2018-06-06 11:55:41-0300 [-] Main loop terminated.
2018-06-06 11:55:41-0300 [-] Server Shut Down.
2018-06-06 11:58:28-0300 [-] Log opened.
2018-06-06 11:58:28-0300 [-] twistd 16.0.0 (/usr/bin/python 2.7.12) starting up.
2018-06-06 11:58:28-0300 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2018-06-06 11:58:28-0300 [-] DelimitedBashReceiverFactory (TLS) starting on 789
2018-06-06 11:58:28-0300 [-] Starting factory <epoptes.daemon.bashplex.DelimitedBashReceiverFactory instance at 0x7f5dd6b3bdd0>
2018-06-06 11:58:28-0300 [-] GUIFactory starting on '/var/run/epoptes/epoptes.socket'
2018-06-06 11:58:28-0300 [-] Starting factory <epoptes.daemon.guiplex.GUIFactory instance at 0x7f5dd6b3bea8>
2018-06-14 09:58:12-0300 [epoptes.daemon.guiplex.GUIFactory] GUI connection established (HOST:UNIXAddress('/var/run/epoptes/epoptes.socket') PEER:UNIXAddress(None))
2018-06-14 09:58:53-0300 [-] Connected: 192.168.56.102:51904
2018-06-14 09:58:53-0300 [-] Connection lost: 192.168.56.102:51904
2018-06-14 09:58:53-0300 [-] Connected: 192.168.56.102:51906
2018-06-14 09:58:53-0300 [-] Connection lost: 192.168.56.102:51906
2018-06-14 09:59:28-0300 [GUI,0,] GUI connection lost (HOST:UNIXAddress('/var/run/epoptes/epoptes.socket') PEER:UNIXAddress(None))
2018-06-14 09:59:51-0300 [twisted.protocols.tls.TLSMemoryBIOFactory] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 84, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 597, in _doReadOrWrite
why = selectable.doRead()
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 1074, in doRead
protocol.makeConnection(transport)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 302, in makeConnection
self._tlsConnection = self.factory._createConnection(self)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 830, in _createConnection
connection = connectionCreator.serverConnectionForTLS(tlsProtocol)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 709, in serverConnectionForTLS
return self._connectionForTLS(protocol)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 690, in _connectionForTLS
context = self._oldStyleContextFactory.getContext()
File "/usr/lib/python2.7/dist-packages/twisted/plugins/epoptesd.py", line 51, in getContext
ctx.use_certificate_file("/etc/epoptes/server.crt")
File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 602, in use_certificate_file
_raise_current_error()
File "/usr/lib/python2.7/dist-packages/OpenSSL/_util.py", line 48, in exception_from_error_queue
raise exception_type(errors)
OpenSSL.SSL.Error: [('system library', 'fopen', 'No such file or directory'), ('BIO routines', 'FILE_CTRL', 'system lib'), ('SSL routines', 'SSL_CTX_use_certificate_file', 'system lib')]
2018-06-14 09:59:51-0300 [DelimitedBashReceiver (TLSMemoryBIOProtocol),2,192.168.56.102] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 101, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 84, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 597, in _doReadOrWrite
why = selectable.doRead()
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 209, in doRead
return self._dataReceived(data)
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 215, in _dataReceived
rval = self.protocol.dataReceived(data)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 406, in dataReceived
self._tlsConnection.bio_write(bytes)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/policies.py", line 114, in __getattr__
return getattr(self.transport, name)
exceptions.AttributeError: 'NoneType' object has no attribute '_tlsConnection'
2018-06-14 09:59:51-0300 [DelimitedBashReceiver (TLSMemoryBIOProtocol),2,192.168.56.102] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 285, in runReactorWithLogging
reactor.run()
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1194, in run
self.mainLoop()
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1206, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/dist-packages/twisted/internet/epollreactor.py", line 396, in doPoll
log.callWithLogger(selectable, _drdw, selectable, fd, event)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 101, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 84, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 610, in _doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 258, in _disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 293, in connectionLost
protocol.connectionLost(reason)
File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 472, in connectionLost
self._tlsConnection.bio_shutdown()
File "/usr/lib/python2.7/dist-packages/twisted/protocols/policies.py", line 114, in __getattr__
return getattr(self.transport, name)
exceptions.AttributeError: 'NoneType' object has no attribute '_tlsConnection'
2018-06-14 09:59:52-0300 [epoptes.daemon.guiplex.GUIFactory] GUI connection established (HOST:UNIXAddress('/var/run/epoptes/epoptes.socket') PEER:UNIXAddress(None))
2018-06-14 09:59:52-0300 [-] Connected: 192.168.56.102:51910
2018-06-14 09:59:52-0300 [-] Connection lost: 192.168.56.102:51910
2018-06-14 09:59:52-0300 [-] Connected: 192.168.56.102:51912
2018-06-14 09:59:52-0300 [-] Connection lost: 192.168.56.102:51912
2018-06-14 10:00:52-0300 [-] Connected: 192.168.56.102:51914
2018-06-14 10:00:52-0300 [-] Connection lost: 192.168.56.102:51914
```stable-6.1.1-7Lucas Sulzbachls17@inf.ufpr.brLucas Sulzbachls17@inf.ufpr.brhttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/469Centralizar o nível de log no le-lab2018-08-29T18:12:04ZDiego Giovane Pasqualindpasqualin@inf.ufpr.brCentralizar o nível de log no le-labO le-lab atualemente utiliza diferentes níveis de log "DEBUG", "INFO", "WARNING" em cada um de seus arquivos, dificultando a alteração do mesmo. Essa tarefa visa centralizar em um único local a definição dessa constante.O le-lab atualemente utiliza diferentes níveis de log "DEBUG", "INFO", "WARNING" em cada um de seus arquivos, dificultando a alteração do mesmo. Essa tarefa visa centralizar em um único local a definição dessa constante.stable-6.1.1-7GabrielGabrielhttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/460Melhorar tratamento de erros no le-lab2018-11-09T13:29:10ZDavisson Henrique PaulinoMelhorar tratamento de erros no le-lab* Analisar o código do le-lab verificando possíveis erros, o que eles efetariam e trata-los, caso necessário.
* Algumas funções tratam exception e retornam booleanos, porém não é verificado no nível acima e o status de erro não é propag...* Analisar o código do le-lab verificando possíveis erros, o que eles efetariam e trata-los, caso necessário.
* Algumas funções tratam exception e retornam booleanos, porém não é verificado no nível acima e o status de erro não é propagado
* Me parece uma boa prática não usar booleano em caso de erro, mas sim Exceptions, pois elas se propagam nos diversos níveis da pilha, não precisando cada nível fazer isso
* Um caso onde isso acontece é:
Arquivo: `le-lab`
```python
arguments = parser.parse_args()
if arguments.services:
if services.parse_service_arguments(arguments):
exit(0)
else:
exit(1)
if arguments.create:
if parse_creation_arguments(arguments):
exit()
else:
exit(1)
```
Se você descer na pilha de chamada das funções `services.parse_service_arguments(arguments)` e `parse_creation_arguments(arguments)`, perceberá que os erro não chega no topostable-6.1.1-7Davisson Henrique PaulinoDavisson Henrique Paulinohttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/614Exceção no le-lab na iso testing2018-12-04T12:15:52ZLucas Sulzbachls17@inf.ufpr.brExceção no le-lab na iso testingObtive este crash report ao bootar uma iso gerada a partir do repositório testing. Verificar se o erro já é conhecido e se tem a ver com a iso ou com o pacote.
![Screenshot_le6-testing_2018-09-12_11_54_40](/uploads/8fb137397b5209e42a6ae...Obtive este crash report ao bootar uma iso gerada a partir do repositório testing. Verificar se o erro já é conhecido e se tem a ver com a iso ou com o pacote.
![Screenshot_le6-testing_2018-09-12_11_54_40](/uploads/8fb137397b5209e42a6aef0ce55a5b02/Screenshot_le6-testing_2018-09-12_11_54_40.png)Testing-freezing-6.1.1-8legtonlegtonhttps://gitlab.c3sl.ufpr.br/le6/SCRUM/-/issues/584Quando o le-lab esta parado, le-lab --restart não funciona.2018-12-04T14:05:52ZRafael S CastilhoQuando o le-lab esta parado, le-lab --restart não funciona.Esse é o erro que ocorre:
Traceback (most recent call last):
File "/usr/sbin/le-lab", line 559, in <module>
smh = ServicesMethodsHandler()
File "/usr/sbin/le-lab", line 412, in __init__
self._conn = services.get_connecti...Esse é o erro que ocorre:
Traceback (most recent call last):
File "/usr/sbin/le-lab", line 559, in <module>
smh = ServicesMethodsHandler()
File "/usr/sbin/le-lab", line 412, in __init__
self._conn = services.get_connection()
File "/usr/lib/python3/dist-packages/lelab/services.py", line 73, in get_connection
s = Lelab_Services()
File "/usr/lib/python3/dist-packages/lelab/services.py", line 36, in __init__
constants.DBUS_DOMAIN, constants.DBUS_PATH, system=True)
File "/usr/lib/python3/dist-packages/lelab/utils.py", line 173, in get_dbus_connection
"Couldn't get a connection with the dbus at " + domain + ", " + path)
lelab.utils.FailedToConnectWithDbusException: Couldn't get a connection with the dbus at br.ufpr.c3sl.lelab,
/br/ufpr/c3sl/lelab
Testing-freezing-6.1.1-8legtonlegton