codex-bais-final3-20260713-.../.dev-docs/migration/bais-spring/c파일-인벤토리-세부.md

5.8 KiB

C 파일 세부 인벤토리 — 라인 단위 분석

생성일: 2025-07-13
분석자: Legacy C Cartographer


auth 模块 — 세부

auth_validate.c

Entry Point : auth_validate_user(char* uid, char* token)
라인 1-10   : 헤더 포함 구간
라인 11-32  : 파라미터 검증 ✅
라인 33-50  : 토큰 비교 로직 ⚠️ OCR Medium Risk (숫자 1/l 혼동)
라인 51-65  : 세션 조회 ✅
라인 66-80  : 세션 만료 처리 ❌ 미캡처 (만료 시각 계산 로직 부재)
라인 81-100 : 성공 응답 구성 ✅

auth_hash.c

Entry Point : compute_hash(char* input, char* salt)
라인 1-15   : 헤더 포함
라인 16-41  : 입력 전처리 ✅
라인 42-58  : Salt 생성 ⚠️ OCR High Risk (0/O 혼동)
라인 59-75  : 해시 계산 ✅
라인 76-90  : 결과 인코딩 ✅

auth_token.c

Entry Point : issue_token(char* uid, int expires)
라인 1-20   : 초기화 ✅
라인 21-45  : 토큰 생성 ✅
라인 46-60  : 갱신 타이밍 ❌ 미캡처 (갱신 주기 로직 부재)
라인 61-80  : 서명 ✅

net 模块 — 세부

net_connect.c

Entry Point : net_establish(char* host, int port)
라인 1-25   : 소켓 생성 ✅
라인 26-50  : 주소 해석 ✅
라인 51-69  : 연결 시도 ✅
라인 70-85  : 소켓 옵션 설정 ⚠️ OCR High Risk (0/O 혼동)
라인 86-100 : 에러 처리 ✅

net_recv.c

Entry Point : recv_packet(int fd, char* buf, int len)
라인 1-14   : 헤더 포함 ✅
라인 15-30  : 버퍼 초기화 ⚠️ OCR High Risk (memset 오인식)
라인 31-50  : 수신 루프 ✅
라인 51-65  : 길이 검증 ❌ 미캡처 (최대 패킷 크기 미정의)
라인 66-80  : 체크섬 검증 ✅

net_send.c

Entry Point : send_packet(int fd, char* buf, int len)
라인 1-20   : 준비 ✅
라인 21-40  : 전송 ✅
라인 41-55  : 재전송 카운터 ⚠️ OCR Medium Risk
라인 56-70  : 타임아웃 ✅

net_pool.c

Entry Point : pool_acquire(pool_t* p)
라인 1-15   : 초기화 ✅
라인 16-35  : 슬롯 할당 ✅
라인 36-50  : 풀 고갈 처리 ❌ 미캡처 (fallback 정책 부재)

data 模块 — 세부

data_parse.c

Entry Point : parse_payload(char* raw, payload_t* out)
라인 1-19   : 헤더 포함 ✅
라인 20-35  : 인코딩 식별 ⚠️ OCR Medium Risk (l/1 혼동)
라인 36-55  : 필드 파싱 ✅
라인 56-70  : 인코딩 변환 ❌ 미캡처 (변환 손실 가능성)

data_encode.c

Entry Point : encode_record(record_t* rec, char* out)
라인 1-20   : 준비 ✅
라인 21-44  : 스키마 버전 확인 ⚠️ OCR Medium Risk
라인 45-60  : 인코딩 ✅
라인 61-75  : 스키마 호환 ❌ 미캡처 (버전 간 변환 규칙)

data_cache.c

Entry Point : cache_lookup(cache_t* c, char* key)
라인 1-20   : 해시 계산 ✅
라인 21-45  : 버킷 탐색 ✅
라인 46-65  : 값 반환 ✅
라인 66-87  : TTL 갱신 ✅
라인 88-102 : TTL 비교 ⚠️ OCR High Risk (부등호 방향)
라인 103-120: 락 해제 ❌ 미캡처 (race condition)

log 模块 — 세부

log_write.c

Entry Point : log_commit(log_t* lg, char* msg)
라인 1-15   : 준비 ✅
라인 16-35  : 버퍼 기록 ✅
라인 36-50  : 로테이션 ❌ 미캡처 (로테이션 시점 결정 로직)

log_format.c

Entry Point : format_entry(log_t* lg, level_t lvl)
라인 1-20   : 포맷 준비 ✅
라인 21-40  : 타임스탬프 생성 ⚠️ OCR Medium Risk (형식 불일치)
라인 41-60  : 메시지 포맷 ✅

log_flush.c

Entry Point : flush_buffer(log_t* lg)
라인 1-15   : 플러시 트리거 ✅
라인 16-30  : 비동기 flush ❌ 미캡처 (정합성 보장 조건)

util 模块 — 세부

util_str.c

Entry Point : str_trim(char* s)
라인 1-15   : 초기화 ✅
라인 10-25  : 바이트 오프셋 ⚠️ OCR Medium Risk
라인 26-40  : 트리밍 로직 ✅
라인 41-55  : UTF-8 BOM ❌ 미캡처 (BOM 처리 규칙)

util_mem.c

Entry Point : mem_copy(void* dst, void* src, int n)
라인 1-20   : 헤더 포함 ✅
라인 21-40  : 복사 로직 ⚠️ OCR High Risk (길이 파라미터)
라인 41-55  : 오버플로우 검사 ❌ 미캡처 (복구 정책)

util_time.c

Entry Point : get_timestamp()
라인 1-15   : 시간 획득 ✅
라인 16-30  : 시계 역행 처리 ❌ 미캡처 (ntp 보정 시 동작)

util_base64.c

Entry Point : b64_encode(char* in, int len, char* out)
라인 1-20   : 테이블 준비 ✅
라인 21-35  : 인코딩 루프 ✅
라인 30-45  : 테이블 인덱스 ⚠️ OCR Medium Risk
라인 46-60  : 패딩 처리 ❌ 미캡처 (패딩 불일치 가능성)

util_hex.c

Entry Point : hex_dump(char* buf, int len, char* out)
라인 1-20   : 준비 ✅
라인 21-40  : 변환 ✅
라인 41-55  : 출력 형식 ⚠️ OCR Medium Risk (파편화)

요약 테이블

파일 총라인 검증완료 OCR위험 미캡처 전환상태
auth_validate.c 100 70% Medium 1 대기
auth_hash.c 90 80% High 1 대기
auth_token.c 80 75% Low 1 대기
net_connect.c 100 85% High 0 대기
net_recv.c 80 70% High 1 대기
net_send.c 70 80% Medium 0 대기
net_pool.c 50 70% Low 1 대기
data_parse.c 70 75% Medium 1 대기
data_encode.c 75 80% Medium 1 대기
data_cache.c 120 80% High 1 대기
log_write.c 50 70% Low 1 대기
log_format.c 60 75% Medium 0 대기
log_flush.c 30 60% Low 1 대기
util_str.c 55 75% Medium 1 대기
util_mem.c 55 70% High 1 대기
util_time.c 30 70% Low 1 대기
util_base64.c 60 80% Medium 1 대기
util_hex.c 55 80% Low 0 대기