Author Topic: "File -> Open location" en el Script Editor, o checksum de scripts  (Read 3312 times)

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
    • View Profile
Cucú!

En vista de la experiencia pasada, parece que no son pocos los casos de problemas en los scripts producidos por usar el tradicional método de copiar y pegar. Por ello he dedicado un par de minutos a buscar soluciones y bueno, esto es lo que tengo:

a) Permitir al editor de scripts bajarse un archivo remoto ("File -> Open location"). Actualmente nada impide bajarse el archivo con un navegador y luego abrirlo con el editor, pero si el editor es capaz de bajárselo (y sabemos que PixInsight puede ;)), pues mejor todavía. Esta me parece la mejor solución, y pienso que no debe de ser complicado llevarla a cabo.

b) Implementar alguna clase de checksum en el editor, por ejemplo "File -> Show checksum". Así, el autor usaría esa herramienta para obtener el checksum del script que, obviamente, funciona en su máquina, y lo publicaría junto con el script para que los demás lo puedan comprobar. Bastaría con un CRC32 o algo así pequeño. Es una solución secundaria, puesto que si alguien se encuentra con un resultado distinto, no va a saber en qué punto está la diferencia. Además, archivos con distintos checksums pueden funcionar perfectamente (por diferencias en algún espacio en blanco o algo así).

Hala, por ideas que no quede :^P.
--
 David Serrano

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 6942
    • View Profile
    • http://pixinsight.com/
"File -> Open location" en el Script Editor, o checksum de scripts
« Reply #1 on: 2007 October 26 02:20:49 »
Hola David

Por supuesto, cuenta con esto para la próxima versión.

De hecho, hay una opción en Global Security Options que incluso prevé la posibilidad de ejecutar scripts descargándolos directamente desde ubicaciones remotas. Habilitando esta opción se abrirá la posibilidad de ejecutar scripts distribuidos, lo cual es muy potente y versátil, aunque obviamente muy peligroso al mismo tiempo.

Para este fin, la sentencia #include del preprocesador de JS permitirá especificar URLs, tal como hace ahora la orden open, por ejemplo. Estos #include fallarán si la opción correspondiente de seguridad no está habilitada. Más adelante habrá que añadir la posibilidad de especificar una lista de "trusted locations", para hacer la cosa más flexible.

En cuanto a ideas no te cortes, que más vale que sobren...
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 6942
    • View Profile
    • http://pixinsight.com/
"File -> Open location" en el Script Editor, o checksum de scripts
« Reply #2 on: 2007 October 26 02:24:19 »
Ah, se me olvidaba, respecto de los checksums. Pienso que MD5 y/o SHA1 son lo más indicado en este caso. La ventaja es que de paso tenemos una verificación de autenticidad, cosa que ningún CRC puede ofrecer.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
    • View Profile
"File -> Open location" en el Script Editor, o checksum de scripts
« Reply #3 on: 2007 October 26 02:50:25 »
Quote from: "Juan Conejero"
Más adelante habrá que añadir la posibilidad de especificar una lista de "trusted locations", para hacer la cosa más flexible.


Sí, pero con cuidado de los ataques a DNS ;). Todas estas cosas hay que basarlas en direcciones IP siempre. Y si éstas cambian, pues a fastidiarse (es decir, averiguarlas e integrarlas en la lista blanca de Pixi antes de ponerlas en producción).


Quote from: "Juan Conejero"
Pienso que MD5 y/o SHA1 son lo más indicado en este caso. La ventaja es que de paso tenemos una verificación de autenticidad, cosa que ningún CRC puede ofrecer.


Si lo dices por la posibilidad de colisiones, estoy de acuerdo. Sólo proponía CRC para que el usuario no tenga que comparar más que 8 dígitos hexadecimales (o 10 numéricos) en lugar del ladrillo MD5.
--
 David Serrano