duma: Detect Unintended Memory Access (D.U.M.A.) - A Red-Zone memory allocator https://github.com/johnsonjh/duma

Jeff Johnson 231c80cd31 Deprecate --ignore-cr-at-eol 4 years ago
.devbots 6f575d9765 Enable devbots, update README 4 years ago
.github 95317cd43f Remove some unused GitHub actions 4 years ago
comparisons fb6fa60184 Format code with black, gofmt, yapf, autopep8, isort, standardrb, standardjs, prettier and rubocop 4 years ago
debian 9bf7366d23 Update some documentation to point to the new repo 4 years ago
detours ee999791e0 typo 17 years ago
detoursexample1 697913dbb5 Reformatted all source code files: 4 years ago
docs-data fa6809ec85 Updated docs 18 years ago
dumadetours 697913dbb5 Reformatted all source code files: 4 years ago
dumadetoursdll 697913dbb5 Reformatted all source code files: 4 years ago
dumadll 697913dbb5 Reformatted all source code files: 4 years ago
example_makes c13d3d6f8f don't link with pthreads on windows 17 years ago
kduma 97362f629f Revert "Restyle Format code with black, gofmt, yapf, autopep8, isort, standardrb, standardjs, prettier and rubocop" 4 years ago
prj 697913dbb5 Reformatted all source code files: 4 years ago
stacktrace fb6fa60184 Format code with black, gofmt, yapf, autopep8, isort, standardrb, standardjs, prettier and rubocop 4 years ago
tests 697913dbb5 Reformatted all source code files: 4 years ago
win32-devcpp 7c3b615d91 renamed sem_inc.h to duma_sem.h 17 years ago
win32-msvc 53e3b0b53f Tweaked the .gitignore configuration a bit. 4 years ago
win32-msvc.2005 697913dbb5 Reformatted all source code files: 4 years ago
win32-msvc.net 697913dbb5 Reformatted all source code files: 4 years ago
win32-vide 53e3b0b53f Tweaked the .gitignore configuration a bit. 4 years ago
.deepsource.toml 95f9c00a54 Add .deepsource.toml 4 years ago
.gitignore 53e3b0b53f Tweaked the .gitignore configuration a bit. 4 years ago
.gitlab-ci.yml 16b28fa64b Deprecate --ignore-cr-at-eol 4 years ago
.mergify.yml 074829c325 Mergify: configuration update 4 years ago
.whitesource 25a7ebce2a Update .whitesource 4 years ago
CHANGELOG 61f0ed1781 CHANGELOG: Prepare for 2.5.17 release 4 years ago
COPYING-GPL 2c6762a043 no message 22 years ago
COPYING-LGPL cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
GNUmakefile 227e23d053 Target adjustments: "osx" -> "darwin" 4 years ago
INSTALL cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
LICENSE cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
README.md 82617bb733 Merge pull request #22 from codacy-badger/codacy-badge 4 years ago
README.txt 070f9b4486 Added a new README.md, which is rewritten from the README preamble. 4 years ago
SECURITY.md 97362f629f Revert "Restyle Format code with black, gofmt, yapf, autopep8, isort, standardrb, standardjs, prettier and rubocop" 4 years ago
TODO 9bf7366d23 Update some documentation to point to the new repo 4 years ago
WIN32_DETOURS_HOWTO.txt 9bf7366d23 Update some documentation to point to the new repo 4 years ago
builddocs.bat 9bf7366d23 Update some documentation to point to the new repo 4 years ago
createconf.c cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
createconf_new.cpp cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
duma.3 bd6ef1783d Patch for SourceForge bug ID #2831348: 15 years ago
duma.c cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
duma.h cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
duma.sh 64ff46c7d6 Reformat scripts to appease shellcheck and shfmt 4 years ago
duma_hlp.h cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
duma_sem.h cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
dumapp.cpp cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
dumapp.h cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
example1.cpp 697913dbb5 Reformatted all source code files: 4 years ago
example2.cpp 697913dbb5 Reformatted all source code files: 4 years ago
example3.cpp 697913dbb5 Reformatted all source code files: 4 years ago
example4.cpp 697913dbb5 Reformatted all source code files: 4 years ago
example5.cpp 697913dbb5 Reformatted all source code files: 4 years ago
example6.cpp 697913dbb5 Reformatted all source code files: 4 years ago
gdbinit.rc c2da06f06b suggested ~/.gdbinit 17 years ago
make_git_source_version.sh 64ff46c7d6 Reformat scripts to appease shellcheck and shfmt 4 years ago
mkclean.bat c919e9332c *** empty log message *** 20 years ago
noduma.h 697913dbb5 Reformatted all source code files: 4 years ago
paging.h 87559124e1 Removed the Title prefix from several files. 4 years ago
print.c cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
print.h cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago
refactoring.sh 64ff46c7d6 Reformat scripts to appease shellcheck and shfmt 4 years ago
sem_inc.c cceb1b2d80 Automatic OS detection and additional reformatting. 4 years ago

README.md

D.U.M.A.


Codacy Badge FOSSAStatus LocCount GitHubCodeSize GitHubRelease LgtmAlerts CodacyBadge CodeBeat DeepScanGrade DeepSource TickgitTODOs


Detect Unintended Memory Access


A Red-Zone memory allocator


Introduction

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.


The Future of D.U.M.A.

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.


Official D.U.M.A.?

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.


History

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.


Conclusion

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.


Addendum

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.


Availability

Source Code (Releases)
Source Code (Development Repositories)

Issue Tracking


Security Policy


License