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/ |