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

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