]> arthur.barton.de Git - netatalk.git/blob - doc/DEVELOPER
Expanded support archs list.
[netatalk.git] / doc / DEVELOPER
1 Information for Netatalk 1.5 Developers
2 =======================================
3
4 For basic installation instructions, see the INSTALL file.
5
6
7 netatalk is an implementation of the AppleTalk Protocol Suite.  The
8 current release contains support for EtherTalk Phase I and II, DDP,
9 RTMP, NBP, ZIP, AEP, ATP, PAP, ASP, and AFP.  The complete stack looks
10 like this on a BSD-derived system:
11
12     AFP
13      |
14     ASP    PAP
15       \   /
16        ATP RTMP NBP ZIP AEP
17         |    |   |   |   |
18    -+---------------------------------------------------+- (kernel boundary)
19     |                    Socket                         |
20     +-----------------------+------------+--------------+
21     |                       |     TCP    |    UDP       |
22     |          DDP          +------------+--------------+
23     |                       |           IP              |
24     +-----------------------+---------------------------+
25     |                Network-Interface                  |
26     +---------------------------------------------------+
27
28 DDP is in the kernel.  "atalkd" implements RTMP, NBP, ZIP, and AEP.  It
29 is the AppleTalk equivalent of Unix "routed".  There is also a
30 client-stub library for NBP.  ATP and ASP are implemented as
31 libraries.  "papd" allows Macs to spool to "lpd", and "pap" allows Unix
32 machines to print to AppleTalk connected printers.  "psf" is a
33 PostScript printer filter for "lpd", designed to use "pap".  "psorder"
34 is a PostScript reverser, called by "psf" to reverse pages printed to
35 face-up stacking printers.  "afpd" provides Macs with an interface to
36 the Unix file system.  Refer to the appropriate man pages for
37 operational information.
38
39
40 Compilation
41 ===========
42    The `configure' shell script attempts to guess correct values for
43 various system-dependent variables used during compilation.  It uses
44 those values to create a `Makefile' in each directory of the package.
45 It may also create one or more `.h' files containing system-dependent
46 definitions.  Finally, it creates a shell script `config.status' that
47 you can run in the future to recreate the current configuration, a file
48 `config.cache' that saves the results of its tests to speed up
49 reconfiguring, and a file `config.log' containing compiler output
50 (useful mainly for debugging `configure').
51
52    If you need to do unusual things to compile the package, please try
53 to figure out how `configure' could check whether to do them, and mail
54 diffs or instructions to the address given in the `README' so they can
55 be considered for the next release.  If at some point `config.cache'
56 contains results you don't want to keep, you may remove or edit it.
57
58    The file `configure.in' is used to create `configure' by a program
59 called `autoconf'.  You only need `configure.in' if you want to change
60 it or regenerate `configure' using a newer version of `autoconf'.
61
62
63 Tools for Developers
64 ====================
65 1. Libtool
66 Libtool encapsulates the platform specific dependencies for the
67 creation of libraries. It determines if the local platform can support
68 shared libraries or if it only supports static libraries.
69
70 Netatalk currently requires libtool 1.4 or higher (1.4b for OpenBSD).
71
72 Documentation: http://www.gnu.org/software/libtool/
73 Program: (see the GNU mirrors) /gnu/libtool/libtool-1.4.tar.gz
74
75 2. GNU m4
76 GNU m4 is an implementation of the Unix macro processor. It reads
77 stdin and copies to stdout expanding defined macros as it processes
78 the text.
79
80 Documentation: http://www.gnu.org/software/m4/
81 Program: (see the GNU mirrors) /gnu/m4/m4-1.4.tar.gz
82
83 3. Autoconf
84 Autoconf is a package of m4 macros that produce shell scripts to
85 configure source code packages.
86
87 Documentation: http://www.gnu.org/software/autoconf/
88 Program: (see the GNU mirrors) /gnu/autoconf/autoconf-2.52.tar.gz
89
90 4. Automake
91 Automake is a tool that generates  'Makefile.in' files.
92
93 Documentation: http://www.gnu.org/software/automake/
94 Program: (see the GNU mirrors) /gnu/automake/automake-1.5.tar.gz
95
96 Optional
97 ========
98 5. OpenSSL
99 The OpenSSL Project is a collaborative effort to develop a robust,
100 commercial-grade, full-featured, and Open Source toolkit implementing
101 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
102 v1) protocols as well as a full-strength general purpose cryptography
103 library.
104 This is required to enable DHX login support.
105
106 Get everything at http://www.openssl.org/ 
107
108 6. TCP Wrappers 
109 Wietse Venema's network logger, also known as TCPD or LOG_TCP. These
110 programs log the client host name of incoming telnet, ftp, rsh,
111 rlogin, finger etc. requests. Security options are: access control per
112 host, domain and/or service; detection of host name spoofing or host
113 address spoofing; booby traps to implement an early-warning system.
114
115 TCP Wrappers can be gotten at ftp://ftp.porcupine.org/pub/security/
116
117 7. PAM (Pluggable Authentication Modules for Linux) 
118 Linux-PAM provides a flexible mechanism for authenticating
119 users. PAM was invented by SUN Microsystems.
120
121 Author: Andrew Morgan <morgan@linux.kernel.org>
122
123 Linux-PAM is a suite of shared libraries that enable the local system
124 administrator to choose how applications authenticate users.
125
126 You can get the Linux PAM documentation and sources from
127 http://www.kernel.org/pub/linux/libs/pam/