2007-11-13 15:00:12
Simple BitTorrent Fuzzer
I wrote a simple BitTorrent client protocol fuzzer for a project in my
CS389 class. Right now it doesn't do too much beyond the bare minimum and it is
pretty retarded with regard to knowledge of the protocol but it does its job.
Written in the Sulley fuzzing framework, code is here.
2007-08-05 09:27:15
Traveling, Back from
I've been traveling this past week and just got back a few hours ago. My first
trip was last Saturday/Sunday to San Diego for Awesomecon (pictures) with Tim and Eric(the
comedians)/Comicon. Next We went around to some local socal places like
Universal Studios, Pasadena, Hollywood, the Reagan Library, some local museums I
forget the name of, etc. Then on Friday through Saturday this week we had a
family reunion here at our house, and on Saturday we left to the desert to take
my dad's parents back home after the reunion. Also the week before
awesomecon/comicon I was building a treehouse in my backyard for my little
brother(I may have mentioned earlier, I forget), which took a LOT more time
than I though, but was overall pretty easy and fun, the hardest part was
finding materials and desiging it. This is something me and my dad have talked
about doing for at least a couple of years now and we finally had a week to do
it, so I didn't pass up the opportunity, as I probably won't be home for summer
next year or the year after. Anyways, that's what I've been up to the past two
weeks. In two weeks I'm back off to school in New Mexico so I have to prepare
for that(not too much work), and work on genipc. With all the car time I've had
the last week I had a lot of time to think of what I need to do, just need to
implement them. Oh yeah, and next weekend I'll be gone again for yet another
family reunion(this is for the other side of my family, and kinda last-minute,
but I'm usually gone weekends anyway so it doesn't mess my schedule).
2007-07-23 09:18:45
genipc Progress
This past week I haven't been able to do much work on genipc besides some minor
cleanups and hooking output and the playlist to genipc, and probably won't be
able to do much more for another week or so, because my family is on
"vacation", and I am going with them on some of the trips around California they are
taking. Also, I have been helping my dad out with fixing up stuff around the
house while he still has me around, namely we are remodeling the den and
building a treehouse for my little brother.
TODO
*Fix my test clientlib, it drops the connection after sending a single request(hindering my testing output and playlist functionality)
*Handle serialization of lists and dicts, I have some code I haven't commited yet that partially does this, maybe by the end of the week it will somewhat work. Anders said to wait before doing collections, so I'll do those later.
*Convert the rest of the daemon's IPC commands to genipc and add their definitons to ipc.xml
*See GENIPC_TODO in my tree for more/better explanations
TODO
*Fix my test clientlib, it drops the connection after sending a single request(hindering my testing output and playlist functionality)
*Handle serialization of lists and dicts, I have some code I haven't commited yet that partially does this, maybe by the end of the week it will somewhat work. Anders said to wait before doing collections, so I'll do those later.
*Convert the rest of the daemon's IPC commands to genipc and add their definitons to ipc.xml
*See GENIPC_TODO in my tree for more/better explanations
2007-07-11 10:49:48
Update on genipc
Genipc work has been moving along well, and is reaching a state where it can
"do" things, at least on the server side. So far, I've gotten the server side
to deserialize basic ipc commands, like main_hello, main_quit, correctly, and
to call the correct command handler. I've also stripped out the clientlib in
my tree for testing purposes and implemented a bit of the new request api,
and have been using that to test the codepaths through the server.
Things that still need to be done:
* Right now it can only handle deserializing the more basic types like int, uint, string, so I still need to handle the more complex cases like lists of ints, dicts, etc.
* Implement property requests, right now it only handles methods, not property callbacks and the like. This shouldn't take too long, the code for generating it is almost finished, but I don't know yet how hard it will be to integrate it.
* The server code needs to be converted over to using the new API for registering IPC commands(shouldn't take too long, probably longer for requests).
* The clientlib needs to be converted to implement the new request API.
Also, there are a couple of implementation details that I think may need fixing. Right now, all of the definitions for methods, requests, etc. are all defined in the generated xmmsclient.h This means that everything thats generated needs to include it, which may be a problem, considering that its supposed to be for the client side. I will probably be spilling it up into something like the current xmmsc_idnums.h and a seperate xmmsclient.h that just defines the public interface. Also, the genipc.py script is getting a bit large and unweildy, I want to split it up into a couple of modules and clean it up to make it easier to work with. And eventually, I will need to integrate it into waf(the generating part). I am going to write a GENIPC_README file in my tree(and on the wiki) soon that will explain how all the generated files fit together and expand a bit more on the implementation details.
Things that still need to be done:
* Right now it can only handle deserializing the more basic types like int, uint, string, so I still need to handle the more complex cases like lists of ints, dicts, etc.
* Implement property requests, right now it only handles methods, not property callbacks and the like. This shouldn't take too long, the code for generating it is almost finished, but I don't know yet how hard it will be to integrate it.
* The server code needs to be converted over to using the new API for registering IPC commands(shouldn't take too long, probably longer for requests).
* The clientlib needs to be converted to implement the new request API.
Also, there are a couple of implementation details that I think may need fixing. Right now, all of the definitions for methods, requests, etc. are all defined in the generated xmmsclient.h This means that everything thats generated needs to include it, which may be a problem, considering that its supposed to be for the client side. I will probably be spilling it up into something like the current xmmsc_idnums.h and a seperate xmmsclient.h that just defines the public interface. Also, the genipc.py script is getting a bit large and unweildy, I want to split it up into a couple of modules and clean it up to make it easier to work with. And eventually, I will need to integrate it into waf(the generating part). I am going to write a GENIPC_README file in my tree(and on the wiki) soon that will explain how all the generated files fit together and expand a bit more on the implementation details.
2007-07-01 00:56:45
git repos and DNS changes
Today I changed the DNS server for this site(thisnukes4u.net) to freedns(afraid.org), because 1and1 has been
having problems lately. I've also imported a bunch of git repositories for some
of my old and new projects, you can see them on gitweb. Anyways, thats enough for now, I
need to do some more electronics work and work on my SoC project a bit.
2007-06-27 05:31:20
Quick Update on SoC Progress
I just wanted to make a quick update on my progress with genipc. So far, I've
been able to generate header files that describe most all of the client side
and a good portion of the server side, as well as written some code that
supports the client side(sending requests). The next step(what I am currently
working on) is to get the rest of the server side headers done and work on
integrating them into the existing setup there. The first step is to allow a
cleaner way of registering IPC commands through a structure/function pointer
interface. Once I've got that going, the next step is to replace the code
currently in ipc.c that is doing all the handling and delegation of ipc
messages with a generated equivalent that can interface with the previously
mentioned struct/func ptr setup. I'll update again in the next couple of days
on how its going and what exactly I've done/any changes in the plan.
2007-06-05 20:47:58
Weekend Electronics, SoC happenings
This weekend I did a bunch of electronics stuff, mostly went looking around on
the internet for cool parts to buy and a decent serial PIC programmer
schematic. I eventually created one myself, I failed miserably at first,
sometimes it would work and others not, but eventually I put some moderate
resistors on the signal lines and it worked perfectly! Details here.
On the SoC front, I've almost got my configuration file format flushed out, now I need to finish that up and work on how the heck I'm going to do the server side.
On the SoC front, I've almost got my configuration file format flushed out, now I need to finish that up and work on how the heck I'm going to do the server side.
2007-05-29 14:45:19
Stuff I've done so far this summer...
A lot has happened since I got back home for the summer. For one, i've set up
an automated system in perl that takes a video/music file in an format
supported by mencoder/ffmpeg, convert it to an flv, and create an swf file to
play the flv. What is the point you say? To turn my Wii into a media center
that can play movies for me on our big TV and sound system! I'll post the
scripts soonish.
I've also gotten a gps unit and taken up wardriving, which is EXTREMELY fun and fulfilling, although with gas as high as it is now I probably won't be doing as much as I would like. A map of my latest wardrive is available here. Along with the gps comes another game, geocaching, that I've also started doing. Anyways, link to the perl scripts forthcoming.
I've also gotten a gps unit and taken up wardriving, which is EXTREMELY fun and fulfilling, although with gas as high as it is now I probably won't be doing as much as I would like. A map of my latest wardrive is available here. Along with the gps comes another game, geocaching, that I've also started doing. Anyways, link to the perl scripts forthcoming.
2007-05-29 14:38:22
Summer of Code begins
Today I'm starting work on my SoC project, which is autogenerated IPC for
xmms2. This week I'll mostly be setting up my environment, finalizing my
design, and dredging a bit further into the parts of the xmms2 codebase that
I've been working on. I'll be updating this blog at least once a week on my
progress, but I hope that I will be doing enough interesting things to update
at least once every day or two. Oh yeah, more info on my project is here.