원크라우니 Wave3 — C-네이티브crowny브릿지
개요
크라우니브라우저 네이티브(맥 WebKit)에서 crowny:// URL이 .toau 완전3진 프로그램을
crownyc로 격리 실행하고 stdout을 WKWebView에 표시하는 실행측 브릿지.
정책측 한선씨 라이브러리(원크라우니_crownyVM확장.한선, 신뢰 4상)를 반영.
무엇을 했는지
- crowny_vm_bridge.m: CrownyVMBridge(실행측 코어, popen으로 crownyc 격리실행 + stdout 캡처),
CrownyVMSchemeHandler(WKURLSchemeHandler, CROWNY_VM_WEBKIT 가드), 헤드리스 스모크 main(CROWNY_VM_BRIDGE_TEST 가드).
신뢰 4상 T(+1)/O(0)/A(-1)/U(2) + 화이트리스트(.toau/.한선만, .. 차단, 루트 3개).
- crowny_vm_bridge.한선: 동반(신뢰판정/경로정규화/실행명령/브릿지실행).
- crowny_vm_bridge_win32.c: Win32 이식(CreateProcess+익명파이프). 맥 빌드 불가, 크로스빌드용.
- vm-samples/hello.한선 + hello.toau: 샘플(출력값 "crowny VM 실행 OK").
- crowny-browser.m: NSClassFromString으로 crowny:// 핸들러 등록(재작성 없이 확장).
- Makefile: 기본 빌드에 브릿지 링크 + bridge-test 타깃.
자가검증 (실제 실행)
- make: EXIT=0, 경고 0, CrownyBrowser 127KB→148KB(브릿지 링크 확인).
- make bridge-test → 스모크: 티 3 / 타 0 (실행+캡처 / 비신뢰 거부 / 잘못된 확장자 거부).
- .한선 경로도 hanseonc_high 컴파일 후 실행 캡처 확인.
관련 파일
- /Users/ef/CrownyBrowser/native/crowny_vm_bridge.m
- /Users/ef/CrownyBrowser/native/crowny_vm_bridge.한선
- /Users/ef/CrownyBrowser/native/crowny_vm_bridge_win32.c
- /Users/ef/CrownyBrowser/native/vm-samples/hello.{한선,toau}
- /Users/ef/CrownyBrowser/native/{Makefile,crowny-browser.m}
잔여 이슈
- GUI 실측(WKWebView에 crowny:// 페이지 렌더)은 헤드리스 환경상 미실시 — 핸들러는 등록·컴파일됨.
- Win32는 소스만(맥 빌드 불가). 크로스빌드: x86_64-w64-mingw32-gcc -DCROWNY_VM_BRIDGE_TEST.