Developer documentation: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
(reformatted)
Line 1: Line 1:
== Code documentation ==
__NOTOC__
 
<table style="width: 100%;" cellspacing="5">
* [[Software architecture]]
<!-- Full-width header text -->
* [[Secure API]]
<tr><td rowspan="2" valign="top" style="width: 55%; border: 1px solid gray; padding-left:1em; font-size: 95%">
=== Code documentation ===
* [[Software architecture]] - How Amanda fits together
*  
=== APIs ===
* [[Virtual tape API]]
* [[Virtual tape API]]
* Server/Client communication
* Server/Client communication
** [[Secure API]]
** [[TCP/UDP ports]]
** [[TCP/UDP ports]]
** [[Firewalls & NAT]]
** [[Firewalls & NAT]]
Line 13: Line 18:
* [[Reading amanda configuration]]
* [[Reading amanda configuration]]
* [[REQ packet format update]]
* [[REQ packet format update]]
 
</td>
== Developer tools ==
<td valign="top" style="width: 45%; border: thin solid gray; padding-left:1em; font-size: 90%">
 
=== Developer Resources ===
* [http://www.amanda.org/support/mailinglists.php amanda-hackers mailing list]
* Lint : ''lint'' makefile target is available for Amanda source tree. Run "make lint" to do static analysis of Amanda source code.
* Lint : ''lint'' makefile target is available for Amanda source tree. Run "make lint" to do static analysis of Amanda source code.
 
* Valgrind: Memory allocation/free checker. See [[Using Valgrind]] for details on how to use it with Amanda.
* Valgrind: Memory allocation/free checker. See [[Using Valgrind]] section for details on how to use it with Amanda.
: Valgrind is especially useful in debugging glibc errors. Errors beginning with <tt>*** glibc detected ***</tt> are errors in Amanda memory allocation detected by glibc. Please report all such problems to the [http://www.amanda.org/support/mailinglists.php amanda-hackers mailing list] or the [http://forums.zmanda.com Amanda forums].  
 
: You can disable glibc error detection by setting <tt>$MALLOC_CHECK</tt> to 1. Please note that this might cause Amanda to fail later.
: Valgrind is especially useful in debugging glibc errors. Error messages such as ''*** glibc detected *** ....'' are errors detected by glibc in Amanda memory allocation. Please report all such problems to the amanda-hackers mailing list or [http://forums.zmanda.com Amanda forums].  
</td>
 
</tr><tr>
: You can workaround the glibc error detection by setting environment variable MALLOC_CHECK to 1. Please note that this might cause Amanda to fail later.
<td valign="top" style="width: 45%; border: thin solid gray; padding-left:1em; font-size: 90%">
 
== Static source code analysis ==
== Static source code analysis ==


Line 31: Line 36:
* [http://scan.coverity.com Coverity scan results]
* [http://scan.coverity.com Coverity scan results]
* [http://www.klocwork.com Klocwork K7.1]
* [http://www.klocwork.com Klocwork K7.1]
</td></tr>
</table>

Revision as of 15:07, 22 May 2007

Code documentation

APIs

Developer Resources

  • amanda-hackers mailing list
  • Lint : lint makefile target is available for Amanda source tree. Run "make lint" to do static analysis of Amanda source code.
  • Valgrind: Memory allocation/free checker. See Using Valgrind for details on how to use it with Amanda.
Valgrind is especially useful in debugging glibc errors. Errors beginning with *** glibc detected *** are errors in Amanda memory allocation detected by glibc. Please report all such problems to the amanda-hackers mailing list or the Amanda forums.
You can disable glibc error detection by setting $MALLOC_CHECK to 1. Please note that this might cause Amanda to fail later.

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. Currently (July 7, 2006), we have zero defects found by these tools. We are thankful to these companies for making these tools available and in general, helping to improve quality of open source projects.