피드로 돌아가기
Node.js 0.9.4 (Unstable)
Node.js BlogNode.js Blog
Backend

Node.js가 스트림 인터페이스 재설계, 보안 취약점 패치, 새로운 시스템 API 추가로 0.9.4 언스테이블 버전 출시

Node.js 0.9.4 (Unstable)

2012년 12월 21일5intermediate

Technical Solution

  • 스트림 인터페이스를 새로운 클래스 기반으로 업데이트: 모든 스트리밍 인터페이스를 통일된 구조로 변경
  • HTTP 응답 분할 공격(response splitting attacks) 방어 메커니즘 추가: Bert Belder가 보안 취약점 패치
  • 파일 시스템에서 null 바이트 감지 시 에러 발생: isaacs가 경로 검증 강화
  • fs.createReadStream에 autoClose=true 옵션 추가: Farid Neshat가 파일 스트림 자동 종료 기능 구현
  • 프로세스 그룹 관리 API 추가: getgroups(), setgroups(), initgroups() 함수 구현
  • OpenSSL 어셈블리 코드 최적화: x86 및 x64 아키텍처에서 암호화 연산 가속
  • systemtap 프로파일링 지원 추가: Jan Wynholds가 성능 분석 도구 지원 구현
  • Windows ETW(Event Tracing for Windows) 및 PerfCounters 지원 추가: Scott Blomquist가 Windows 성능 모니터링 인터페이스 구현
  • UNC 경로 정규화 버그 수정: Windows 파일 시스템 경로 처리 개선
  • ArrayBuffer에 slice() 메서드 추가: Anthony Pesch가 typed arrays 기능 확장
  • url.format에서 경로 및 쿼리 문자열의 구분자 이스케이프 처리: J. Lee Coltrane이 URL 인코딩 강화
  • readline에서 줄 바꿈 문자(\n) 후행 제거: Nathan Rajlich가 라인 이벤트 정제
  • 디버거에서 SIGTERM 또는 SIGHUP 신호 수신 시 자식 프로세스 종료: Fedor Indutny가 신호 처리 개선
  • 시스템 libuv, cares, http_parser 라이브러리에 대한 동적 링크 옵션 추가: Stephen Gallagher가 빌드 유연성 향상
  • xcode 빌드 파일 생성 configure 옵션 추가: Timothy J Fontaine이 macOS 개발 환경 지원 강화

Node.js 스트림 기반 애플리케이션을 개발할 때

0.

9.4 버전의 통일된 스트림 인터페이스를 적용하면 여러 스트림 타입을 일관된 API로 다룰 수 있으며, HTTP 서버 구현 시 response splitting 공격 방어가 내장되어 사용자 입력 검증 복잡도를 줄일 수 있다.

원문 읽기