duma: Detect Unintended Memory Access (D.U.M.A.) - A Red-Zone memory allocator https://github.com/johnsonjh/duma
|
4 years ago | |
---|---|---|
.devbots | 4 years ago | |
.github | 4 years ago | |
comparisons | 4 years ago | |
debian | 4 years ago | |
detours | 17 years ago | |
detoursexample1 | 4 years ago | |
docs-data | 18 years ago | |
dumadetours | 4 years ago | |
dumadetoursdll | 4 years ago | |
dumadll | 4 years ago | |
example_makes | 17 years ago | |
kduma | 4 years ago | |
prj | 4 years ago | |
stacktrace | 4 years ago | |
tests | 4 years ago | |
win32-devcpp | 17 years ago | |
win32-msvc | 4 years ago | |
win32-msvc.2005 | 4 years ago | |
win32-msvc.net | 4 years ago | |
win32-vide | 4 years ago | |
.deepsource.toml | 4 years ago | |
.gitignore | 4 years ago | |
.gitlab-ci.yml | 4 years ago | |
.mergify.yml | 4 years ago | |
.whitesource | 4 years ago | |
CHANGELOG | 4 years ago | |
COPYING-GPL | 22 years ago | |
COPYING-LGPL | 4 years ago | |
GNUmakefile | 4 years ago | |
INSTALL | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
README.txt | 4 years ago | |
SECURITY.md | 4 years ago | |
TODO | 4 years ago | |
WIN32_DETOURS_HOWTO.txt | 4 years ago | |
builddocs.bat | 4 years ago | |
createconf.c | 4 years ago | |
createconf_new.cpp | 4 years ago | |
duma.3 | 15 years ago | |
duma.c | 4 years ago | |
duma.h | 4 years ago | |
duma.sh | 4 years ago | |
duma_hlp.h | 4 years ago | |
duma_sem.h | 4 years ago | |
dumapp.cpp | 4 years ago | |
dumapp.h | 4 years ago | |
example1.cpp | 4 years ago | |
example2.cpp | 4 years ago | |
example3.cpp | 4 years ago | |
example4.cpp | 4 years ago | |
example5.cpp | 4 years ago | |
example6.cpp | 4 years ago | |
gdbinit.rc | 17 years ago | |
make_git_source_version.sh | 4 years ago | |
mkclean.bat | 20 years ago | |
noduma.h | 4 years ago | |
paging.h | 4 years ago | |
print.c | 4 years ago | |
print.h | 4 years ago | |
refactoring.sh | 4 years ago | |
sem_inc.c | 4 years ago |
After deciding it was important to revive D.U.M.A., it quickly became clear
continued use of the cvs
version control system would be a limiting factor to
the success of a new D.U.M.A. distribution. If the project was going to survive
in the long-term, it would be necessary to perform a full conversion to a more
modern, commonly used, and accessible VCS system.
Unaware of the efforts of the original author, I created this repository independently, and expended much effort to identify all contributors and authors of the many patches and contributions that had been produced by the community over many years. After many false starts, I'm now mostly satisfied with the end result - especially considering that many of my conclusions turned out to be very close (and sometimes identical) to those made in the original author's own conversion efforts. It should be noted that I had no special knowledge of this software, besides being a user, and no relationship or even any previous contact with the author.
The most time consuming part of the conversion process was determining all the non-canonical changes, figuring out who actually wrote them, and finally deciding if these patches should be incorporated into a new official "mainline" repository.
This process required more than a few "educated guesses", and, when the necessary details were not available, simple judgment calls. With such an old, widely distributed, and hacked-upon code-base, which survived as long as it did, without an official maintainer or source for new releases for many years, much of data available is fragmentary and conflicting. Sometimes, the only sources of information are the often fading memories of those originally involved with project. Often, inferences had to be made, usually based on incomplete and inaccurate information.
Because of these uncertainties, I am certain that mistakes have been made and new errors introduced. I welcome any contributions from the public that would help to make the repository more historically accurate as well as improve functionality.
A large task, not yet complete, is reconciling this reconstruction against the last version which was released by the original author. The intention is to focus on correctly identifying any significant deviations, especially in regardings to the identification of contributors, and ensuring that any disputes that might arise are fairly handled. As new information becomes available, the commit logs for the project will be updated to provide an accurate record for posterity.
The structure of this conversion very closely resembles that of the original
cvs
repository. In contrast, the orignal author's conversion efforts included
a radical refactoring the source tree and directory structures. I believe that
this was a prudent decision, and eventually plan to incorporate similar
restructuring in this repository.
While every attempt was been made to ensure correctness, especially when
acknowledging contributors, extracting information where available from the
original SourceForge site, random web forums, other cvs
, svn
, and, git
repositories, and mailing lists archives, this release does incorporate changes
that were never part of the original work, mostly to ensure compatability with
modern systems operating systems and environments.
This repository should be considered the "official" source for D.U.M.A. releases.
Hayati Ayguen, the original author, is no longer actively maintaining D.U.M.A. and has moved on to other projects. While he was happy to correspond about the project, it seems unlikely that he will take on the role of primary maintainer of the package.
D.U.M.A. started out as a fork of Bruce Perens' venerable "Electric Fence", a tool created at Pixar, back in 1987.
D.U.M.A. was ported to Linux as early as 1992.
Now, almost 30 years later, we thank to Hayati Ayguen and all other contributors, who put time and effort into this project, but allow them move on to other endeavours. They can do so knowing that D.U.M.A. is not gone or forgotten. Even though it is a mature software and package, it will be properly maintained and updated as needed.
For some additional information on the history of D.U.M.A. and Electric Fence, see https://perens.com/2017/04/04/my-30th-anniversary-in-open-source/, for short blog entry by Bruce Perens' mentioning the creation of his Electric Fence tool.
The orginal author, Hayati Ayguen, remains an active developer.