Blackstone: vídeos da MAX2003

Depois da excelente e divertidíssima apresentação feita pelo Marco Antonio (CFUG-Rio) direto da MAX2003, disponibilizo para download dois vídeos “undergrounds” de duas apresentações da MAX sobre o novo ColdFusion, codinome “blackstone”.

O primeiro é a apresentação oficial feita pelo Ben Forta ontem, dia 20 – veja o post relacionado. O segundo vídeo é da apresentação do Mike Nimer, feita hoje, durante o sneak peek, demonstrando (num protótipo “flexado”) algumas das prováveis novas funcionalidades do Blackstone.

Os vídeos estão em formato QuickTime e requerem o dito cujo para assistir. Estão um pouco escuros e desfocados, mas dá para entender e ver boa parte das apresentações, incluindo o figurino inusitado em que o pessoal da Macromedia se meteu: abelhas humanas! (juro que não entendi). Ambos foram gravados e disponibilizados por Ken Azuma, o qual somos imensamente agradecidos!!

Blackstone, por Ben Forta (12Mb)
Blackstone no sneak peek, por Mike Nimer (5Mb)

BTW: confiram também os comentários-calúnia do Jonas Galvez sobre a apresentação do Marco…


coldfusion.policy

Vendo o post abaixo do figuraça Alex Hübner, me lembrou que dia desses, logo após selecionar o “Enable ColdFusion Security” para ativar o Sandbox de um servidor ColdFusion, fui, como é de praxe – e necessário – reiniciar o serviço do ColdFusion.

E não é que o servidor não iniciava? Não dava nenhuma mensagem de erro? Simplesmente não iniciava! $%^&*!

Lá fui eu:


C:>cd d:cfusionmxruntimebin

d:CFusionMXruntimebin>jrun
java.security.policy: error parsing file:/D:/CFusionMX/lib/coldfusion.policy:
line 9: expected [;], found [deny]
Exception in thread “main” java.lang.ExceptionInInitializerError
Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission jrun.home read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1276)
at java.lang.System.getProperty(System.java:573)
at jrunx.kernel.JRun.(JRun.java:52)

D:CFusionMXruntimebin>

E lá fui agora no coldfusion.policy, que se encontrava da seguinte maneira:


// PERMISSIONS GRANTED TO EVERYONE

grant {

permission java.security.AllPermission;

};

deny {

permission java.security.AllPermission;

};

Olha, eu não sei porque diabos ele estava assim nessa indecisão de permito? ou não permito? ser ou não ser? ohhh…, mas tirando o deny {permission java.security.AllPermission;}, claro, ele funcionou numa boa.


Bug com CFFTP e sandbox security?

Não sou de ficar caçando agulha em palheiro mas hoje acredito ter encontrado um segundo bug no CFMX 6.1 (o primeiro pode ser visto aqui). Desta vez foi tentando encontrar a solução para um problema levantado por um cliente da MM Brasil (provavelmente o mesmo que postou uma mensagem sobre isso na CF-Brasil em setembro deste ano). Parece que a tag CFFTP (com seus atributos padrões) não funciona corretamente e numa pasta “sandboxizada” (seria melhor usar “contextualizada”?).

Sou um completo ignorante em RFCs, protocolos e afins, por isso me perdoem os puristas sobre o que vou falar sobre o protocolo FTP… Quando nos conectados a um servidor FTP usando a tag CFFTP, o ColdFusionMX (devemos encarar o ColdFusionMX/CFFTP como “clientes” FTP) usa – por padrão (?) – o modo PORT para se conectar ao host FTP solicitado. Desta maneira o tráfego de informações ficará “travado”, no lado do servidor FTP, somente nas portas 21 (cmd) e 20 (data). Qualquer um que já tenha configurado um firewall ou mesmo um cliente FTP já se deparou com esse comportamento (que na verdade é uma regra).

O cerne da questão é que, apesar de ter todas as permissões corretas e configuradas na seção “Server/Ports” de uma sandbox security, o CFMX não consegue completar a conexão, retornando um erro de java.net.SocketPermission denied, tal como reportado.

Mesmo quando não existe qualquer restrição de host/ips e portas no “Server/Ports” (default quando você configura uma nova sandbox) o CFMX é incapaz de se conectar via FTP em modo default (port). “Googlei” para todo o lado procurando alguém que tenha encontrado o mesmo problema mas só encontrei um relato semelhante, até agora sem resposta.

Estaria eu viajando de bonde ou trata-se realmente de um bug?

O workaround que encontrei para o problema é o seguinte:

1) No seu script CFML, use o atributo passive=”Yes” da tag CFFTP;
2) Prefira não configurar restrições dentro de “Server/Ports”. Caso isso seja imprescindível e inevitável, esta deverá conter as seguintes entradas: (1) “localhost:(todas as portas – basta deixar o campo “port” em branco)”, (2) “ftp.uol.com.br:21” (ou qq. outro host ftp), (3) “ftp.uol.com.br:1024-65535” (range dinâmico para retorno de conexões FTP em modo passive).

Veja no link continue lendo abaixo a mensagem que enviei à Macromedia (bug form) sobre o assunto.

Alguém aí consegue reproduzir o dito cujo?

UPDATE: A Macromedia Inc confirma o bug e este foi adicionado ao bug base sob o número 54053.

Leia o resto deste post »


ColdFusion Blackstone

Ben Forta solta algumas (poucas) palavras sobre a próxima versão do ColdFusion.


MAX 2003

Começou hoje a MAX 2003. Se você não está acompanhando o blog MAX2003.br está perdendo. Marco Antonio, do CFUG-Rio, tem notícias frescas e belas fotografias.

Confira: MAX2003.br


Verificar endereços de e-mail

Rolou um assunto na lista CF-Brasil, que também é assunto nas mais diversas listas de desenvolvimento de aplicações web: como saber se um e-mail é valido ou não é.

É irritante enviar milhares de e-mails e centenas deles voltarem como inexistentes. Por mais que acrescentemos algumas linhas de código, seja no cliente ou no servidor, para verificar, não a existência de fato do e-mail, mas apenas se o formato está correto, ainda teremos e-mails inválidos aos montes.

E é claro, há como fazer isso.

Leia o resto deste post »


Flex?

Muita coisa nova para ler, um novo produto para entender.

Royale agora é Macromedia Flex, entenda você mesmo:

http://www.macromedia.com/software/flex/

[via duzentos outros blogs]


Interface nas aplicações

User Interface Design for Web Applications

[via caiocesar]


Enquanto isso…

em um servidor compartilhado sem sandbox security…

databasefile.gif

E é claro que é possível fazer download do banco de dados digitando o endereço (fornecido pelo path do databaseFile) no browser…


Enquanto isso…

num servidor ColdFusion de uma empresa não muito longe daqui…

serialnumber.gif

E isso porque a atualização da versão 6.0 para a 6.1 é gratuíta! Agora, imaginem se a empresa em questão for um hosting, quantas pessoas não poderiam ter acesso a esse número serial…