📄 mods
字号:
- Cleanup test routines
- Fix various potential buffer overflow problems
- Update copyright notices to welcome in the new millennium
- Previous versions of udp_send() would sometimes return -1 on error,
and would sometimes abort(). We now always return -1 and never abort.
- Add test routines for code in net_udp.c
- Fix SCOPE parameter in mbus configuration on windows
- Fix sending of hearbeat messages whilst in mbus.waiting() and mbus.go() loops
- Tidy up mbus_qmsg();
- Add workaround for buffer overflow bug in _dprintf() which caused
a crash under Windows NT service pack 6. This is not a real fix, we
need to use vsnprintf() in there, but Windows doesn't implement it
and I don't have time before we give the demo... Sigh, only two
days wasted.
- Fix buffer overflow in _dprintf() on Windows, using _vsnprintf().
- Update IPv6 support for Microsoft Research IPv6 stack, v1.4
- Use the versions of inet_ntop() and inet_pton() provided with the
IPv6 stack, but retain our own implementation when building with
IPv4 support only.
- Use getaddrinfo() rather than getnodebyname() to get our IPv6 address if
running with the Microsoft Research IPv6 stack.
- We now require getaddrinfo() to be present in all IPv6 stacks: those which
do not have this call (eg: the Musica IPv6 stack) MUST provide a workaround
implementation.
versions of MSR IPv6 prior to 1.4 are no longer supported.
- Update IPv6 support for Red Hat Linux 6.1
- Fix generation of version.h on Win32
- Add VC++ project file to build the test suite under Win32
- Add extra debug code to the mbus library
- Rewrite mbus code: mbus_parser.[ch] exist now, and include routines moved from the
main mbus.[ch] files. Note that the interface to the mbus_parse_*() functions has
now changed and is not backwards compatible.
- Remove the mbus_addr() function, add an extra parameter to mbus_init() instead.
* 28 January 2000
v1.1.1 - Add extra debugging code
* 1 February 2000
v1.1.2 - Add routines for handling NTP format timestamps, in ntp.[ch]
- Add udp_addr_valid.
- Fix cname setup for Win32.
- Add udp_init_if() call, to open a UDP/IP socket bound to a
specific interface
- Add rtp_init_if() call, to open an RTP socket bound to a
specific interface
- Add asarray.[ch] string holding associative array.
- Fix compilation with -Wwrite-strings and -Wcast-align
- Split mbus_addr_match() and mbus_add_identical() into mbus_addr.[ch]
* 14 February 2000
v1.1.3 - Fix debug_set_core_dir() when not debugging.
* 14 February 2000
v1.1.4 - Add tests for mbus_parser.c/mbus_addr.c and fix bugs found
- Fix use of free()'d memory in mbus.c
* 24 February 2000
v1.1.5 - Remove SunOS and Solaris defines from the configure script, they
shouldn't be necessary any longer.
- Add workaround for missing getaddrinfo() on some platforms.
- Remove most of the abort() statements from udp_init(), we now
return NULL in most cases of an error.
- Fix header extension handling when padding bit set for RTP packets.
- Change RTP event type #defines into rtp_event_type so compiler can
check all cases are covered in decision blocks.
- Fix waiting_ack next is set to null when message is put on ack list.
- Add check for udp socket allocation success in mbus_init.
- Add get_appname to util.[ch].
- Bound ttl to max 127 in rtp.c rather than asserting <= 127.
- Change rtp_init to return NULL in rtp.c if ports or ttl
inappropriate.
- Clarify that rtp_recv(), rtp_send_data() and rtp_send_ctrl() take an
RTP format timestamp for the current time.
* 17 April 2000
v1.2.0 - Add udp_fd() function, to retrieve the underlying file descriptor.
- udp_get_host_addr4() will now return NULL on failure, and leave
errno set.
- Workaround failure to get host IP address when setting the RTP
CNAME (we use user@127.0.0.1 as the CNAME in this case).
- Fix rtp_send_data() to correctly handle header extensions. This required
a change to the API: the extn_len parameter now counts the length on the
extension in 32 bit words minus one, and there is an additional extn_type
parameter. If you don't use header extensions in your application, set the
additional parameter to zero.
- Fix reception of packets with RTP header extension.
* 16 May 2000
v1.2.1 * 16 June 2000 [rat v4.2.5]
v1.2.2 - Fix bug in mbus transmit code which caused messages to have the same sequence
number as the preceeding ack.
- Remove get_appname() function from util.[ch], since it didn't
work in all cases (sometimes argv[0] doesn't contain anything
sensible).
- Fix RTP header extension code (patch from Jori <jori@lumumba.luc.ac.be>)
as part of RTP interoperability tests.
- FreeBSD 4.1 doesn't support binding to an IPv6 multicast address, must
bind to in6addr_any instead (reported by Shirasaki Yasuhiro).
- Fix validation of RTCP packets with padding (reported by Vladimir Brauner).
- Fix padding octet count in RTCP packets sent with padding (Vladimir Brauner).
- Fix RTCP timer reconsideration (Vladimir Brauner).
* 22 August 2000 [rat v4.2.8]
v1.2.3 - Add prototype for rtp_del_csrc() which will be needed by the
mixer in rat.
* 8 September 2000 [rat v4.2.9]
v1.2.4 - Implement rtp_add_csrc() and rtp_del_csrc().
- ifdef'ed out FreeBSD bug check in test_net_udp.c for Win32.
Prevents compilation of test cases otherwise. Reported by Micheal
Stovenour <michael.stovenour@lucent.com>.
* 1 November 2000 [rat v4.2.10]
v1.2.5 - More informative error message when the lock on the mbus configuration
file cannot be gained.
- rtp_init()/rtp_init_if() now take "const char *" for the address
- Fix expiration of our own SSRC from the RTP database, if filtering our
packets.
- Mark entries in the RTP source database as active senders if we can an
SR packet from them.
- Cleanup RTP database once per second, rather than once per reporting
interval. This is needed to ensure that reverse reconsideration works
correctly, and sources are correctly deleted after BYEs are received.
- Fix reverse reconsideration of the RTCP interval
- Change socket_error to support formatted messages.
- Add socket_error messages for gethostbyname failures.
- Include lower layer overhead when calculating average RTCP size
(patch from Timur Friedman).
- Add support for SDES PRIV (the correct formatting of the PRIV item
into prefix length, prefix and value is left to the caller).
- Change xmalloc to fill allocated buffer with dummy value when DEBUG
is defined. Change DEBUG_MEM version to use same dummy value rather
than a random value, reduces chances of uninitialized pointers
trashing data before crashing.
- Add callback types to rtp.h - rtp_callback and rtcp_app_callback.
- For consistency rtp_{get,set}opt -> rtp_{get,set}_option.
- Remove unnecessary components from qfdes enumeration declarations.
- New directories (src, tests, docs, examples).
- Fixed Win32 .{dsw,dsp} files for new directory structure.
- Documented net_udp.c.
- Move strfind to util.[ch] from mbus_addr.[ch].
- Fix CSRC handling (patch from Ivo Sedlacek <ivo.sedlacek@anfdata.cz>)
- Fix uninitialized field in SDES PRIV handling (Robert Olson)
- Documented debug.[ch], hmac.[ch], md5.[ch], memory.[ch], rtp.[ch].
- Added small rtp example.
- Change configure to only select doc for build if gtkdoc installed.
* 5 April 2001 [rat v4.2.14]
1.2.6 - Fix so that we no longer send an RTCP BYE if we leave the session
before sending any other packets.
- Fix initial estimate of average RTCP packet size.
- Implement RTCP BYE reconsideration.
- Fix RTCP transmission interval.
- Fix handling of probationary sources in the RTP code (a source is
no longer treated as probationary if we've received RTCP packet
from it).
* 24 April 2001 [rat v4.2.16]
1.2.7 - Add support for Rijndael encryption to the RTP library, contributed
by Robert Olson <olson@mcs.anl.gov>.
- Fix IPv6 support on Linux
- Add configuration for Windows 2000 IPv6 stack
- Connect/disconnect to socket before/after getsockname call to make
it work
* 18 May 2001 [rat v4.2.17]
1.2.8 - Created a new socket for use for getsockname - there were too
many bugs with disconnecting an IPv6 connected socket.
- Fixed include ordering for Win2k.
* 25 May 2001 [rat v4.2.18] [nte v2.2]
Still to do...
- IPv6 code sometimes doesn't get the correct interface address,
since it does a gethostbyname() and looks that up, yet that can
return the IPv4 hostname only on some machines.
- Doesn't do DNS AAAA lookups when given a name rather than an IP address.
- Mbus code should check timestamp in received headers, and discard
messages if it decreases, as a hinderance to replay attacks.
- Mbus code should be more paranoid about handling garbage inputs, we
can likely get all sorts of buffer overflows by feeding random data
into it.
- rtp_recv should split into rtp_select and rtp_recv. Jitter issues
otherwise, as pointed out by Orion.
- Allow a callback for background processing during mbus_rendezvous_*()
- mbus_exit() queues an mbus.bye() message, but that never gets sent.
- Handling of SSRC collisions is broken.
- When weak RTP validation is enabled, spurious sources can be
added to the database (from the CSRC area of a packet?). Reported
by Xiaotao Wu <xiaotaow@cs.columbia.edu>
- RTP estimate of lower layer overhead is IPv4 specific.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -