Suporte ao Route 53 no pfSense – Round 3

Quem leu meu ultimo post sabe da odisséia em relação ao patch que criei para adicionar o suporte para o Route 53 no pfSense 2.0.1.

O primeiro patch que eu submeti foi recusado pois eu estava resolvendo boa parte das tarefas relacionadas a criação e transmissão do xml com o change request para a Amazon AWS usando system calls. Aquela versão era dirt and cheap, não demorou muito para ser feita e resolvia o problema a contento pois não era algo que seria submetido a acesso dos usuários finais, logo dificilmente comprometeria a performance do sistema.

Mas entendi a preocupação dos mantenedores do projeto oficial e refiz a implementação de forma a utilizar apenas funções internas do PHP, com base no patch final desta segunda estratégia de implementação eu gerei um pull request no github. Infelizmente mais uma vez o patch foi recusado, desta vez por ter optado por criar uma tela nova para Route 53 dentro do serviço de “Dynamic DNS”.

Na visão dos responsáveis pelo pfSense a implementação teria que ser feita tratando o Route 53 da mesma forma que o pfSense já trata os outros 14 provedores suportados, ou seja, deveria ser implementado dentro da infra estrutura atual do serviço de dyndns.

Se eles tivessem me dito isso quando criei o primeiro patch teriam me economizado um bom tempo :( , mas enfim como sou brasileiro e os brasileiros não desistem nunca eu refiz a implementação pela terceira vez.

Para esta nova implementação eu não criei um novo patch para download, gerei apenas um novo pull request:

https://github.com/bsdperimeter/pfsense/pull/71

Os pré requisitos para utilizar o Route 53 dentro do pfSene continuam os mesmos, se vc pretente utilizá-lo vocë vai precisar habilitar o suporte a hash_hmac() no seu PHP e vai precisar instalar os root certificates disponiveis no ports do FreeBSD para que o script possa validar o certificado SSL da Amazon AWS durante o processo de envio dos change requests.

Para o pfSense 2.0.1 os pacotes são respectivamente  php52-hash-5.2.13_3.tbz e ca_root_nss-3.12.4.tbz, lembrem-se de usar as opções -fi no pkg_add ou vc vai quebrar o seu pfSense.

Antes de aplicar o patch sua tela de edição de Dynamic DNS Client vai estar assim:

Depois de instalar o patch vc irá reparar que será exibido na lista de “Service type” a opção “Route 53″, ao selecioná-la serão exibidos 2 novos campos no formulário, para que vc possa entrar com as informações que são especificas para Route 53:

No meu fork do pfSense no gitHub vc vai encontrar 2 Branchs:

Implementação anterior, como serviço isolado:

https://github.com/ebrandi/pfsense/tree/route53update

Implementação atual, dentro do serviço dyndns:

https://github.com/ebrandi/pfsense/tree/r53dyndns

Vamos ver se dessa vez a contribuição será aceita, se não for eu desisto hehehehe

Apesar de ser brasileiro eu não vou implementar a mesma coisa uma quarta vez :p

[]`s Edson

UPDATE 04/04/2012:

O pull request desta ultima versão do patch foi aceita, e a implementação do suporte ao Route 53 foi incorporada ao código do pfSense :)

https://github.com/bsdperimeter/pfsense/commit/6ffef738890337286cd5519242dd10eeedb70b1f

One Response to “Suporte ao Route 53 no pfSense – Round 3”

  1. Fantástico Edson, excelente trabalho, continue colaborando com o pfsense.

    Grande abs