From 76bd774fd323244c63c0e3304204bd3762271f78 Mon Sep 17 00:00:00 2001 From: Udo Erdelhoff Date: Tue, 15 May 2001 21:00:11 +0000 Subject: [PATCH] Pick up the sledgehammer used by Nik for rev 1.114, Ben for rev 1.87, and others -- and do some major SGML cleanup. Replace by whatever is appropriate. Reviewed by: alex Inspired by: German FAQ translation, rev. 1.101 --- en_US.ISO8859-1/books/faq/book.sgml | 232 ++++++++++++++------------- en_US.ISO_8859-1/books/faq/book.sgml | 232 ++++++++++++++------------- 2 files changed, 244 insertions(+), 220 deletions(-) diff --git a/en_US.ISO8859-1/books/faq/book.sgml b/en_US.ISO8859-1/books/faq/book.sgml index 9542bde30b..6ac8b0f100 100644 --- a/en_US.ISO8859-1/books/faq/book.sgml +++ b/en_US.ISO8859-1/books/faq/book.sgml @@ -14,7 +14,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.193 2001/05/14 22:57:35 dd Exp $ + $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.194 2001/05/15 00:24:18 dd Exp $ 1995 @@ -3669,7 +3669,7 @@ quit You can not use a - dangerously dedicated disk + dangerously dedicated disk with an HP Netserver. See this note for more info. @@ -3954,7 +3954,7 @@ quit 2e8, and the fourth serial port does too. Due to a bug (feature?) in the &man.sio.4; driver it will touch this port even if you don't have the - fourth serial port, and even if + fourth serial port, and even if you disable sio3 (the fourth port) which normally uses this address. @@ -5237,7 +5237,7 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx math co-processor, right? Wrong! :-) The npx0 is MANDATORY. Even if you don't have a - mathematic co-processor, you must + mathematic co-processor, you must include the npx0 device. @@ -5289,12 +5289,12 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx - Q. When I compile a kernel + When I compile a kernel with multi-port serial code, it tells me that only the first port is probed and the rest skipped due to interrupt conflicts. How do I fix this? - A. The problem here is that + The problem here is that FreeBSD has code built-in to keep the kernel from getting trashed due to hardware or software conflicts. The way to fix this is to leave out the IRQ settings on all but one port. Here @@ -5650,18 +5650,18 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr - Digital UNIX UFS CDROMs can + Digital UNIX UFS CDROMs can be mounted directly on FreeBSD. Mounting disk partitions from Digital UNIX and other systems that support UFS may be more complex, depending on the details of the disk partitioning for the operating system in question. - Linux: 2.2 and later have - support for ext2fs partitions. + Linux: 2.2 and later have + support for ext2fs partitions. See &man.mount.ext2fs.8; for more information. - NT: A read-only NTFS driver + NT: A read-only NTFS driver exists for FreeBSD. For more information, see this tutorial by Mark Ovens at @@ -5699,7 +5699,7 @@ C:\="DOS" For 2.2.x systems this procedure assumes that DOS, NT, FreeBSD, or whatever have been installed into their respective - fdisk partitions on the same + fdisk partitions on the same disk. This example was tested on a system where DOS & NT were on the first fdisk partition, and FreeBSD on the second. FreeBSD was also set up to boot from its native partition, not @@ -6503,7 +6503,7 @@ rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ the rest. If you've got a dynamically assigned IP number and use a - dialup ppp connection to the + dialup ppp connection to the internet, you will probably be given a mailbox on your ISPs mail server. Lets assume your ISPs domain is myISP.com, and that your user name is @@ -7365,7 +7365,7 @@ define(`confDELIVERY_MODE',`deferred')dnl /dev/sysmouse. All mouse events received from the real mouse device are written to the sysmouse device via moused. If you wish to use your mouse on one or more - virtual consoles, and use X, see + virtual consoles, and use X, see and set up moused. @@ -7844,7 +7844,7 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=startx"> startx, the permissions on /dev/console will - not get changed, resulting in + not get changed, resulting in things like xterm -C and Place heavily triggered rules earlier in the rule - set than those rarely used (without + set than those rarely used (without changing the permissiveness of the firewall, of course). You can see which rules are used most often by examining the packet counting statistics with @@ -8970,10 +8970,10 @@ Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 set log Phase Chat Connect Carrier lcp ipcp ccp command This command may be typed at the - ppp command prompt or it may be + ppp command prompt or it may be entered in the /etc/ppp/ppp.conf configuration file (the start of the - default section is the best + default section is the best place to put it). Make sure that /etc/syslog.conf (see &man.syslog.conf.5;) contains the lines @@ -9038,7 +9038,7 @@ default 10.0.0.2 UGSc 0 0 tun0 running an old version of &man.ppp.8; that doesn't understand the word HISADDR in the ppp.conf file. If your version of - ppp is from before FreeBSD + ppp is from before FreeBSD 2.2.5, change the add 0 0 HISADDR @@ -9080,7 +9080,7 @@ default 10.0.0.2 UGSc 0 0 tun0 file. This is only necessary if you have a dynamic IP address or don't know the address of your gateway. If you're using interactive mode, you can type the following after entering - packet mode (packet mode is + packet mode (packet mode is indicated by the capitalized PPP in the prompt): @@ -9111,8 +9111,8 @@ add 0 0 HISADDR closed due to a timeout. It is possible to put this command in the ppp.conf file, or to type it at the prompt in interactive mode. It is also possible to adjust it on - the fly while the line is active by connecting to ppps server socket using + the fly while the line is active by connecting to + ppps server socket using &man.telnet.1; or &man.pppctl.8;. Refer to the &man.ppp.8; man @@ -9267,15 +9267,19 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj would wait for the peer to initiate the Line Control Protocol (LCP). Many ISPs will not initiate negotiations and expect the client to do so. To force - ppp to initiate the LCP, use the + ppp to initiate the LCP, use the following line: set openmode active - Note: It usually does no + + + It usually does no harm if both sides initiate negotiation, so openmode is now active by default. However, the next section explains when - it does do some harm. + it does do some harm. + + @@ -9349,44 +9353,44 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj There is currently an implementation mis-feature in - ppp where it doesn't associate + ppp where it doesn't associate LCP, CCP & IPCP responses with their original requests. As - a result, if one ppp + a result, if one ppp implementation is more than 6 seconds slower than the other side, the other side will send two additional LCP configuration requests. This is fatal. Consider two implementations, - A and B. A starts - sending LCP requests immediately after connecting and B takes 7 seconds to start. When B starts, A + A and + B. A starts + sending LCP requests immediately after connecting and + B takes 7 seconds to start. When + B starts, A has sent 3 LCP REQs. We're assuming the line has ECHO switched off, otherwise we'd see magic number problems as described in - the previous section. B sends a - REQ, then an ACK to the first of A's REQs. This results in A entering the OPENED - state and sending and ACK (the first) back to B. In the meantime, B sends back two more ACKs in response to - the two additional REQs sent by A - before B started up. B then receives the first ACK from - A and enters the - OPENED state. A receives the second ACK from B and goes back to the REQ-SENT state, sending another (forth) REQ + the previous section. B sends a + REQ, then an ACK to the first of + A's REQs. This results in + A entering the OPENED + state and sending and ACK (the first) back to + B. In the meantime, + B sends back two more ACKs in response to + the two additional REQs sent by A + before B started up. + B then receives the first ACK from + A and enters the + OPENED state. + A receives the second ACK from + B and goes back to the + REQ-SENT state, sending another (forth) REQ as per the RFC. It then receives the third ACK and enters the - OPENED state. In the meantime, B receives the forth REQ from A, resulting in it reverting to the - ACK-SENT state and sending - another (second) REQ and (forth) ACK as per the RFC. A gets the REQ, goes into REQ-SENT and sends another REQ. It + OPENED state. In the meantime, + B receives the forth REQ from + A, resulting in it reverting to the + ACK-SENT state and sending + another (second) REQ and (forth) ACK as per the RFC. + A gets the REQ, goes into + REQ-SENT and sends another REQ. It immediately receives the following ACK and enters OPENED. @@ -9394,7 +9398,7 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj getting nowhere and gives up. The best way to avoid this is to configure one side to be - passive - that is, make one side + passive - that is, make one side wait for the other to start negotiating. This can be done with the @@ -9406,12 +9410,12 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj set stopped N command to limit the amount of time that - ppp waits for the peer to begin + ppp waits for the peer to begin negotiations. Alternatively, the set openmode active N - command (where N is the + command (where N is the number of seconds to wait before starting negotiations) can be used. Check the manual page for details. @@ -9425,11 +9429,11 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj Prior to version 2.2.5 of FreeBSD, it was possible that your link was disabled shortly after connection due to - ppp mis-handling Predictor1 + ppp mis-handling Predictor1 compression negotiation. This would only happen if both sides tried to negotiate different Compression Control Protocols (CCP). This problem is now corrected, but if you're still - running an old version of ppp, + running an old version of ppp, the problem can be circumvented with the line disable pred1 @@ -9465,7 +9469,7 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj - There is no way for ppp to + There is no way for ppp to automatically determine that a direct connection has been dropped. This is due to the lines that are used in a null-modem serial cable. When using this sort of connection, @@ -9482,7 +9486,7 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj Why does ppp dial for no reason in -auto mode - If ppp is dialing + If ppp is dialing unexpectedly, you must determine the cause, and set up Dial filters (dfilters) to prevent such dialing. @@ -9497,8 +9501,8 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj You can now disable dialing under these circumstances. Usually, this sort of problem arises due to DNS lookups. To prevent DNS lookups from establishing a connection (this will - not prevent - ppp from passing the packets + not prevent + ppp from passing the packets through an established connection), use the following: set dfilter 1 deny udp src eq 53 @@ -9563,7 +9567,7 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6) via syslogd. The ppp specification says that an MRU of 1500 should - always be accepted as a minimum, + always be accepted as a minimum, despite any LCP negotiations, therefore it is possible that should you decrease the MTU to less than 1500, your ISP will transmit packets of 1500 regardless, and you will tickle this @@ -9602,7 +9606,7 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6) \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" Here, we get our CONNECT, send nothing, then expect a - line-feed, forcing ppp to read + line-feed, forcing ppp to read the whole CONNECT response. @@ -9618,7 +9622,7 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6) interpret strings such as set phone "123 456 789" correctly (and realize that the number is actually only - one argument. In order to specify + one argument. In order to specify a " character, you must escape it using a backslash (\). @@ -9667,9 +9671,9 @@ ATDT1234567 dump core. Because ppp runs with an effective user id of 0, the operating system will not write ppps core image to disk before terminating it. If, however ppp - is actually termating due to a + is actually termating due to a segmentation violation or some other signal that normally - causes core to be dumped, and + causes core to be dumped, and you're sure you're using the latest version (see the start of this section), then you should do the following: @@ -9719,18 +9723,18 @@ ATDT1234567 This was a known problem with - ppp set up to negotiate a + ppp set up to negotiate a dynamic local IP number with the peer in auto mode. It is fixed in the latest version - search the man page for - iface. + iface. The problem was that when that initial program calls &man.connect.2;, the IP number of the tun interface is assigned to the socket endpoint. The kernel creates the first - outgoing packet and writes it to the tun device. Ppp then reads the packet and establishes a - connection. If, as a result of ppps dynamic IP assignment, the interface + outgoing packet and writes it to the tun device. + ppp then reads the packet and establishes a + connection. If, as a result of + ppps dynamic IP assignment, the interface address is changed, the original socket endpoint will be invalid. Any subsequent packets sent to the peer will usually be dropped. Even if they aren't, any responses will not route @@ -9739,8 +9743,8 @@ ATDT1234567 There are several theoretical ways to approach this problem. It would be nicest if the peer would re-assign the - same IP number if possible :-) - The current version of ppp does + same IP number if possible :-) + The current version of ppp does this, but most other implementations don't. The easiest method from our side would be to never change @@ -9748,7 +9752,7 @@ ATDT1234567 packets so that the source IP number is changed from the interface IP to the negotiated IP on the fly. This is essentially what the iface-alias option in - the latest version of ppp is + the latest version of ppp is doing (with the help of &man.libalias.3; and ppp's switch) - it's maintaining all previous interface addresses and NATing @@ -9756,7 +9760,7 @@ ATDT1234567 Another alternative (and probably the most reliable) would be to implement a system call that changes all bound sockets - from one IP to another. Ppp would + from one IP to another. ppp would use this call to modify the sockets of all existing programs when a new IP number is negotiated. The same system call could be used by dhcp clients when they are forced to re-bind() their @@ -9766,7 +9770,7 @@ ATDT1234567 brought up without an IP number. Outgoing packets would be given an IP number of 255.255.255.255 up until the first SIOCAIFADDR ioctl is done. This would result in fully binding - the socket. It would be up to ppp + the socket. It would be up to ppp to change the source IP number, but only if it's set to 255.255.255.255, and only the IP number and IP checksum would need to change. This, however is a bit of a hack as the kernel @@ -9821,7 +9825,9 @@ ATDT1234567 If the port numbers aren't consistent, there are three more options: - 1) Submit support in + + + Submit support in libalias. Examples of special cases can be found in /usr/src/lib/libalias/alias_*.c (alias_ftp.c is a good prototype). This @@ -9834,16 +9840,22 @@ ATDT1234567 This is the most difficult solution, but it is the best and will make the software work with multiple machines. - - 2) Use a proxy. The + + + + Use a proxy. The application may support socks5 for example, or (as in the cvsup case) may have a passive option that avoids ever requesting that the peer open connections back to the local machine. + - 3) Redirect everything to + + Redirect everything to the internal machine using nat addr. This is the sledge-hammer approach. + + @@ -9933,9 +9945,9 @@ ATDT1234567 - FCS stands for Frame - Check - Sequence. Each ppp packet + FCS stands for Frame + Check + Sequence. Each ppp packet has a checksum attached to ensure that the data being received is the data being sent. If the FCS of an incoming packet is incorrect, the packet is dropped and the HDLC FCS @@ -9990,7 +10002,7 @@ ATDT1234567 router. MacOS and Windows 98 (and maybe other Microsoft OSs) send TCP packets with a requested segment size too big to fit into a PPPoE frame (MTU is 1500 by default for ethernet) - and have the don't + and have the don't fragment bit set (default of TCP) and the Telco router is not sending ICMP must fragment back to the www site you are trying to load. (Alternatively, the router is @@ -10038,12 +10050,12 @@ ATDT1234567 Save as Auto Configure, and click Make Active. - The latest version of ppp + The latest version of ppp (2.3 or greater) has an enable tcpmssfixup command that will automatically adjust the MSS to an appropriate value. This facility is enabled by default. If you're stuck - with an older version of ppp, you - may want to look at the tcpmssd + with an older version of ppp, you + may want to look at the tcpmssd port. @@ -10056,7 +10068,7 @@ ATDT1234567 If all else fails, send as much information as you can, including your config files, how you're starting - ppp, the relevant parts of your + ppp, the relevant parts of your log file and the output of the netstat -rn command (before and after connecting) to the freebsd-questions@FreeBSD.org mailing list @@ -10670,7 +10682,7 @@ raisechar=^^ How can I run zmodem with - tip? + tip? @@ -10840,7 +10852,7 @@ raisechar=^^ necessary and the transition made. In FreeBSD's case, our shared library mechanism is based - more closely on Sun's SunOS-style + more closely on Sun's SunOS-style shared library mechanism and, as such, is very easy to use. However, starting with 3.0, FreeBSD officially supports ELF binaries as the default format. Even @@ -10967,9 +10979,9 @@ raisechar=^^ The option does a RECURSIVE - chmod. Be careful about + &man.chmod.1;. Be careful about specifying directories or symlinks to directories to - chmod. If you want to + chmod. If you want to change the permissions of a directory referenced by a symlink, use &man.chmod.1; without any options and follow the symlink @@ -10992,7 +11004,7 @@ raisechar=^^ - Why are login names still + Why are login names still restricted to 8 characters? @@ -11036,7 +11048,7 @@ raisechar=^^ Yes, starting with version 3.0 you can using BSDI's - doscmd DOS emulation which has + doscmd DOS emulation which has been integrated and enhanced. Send mail to The FreeBSD emulation discussion list if you're interested in @@ -11074,7 +11086,7 @@ raisechar=^^ Grex provides a site very similar to M-Net including the same bulletin board and interactive chat software. However, the machine is a Sun - 4M and is running SunOS. + 4M and is running SunOS @@ -11463,11 +11475,11 @@ raisechar=^^ -CURRENT. Right now, -CURRENT is the 5.0 development - stream and the 4-STABLE branch, + stream and the 4-STABLE branch, RELENG_4, forked off from -CURRENT in Mar 2000. - The 2.2-STABLE branch, + The 2.2-STABLE branch, RELENG_2_2, departed -CURRENT in November 1996, and has pretty much been retired. @@ -11609,7 +11621,7 @@ doc-all - Yes, you can do this without + Yes, you can do this without downloading the whole source tree by using the CTM facility. @@ -11782,7 +11794,7 @@ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) This depends on whether or not you plan on making the driver publicly available. If you do, then please send us a copy of the driver source code, plus the appropriate - modifications to files.i386, a + modifications to files.i386, a sample configuration file entry, and the appropriate &man.MAKEDEV.8; code to create any special files your device uses. If you do @@ -11962,13 +11974,13 @@ Cc: current@FreeBSD.org To make sure you capture a crash dump, you need edit /etc/rc.conf and set - dumpdev to point to your swap + dumpdev to point to your swap partition. This will cause the rc(8) scripts to use the dumpon(8) command to enable crash dumps. You can also run dumpon(8) manually. After a panic, the crash dump can be recovered using - savecore(8); if dumpdev is set in + savecore(8); if + dumpdev is set in /etc/rc.conf, the rc(8) scripts will run savecore(8) automatically and put the crash dump in @@ -12036,8 +12048,8 @@ Cc: current@FreeBSD.org The ELF toolchain does not, by default, make the symbols defined in an executable visible to the dynamic linker. Consequently dlsym() searches on handles - obtained from calls to dlopen(NULL, - flags) will fail to find such symbols. + obtained from calls to dlopen(NULL, + flags) will fail to find such symbols. If you want to search, using dlsym(), for symbols present in the main executable of a process, you @@ -12105,10 +12117,10 @@ SECTIONS Then reconfig and rebuild your kernel. You will probably have problems with ps(1), - top(1) and the like; make - world should take care of it (or a manual rebuild of - libkvm, ps and top + top(1) and the like; make + world should take care of it (or a manual rebuild of + libkvm, + ps and top after copying the patched pmap.h to /usr/include/vm/. diff --git a/en_US.ISO_8859-1/books/faq/book.sgml b/en_US.ISO_8859-1/books/faq/book.sgml index 9542bde30b..6ac8b0f100 100644 --- a/en_US.ISO_8859-1/books/faq/book.sgml +++ b/en_US.ISO_8859-1/books/faq/book.sgml @@ -14,7 +14,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.193 2001/05/14 22:57:35 dd Exp $ + $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.194 2001/05/15 00:24:18 dd Exp $ 1995 @@ -3669,7 +3669,7 @@ quit You can not use a - dangerously dedicated disk + dangerously dedicated disk with an HP Netserver. See this note for more info. @@ -3954,7 +3954,7 @@ quit 2e8, and the fourth serial port does too. Due to a bug (feature?) in the &man.sio.4; driver it will touch this port even if you don't have the - fourth serial port, and even if + fourth serial port, and even if you disable sio3 (the fourth port) which normally uses this address. @@ -5237,7 +5237,7 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx math co-processor, right? Wrong! :-) The npx0 is MANDATORY. Even if you don't have a - mathematic co-processor, you must + mathematic co-processor, you must include the npx0 device. @@ -5289,12 +5289,12 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx - Q. When I compile a kernel + When I compile a kernel with multi-port serial code, it tells me that only the first port is probed and the rest skipped due to interrupt conflicts. How do I fix this? - A. The problem here is that + The problem here is that FreeBSD has code built-in to keep the kernel from getting trashed due to hardware or software conflicts. The way to fix this is to leave out the IRQ settings on all but one port. Here @@ -5650,18 +5650,18 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr - Digital UNIX UFS CDROMs can + Digital UNIX UFS CDROMs can be mounted directly on FreeBSD. Mounting disk partitions from Digital UNIX and other systems that support UFS may be more complex, depending on the details of the disk partitioning for the operating system in question. - Linux: 2.2 and later have - support for ext2fs partitions. + Linux: 2.2 and later have + support for ext2fs partitions. See &man.mount.ext2fs.8; for more information. - NT: A read-only NTFS driver + NT: A read-only NTFS driver exists for FreeBSD. For more information, see this tutorial by Mark Ovens at @@ -5699,7 +5699,7 @@ C:\="DOS" For 2.2.x systems this procedure assumes that DOS, NT, FreeBSD, or whatever have been installed into their respective - fdisk partitions on the same + fdisk partitions on the same disk. This example was tested on a system where DOS & NT were on the first fdisk partition, and FreeBSD on the second. FreeBSD was also set up to boot from its native partition, not @@ -6503,7 +6503,7 @@ rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ the rest. If you've got a dynamically assigned IP number and use a - dialup ppp connection to the + dialup ppp connection to the internet, you will probably be given a mailbox on your ISPs mail server. Lets assume your ISPs domain is myISP.com, and that your user name is @@ -7365,7 +7365,7 @@ define(`confDELIVERY_MODE',`deferred')dnl /dev/sysmouse. All mouse events received from the real mouse device are written to the sysmouse device via moused. If you wish to use your mouse on one or more - virtual consoles, and use X, see + virtual consoles, and use X, see and set up moused. @@ -7844,7 +7844,7 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=startx"> startx, the permissions on /dev/console will - not get changed, resulting in + not get changed, resulting in things like xterm -C and Place heavily triggered rules earlier in the rule - set than those rarely used (without + set than those rarely used (without changing the permissiveness of the firewall, of course). You can see which rules are used most often by examining the packet counting statistics with @@ -8970,10 +8970,10 @@ Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 set log Phase Chat Connect Carrier lcp ipcp ccp command This command may be typed at the - ppp command prompt or it may be + ppp command prompt or it may be entered in the /etc/ppp/ppp.conf configuration file (the start of the - default section is the best + default section is the best place to put it). Make sure that /etc/syslog.conf (see &man.syslog.conf.5;) contains the lines @@ -9038,7 +9038,7 @@ default 10.0.0.2 UGSc 0 0 tun0 running an old version of &man.ppp.8; that doesn't understand the word HISADDR in the ppp.conf file. If your version of - ppp is from before FreeBSD + ppp is from before FreeBSD 2.2.5, change the add 0 0 HISADDR @@ -9080,7 +9080,7 @@ default 10.0.0.2 UGSc 0 0 tun0 file. This is only necessary if you have a dynamic IP address or don't know the address of your gateway. If you're using interactive mode, you can type the following after entering - packet mode (packet mode is + packet mode (packet mode is indicated by the capitalized PPP in the prompt): @@ -9111,8 +9111,8 @@ add 0 0 HISADDR closed due to a timeout. It is possible to put this command in the ppp.conf file, or to type it at the prompt in interactive mode. It is also possible to adjust it on - the fly while the line is active by connecting to ppps server socket using + the fly while the line is active by connecting to + ppps server socket using &man.telnet.1; or &man.pppctl.8;. Refer to the &man.ppp.8; man @@ -9267,15 +9267,19 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj would wait for the peer to initiate the Line Control Protocol (LCP). Many ISPs will not initiate negotiations and expect the client to do so. To force - ppp to initiate the LCP, use the + ppp to initiate the LCP, use the following line: set openmode active - Note: It usually does no + + + It usually does no harm if both sides initiate negotiation, so openmode is now active by default. However, the next section explains when - it does do some harm. + it does do some harm. + + @@ -9349,44 +9353,44 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj There is currently an implementation mis-feature in - ppp where it doesn't associate + ppp where it doesn't associate LCP, CCP & IPCP responses with their original requests. As - a result, if one ppp + a result, if one ppp implementation is more than 6 seconds slower than the other side, the other side will send two additional LCP configuration requests. This is fatal. Consider two implementations, - A and B. A starts - sending LCP requests immediately after connecting and B takes 7 seconds to start. When B starts, A + A and + B. A starts + sending LCP requests immediately after connecting and + B takes 7 seconds to start. When + B starts, A has sent 3 LCP REQs. We're assuming the line has ECHO switched off, otherwise we'd see magic number problems as described in - the previous section. B sends a - REQ, then an ACK to the first of A's REQs. This results in A entering the OPENED - state and sending and ACK (the first) back to B. In the meantime, B sends back two more ACKs in response to - the two additional REQs sent by A - before B started up. B then receives the first ACK from - A and enters the - OPENED state. A receives the second ACK from B and goes back to the REQ-SENT state, sending another (forth) REQ + the previous section. B sends a + REQ, then an ACK to the first of + A's REQs. This results in + A entering the OPENED + state and sending and ACK (the first) back to + B. In the meantime, + B sends back two more ACKs in response to + the two additional REQs sent by A + before B started up. + B then receives the first ACK from + A and enters the + OPENED state. + A receives the second ACK from + B and goes back to the + REQ-SENT state, sending another (forth) REQ as per the RFC. It then receives the third ACK and enters the - OPENED state. In the meantime, B receives the forth REQ from A, resulting in it reverting to the - ACK-SENT state and sending - another (second) REQ and (forth) ACK as per the RFC. A gets the REQ, goes into REQ-SENT and sends another REQ. It + OPENED state. In the meantime, + B receives the forth REQ from + A, resulting in it reverting to the + ACK-SENT state and sending + another (second) REQ and (forth) ACK as per the RFC. + A gets the REQ, goes into + REQ-SENT and sends another REQ. It immediately receives the following ACK and enters OPENED. @@ -9394,7 +9398,7 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj getting nowhere and gives up. The best way to avoid this is to configure one side to be - passive - that is, make one side + passive - that is, make one side wait for the other to start negotiating. This can be done with the @@ -9406,12 +9410,12 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj set stopped N command to limit the amount of time that - ppp waits for the peer to begin + ppp waits for the peer to begin negotiations. Alternatively, the set openmode active N - command (where N is the + command (where N is the number of seconds to wait before starting negotiations) can be used. Check the manual page for details. @@ -9425,11 +9429,11 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj Prior to version 2.2.5 of FreeBSD, it was possible that your link was disabled shortly after connection due to - ppp mis-handling Predictor1 + ppp mis-handling Predictor1 compression negotiation. This would only happen if both sides tried to negotiate different Compression Control Protocols (CCP). This problem is now corrected, but if you're still - running an old version of ppp, + running an old version of ppp, the problem can be circumvented with the line disable pred1 @@ -9465,7 +9469,7 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj - There is no way for ppp to + There is no way for ppp to automatically determine that a direct connection has been dropped. This is due to the lines that are used in a null-modem serial cable. When using this sort of connection, @@ -9482,7 +9486,7 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj Why does ppp dial for no reason in -auto mode - If ppp is dialing + If ppp is dialing unexpectedly, you must determine the cause, and set up Dial filters (dfilters) to prevent such dialing. @@ -9497,8 +9501,8 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj You can now disable dialing under these circumstances. Usually, this sort of problem arises due to DNS lookups. To prevent DNS lookups from establishing a connection (this will - not prevent - ppp from passing the packets + not prevent + ppp from passing the packets through an established connection), use the following: set dfilter 1 deny udp src eq 53 @@ -9563,7 +9567,7 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6) via syslogd. The ppp specification says that an MRU of 1500 should - always be accepted as a minimum, + always be accepted as a minimum, despite any LCP negotiations, therefore it is possible that should you decrease the MTU to less than 1500, your ISP will transmit packets of 1500 regardless, and you will tickle this @@ -9602,7 +9606,7 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6) \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" Here, we get our CONNECT, send nothing, then expect a - line-feed, forcing ppp to read + line-feed, forcing ppp to read the whole CONNECT response. @@ -9618,7 +9622,7 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6) interpret strings such as set phone "123 456 789" correctly (and realize that the number is actually only - one argument. In order to specify + one argument. In order to specify a " character, you must escape it using a backslash (\). @@ -9667,9 +9671,9 @@ ATDT1234567 dump core. Because ppp runs with an effective user id of 0, the operating system will not write ppps core image to disk before terminating it. If, however ppp - is actually termating due to a + is actually termating due to a segmentation violation or some other signal that normally - causes core to be dumped, and + causes core to be dumped, and you're sure you're using the latest version (see the start of this section), then you should do the following: @@ -9719,18 +9723,18 @@ ATDT1234567 This was a known problem with - ppp set up to negotiate a + ppp set up to negotiate a dynamic local IP number with the peer in auto mode. It is fixed in the latest version - search the man page for - iface. + iface. The problem was that when that initial program calls &man.connect.2;, the IP number of the tun interface is assigned to the socket endpoint. The kernel creates the first - outgoing packet and writes it to the tun device. Ppp then reads the packet and establishes a - connection. If, as a result of ppps dynamic IP assignment, the interface + outgoing packet and writes it to the tun device. + ppp then reads the packet and establishes a + connection. If, as a result of + ppps dynamic IP assignment, the interface address is changed, the original socket endpoint will be invalid. Any subsequent packets sent to the peer will usually be dropped. Even if they aren't, any responses will not route @@ -9739,8 +9743,8 @@ ATDT1234567 There are several theoretical ways to approach this problem. It would be nicest if the peer would re-assign the - same IP number if possible :-) - The current version of ppp does + same IP number if possible :-) + The current version of ppp does this, but most other implementations don't. The easiest method from our side would be to never change @@ -9748,7 +9752,7 @@ ATDT1234567 packets so that the source IP number is changed from the interface IP to the negotiated IP on the fly. This is essentially what the iface-alias option in - the latest version of ppp is + the latest version of ppp is doing (with the help of &man.libalias.3; and ppp's switch) - it's maintaining all previous interface addresses and NATing @@ -9756,7 +9760,7 @@ ATDT1234567 Another alternative (and probably the most reliable) would be to implement a system call that changes all bound sockets - from one IP to another. Ppp would + from one IP to another. ppp would use this call to modify the sockets of all existing programs when a new IP number is negotiated. The same system call could be used by dhcp clients when they are forced to re-bind() their @@ -9766,7 +9770,7 @@ ATDT1234567 brought up without an IP number. Outgoing packets would be given an IP number of 255.255.255.255 up until the first SIOCAIFADDR ioctl is done. This would result in fully binding - the socket. It would be up to ppp + the socket. It would be up to ppp to change the source IP number, but only if it's set to 255.255.255.255, and only the IP number and IP checksum would need to change. This, however is a bit of a hack as the kernel @@ -9821,7 +9825,9 @@ ATDT1234567 If the port numbers aren't consistent, there are three more options: - 1) Submit support in + + + Submit support in libalias. Examples of special cases can be found in /usr/src/lib/libalias/alias_*.c (alias_ftp.c is a good prototype). This @@ -9834,16 +9840,22 @@ ATDT1234567 This is the most difficult solution, but it is the best and will make the software work with multiple machines. - - 2) Use a proxy. The + + + + Use a proxy. The application may support socks5 for example, or (as in the cvsup case) may have a passive option that avoids ever requesting that the peer open connections back to the local machine. + - 3) Redirect everything to + + Redirect everything to the internal machine using nat addr. This is the sledge-hammer approach. + + @@ -9933,9 +9945,9 @@ ATDT1234567 - FCS stands for Frame - Check - Sequence. Each ppp packet + FCS stands for Frame + Check + Sequence. Each ppp packet has a checksum attached to ensure that the data being received is the data being sent. If the FCS of an incoming packet is incorrect, the packet is dropped and the HDLC FCS @@ -9990,7 +10002,7 @@ ATDT1234567 router. MacOS and Windows 98 (and maybe other Microsoft OSs) send TCP packets with a requested segment size too big to fit into a PPPoE frame (MTU is 1500 by default for ethernet) - and have the don't + and have the don't fragment bit set (default of TCP) and the Telco router is not sending ICMP must fragment back to the www site you are trying to load. (Alternatively, the router is @@ -10038,12 +10050,12 @@ ATDT1234567 Save as Auto Configure, and click Make Active. - The latest version of ppp + The latest version of ppp (2.3 or greater) has an enable tcpmssfixup command that will automatically adjust the MSS to an appropriate value. This facility is enabled by default. If you're stuck - with an older version of ppp, you - may want to look at the tcpmssd + with an older version of ppp, you + may want to look at the tcpmssd port. @@ -10056,7 +10068,7 @@ ATDT1234567 If all else fails, send as much information as you can, including your config files, how you're starting - ppp, the relevant parts of your + ppp, the relevant parts of your log file and the output of the netstat -rn command (before and after connecting) to the freebsd-questions@FreeBSD.org mailing list @@ -10670,7 +10682,7 @@ raisechar=^^ How can I run zmodem with - tip? + tip? @@ -10840,7 +10852,7 @@ raisechar=^^ necessary and the transition made. In FreeBSD's case, our shared library mechanism is based - more closely on Sun's SunOS-style + more closely on Sun's SunOS-style shared library mechanism and, as such, is very easy to use. However, starting with 3.0, FreeBSD officially supports ELF binaries as the default format. Even @@ -10967,9 +10979,9 @@ raisechar=^^ The option does a RECURSIVE - chmod. Be careful about + &man.chmod.1;. Be careful about specifying directories or symlinks to directories to - chmod. If you want to + chmod. If you want to change the permissions of a directory referenced by a symlink, use &man.chmod.1; without any options and follow the symlink @@ -10992,7 +11004,7 @@ raisechar=^^ - Why are login names still + Why are login names still restricted to 8 characters? @@ -11036,7 +11048,7 @@ raisechar=^^ Yes, starting with version 3.0 you can using BSDI's - doscmd DOS emulation which has + doscmd DOS emulation which has been integrated and enhanced. Send mail to The FreeBSD emulation discussion list if you're interested in @@ -11074,7 +11086,7 @@ raisechar=^^ Grex provides a site very similar to M-Net including the same bulletin board and interactive chat software. However, the machine is a Sun - 4M and is running SunOS. + 4M and is running SunOS @@ -11463,11 +11475,11 @@ raisechar=^^ -CURRENT. Right now, -CURRENT is the 5.0 development - stream and the 4-STABLE branch, + stream and the 4-STABLE branch, RELENG_4, forked off from -CURRENT in Mar 2000. - The 2.2-STABLE branch, + The 2.2-STABLE branch, RELENG_2_2, departed -CURRENT in November 1996, and has pretty much been retired. @@ -11609,7 +11621,7 @@ doc-all - Yes, you can do this without + Yes, you can do this without downloading the whole source tree by using the CTM facility. @@ -11782,7 +11794,7 @@ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) This depends on whether or not you plan on making the driver publicly available. If you do, then please send us a copy of the driver source code, plus the appropriate - modifications to files.i386, a + modifications to files.i386, a sample configuration file entry, and the appropriate &man.MAKEDEV.8; code to create any special files your device uses. If you do @@ -11962,13 +11974,13 @@ Cc: current@FreeBSD.org To make sure you capture a crash dump, you need edit /etc/rc.conf and set - dumpdev to point to your swap + dumpdev to point to your swap partition. This will cause the rc(8) scripts to use the dumpon(8) command to enable crash dumps. You can also run dumpon(8) manually. After a panic, the crash dump can be recovered using - savecore(8); if dumpdev is set in + savecore(8); if + dumpdev is set in /etc/rc.conf, the rc(8) scripts will run savecore(8) automatically and put the crash dump in @@ -12036,8 +12048,8 @@ Cc: current@FreeBSD.org The ELF toolchain does not, by default, make the symbols defined in an executable visible to the dynamic linker. Consequently dlsym() searches on handles - obtained from calls to dlopen(NULL, - flags) will fail to find such symbols. + obtained from calls to dlopen(NULL, + flags) will fail to find such symbols. If you want to search, using dlsym(), for symbols present in the main executable of a process, you @@ -12105,10 +12117,10 @@ SECTIONS Then reconfig and rebuild your kernel. You will probably have problems with ps(1), - top(1) and the like; make - world should take care of it (or a manual rebuild of - libkvm, ps and top + top(1) and the like; make + world should take care of it (or a manual rebuild of + libkvm, + ps and top after copying the patched pmap.h to /usr/include/vm/.