Developer documentation: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
No edit summary
 
No edit summary
 
(75 intermediate revisions by 8 users not shown)
Line 1: Line 1:
__NOEDITSECTION__ __NOTOC__
<table style="width: 100%;" cellspacing="5">
<tr><td width="45%" valign="top">
<div style="left: 0px; right: 0px;  border: 1px solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
==Introduction==
* [[How To Help]] - How can you get involved?
** [[Tasks|Development Tasks]] - Stuff that needs doing.
** [[Fork Amanda on Github]] - Easiest way to start hacking
* [[Development Dependencies]] - The tools you'll need to develop.
* [[Testing]] - How to test Amanda
* [[Software architecture]] - How Amanda fits together
* [[Coding Guidelines]] - Things every developer should know
* [[Perl Interface]] - Amanda's being rewritten in Perl!
* [[Licensing your Contribution]]
</div>
<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 ==
=== 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 ==


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.


* [[Software architecture]]
* 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.
* [[Secure API]]
* 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.
* [[Virtual tape API]]
</div>
* Server/Client communication
</td><td width="55%" valign="top"> <!-- SECOND COLUMN -->
** [[TCP/UDP ports]]
<div style="left: 0px; right: 0px;  border: 1px solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
** [[Firewalls]]
== Documentation ==
* [[Dumper API]]
* 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])
* [[Event API]]
=== 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.