04/18/07

He’s dead Jim!

So about two years ago I started telling everyone to stop emailing me at aturner@pobox.com. It’s still rather amusing that people occasionally use that address, but I figure if you haven’t figured it out by now, I’m pretty sure the only thing that will teach you is for it to start bouncing. Hence, I’ve intentionally let my Pobox account die off.

So sooner or later they’ll stop thinking I just forgot to pay the bill and turn it completely off. Anyways, if you’re reading this and don’t have one of my current email (@gmail or @synfin.net) just search google and you’ll figure it out without too much work. If not, just use the feedback form to write me.

On a side note, I do have to say I was very happy with Pobox. Their service is reasonably priced, extremely reliable and just plain works. If you’re someone who tends to move around or change ISP’s and doesn’t like the free webmail offerings of Yahoo, Google, etc, then they’re worth checking out.

04/14/07

RC1 is out!

Once again, I paid someone a lot of money to do my taxes. Honestly, it’s the best $750 I spend each year. The US gov’t does a great job making taxes complicated even for people like me who aren’t worth millions of dollars or are trying to use tax havens in various 3rd world countries.

Anyways, since I didn’t have to do my taxes, I decided to take the time to fix bugs and get the RC1 release out. This is actually a big deal. We’re talking over 2 years of effort, 100+ tickets fixed, 600 commits and 20,000 lines of code. But mere numbers don’t really begin to cover what’s new:

  1. Completely rewritten to improve performance
  2. Standardized options for easier use
  3. Tons and tons of bug fixes
  4. Rewrote all the docs to the wiki
  5. Plugin based architecture for DLT rewriting (DLT_EN10MB, DLT_NULL, DLT_LOOP, DLT_LINUX_SLL, DLT_HDLC, user defined)
  6. Initial support for Win32 under Cygwin
  7. Cleaner code for easier maintenance and enhancements

So what’s the future?

  • More DLT support (802.11 for one)
  • More plugins (layer 3, 4 and 5+)
  • Possible use of Lua or other embedded language for ease of writing additional editing plugins
  • Native Win32 support
  • Much much more
04/12/07

I hate proprietary formats…

I don’t understand why Samsung decided to use a semi-proprietary file format for their X205L/X210L series of camcorders, but they did. Obviously, they wised up to this mistake since they’ve released the X300L which uses standard DIVX encoding.

But for those of you like me who have a 2xx series and would like to view their movies on something other then Windows, I’ve written a small C program called Sedg2Divx which does a good enough conversion so you can play the .avi files using VLC on OS X and probably under Linux as well.

03/24/07

Looking for Win32 beta testers

For the past month or so, I’ve been working on getting tcpreplay working under Windows systems (Windows XP specifically). I’m happy to say that I’ve made good progress and now I’m looking for a few beta testers to try it out in a more “real world” environment and provide feedback.

Some words of warning:

  • I’m not a Windows expert. The last version of Windows I used at all regularly was Win95. ’nuff said.
  • You don’t have to be a Windows expert, but you should be very comfortable using it.
  • It would be nice if you have some C coding experience under Windows. I don’t expect you to code or fix bugs, but someone who is familiar with C is likely to be able to provide better bug reports.
  • You must be able to install WinPcap 4.0 and Cygwin. If that sounds scary or like too much work, then this isn’t for you.
  • You must be willing/able to compile tcpreplay under Cygwin. I will not be providing binaries right now! You don’t need to have VC++ or anything like that, but being familiar with the GNU toolchain is a big plus. Sorry, but I can’t provide support getting Cygwin or the other dependencies like GNU Autogen installed.
  • You must be able to communicate in English clearly. Since I won’t be able to sit down at your computer and help if there’s any problems, you’ll have to be able to email/IM/IRC me what’s going on. English doesn’t have to be your first language, but if you have a hard time communicating on technical topics, then this isn’t for you.

How do you get started? Easy, read my quick Win32 HowTo and get started! If you have any questions or problems, please email me at: synfinatic@gmail.com

03/22/07

3.0.beta13 is out

Hot off my keyboard, beta13 is out. It’s actually the exact same tarball as the pre-release since nobody complained about any bugs, so I hereby declare it having fewer bugs then the last release, which is actually saying something.

Anyways, in this release I snuck in early Win32 support. Don’t bother downloading and trying it out if words like “Cygwin” and “aclocal” sound like aliens from outerspace. But if you do feel adventurous, download it, and feel free to drop in on the tcpreplay-users list and let me know how it goes.

03/21/07

Pre-release of Beta13 available

So the endian issues in tcprewrite seem to be causing a lot of people grief, so I’ve decided to release a beta13 before RC1. However, since this wasn’t a planned release, some RC1 tickets are half done and incomplete. It doesn’t seem like this will cause anyone problems, but I haven’t done enough testing myself to release it to the entire world.

Hence, I’m posting a pre-beta13 so people can try it out and report any major bugs before I announce it to the rest of the world.

The major changes since beta12 are:

  • Fixed detection of IPv4 packets on little-endian (Intel mostly) boxes. Prevented tcprewrite from editing most packets
  • Fixed TCP/UDP checksum calculation on little-endian boxes
  • Added –quiet flag to tcpreplay for Lothar
  • The –seed flag should now generate the same IP’s on both little-endian & big-endian boxes
  • The –skipl2broadcast flag now works as documented
  • Adding L2 header for DLT_RAW encapsulated packets now works

Hopefully everyone here who has found a bug in the last few weeks will take a few minutes to give it a try and let me know how well it works out.

Since this is not GA code yet, I’m not posting it to SF, so you’ll have to get it here:

http://tcpreplay.synfin.net/tcpreplay-3.0.beta13.tar.gz

If you find any issues, please post them to the tcpreplay-users mailing list or open a ticket.

Thanks!

03/13/07

How not to treat developers

I’m not sure what happened last week, but it seems that the difficult users all decided to come out of the woodwork all at once. Maybe it had something to do with the phase of the moon or the change in daylight savings time?

For those of you not paying close attention, I’m referring to these tickets.

So not to make this a rant (I think I’ve done that enough), this is just a friendly reminder that Free/Open Source Software developers are:

  1. Not your slave
  2. Generally pretty busy with things like a job and personal lives
  3. Working on the project in their free time
  4. Writing code because they enjoy it. When they stop enjoying it, they’ll stop writing code and then where will you be?

Hence, try to treat these developers with a little respect. I’m not saying you have to kiss their feet or anything like that, but remember that you’ll catch more flies with honey then vinegar.

03/1/07

Win32/Cygwin working

I’m happy to announce that I’ve used tcpreplay to send packets under WinXP/Cygwin. I have to say, the port has gone a lot smoother then I expected. I’d guess that getting basic functionality working was probably about 25-50 lines of code (most of that GNU Autoconf). While I have run into a few problems that I’m not sure yet how to resolve, things are actually going quite well so I’ve moved up Win32 support to 3.0.RC1. If anyone is familiar with creating an installer for Win32 (MSI or something like that???) I’d love to hear from you.

02/22/07

tcpreplay 3.0.beta12 released!

I’m happy to announce that 3.0.beta12 is finally out. This is a pretty important release because of the extensive changes to how different DLT/Layer2’s are supported in tcprewrite. In the past it was a big block of monolithic code which as many of you know had some serious bugs and limitations. 3.0.beta12 moves to a full plugin based architecture which makes adding support for various DLT’s very easy. Continue reading