[tor-dev] Stegotorus Challenge - Inheriting from FileStegMod

vmon at riseup.net vmon at riseup.net
Fri Apr 4 14:14:01 UTC 2014


Hey Noah,

For committing:
I think Zack needs to give you write access. Please send your github id
to Zack (zackw at cmu.edu) and cc me. Once that is done, please branch out
of tor-improve and commit. If it takes Zack long to give you permission, 
you can just fork Zackw/stegotorus of course. Just please only commit 
compilable code (no syntax error etc), this way it is easier to review
the commits.

SWF would be easier than JS but if you like the JS it is cool with
me. For the swf, basically swf_wrap should go to encode, swf_unwrap to
decode and you need basically discard the http_server_SWF_transmit and
http_handle_client_SWF_receive functions (these are redundant). Just be
careful that what is supposed to be send to each function, is it the
payload without header? with header? etc. So just tweak the
swf_unwrap/swf_wrap to be compatible with what encode/decode.

Capacity functions:
Then PayloadServer::capacitySWF should be implemented as swfSteg::capacity.
However, You'll find 4 capacity functions and it is probably quite
confusing. 

capacity
headless_capacity
static_capacity
static_headless_capacity

static vs virtual:
When all the modules are moved to the new model, we'll get rid of
static_capacity, static_headless_capacity but till then, we need them to
keep this old/new hybrid stegs model. Hence:

capacity just calls static_capacity
headless_capacity just calls static_headless_capacity

headless vs headfull:
headless_capcity: computes the capacity when the payload is given without
http header (pure file).

capacity: compute the capacity when the payload is given as an HTTP
response (So it starts with 

HTTP/1.1 200 OK Server: Apache
Accept-Ranges: bytes
Content-Type: text/html; charset=utf-8
Content-Length: 920
Connection: keep-alive

and then the file starts, so you just need basically to skip the header
and call headless_capacity (we probably should implement the capacity in
the parent and only make headless_capacity pure virtual).

If you take look at:

jpgSteg::capacity
jpgSteg::headless_capacity
jpgSteg::static_capacity
jpgSteg::static_headless_capacity

all I what say will sound  less gibberish to you.

Good luck et bon courage,
vmon

Noah Rahman <selimthegrim at gmail.com> writes:

> Laying over in Tokyo enroute to bkk, had a look at all the modules and
> will start on the JS one on the plane. I have 24 hours in bkk so
> should be able to convert the Js and at least one of the other ones if
> not both to inherit from the FileStegMod by the time I leave there.
> Should I submit the pr to your Tor-improve branch or zackw's?
>


More information about the tor-dev mailing list