C-Kermit, 15년 만에 정식 릴리스로 45주년 맞아 IPv6와 보안 패치 대거 추가
- 1981년 Frank da Cruz와 Bill Catchings가 컬럼비아 대학에서 만든 시리얼 프로토콜 Kermit이 45주년을 맞아 2011년 이후 15년 만에 신규 릴리스인 C-Kermit 11을 냈음
- 2011년 컬럼비아 대학이 Kermit 프로젝트를 종료하고 BSD 라이선스로 오픈소스 전환했으며 이후 Frank da Cruz가 2025년 은퇴 전까지 개인적으로 유지보수를 이어감
- 데비안 Kermit 메인테이너가 코드베이스를 손보며 메모리 안전성과 악의적 원격 접속 방어를 위한 보안 패치를 추가하고, scp에 적용됐던 방식과 유사한 취약점 수정도 진행함
- IPv6 지원을 조건부 컴파일로 추가하고 런타임에 연결성 여부에 따라 폴백하는 알고리즘도 구현했으며, 유닛 테스트와 파이썬 기반 종단 테스트를 약 2000개 작성해 수십 년 묵은 버그를 다수 발견하고 수정함
- macOS의 FIONREAD 버그, NetBSD의 pty 드라이버 버그 등을 발견했고, 2011년 마지막 릴리스인 C-Kermit 9.0.302를 현대 시스템에서 빌드하는 데도 어려움을 겪으며 호환성 테스트를 진행함
Hacker News 의견들
봇 체크 화면에 나오는 그 애니메이션 캐릭터 뭐임? Anubis라고 하는 그거임. FOSS 개발자 사이트에서 많이 쓰는데 HN에서도 계속 나온 얘기임
전문성 없어 보임, 좀 별로임
옛날에 Coherent OS에서 다이얼업으로 회사 Sun 서버 접속할 때 ckermit 썼었음. 통화 요금 아끼려고 서버가 끊고 다시 걸어주는 것도 ckermit이 알아서 처리해줬음, 재밌었던 시절임. 관련 책도 사놨는데 찾아봐야겠음
나 그레이비어드인데 임베디드 개발할 때 시리얼 콘솔 자동화용으로 아직도 Kermit 씀. 요즘 젊은 개발자들은 얼마나 쓰는지 궁금함
그 시절엔 sz/rz(zmodem)로 파일 전송했었는데, Kermit 써야 할 이유가 따로 있었나 싶음
임베디드에서 시리얼로 USB CDC랑 BLE 연결하고 파일 관리하려 했는데 Kermit이랑 ymodem 다 검토해봤지만 결국 못 쓰고 직접 반쪽짜리 구현해서 씀
MS-DOS에서 Telix로 스크립팅했고 MS-Kermit을 터미널 에뮬레이터로 썼음, 7비트 접속에서 Meta 키 시뮬레이션하려고 키코드 매핑 테이블 만들어서 GNU Emacs 18에 기여했었는데 나중에 라이선스 정리하면서 빠졌음, 그게 내 15분짜리 명성이었음
Kermit이 아직도 살아있다는 게 놀라움, 팀에게 감사함
Computervision CGOS 환경에 Kermit 포팅했었음, 사내에서 터미널 컨센트레이터로 파일 옮길 때 많이 썼음
BBS에서는 왜 Kermit을 안 썼는지 궁금함, 당시 잡지에서 많이 봤는데 실제로는 한 번도 못 봤고 대신 YMODEM이랑 ZMODEM이 자리잡았음
라이선스 문제도 있었고 BBS는 대부분 한 시스템에 특화돼서 Kermit의 문자셋 변환이나 호환성 기능이 별로 안 중요했음, 기본 설정도 안 좋아서 ymodem/zmodem보다 성능 내기가 훨씬 어려웠음, 그래서 메인프레임 밖에서는 채택률이 낮았음
초기 80년대 Kermit은 96바이트 패킷 제한이 있었지만 나중에 4K/9K 점보프레임이랑 슬라이딩 윈도우 지원하면서 최신 구현체는 ZModem보다 빠른 경우도 있었음, 근데 BBS들은 자체 구현이 tiny packet이라 느렸던 거임
1991년에 플로리다 주립망 통해 IBM 미니컴퓨터, VAX, Unix 박스까지 거쳐서 연결했었는데 ZMODEM이랑 XMODEM 다 실패하고 결국 Kermit만 파일 전송 성공했음, 그 난해한 연결에서도 첫 시도에 됐음