Skip to content

알파 제출버전 서버 런타임 완성#8

Open
uersnmae wants to merge 5 commits into
serverfrom
codex/server-alpha-test
Open

알파 제출버전 서버 런타임 완성#8
uersnmae wants to merge 5 commits into
serverfrom
codex/server-alpha-test

Conversation

@uersnmae
Copy link
Copy Markdown
Collaborator

@uersnmae uersnmae commented May 4, 2026

요약

  • CGI 실행, 환경 변수 구성, CGI 표준 입력/출력 파이프의 poll() 통합, 시간 초과와 502/504 응답 처리를 정리했습니다.
  • 정적 파일 응답, 사용자 지정 오류 페이지, 디렉터리 목록, 업로드, 삭제 요청, 여러 listen/server, Host 라우팅, 연결 유지, 파이프라인 요청 처리를 제출 기준으로 보강했습니다.
  • realpath, _exit, inet_ntoa 계열 호출을 제거했고, 인자 없이 실행하면 config/default.conf를 사용하는 기본 실행 경로를 추가했습니다.
  • SIGINT, SIGTERM 수신 시 signal handler는 shutdown flag만 세우고, EventLoop가 정상적으로 poll loop를 탈출하도록 graceful shutdown을 추가했습니다.
  • 서버 구조 문서와 CGI 구현 문서를 현재 제출 상태에 맞게 갱신했습니다.

검증

  • make fclean
  • make
  • 최종 런타임 스모크 테스트 통과
    • 기본 설정 파일 실행
    • 정적 파일 응답
    • 사용자 지정 오류 페이지
    • 디렉터리 목록
    • 업로드
    • 삭제 요청
    • %2e%2e 경로 탈출 요청의 403 처리
    • 라우트별 본문 크기 제한 413 처리
    • CGI GET/POST/청크 본문 처리
    • 잘못된 CGI 응답의 502 처리와 연결 유지
    • CGI 시간 초과 504 처리
    • 여러 포트/server 처리
    • HTTP 파이프라인 처리
  • SIGINT graceful shutdown 테스트 통과
    • SIGINT 전송 후 EventLoop 정상 탈출
    • 포트 해제 확인
  • Valgrind graceful shutdown 경로 확인
    • in use at exit: 0 bytes
    • All heap blocks were freed
    • ERROR SUMMARY: 0
  • 기존 설정 모듈 테스트 통과
    • test_error
    • test_include
    • test_integration
    • test_lexer
    • test_parser
    • test_validator
  • srcs, includes 범위에서 realpath, _exit, inet_ntoa, inet_ntop, accept4, pipe2, sendfile, errno가 검출되지 않음을 확인했습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant