ChangeLog   ChangeLog 
2009-04-26 20:48 metaplasma changes:
date = 21-apr-2009 [Konstanty Bialkowski/OpenMPT/Novell (Stanislav Brabec)]
* src/load_amf.cpp: Fixed AMF/(Portamento continue up) bug which ->file: src/load_amf.cpp
caused the incorrect playing of certain AMF files reported by where: whole file
Raik Lieske what: added const declarations to read only variables
what: fixed delete function
2009-04-23 23:14 metaplasma ->file: src/fastmix.cpp
where: X86_Convert32To24
* libtool, src/load_med.cpp: Added more checks and string safety to what: conversion to 24bit was incorrect
load_med ->file: src/load_mdl.cpp
where: init of m_lpszSongComments
2009-04-23 09:51 metaplasma what: fixed delete function to be array version (Reported by
David Binderman / Stanislav Brabec)
* configure.in, src/Makefile.am: Added mingw32 conditional ->file: src/load_pat.cpp
statement from Leandro Nini where: memcpy to .reserved
what: changed fixed valid of 36 to sizeof(reserved)
2009-04-23 09:47 metaplasma (Reported by Manfred Tremmel / Stanislav Brabec)
date = 20-apr-2009 [Konstanty Bialkowski]
* src/: load_mod.cpp, load_s3m.cpp: Made sure mod+s3m use tables.h ->file: src/load_meb.cpp
as these tables are now defined as static const - and may not be where: LoadMED
guaranteed to be available via extern what: fixed integer boundary condition checking code (fixing
exploit)
2009-04-22 23:06 metaplasma Details of exploit (and creator of test.s3m for exploit)
http://www.securityfocus.com/bid/30801/info
* src/snd_fx.cpp, configure.in: Fix typo + bump version number for http://www.15897.com/blog/post/QianQianJingTing-mod-buffer-o
release verflow-POC.html
->file: src/load_abc.cpp
2009-04-22 17:47 metaplasma where: TestABC
what: Made ABC detection code more robust
* src/: load_amf.cpp, load_ams.cpp, load_dbm.cpp, load_it.cpp, ->file: src/load_abc.cpp, sndfile.cpp, snd_fx.cpp
load_mdl.cpp, load_mt2.cpp, snd_fx.cpp, sndfile.cpp, where: various
libmodplug/sndfile.h: Some tabbing changes, definition of what: change constant variables to explicitly use const
NOTE_MAX instead of magic constant - like OpenMPT definition
(Thanks to Leandro Nini/Diego "Flameeyes" Pettenò)
2009-04-22 00:17 metaplasma ->file: src/table.cpp -> src/table.h
where: rename of file
* src/load_mdl.cpp: Applied patch from Novel Bug #443444 - invalid what: moved tables to seperate file
delete method (Thanks to Leandro Nini/Diego "Flameeyes" Pettenò)
2009-04-22 00:07 metaplasma date = 15-apr-2009 [Konstanty Bialkowski]
->file: src/load_abc.cpp
* src/load_pat.cpp: Applied possible-buffer-overflow-patch from where: TestABC
Stanislav Brabec/Manfred Tremmel (changed 36 to sizeof(reserved) = what: made sure obviously binary files do not try to get
= loaded as ABC
32) where: abc_addchordname
what: made sure first argument was const char * (not just ch
2009-04-22 00:03 metaplasma ar
*)
* src/fastmix.cpp: (m_lpszSongComments) Applied bitshift-overflow ->file: src/sndfile.cpp
patch from Stanislav Brabec (David Binderman). where: format conversion routines
what: made sure (*a++) = func(*a), is executed properly, by
2009-04-21 23:54 metaplasma splitting into two lines
-file: src/libmodplug/sndfile.h
* src/load_amf.cpp: Fix delete function in load_amf, add const to where: IMixPlugin
variables which should not be edited what: made sure there is a virtual destructor (to avoid
warnings)
2009-04-20 17:09 metaplasma ->file: src/load_ptm.cpp
where: mixing routine
* src/libmodplug/stdafx.h: Moved stdint/inttypes to all platforms - what: bswap32 was used on a uint16_t [2] array, and when gcc
to work in MINGW etc uses -O2 (or greater) optimization, this may not do what is
intended.
2009-04-20 15:45 metaplasma date = 7-apr-2009 [Konstanty Bialkowski/Anthony Ramine]
-> file: src/load_abc.cpp,load_mid.cpp,load_pat.cpp
* ChangeLog: Added details of exploit where: whole file(s)
* ChangeLog: Updated changelog file what: removed use of ULONG, and changed to uint32_t
where: few functions
2009-04-20 15:37 metaplasma what: removed uint, and replaced with uint32_t
date = 7-apr-2009 [Zed Pobre/Debian]
* src/load_abc.cpp: Fixed ABC detection code, to be a little more -> file: src/libmodplug.pc
robust where: file.
what: split Libs into Libs.private
2009-04-20 15:00 metaplasma date = 2-nov-2006 [Alec Berryman/CVE-2006-4192]
-> file: src/sndfile.cpp
* aclocal.m4, src/Makefile.am, src/load_abc.cpp, src/snd_fx.cpp, where: ReadSample
src/sndfile.cpp, src/sndmix.cpp, src/tables.cpp, src/tables.h: what: prevent buffer overflow [as reported in CVE-2006-4192]
Applied const patch, Added integer overflow check to MED files for date = 2-nov-2006 [Konstanty Bialkowski/Macro Trillo]
addressing exploit (See: -> file: configure.in,config.h,load_abc.cpp,fastmix.cpp
http://www.securityfocus.com/bid/30801/info where: Automake 2.60 used
http://www.15897.com/blog/post/QianQianJingTing-mod-buffer-overflo what: In order to properly use stdint.h we should make use o
w-POC.html) f the new macros for its detection, on systems with automake 2.59 but where
stdint.h is available, this can be removed. (Patch by Macro Trillo)
2009-04-15 12:51 metaplasma -> file: src/load_amf.cpp, src/fastmix.cpp
where: Licensing
* src/Makefile.am: Applied fix for make distcheck what: all old code was relicensed for public domain, and som
ehow an old version was included with GPL notices
2009-04-14 23:21 metaplasma date = 20-jul-2006 [Peter Grootswagers]
-> file: src/load_abc.cpp
* Makefile.in, config.guess, configure.in, libtool, where: instrument loader functions
src/config.h.in, src/load_abc.cpp, src/load_it.cpp, what: replaced with correspondig functions in load_pat.cpp
src/load_mod.cpp, src/load_s3m.cpp, src/libmodplug/stdafx.h: -> file: src/load_mid.cpp
Implemented patch 2706241 from Carlo Bramini where: whole source
what: new loader for midi files
2009-04-14 11:02 metaplasma -> file: src/load_pat.cpp
where: whole source
* ChangeLog, NEWS, README, libtool, src/load_abc.cpp, what: new loader for GUS instrument patch files (pat)
src/load_ptm.cpp, src/sndfile.cpp, src/libmodplug/sndfile.h: -> file: src/load_pat.h
Fixed crashing bug due to ABC format accepting files it could not where: whole source
open, removed a large number of style/warning problems, fixed what: new header declaring reuseable GUS instrument patch fu
2x16 as 32bit integer dereferencing problem nctions (pat)
-> file: README
2009-04-07 16:20 metaplasma where: 2. Features
what: added description of load_mid.cpp and load_pat.cpp
* src/: load_abc.cpp, load_ptm.cpp: Applied patch for dereferencing -> file: src/Makefile.am
type-prunned pointer where: libmodplug_la_SOURCES
what: added load_mid.cpp and load_pat.cpp
2009-04-07 15:22 metaplasma where: libmodpluginclude_HEADERS
what: added load_pat.h
* Makefile.in, aclocal.m4, configure.in, libmodplug.pc.in, libtool, -> file: src/sndfile.cpp
src/config.h.in, src/load_abc.cpp, src/load_mid.cpp, where: function CSoundFile::Create()
src/load_pat.cpp: uint->uint32_t standards compliance for what: added call to ReadMID and ReadPAT
load_abc,pat,mid.cpp, Upgraded autoconf related tools, Fixed -> file: src/libmodplug/sndfile.h
contents of libmodplug.pc where: #define
what: added MOD_TYPE_PAT (MOD_TYPE_MID already there...)
2006-11-02 14:19 metaplasma where: class CSoundFile
what: added public function members ReadMID, TestMID, ReadPa
* ChangeLog, Makefile.in, README, aclocal.m4, configure.in, t, TestPAT and PATsample
libtool, src/Makefile.am, src/config.h.in, src/fastmix.cpp, date = 24-jun-2006 [Peter Grootswagers]
src/load_abc.cpp, src/load_amf.cpp, src/load_mid.cpp, -> file: src/load_abc.cpp
src/load_mtm.cpp, src/sndfile.cpp, src/libmodplug/sndfile.h, where: whole source
src/libmodplug/stdafx.h: Fixes to portability and security what: new loader for abc files
-> file: README
2006-09-12 10:10 metaplasma where: 2. Features
what: added description of load_abc.cpp
* configure.in, libtool, src/load_abc.cpp, src/load_pat.cpp: -> file: src/Makefile.am
Support for Win32 delimeters and other small bug fixes (from where: libmodplug_la_SOURCES
Peter Grootswagers) what: added load_abc.cpp
-> file: src/sndfile.cpp
2006-08-10 12:35 metaplasma where: function CSoundFile::Create()
what: added call to ReadABC
* src/: load_abc.cpp, load_mid.cpp, load_pat.cpp, load_pat.h: -> file: src/libmodplug/sndfile.h
Properly added new files where: #define
what: added MOD_TYPE_ABC
2006-08-10 12:26 metaplasma where: class CSoundFile
what: added public function members ReadABC and TestABC
* ChangeLog, Makefile.in, README, aclocal.m4, configure.in, date = 20-mar-2006 [Macro Trillo / "Custom libmodplug project"]
libtool, src/Makefile.am, src/sndfile.cpp, -> file : src/load_s3m.cpp
src/libmodplug/sndfile.h: Added Peter Grootswagers support for -> file : src/load_far.cpp
ABC, MID and PAT what: fixed endianness
date = 20-mar-2006 [Alistair John Strachan]
2006-03-20 13:39 metaplasma ....
* AUTHORS, Makefile.in, NEWS, README, TODO, aclocal.m4, Many other changes need to be documented here...
configure.in, libtool, src/fastmix.cpp, src/load_amf.cpp,
src/load_far.cpp, src/load_it.cpp, src/load_mod.cpp, GCC3 fixes, GCC4 fixes, More Archive Types.
src/load_s3m.cpp, src/load_stm.cpp, src/load_xm.cpp,
src/modplug.cpp, src/modplug.h, src/sndfile.cpp, date = 09-feb-2001 [Markus Fick]
src/libmodplug/sndfile.h: New Version: libmodplug 0.8 Changes -> file: fastmix.cpp
include: Marco <toad@arsystel.com> Changes (From Custom where: spline creation, spline macros
libmodplug project) Fixed endianness for S3M, FAR and Save what: added unity gain clamp code, added Quantizer_Bits(shif
functions for IT. Export functions have C API equivelents (if t) preprocessor constants
you undefine MODPLUG_NO_FILESAVE) More C API Functions for where: fir creation, fir macros
Volume, Setting, Instrument Information Getting/Setging. C what: - removed x<pi/2 condition in coef creation
Implementation of Convert 32->24 and 32->32. - added quantizer_bits(shift) preprocessor constants
- set default quantizer bits to 15 instead 14 (scale n
Alistair John Strachan <s0348365@sms.ed.ac.uk> AGC/Clipping ow 32768 instead 16384)
Provlem Fixed - via C implementation of X86_AGC. Increase Upper there should not occure any overflows during fir res
Limit of Frequency from 50k to 192kHz. ponse calculation because
of the symmetric form of filter and the position of
2005-02-02 21:54 metaplasma the negative fir coefs
- changed final volume calculation for 16bit samples (
* AUTHORS, README, aclocal.m4, src/libmodplug/stdafx.h: Fixed 64bit quality enhancement)
troubles
date = 08-feb-2001 [Markus Fick]
2004-09-10 16:35 metaplasma -> file: sndmix.cpp
where: function ReadNote()
* src/load_mod.cpp: Patch to Play 2 Channel MODs by Alistair John what: modified behaviour of modplug so that interpolation is
Strachan only deactivated if
a) the user selects "no interpolation"
2004-09-10 15:19 metaplasma b) linear interpolation is set and speed incr. > 0
xff00
* AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in, => if spline or fir is active then we use always in
NEWS, README, TODO, aclocal.m4, config.guess, configure.in, terpolation
depcomp, install-sh, libmodplug.pc.in, libtool, ltmain.sh,
missing, src/Makefile.am, src/config.h.in, src/fastmix.cpp, -> file: fastmix.cpp
src/load_669.cpp, src/load_amf.cpp, src/load_ams.cpp, where: spline macros
src/load_dbm.cpp, src/load_dmf.cpp, src/load_dsm.cpp, what: changed spline macros to use precalculated tables (way
src/load_far.cpp, src/load_it.cpp, src/load_j2b.cpp, faster)
src/load_mdl.cpp, src/load_med.cpp, src/load_mod.cpp, where: file
src/load_mt2.cpp, src/load_mtm.cpp, src/load_okt.cpp, what: - implemented spline table precalculator
src/load_psm.cpp, src/load_ptm.cpp, src/load_s3m.cpp, - changed fir precalculator + macros (for higher quali
src/load_stm.cpp, src/load_ult.cpp, src/load_umx.cpp, ty and clearer source)
src/load_wav.cpp, src/load_xm.cpp, src/mmcmp.cpp, - added some comments and documentation
src/modplug.cpp, src/modplug.h, src/snd_dsp.cpp, src/snd_flt.cpp, comment:
src/snd_fx.cpp, src/sndfile.cpp, src/sndmix.cpp, src/tables.cpp, - preprocessor constant: SPLINE_FRACBITS
src/libmodplug/it_defs.h, src/libmodplug/sndfile.h, ) controls quality/memory usage
src/libmodplug/stdafx.h: Missing files for automake/autoconf range is [4..14] inclusive
4 = low quality, low memory usage
14 = highest quality, highest memory usage (1L<<1
4)*4*2 bytes
- preprocessor constant: WFIR_FRACBITS
) controls quality/memory usage
range is [4..12] inclusive
4 = low quality, low mu
12 = highest quality, highest memory usage ((1L<<
(12+1))+1)*8*2 bytes
date = 07-feb-2001 [Markus Fick]
-> file: fastmix.cpp
where: spline macros
what: fixed error in coef calculation
date = 07-feb-2001 [Markus Fick]
-> file: sndfile.h
where: class definition of soundfile
what: removed InitFIR + DoneFIR function prototypes
-> file: sndfile.cpp
function:CSoundFile::CSoundFile()
what: [modify] removed call to CSoundFile::InitFIRMixer( )
function:CSoundFile::~CSoundFile()
what: [modify] removed call to CSoundFile::DoneFIRMixer( )
-> file: fastmix.cpp
where: spline macros
what: changed formula + added some guard bits to calculation
where: fir macros + implementation
what: - moved CSoundfile::FIR funtions to CzFIR (single inst
ance sfir)
- changed fir macros to support CzFIR class
date = 06-feb-2001 [Markus Fick]
-> file: fastmix.cpp
where: macros
what: - removed fir filter with coef interpolation
- add spline interpolation
RM: now modplug->select( SPLINE ) selects spline and
modplug->select( POLYPHASE ) selects 8tap fi
r filter
date = 05-feb-2001 [Markus Fick]
-> file: fastmix.cpp
where: macros + filter order
what: [modify] changed filter order to 8 instead of 10
-> file: fastmix.cpp
what: new macros+switch for fir-interpolator with coef interpolati
on
date = 04-feb-2001 [Markus Fick]
-> file: sndfile.h
where: class CSoundFile (bottom)
what: [add] methods for FIR mixer support
1. int InitFIRInterpolator( );
2. int DoneFIRInterpolator( );
-> file: sndfile.cpp
function:CSoundFile::CSoundFile()
what: [modify] add call to CSoundFile::InitFIRMixer( )
function:CSoundFile::~CSoundFile()
what: [modify] add call to CSoundFile::DoneFIRMixer( )
-> file: fastmix.cpp
new include: <math.h>
why: need it for fir-coef calculation
new function: CSoundFile::InitFIRMixer( ) // initializes fir filter lo
okup (if necessary)
new function: CSoundFile::DoneFIRMixer( ) // decrements ReferenceCo
unter (for static vars) and deinitializes fir struct (if possible).
new defs:
#define FIRCPWBN 10
// log2 of number of precalculated wings (-(1L<<FIRCPWBN)..(1L<
<FIRCPWBN))
#define FIRLOPOSSHIFT (16-(FIRCPWBN+1)) // shift for
lopos of sampleposition -> (16 - FIRCPWBN - 1)
#define FIRLEN 9
// number(-1) of multiplications per sample
#define FIRCUT 0.90f
// cutoff of filter
#define MIXNDX_FIRMIXERSRC 0x20 // s
rc-type for firfilter
new vars:
static signed short *cFirLut; // l
ulines
static int bFirInitialized = 0; // i
nitialized?
static int nFirOrder = FIRLEN; // o
rder (modplug has 4smps pre/post extension, so limit this to 9)
static float nFirFC = FIRCUT;
// cutoff (normalized to pi/2)
static int nFirCpw = (1L<<FIRCPWBN);
// number of precalculted filter lines
static int nFirUsers = 0; // r
eference counter
new macros:
#define SNDMIX_GETMONOVOL8FIRFILTER
#define SNDMIX_GETMONOVOL16FIRFILTER
#define SNDMIX_GETSTEREOVOL8FIRFILTER
#define SNDMIX_GETSTEREOVOL16FIRFILTER
new mixer interface macros:
BEGIN_MIX_INTERFACE(Mono8BitFirFilterMix)
BEGIN_MIX_INTERFACE(Mono16BitFirFilterMix)
BEGIN_RAMPMIX_INTERFACE(Mono8BitFirFilterRampMix)
BEGIN_RAMPMIX_INTERFACE(Mono16BitFirFilterRampMix)
BEGIN_MIX_INTERFACE(FastMono8BitFirFilterMix)
BEGIN_MIX_INTERFACE(FastMono16BitFirFilterMix)
BEGIN_FASTRAMPMIX_INTERFACE(FastMono8BitFirFilterRampMix)
BEGIN_FASTRAMPMIX_INTERFACE(FastMono16BitFirFilterRampMix)
BEGIN_MIX_INTERFACE(Stereo8BitFirFilterMix)
BEGIN_MIX_INTERFACE(Stereo16BitFirFilterMix)
BEGIN_RAMPMIX_INTERFACE(Stereo8BitFirFilterRampMix)
BEGIN_RAMPMIX_INTERFACE(Stereo16BitFirFilterRampMix)
BEGIN_MIX_FLT_INTERFACE(FilterMono8BitFirFilterMix)
BEGIN_MIX_FLT_INTERFACE(FilterMono16BitFirFilterMix)
BEGIN_RAMPMIX_FLT_INTERFACE(FilterMono8BitFirFilterRampMix)
BEGIN_RAMPMIX_FLT_INTERFACE(FilterMono16BitFirFilterRampMix)
BEGIN_MIX_STFLT_INTERFACE(FilterStereo8BitFirFilterMix)
BEGIN_MIX_STFLT_INTERFACE(FilterStereo16BitFirFilterMix)
BEGIN_RAMPMIX_STFLT_INTERFACE(FilterStereo8BitFirFilterRampM
ix)
BEGIN_RAMPMIX_STFLT_INTERFACE(FilterStereo16BitFirFilterRamp
Mix)
modified:
const LPMIXINTERFACE gpMixFunctionTable[2*2*16] // to hold n
ew fir mixer interface
const LPMIXINTERFACE gpFastMixFunctionTable[2*2*16] // to ho
ld new fir mixer interface
functioN: UINT CSoundFile::CreateStereoMix(int count)
new:
if (!(pChannel->dwFlags & CHN_NOIDO))
{
// use hq-fir mixer?
if( ((gdwSoundSetup & (SNDMIX_HQRESA
MPLER|SNDMIX_ULTRAHQSRCMODE)) == (SNDMIX_HQRESAMPLER|SNDMIX_ULTRAHQSRCMODE)
) ||
((gdwSoundSetup & (SNDMIX_HQ
RESAMPLER)) == (SNDMIX_HQRESAMPLER)) )
nFlags += MIXNDX_FIRMIXERSRC
;
else
nFlags += MIXNDX_LINEARSRC;
// use
}
was:
if (!(pChannel->dwFlags & CHN_NOIDO))
{
nFlags += MIXNDX_LINEARSRC; // use
}
 End of changes. 1 change blocks. 
lines changed or deleted lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/