Eclipse Conditional Breakpoints

February 28, 2008 on 11:13 am | In java | No Comments

As capacidades de debugging do Eclipse são uma daquelas coisas que dão vontade de o usar como ambiente de desenvolvimento. O facto de funcionar bem com aplicações multi-threaded e de permitir hot-replacement de código já me poupou bastante tempo.

O que descobri recentemente (a necessidade aguça mesmo o engenho) é que os tradicionais breakpoints podem ser complementados com condições, de forma a que só disparem quando se quer, e não sempre que o fio de execução por lá passa.

Como se faz? Cria-se um breakpoint normal, depois right-click lá em cima, Breakpoint Properties, et voilà.

eclipse_conditional_breakpoints1.PNG

eclipse_conditional_breakpoints2.PNG

OpenWRT - DNSMasq forwarding

February 18, 2008 on 6:22 pm | In open-source, networking, linux | 6 Comments

Troquei recentemente o router lá de casa por um Asus WL-500G Premium.

Pretendia usá-lo como router/access point convencional, mas também como:

  • print server - para uma HP com interface USB;
  • file server - usando como dispositivo de armazenamento uma pen ou disco usb externo;
  • ipsec gateway - para estabelecer uma VPN com a firewall corporativa e permitir acesso aos PCs lá de casa;

Tudo isto podia ser conseguido com o firmware original do router, excepto a parte do ipsec. Como também tinha alguma curiosidade em instalar Linux em sistemas “embedded”, resolvi  experimentar.

A primeira tentativa foi com o DD-WRT, mas não gostei do sistema de ficheiros read-only, nem do feel da coisa. A segunda tentativa foi com o OpenWRT, e desta vez fiquei satisfeito. A documentação existente no wiki é francamente boa, tanto no que diz respeito aos procedimentos de instalação, como também à configuração e afinação final.

Consegui completar todos os objectivos traçados recorrendo à documentação existente no wiki, com excepção de um pequeno pormenor. Depois de estabelecida a VPN com a firewall corporativa, dá muito jeito que as queries DNS para o domínio interno da rede corporativa sejam enviadas através da VPN até aos servidores responsáveis pela zona. O DNSMasq tal como vem instalado só permite encaminhar todas as queries para um (ou mais servidores), ou resolvê-las a partir dos root servers. Parecia não haver forma de fazer um encaminhamento selectivo de queries de certos domínios para um (ou mais servidores) de DNS.

Acabei por descobrir a solução na manpage do DNSMasq. Há um switch que permite definir exactamente isso:

-S /private.domain/w.x.y.z

Acrescentando este switch à variável args do script de arranque em /etc/init.d/dnsmasq consegue-se que o router encaminhe todas as queries de DNS para a zona private.domain para o servidor de DNS com o endereço w.x.y.z.

© procself. Este blog está alojado no FEUP Blogs. Crie também o seu blog.
Subscreva os Artigos (RSS) e os Comentários (RSS) do procself.