Hi all, I've been doing some hacking on Rat over the last couple of days and found a couple of issues that I've attempted to address. The attached patch is against ag-media in AG2.3, and makes the following changes:
Update config.{guess|sub} to newer versions. This is necessary to compile on AMD64 architecture, and possibly some others. Drop the built-in DES support used by mbus and rtp in favour of using OpenSSL's implementation. The implementation included in UCL-common dates back to '93 and has a number of portability issues. It would fail to work correctly under certain combinations of compiler and flags, causing mbus to fail. This in turn caused Rat to hang on startup (and fail to display the UI), exchanging corrupted mbus packets with itself. I updated the RTP encryption to use OpenSSL while I was at it. Fix RTP packet structures. The struct used to decode RTP had the 'interesting' implementation feature of putting a bunch of management variables at the front and calculating the offset in memory to the actual data. Unfortunately this completely failed to take account of such things and pointer alignments and structure padding, and only worked in 32 bits by coincidence. It completely fails when compiled for 64-bit. I've reworked this to be a bit more explicit about what it's doing and using the standard offsetof macro to calculate offsets. This also includes Linux Alsa support. Could interested parties please test this. The patch and notes are also available online here: http://people.vislab.usyd.edu.au/~ssmith/patches/ Cheers, Steve -- Steve Smith, SysAdmin/Programmer | "When you have no nails your hammer grows Vislab, University of Sydney | restless, and you begin to throw sideways Phone: (02) 9351 5967 | glances at screws and pieces of string." Email: ssm...@vislab.usyd.edu.au | -- Jarkko Hietaniemi
ag2.3-alsa-mbus-rtp-ssl.diff.gz
Description: ag2.3-alsa-mbus-rtp-ssl.diff.gz