Developer documentation: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
No edit summary
No edit summary
 
(65 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Code documentation ==
__NOEDITSECTION__ __NOTOC__
 
<table style="width: 100%;" cellspacing="5">
* [[Software architecture]]
<tr><td width="45%" valign="top">
* [[Secure API]]
<div style="left: 0px; right: 0px;  border: 1px solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
* [[Virtual tape API]]
==Introduction==
* Server/Client communication
* [[How To Help]] - How can you get involved?
** [[TCP/UDP ports]]
** [[Tasks|Development Tasks]] - Stuff that needs doing.
** [[Firewalls & NAT]]
** [[Fork Amanda on Github]] - Easiest way to start hacking
* [[Application API]]
* [[Development Dependencies]] - The tools you'll need to develop.
* [[Event API]]
* [[Testing]] - How to test Amanda
* [[Driver-Taper protocol]]
* [[Software architecture]] - How Amanda fits together
* [[Reading amanda configuration]]
* [[Coding Guidelines]] - Things every developer should know
 
* [[Perl Interface]] - Amanda's being rewritten in Perl!
== Developer tools ==
* [[Licensing your Contribution]]
 
</div>
* Lint : ''lint'' makefile target is available for Amanda source tree. Run "make lint" to do static analysis of Amanda source code.
<div style="left: 0px; right: 0px;  border: thin solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
 
== Developer Resources ==
* Valgrind: Memory allocation/free checker. See [[Using Valgrind]] section for details on how to use it with Amanda.
=== Community ===
 
* [http://www.amanda.org/support/mailinglists.php amanda-hackers mailing list]
* [http://sourceforge.net/projects/amanda sourceforge project page]
* [[Platform Experts]]
* [http://code.v.igoro.us/categories/6-amanda Developer's Blog]
=== Tools ===
* [[Lint]]
* [[Valgrind]]
* [http://wiki.zmanda.com/glib-docs/ Glib-2.2.0 documentation]
=== Presentations ===
* [[Presentations/Perl in the Amanda Core|Perl in the Amanda Core]] (2008-01-18, Dustin J. Mitchell)
* [[Presentations/Amanda Development (UM-LUG)|Amanda Development (UM-LUG)]] (2008-03-26, Dustin J. Mitchell)
</div>
<div style="left: 0px; right: 0px; border: thin solid gray; padding-left:1em; padding-right: 0.5em; font-size: 90%; margin-bottom: 5px;">
== Static source code analysis ==
== Static source code analysis ==


Coverity and Klocwork has been running their static analysis tools on the latest Amanda source code and making the results available for the Amanda developers to analyse and fix the defects.  Currently (July 7, 2006), we have
Coverity and Klocwork have been running their static analysis tools on the latest Amanda source code and making the results available for the Amanda developers to analyse and fix the defects.  The Amanda hackers are thankful to these companies for making these tools available and in general, helping to improve quality of open source projects.
zero defects found by these tools. We have thankful to these companies for making these tools available and in general, helping to improve quality of open source projects.


* [http://scan.coverity.com Coverity scan results]
* In collaboration with Stanford University, [http://scan.coverity.com Coverity] is establishing a new baseline for software quality and security in open source. Under a contract with the Department of Homeland Security, Coverity applies the latest innovations in automated defect detection to uncover some of the most critical types of bugs found in software.
* [http://www.klocwork.com Klocwork K7.1]
* Amanda has been analyzed with [http://www.klocwork.com Klocwork source code analysis], the most accurate and comprehensive tool for finding critical programming errors and security vulnerabilities.
</div>
</td><td width="55%" valign="top"> <!-- SECOND COLUMN -->
<div style="left: 0px; right: 0px;  border: 1px solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
== Documentation ==
* Perl Module Documentation for [http://wiki.zmanda.com/pod/ HEAD] ([http://wiki.zmanda.com/pod/2.6.0 2.6.0], [http://wiki.zmanda.com/pod/2.6.1 2.6.1], [http://wiki.zmanda.com/pod/3.1 3.1])
=== Overviews ===
* [[Taper Process Overview]] (bug Dustin to finish this!)
* [[Recovery Process Overview]]
=== APIs ===
* [[Changer API]]
* [[Transfer Architecture]] (XFA)
* [[Device API]]
* [[Application API]] (under development)
* [[Script API]]
* [[Configuration API]]
* [[Security API]]
=== Protocols, Formats, etc. ===
* [[Driver-Taper protocol]]
* [[Driver-Chunker protocol]]
* [[Amanda Protocol]] - protocol for invoking services via amandad
* [[Amandad Service Protocol]] - how amandad communicates with services
* [[amindexd protocol]]
* [[amidxtaped protocol]]
* [[amdumpd protocol]]
* [[DirectTCP]]
* [[Log Files]]
** [[Amanda log files/Trace Logs|Trace Logs]]
** [[Amanda log files/Debug Logs|Debug Logs]]
** [[Amanda log files/Amdump Logs|Amdump Logs]]
* [[Tapespec]]
=== Notes ===
These are notes from development conversations in the past; they can help figure out why things are the way they are, but they are not designed as documentation.
* [[REQ packet format update]]
* [[Planner Notes]]
* [[Tape Driver Semantics]]
* [[GNU Tar Include and Exclude Behavior]]
* [[Splitting Configuration Parameters and Behavior]]
</div>
</td></tr>
</table>

Latest revision as of 13:47, 22 January 2011

Introduction

Developer Resources

Community

Tools

Presentations

Static source code analysis

Coverity and Klocwork have been running their static analysis tools on the latest Amanda source code and making the results available for the Amanda developers to analyse and fix the defects. The Amanda hackers are thankful to these companies for making these tools available and in general, helping to improve quality of open source projects.

  • In collaboration with Stanford University, Coverity is establishing a new baseline for software quality and security in open source. Under a contract with the Department of Homeland Security, Coverity applies the latest innovations in automated defect detection to uncover some of the most critical types of bugs found in software.
  • Amanda has been analyzed with Klocwork source code analysis, the most accurate and comprehensive tool for finding critical programming errors and security vulnerabilities.

Documentation

Overviews

APIs

Protocols, Formats, etc.

Notes

These are notes from development conversations in the past; they can help figure out why things are the way they are, but they are not designed as documentation.