커널에서 chunked http body의 압축 해제방법에 대해서... 궁금합니다.
Zlib 너무 어렵네욤..,ㅠ.ㅠ 도와주세요^^
잘 이해도 되지 않고... 커널에서
fs/cramfs/uncompress.c에 사용되는 zlib_inflate() 이용해서 수행중인데...
힘드네욤..ㅠ,ㅠ.
이러다가 곧 커널에 질릴듯...
일반적으로 네트워크 내에서 bandwidth로 인해서 요즘.. HTTP response body 부분을
압축해서 보내는 경우가 있는데, 이 부분에 대해서... 궁금한 점 있습니다.
chunked 되지 않는 경우는 커널에서 쉽사리 가능하다고 생각하는데.... 솔직히
payload만 계산되면.. 압축을 해제 할 공간도 쉽게 잡을 수 있고... 그런데...
chunked된 경우는 어떻게 접근해야 하나요?
Payload
++++++++++++++++++++++++++++++++++++++++
HTTP1/1 200 OK\r\n
..
...
..
Transfer-Encoding: chunked\r\n\r\n
[#data size]\r\n
[the content of chunked data]\r\n\
..
..
..
0\r\n
\r\n\r\n ==> The end of chunked data
reassemble뒤에 다음 내용의 자료형을 뽑았습니다.
문제는... 커널 공간이 한정적이기 때문에 마음대로 decompress data 조합을 위한 공간을 선언하기
좀 애매해 보이네요...아니면... 파싱을 후 데이터를 쌓아서 수행하는 방법 밖에 없는 건가요?
chunked된 조각 단위로 압축 해제가 불가능한가요? snort소스에도 있던거 같던뎅... 분석중에 포기해버렸습니다.ㅠ,ㅠ.
한번에 쫘아악.. 수행하는 방법이 없을까요?
zlib_inflate()를 이용해서 진행하고 있습니다.
좋은 아이디어 있으면... 주셨으면 좋겠습니다. 아니면.. 참고 할 수 있는 사이트라도...
참고로 웬만한 곳은 다 찾아봤습니다.^^
한번에 쫘아악... 함수를 이용해서 쉽게 진행 하는 방법이 없나요?
댓글 달기