Por: Frank da Cruz
Artículo Original: https://www.kermitproject.org/ckdaily.html
[email protected] ← (enviar informes a)
A partir de C-Kermit 10.0, esta página sólo muestra las pruebas Alfa y Beta. Las actualizaciones "diarias" se encuentran ahora AQUÍ.
A partir de C-Kermit 10.0 Beta.10, 3 de julio de 2023 |
Última actualización de esta página: Wed Sep 27 13:22:35 2023 Eastern USA time
TODOS LOS ENLACES FTP CONVERTIDOS A HTTPS 7 May 2021
▶▶ Ver breve registro de cambios a continuación ▶▶ Ir al voluminoso historial de actualizaciones
Vea la tabla de compilaciones recientes de C-Kermit, con y sin éxito. Si descarga y compila esta versión, envíe los resultados al correo electrónico anterior para incluirlos en la tabla. |
Entre las versiones formales de C-Kermit, e incluso entre las versiones Alpha y Beta durante los periodos de prueba de C-Kermit, las fuentes de trabajo actuales se suben al sitio web de Kermit siempre que haya algo nuevo que mostrar y las comprobaciones de consistencia razonables no fallen. Desde 2010, las nuevas construcciones no son tan frecuentes; "diario" es una ligera exageración debido a la cancelación del Proyecto Kermit como mi trabajo diario.
DESCARGAR | TARGET | Descripción |
Unix | C-Kermit para código fuente Unix, archivo Tar, compresión Gzip (gunzip, 2,4 MB) | |
Unix | Ditto, compresión de Compress (descomprimir, 3,5MB). | |
Unix | Ditto, sin comprimir (10 MB) | |
VMS | Código fuente Unix y VMS, archivo ZIP (unzip*, 2,8 MB). | |
Unix | Listado clicable de los archivos del directorio kermit/test/tar. | |
(both) | Listado clicable de los archivos del directorio kermit/test/text. |
* Utilice "unzip x.zip" en Unix (Linux, OSX, BSD, etc), así como en (Open) VMS o DOS o Windows.
Nota: los archivos x.* son enlaces simbólicos al archivo más reciente, por ejemplo cku404-beta09.tar.gz. Cada vez que se instala una nueva versión de desarrollo, los enlaces simbólicos se actualizan automáticamente para apuntar a ella. También se puede hacer referencia a cualquier versión por su nombre real, por ejemplo: cku400-beta06.tar.gz o cku305-alpha07.tar.gz o cku304-dev20.zip.
No está garantizado que la subida "diaria" se construya con éxito en las muchas plataformas en las que se construye una verdadera versión o Beta, pero se construye en al menos 2 o 3 de las principales plataformas de desarrollo (hoy en día, prácticamente sólo Linux y NetBSD - los días de los IDs invitados por todo Internet han quedado atrás). Una historia detallada de la edición de C-Kermit que se remonta a la versión C-Kermit 8.0 en 2003 está AQUÍ.
Instrucciones para UNIX (por ejemplo, Linux, macOS, HP-UX, BSD, ...):
1- Descargue el archivo en un directorio nuevo.
2- Descomprima el archivo (por ejemplo, "gunzip x.tar.gz ; tar xvf x.tar.gz" o "unzip x.zip").
Nota: Los archivos van en el directorio actual; no se crea un nuevo directorio para ellos. Por eso el archivo debe colocarse en un directorio nuevo.
3- "make xxx (xxx = objetivo de la plataforma; véase la tabla más abajo).
4- Esto crea un ejecutable, "wermit" en tu directorio actual.
Si la construcción falla, mira el objetivo en el makefile para sugerencias sobre qué hacer. Por ejemplo, si no se puede encontrar un archivo de cabecera o una biblioteca de ejecución, a menudo hay maneras de evitarlo sin tener que cambiar el makefile o los archivos fuente. Si necesitas ayuda, envía un correo electrónico ([email protected])
5- Si vas a usarlo para marcar o para hacer conexiones por puerto serie, dale el mismo propietario, grupo y permisos que a cu, minicom, tip o lo que sea (esto no se aplica a Mac OS X).
6- Cuando esté satisfecho de que funciona satisfactoriamente renómbrelo a 'kermit' e instálelo en el lugar deseado con el propietario, grupo y permisos apropiados. NOTA: No utilice "make install" a menos que tenga permisos de root (administrador del sistema). Incluso entonces podría tener algunos problemas.
PULSE AQUÍ para obtener más información.
Commonly-used C-Kermit Makefile targets
Destino | Descripción |
linux | Linux, todas las versiones |
freebsd | FreeBSD 4.1 o posterior |
openbsd | OpenBSD 2.3 o posterior |
netbsd | NetBSD 1.41 o posterior |
macosx | Apple Mac OS X |
macos | Apple macOS (más reciente que Mac OS X) |
hpux1000 | Hewlett-Packard HP-UX 10 |
hpux1100 | Hewlett-Packard HP-UX 11 |
aix IBM | AIX 4.2 o posterior |
solaris9 | Sun Solaris 9 o posterior |
Hay más de 750 objetivos en el archivo makefile, incluyendo muchas variaciones de cada objetivo enumerado anteriormente que añaden características opcionales (por ejemplo, "make linux+ssl"), eliminan características no deseadas (por ejemplo, "make linux KFLAGS=-DNODEPRECATED"), soportan versiones antiguas del sistema operativo o plataformas basadas en Unix oscuras y olvidadas, etc.
Instrucciones para VMS (también conocido como OpenVMS):
El código fuente de C-Kermit para VMS viene en un archivo Zip en lugar de un archivo Tar. Si no tiene Unzip, puede descargarlo del proyecto Info-ZIP, que considera a Zip/Unzip como el "tercer programa más portable del mundo" (después de "Hello World" y C-Kermit; vea la nota al final de la página de descargas de Info-Zip). Los archivos Zip de C-Kermit 9.0.305 deberían descomprimirse sin problemas en todos los sistemas VMS.
Para compilar C-Kermit para VMS:
- Cree un nuevo directorio y SET DEFAULT en él.
- Descargue el archivo Zip en el nuevo directorio.
- Descomprima el archivo Zip ("unzip x.zip").
- Dé el comando "@ckvker.com" para ejecutar el archivo de comando DCL que construye C-Kermit.
Si la compilación se ha realizado correctamente, aparecerá un archivo WERMIT.EXE en el directorio. Si la compilación falló inmediatamente con "%DCL-W-USGOTO, target of GOTO not found - label \\SKIP_HELP" (esto ya no debería suceder), significa que debe volver a descomprimir el archivo Zip con "unzip -a x.zip" o "unzip -aa x.zip".
Para más detalles, PULSE AQUÍ para ver las instrucciones detalladas de construcción e instalación de C-Kermit. En particular la Sección 7: Construir VMS C-Kermit desde el Código Fuente y la Sección 5: Instalar VMS C-Kermit (después de construirlo).
Registro de cambios
Los cambios en C-Kermit desde que se publicó la versión 8.0.211 el 10 de abril de 2004 aparecen primero como más recientes.
Consulte el HISTORIAL DE ACTUALIZACIONES para obtener descripciones detalladas de cada cambio; se actualiza con mucha más frecuencia que esta página (hace 15-20 años era realmente casi a diario).
Además de las versiones de prueba Beta formales de C-Kermit 10.0 que se enumeran a continuación, de vez en cuando se publican versiones de preprueba de la próxima Beta, para que los interesados puedan probar nuevas adiciones o cambios antes del próximo anuncio. PULSE AQUÍ para ver las versiones de prueba disponibles; la más reciente aparece siempre en la parte superior. Cuando hay versiones de preprueba más recientes que la última Beta, los cambios se describen AQUÍ. |
03 Jul 2023 10.0 Beta.10 | Se han solucionado todos los problemas señalados en la entrada anterior; se compila con Clang 15 sin advertencias de prototipo; todas las funciones están prototipadas a satisfacción de Clang, aunque C-Kermit todavía se puede compilar con compiladores antiguos anteriores a ANSI. |
09 May 2023 10.0 Beta.09 | Cumple con el requisito de Clang de que todas las funciones deben tener prototipos (en el caso de C-Kermit, casi 700). Aunque los prototipos estaban (casi) todos presentes, algunos tenían problemas, y algunas de las funciones correspondientes carecían de declaración ANSI. |
15 Dic 2022 10.0 Beta.08 | Muy parecida a la Beta.07 pero viene acompañada de la primera nueva Beta para Windows (que se llama Beta.04 pero está basada en C-Kermit 10.0 Beta.08) desde el 15 de septiembre, PULSE AQUÍ para más detalles. |
07 Dic 2022 10.0 Beta.07 | No más evaluación recursiva de variables a menos que lo pidas. No más verrugas. Mejor soporte para las nuevas versiones de OpenSSL. Rehabilitadas las opciones de deseleccion de caracteristicas en tiempo de compilacion para ahorrar espacio. Numerosas correcciones y adaptaciones menores. |
14 Oct 2022 10.0 Beta.06 | Corregido un error que impedía la compilación de Beta.05 en HP-UX. Mejorada la interfaz de usuario para acceder a mayores velocidades de interfaz. Restaurada la capacidad del comando DIRECTORY para aceptar múltiples filepecs. Restablecido el funcionamiento correcto del comando TOUCH. Cientos de ajustes del código fuente para suprimir las advertencias de los compiladores modernos. Detalles AQUÍ |
27 Sept 2022 10.0 Beta.05 | Soporte para un montón de velocidades serie más altas (hasta 4000000 bps). Nueva opción /INTERPRET para la orden TYPE, que interpreta cualquier barra invertida de Kermit (referencias a variables, etc.) al mostrar el contenido del fichero. Nuevas opciones /TOSCREEN e /INTERPRET para la orden COPY. Se han corregido algunos errores antiguos por los que el protocolo de transferencia de archivos podía salirse de los límites de los parámetros negociados. Eliminado el soporte para arrow-key de la versión Unix porque la API correspondiente está "obsoleta". Numerosas mejoras menores e innumerables modernizaciones de la sintaxis para reducir las advertencias del compilador. Detalles AQUÍ |
03 Jun 2022 10.0 Beta.04 | Corrige uno o dos errores de sintaxis fatales para la compilación. |
02 Jun 2022 10.0 Beta.03 | Corrige algunas advertencias y añade nuevas opciones de compilación "no networks" y "no tcp/ip". |
17 May 2022 10.0 Beta.02 | Corrige dos errores fatales que sólo afectan a las compilaciones que no son ANSI-C (que no puedo probar yo mismo). |
16 May 2022 10.0 Beta.01 | Gran cambio de número de versión (explicado AQUÍ) y mucho pulido de detalles en preparación para un lanzamiento formal: más altas velocidades de puerto serie añadidas; eliminación de más advertencias del compilador; algunos errores menores corregidos. |
24 Jan 2022 9.0.307 Alpha.07 | Más cambios menores para eliminar las advertencias en tiempo de compilación. |
15 Dic 2021 9.0.306 Alpha.06 | En algún momento desde la última versión real de C-Kermit (9.0.302 en 2011) algunas construcciones ANSI C sin protección se colaron en el código, por lo que los compiladores C pre-ANSI (por ejemplo, K&R) ya no podían compilar C-Kermit. Esto se ha solucionado en Alpha.06, junto con numerosas advertencias de compiladores quisquillosos. Muchas gracias a Peter Eichhorn de Assyst GmbH, Aschheim-Dornach, Alemania, "Herr C-Kermit/HP-UX". |
14 Nov 2021 9.0.305 Alpha.05 | Nuevo soporte para 1.500.000bps de velocidad de puerto serie para las plataformas que lo ofrecen. Numerosos ajustes en las API, archivos de cabecera y compiladores de C que cambiaron de C-Kermit desde la última versión. Se ha corregido un error en la transferencia de archivos que provocaba el truncamiento del nombre del archivo cuando se utilizaban paquetes ultracortos. También se corrigió un problema que ocurría al transferir cualquier archivo que contuviera 0xff bytes a través de un protocolo Xmodem externo. Lo más destacable es que ahora se han realizado con éxito construcciones del sistema operativo VMS desde la 7.3 hasta la 8.4 en varias plataformas de hardware. Consulte las notas de actualizaciones para más detalles. |
14 Sep 2021 9.0.304 Alpha.04 | (Alpha.03 no se subió) Nada funcional, principalmente sólo adaptaciones a los cambios en las plataformas Unix subyacentes para eliminar o al menos reducir las advertencias y errores de compilación. Además de nuevas adaptaciones a VMS de David Hittner, así como una corrección a la forma en que se creó el archivo Zip VMS. Ahora debería descomprimirse sin problemas (sin "-aa"), pero todavía puede haber algunos problemas con la compilación VMS, pero se compila sin errores ni advertencias en NetBSD, Ubuntu y Red Hat. |
19 Sep 2020 9.0.305 Alpha.02 | Un par de ediciones de Debian producidas en el proceso de conseguir que C-Kermit vuelva a su distribución. Además de un montón de ediciones de "cumplimiento" para que C-Kermit se construya limpiamente con el último gcc (9.3.0). Todas las advertencias (la mayoría de ellas inofensivas) fueron eliminadas en Ubuntu 20.04.1, NetBSD 9.0, y Red Hat 6.1. Los informes de otras plataformas serían apreciados; envíelos a mi dirección de correo electrónico que aparece en la parte superior. |
24 Jul 2020 9.0.305 Alpha.01 | § Versión de prueba de emergencia para hacer frente a un cambio retrocompatible en glibc 2.28, en el que el símbolo _IO_file_flags, del que depende C-Kermit para hacer peeking en el buffer stdin, desapareció. Vea las diferencias con la edición anterior (9.0.304 Dev.24) aquí; el mismo cambio debería ser aplicable a versiones anteriores de C-Kermit. Por favor, comprueba C-Kermit 9.0.305 Alpha.01 con Ubuntu, Debian y otras distribuciones de Linux recientes con glibc 2.28 o posterior para asegurarte de que compila y funciona. Hasta entonces apt-gets para C-Kermit en Ubuntu y Debian y quién sabe dónde más será respondido por "E: Package 'ckermit' has no installation candidate" Esta es una solución temporal, una mejor probablemente seguirá. § El registro detallado de cambios de C-Kermit ha sido reorganizado en orden "último-primero" en lugar del tradicional orden cronológico ("último-último") y ha sido reformateado para facilitar su lectura. |
7 May 2020 9.0.304 Dev.24 Con fecha: 25 Abr 2020 | § Mejoras en el análisis de fecha y hora. § Se ha corregido un fallo en el comando CHANGE. |
31 Ene 2020 9.0.304 Dev.23 Con fecha: 4 Sept 2018 | § Las llamadas a funciones como \findex(a b c,\m(line)) arrojaban mensajes de error falsos ?<ERROR:MISSING_ARG:\findex()> en determinados contextos debido a los espacios incrustados en el primer argumento. Arreglar esto requería un rediseño fundamental del analizador sintáctico de comandos. Esto se hizo y he estado usando el resultado bastante intensamente durante 16 meses y parece ser sólido. Lo estoy lanzando ahora (31 Ene 2020) junto con una nueva versión del script Photogallery, que desencadena muchos de los mensajes espurios antes mencionados en Dev.22 y anteriores. La nueva galería de fotos funciona en C-Kermits hasta la versión 9.0.301, pero con diferentes cantidades de mensajes de error espurios. § Nuevo "modo palabra" para \freplace() ("help func replace"). § Lisp ROUND corregido para no perder el signo. § Algunas mejoras estéticas en el comando CHANGE. |
1 May 2017 9.0.304 Dev.22 | § Rediseño fundamental del método de C-Kermit para pasar argumentos a las macros, necesario debido a un antiguo error por el que un único argumento pasado por el emisor de la llamada podía parecer varios argumentos al receptor de la llamada si contenía determinados caracteres. Fue necesario modificar 25 módulos. Con estos cambios pude finalmente escribir un script de conversión de texto a html utilizable, que está AQUÍ, y luego lo usé para convertir mi archivo de notas de actualización de C-Kermit de 9294 líneas a HTML, (Nota: la versión actual del registro de cambios tiene las entradas más recientes en la parte superior y está muy mejorada estéticamente). También en esta versión: § FOPEN /STDOUT y FOPEN /STDERR para completar el soporte para el uso de scripts C-Kermit en pipelines Unix; § Algunas mejoras en los mensajes de error que se emiten durante la ejecución del script; § varias correcciones de errores (ver notas). |
21 Abr 2017 9.0.304 Dev.21 | § El nuevo comando FOPEN /STDIN permite al comando FREAD leer tanto de la entrada estándar como de un fichero. § Nuevo comando ECHO para expresiones S. Antes no había forma de imprimir cosas en código Lisp. § HELP SEXP muestra ahora el segundo argumento (decimales) de ROUND. § Nuevas opciones para GETC (comando para leer un carácter del terminal): /TIMEOUT:segundos, /QUIET (para suprimir cualquier mensaje de error), /CHECK (para ver si hay algún carácter disponible para ser leído). § \fcvtdate(cadena,códigofunción) acepta ahora el nombre de macro desnudo como código de función, siempre que el valor de la macro sea numérico (descuido corregido; se suponía que debía hacer esto en primer lugar). QUERIDA COMUNIDAD: Me gustaría hacer una nueva versión formal de C-Kermit pero necesito la cooperación de los empaquetadores para las muchas distribuciones de Linux y *BSD y Mac OS X, especialmente con respecto a OpenSSL. |
16 Feb 2016 9.0.304 Dev.20 | § Se ha corregido un problema con la creación de archivos en versiones recientes de Mac OS X. |
05 Feb 2016 9.0.304 Dev.19 | § Puse nuevos tamaños de cosas con ayuda de Mark Sapiro, quien las probó en algunas plataformas a las que no tengo acceso. § Ampliado el soporte de Locale a la función \fcvtdate(), por lo que ahora puedes emitir fechas adaptadas a la localización en tus scripts. Además, la función \fcvtdate() acepta un nuevo código de formato (6) para mostrar fechas con sus nombres de mes deletreados completos. Se ha actualizado la documentación sobre la configuración regional. |
04 Feb 2016 9.0.304 Dev.18 | § Los cambios en el "tamaño de las cosas" se han cancelado porque provocan fallos de seguridad en algunas plataformas a las que no tengo acceso; los revisaré más adelante. |
03 Feb 2016 9.0.304 Dev.17 | § Los tamaños máximos de todo tipo de búferes se han incrementado para las versiones de 64 bits, por lo que las definiciones de macros pueden ser casi infinitamente largas, los búferes de paquetes pueden contener la mayor carga posible, etc. § El comando CHANGE está ahora documentado AQUÍ. § Se agregaron nuevas características al comando CHANGE, incluyendo dos formas diferentes de preservar los archivos originales. § Se corrigieron algunos errores en el comando CHANGE (por ejemplo, no funcionaba en absoluto en Linux). § Se corrigieron errores en el comando SET TEMP-DIRECTORY. § Se corrigió un error en el comando IF WRITEABLE cuando se aplicaba a un directorio. § Se han corregido algunos problemas de robustez y defensividad con algunas de las API internas de C-Kermit. § Se ha corregido el operador ROUND de S-Expression (LISP) para que no se bloquee (como ocurría en algunas plataformas, pero no en otras). § Se ha corregido que las matrices locales se desasignan cuando desaparece el contexto en el que se declaran, incluso cuando no hacen sombra a otra matriz del mismo nombre situada más arriba. |
18 Ene 2016 9.0.304 Dev.16 | § Un nuevo objetivo 'linux' en el makefile que debería corregir numerosos problemas en la selección de características y la localización de bibliotecas y archivos de cabecera. § Copyright actualizado a 2016. |
25 Dic 2015 9.0.304 Dev.15 | § Cambios en makefile para la compilación en Red Hat Linux EL6 en x86_64, y en particular para detectar el caso en el que la librería ncurses está instalada pero ncurses.h no lo está (en cuyo caso C-Kermit se compila sin soporte para curses). § Parches de Bernard Spil: "Kermit falla al construir cuando se usan librerías OpenSSL construidas sin SSLv3 (configure --no-ssl2 --nossl3). Esto ha surgido cuando se construye con la última LibreSSL 2.3. Además, hay problemas con LibreSSL ya que no soporta compresión SSL ni Perl EGD como fuente de entropía". |
10 Oct 2015 9.0.304 Dev.14 | § Faltaban dos llaves de cierre en ck_ssl.c en la línea 2207, lo que impedía que Dev.13 se compilara con soporte para OpenSSL. |
05 Feb 2015 9.0.304 Dev.13 | § Conexiones SSL/TLS FTP, HTTP, y Telnet por defecto a TSL 1.0 en lugar de SSL 3.0 o 2.3 (gracias a Jake Thompson). § Arreglar declaraciones inconsistentes de la variable vmode que estaba causando que K95 se bloqueara cuando se construía con Open Watcom (gracias a David Berner). § Arreglado SET LOGIN USER para permitir dar una variable como nombre de usuario. § Añadido el comando SHOW FUNCTION string para mostrar los nombres de todas las funciones incorporadas cuyo nombre contenga la cadena dada. Ejemplo: "show function hex" para mostrar los nombres de las funciones incorporadas que tratan con cadenas hexadecimales; entonces puedes escribir "help function decodehex" (o lo que sea) para obtener los detalles sobre la función. |
11 Ene 2015 9.0.304 Dev.12 | § Las descargas (RECEIVE o GET) bloquearían Kermit en cualquier plataforma de la familia Unix que no tenga UCCP, o cualquier otra compilación de la familia Unix realizada con -DNOUUCP. Esto ocurriría en descargas de protocolo Kermit y con FTP GET. Quizás también con SSH. Esto debería solucionarse en Dev.12. Gracias a Glenn Sherman por reportar el problema. § El año de copyright se actualizó a 2015. |
03 Nov 2014 9.0.304 Dev.11 (Dev.10 omitido) | § Arreglado el interruptor DIRECTORY /EXCEPT: para que funcione cuando también se da el interruptor /BRIEF. § Arreglado el extremo cliente de muchos comandos REMOTE, como REMOTE PWD, que había estado obteniendo errores de análisis espurios, aparentemente durante muchos años. Gracias a Alan Jones y a Harold Baldwin por informar del problema. § Se ha mejorado el texto de AYUDA para SET FILE para mencionar que SET FILE COLLISION OVERWRITE no funciona para un servidor a menos que también se le haya dicho que HABILITE DELETE. § Arreglos en \fsplit(text,array,TSV) para cuando el texto contenía caracteres de agrupación. § Actualizaciones en el soporte de Debian Linux MULTIARCH de Ian Beckwith. § Algunas correcciones de problemas de "conformidad" y declaraciones inconsistentes de Mark Wooding. |
20 Ene 2014 9.0.304 Dev.09 | § Una corrección de Jeff para SET AUTH TLS VERIFY NO para permitir que los scripts se ejecuten sin interacción del usuario cuando el servidor no proporciona un certificado. § Arreglado un volcado del núcleo que podía ocurrir en el comando TOUCH. § Nueva cadena más breve para el directorio actual en C-Kermit prompt en Unix. § Adaptaciones adicionales para Windows. |
06 Dec 2013 9.0.304 Dev.08 | § Algunas correcciones y cambios más para una versión Windows de C-Kermit. § Mejora de los mensajes de error de los scripts. § Supresión de errores de análisis espurios en ciertos comandos IF. § Soporte de configuración regional habilitado para ciertas operaciones de ordenación, por ejemplo, de listados de directorios. |
24 Nov 2013 9.0.304 Dev.07 | Correcciones para el nuevo comando CHANGE. Correcciones para NetBSD 6.1 (cambio time_t). Correcciones para \fpictureinfo() y un nuevo código de retorno, 3, para imágenes cuadradas. Correcciones para algunas de las nuevas funciones de fecha/hora con reconocimiento local. Correcciones para el último SDK de Android de Jake Thompson. Cambios para hacer que C-Kermit 9.0 se integre con los módulos de código abierto para Windows, como primer paso para lanzar una continuación de código abierto de Kermit 95, que se anunciará más adelante. |
25 Jul 2013 9.0.304 Dev.06 | § SOPORTE DE LOCALES para plataformas que tienen locales (funciones de internacionalización para idiomas, juegos de caracteres, fechas, etc). Esto empieza con nuevas funciones (siguiente punto) para obtener nombres de día y mes en el idioma y juego de caracteres especificados en la configuración regional, pero también tiene otras ramificaciones que pueden no gustar a todo el mundo; por ejemplo, que puede cambiar el comportamiento de ciertas funciones como \fupper() \flower(), y \fcapitalize(), haciendo que funcionen como se espera por primera vez para idiomas distintos del inglés (al menos mientras estén codificados en un juego de caracteres de un byte como ISO-8859-1). Quizás lo más notable: cualquier mensaje generado por el sistema operativo o las APIs en lenguaje C (si están internacionalizadas) pueden salir en el idioma y conjunto de caracteres especificados en la configuración regional; por ejemplo "Archivo o directorio inexistente" en lugar de "No such file or directory". Sin embargo, dado que la interfaz de usuario de C-Kermit no está internacionalizada, sus propios comandos y mensajes siguen estando en inglés. § Nombres de día y mes internacionalizados: Nuevas funciones \fdayname() y \fmonthname() para proporcionar el nombre del día de la semana o mes del año que corresponde a una fecha dada, un número de día o mes, o la fecha actual, en el idioma y juego de caracteres de la configuración regional actual. Para más detalles, consulte HELP FUNCTION DAYNAME y HELP FUNCTION MONTHNAME. § Deshabilitar las características de localización. Para devolver a Kermit su comportamiento anglocéntrico anterior, puede (a) iniciarlo con una opción especial de la línea de órdenes, (b) definir una determinada variable de entorno, o (c) dar una orden SET LOCALE en el indicador C-Kermit> (consulte la documentación). § Nuevo comando CHANGE, para cambiar cadenas en archivos de texto. Por ejemplo, supongamos que gestionas un sitio web con miles de archivos en un árbol de directorios, muchos de los cuales enlazan con una página externa cuya URL acaba de cambiar. Ahora puede corregirlos todos con un solo comando de C-Kermit: change /recursive ~/web/*.html www.oldname.com www.newname.com El comando CAMBIAR tiene muchas opciones: /after: /dotfiles /modtime: /not-before: /before: /except: /nodotfiles /recursive /case: /larger-than: /norecursive /simulate /count: /list /not-after: /smaller-than: ...para la selección de archivos (tamaño, fecha, listas de excepciones, archivos de puntos), recorrido de directorios (plano o recursivo), tiempo de modificación de los archivos modificados (actualizados o conservados) e informe de resultados. HELP CHANGE para más detalles y opciones. § Added GREP /ARRAY:&a to get the names of all the files that contain text that matches a given pattern into an array, which can be looped through later to take any desired actions with the files: moving them, renaming them, transferring them, etc. The GREP command has lots of options, too, like CHANGE and TOUCH do, for file selection, recursion, what to do with results, etc. § Se ha añadido un nuevo código de formato \fcvtdate(), 5, que produce un resultado en formato numérico completamente delimitado: aaaa:mm:dd:hh:mm:ss, de modo que los campos individuales se pueden seleccionar fácilmente; por ejemplo, con \fword(), por ejemplo: \fword(\fcvtdate(today,5),3) (tercera palabra de la fecha de hoy, día del mes) Además, sólo por simetría con \v(day) y \v(nday) (que han estado en C-Kermit desde siempre), he añadido \v(nmonth), \v(month), y \v(year), que evalúan el mes actual (numérico), el mes actual (abreviatura inglesa de 3 letras), y el año, respectivamente. § Se ha añadido una forma de que un script de Kermit compruebe si un archivo es de texto o binario: IF BINARY filename, IF TEXT filename. Además, la nueva función \ffileinfo() devuelve ahora un resultado más detallado, que da algunos detalles más sobre la codificación si se trata de un fichero de texto: 7-bit, 8-bit, UTF-8, UCS-2. § Nuevas condiciones IF para comparaciones léxicas: NEQ, LLE, LGE. Antes sólo podían hacerse con IF NOT EQU, IF NOT LGT, IF NOT LLT. |
15 Abr 2013 9.0.304 Dev.05 | § Se ha corregido un problema por el que SET TELNET WAIT OFF era anulado por negociaciones defectuosas del protocolo Telnet y se ha solucionado un punto muerto al negociar parámetros Telnet con la BBS Synchronet. § Añadida la función IF FUNCTION para comprobar la disponibilidad de una determinada función incorporada. § Ampliación de la función \fpictureinfo() para extraer la "fecha de toma" interna (si existe) de una foto JPG o escaneada. § Se ha añadido una nueva función \ffilecompare() para comprobar si dos archivos son idénticos. § Algunas correcciones de errores y cambios estéticos que se indican al final del registro de cambios. Las dos nuevas funciones incorporadas se utilizan en un nuevo script, renamejpgs, que renombra los JPG generados por la cámara digital y el escáner según la fecha en que se tomaron o escanearon. |
22 Mar 2013 9.0.304 Dev.04 | (1) Se ha añadido SET EXIT MESSAGE { ON, OFF, STDOUT, STDERR }, para que el texto (si existe) de un comando EXIT, p.ej: EXIT 1 "Archivo no encontrado" puede suprimirse, imprimirse normalmente o enviarse a stderr. Se ha añadido el estado EXIT MESSAGE a SHOW EXIT y se ha actualizado HELP SET EXIT. (2) Hecha una nueva función \ffileinfo(name,&a) que rellena el array especificado con 7 u 8 (o 9) elementos: 1. el nombre del archivo; 2. la ruta completa del directorio donde se encuentra el archivo; 3. la fecha-hora de modificación del archivo aaaammdd hh:mm:ss; 4. cadena de permisos específica de la plataforma, por ejemplo "drwxrwxr-x" o "RWED,RWE,RE,E"; 5. código de permisos específico de la plataforma, por ejemplo, un número octal como 40775; 6. el tamaño del archivo en bytes; 7. tipo de fichero: 1=archivo normal; 2=ejecutable; 3=directorio; 4=enlace; 0=desconocido. 8. (si el nombre del archivo es enlace) nombre del archivo enlazado. 9. (en Dev.06) "binary" o "text:xxx", donde xxx es 8bit, 7bit, utf8, etc. |
12 Mar 2013 9.0.304 Dev.03 | § El comando TOCAR se ha actualizado para permitir que se aplique una fecha-hora de modificación arbitraria a los archivos tocados, en lugar de la fecha-hora actual. El comando TOUCH de Kermit es bastante potente en sus capacidades de selección de ficheros, incluyendo tamaño, fecha, tipo, patrones, listas de excepciones, recursión, etc. Escriba HELP TOUCH en el prompt de C-Kermit para más detalles. § C-Kermit ahora acorta los nombres de ruta tanto como sea posible para la visualización de transferencia de archivos, necesario porque las rutas Unix son cada vez más largas y el nombre del archivo tiende cada vez más a desaparecer del final. Esto se ha hecho sustituyendo la ruta del usuario por "~/" y/o eliminando completamente la ruta cuando el fichero está en el directorio actual de C-Kermit. |
11 Mar 2013 9.0.304 Dev.02 | Se trata de una versión de desarrollo, no probada ampliamente y, por tanto, no lista para su publicación. Desde que el Proyecto Kermit de la Universidad de Columbia fue cancelado, ya no tengo acceso a una amplia variedad de plataformas para desarrollo y pruebas. Novedades en 9.0.304: § Soporte para Android a través de la ruta "make linux" (Tim Sneddon). § Anotado en makefile que "make linux" funciona para Raspberry Pi. § Arreglos para OpenSSL 1.0.0 y posteriores; C-Kermit construido con OpenSSL a veces se negaba a ejecutarse cuando se detectaba una nueva versión de SSL (Adam Friedlander y Jeff Altman). § Soporte para librerías multiarquitectura en Linux (curses, resolv, etc) (Ian Beckwith). § Arreglo de un volcado del núcleo al transferir un fichero en OpenBSD sobre Sparc64 debido a algunas inconsistencias en las declaraciones entre módulos (la edición con sólo este arreglo fue marcada como 9.0.303 y puede haber llegado a algunas distribuciones de OpenBSD). § Varias correcciones menores descritas en el registro de cambios. Gracias también a Bruce Skelly por la verificación en la Raspberry Pi. |
20 Ago 2011 | La versión 9.0.302 de C-Kermit contiene correcciones que sólo se aplican a FreeBSD 8 y 9. |
11 Jul 2011 | La versión 9.0.301 de C-Kermit contiene una corrección que sólo se aplica a Solaris 10 y 11. |
06 Jul 2011 Beta.01 | C-Kermit 9.0.301 Beta.01. Corrige la búsqueda DNS en Solaris 10 y 11 (que aparentemente nunca ha funcionado); suprime un par de advertencias del compilador en el módulo SSL. Hasta ahora no hay necesidad de 9.0.301 en ninguna plataforma excepto Solaris 10 y 11. |
30 Jun 2011 | La versión C-Kermit 9.0.300 (publicada el 28 de junio, pero fechada el 30 de junio). |
21 Jun 2011 Beta.02 | Construye correctamente en más y más plataformas con y sin MIT Kerberos 5 y/o OpenSSL. |
16 Jun 2011 Beta.01 | Primera versión de código abierto. Comprobación de errores FORCE-3. Evaluación simple de variables. Consulte las notas de la versión de prueba beta de C-Kermit 9.0. |
21 Sep 2010 Alpha.09 | Actualizaciones de la detección de funciones SSL en Solaris y Linux; actualización de la compatibilidad con pseudoterminales en Solaris. |
23 Ago 2010 Alpha.08 | Soporte CSV para \fjoin(), actualización del archivo de bloqueo UUCP de Suse Linux. |
05 Ago 2010 Alfa.07 | Varias correcciones de errores, nueva función \fstrcmp(). |
07 Abr 2010 Alfa.06 | Archivos de valores separados por comas, documentados AQUÍ. |
05 Abr 2010 Alfa.05 | Nuevas funciones: \fcvtcsets() (convierte una cadena de un juego de caracteres a otro); \fdecodehex() (decodifica escapes hexadecimales en una cadena); \fstringtype() (dice si una cadena es de 7 bits, 8 bits o UTF-8). Documentado AQUÍ. |
29 Mar 2010 Alpha.04 | No se podían realizar conexiones FTP desde plataformas Unix de 64 bits como Mac OS X o RHEL5 en x86_64, o cualquier sistema operativo Unix en hardware Alpha. Esto ya debería estar solucionado. También se han corregido varias advertencias de compilación no relacionadas. |
19 Mar 2010 Alpha.03 | Consulte las notas para más detalles. Generalidades: § Eliminación de la secuencia de escape del registro de sesión tanto por INPUT como por CONNECT. § Nuevos comandos para emitir selectivamente mensajes de progreso o depuración desde scripts. § Corrección para evitar que el intervalo fijo de espera de paquetes alcance un valor inesperado. Unix: § Ahora es posible relanzar una conexión SSH cerrada con el comando CONNECT. § A diferencia de Alpha.02, Alpha.03 puede construirse en FreeBSD 8.0 y SunOS 4.1. § Nuevo objetivo aixg para construir en AIX con gcc. § Nuevo objetivo aix+ibmssl para construir en AIX con IBM SSL. VMS: § El cliente FTP interno de Kermit ahora se incluye por defecto en cualquier compilación que también incluya red TCP/IP. § Las compilaciones en red que solicitan soporte para OpenSSL son más autoconfigurables. § Soporte preliminar limitado para el sistema de archivos ODS-5 en VMS 7.2 y posteriores. § Soporte para versiones VMS antiguas y más antiguas. |
01 Feb 2010 Alpha.02 | § Corrección de #ifdefs desequilibrados en ckuusy.c de SMS, que sólo afectaba a VMS. § Corrección de INPUT /COUNT:n de Gerry Belanger. § Nueva función \fsqueeze() para comprimir cada instancia de múltiples espacios en blanco en una cadena en un único espacio en blanco (y eliminar los espacios en blanco iniciales y finales). § Para construcciones Kerberos NO_KRB5_INIT_ETS está ahora definido por defecto, ya que krb5_init_ets() ya no se usa y puede faltar en las librerías Kerberos. § Mejoras en FSEEK /FIND:pattern. § Mejoras en \fword() y \fsplit() para que funcionen correctamente con cadenas codificadas en conjuntos de caracteres de 8 bits. § Arreglo del manejo del puerto serie por John Dunlap cuando se intenta deshabilitar el control de flujo RTS/CTS en un cable de 3 hilos. § El heraldo del programa C-Kermit ahora anuncia si se incluye soporte para SSL, Kerberos 4, o Kerberos 5. § Adaptación a MINIX 3.1.5, excepto para el cliente FTP. § ckuker.nr (fuente de la página man de Nroff) se incluye ahora en el tarball para que "make install" funcione. |
20 Nov 2009 Alpha.01 | Primera versión de prueba alfa de C-Kermit 9.0.299, descrita aquí. |
20 Dic 2006 Dev.27 | Muy menor, corregidas algunas advertencias del compilador en la versión VMS. |
20 Dic 2006 Dev.26 | Corregidos los tiempos de espera de FTP para que funcionen tanto en el canal de comandos como en el de datos, por ejemplo para listados de directorios, y añadido código para que los tiempos de espera funcionen tanto para subidas como para descargas, pero de momento esto no se ha probado. Corregidas algunas advertencias del compilador de HP-UX 9 y anteriores sobre el nuevo código de tiempo de espera. § Se ha corregido un error en la versión VMS de C-Kermit por el que la descarga de un fichero con SET DESTINATION NOWHERE (o /CALIBRATE) podía fallar si no había suficiente espacio en el disco para guardar el fichero, aunque el fichero no se fuera a almacenar en el disco. § Cambiada \fkeywordvalue() (que analiza pares nombre=valor) para permitir que se especifiquen separadores alternativos; por ejemplo, en scripts CGI donde el separador puede ser = o &. |
13 Dic 2006 Dev.25 | Corregido un error en INPUT /COUNT:. Eliminada una sentencia debug() innecesaria en ckufio.c que provocaba algunas advertencias del compilador. |
11 Dic 2006 Dev.24 | A petición popular (especialmente esta semana con el mal funcionamiento del servidor del sitio FTP de Kermit), he añadido una función SET FTP TIMEOUT. Por ahora, sólo funciona en descargas, sólo en la conexión de datos (así que, por ejemplo, no ayuda con comandos DIRECTORY atascados). Funciona como se esperaba en conjunción con SET FTP ERROR-ACTION cuando se descargan múltiples archivos con MGET. Necesita muchas pruebas en sesiones FTP de texto claro y FTPS (SSL/TLS). Lo desarrollaré más adelante. Otros cambios... § Se ha corregido un error en las rutinas de lectura de fechas, que ha existido durante años: si una cadena de fecha incluye una zona horaria, por ejemplo "Sat, 9 Dec 2006 19:26:23 EST", y al convertirla a GMT se cambia la fecha, las variables separadas para día, mes y año (que se utilizan más tarde) no se actualizaban, y el resultado final era un día menos. § Para protocolos de comunicación: INPUT /COUNT:n para leer exactamente n caracteres sin ninguna coincidencia. Puede usarse, por ejemplo, con $CONTENT_LENGTH en scripts CGI; los caracteres NUL se cuentan pero no se recogen. § Se ha añadido un cuarto argumento opcional a \findex(), \frindex(), \fsearch() y \frsearch(): el número de aparición deseado de la cadena buscada. § Se ha añadido \fcount(s1,s2) para indicar el número de apariciones de s1 en s2. § Se ha añadido \ffunction(s1) para saber si existe una determinada función incorporada. § Se ha cambiado RENAME /COLLISION:PROCEED por /COLLISION:SKIP, que es más claro (pero se ha mantenido PROCEED como sinónimo invisible). § Convertir "help locus" en sinónimo de "help set locus". § Se han corregido varios casos en los que una variable de cadena se comparaba mediante "==" con un literal de cadena, según Pavol Rusnak. |
01 Dic 2006 Dev.23 | Añadido COPY /PRESERVE (como "cp -p" en Unix) y COPY /OVERWRITE:opción. DIRECTORIO /BREVE arreglado para prestar atención a otros switches. SHOW CONNECTION corregido para mostrar el número de puerto TCP (servicio, socket) en las conexiones TCP; lo mismo para el registro de conexiones. Comando DECLARE corregido para permitir inicializadores de elementos de array vacíos (por ejemplo, variables no definidas). Corregido DIRECTORIO /ARRAY:&a para que se comporte de forma sensata cuando no se encuentran ficheros, es decir, para crear un array de dimensión 0. Corregido el tratamiento general de las matrices de dimensión 0 para que sea coherente. Corregido DIR /ARRAY:&a para producir una matriz de dimensión correcta cuando se incluyen conmutadores de selección de ficheros. Añadida la posibilidad de componer el nombre de una función, por ejemplo "define \%a superior, \f\%a(abc)". Corregidos algunos oscuros programas de análisis sintáctico en el subsistema Lisp, por ejemplo (=) se colgaba. Cambiados los operadores de predicado para que funcionen incluso si sólo hay un operando, igual que en Franz Lisp. |
12 Oct 2006 Dev.22 | Nuevo comando TOUCH, como UNIX pero que acepta los mismos modificadores de selección de ficheros que el comando DIRECTORY de Kermit. Nuevo objetivo netbsd+openssl makefile. Corregido el nuevo comando RENAME para que funcione en el caso de que los nombres de los ficheros origen y destino incluyan rutas. Corregidos los comandos FOPEN y FCLOSE para asegurarse de borrar y reinicializar toda la información del archivo (anteriormente era posible que parte de la información antigua, por ejemplo el número de línea actual, pudiera ser heredada de un archivo previamente cerrado). Se ha corregido una referencia variable no protegida en \fdialmessage() que rompía la compilación cuando se definía NODIAL. |
05 Oct 2006 Dev.21 | Un cambio bastante importante: se añadió code para no perder DTR en una conexión serie al cerrar la conexión y/o SALIR si SET EXIT HANGUP está en OFF. No tengo una buena manera de probar esto ahora, pero al menos parece compilar bien en un buen número de plataformas. Y luego algunas cosas menores... Añadido DIRECTORY /COUNT:x para contar el número de ficheros que coinciden con el criterio dado y almacenar el resultado en la variable dada. Corregido DIRECTORIO /TOP para que funcione si se omite el número de líneas, mostrando las 10 primeras. Añadido HDIRECTORY como sinónimo invisible de DIR /SORT:SIZE /REVERSE, es decir, mostrar primero los ficheros más grandes ("H "ugest); puede usarse con otros modificadores, por ejemplo HDIR /TOP para mostrar los 10 ficheros más grandes. Corregidos DIRECTORIO /FOLLOWLINKS y /NOFOLLOWLINKS, que aparentemente siempre se comportaban igual. Añadido \v(dialmessage) que es la cadena de texto correspondiente a \v(dialstatus) (p.e. 2 = "Dispositivo de comunicación no especificado"). Añadida una definición de nombre de directorio de bloqueo UUCP que faltaba para Linux (usada sólo para visualización). Aún más menor: Mensajes de error mejorados para el nuevo comando RENAME. Hecho IF KERBANG más fiable. Corregido \fkeywordval(xxx) para no definir xxx (por ejemplo, cuando un parámetro de palabra clave xxx se define sin valor). Se han truncado los mensajes de error de sintaxis superverbosos para que sólo ocupen una línea. |
09 Jul 2006 Dev.20 | Nueva función \fpictureinfo() para obtener información sobre imágenes JPG y GIF; PULSE AQUÍ para ver un script de demostración que crea un sitio web a partir de una colección de JPGs. Además: Verificado que el cliente FTP de Kermit transfiere archivos grandes correctamente en ambas direcciones con el servidor FTP Tru64 de 64 bits, y también maneja la recuperación correctamente en ambas direcciones (aparentemente los resultados son mixtos con otros servidores FTP que supuestamente manejan archivos grandes). He añadido FTP REPUT y FTP RESEND como sinónimos específicos de FTP para RESEND, igual que FTP REGET ya estaba disponible como sinónimo específico de FTP para REGET. He corregido el comando IF para que utilice números enteros grandes en todas las comparaciones numéricas, por ejemplo if > \%a 3000000001 ... (antes no funcionaba). He corregido \fkeywordvalue() para permitir valores compuestos por más de una palabra, y he añadido \v(lastkeywordvalue) para representar la palabra clave procesada más recientemente por \fkeywordvalue(). He cambiado \f_status(\%c), cuando el argumento no estaba definido, para que se comporte igual que si contuviera un número de canal de un fichero que no estuviera abierto. Esto hace posible escribir líneas de comandos como esta: if \f_status(\%c) fwrite /line \%c blah blah blah... sin tener que preocuparnos de si ya hemos abierto el archivo. Qué más... He arreglado \fstripb() para que no vuelque el núcleo si se llama sin el segundo argumento opcional. Añadido \fgetpidinfo(n) para obtener información sobre el ID de proceso n; actualmente sólo para Unix, devuelve 1 si el proceso está vivo; 0 si el proceso no existe. Además: Nuevo comando WDIRECTORY invisible = DIR /SORT:DATE /REVERSE. Y el nuevo comando /TOP:n DIRECTORY dice que sólo se muestren las n primeras líneas del listado. |
12 Jun 2006 Dev.19 | Soporte de ficheros grandes añadido para IRIX 6.5 por Scott Kasten. Arreglada la visualización de transferencia de archivos para RESEND/REGET de archivos grandes. Arreglado el objetivo tru64-51b+openssl makefile, las versiones SSL/TLS ahora se compilan correctamente en Tru64 Unix. |
14 May 2006 Dev.18 | Nueva función: SET SEXPRESSION TRUNCATE-ALL-RESULTS permite forzar a las S-Expressions a realizar sólo aritmética de enteros (véanse los dos scripts de cálculo de fechas de Pascua). Gran novedad: Un nuevo conjunto de interruptores para el comando RENAME, que permite renombrar grupos de archivos a la vez, cambiar mayúsculas y minúsculas o cambiar el juego de caracteres, eliminar espacios o cambiarlos por otra cosa, y hacer reemplazos de cadenas anclados o flotantes o basados en ocurrencias, descritos AQUÍ. Otros cambios: los comandos FILE (FOPEN, FREAD, FWRITE, FCLOSE, etc) han sido modificados para consumir mucha menos memoria. Varios #ifdefs corregidos para diferentes combinaciones de selección de características. |
27 Mar 2006 Dev.17 | Nuevas compilaciones seguras para Linux: linux+ssl (OpenSSL 0.9.7 o posterior); linux+krb5 (Kerberos 5); linux+krb5+ssl (ambos), probados en Red Hat AS4.3 (los objetivos antiguos ya no parecen funcionar). Corregidas las advertencias sobre getsockopt() y getsockname() en Mac OS X. Objetivos mejorados para HP-UX con OpenSSL, con y sin Zlib. |
13 Mar 2006 Dev.16 | Corregido FTP [M]GET /DELETE /MOVE-TO:xxx. Esta combinación nunca funcionaba. Creado un nuevo objetivo para HP-UX 10 y 11 con OpenSSL pero no Zlib, para sistemas donde Zlib no está instalado. Añadido el número de versión de OpenSSL a MOSTRAR CARACTERÍSTICAS. Verificada esta edición con AIX 5.3. |
04 Mar 2006 Dev.15 | Añadido soporte de ficheros grandes para AIX 4.2 y posteriores. Añadida opción SSL para AIX 5.1 y posteriores. Correcciones para IRIX 6.4 y 6.5 (el comando DIRECTORY hacía un bucle eterno). Se ha corregido el comando HELP para que funcione tanto para tokens como para palabras clave. Gracias a J. Scott Kasten por las correcciones para IRIX. |
23 Feb 2006 Dev.14 | Se ha intentado silenciar algunos mensajes SSL más cuando SET QUIET ON. Ajustes al objetivo makefile de HP-UX 7.00. Nuevos objetivos makefile para NetBSD e IRIX 6.5 con SSL/TLS, SRP y ZLIB. Nuevo objetivo NetBSD omitiendo curses. Nuevo objetivo IRIX 6.5 para construir con GCC. Actualizados los objetivos Linux-sin-curses (linuxnc), Linux-con-curses-más-que-ncurses (linuxc). Antiguos objetivos NetBSD retirados ya que los nuevos deberían funcionar con cualquier versión de NetBSD. |
09 Feb 2006 Dev.13 | Corregidos un par de errores tipográficos que causaban advertencias o fallos de compilación en algunas plataformas. Finalmente se determinó que el soporte de archivos grandes (LFS) puede ser el predeterminado en todas las versiones de Solaris (Sparc y PC), Solaris 9 y posteriores. Tal vez las versiones anteriores también, pero no tengo acceso a ellos más para comprobar. Así que todos los objetivos regulares "solarisxxx" fueron cambiados para seleccionar LFS, y los objetivos anteriores "solarisxxxlfs" son ahora sólo sinónimos. |
08 Feb 2006 Dev.12 | Corregidos los errores de compilación "valor demasiado grande para switch case" en el analizador sintáctico de S-Expression. Corregido el ajuste de la velocidad serie a 921600bps en las plataformas que lo soportan. Restaurada la capacidad de usar expresiones aritméticas en notación de subcadena compacta, que rompí en agosto, y esto requirió un pequeño cambio en la sintaxis en la forma [startpos-endpos] (cambiando el separador de "-" a "_" pero eso no debería molestar a nadie porque es una característica nueva y aún no documentada. Correcciones para los archivos makefile de HP-UX 6 y 7. Una nueva compilación para SCO OSR6, que requirió una buena cantidad de cambios en el código fuente además de un nuevo makefile. Corregido un error que ha estado en C-Kermit desde que se añadieron los conmutadores de comandos en la versión 7.0: las variables no se expandían en el comando RECEIVE as-name. La lista actual de compilaciones 32-32/64-64 bit está ahora en una tabla AQUÍ. |
09 de enero de 2006 Dev.11 | Acceso a ficheros grandes y aritmética de enteros grandes en FreeBSD, NetBSD, OpenBSD, HP-UX y UnixWare. Este es el estado actual de las versiones de 32 bits que admiten longitudes de archivo de 63 bits y aritmética de enteros. Todas las compilaciones puras de 64 bits conocidas (Tru64 Unix, Solaris con -xarch=generic64, Linux en X86_64, etc.) gestionan automáticamente archivos y números grandes. Todas las versiones normales de 32 bits (QNX 4.25, versiones antiguas de HP-UX, etc.) parecen funcionar correctamente. Linux → OK en todas las versiones que he probado hasta Red Hat 6.1. Solaris → OK en Solaris 9 en Sparc. No probado en Intel o en otras versiones de Solaris. HP-UX → Probado OK en HP-UX 11.11 PA-RISC y 11i v2 IA64. FreeBSD → Probado correctamente en Intel hasta FreeBSD 3.3. NetBSD → OK en Intel en NetBSD 2.0.3. LFS aparentemente no está listo en NetBSD 1.x. OpenBSD → Probado OK en Intel hasta OpenBSD 2.5 Mac OS X → Probado correctamente en Mac OS X 10.3.9 y posteriores. UnixWare → Probado correctamente en SCO UnixWare 7.1.4. AIX LFS → debería funcionar pero no lo he probado, no tengo acceso. IRIX 6.5 → LFS requiere cambiar todas las APIs a blah64(). Otros cambios en Dev.11: → Nuevo comando FSEEK /FIND:pattern, busca la primera línea en un archivo FOPEN'd que contenga la cadena dada o que coincida con el patrón dado. → FSTATUS ahora se puede dar sin un número de canal si sólo un archivo es FOPEN'd. → Otra corrección al comparador de patrones que involucra clists; si coincide index.html [a-hj-z]* tuvo éxito cuando debería haber fallado. → Nos deshicimos de la prueba de función LONGLONG, no la necesitamos. → Los mensajes de error de comandos son menos detallados: ya no se vuelca la pila de comandos a menos que se solicite. → Arreglado WRITE SESSION para informar de éxito cuando tiene éxito. → Derechos de autor actualizados a 2006. |
29 Dic 2005 Dev.10 | Se ha implementado la especificación X/Open Single UNIX Versión 2 (UNIX 98) Large File Support (LFS), que permite a las plataformas de 32 bits acceder, gestionar y transferir archivos de más de 2 GB en plataformas compatibles con LFS. Estas incluyen Linux en hardware Intel PC, Mac OS X 10.3.9 o 10.4.x, y Solaris 9 y 10 (Solaris en Sparc, por supuesto, también soporta construcciones puras de 64 bits, pero la versión LFS tiene una huella mucho menor). Esto debería funcionar tanto para transferencias con protocolo Kermit como FTP, aunque todavía no he encontrado la forma de probarlo en el cliente FTP. También tiene el beneficio secundario de que el nuevo tipo de datos entero con signo de 64 bits también se puede utilizar en otros lugares, por ejemplo, en aritmética, por lo que los evaluadores de expresiones aritméticas regulares y S-Expression se actualizaron para utilizarlo cuando estuviera disponible. Esto se aplica tanto a las plataformas LFS de 32 bits como a las plataformas 100% de 64 bits. Todo esto implicó cambios masivos en el código, tocando prácticamente todos los módulos, y es seguro que hay puntos que me perdí, por lo que las pruebas a fondo está garantizada. He construido y probado hasta cierto punto en versiones de 32 y 64 bits de Linux desde 1999, además de OpenVMS, SCO Unixware 7.1, FreeBSD 4.11, Tru64 Unix 4.0F, y Mac OS X 10.3.9 y 10.4.2. Áreas a tener en cuenta: → ¿Funciona el comando ENVIAR tanto para ficheros normales como para ficheros largos? → ¿Se pueden recibir tanto ficheros normales como largos? → ¿Las versiones que no soportan correctamente los ficheros largos se niegan a recibirlos? → ¿Se ven bien todos los números en la pantalla de transferencia de ficheros? → ¿Se ven bien los números en los registros de depuración y de transacciones? → ¿Muestra el comando DIRECTORY el tamaño correcto de todos los ficheros? → ¿Puede utilizar FOPEN y FSEEK tanto en ficheros normales como en ficheros largos? → ¿Cuáles son los resultados de las siguientes expresiones S? (^ 2 30) (^ 2 31) (^ 2 32) (^ 2 62) (^ 2 63) (^ 2 64) (^ 2 99) → ¿Siguen funcionando todos tus scripts? → etc. etc. Al compilar, utilice "make linux" para compilar cualquier versión de Linux. Esto debería incluir automáticamente el soporte para LFS en los Linux que lo incluyan. No he sido capaz de encontrar ninguna plataforma Linux que no lo haga, pero en caso de que cause problemas, utilice "make linuxnolfs". Para Solaris, usa "make solaris9lfs" o "make solaris10lfs". No he hecho esto por defecto para Solaris todavía porque parece que ya no tengo acceso a la versión i386 de Solaris para asegurarme de que funciona allí también (Sun cc o gcc). Para Mac OS X 10.3.9 o posterior, utilice "make macosx10.4". Añadir LFS a otras compilaciones en otras plataformas que lo soporten debería ser fácil: simplemente haga esto: hacer limpieza make xxx "KFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" donde xxx es cualquier objetivo makefile. Si haces esto, hazme saber los resultados. Otros cambios en esta edición son: → Corregidas las S-Expressions en la versión Mac OS X. → Añadido soporte HTTP a las versiones FreeBSD y OpenBSD. → Añadido un nuevo modificador, /EXCEPT:pattern, al comando GREP. |
15 Dic 2005 Dev.09 | Añadido código de almacenamiento en búfer para acelerar HTTP GET y todas las demás entradas de un servidor HTTP; el resultado es aproximadamente 20 × más rápido en una conexión de red rápida (sólo conexiones de texto claro, no SSL). Cambiados los comandos DIRECTORY y DELETE para no mostrar los nombres de archivo entre llaves al imprimir mensajes de error. Se ha actualizado el objetivo makefile de HP-UX 9.xx para evitar los volcados del núcleo por agotamiento de la pila. Corregido un error tipográfico en la definición noANSIC de ckfstoa(). |
04 Dic 2005 Dev.08 | Descubierto que en una conexión SET PORT /SSL, Kermit trata los bytes de datos 0xff entrantes (por ejemplo, enviados desde el servidor POP) como IACs y entra en negociaciones Telnet. Esto hace imposible recuperar correo electrónico de un servidor POP SSL o TLS si el correo contiene algún byte 0xff, porque el servidor POP no hace protocolo Telnet. Los métodos SSL y TLS actuales de Kermit permitían que las negociaciones Telnet fueran iniciadas por una u otra parte. Se han añadido dos nuevos: /SSL-RAW y /TLS-RAW, que no responden a los IAC de Telnet, sino que los aceptan como datos. Además: Actualizado el texto de ayuda de INPUT y MINPUT; cambiado "make netbsd" para que sea sinónimo de "make netbsd2" porque el objetivo netbsd original era antiguo y obtenía advertencias del compilador. |
03 Dic 2005 Dev.07 | En el comando DATE y funciones relacionadas, se ha corregido el análisis sintáctico de fechas como "Wed, 13 Feb 2002 17:43:02 -0800 (PST)", de uso común en el correo electrónico. Se ha añadido un nuevo código de formato 4 a \fcvtdate() para emitir el formato asctime(), utilizado en los sobres de mensajes de correo electrónico con formato BSD. Añadida una nueva función \femailaddress() que, dada una línea de cabecera From: o Sender: de una dirección de correo electrónico con formato RFC2822, extrae y devuelve la dirección de correo electrónico real. Se ha añadido INPUT /CLEAR para que INPUT pueda iniciarse con un búfer limpio sin necesidad de un comando CLEAR INPUT separado. Añadido INPUT /NOWRAP que se explica AQUÍ. Corregidos algunos mensajes SSL/TLS que no eran suprimidos si SET QUIET ON. Corregido FOPEN /APPEND para que funcionara correctamente incluso si el fichero no existía. Corregido IF KERBANG para que no tenga éxito espuriamente si se usa en un script Kerbang que fue invocado por otro script Kerbang; debería tener éxito sólo para el script de nivel superior. Se han cambiado las funciones \flop() y flopx() para que tomen un tercer argumento, un número que indica en qué ocurrencia del carácter de ruptura se debe soltar, así: \flopx(sesame.cc.columbia.edu) = edu \flopx(sesame.cc.columbia.edu,,2) = columbia.edu Se han sentado algunas bases más para las compilaciones híbridas de 32/64 bits (para permitir la transferencia de archivos "largos" en plataformas de 32 bits que proporcionen una API adecuada). |
14 Nov 2005 Dev.06 | Estrictamente para depurar un problema aislado de FTP/SSL; se ha añadido una sentencia de depuración. |
11 Nov 2005 Dev.05 | Más pruebas de tipo de datos en SHOW FEATURES. •• Se ha corregido un error tipográfico en el objetivo Makefile de HP-UX 7.00. •• Incluso después de los cambios anteriores, todavía era posible que SWITCH produjera resultados incorrectos si el valor de una variable case-label era demasiado largo. Ahora cualquier error de este tipo es fatal para el script en el que se produce. •• Se me ocurrió una idea después de haber escrito demasiados comandos como "dir ck[cuw]*.[cwh]" para comprobar la lista de archivos coincidentes y tener que volver a escribir la misma especificación de archivo en un comando SEND: ¿Por qué no liberar algún carácter de control no utilizado, como Ctrl-K, para escupir la última especificación de archivo introducida? Así lo hice, y también añadí una nueva variable \v(lastfilespec) que se expande a la misma última especificación de archivo, para su uso en scripts. •• La versión Unix de C-Kermit no ponía nada en el registro de sesión si SET TERMINAL DEBUG ON. Lo cambié para registrar el formato de depuración, ya que eso es lo que el usuario que notó esto quería. La alternativa sería simplemente registrar el flujo entrante sin procesar como siempre, o añadir otro comando SET a elegir. |
26 Oct 2005 Dev.04 | Ajuste de compilaciones para varias plataformas antiguas para evitar el fallo de compilación "long long not defined" (versiones antiguas de HP-UX, etc). Por favor, notifíqueme cualquier otro fallo. Adaptación a OpenSSL 0.9.8. Más pruebas de características de tipo datos para SHOW FEATURES (recuerde, esto es para sacudir las diferencias de plataformas antes de intentar el soporte de archivos largos para arquitecturas de 32 bits). Correcciones importantes en la sentencia SWITCH; no permitía etiquetas case largas (incluyendo variables que se expanden en cadenas largas) y bajo ciertas circunstancias podía ejecutar el case incorrecto, por ejemplo, si dos etiquetas case no eran únicas en sus primeros 50 caracteres. El límite de longitud de las etiquetas se ha elevado a 8K, ahora se detectan los desbordamientos y se han corregido algunos otros fallos difíciles de explicar. |
23 Oct 2005 Dev.03 | Nada importante. Sin orden especial: Evitar que HTTP POST añada un CRLF al final. Corregidas advertencias en red y FTP para funciones relacionadas con sockets en HP-UX 11i V2, y conseguidas transferencias de ficheros largos funcionando en HP-UX 11i. Añadidas pruebas a SHOW FEATURES para macros como INT_MAX, LONG_MAX, LLONG_MAX, así como sizeof(long long) para averiguar dónde vamos a tener problemas cuando empecemos a implementar el soporte híbrido de ficheros largos. Se han corregido algunos prototipos antiguos de funciones de tipo get/setuid. Se ha seguido trabajando en el comparador de patrones: patrones como "*[abc]" podían hacer que Kermit creara un bucle o volcara el núcleo; esto se ha corregido. Se ha corregido FREAD para que falle y dé un mensaje si intenta leer un registro que es demasiado grande para su búfer. FREAD /SIZE:n se ha corregido para asegurarse de que lee n bytes o falla. \Flen() y algunas otras funciones incorporadas fallaban en argumentos de cadena mayores de 8K, esto se ha corregido. ASKQ fue cambiado para no hacer eco de nada a menos que se le pida, añadiendo un nuevo modificador /ECHO:c, permitiendo especificar un caracter (como asterisco) para hacer eco. No hacer eco hace que ASKQ sea muy conveniente para su uso en scripts CGI. FTP GET /COMMAND (usado por ejemplo para canalizar un archivo entrante en más o menos) siempre volcaba el núcleo, arreglado ahora. Varias correcciones y limpiezas menores de código. Y, con esta edición, ¡C-Kermit está preparado para MINIX3! |
27 Ago de 2005 Dev.02 | Más trabajo de 64 bits. Cuando a una versión de 32 bits de Kermit se le envía un archivo largo, el resultado no es agradable. Primero trunca el tamaño del archivo anunciado en el paquete de atributos del remitente, de modo que las estadísticas de transferencia de archivos son erróneas, y luego, en la mayoría de los casos, cuando se alcanza el límite de 2^31 (o 2^32) bytes, se produce una trampa que provoca la salida inmediata de Kermit. Como primer paso para adaptar las versiones de 32 bits de C-Kermit a los archivos largos, arreglé estos problemas. Y descubrí que en algunas plataformas, (como en las versiones de 32 bits de C-Kermit en Mac OS X 10.3.9) el archivo se recibía con éxito de todos modos -- no me preguntes cómo. Comencé a añadir cierta conciencia de los 64 bits en tiempo de compilación (nueva macro CK_64BIT) y en tiempo de ejecución (nueva variable \v(bits)). Las compilaciones de 64 bits ahora se anuncian como tales en el banner de inicio. Se han eliminado numerosas advertencias del compilador para llamadas relacionadas con sockets en las versiones de 64 bits y espero que también en la mayoría de las de 32 bits. En otras áreas: arreglado el ASKQ asterisk-echoing en VMS; arreglada la recepción de ficheros que tenían especificaciones de dispositivo pero ningún campo de directorio en VMS; arreglados los listados REMOTE DIRECTORY para terminar las líneas correctamente (con CRLF, no sólo LF); reemplazados todos los estúpidos objetivos makefile de FreeBSD por uno consolidado ("make freebsd"); añadido un nuevo objetivo makefile ("macosx10. 4_64") para compilaciones de 64 bits en Mac OS 10.4, y a partir de ahora aumentaré el número "Dev.xx" cada vez que haya una nueva subida; esta es Dev.02. |
17 Ago 2005 | Algunos funcionan en versiones de 64 bits de C-Kermit. Nuevos objetivos 'solaris10_64' y 'solaris9_64' que realmente funcionan (sólo Sun CC, sigo teniendo problemas con gcc). Habiéndolos construido, encontré algunos problemas de ejecución: algunas versiones (notablemente Solaris) no hacían conexiones Telnet; otras versiones (como Linux en ia64 o x86_64) no hacían conexiones ssh. Estos problemas ya se han solucionado. La gran novedad es que las versiones de 64 bits transfieren archivos grandes correctamente entre ellas. Hasta ahora se incluyen Solaris 9 y 10, Linux en AMD x86_64, Linux en ia64 y Tru64 Unix en Alpha. Estas versiones también manejan archivos largos en todas las otras formas en que Kermit trata con archivos -- el comando DIRECTORY, las funciones relacionadas con archivos, la interfaz de archivos locales (FOPEN / FREAD / FWRITE / FCLOSE). Creo que el cliente FTP también funciona, pero es difícil de probar. El siguiente paso -- y mucho más difícil -- es manejar archivos largos en aquellas plataformas de 32 bits que los soporten, a través de cualquiera de varias "APIs de transición". También en esta edición, he cambiado la versión en texto plano de ASKQ para que haga eco de los asteriscos. |
14 Ago 2005 | Nuevo objetivo de compilación para Mac OS X 10.x que recoge automáticamente la versión de Mac OS, por ejemplo 10.4.2, para el programa herald. Actualizado el objetivo UnixWare 7 (uw7) para recoger también la versión UnixWare automáticamente. Corregido FOPEN para establecer la variable channel a -1 si falla en lugar de posiblemente dejarla indefinida. Añadidos dos valores especiales de canal, -8 y -9, que convierten todos los comandos FILE i/o (FREAD, FWRITE, FSEEK, etc) en noops que tienen éxito (-8) o fallan (-9). Corregido IF DIRECTORY para que funcione con nombres de ruta Unix que empiecen por tilde. Corregida la directiva de compilación NONOSETBUF (que ordena a Kermit hacer stdout sin búfer) así como la correspondiente opción de línea de comandos --unbuffered en tiempo de ejecución. Se han eliminado algunas advertencias del compilador. |
11 Ago 2005 | Notación de subcadena compacta ampliada para permitir especificar la posición final en lugar de la longitud; así \s(foo[12:18]) significa la subcadena de foo que empieza en la posición 12 de longitud 18, y la nueva \s(foo[12_18]) significa la subcadena de foo que empieza en la posición 12 y termina en la posición 18. // Se ha corregido un error de hace seis años relacionado con las partes ELSE compuestas desconectadas. Ahora los que prefieran poner el ELSE en la línea después de la llave de cierre de la cláusula IF pueden hacerlo de nuevo. // Añadido soporte HTTP en Mac OS X 10.3 y posteriores, y en BSDI 4.x. // Construido en Mac OS X 10.3.9 y 10.4.2, Solaris 9 y 10, RH Linux AS4, Tru64 Unix 4.0F, y SCO Unixware 7.1.4. |
18 Jul 2005 | Añadido soporte OpenSSL para Tru64 Unix. Añadido soporte HTTP para NetBSD. Corregido el funcionamiento del comando HTTP GET con URLs que contienen metacaracteres. Corregida la corrección del 16 de junio en el comparador de patrones. Añadido un texto de AYUDA que faltaba. |
27 Jun 2005 | Nuevos objetivos makefile para Solaris 10. |
16 Jun 2005 | Se han corregido algunos problemas de coincidencia de patrones que utilizan la construcción [a-z]. |
15 Jun 2005 | Nuevo objetivo de compilación para Mac OS X 10.3 con Kerberos 5 y OpenSSL. Corregido error en la generación de herald para NetBSD 1.5, 1.6. Corregido SET TERMINAL IDLE-ACTION OUTPUT para que funcione como está documentado, es decir, que envíe un carácter NUL si la cadena OUTPUT está vacía. El nuevo comando SET WILDCARD-EXPANSION { ON, OFF } permite el procesamiento directo de nombres de archivo obtenidos mediante programación si contienen metacaracteres literales, o si desea escribirlos interactivamente sin todas las comillas. |
12 Jun 2005 | Nuevo comando IF LINK (sólo Unix) para comprobar la existencia de enlaces simbólicos. Nuevo comando SET TERMINAL LF-DISPLAY. Nueva opción de línea de comandos --unbuffered para Unix, para forzar la entrada/salida de consola sin búfer. La nueva función \flopx() devuelve el campo más a la derecha de la cadena (como la extensión del archivo). Mejorada la interpretación de IDLE-ACTION OUTPUT en la pantalla SHOW TERMINAL. Generación automática del número de versión para herald en NetBSD 2.0 y posteriores. Actualizaciones de seguridad. Corregido \fdirectory() cuando se usa con un nombre de directorio no salvaje. Corregida la diferencia de fecha/hora a través del límite del año. Corregida la AYUDA FTP para anular la configuración de verbosidad. Corregidos algunos prototipos incorrectos. Corregido un error de sintaxis en CKVKER.COM. |
23 May 2004 | Corrección de la rellamada automática de números que contienen espacios cuando se define MACRO DE MARCACIÓN. Añadido el lado cliente y servidor de REMOTE MESSAGE. Corregido el CD FTP para eliminar las comillas o llaves de los argumentos. |
10 May 2004 | Permitir el acceso a puertos FTP superiores a 16383. Corregir la salida FTP de texto Unicode a pantalla. Relajar el análisis sintáctico de FTP FEAT para permitir diferentes tipos de espacios en blanco. Corrección de la propiedad de cortocircuito de expresiones S como (AND X Y). Inhibir el cambio automático de paridad ESPACIO a NINGUNO en la descarga automática. Arreglar la MACRO DIAL para que funcione con números de teléfono de varias palabras. Arreglar la advertencia de compilación en ciertos sistemas Red Hat con respecto a <baudboy.h>. |
17 Abr 2004 | El archivo de bloqueo UUCP para Mac OS X era /var/spool/uucp, que no existe. Lo he corregido a /var/spool/lock, que sí existe, y he vuelto a cargar la versión 8.0.211. Puedes notar la diferencia porque SHOW VERSIONS tiene un 17 Abr 2004 para el módulo Communications I/O. También el ejecutable 10.3 tiene ahora un banner de diseño: "Mac OS X 10.3". |
Inicio ▬ C-Kermit ▬ E-Kermit ▬ Kermit 95 ▬ Scripts ▬ Noticias ▬ Acerca de ▬ FAQ
C-Kermit 10.0 / The Kermit Project / [email protected]