manual: Change instructions for creating RSA keys.
[paraslash.git] / web / manual.m4
index cd06cccd192a7ccf3791d7c9f8ae31fca23c8f09..97c5a37ddb331f4e2304d40426f5274109594ffe 100644 (file)
@@ -280,7 +280,11 @@ might need to tell the configure script where to find them. Try
        ./configure --help
 
 to see a list of options. If the paraslash package was compiled
-successfully, execute as root,
+successfully, execute (optionally)
+
+       make test
+
+to run the paraslash test suite. If all tests pass, execute as root
 
        make install
 
@@ -307,7 +311,7 @@ following commands:
 
        user=bar
        target=~/.paraslash/server.users
-       key=~/.paraslash/key.pub.$user
+       key=~/.paraslash/id_rsa.pub.$user
        perms=AFS_READ,AFS_WRITE,VSS_READ,VSS_WRITE
        mkdir -p ~/.paraslash
        echo "user $user $key $perms" >> $target
@@ -315,20 +319,25 @@ following commands:
 Next, change to the "bar" account on client_host and generate the
 key pair with the commands
 
-       key=~/.paraslash/key.$LOGNAME
-       mkdir -p ~/.paraslash
-       (umask 077 && openssl genrsa -out $key 2048)
+       ssh-keygen -t rsa -b 2048
+       # hit enter twice to create a key with no passphrase
 
-para_server only needs to know the public key of the key pair just
-created. It can be extracted with
+This generates the two files id_rsa and id_rsa.pub in ~/.ssh. Note
+that paraslash can also read keys generated by the "openssl genrsa"
+command. However, since keys created with ssh-keygen can also be used
+for ssh, this method is recommended.
 
-       pubkey=~/.paraslash/key.pub.$LOGNAME
-       openssl rsa -in $key -pubout -out $pubkey
+Note that para_server refuses to use a key if it is shorter than 2048
+bits. In particular, the RSA keys of paraslash 0.3.x will not work
+with version 0.4.x. Moreover, para_client refuses to use a (private)
+key which is world-readable.
 
-Copy the public key just created to server_host (you may skip this step
-for a single-user setup, i.e. if foo=bar and server_host=client_host):
+para_server only needs to know the public key of the key pair just
+created. Copy this public key to server_host:
 
-       scp $pubkey foo@server_host:.paraslash/
+       src=~/.ssh/id_rsa.pub
+       dest=.paraslash/id_rsa.pub.$LOGNAME
+       scp $src foo@server_host:$dest
 
 Finally, tell para_client to connect to server_host:
 
@@ -560,19 +569,6 @@ execute. The output of
 contains in the third column the permissions needed to execute the
 command.
 
-A new RSA key can be created with
-
-       openssl genrsa -out <private_key> 2048
-
-and the public part may be extracted with
-
-       openssl rsa -in <private_key> -pubout -out <public_key>
-
-Note that para_server refuses to use a key if it is shorter than 2048
-bits. In particular, the RSA keys of paraslash 0.3.x will not work
-with version 0.4.x. Moreover, para_client refuses to use a (private)
-key which is world-readable.
-
 It is possible to make para_server reread the user_list file by
 executing the paraslash "hup" command or by sending SIGHUP to the
 PID of para_server.
@@ -1347,12 +1343,12 @@ REFERENCE(Forward error correction, FEC) below.
 Streams with headers and headerless streams
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-For ogg vorbis and wma streams, not all information needed to decode
-the stream is contained in each data chunk but only in the audio
-file header of the container format. Therefore clients must be able
-to obtain this information in case streaming starts in the middle of
-the file or if para_audiod is started while para_server is already
-sending a stream.
+For OGG/Vorbis, OGG/Speex and wma streams, some of the information
+needed to decode the stream is only contained in the audio file
+header of the container format but not in each data chunk. Clients
+must be able to obtain this information in case streaming starts in
+the middle of the file or if para_audiod is started while para_server
+is already sending a stream.
 
 This is accomplished in different ways, depending on the streaming
 protocol. For connection-oriented streams (HTTP, DCCP) the audio file
@@ -1500,9 +1496,9 @@ Forward error correction
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 As already mentioned REFERENCE(Streaming protocols, earlier),
-paraslash uses forward error correction (FEC) for the unreliable
-UDP transport. FEC is a technique which was invented already in
-1960 by Reed and Solomon and which is widely used for the parity
+paraslash uses forward error correction (FEC) for the unreliable UDP
+and DCCP transports. FEC is a technique which was invented already
+in 1960 by Reed and Solomon and which is widely used for the parity
 calculations of storage devices (RAID arrays). It is based on the
 algebraic concept of finite fields, today called Galois fields, in
 honour of the mathematician Galois (1811-1832). The FEC implementation
@@ -1631,12 +1627,12 @@ A paraslash writer acts as a data sink that consumes but does not
 produce audio data. Paraslash writers operate on the client side and
 are contained in para_audiod and in the stand-alone tool para_write.
 
-The para_write program reads uncompressed 16 bit audio data from
-STDIN. If this data starts with a wav header, sample rate and channel
-count are read from the header. Otherwise CD audio (44.1KHz stereo)
-is assumed but this can be overridden by command line options.
-para_audiod, on the other hand, obtains the sample rate and the number
-of channels from the decoder.
+The para_write program reads uncompressed audio data from STDIN. If
+this data starts with a wav header, sample rate, sample format and
+channel count are read from the header. Otherwise CD audio (44.1KHz
+16 bit little endian, stereo) is assumed but this can be overridden
+by command line options. para_audiod, on the other hand, obtains
+the sample rate and the number of channels from the decoder.
 
 Like receivers and filters, each writer has an individual set of
 command line options, and for para_audiod writers can be configured
@@ -1844,7 +1840,7 @@ New development does not usually happen on "master", however.
 Instead, a separate topic branch is forked from the tip of "master",
 and it first is tested in isolation; Usually there are a handful such
 topic branches that are running ahead of "master". The tip of these
-branches is not published in the public repository, to keep the number
+branches is not published in the public repository to keep the number
 of branches that downstream developers need to worry about low.
 
 The quality of topic branches varies widely. Some of them start out as
@@ -1866,6 +1862,11 @@ have been merged into "next" are usually not rebased, and you can find
 the tip of topic branches you are interested in from the output of
 "git log next"). You should be able to safely build on top of them.
 
+However, at times "next" will be rebuilt from the tip of "master" to
+get rid of merge commits that will never be in "master. The commit
+that replaces "next" will usually have the identical tree, but it
+will have different ancestry from the tip of "master".
+
 The "pu" (proposed updates) branch bundles the remainder of the
 topic branches.  The "pu" branch, and topic branches that are only in
 "pu", are subject to rebasing in general.  By the above definition