home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume3 / rfs / patches3 < prev    next >
Mailbox/MIME Entity  |  1986-11-30  |  14.9 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: Mailbox/MIME Entity (archive/mbox).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Mailbox/MIME Entity (archive/mbox) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file Mailbox text, 1st line "From panda!talcott!harvard!bbnccv!bbncca!linus!decvax!tektronix!tekcrl!toddb Fri Feb 21 16:10:52 EST 1986" default
99% file Nim source code, ASCII text default (weak)
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried x-fmt/111 Plain Text File default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 70 61 6e | 64 61 21 74 61 6c 63 6f |From pan|da!talco|
|00000010| 74 74 21 68 61 72 76 61 | 72 64 21 62 62 6e 63 63 |tt!harva|rd!bbncc|
|00000020| 76 21 62 62 6e 63 63 61 | 21 6c 69 6e 75 73 21 64 |v!bbncca|!linus!d|
|00000030| 65 63 76 61 78 21 74 65 | 6b 74 72 6f 6e 69 78 21 |ecvax!te|ktronix!|
|00000040| 74 65 6b 63 72 6c 21 74 | 6f 64 64 62 20 46 72 69 |tekcrl!t|oddb Fri|
|00000050| 20 46 65 62 20 32 31 20 | 31 36 3a 31 30 3a 35 32 | Feb 21 |16:10:52|
|00000060| 20 45 53 54 20 31 39 38 | 36 0a 41 72 74 69 63 6c | EST 198|6.Articl|
|00000070| 65 3a 20 36 35 38 20 6f | 66 20 6e 65 74 2e 73 6f |e: 658 o|f net.so|
|00000080| 75 72 63 65 73 2e 62 75 | 67 73 0a 52 65 6c 61 79 |urces.bu|gs.Relay|
|00000090| 2d 56 65 72 73 69 6f 6e | 3a 20 76 65 72 73 69 6f |-Version|: versio|
|000000a0| 6e 20 42 20 32 2e 31 30 | 2e 32 20 39 2f 33 2f 38 |n B 2.10|.2 9/3/8|
|000000b0| 34 3b 20 73 69 74 65 20 | 74 65 64 64 79 2e 55 55 |4; site |teddy.UU|
|000000c0| 43 50 0a 50 6f 73 74 69 | 6e 67 2d 56 65 72 73 69 |CP.Posti|ng-Versi|
|000000d0| 6f 6e 3a 20 76 65 72 73 | 69 6f 6e 20 42 20 32 2e |on: vers|ion B 2.|
|000000e0| 31 30 2e 32 20 28 54 65 | 6b 29 20 39 2f 32 38 2f |10.2 (Te|k) 9/28/|
|000000f0| 38 34 20 62 61 73 65 64 | 20 6f 6e 20 39 2f 31 37 |84 based| on 9/17|
|00000100| 2f 38 34 3b 20 73 69 74 | 65 20 74 65 6b 63 72 6c |/84; sit|e tekcrl|
|00000110| 2e 55 55 43 50 0a 50 61 | 74 68 3a 20 74 65 64 64 |.UUCP.Pa|th: tedd|
|00000120| 79 21 70 61 6e 64 61 21 | 74 61 6c 63 6f 74 74 21 |y!panda!|talcott!|
|00000130| 68 61 72 76 61 72 64 21 | 62 62 6e 63 63 76 21 62 |harvard!|bbnccv!b|
|00000140| 62 6e 63 63 61 21 6c 69 | 6e 75 73 21 64 65 63 76 |bncca!li|nus!decv|
|00000150| 61 78 21 74 65 6b 74 72 | 6f 6e 69 78 21 74 65 6b |ax!tektr|onix!tek|
|00000160| 63 72 6c 21 74 6f 64 64 | 62 0a 3e 46 72 6f 6d 3a |crl!todd|b.>From:|
|00000170| 20 74 6f 64 64 62 40 74 | 65 6b 63 72 6c 2e 55 55 | toddb@t|ekcrl.UU|
|00000180| 43 50 20 28 54 6f 64 64 | 20 42 72 75 6e 68 6f 66 |CP (Todd| Brunhof|
|00000190| 66 29 0a 4e 65 77 73 67 | 72 6f 75 70 73 3a 20 6e |f).Newsg|roups: n|
|000001a0| 65 74 2e 73 6f 75 72 63 | 65 73 2e 62 75 67 73 0a |et.sourc|es.bugs.|
|000001b0| 53 75 62 6a 65 63 74 3a | 20 52 46 53 20 62 75 67 |Subject:| RFS bug|
|000001c0| 20 66 69 78 65 73 20 23 | 33 0a 4d 65 73 73 61 67 | fixes #|3.Messag|
|000001d0| 65 2d 49 44 3a 20 3c 35 | 33 33 40 74 65 6b 63 72 |e-ID: <5|33@tekcr|
|000001e0| 6c 2e 55 55 43 50 3e 0a | 44 61 74 65 3a 20 31 38 |l.UUCP>.|Date: 18|
|000001f0| 20 46 65 62 20 38 36 20 | 30 32 3a 33 38 3a 34 30 | Feb 86 |02:38:40|
|00000200| 20 47 4d 54 0a 44 61 74 | 65 2d 52 65 63 65 69 76 | GMT.Dat|e-Receiv|
|00000210| 65 64 3a 20 32 30 20 46 | 65 62 20 38 36 20 30 35 |ed: 20 F|eb 86 05|
|00000220| 3a 30 33 3a 34 39 20 47 | 4d 54 0a 52 65 70 6c 79 |:03:49 G|MT.Reply|
|00000230| 2d 54 6f 3a 20 74 6f 64 | 64 62 40 74 65 6b 63 72 |-To: tod|db@tekcr|
|00000240| 6c 2e 55 55 43 50 20 28 | 54 6f 64 64 20 42 72 75 |l.UUCP (|Todd Bru|
|00000250| 6e 68 6f 66 66 29 0a 4f | 72 67 61 6e 69 7a 61 74 |nhoff).O|rganizat|
|00000260| 69 6f 6e 3a 20 54 65 6b | 74 72 6f 6e 69 78 2c 20 |ion: Tek|tronix, |
|00000270| 42 65 61 76 65 72 74 6f | 6e 20 4f 52 0a 4c 69 6e |Beaverto|n OR.Lin|
|00000280| 65 73 3a 20 35 30 32 0a | 0a 0a 34 20 62 75 67 20 |es: 502.|..4 bug |
|00000290| 66 69 78 65 73 20 66 6f | 6c 6c 6f 77 2e 20 20 54 |fixes fo|llow. T|
|000002a0| 68 65 20 6d 6f 73 74 20 | 69 6d 70 6f 72 74 61 6e |he most |importan|
|000002b0| 74 20 69 73 20 6f 6e 65 | 20 49 20 64 69 64 20 6f |t is one| I did o|
|000002c0| 75 74 20 6f 66 20 73 68 | 65 65 72 0a 66 72 75 73 |ut of sh|eer.frus|
|000002d0| 74 72 61 74 69 6f 6e 3a | 20 20 77 68 65 6e 20 61 |tration:| when a|
|000002e0| 20 73 65 72 76 65 72 20 | 68 6f 73 74 20 67 6f 65 | server |host goe|
|000002f0| 73 20 64 6f 77 6e 2c 20 | 74 68 65 20 63 6c 69 65 |s down, |the clie|
|00000300| 6e 74 20 6b 65 72 6e 65 | 6c 20 6d 61 72 6b 73 20 |nt kerne|l marks |
|00000310| 74 68 65 0a 63 6f 6e 6e | 65 63 74 69 6f 6e 20 61 |the.conn|ection a|
|00000320| 73 20 63 6c 6f 73 69 6e | 67 20 61 6e 64 20 72 65 |s closin|g and re|
|00000330| 66 75 73 65 73 20 74 6f | 20 73 74 61 72 74 20 75 |fuses to| start u|
|00000340| 70 20 61 6e 6f 74 68 65 | 72 20 63 6f 6e 6e 65 63 |p anothe|r connec|
|00000350| 74 69 6f 6e 20 75 6e 74 | 69 6c 0a 61 6c 6c 20 74 |tion unt|il.all t|
|00000360| 68 65 20 70 72 6f 63 65 | 73 73 65 73 20 77 68 69 |he proce|sses whi|
|00000370| 63 68 20 68 61 76 65 20 | 75 73 65 64 20 74 68 61 |ch have |used tha|
|00000380| 74 20 68 6f 73 74 20 68 | 61 76 65 20 65 78 69 74 |t host h|ave exit|
|00000390| 65 64 2e 20 20 49 20 6e | 6f 77 20 74 68 69 6e 6b |ed. I n|ow think|
|000003a0| 0a 74 68 61 74 20 74 68 | 69 73 20 69 73 20 72 69 |.that th|is is ri|
|000003b0| 64 69 63 75 6c 6f 75 73 | 20 72 65 71 75 69 72 65 |diculous| require|
|000003c0| 6d 65 6e 74 2e 20 20 41 | 6e 64 20 66 72 6f 6d 20 |ment. A|nd from |
|000003d0| 74 68 65 20 68 61 73 73 | 6c 65 73 20 49 20 68 61 |the hass|les I ha|
|000003e0| 76 65 0a 72 65 63 65 69 | 76 65 64 20 66 72 6f 6d |ve.recei|ved from|
|000003f0| 20 75 73 65 72 73 20 61 | 6e 64 20 74 68 6f 73 65 | users a|nd those|
|00000400| 20 79 6f 75 20 68 61 76 | 65 20 74 6f 6c 64 20 6d | you hav|e told m|
|00000410| 65 20 79 6f 75 20 67 65 | 74 20 66 72 6f 6d 20 79 |e you ge|t from y|
|00000420| 6f 75 72 20 75 73 65 72 | 73 2c 0a 49 20 73 75 72 |our user|s,.I sur|
|00000430| 6d 69 73 65 20 74 68 61 | 74 20 49 20 61 6d 20 6e |mise tha|t I am n|
|00000440| 6f 74 20 61 6c 6f 6e 65 | 20 69 6e 20 72 69 64 69 |ot alone| in ridi|
|00000450| 63 75 6c 69 6e 67 20 6d | 79 20 6f 77 6e 20 69 6d |culing m|y own im|
|00000460| 70 6c 65 6d 65 6e 74 61 | 74 69 6f 6e 2e 0a 0a 54 |plementa|tion...T|
|00000470| 68 65 20 66 69 78 20 73 | 69 6d 70 6c 79 20 65 6e |he fix s|imply en|
|00000480| 74 61 69 6c 65 64 20 6e | 6f 74 20 77 61 69 74 69 |tailed n|ot waiti|
|00000490| 6e 67 20 66 6f 72 20 70 | 72 6f 63 65 73 73 65 73 |ng for p|rocesses|
|000004a0| 20 75 73 69 6e 67 20 74 | 68 65 20 63 6f 6e 6e 65 | using t|he conne|
|000004b0| 63 74 69 6f 6e 0a 74 6f | 20 65 78 69 74 2e 20 20 |ction.to| exit. |
|000004c0| 54 68 65 20 72 65 73 75 | 6c 74 20 69 73 20 74 68 |The resu|lt is th|
|000004d0| 61 74 20 61 6e 79 20 70 | 72 6f 63 65 73 73 20 74 |at any p|rocess t|
|000004e0| 68 61 74 20 68 61 73 20 | 6f 70 65 6e 20 66 69 6c |hat has |open fil|
|000004f0| 65 20 64 65 73 63 72 69 | 70 74 6f 72 73 0a 6f 72 |e descri|ptors.or|
|00000500| 20 61 20 77 6f 72 6b 69 | 6e 67 20 64 69 72 65 63 | a worki|ng direc|
|00000510| 74 6f 72 79 20 6f 6e 20 | 74 68 65 20 72 65 6d 6f |tory on |the remo|
|00000520| 74 65 20 68 6f 73 74 2c | 20 73 75 64 64 65 6e 6c |te host,| suddenl|
|00000530| 79 20 6c 6f 73 65 73 20 | 74 68 65 6d 2e 2e 2e 20 |y loses |them... |
|00000540| 62 75 74 0a 74 68 65 6e | 2c 20 74 68 65 79 20 77 |but.then|, they w|
|00000550| 65 72 65 20 6c 6f 73 74 | 20 61 6e 79 77 61 79 2e |ere lost| anyway.|
|00000560| 20 20 4d 6f 73 74 20 69 | 6d 70 6f 72 74 61 6e 74 | Most i|mportant|
|00000570| 2c 20 74 68 6f 75 67 68 | 2c 20 74 68 65 20 63 6f |, though|, the co|
|00000580| 6e 6e 65 63 74 69 6f 6e | 20 77 69 6c 6c 0a 72 65 |nnection| will.re|
|00000590| 73 74 61 72 74 20 28 69 | 66 20 74 68 65 20 6f 74 |start (i|f the ot|
|000005a0| 68 65 72 20 68 6f 73 74 | 20 69 73 20 75 70 29 2e |her host| is up).|
|000005b0| 20 20 54 77 6f 20 66 69 | 6c 65 73 20 63 68 61 6e | Two fi|les chan|
|000005c0| 67 65 64 20 69 6e 20 74 | 68 65 20 6b 65 72 6e 65 |ged in t|he kerne|
|000005d0| 6c 2c 0a 72 65 6d 6f 74 | 65 2f 72 6d 74 5f 69 6f |l,.remot|e/rmt_io|
|000005e0| 2e 63 20 61 6e 64 20 72 | 65 6d 6f 74 65 2f 72 6d |.c and r|emote/rm|
|000005f0| 74 5f 67 65 6e 65 72 69 | 63 2e 63 2e 20 20 46 69 |t_generi|c.c. Fi|
|00000600| 72 73 74 2c 20 68 65 72 | 65 20 61 72 65 20 74 68 |rst, her|e are th|
|00000610| 65 20 63 68 61 6e 67 65 | 73 0a 74 6f 20 72 65 6d |e change|s.to rem|
|00000620| 6f 74 65 2f 72 6d 74 5f | 69 6f 2e 63 3a 0a 0a 2a |ote/rmt_|io.c:..*|
|00000630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 2a |********|******.*|
|00000640| 2a 2a 20 31 31 2c 31 37 | 0a 20 20 20 2a 20 6d 61 |** 11,17|. * ma|
|00000650| 79 20 62 65 20 63 6f 70 | 69 65 64 2c 20 6d 6f 64 |y be cop|ied, mod|
|00000660| 69 66 69 65 64 20 6f 72 | 20 75 73 65 64 20 69 6e |ified or| used in|
|00000670| 20 61 6e 79 20 77 61 79 | 2c 20 77 69 74 68 6f 75 | any way|, withou|
|00000680| 74 20 66 65 65 2c 20 70 | 72 6f 76 69 64 65 64 20 |t fee, p|rovided |
|00000690| 74 68 69 73 0a 20 20 20 | 2a 20 6e 6f 74 69 63 65 |this. |* notice|
|000006a0| 20 72 65 6d 61 69 6e 73 | 20 61 6e 20 75 6e 61 6c | remains| an unal|
|000006b0| 74 65 72 65 64 20 70 61 | 72 74 20 6f 66 20 74 68 |tered pa|rt of th|
|000006c0| 65 20 73 6f 66 74 77 61 | 72 65 2e 0a 20 20 20 2a |e softwa|re.. *|
|000006d0| 0a 21 20 20 2a 20 24 48 | 65 61 64 65 72 3a 20 72 |.! * $H|eader: r|
|000006e0| 6d 74 5f 69 6f 2e 63 2c | 76 20 32 2e 33 20 38 36 |mt_io.c,|v 2.3 86|
|000006f0| 2f 30 32 2f 30 34 20 31 | 30 3a 32 36 3a 34 33 20 |/02/04 1|0:26:43 |
|00000700| 74 6f 64 64 62 20 45 78 | 70 20 24 0a 20 20 20 2a |toddb Ex|p $. *|
|00000710| 0a 20 20 20 2a 20 24 4c | 6f 67 3a 09 72 6d 74 5f |. * $L|og:.rmt_|
|00000720| 69 6f 2e 63 2c 76 20 24 | 0a 20 20 20 2a 20 52 65 |io.c,v $|. * Re|
|00000730| 76 69 73 69 6f 6e 20 32 | 2e 33 20 20 38 36 2f 30 |vision 2|.3 86/0|
|00000740| 32 2f 30 34 20 20 31 30 | 3a 32 36 3a 34 33 20 20 |2/04 10|:26:43 |
|00000750| 74 6f 64 64 62 0a 0a 2d | 20 2d 2d 2d 20 31 31 2c |toddb..-| --- 11,|
|00000760| 31 37 20 2d 2d 2d 2d 2d | 0a 20 20 20 2a 20 6d 61 |17 -----|. * ma|
|00000770| 79 20 62 65 20 63 6f 70 | 69 65 64 2c 20 6d 6f 64 |y be cop|ied, mod|
|00000780| 69 66 69 65 64 20 6f 72 | 20 75 73 65 64 20 69 6e |ified or| used in|
|00000790| 20 61 6e 79 20 77 61 79 | 2c 20 77 69 74 68 6f 75 | any way|, withou|
|000007a0| 74 20 66 65 65 2c 20 70 | 72 6f 76 69 64 65 64 20 |t fee, p|rovided |
|000007b0| 74 68 69 73 0a 20 20 20 | 2a 20 6e 6f 74 69 63 65 |this. |* notice|
|000007c0| 20 72 65 6d 61 69 6e 73 | 20 61 6e 20 75 6e 61 6c | remains| an unal|
|000007d0| 74 65 72 65 64 20 70 61 | 72 74 20 6f 66 20 74 68 |tered pa|rt of th|
|000007e0| 65 20 73 6f 66 74 77 61 | 72 65 2e 0a 20 20 20 2a |e softwa|re.. *|
|000007f0| 0a 21 20 20 2a 20 24 48 | 65 61 64 65 72 3a 20 72 |.! * $H|eader: r|
|00000800| 6d 74 5f 69 6f 2e 63 2c | 76 20 32 2e 34 20 38 36 |mt_io.c,|v 2.4 86|
|00000810| 2f 30 32 2f 31 37 20 31 | 37 3a 34 33 3a 32 31 20 |/02/17 1|7:43:21 |
|00000820| 74 6f 64 64 62 20 45 78 | 70 20 24 0a 20 20 20 2a |toddb Ex|p $. *|
|00000830| 0a 20 20 20 2a 20 24 4c | 6f 67 3a 09 72 6d 74 5f |. * $L|og:.rmt_|
|00000840| 69 6f 2e 63 2c 76 20 24 | 0a 20 20 20 2a 20 52 65 |io.c,v $|. * Re|
|00000850| 76 69 73 69 6f 6e 20 32 | 2e 34 20 20 38 36 2f 30 |vision 2|.4 86/0|
|00000860| 32 2f 31 37 20 20 31 37 | 3a 34 33 3a 32 31 20 20 |2/17 17|:43:21 |
|00000870| 74 6f 64 64 62 0a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |toddb.**|********|
|00000880| 2a 2a 2a 2a 2a 0a 2a 2a | 2a 20 31 34 2c 31 39 0a |*****.**|* 14,19.|
|00000890| 20 20 20 2a 20 24 48 65 | 61 64 65 72 3a 20 72 6d | * $He|ader: rm|
|000008a0| 74 5f 69 6f 2e 63 2c 76 | 20 32 2e 33 20 38 36 2f |t_io.c,v| 2.3 86/|
|000008b0| 30 32 2f 30 34 20 31 30 | 3a 32 36 3a 34 33 20 74 |02/04 10|:26:43 t|
|000008c0| 6f 64 64 62 20 45 78 70 | 20 24 0a 20 20 20 2a 0a |oddb Exp| $. *.|
|000008d0| 20 20 20 2a 20 24 4c 6f | 67 3a 09 72 6d 74 5f 69 | * $Lo|g:.rmt_i|
|000008e0| 6f 2e 63 2c 76 20 24 0a | 20 20 20 2a 20 52 65 76 |o.c,v $.| * Rev|
|000008f0| 69 73 69 6f 6e 20 32 2e | 33 20 20 38 36 2f 30 32 |ision 2.|3 86/02|
|00000900| 2f 30 34 20 20 31 30 3a | 32 36 3a 34 33 20 20 74 |/04 10:|26:43 t|
|00000910| 6f 64 64 62 0a 20 20 20 | 2a 20 41 64 64 65 64 20 |oddb. |* Added |
|00000920| 61 20 6d 69 73 73 69 6e | 67 20 72 6d 74 5f 75 6e |a missin|g rmt_un|
|00000930| 75 73 65 28 29 20 63 61 | 6c 6c 20 77 68 65 6e 20 |use() ca|ll when |
|00000940| 69 74 20 69 73 20 74 6f | 6f 20 73 6f 6f 6e 20 74 |it is to|o soon t|
|00000950| 6f 20 63 61 6c 6c 20 61 | 20 68 6f 73 74 0a 20 20 |o call a| host. |
|00000960| 20 2a 20 74 68 61 74 20 | 68 61 73 20 66 61 69 6c | * that |has fail|
|00000970| 65 64 20 61 20 63 6f 6e | 6e 65 63 74 69 6f 6e 2e |ed a con|nection.|
|00000980| 20 20 43 6f 6e 74 72 69 | 62 75 74 65 64 20 62 79 | Contri|buted by|
|00000990| 20 44 65 6e 6e 69 73 20 | 52 6f 63 6b 77 65 6c 6c | Dennis |Rockwell|
|000009a0| 20 40 20 63 73 6e 65 74 | 2e 0a 0a 2d 20 2d 2d 2d | @ csnet|...- ---|
|000009b0| 20 31 34 2c 32 35 20 2d | 2d 2d 2d 2d 0a 20 20 20 | 14,25 -|----. |
|000009c0| 2a 20 24 48 65 61 64 65 | 72 3a 20 72 6d 74 5f 69 |* $Heade|r: rmt_i|
|000009d0| 6f 2e 63 2c 76 20 32 2e | 34 20 38 36 2f 30 32 2f |o.c,v 2.|4 86/02/|
|000009e0| 31 37 20 31 37 3a 34 33 | 3a 32 31 20 74 6f 64 64 |17 17:43|:21 todd|
|000009f0| 62 20 45 78 70 20 24 0a | 20 20 20 2a 0a 20 20 20 |b Exp $.| *. |
|00000a00| 2a 20 24 4c 6f 67 3a 09 | 72 6d 74 5f 69 6f 2e 63 |* $Log:.|rmt_io.c|
|00000a10| 2c 76 20 24 0a 2b 20 20 | 2a 20 52 65 76 69 73 69 |,v $.+ |* Revisi|
|00000a20| 6f 6e 20 32 2e 34 20 20 | 38 36 2f 30 32 2f 31 37 |on 2.4 |86/02/17|
|00000a30| 20 20 31 37 3a 34 33 3a | 32 31 20 20 74 6f 64 64 | 17:43:|21 todd|
|00000a40| 62 0a 2b 20 20 2a 20 49 | 66 20 74 68 65 20 68 6f |b.+ * I|f the ho|
|00000a50| 73 74 20 69 73 20 63 6c | 6f 73 69 6e 67 2c 20 72 |st is cl|osing, r|
|00000a60| 65 6d 6f 74 65 5f 67 65 | 74 63 6f 6e 6e 65 63 74 |emote_ge|tconnect|
|00000a70| 69 6f 6e 28 29 20 67 6f | 65 73 20 72 69 67 68 74 |ion() go|es right|
|00000a80| 20 61 68 65 61 64 20 61 | 6e 64 0a 2b 20 20 2a 20 | ahead a|nd.+ * |
|00000a90| 63 6c 6f 73 65 73 20 61 | 6e 64 20 74 68 65 6e 20 |closes a|nd then |
|00000aa0| 74 72 69 65 73 20 74 6f | 20 72 65 6f 70 65 6e 2e |tries to| reopen.|
|00000ab0| 20 20 54 68 69 73 20 70 | 72 6f 76 69 64 65 73 20 | This p|rovides |
|00000ac0| 61 20 70 72 65 74 74 79 | 20 67 6f 6f 64 20 72 65 |a pretty| good re|
|00000ad0| 63 6f 76 65 72 0a 2b 20 | 20 2a 20 6d 65 63 68 61 |cover.+ | * mecha|
|00000ae0| 6e 69 73 6d 2c 20 65 78 | 63 65 70 74 20 66 6f 72 |nism, ex|cept for|
|00000af0| 20 74 68 65 20 66 61 63 | 74 20 74 68 61 74 20 63 | the fac|t that c|
|00000b00| 75 72 72 65 6e 74 20 77 | 6f 72 6b 69 6e 67 20 64 |urrent w|orking d|
|00000b10| 69 72 65 63 74 6f 72 69 | 65 73 20 61 72 65 0a 2b |irectori|es are.+|
|00000b20| 20 20 2a 20 6c 6f 73 74 | 20 61 6e 64 20 6f 70 65 | * lost| and ope|
|00000b30| 6e 20 66 69 6c 65 73 20 | 61 72 65 20 6c 6f 73 74 |n files |are lost|
|00000b40| 2e 0a 2b 20 20 2a 20 0a | 20 20 20 2a 20 52 65 76 |..+ * .| * Rev|
|00000b50| 69 73 69 6f 6e 20 32 2e | 33 20 20 38 36 2f 30 32 |ision 2.|3 86/02|
|00000b60| 2f 30 34 20 20 31 30 3a | 32 36 3a 34 33 20 20 74 |/04 10:|26:43 t|
|00000b70| 6f 64 64 62 0a 20 20 20 | 2a 20 41 64 64 65 64 20 |oddb. |* Added |
|00000b80| 61 20 6d 69 73 73 69 6e | 67 20 72 6d 74 5f 75 6e |a missin|g rmt_un|
|00000b90| 75 73 65 28 29 20 63 61 | 6c 6c 20 77 68 65 6e 20 |use() ca|ll when |
|00000ba0| 69 74 20 69 73 20 74 6f | 6f 20 73 6f 6f 6e 20 74 |it is to|o soon t|
|00000bb0| 6f 20 63 61 6c 6c 20 61 | 20 68 6f 73 74 0a 20 20 |o call a| host. |
|00000bc0| 20 2a 20 74 68 61 74 20 | 68 61 73 20 66 61 69 6c | * that |has fail|
|00000bd0| 65 64 20 61 20 63 6f 6e | 6e 65 63 74 69 6f 6e 2e |ed a con|nection.|
|00000be0| 20 20 43 6f 6e 74 72 69 | 62 75 74 65 64 20 62 79 | Contri|buted by|
|00000bf0| 20 44 65 6e 6e 69 73 20 | 52 6f 63 6b 77 65 6c 6c | Dennis |Rockwell|
|00000c00| 20 40 20 63 73 6e 65 74 | 2e 0a 2a 2a 2a 2a 2a 2a | @ csnet|..******|
|00000c10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 2a 2a 2a 20 38 38 |********|*.*** 88|
|00000c20| 2c 39 33 0a 20 20 09 09 | 72 65 74 75 72 6e 28 72 |,93. ..|return(r|
|00000c30| 70 2d 3e 72 5f 6f 70 65 | 6e 65 72 72 29 3b 0a 20 |p->r_ope|nerr);. |
|00000c40| 20 09 7d 0a 20 20 09 2f | 2a 0a 20 20 09 20 2a 20 | .}. ./|*. . * |
|00000c50| 57 65 20 6d 61 79 20 61 | 6c 72 65 61 64 79 20 68 |We may a|lready h|
|00000c60| 61 76 65 20 61 20 63 6f | 6e 6e 65 63 74 69 6f 6e |ave a co|nnection|
|00000c70| 0a 20 20 09 20 2a 2f 0a | 20 20 09 65 6c 73 65 20 |. . */.| .else |
|00000c80| 69 66 20 28 72 70 2d 3e | 72 5f 73 6f 63 6b 29 0a |if (rp->|r_sock).|
|00000c90| 0a 2d 20 2d 2d 2d 20 39 | 34 2c 31 30 34 20 2d 2d |.- --- 9|4,104 --|
|00000ca0| 2d 2d 2d 0a 20 20 09 09 | 72 65 74 75 72 6e 28 72 |---. ..|return(r|
|00000cb0| 70 2d 3e 72 5f 6f 70 65 | 6e 65 72 72 29 3b 0a 20 |p->r_ope|nerr);. |
|00000cc0| 20 09 7d 0a 20 20 09 2f | 2a 0a 2b 20 09 20 2a 20 | .}. ./|*.+ . * |
|00000cd0| 49 66 20 69 74 20 69 73 | 20 63 6c 6f 73 69 6e 67 |If it is| closing|
|00000ce0| 2c 20 64 6f 20 69 74 20 | 68 65 72 65 20 61 6e 64 |, do it |here and|
|00000cf0| 20 67 65 74 20 69 74 20 | 6f 76 65 72 20 77 69 74 | get it |over wit|
|00000d00| 68 2e 0a 2b 20 09 20 2a | 2f 0a 2b 20 09 65 6c 73 |h..+ . *|/.+ .els|
|00000d10| 65 20 69 66 20 28 72 70 | 2d 3e 72 5f 63 6c 6f 73 |e if (rp|->r_clos|
|00000d20| 65 29 0a 2b 20 09 09 72 | 6d 74 5f 63 6c 6f 73 65 |e).+ ..r|mt_close|
|00000d30| 68 6f 73 74 28 72 70 29 | 3b 0a 2b 20 09 2f 2a 0a |host(rp)|;.+ ./*.|
|00000d40| 20 20 09 20 2a 20 57 65 | 20 6d 61 79 20 61 6c 72 | . * We| may alr|
|00000d50| 65 61 64 79 20 68 61 76 | 65 20 61 20 63 6f 6e 6e |eady hav|e a conn|
|00000d60| 65 63 74 69 6f 6e 0a 20 | 20 09 20 2a 2f 0a 20 20 |ection. | . */. |
|00000d70| 09 65 6c 73 65 20 69 66 | 20 28 72 70 2d 3e 72 5f |.else if| (rp->r_|
|00000d80| 73 6f 63 6b 29 0a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |sock).**|********|
|00000d90| 2a 2a 2a 2a 2a 0a 2a 2a | 2a 20 31 30 33 2c 31 30 |*****.**|* 103,10|
|00000da0| 38 0a 20 20 09 09 72 70 | 2d 3e 72 5f 66 61 69 6c |8. ..rp|->r_fail|
|00000db0| 65 64 20 3d 20 46 41 4c | 53 45 3b 0a 20 20 09 7d |ed = FAL|SE;. .}|
|00000dc0| 0a 20 20 09 72 70 2d 3e | 72 5f 6f 70 65 6e 69 6e |. .rp->|r_openin|
|00000dd0| 67 20 3d 20 54 52 55 45 | 3b 0a 20 20 0a 20 20 09 |g = TRUE|;. . .|
|00000de0| 2f 2a 0a 20 20 09 20 2a | 20 70 73 65 75 64 6f 20 |/*. . *| pseudo |
|00000df0| 6c 6f 6f 70 20 74 6f 20 | 61 76 6f 69 64 20 6c 61 |loop to |avoid la|
|00000e00| 62 65 6c 73 2e 2e 2e 0a | 0a 2d 20 2d 2d 2d 20 31 |bels....|.- --- 1|
|00000e10| 31 34 2c 31 32 30 20 2d | 2d 2d 2d 2d 0a 20 20 09 |14,120 -|----. .|
|00000e20| 09 72 70 2d 3e 72 5f 66 | 61 69 6c 65 64 20 3d 20 |.rp->r_f|ailed = |
|00000e30| 46 41 4c 53 45 3b 0a 20 | 20 09 7d 0a 20 20 09 72 |FALSE;. | .}. .r|
|00000e40| 70 2d 3e 72 5f 6f 70 65 | 6e 69 6e 67 20 3d 20 54 |p->r_ope|ning = T|
|00000e50| 52 55 45 3b 0a 2b 20 09 | 72 70 2d 3e 72 5f 63 6c |RUE;.+ .|rp->r_cl|
|00000e60| 6f 73 65 20 3d 20 46 41 | 4c 53 45 3b 0a 20 20 0a |ose = FA|LSE;. .|
|00000e70| 20 20 09 2f 2a 0a 20 20 | 09 20 2a 20 70 73 65 75 | ./*. |. * pseu|
|00000e80| 64 6f 20 6c 6f 6f 70 20 | 74 6f 20 61 76 6f 69 64 |do loop |to avoid|
|00000e90| 20 6c 61 62 65 6c 73 2e | 2e 2e 0a 2a 2a 2a 2a 2a | labels.|...*****|
|00000ea0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 2a 2a 2a 20 32 |********|**.*** 2|
|00000eb0| 30 35 2c 32 31 31 0a 20 | 20 09 2f 2a 0a 20 20 09 |05,211. | ./*. .|
|00000ec0| 20 2a 20 67 65 74 20 61 | 20 63 6f 6e 6e 65 63 74 | * get a| connect|
|00000ed0| 69 6f 6e 2e 0a 20 20 09 | 20 2a 2f 0a 21 20 09 69 |ion.. .| */.! .i|
|00000ee0| 66 20 28 28 73 6f 20 3d | 20 72 70 2d 3e 72 5f 73 |f ((so =| rp->r_s|
|00000ef0| 6f 63 6b 29 20 3d 3d 20 | 4e 55 4c 4c 29 0a 20 20 |ock) == |NULL). |
|00000f00| 09 09 69 66 20 28 65 72 | 72 6f 72 20 3d 20 72 65 |..if (er|ror = re|
|00000f10| 6d 6f 74 65 5f 67 65 74 | 63 6f 6e 6e 65 63 74 69 |mote_get|connecti|
|00000f20| 6f 6e 28 73 79 73 74 65 | 6d 29 29 20 7b 0a 20 20 |on(syste|m)) {. |
|00000f30| 09 09 09 28 76 6f 69 64 | 29 20 6d 5f 66 72 65 65 |...(void|) m_free|
|00000f40| 6d 28 2a 6d 29 3b 0a 20 | 20 09 09 09 72 65 74 75 |m(*m);. | ...retu|
|00000f50| 72 6e 28 65 72 72 6f 72 | 29 3b 0a 0a 2d 20 2d 2d |rn(error|);..- --|
|00000f60| 2d 20 32 31 37 2c 32 32 | 33 20 2d 2d 2d 2d 2d 0a |- 217,22|3 -----.|
|00000f70| 20 20 09 2f 2a 0a 20 20 | 09 20 2a 20 67 65 74 20 | ./*. |. * get |
|00000f80| 61 20 63 6f 6e 6e 65 63 | 74 69 6f 6e 2e 0a 20 20 |a connec|tion.. |
|00000f90| 09 20 2a 2f 0a 21 20 09 | 69 66 20 28 28 73 6f 20 |. */.! .|if ((so |
|00000fa0| 3d 20 72 70 2d 3e 72 5f | 73 6f 63 6b 29 20 3d 3d |= rp->r_|sock) ==|
|00000fb0| 20 4e 55 4c 4c 20 7c 7c | 20 72 70 2d 3e 72 5f 63 | NULL ||| rp->r_c|
|00000fc0| 6c 6f 73 65 29 0a 20 20 | 09 09 69 66 20 28 65 72 |lose). |..if (er|
|00000fd0| 72 6f 72 20 3d 20 72 65 | 6d 6f 74 65 5f 67 65 74 |ror = re|mote_get|
|00000fe0| 63 6f 6e 6e 65 63 74 69 | 6f 6e 28 73 79 73 74 65 |connecti|on(syste|
|00000ff0| 6d 29 29 20 7b 0a 20 20 | 09 09 09 28 76 6f 69 64 |m)) {. |...(void|
|00001000| 29 20 6d 5f 66 72 65 65 | 6d 28 2a 6d 29 3b 0a 20 |) m_free|m(*m);. |
|00001010| 20 09 09 09 72 65 74 75 | 72 6e 28 65 72 72 6f 72 | ...retu|rn(error|
|00001020| 29 3b 0a 0a 43 68 61 6e | 67 65 73 20 74 6f 20 72 |);..Chan|ges to r|
|00001030| 65 6d 6f 74 65 2f 72 6d | 74 5f 67 65 6e 65 72 69 |emote/rm|t_generi|
|00001040| 63 2e 63 3a 0a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |c.c:.***|********|
|00001050| 2a 2a 2a 2a 0a 2a 2a 2a | 20 31 31 2c 31 37 0a 20 |****.***| 11,17. |
|00001060| 20 20 2a 20 6d 61 79 20 | 62 65 20 63 6f 70 69 65 | * may |be copie|
|00001070| 64 2c 20 6d 6f 64 69 66 | 69 65 64 20 6f 72 20 75 |d, modif|ied or u|
|00001080| 73 65 64 20 69 6e 20 61 | 6e 79 20 77 61 79 2c 20 |sed in a|ny way, |
|00001090| 77 69 74 68 6f 75 74 20 | 66 65 65 2c 20 70 72 6f |without |fee, pro|
|000010a0| 76 69 64 65 64 20 74 68 | 69 73 0a 20 20 20 2a 20 |vided th|is. * |
|000010b0| 6e 6f 74 69 63 65 20 72 | 65 6d 61 69 6e 73 20 61 |notice r|emains a|
|000010c0| 6e 20 75 6e 61 6c 74 65 | 72 65 64 20 70 61 72 74 |n unalte|red part|
|000010d0| 20 6f 66 20 74 68 65 20 | 73 6f 66 74 77 61 72 65 | of the |software|
|000010e0| 2e 0a 20 20 20 2a 0a 21 | 20 20 2a 20 24 48 65 61 |.. *.!| * $Hea|
|000010f0| 64 65 72 3a 20 72 6d 74 | 5f 67 65 6e 65 72 69 63 |der: rmt|_generic|
|00001100| 2e 63 2c 76 20 32 2e 33 | 20 38 36 2f 30 32 2f 31 |.c,v 2.3| 86/02/1|
|00001110| 37 20 31 34 3a 33 36 3a | 33 37 20 74 6f 64 64 62 |7 14:36:|37 toddb|
|00001120| 20 45 78 70 20 24 0a 20 | 20 20 2a 0a 20 20 20 2a | Exp $. | *. *|
|00001130| 20 24 4c 6f 67 3a 09 72 | 6d 74 5f 67 65 6e 65 72 | $Log:.r|mt_gener|
|00001140| 69 63 2e 63 2c 76 20 24 | 0a 20 20 20 2a 20 52 65 |ic.c,v $|. * Re|
|00001150| 76 69 73 69 6f 6e 20 32 | 2e 33 20 20 38 36 2f 30 |vision 2|.3 86/0|
|00001160| 32 2f 31 37 20 20 31 34 | 3a 33 36 3a 33 37 20 20 |2/17 14|:36:37 |
|00001170| 74 6f 64 64 62 0a 0a 2d | 20 2d 2d 2d 20 31 31 2c |toddb..-| --- 11,|
|00001180| 31 37 20 2d 2d 2d 2d 2d | 0a 20 20 20 2a 20 6d 61 |17 -----|. * ma|
|00001190| 79 20 62 65 20 63 6f 70 | 69 65 64 2c 20 6d 6f 64 |y be cop|ied, mod|
|000011a0| 69 66 69 65 64 20 6f 72 | 20 75 73 65 64 20 69 6e |ified or| used in|
|000011b0| 20 61 6e 79 20 77 61 79 | 2c 20 77 69 74 68 6f 75 | any way|, withou|
|000011c0| 74 20 66 65 65 2c 20 70 | 72 6f 76 69 64 65 64 20 |t fee, p|rovided |
|000011d0| 74 68 69 73 0a 20 20 20 | 2a 20 6e 6f 74 69 63 65 |this. |* notice|
|000011e0| 20 72 65 6d 61 69 6e 73 | 20 61 6e 20 75 6e 61 6c | remains| an unal|
|000011f0| 74 65 72 65 64 20 70 61 | 72 74 20 6f 66 20 74 68 |tered pa|rt of th|
|00001200| 65 20 73 6f 66 74 77 61 | 72 65 2e 0a 20 20 20 2a |e softwa|re.. *|
|00001210| 0a 21 20 20 2a 20 24 48 | 65 61 64 65 72 3a 20 72 |.! * $H|eader: r|
|00001220| 6d 74 5f 67 65 6e 65 72 | 69 63 2e 63 2c 76 20 32 |mt_gener|ic.c,v 2|
|00001230| 2e 34 20 38 36 2f 30 32 | 2f 31 37 20 31 37 3a 34 |.4 86/02|/17 17:4|
|00001240| 36 3a 30 37 20 74 6f 64 | 64 62 20 45 78 70 20 24 |6:07 tod|db Exp $|
|00001250| 0a 20 20 20 2a 0a 20 20 | 20 2a 20 24 4c 6f 67 3a |. *. | * $Log:|
|00001260| 09 72 6d 74 5f 67 65 6e | 65 72 69 63 2e 63 2c 76 |.rmt_gen|eric.c,v|
|00001270| 20 24 0a 20 20 20 2a 20 | 52 65 76 69 73 69 6f 6e | $. * |Revision|
|00001280| 20 32 2e 34 20 20 38 36 | 2f 30 32 2f 31 37 20 20 | 2.4 86|/02/17 |
|00001290| 31 37 3a 34 36 3a 30 37 | 20 20 74 6f 64 64 62 0a |17:46:07| toddb.|
|000012a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|000012b0| 2a 2a 2a 20 31 34 2c 31 | 39 0a 20 20 20 2a 20 24 |*** 14,1|9. * $|
|000012c0| 48 65 61 64 65 72 3a 20 | 72 6d 74 5f 67 65 6e 65 |Header: |rmt_gene|
|000012d0| 72 69 63 2e 63 2c 76 20 | 32 2e 33 20 38 36 2f 30 |ric.c,v |2.3 86/0|
|000012e0| 32 2f 31 37 20 31 34 3a | 33 36 3a 33 37 20 74 6f |2/17 14:|36:37 to|
|000012f0| 64 64 62 20 45 78 70 20 | 24 0a 20 20 20 2a 0a 20 |ddb Exp |$. *. |
|00001300| 20 20 2a 20 24 4c 6f 67 | 3a 09 72 6d 74 5f 67 65 | * $Log|:.rmt_ge|
|00001310| 6e 65 72 69 63 2e 63 2c | 76 20 24 0a 20 20 20 2a |neric.c,|v $. *|
|00001320| 20 52 65 76 69 73 69 6f | 6e 20 32 2e 33 20 20 38 | Revisio|n 2.3 8|
|00001330| 36 2f 30 32 2f 31 37 20 | 20 31 34 3a 33 36 3a 33 |6/02/17 | 14:36:3|
|00001340| 37 20 20 74 6f 64 64 62 | 0a 20 20 20 2a 20 46 69 |7 toddb|. * Fi|
|00001350| 78 20 73 6f 20 74 68 61 | 74 20 74 68 65 20 6b 65 |x so tha|t the ke|
|00001360| 72 6e 65 6c 20 70 72 6f | 70 65 72 6c 79 20 72 65 |rnel pro|perly re|
|00001370| 61 63 74 73 20 74 6f 20 | 6e 6f 6e 65 78 69 73 74 |acts to |nonexist|
|00001380| 61 6e 74 20 68 6f 73 74 | 73 0a 20 20 20 2a 20 6f |ant host|s. * o|
|00001390| 6e 20 74 68 65 20 67 65 | 6e 65 72 69 63 20 6d 6f |n the ge|neric mo|
|000013a0| 75 6e 74 20 70 6f 69 6e | 74 3a 20 73 6f 63 6b 61 |unt poin|t: socka|
|000013b0| 72 67 73 28 29 20 77 61 | 73 20 62 65 69 6e 67 20 |rgs() wa|s being |
|000013c0| 63 61 6c 6c 65 64 20 69 | 6e 20 74 68 65 0a 0a 2d |called i|n the..-|
|000013d0| 20 2d 2d 2d 20 31 34 2c | 32 33 20 2d 2d 2d 2d 2d | --- 14,|23 -----|
|000013e0| 0a 20 20 20 2a 20 24 48 | 65 61 64 65 72 3a 20 72 |. * $H|eader: r|
|000013f0| 6d 74 5f 67 65 6e 65 72 | 69 63 2e 63 2c 76 20 32 |mt_gener|ic.c,v 2|
|00001400| 2e 34 20 38 36 2f 30 32 | 2f 31 37 20 31 37 3a 34 |.4 86/02|/17 17:4|
|00001410| 36 3a 30 37 20 74 6f 64 | 64 62 20 45 78 70 20 24 |6:07 tod|db Exp $|
|00001420| 0a 20 20 20 2a 0a 20 20 | 20 2a 20 24 4c 6f 67 3a |. *. | * $Log:|
|00001430| 09 72 6d 74 5f 67 65 6e | 65 72 69 63 2e 63 2c 76 |.rmt_gen|eric.c,v|
|00001440| 20 24 0a 2b 20 20 2a 20 | 52 65 76 69 73 69 6f 6e | $.+ * |Revision|
|00001450| 20 32 2e 34 20 20 38 36 | 2f 30 32 2f 31 37 20 20 | 2.4 86|/02/17 |
|00001460| 31 37 3a 34 36 3a 30 37 | 20 20 74 6f 64 64 62 0a |17:46:07| toddb.|
|00001470| 2b 20 20 2a 20 57 65 20 | 6e 6f 20 6c 6f 6e 67 65 |+ * We |no longe|
|00001480| 72 20 73 74 6f 70 20 70 | 72 6f 63 65 73 73 69 6e |r stop p|rocessin|
|00001490| 67 20 69 6e 20 69 73 72 | 65 6d 6f 74 65 28 29 20 |g in isr|emote() |
|000014a0| 69 66 20 74 68 65 20 63 | 6f 6e 6e 65 63 74 69 6f |if the c|onnectio|
|000014b0| 6e 20 69 73 20 69 6e 0a | 2b 20 20 2a 20 74 68 65 |n is in.|+ * the|
|000014c0| 20 6d 69 64 64 6c 65 20 | 6f 66 20 63 6c 6f 73 69 | middle |of closi|
|000014d0| 6e 67 2e 0a 2b 20 20 2a | 20 0a 20 20 20 2a 20 52 |ng..+ *| . * R|
|000014e0| 65 76 69 73 69 6f 6e 20 | 32 2e 33 20 20 38 36 2f |evision |2.3 86/|
|000014f0| 30 32 2f 31 37 20 20 31 | 34 3a 33 36 3a 33 37 20 |02/17 1|4:36:37 |
|00001500| 20 74 6f 64 64 62 0a 20 | 20 20 2a 20 46 69 78 20 | toddb. | * Fix |
|00001510| 73 6f 20 74 68 61 74 20 | 74 68 65 20 6b 65 72 6e |so that |the kern|
|00001520| 65 6c 20 70 72 6f 70 65 | 72 6c 79 20 72 65 61 63 |el prope|rly reac|
|00001530| 74 73 20 74 6f 20 6e 6f | 6e 65 78 69 73 74 61 6e |ts to no|nexistan|
|00001540| 74 20 68 6f 73 74 73 0a | 20 20 20 2a 20 6f 6e 20 |t hosts.| * on |
|00001550| 74 68 65 20 67 65 6e 65 | 72 69 63 20 6d 6f 75 6e |the gene|ric moun|
|00001560| 74 20 70 6f 69 6e 74 3a | 20 73 6f 63 6b 61 72 67 |t point:| sockarg|
|00001570| 73 28 29 20 77 61 73 20 | 62 65 69 6e 67 20 63 61 |s() was |being ca|
|00001580| 6c 6c 65 64 20 69 6e 20 | 74 68 65 0a 2a 2a 2a 2a |lled in |the.****|
|00001590| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 2a 2a 2a 20 |********|***.*** |
|000015a0| 34 34 31 2c 34 34 38 0a | 20 20 09 7d 0a 20 20 0a |441,448.| .}. .|
|000015b0| 20 20 09 2f 2a 0a 21 20 | 09 20 2a 20 57 65 20 68 | ./*.! |. * We h|
|000015c0| 61 76 65 20 61 20 72 65 | 6d 6f 74 65 20 6d 6f 75 |ave a re|mote mou|
|000015d0| 6e 74 20 70 6f 69 6e 74 | 2e 20 20 48 6f 77 65 76 |nt point|. Howev|
|000015e0| 65 72 2c 20 69 74 20 6d | 61 79 20 62 65 20 69 6e |er, it m|ay be in|
|000015f0| 20 74 68 65 20 6d 69 64 | 73 74 20 6f 66 0a 21 20 | the mid|st of.! |
|00001600| 09 20 2a 20 73 68 75 74 | 74 69 6e 67 20 64 6f 77 |. * shut|ting dow|
|00001610| 6e 20 66 72 6f 6d 20 73 | 6f 6d 65 20 65 72 72 6f |n from s|ome erro|
|00001620| 72 2e 20 20 54 68 69 73 | 20 6d 6f 75 6e 74 20 70 |r. This| mount p|
|00001630| 6f 69 6e 74 20 6d 61 79 | 20 61 6c 73 6f 20 62 65 |oint may| also be|
|00001640| 0a 20 20 09 20 2a 20 61 | 20 22 67 65 6e 65 72 69 |. . * a| "generi|
|00001650| 63 22 20 6d 6f 75 6e 74 | 20 70 6f 69 6e 74 2c 20 |c" mount| point, |
|00001660| 69 6e 20 77 68 69 63 68 | 20 63 61 73 65 2c 20 77 |in which| case, w|
|00001670| 65 20 6d 75 73 74 20 66 | 69 67 75 72 65 20 6f 75 |e must f|igure ou|
|00001680| 74 0a 20 20 09 20 2a 20 | 74 68 65 20 68 6f 73 74 |t. . * |the host|
|00001690| 2e 0a 20 20 09 20 2a 2f | 0a 0a 2d 20 2d 2d 2d 20 |.. . */|..- --- |
|000016a0| 34 34 35 2c 34 35 31 20 | 2d 2d 2d 2d 2d 0a 20 20 |445,451 |-----. |
|000016b0| 09 7d 0a 20 20 0a 20 20 | 09 2f 2a 0a 21 20 09 20 |.}. . |./*.! . |
|000016c0| 2a 20 57 65 20 68 61 76 | 65 20 61 20 72 65 6d 6f |* We hav|e a remo|
|000016d0| 74 65 20 6d 6f 75 6e 74 | 20 70 6f 69 6e 74 2e 20 |te mount| point. |
|000016e0| 20 20 54 68 69 73 20 6d | 6f 75 6e 74 20 70 6f 69 | This m|ount poi|
|000016f0| 6e 74 20 6d 61 79 20 62 | 65 0a 20 20 09 20 2a 20 |nt may b|e. . * |
|00001700| 61 20 22 67 65 6e 65 72 | 69 63 22 20 6d 6f 75 6e |a "gener|ic" moun|
|00001710| 74 20 70 6f 69 6e 74 2c | 20 69 6e 20 77 68 69 63 |t point,| in whic|
|00001720| 68 20 63 61 73 65 2c 20 | 77 65 20 6d 75 73 74 20 |h case, |we must |
|00001730| 66 69 67 75 72 65 20 6f | 75 74 0a 20 20 09 20 2a |figure o|ut. . *|
|00001740| 20 74 68 65 20 68 6f 73 | 74 2e 0a 20 20 09 20 2a | the hos|t.. . *|
|00001750| 2f 0a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/.******|********|
|00001760| 2a 0a 2a 2a 2a 20 34 35 | 32 2c 34 36 32 0a 20 20 |*.*** 45|2,462. |
|00001770| 09 09 09 64 65 62 75 67 | 38 28 22 69 73 72 65 6d |...debug|8("isrem|
|00001780| 6f 74 65 3a 20 63 61 6e | 27 74 20 6d 61 70 20 70 |ote: can|'t map p|
|00001790| 61 74 68 20 25 73 5c 6e | 22 2c 20 70 61 74 68 29 |ath %s\n|", path)|
|000017a0| 3b 0a 20 20 09 09 09 72 | 65 74 75 72 6e 28 54 52 |;. ...r|eturn(TR|
|000017b0| 55 45 29 3b 0a 20 20 09 | 09 7d 0a 2d 20 2d 20 09 |UE);. .|.}.- - .|
|000017c0| 7d 0a 2d 20 2d 20 09 69 | 66 20 28 72 70 2d 3e 72 |}.- - .i|f (rp->r|
|000017d0| 5f 63 6c 6f 73 65 29 20 | 7b 0a 2d 20 2d 20 09 09 |_close) |{.- - ..|
|000017e0| 64 65 62 75 67 38 28 22 | 69 73 72 65 6d 6f 74 65 |debug8("|isremote|
|000017f0| 3a 20 68 6f 73 74 20 25 | 73 20 69 73 20 63 6c 6f |: host %|s is clo|
|00001800| 73 69 6e 67 5c 6e 22 2c | 20 72 70 2d 3e 72 5f 6d |sing\n",| rp->r_m|
|00001810| 6e 74 70 61 74 68 29 3b | 0a 2d 20 2d 20 09 09 75 |ntpath);|.- - ..u|
|00001820| 2e 75 5f 65 72 72 6f 72 | 20 3d 20 45 4e 4f 52 45 |.u_error| = ENORE|
|00001830| 4d 4f 54 45 46 53 3b 0a | 2d 20 2d 20 09 09 72 65 |MOTEFS;.|- - ..re|
|00001840| 74 75 72 6e 28 54 52 55 | 45 29 3b 0a 20 20 09 7d |turn(TRU|E);. .}|
|00001850| 0a 20 20 09 75 2e 75 5f | 65 72 72 6f 72 20 3d 20 |. .u.u_|error = |
|00001860| 45 49 53 52 45 4d 4f 54 | 45 3b 0a 20 20 09 72 65 |EISREMOT|E;. .re|
|00001870| 6d 6f 74 65 5f 73 79 73 | 69 6e 64 65 78 20 3d 20 |mote_sys|index = |
|00001880| 73 79 73 6e 75 6d 3b 0a | 0a 2d 20 2d 2d 2d 20 34 |sysnum;.|.- --- 4|
|00001890| 35 35 2c 34 36 30 20 2d | 2d 2d 2d 2d 0a 20 20 09 |55,460 -|----. .|
|000018a0| 09 09 64 65 62 75 67 38 | 28 22 69 73 72 65 6d 6f |..debug8|("isremo|
|000018b0| 74 65 3a 20 63 61 6e 27 | 74 20 6d 61 70 20 70 61 |te: can'|t map pa|
|000018c0| 74 68 20 25 73 5c 6e 22 | 2c 20 70 61 74 68 29 3b |th %s\n"|, path);|
|000018d0| 0a 20 20 09 09 09 72 65 | 74 75 72 6e 28 54 52 55 |. ...re|turn(TRU|
|000018e0| 45 29 3b 0a 20 20 09 09 | 7d 0a 20 20 09 7d 0a 20 |E);. ..|}. .}. |
|000018f0| 20 09 75 2e 75 5f 65 72 | 72 6f 72 20 3d 20 45 49 | .u.u_er|ror = EI|
|00001900| 53 52 45 4d 4f 54 45 3b | 0a 20 20 09 72 65 6d 6f |SREMOTE;|. .remo|
|00001910| 74 65 5f 73 79 73 69 6e | 64 65 78 20 3d 20 73 79 |te_sysin|dex = sy|
|00001920| 73 6e 75 6d 3b 0a 0a 44 | 65 6e 6e 69 73 20 52 6f |snum;..D|ennis Ro|
|00001930| 63 6b 77 65 6c 6c 20 40 | 20 63 73 6e 65 74 20 66 |ckwell @| csnet f|
|00001940| 6f 75 6e 64 20 6f 6e 65 | 20 6f 66 20 74 68 65 20 |ound one| of the |
|00001950| 63 6f 75 6e 74 69 6e 67 | 20 62 75 67 73 20 69 6e |counting| bugs in|
|00001960| 20 74 68 65 20 52 46 53 | 0a 62 6f 6f 6b 6b 65 65 | the RFS|.bookkee|
|00001970| 70 70 69 6e 67 2e 20 20 | 49 20 68 61 64 20 66 6f |pping. |I had fo|
|00001980| 72 67 6f 74 74 65 6e 20 | 61 20 63 61 6c 6c 20 74 |rgotten |a call t|
|00001990| 6f 20 72 6d 74 5f 75 6e | 75 73 65 28 29 20 69 66 |o rmt_un|use() if|
|000019a0| 20 69 74 20 69 73 20 6e | 6f 74 20 74 69 6d 65 0a | it is n|ot time.|
|000019b0| 66 6f 72 20 61 20 72 65 | 74 72 79 2e 20 20 48 65 |for a re|try. He|
|000019c0| 72 65 20 61 72 65 20 74 | 68 65 20 63 68 61 6e 67 |re are t|he chang|
|000019d0| 65 73 20 74 6f 20 74 68 | 65 20 6b 65 72 6e 65 6c |es to th|e kernel|
|000019e0| 20 66 69 6c 65 20 72 65 | 6d 6f 74 65 2f 72 6d 74 | file re|mote/rmt|
|000019f0| 5f 69 6f 2e 63 3a 0a 0a | 2a 2a 2a 2a 2a 2a 2a 2a |_io.c:..|********|
|00001a00| 2a 2a 2a 2a 2a 2a 2a 0a | 2a 2a 2a 20 31 31 2c 31 |*******.|*** 11,1|
|00001a10| 37 0a 20 20 20 2a 20 6d | 61 79 20 62 65 20 63 6f |7. * m|ay be co|
|00001a20| 70 69 65 64 2c 20 6d 6f | 64 69 66 69 65 64 20 6f |pied, mo|dified o|
|00001a30| 72 20 75 73 65 64 20 69 | 6e 20 61 6e 79 20 77 61 |r used i|n any wa|
|00001a40| 79 2c 20 77 69 74 68 6f | 75 74 20 66 65 65 2c 20 |y, witho|ut fee, |
|00001a50| 70 72 6f 76 69 64 65 64 | 20 74 68 69 73 0a 20 20 |provided| this. |
|00001a60| 20 2a 20 6e 6f 74 69 63 | 65 20 72 65 6d 61 69 6e | * notic|e remain|
|00001a70| 73 20 61 6e 20 75 6e 61 | 6c 74 65 72 65 64 20 70 |s an una|ltered p|
|00001a80| 61 72 74 20 6f 66 20 74 | 68 65 20 73 6f 66 74 77 |art of t|he softw|
|00001a90| 61 72 65 2e 0a 20 20 20 | 2a 0a 21 20 20 2a 20 24 |are.. |*.! * $|
|00001aa0| 48 65 61 64 65 72 3a 20 | 72 6d 74 5f 69 6f 2e 63 |Header: |rmt_io.c|
|00001ab0| 2c 76 20 32 2e 32 20 38 | 36 2f 30 31 2f 32 31 20 |,v 2.2 8|6/01/21 |
|00001ac0| 31 31 3a 30 35 3a 34 31 | 20 74 6f 64 64 62 20 45 |11:05:41| toddb E|
|00001ad0| 78 70 20 24 0a 20 20 20 | 2a 0a 20 20 20 2a 20 24 |xp $. |*. * $|
|00001ae0| 4c 6f 67 3a 09 72 6d 74 | 5f 69 6f 2e 63 2c 76 20 |Log:.rmt|_io.c,v |
|00001af0| 24 0a 20 20 20 2a 20 52 | 65 76 69 73 69 6f 6e 20 |$. * R|evision |
|00001b00| 32 2e 32 20 20 38 36 2f | 30 31 2f 32 31 20 20 31 |2.2 86/|01/21 1|
|00001b10| 31 3a 30 35 3a 34 31 20 | 20 74 6f 64 64 62 0a 0a |1:05:41 | toddb..|
|00001b20| 2d 20 2d 2d 2d 20 31 31 | 2c 31 37 20 2d 2d 2d 2d |- --- 11|,17 ----|
|00001b30| 2d 0a 20 20 20 2a 20 6d | 61 79 20 62 65 20 63 6f |-. * m|ay be co|
|00001b40| 70 69 65 64 2c 20 6d 6f | 64 69 66 69 65 64 20 6f |pied, mo|dified o|
|00001b50| 72 20 75 73 65 64 20 69 | 6e 20 61 6e 79 20 77 61 |r used i|n any wa|
|00001b60| 79 2c 20 77 69 74 68 6f | 75 74 20 66 65 65 2c 20 |y, witho|ut fee, |
|00001b70| 70 72 6f 76 69 64 65 64 | 20 74 68 69 73 0a 20 20 |provided| this. |
|00001b80| 20 2a 20 6e 6f 74 69 63 | 65 20 72 65 6d 61 69 6e | * notic|e remain|
|00001b90| 73 20 61 6e 20 75 6e 61 | 6c 74 65 72 65 64 20 70 |s an una|ltered p|
|00001ba0| 61 72 74 20 6f 66 20 74 | 68 65 20 73 6f 66 74 77 |art of t|he softw|
|00001bb0| 61 72 65 2e 0a 20 20 20 | 2a 0a 21 20 20 2a 20 24 |are.. |*.! * $|
|00001bc0| 48 65 61 64 65 72 3a 20 | 72 6d 74 5f 69 6f 2e 63 |Header: |rmt_io.c|
|00001bd0| 2c 76 20 32 2e 33 20 38 | 36 2f 30 32 2f 30 34 20 |,v 2.3 8|6/02/04 |
|00001be0| 31 30 3a 32 36 3a 34 33 | 20 74 6f 64 64 62 20 45 |10:26:43| toddb E|
|00001bf0| 78 70 20 24 0a 20 20 20 | 2a 0a 20 20 20 2a 20 24 |xp $. |*. * $|
|00001c00| 4c 6f 67 3a 09 72 6d 74 | 5f 69 6f 2e 63 2c 76 20 |Log:.rmt|_io.c,v |
|00001c10| 24 0a 20 20 20 2a 20 52 | 65 76 69 73 69 6f 6e 20 |$. * R|evision |
|00001c20| 32 2e 33 20 20 38 36 2f | 30 32 2f 30 34 20 20 31 |2.3 86/|02/04 1|
|00001c30| 30 3a 32 36 3a 34 33 20 | 20 74 6f 64 64 62 0a 2a |0:26:43 | toddb.*|
|00001c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 2a |********|******.*|
|00001c50| 2a 2a 20 31 34 2c 31 39 | 0a 20 20 20 2a 20 24 48 |** 14,19|. * $H|
|00001c60| 65 61 64 65 72 3a 20 72 | 6d 74 5f 69 6f 2e 63 2c |eader: r|mt_io.c,|
|00001c70| 76 20 32 2e 32 20 38 36 | 2f 30 31 2f 32 31 20 31 |v 2.2 86|/01/21 1|
|00001c80| 31 3a 30 35 3a 34 31 20 | 74 6f 64 64 62 20 45 78 |1:05:41 |toddb Ex|
|00001c90| 70 20 24 0a 20 20 20 2a | 0a 20 20 20 2a 20 24 4c |p $. *|. * $L|
|00001ca0| 6f 67 3a 09 72 6d 74 5f | 69 6f 2e 63 2c 76 20 24 |og:.rmt_|io.c,v $|
|00001cb0| 0a 20 20 20 2a 20 52 65 | 76 69 73 69 6f 6e 20 32 |. * Re|vision 2|
|00001cc0| 2e 32 20 20 38 36 2f 30 | 31 2f 32 31 20 20 31 31 |.2 86/0|1/21 11|
|00001cd0| 3a 30 35 3a 34 31 20 20 | 74 6f 64 64 62 0a 20 20 |:05:41 |toddb. |
|00001ce0| 20 2a 20 4d 69 73 73 69 | 6e 67 20 61 72 67 75 6d | * Missi|ng argum|
|00001cf0| 65 6e 74 20 74 6f 20 73 | 6c 65 65 70 28 29 20 69 |ent to s|leep() i|
|00001d00| 6e 20 72 6d 74 5f 67 65 | 74 63 6f 6e 6e 65 63 74 |n rmt_ge|tconnect|
|00001d10| 69 6f 6e 28 29 2e 0a 20 | 20 20 2a 20 0a 0a 2d 20 |ion().. | * ..- |
|00001d20| 2d 2d 2d 20 31 34 2c 32 | 33 20 2d 2d 2d 2d 2d 0a |--- 14,2|3 -----.|
|00001d30| 20 20 20 2a 20 24 48 65 | 61 64 65 72 3a 20 72 6d | * $He|ader: rm|
|00001d40| 74 5f 69 6f 2e 63 2c 76 | 20 32 2e 33 20 38 36 2f |t_io.c,v| 2.3 86/|
|00001d50| 30 32 2f 30 34 20 31 30 | 3a 32 36 3a 34 33 20 74 |02/04 10|:26:43 t|
|00001d60| 6f 64 64 62 20 45 78 70 | 20 24 0a 20 20 20 2a 0a |oddb Exp| $. *.|
|00001d70| 20 20 20 2a 20 24 4c 6f | 67 3a 09 72 6d 74 5f 69 | * $Lo|g:.rmt_i|
|00001d80| 6f 2e 63 2c 76 20 24 0a | 2b 20 20 2a 20 52 65 76 |o.c,v $.|+ * Rev|
|00001d90| 69 73 69 6f 6e 20 32 2e | 33 20 20 38 36 2f 30 32 |ision 2.|3 86/02|
|00001da0| 2f 30 34 20 20 31 30 3a | 32 36 3a 34 33 20 20 74 |/04 10:|26:43 t|
|00001db0| 6f 64 64 62 0a 2b 20 20 | 2a 20 41 64 64 65 64 20 |oddb.+ |* Added |
|00001dc0| 61 20 6d 69 73 73 69 6e | 67 20 72 6d 74 5f 75 6e |a missin|g rmt_un|
|00001dd0| 75 73 65 28 29 20 63 61 | 6c 6c 20 77 68 65 6e 20 |use() ca|ll when |
|00001de0| 69 74 20 69 73 20 74 6f | 6f 20 73 6f 6f 6e 20 74 |it is to|o soon t|
|00001df0| 6f 20 63 61 6c 6c 20 61 | 20 68 6f 73 74 0a 2b 20 |o call a| host.+ |
|00001e00| 20 2a 20 74 68 61 74 20 | 68 61 73 20 66 61 69 6c | * that |has fail|
|00001e10| 65 64 20 61 20 63 6f 6e | 6e 65 63 74 69 6f 6e 2e |ed a con|nection.|
|00001e20| 20 20 43 6f 6e 74 72 69 | 62 75 74 65 64 20 62 79 | Contri|buted by|
|00001e30| 20 44 65 6e 6e 69 73 20 | 52 6f 63 6b 77 65 6c 6c | Dennis |Rockwell|
|00001e40| 20 40 20 63 73 6e 65 74 | 2e 0a 2b 20 20 2a 20 0a | @ csnet|..+ * .|
|00001e50| 20 20 20 2a 20 52 65 76 | 69 73 69 6f 6e 20 32 2e | * Rev|ision 2.|
|00001e60| 32 20 20 38 36 2f 30 31 | 2f 32 31 20 20 31 31 3a |2 86/01|/21 11:|
|00001e70| 30 35 3a 34 31 20 20 74 | 6f 64 64 62 0a 20 20 20 |05:41 t|oddb. |
|00001e80| 2a 20 4d 69 73 73 69 6e | 67 20 61 72 67 75 6d 65 |* Missin|g argume|
|00001e90| 6e 74 20 74 6f 20 73 6c | 65 65 70 28 29 20 69 6e |nt to sl|eep() in|
|00001ea0| 20 72 6d 74 5f 67 65 74 | 63 6f 6e 6e 65 63 74 69 | rmt_get|connecti|
|00001eb0| 6f 6e 28 29 2e 0a 20 20 | 20 2a 20 0a 2a 2a 2a 2a |on().. | * .****|
|00001ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 2a 2a 2a 20 |********|***.*** |
|00001ed0| 39 32 2c 39 38 0a 20 20 | 09 20 2a 20 49 66 20 77 |92,98. |. * If w|
|00001ee0| 65 20 68 61 76 65 20 66 | 61 69 6c 65 64 20 70 72 |e have f|ailed pr|
|00001ef0| 65 76 69 6f 75 73 6c 79 | 2c 20 69 74 20 6d 61 79 |eviously|, it may|
|00001f00| 20 62 65 20 74 69 6d 65 | 20 74 6f 20 74 72 79 20 | be time| to try |
|00001f10| 61 67 61 69 6e 2e 0a 20 | 20 09 20 2a 2f 0a 20 20 |again.. | . */. |
|00001f20| 09 65 6c 73 65 20 69 66 | 20 28 72 70 2d 3e 72 5f |.else if| (rp->r_|
|00001f30| 66 61 69 6c 65 64 29 20 | 7b 0a 21 20 09 09 69 66 |failed) |{.! ..if|
|00001f40| 20 28 72 70 2d 3e 72 5f | 61 67 65 20 3e 20 74 69 | (rp->r_|age > ti|
|00001f50| 6d 65 2e 74 76 5f 73 65 | 63 29 0a 20 20 09 09 09 |me.tv_se|c). ...|
|00001f60| 72 65 74 75 72 6e 28 72 | 70 2d 3e 72 5f 6f 70 65 |return(r|p->r_ope|
|00001f70| 6e 65 72 72 29 3b 0a 20 | 20 09 09 72 70 2d 3e 72 |nerr);. | ..rp->r|
|00001f80| 5f 66 61 69 6c 65 64 20 | 3d 20 46 41 4c 53 45 3b |_failed |= FALSE;|
|00001f90| 0a 20 20 09 7d 0a 0a 2d | 20 2d 2d 2d 20 39 36 2c |. .}..-| --- 96,|
|00001fa0| 31 30 33 20 2d 2d 2d 2d | 2d 0a 20 20 09 20 2a 20 |103 ----|-. . * |
|00001fb0| 49 66 20 77 65 20 68 61 | 76 65 20 66 61 69 6c 65 |If we ha|ve faile|
|00001fc0| 64 20 70 72 65 76 69 6f | 75 73 6c 79 2c 20 69 74 |d previo|usly, it|
|00001fd0| 20 6d 61 79 20 62 65 20 | 74 69 6d 65 20 74 6f 20 | may be |time to |
|00001fe0| 74 72 79 20 61 67 61 69 | 6e 2e 0a 20 20 09 20 2a |try agai|n.. . *|
|00001ff0| 2f 0a 20 20 09 65 6c 73 | 65 20 69 66 20 28 72 70 |/. .els|e if (rp|
|00002000| 2d 3e 72 5f 66 61 69 6c | 65 64 29 20 7b 0a 21 20 |->r_fail|ed) {.! |
|00002010| 09 09 69 66 20 28 72 70 | 2d 3e 72 5f 61 67 65 20 |..if (rp|->r_age |
|00002020| 3e 20 74 69 6d 65 2e 74 | 76 5f 73 65 63 29 20 7b |> time.t|v_sec) {|
|00002030| 0a 21 20 09 09 09 72 6d | 74 5f 75 6e 75 73 65 28 |.! ...rm|t_unuse(|
|00002040| 72 70 2c 20 73 79 73 74 | 65 6d 29 3b 0a 20 20 09 |rp, syst|em);. .|
|00002050| 09 09 72 65 74 75 72 6e | 28 72 70 2d 3e 72 5f 6f |..return|(rp->r_o|
|00002060| 70 65 6e 65 72 72 29 3b | 0a 20 20 09 09 7d 0a 20 |penerr);|. ..}. |
|00002070| 20 09 09 72 70 2d 3e 72 | 5f 66 61 69 6c 65 64 20 | ..rp->r|_failed |
|00002080| 3d 20 46 41 4c 53 45 3b | 0a 2a 2a 2a 2a 2a 2a 2a |= FALSE;|.*******|
|00002090| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 2a 2a 2a 20 39 34 2c |********|.*** 94,|
|000020a0| 39 39 0a 20 20 09 65 6c | 73 65 20 69 66 20 28 72 |99. .el|se if (r|
|000020b0| 70 2d 3e 72 5f 66 61 69 | 6c 65 64 29 20 7b 0a 20 |p->r_fai|led) {. |
|000020c0| 20 09 09 69 66 20 28 72 | 70 2d 3e 72 5f 61 67 65 | ..if (r|p->r_age|
|000020d0| 20 3e 20 74 69 6d 65 2e | 74 76 5f 73 65 63 29 0a | > time.|tv_sec).|
|000020e0| 20 20 09 09 09 72 65 74 | 75 72 6e 28 72 70 2d 3e | ...ret|urn(rp->|
|000020f0| 72 5f 6f 70 65 6e 65 72 | 72 29 3b 0a 20 20 09 09 |r_opener|r);. ..|
|00002100| 72 70 2d 3e 72 5f 66 61 | 69 6c 65 64 20 3d 20 46 |rp->r_fa|iled = F|
|00002110| 41 4c 53 45 3b 0a 20 20 | 09 7d 0a 20 20 09 72 70 |ALSE;. |.}. .rp|
|00002120| 2d 3e 72 5f 6f 70 65 6e | 69 6e 67 20 3d 20 54 52 |->r_open|ing = TR|
|00002130| 55 45 3b 0a 0a 2d 20 2d | 2d 2d 20 39 39 2c 31 30 |UE;..- -|-- 99,10|
|00002140| 35 20 2d 2d 2d 2d 2d 0a | 20 20 09 09 69 66 20 28 |5 -----.| ..if (|
|00002150| 72 70 2d 3e 72 5f 61 67 | 65 20 3e 20 74 69 6d 65 |rp->r_ag|e > time|
|00002160| 2e 74 76 5f 73 65 63 29 | 20 7b 0a 20 20 09 09 09 |.tv_sec)| {. ...|
|00002170| 72 6d 74 5f 75 6e 75 73 | 65 28 72 70 2c 20 73 79 |rmt_unus|e(rp, sy|
|00002180| 73 74 65 6d 29 3b 0a 20 | 20 09 09 09 72 65 74 75 |stem);. | ...retu|
|00002190| 72 6e 28 72 70 2d 3e 72 | 5f 6f 70 65 6e 65 72 72 |rn(rp->r|_openerr|
|000021a0| 29 3b 0a 2b 20 09 09 7d | 0a 20 20 09 09 72 70 2d |);.+ ..}|. ..rp-|
|000021b0| 3e 72 5f 66 61 69 6c 65 | 64 20 3d 20 46 41 4c 53 |>r_faile|d = FALS|
|000021c0| 45 3b 0a 20 20 09 7d 0a | 20 20 09 72 70 2d 3e 72 |E;. .}.| .rp->r|
|000021d0| 5f 6f 70 65 6e 69 6e 67 | 20 3d 20 54 52 55 45 3b |_opening| = TRUE;|
|000021e0| 0a 0a 0a 42 69 6c 6c 20 | 53 6f 6d 6d 65 72 66 65 |...Bill |Sommerfe|
|000021f0| 6c 64 20 66 6f 75 6e 64 | 20 61 20 62 75 67 20 69 |ld found| a bug i|
|00002200| 6e 20 74 68 65 20 6b 65 | 72 6e 65 6c 20 68 61 6c |n the ke|rnel hal|
|00002210| 66 20 6f 66 20 74 68 65 | 20 6e 61 6d 65 20 73 65 |f of the| name se|
|00002220| 72 76 65 72 2e 20 20 49 | 66 0a 73 6f 6d 65 20 69 |rver. I|f.some i|
|00002230| 6e 76 61 6c 69 64 20 68 | 6f 73 74 20 77 61 73 20 |nvalid h|ost was |
|00002240| 69 6d 70 6c 69 65 64 20 | 62 79 20 74 68 65 20 70 |implied |by the p|
|00002250| 61 74 68 6e 61 6d 65 20 | 2f 6e 65 74 2f 68 6f 73 |athname |/net/hos|
|00002260| 74 2c 20 74 68 65 20 73 | 65 72 76 65 72 20 70 72 |t, the s|erver pr|
|00002270| 6f 70 65 72 6c 79 0a 72 | 65 74 75 72 6e 65 64 20 |operly.r|eturned |
|00002280| 61 20 6e 75 6c 6c 20 69 | 6e 74 65 72 6e 65 74 20 |a null i|nternet |
|00002290| 61 64 64 72 65 73 73 2c | 20 62 75 74 20 74 68 65 |address,| but the|
|000022a0| 20 6b 65 72 6e 65 6c 20 | 73 74 69 6c 6c 20 63 61 | kernel |still ca|
|000022b0| 6c 6c 65 64 20 73 6f 63 | 6b 61 72 67 73 28 29 0a |lled soc|kargs().|
|000022c0| 74 6f 20 61 6c 6c 6f 63 | 61 74 65 20 73 70 61 63 |to alloc|ate spac|
|000022d0| 65 20 66 6f 72 20 69 74 | 2e 20 20 48 65 72 65 20 |e for it|. Here |
|000022e0| 61 72 65 20 74 68 65 20 | 63 68 61 6e 67 65 73 20 |are the |changes |
|000022f0| 74 6f 20 74 68 65 20 6b | 65 72 6e 65 6c 0a 66 69 |to the k|ernel.fi|
|00002300| 6c 65 20 72 65 6d 6f 74 | 65 2f 72 6d 74 5f 67 65 |le remot|e/rmt_ge|
|00002310| 6e 65 72 69 63 2e 63 20 | 28 6d 79 20 61 70 70 6f |neric.c |(my appo|
|00002320| 6c 6f 67 69 65 73 2c 20 | 62 75 74 20 79 6f 75 20 |logies, |but you |
|00002330| 77 69 6c 6c 20 70 72 6f | 62 61 62 6c 79 20 68 61 |will pro|bably ha|
|00002340| 76 65 20 74 6f 20 64 6f | 0a 74 68 65 73 65 20 63 |ve to do|.these c|
|00002350| 6f 6e 74 65 78 74 20 64 | 69 66 66 73 20 62 79 20 |ontext d|iffs by |
|00002360| 68 61 6e 64 2c 20 62 65 | 63 61 75 73 65 20 74 68 |hand, be|cause th|
|00002370| 65 79 20 63 6f 6e 74 61 | 69 6e 20 74 68 65 20 63 |ey conta|in the c|
|00002380| 6f 64 65 20 66 6f 72 20 | 23 69 66 64 65 66 20 42 |ode for |#ifdef B|
|00002390| 53 44 34 5f 33 0a 77 68 | 69 63 68 20 6d 79 20 69 |SD4_3.wh|ich my i|
|000023a0| 6e 73 74 61 6c 6c 61 74 | 69 6f 6e 20 73 63 72 69 |nstallat|ion scri|
|000023b0| 70 74 20 72 65 6d 6f 76 | 65 73 29 2e 0a 0a 2a 2a |pt remov|es)...**|
|000023c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 2a 2a |********|*****.**|
|000023d0| 2a 20 31 31 2c 31 37 0a | 20 20 20 2a 20 6d 61 79 |* 11,17.| * may|
|000023e0| 20 62 65 20 63 6f 70 69 | 65 64 2c 20 6d 6f 64 69 | be copi|ed, modi|
|000023f0| 66 69 65 64 20 6f 72 20 | 75 73 65 64 20 69 6e 20 |fied or |used in |
|00002400| 61 6e 79 20 77 61 79 2c | 20 77 69 74 68 6f 75 74 |any way,| without|
|00002410| 20 66 65 65 2c 20 70 72 | 6f 76 69 64 65 64 20 74 | fee, pr|ovided t|
|00002420| 68 69 73 0a 20 20 20 2a | 20 6e 6f 74 69 63 65 20 |his. *| notice |
|00002430| 72 65 6d 61 69 6e 73 20 | 61 6e 20 75 6e 61 6c 74 |remains |an unalt|
|00002440| 65 72 65 64 20 70 61 72 | 74 20 6f 66 20 74 68 65 |ered par|t of the|
|00002450| 20 73 6f 66 74 77 61 72 | 65 2e 0a 20 20 20 2a 0a | softwar|e.. *.|
|00002460| 21 20 20 2a 20 24 48 65 | 61 64 65 72 3a 20 72 6d |! * $He|ader: rm|
|00002470| 74 5f 67 65 6e 65 72 69 | 63 2e 63 2c 76 20 32 2e |t_generi|c.c,v 2.|
|00002480| 32 20 38 36 2f 30 31 2f | 30 32 20 31 33 3a 35 32 |2 86/01/|02 13:52|
|00002490| 3a 33 32 20 74 6f 64 64 | 62 20 45 78 70 20 24 0a |:32 todd|b Exp $.|
|000024a0| 20 20 20 2a 0a 20 20 20 | 2a 20 24 4c 6f 67 3a 09 | *. |* $Log:.|
|000024b0| 72 6d 74 5f 67 65 6e 65 | 72 69 63 2e 63 2c 76 20 |rmt_gene|ric.c,v |
|000024c0| 24 0a 20 20 20 2a 20 52 | 65 76 69 73 69 6f 6e 20 |$. * R|evision |
|000024d0| 32 2e 32 20 20 38 36 2f | 30 31 2f 30 32 20 20 31 |2.2 86/|01/02 1|
|000024e0| 33 3a 35 32 3a 33 32 20 | 20 74 6f 64 64 62 0a 0a |3:52:32 | toddb..|
|000024f0| 2d 20 2d 2d 2d 20 31 31 | 2c 31 37 20 2d 2d 2d 2d |- --- 11|,17 ----|
|00002500| 2d 0a 20 20 20 2a 20 6d | 61 79 20 62 65 20 63 6f |-. * m|ay be co|
|00002510| 70 69 65 64 2c 20 6d 6f | 64 69 66 69 65 64 20 6f |pied, mo|dified o|
|00002520| 72 20 75 73 65 64 20 69 | 6e 20 61 6e 79 20 77 61 |r used i|n any wa|
|00002530| 79 2c 20 77 69 74 68 6f | 75 74 20 66 65 65 2c 20 |y, witho|ut fee, |
|00002540| 70 72 6f 76 69 64 65 64 | 20 74 68 69 73 0a 20 20 |provided| this. |
|00002550| 20 2a 20 6e 6f 74 69 63 | 65 20 72 65 6d 61 69 6e | * notic|e remain|
|00002560| 73 20 61 6e 20 75 6e 61 | 6c 74 65 72 65 64 20 70 |s an una|ltered p|
|00002570| 61 72 74 20 6f 66 20 74 | 68 65 20 73 6f 66 74 77 |art of t|he softw|
|00002580| 61 72 65 2e 0a 20 20 20 | 2a 0a 21 20 20 2a 20 24 |are.. |*.! * $|
|00002590| 48 65 61 64 65 72 3a 20 | 72 6d 74 5f 67 65 6e 65 |Header: |rmt_gene|
|000025a0| 72 69 63 2e 63 2c 76 20 | 32 2e 33 20 38 36 2f 30 |ric.c,v |2.3 86/0|
|000025b0| 32 2f 31 37 20 31 34 3a | 33 36 3a 33 37 20 74 6f |2/17 14:|36:37 to|
|000025c0| 64 64 62 20 45 78 70 20 | 24 0a 20 20 20 2a 0a 20 |ddb Exp |$. *. |
|000025d0| 20 20 2a 20 24 4c 6f 67 | 3a 09 72 6d 74 5f 67 65 | * $Log|:.rmt_ge|
|000025e0| 6e 65 72 69 63 2e 63 2c | 76 20 24 0a 20 20 20 2a |neric.c,|v $. *|
|000025f0| 20 52 65 76 69 73 69 6f | 6e 20 32 2e 33 20 20 38 | Revisio|n 2.3 8|
|00002600| 36 2f 30 32 2f 31 37 20 | 20 31 34 3a 33 36 3a 33 |6/02/17 | 14:36:3|
|00002610| 37 20 20 74 6f 64 64 62 | 0a 2a 2a 2a 2a 2a 2a 2a |7 toddb|.*******|
|00002620| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 2a 2a 2a 20 31 34 2c |********|.*** 14,|
|00002630| 31 39 0a 20 20 20 2a 20 | 24 48 65 61 64 65 72 3a |19. * |$Header:|
|00002640| 20 72 6d 74 5f 67 65 6e | 65 72 69 63 2e 63 2c 76 | rmt_gen|eric.c,v|
|00002650| 20 32 2e 32 20 38 36 2f | 30 31 2f 30 32 20 31 33 | 2.2 86/|01/02 13|
|00002660| 3a 35 32 3a 33 32 20 74 | 6f 64 64 62 20 45 78 70 |:52:32 t|oddb Exp|
|00002670| 20 24 0a 20 20 20 2a 0a | 20 20 20 2a 20 24 4c 6f | $. *.| * $Lo|
|00002680| 67 3a 09 72 6d 74 5f 67 | 65 6e 65 72 69 63 2e 63 |g:.rmt_g|eneric.c|
|00002690| 2c 76 20 24 0a 20 20 20 | 2a 20 52 65 76 69 73 69 |,v $. |* Revisi|
|000026a0| 6f 6e 20 32 2e 32 20 20 | 38 36 2f 30 31 2f 30 32 |on 2.2 |86/01/02|
|000026b0| 20 20 31 33 3a 35 32 3a | 33 32 20 20 74 6f 64 64 | 13:52:|32 todd|
|000026c0| 62 0a 20 20 20 2a 20 49 | 66 64 65 66 27 65 64 20 |b. * I|fdef'ed |
|000026d0| 63 61 6c 6c 73 20 74 6f | 20 73 6f 63 6b 61 72 67 |calls to| sockarg|
|000026e0| 73 28 29 20 66 6f 72 20 | 74 68 65 20 64 69 66 66 |s() for |the diff|
|000026f0| 65 72 65 6e 63 65 73 20 | 69 6e 20 34 2e 32 20 76 |erences |in 4.2 v|
|00002700| 73 2e 20 34 2e 33 2e 0a | 20 20 20 2a 20 0a 0a 2d |s. 4.3..| * ..-|
|00002710| 20 2d 2d 2d 20 31 34 2c | 32 35 20 2d 2d 2d 2d 2d | --- 14,|25 -----|
|00002720| 0a 20 20 20 2a 20 24 48 | 65 61 64 65 72 3a 20 72 |. * $H|eader: r|
|00002730| 6d 74 5f 67 65 6e 65 72 | 69 63 2e 63 2c 76 20 32 |mt_gener|ic.c,v 2|
|00002740| 2e 33 20 38 36 2f 30 32 | 2f 31 37 20 31 34 3a 33 |.3 86/02|/17 14:3|
|00002750| 36 3a 33 37 20 74 6f 64 | 64 62 20 45 78 70 20 24 |6:37 tod|db Exp $|
|00002760| 0a 20 20 20 2a 0a 20 20 | 20 2a 20 24 4c 6f 67 3a |. *. | * $Log:|
|00002770| 09 72 6d 74 5f 67 65 6e | 65 72 69 63 2e 63 2c 76 |.rmt_gen|eric.c,v|
|00002780| 20 24 0a 2b 20 20 2a 20 | 52 65 76 69 73 69 6f 6e | $.+ * |Revision|
|00002790| 20 32 2e 33 20 20 38 36 | 2f 30 32 2f 31 37 20 20 | 2.3 86|/02/17 |
|000027a0| 31 34 3a 33 36 3a 33 37 | 20 20 74 6f 64 64 62 0a |14:36:37| toddb.|
|000027b0| 2b 20 20 2a 20 46 69 78 | 20 73 6f 20 74 68 61 74 |+ * Fix| so that|
|000027c0| 20 74 68 65 20 6b 65 72 | 6e 65 6c 20 70 72 6f 70 | the ker|nel prop|
|000027d0| 65 72 6c 79 20 72 65 61 | 63 74 73 20 74 6f 20 6e |erly rea|cts to n|
|000027e0| 6f 6e 65 78 69 73 74 61 | 6e 74 20 68 6f 73 74 73 |onexista|nt hosts|
|000027f0| 0a 2b 20 20 2a 20 6f 6e | 20 74 68 65 20 67 65 6e |.+ * on| the gen|
|00002800| 65 72 69 63 20 6d 6f 75 | 6e 74 20 70 6f 69 6e 74 |eric mou|nt point|
|00002810| 3a 20 73 6f 63 6b 61 72 | 67 73 28 29 20 77 61 73 |: sockar|gs() was|
|00002820| 20 62 65 69 6e 67 20 63 | 61 6c 6c 65 64 20 69 6e | being c|alled in|
|00002830| 20 74 68 65 0a 2b 20 20 | 2a 20 72 65 6d 6f 74 65 | the.+ |* remote|
|00002840| 6e 61 6d 65 28 29 20 73 | 79 73 74 65 6d 20 63 61 |name() s|ystem ca|
|00002850| 6c 6c 20 28 63 61 73 65 | 20 4e 4d 5f 4e 41 4d 45 |ll (case| NM_NAME|
|00002860| 49 53 29 20 65 76 65 6e | 20 69 66 20 75 61 70 2d |IS) even| if uap-|
|00002870| 3e 6e 61 6d 65 20 77 61 | 73 20 6e 75 6c 6c 2e 0a |>name wa|s null..|
|00002880| 2b 20 20 2a 20 42 69 6c | 6c 20 53 6f 6d 6d 65 72 |+ * Bil|l Sommer|
|00002890| 66 65 6c 64 20 28 77 65 | 73 6f 6d 6d 65 72 40 61 |feld (we|sommer@a|
|000028a0| 74 68 65 6e 61 2e 6d 69 | 74 2e 65 64 75 29 2e 0a |thena.mi|t.edu)..|
|000028b0| 2b 20 20 2a 20 0a 20 20 | 20 2a 20 52 65 76 69 73 |+ * . | * Revis|
|000028c0| 69 6f 6e 20 32 2e 32 20 | 20 38 36 2f 30 31 2f 30 |ion 2.2 | 86/01/0|
|000028d0| 32 20 20 31 33 3a 35 32 | 3a 33 32 20 20 74 6f 64 |2 13:52|:32 tod|
|000028e0| 64 62 0a 20 20 20 2a 20 | 49 66 64 65 66 27 65 64 |db. * |Ifdef'ed|
|000028f0| 20 63 61 6c 6c 73 20 74 | 6f 20 73 6f 63 6b 61 72 | calls t|o sockar|
|00002900| 67 73 28 29 20 66 6f 72 | 20 74 68 65 20 64 69 66 |gs() for| the dif|
|00002910| 66 65 72 65 6e 63 65 73 | 20 69 6e 20 34 2e 32 20 |ferences| in 4.2 |
|00002920| 76 73 2e 20 34 2e 33 2e | 0a 20 20 20 2a 20 0a 2a |vs. 4.3.|. * .*|
|00002930| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 2a |********|******.*|
|00002940| 2a 2a 20 33 32 38 2c 33 | 33 33 0a 20 20 09 09 09 |** 328,3|33. ...|
|00002950| 6d 5f 66 72 65 65 28 6d | 29 3b 20 2f 2a 20 66 72 |m_free(m|); /* fr|
|00002960| 65 65 20 65 78 74 72 61 | 20 6d 62 75 66 20 2a 2f |ee extra| mbuf */|
|00002970| 0a 20 20 09 09 09 6d 20 | 3d 20 72 65 6d 6f 74 65 |. ...m |= remote|
|00002980| 5f 6e 73 2e 72 6e 5f 6e | 61 6d 65 20 3d 20 4e 55 |_ns.rn_n|ame = NU|
|00002990| 4c 4c 3b 0a 20 20 09 09 | 7d 0a 20 20 23 69 66 64 |LL;. ..|}. #ifd|
|000029a0| 65 66 20 42 53 44 34 5f | 33 0a 20 20 09 09 65 72 |ef BSD4_|3. ..er|
|000029b0| 72 6f 72 20 3d 20 73 6f | 63 6b 61 72 67 73 28 26 |ror = so|ckargs(&|
|000029c0| 6d 2c 20 75 61 70 2d 3e | 6e 61 6d 65 2c 20 75 61 |m, uap->|name, ua|
|000029d0| 70 2d 3e 6e 61 6d 65 6c | 65 6e 2c 20 4d 54 5f 53 |p->namel|en, MT_S|
|000029e0| 4f 4e 41 4d 45 29 3b 0a | 20 20 23 65 6c 73 65 20 |ONAME);.| #else |
|000029f0| 42 53 44 34 5f 33 0a 0a | 2d 20 2d 2d 2d 20 33 33 |BSD4_3..|- --- 33|
|00002a00| 34 2c 33 34 30 20 2d 2d | 2d 2d 2d 0a 20 20 09 09 |4,340 --|---. ..|
|00002a10| 09 6d 5f 66 72 65 65 28 | 6d 29 3b 20 2f 2a 20 66 |.m_free(|m); /* f|
|00002a20| 72 65 65 20 65 78 74 72 | 61 20 6d 62 75 66 20 2a |ree extr|a mbuf *|
|00002a30| 2f 0a 20 20 09 09 09 6d | 20 3d 20 72 65 6d 6f 74 |/. ...m| = remot|
|00002a40| 65 5f 6e 73 2e 72 6e 5f | 6e 61 6d 65 20 3d 20 4e |e_ns.rn_|name = N|
|00002a50| 55 4c 4c 3b 0a 20 20 09 | 09 7d 0a 2b 20 09 09 69 |ULL;. .|.}.+ ..i|
|00002a60| 66 20 28 75 61 70 2d 3e | 6e 61 6d 65 29 20 7b 0a |f (uap->|name) {.|
|00002a70| 20 20 23 69 66 64 65 66 | 20 42 53 44 34 5f 33 0a | #ifdef| BSD4_3.|
|00002a80| 20 20 09 09 20 20 20 20 | 65 72 72 6f 72 20 3d 20 | .. |error = |
|00002a90| 73 6f 63 6b 61 72 67 73 | 28 26 6d 2c 20 75 61 70 |sockargs|(&m, uap|
|00002aa0| 2d 3e 6e 61 6d 65 2c 20 | 75 61 70 2d 3e 6e 61 6d |->name, |uap->nam|
|00002ab0| 65 6c 65 6e 2c 20 4d 54 | 5f 53 4f 4e 41 4d 45 29 |elen, MT|_SONAME)|
|00002ac0| 3b 0a 20 20 23 65 6c 73 | 65 20 42 53 44 34 5f 33 |;. #els|e BSD4_3|
|00002ad0| 0a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.*******|********|
|00002ae0| 0a 2a 2a 2a 20 33 32 39 | 2c 33 33 35 0a 20 20 09 |.*** 329|,335. .|
|00002af0| 09 09 6d 20 3d 20 72 65 | 6d 6f 74 65 5f 6e 73 2e |..m = re|mote_ns.|
|00002b00| 72 6e 5f 6e 61 6d 65 20 | 3d 20 4e 55 4c 4c 3b 0a |rn_name |= NULL;.|
|00002b10| 20 20 09 09 7d 0a 20 20 | 23 69 66 64 65 66 20 42 | ..}. |#ifdef B|
|00002b20| 53 44 34 5f 33 0a 21 20 | 09 09 65 72 72 6f 72 20 |SD4_3.! |..error |
|00002b30| 3d 20 73 6f 63 6b 61 72 | 67 73 28 26 6d 2c 20 75 |= sockar|gs(&m, u|
|00002b40| 61 70 2d 3e 6e 61 6d 65 | 2c 20 75 61 70 2d 3e 6e |ap->name|, uap->n|
|00002b50| 61 6d 65 6c 65 6e 2c 20 | 4d 54 5f 53 4f 4e 41 4d |amelen, |MT_SONAM|
|00002b60| 45 29 3b 0a 20 20 23 65 | 6c 73 65 20 42 53 44 34 |E);. #e|lse BSD4|
|00002b70| 5f 33 0a 20 20 09 09 65 | 72 72 6f 72 20 3d 20 73 |_3. ..e|rror = s|
|00002b80| 6f 63 6b 61 72 67 73 28 | 26 6d 2c 20 75 61 70 2d |ockargs(|&m, uap-|
|00002b90| 3e 6e 61 6d 65 2c 20 75 | 61 70 2d 3e 6e 61 6d 65 |>name, u|ap->name|
|00002ba0| 6c 65 6e 29 3b 0a 20 20 | 23 65 6e 64 69 66 20 42 |len);. |#endif B|
|00002bb0| 53 44 34 5f 33 0a 0a 2d | 20 2d 2d 2d 20 33 33 36 |SD4_3..-| --- 336|
|00002bc0| 2c 33 34 32 20 2d 2d 2d | 2d 2d 0a 20 20 09 09 7d |,342 ---|--. ..}|
|00002bd0| 0a 20 20 09 09 69 66 20 | 28 75 61 70 2d 3e 6e 61 |. ..if |(uap->na|
|00002be0| 6d 65 29 20 7b 0a 20 20 | 23 69 66 64 65 66 20 42 |me) {. |#ifdef B|
|00002bf0| 53 44 34 5f 33 0a 21 20 | 09 09 20 20 20 20 65 72 |SD4_3.! |.. er|
|00002c00| 72 6f 72 20 3d 20 73 6f | 63 6b 61 72 67 73 28 26 |ror = so|ckargs(&|
|00002c10| 6d 2c 20 75 61 70 2d 3e | 6e 61 6d 65 2c 20 75 61 |m, uap->|name, ua|
|00002c20| 70 2d 3e 6e 61 6d 65 6c | 65 6e 2c 20 4d 54 5f 53 |p->namel|en, MT_S|
|00002c30| 4f 4e 41 4d 45 29 3b 0a | 20 20 23 65 6c 73 65 20 |ONAME);.| #else |
|00002c40| 42 53 44 34 5f 33 0a 20 | 20 09 09 20 20 20 20 65 |BSD4_3. | .. e|
|00002c50| 72 72 6f 72 20 3d 20 73 | 6f 63 6b 61 72 67 73 28 |rror = s|ockargs(|
|00002c60| 26 6d 2c 20 75 61 70 2d | 3e 6e 61 6d 65 2c 20 75 |&m, uap-|>name, u|
|00002c70| 61 70 2d 3e 6e 61 6d 65 | 6c 65 6e 29 3b 0a 20 20 |ap->name|len);. |
|00002c80| 23 65 6e 64 69 66 20 42 | 53 44 34 5f 33 0a 2a 2a |#endif B|SD4_3.**|
|00002c90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 2a 2a |********|*****.**|
|00002ca0| 2a 20 33 33 31 2c 33 33 | 37 0a 20 20 23 69 66 64 |* 331,33|7. #ifd|
|00002cb0| 65 66 20 42 53 44 34 5f | 33 0a 20 20 09 09 65 72 |ef BSD4_|3. ..er|
|00002cc0| 72 6f 72 20 3d 20 73 6f | 63 6b 61 72 67 73 28 26 |ror = so|ckargs(&|
|00002cd0| 6d 2c 20 75 61 70 2d 3e | 6e 61 6d 65 2c 20 75 61 |m, uap->|name, ua|
|00002ce0| 70 2d 3e 6e 61 6d 65 6c | 65 6e 2c 20 4d 54 5f 53 |p->namel|en, MT_S|
|00002cf0| 4f 4e 41 4d 45 29 3b 0a | 20 20 23 65 6c 73 65 20 |ONAME);.| #else |
|00002d00| 42 53 44 34 5f 33 0a 21 | 20 09 09 65 72 72 6f 72 |BSD4_3.!| ..error|
|00002d10| 20 3d 20 73 6f 63 6b 61 | 72 67 73 28 26 6d 2c 20 | = socka|rgs(&m, |
|00002d20| 75 61 70 2d 3e 6e 61 6d | 65 2c 20 75 61 70 2d 3e |uap->nam|e, uap->|
|00002d30| 6e 61 6d 65 6c 65 6e 29 | 3b 0a 20 20 23 65 6e 64 |namelen)|;. #end|
|00002d40| 69 66 20 42 53 44 34 5f | 33 0a 20 20 09 09 69 66 |if BSD4_|3. ..if|
|00002d50| 20 28 65 72 72 6f 72 20 | 3d 3d 20 30 29 20 7b 0a | (error |== 0) {.|
|00002d60| 20 20 09 09 09 63 70 20 | 3d 20 6d 74 6f 64 28 6d | ...cp |= mtod(m|
|00002d70| 2c 20 63 68 61 72 20 2a | 29 20 2b 20 6d 2d 3e 6d |, char *|) + m->m|
|00002d80| 5f 6c 65 6e 3b 0a 0a 2d | 20 2d 2d 2d 20 33 33 38 |_len;..-| --- 338|
|00002d90| 2c 33 34 34 20 2d 2d 2d | 2d 2d 0a 20 20 23 69 66 |,344 ---|--. #if|
|00002da0| 64 65 66 20 42 53 44 34 | 5f 33 0a 20 20 09 09 20 |def BSD4|_3. .. |
|00002db0| 20 20 20 65 72 72 6f 72 | 20 3d 20 73 6f 63 6b 61 | error| = socka|
|00002dc0| 72 67 73 28 26 6d 2c 20 | 75 61 70 2d 3e 6e 61 6d |rgs(&m, |uap->nam|
|00002dd0| 65 2c 20 75 61 70 2d 3e | 6e 61 6d 65 6c 65 6e 2c |e, uap->|namelen,|
|00002de0| 20 4d 54 5f 53 4f 4e 41 | 4d 45 29 3b 0a 20 20 23 | MT_SONA|ME);. #|
|00002df0| 65 6c 73 65 20 42 53 44 | 34 5f 33 0a 21 20 09 09 |else BSD|4_3.! ..|
|00002e00| 20 20 20 20 65 72 72 6f | 72 20 3d 20 73 6f 63 6b | erro|r = sock|
|00002e10| 61 72 67 73 28 26 6d 2c | 20 75 61 70 2d 3e 6e 61 |args(&m,| uap->na|
|00002e20| 6d 65 2c 20 75 61 70 2d | 3e 6e 61 6d 65 6c 65 6e |me, uap-|>namelen|
|00002e30| 29 3b 0a 20 20 23 65 6e | 64 69 66 20 42 53 44 34 |);. #en|dif BSD4|
|00002e40| 5f 33 0a 20 20 09 09 20 | 20 20 20 69 66 20 28 65 |_3. .. | if (e|
|00002e50| 72 72 6f 72 20 3d 3d 20 | 30 29 20 7b 0a 20 20 09 |rror == |0) {. .|
|00002e60| 09 09 63 70 20 3d 20 6d | 74 6f 64 28 6d 2c 20 63 |..cp = m|tod(m, c|
|00002e70| 68 61 72 20 2a 29 20 2b | 20 6d 2d 3e 6d 5f 6c 65 |har *) +| m->m_le|
|00002e80| 6e 3b 0a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |n;.*****|********|
|00002e90| 2a 2a 0a 2a 2a 2a 20 33 | 33 33 2c 33 33 39 0a 20 |**.*** 3|33,339. |
|00002ea0| 20 23 65 6c 73 65 20 42 | 53 44 34 5f 33 0a 20 20 | #else B|SD4_3. |
|00002eb0| 09 09 65 72 72 6f 72 20 | 3d 20 73 6f 63 6b 61 72 |..error |= sockar|
|00002ec0| 67 73 28 26 6d 2c 20 75 | 61 70 2d 3e 6e 61 6d 65 |gs(&m, u|ap->name|
|00002ed0| 2c 20 75 61 70 2d 3e 6e | 61 6d 65 6c 65 6e 29 3b |, uap->n|amelen);|
|00002ee0| 0a 20 20 23 65 6e 64 69 | 66 20 42 53 44 34 5f 33 |. #endi|f BSD4_3|
|00002ef0| 0a 21 20 09 09 69 66 20 | 28 65 72 72 6f 72 20 3d |.! ..if |(error =|
|00002f00| 3d 20 30 29 20 7b 0a 20 | 20 09 09 09 63 70 20 3d |= 0) {. | ...cp =|
|00002f10| 20 6d 74 6f 64 28 6d 2c | 20 63 68 61 72 20 2a 29 | mtod(m,| char *)|
|00002f20| 20 2b 20 6d 2d 3e 6d 5f | 6c 65 6e 3b 0a 20 20 09 | + m->m_|len;. .|
|00002f30| 09 09 69 66 20 28 65 72 | 72 6f 72 20 3d 20 63 6f |..if (er|ror = co|
|00002f40| 70 79 69 6e 28 28 63 61 | 64 64 72 5f 74 29 75 61 |pyin((ca|ddr_t)ua|
|00002f50| 70 2d 3e 70 61 74 68 2c | 20 28 63 61 64 64 72 5f |p->path,| (caddr_|
|00002f60| 74 29 63 70 2c 0a 20 20 | 09 09 09 20 20 20 20 4d |t)cp,. |... M|
|00002f70| 49 4e 28 52 5f 4d 4e 54 | 50 41 54 48 4c 45 4e 2c |IN(R_MNT|PATHLEN,|
|00002f80| 20 4d 4c 45 4e 20 2d 20 | 6d 2d 3e 6d 5f 6c 65 6e | MLEN - |m->m_len|
|00002f90| 29 29 29 20 7b 0a 0a 2d | 20 2d 2d 2d 20 33 34 30 |))) {..-| --- 340|
|00002fa0| 2c 33 34 36 20 2d 2d 2d | 2d 2d 0a 20 20 23 65 6c |,346 ---|--. #el|
|00002fb0| 73 65 20 42 53 44 34 5f | 33 0a 20 20 09 09 20 20 |se BSD4_|3. .. |
|00002fc0| 20 20 65 72 72 6f 72 20 | 3d 20 73 6f 63 6b 61 72 | error |= sockar|
|00002fd0| 67 73 28 26 6d 2c 20 75 | 61 70 2d 3e 6e 61 6d 65 |gs(&m, u|ap->name|
|00002fe0| 2c 20 75 61 70 2d 3e 6e | 61 6d 65 6c 65 6e 29 3b |, uap->n|amelen);|
|00002ff0| 0a 20 20 23 65 6e 64 69 | 66 20 42 53 44 34 5f 33 |. #endi|f BSD4_3|
|00003000| 0a 21 20 09 09 20 20 20 | 20 69 66 20 28 65 72 72 |.! .. | if (err|
|00003010| 6f 72 20 3d 3d 20 30 29 | 20 7b 0a 20 20 09 09 09 |or == 0)| {. ...|
|00003020| 63 70 20 3d 20 6d 74 6f | 64 28 6d 2c 20 63 68 61 |cp = mto|d(m, cha|
|00003030| 72 20 2a 29 20 2b 20 6d | 2d 3e 6d 5f 6c 65 6e 3b |r *) + m|->m_len;|
|00003040| 0a 20 20 09 09 09 69 66 | 20 28 65 72 72 6f 72 20 |. ...if| (error |
|00003050| 3d 20 63 6f 70 79 69 6e | 28 28 63 61 64 64 72 5f |= copyin|((caddr_|
|00003060| 74 29 75 61 70 2d 3e 70 | 61 74 68 2c 20 28 63 61 |t)uap->p|ath, (ca|
|00003070| 64 64 72 5f 74 29 63 70 | 2c 0a 20 20 09 09 09 20 |ddr_t)cp|,. ... |
|00003080| 20 20 20 4d 49 4e 28 52 | 5f 4d 4e 54 50 41 54 48 | MIN(R|_MNTPATH|
|00003090| 4c 45 4e 2c 20 4d 4c 45 | 4e 20 2d 20 6d 2d 3e 6d |LEN, MLE|N - m->m|
|000030a0| 5f 6c 65 6e 29 29 29 20 | 7b 0a 2a 2a 2a 2a 2a 2a |_len))) |{.******|
|000030b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 2a 2a 2a 20 33 34 |********|*.*** 34|
|000030c0| 31 2c 33 34 36 0a 20 20 | 09 09 09 09 6d 20 3d 20 |1,346. |....m = |
|000030d0| 4e 55 4c 4c 3b 0a 20 20 | 09 09 09 7d 0a 20 20 09 |NULL;. |...}. .|
|000030e0| 09 09 64 65 62 75 67 31 | 33 28 22 6e 6d 73 72 76 |..debug1|3("nmsrv|
|000030f0| 3a 20 25 73 40 25 78 5c | 6e 22 2c 20 63 70 2c 20 |: %s@%x\|n", cp, |
|00003100| 6d 29 3b 0a 20 20 09 09 | 7d 0a 20 20 09 09 72 65 |m);. ..|}. ..re|
|00003110| 6d 6f 74 65 5f 6e 73 2e | 72 6e 5f 6e 61 6d 65 20 |mote_ns.|rn_name |
|00003120| 3d 20 6d 3b 0a 20 20 09 | 09 77 61 6b 65 75 70 28 |= m;. .|.wakeup(|
|00003130| 26 72 65 6d 6f 74 65 5f | 6e 73 2e 72 6e 5f 6e 61 |&remote_|ns.rn_na|
|00003140| 6d 65 29 3b 0a 0a 2d 20 | 2d 2d 2d 20 33 34 38 2c |me);..- |--- 348,|
|00003150| 33 35 34 20 2d 2d 2d 2d | 2d 0a 20 20 09 09 09 09 |354 ----|-. ....|
|00003160| 6d 20 3d 20 4e 55 4c 4c | 3b 0a 20 20 09 09 09 7d |m = NULL|;. ...}|
|00003170| 0a 20 20 09 09 09 64 65 | 62 75 67 31 33 28 22 6e |. ...de|bug13("n|
|00003180| 6d 73 72 76 3a 20 25 73 | 40 25 78 5c 6e 22 2c 20 |msrv: %s|@%x\n", |
|00003190| 63 70 2c 20 6d 29 3b 0a | 2b 20 09 09 20 20 20 20 |cp, m);.|+ .. |
|000031a0| 7d 0a 20 20 09 09 7d 0a | 20 20 09 09 72 65 6d 6f |}. ..}.| ..remo|
|000031b0| 74 65 5f 6e 73 2e 72 6e | 5f 6e 61 6d 65 20 3d 20 |te_ns.rn|_name = |
|000031c0| 6d 3b 0a 20 20 09 09 77 | 61 6b 65 75 70 28 26 72 |m;. ..w|akeup(&r|
|000031d0| 65 6d 6f 74 65 5f 6e 73 | 2e 72 6e 5f 6e 61 6d 65 |emote_ns|.rn_name|
|000031e0| 29 3b 0a 0a 4a 6f 65 20 | 4f 74 68 6d 65 72 20 6d |);..Joe |Othmer m|
|000031f0| 61 79 20 68 61 76 65 20 | 66 6f 75 6e 64 20 74 68 |ay have |found th|
|00003200| 65 20 62 75 67 20 74 68 | 61 74 20 63 61 75 73 65 |e bug th|at cause|
|00003210| 64 20 61 20 63 6f 6d 6d | 61 6e 64 20 6c 69 6b 65 |d a comm|and like|
|00003220| 0a 0a 09 6c 73 20 2f 68 | 6f 73 74 31 2f 68 6f 73 |...ls /h|ost1/hos|
|00003230| 74 32 2f 66 69 6c 65 0a | 0a 74 6f 20 68 61 6e 67 |t2/file.|.to hang|
|00003240| 2e 20 20 54 68 65 20 73 | 65 6e 74 72 79 20 73 65 |. The s|entry se|
|00003250| 72 76 65 72 20 28 77 68 | 69 63 68 20 64 6f 65 73 |rver (wh|ich does|
|00003260| 20 6f 6e 6c 79 20 6e 61 | 6d 65 73 65 72 76 65 72 | only na|meserver|
|00003270| 20 66 75 6e 63 74 69 6f | 6e 73 20 66 6f 72 0a 22 | functio|ns for."|
|00003280| 2f 6e 65 74 2f 2e 2e 2e | 22 2c 20 61 6e 64 20 6c |/net/...|", and l|
|00003290| 69 73 74 65 6e 73 20 66 | 6f 72 20 63 6f 6e 6e 65 |istens f|or conne|
|000032a0| 63 74 69 6f 6e 73 29 20 | 68 61 64 20 74 68 65 20 |ctions) |had the |
|000032b0| 70 72 6f 70 65 72 20 63 | 61 6c 6c 20 74 6f 20 74 |proper c|all to t|
|000032c0| 68 65 0a 73 79 73 74 65 | 6d 20 63 61 6c 6c 20 22 |he.syste|m call "|
|000032d0| 72 65 6d 6f 74 65 6f 66 | 66 28 4e 55 4c 4c 29 22 |remoteof|f(NULL)"|
|000032e0| 20 73 6f 20 74 68 61 74 | 20 72 65 6d 6f 74 65 20 | so that| remote |
|000032f0| 61 63 63 65 73 73 20 69 | 73 20 64 65 6e 69 65 64 |access i|s denied|
|00003300| 20 66 6f 72 20 74 68 65 | 0a 73 65 72 76 65 72 2e | for the|.server.|
|00003310| 20 20 54 68 69 73 20 73 | 65 74 73 20 74 68 65 20 | This s|ets the |
|00003320| 53 4e 4f 52 45 4d 4f 54 | 45 20 62 69 74 20 69 6e |SNOREMOT|E bit in|
|00003330| 20 74 68 65 20 70 72 6f | 63 20 73 74 72 75 63 74 | the pro|c struct|
|00003340| 75 72 65 20 70 5f 66 6c | 61 67 2e 0a 55 6e 66 6f |ure p_fl|ag..Unfo|
|00003350| 72 74 75 6e 61 74 65 6c | 79 2c 20 74 68 65 20 67 |rtunatel|y, the g|
|00003360| 61 74 65 77 61 79 20 73 | 65 72 76 65 72 20 28 66 |ateway s|erver (f|
|00003370| 6f 72 6b 65 64 20 62 79 | 20 74 68 65 20 73 65 6e |orked by| the sen|
|00003380| 74 72 79 20 73 65 72 76 | 65 72 29 20 61 6e 64 0a |try serv|er) and.|
|00003390| 61 6e 79 20 6f 66 20 74 | 68 65 20 6f 74 68 65 72 |any of t|he other|
|000033a0| 20 73 65 72 76 65 72 73 | 20 28 66 6f 72 6b 65 64 | servers| (forked|
|000033b0| 20 62 79 20 74 68 65 20 | 67 61 74 65 77 61 79 20 | by the |gateway |
|000033c0| 73 65 72 76 65 72 29 2c | 20 67 65 74 20 74 68 69 |server),| get thi|
|000033d0| 73 0a 62 69 74 20 63 6c | 65 61 72 65 64 20 62 79 |s.bit cl|eared by|
|000033e0| 20 61 20 66 6f 72 6b 28 | 29 2e 20 20 54 68 65 20 | a fork(|). The |
|000033f0| 65 66 66 65 63 74 20 77 | 61 73 20 74 68 61 74 20 |effect w|as that |
|00003400| 74 68 65 20 73 65 72 76 | 65 72 20 77 61 73 20 61 |the serv|er was a|
|00003410| 63 74 75 61 6c 6c 79 0a | 61 6c 6c 6f 77 69 6e 67 |ctually.|allowing|
|00003420| 20 74 68 65 20 68 6f 70 | 73 20 74 6f 20 68 61 70 | the hop|s to hap|
|00003430| 70 65 6e 2e 20 20 48 65 | 72 65 20 61 72 65 20 74 |pen. He|re are t|
|00003440| 68 65 20 63 68 61 6e 67 | 65 73 20 73 6f 20 74 68 |he chang|es so th|
|00003450| 61 74 20 61 6e 79 20 73 | 65 72 76 65 72 20 69 73 |at any s|erver is|
|00003460| 0a 73 75 72 65 20 74 6f | 20 68 61 76 65 20 74 68 |.sure to| have th|
|00003470| 65 20 53 4e 4f 52 45 4d | 4f 54 45 20 62 69 74 20 |e SNOREM|OTE bit |
|00003480| 73 65 74 2e 20 20 54 68 | 65 20 63 68 61 6e 67 65 |set. Th|e change|
|00003490| 73 20 67 6f 20 69 6e 20 | 74 68 65 20 73 65 72 76 |s go in |the serv|
|000034a0| 65 72 0a 66 69 6c 65 20 | 72 65 6d 6f 74 65 2f 66 |er.file |remote/f|
|000034b0| 69 6c 65 73 65 72 76 65 | 72 2e 63 3a 0a 0a 2a 2a |ileserve|r.c:..**|
|000034c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 2a 2a |********|*****.**|
|000034d0| 2a 20 31 32 2c 31 37 0a | 20 20 20 2a 20 6e 6f 74 |* 12,17.| * not|
|000034e0| 69 63 65 20 72 65 6d 61 | 69 6e 73 20 61 6e 20 75 |ice rema|ins an u|
|000034f0| 6e 61 6c 74 65 72 65 64 | 20 70 61 72 74 20 6f 66 |naltered| part of|
|00003500| 20 74 68 65 20 73 6f 66 | 74 77 61 72 65 2e 0a 20 | the sof|tware.. |
|00003510| 20 20 2a 0a 20 20 20 2a | 20 24 4c 6f 67 3a 09 66 | *. *| $Log:.f|
|00003520| 69 6c 65 73 65 72 76 65 | 72 2e 63 2c 76 20 24 0a |ileserve|r.c,v $.|
|00003530| 20 20 20 2a 20 52 65 76 | 69 73 69 6f 6e 20 32 2e | * Rev|ision 2.|
|00003540| 30 20 20 38 35 2f 31 32 | 2f 30 37 20 20 31 38 3a |0 85/12|/07 18:|
|00003550| 32 31 3a 31 34 20 20 74 | 6f 64 64 62 0a 20 20 20 |21:14 t|oddb. |
|00003560| 2a 20 46 69 72 73 74 20 | 70 75 62 6c 69 63 20 72 |* First |public r|
|00003570| 65 6c 65 61 73 65 2e 0a | 20 20 20 2a 20 0a 0a 2d |elease..| * ..-|
|00003580| 20 2d 2d 2d 20 31 32 2c | 32 32 20 2d 2d 2d 2d 2d | --- 12,|22 -----|
|00003590| 0a 20 20 20 2a 20 6e 6f | 74 69 63 65 20 72 65 6d |. * no|tice rem|
|000035a0| 61 69 6e 73 20 61 6e 20 | 75 6e 61 6c 74 65 72 65 |ains an |unaltere|
|000035b0| 64 20 70 61 72 74 20 6f | 66 20 74 68 65 20 73 6f |d part o|f the so|
|000035c0| 66 74 77 61 72 65 2e 0a | 20 20 20 2a 0a 20 20 20 |ftware..| *. |
|000035d0| 2a 20 24 4c 6f 67 3a 09 | 66 69 6c 65 73 65 72 76 |* $Log:.|fileserv|
|000035e0| 65 72 2e 63 2c 76 20 24 | 0a 2b 20 20 2a 20 52 65 |er.c,v $|.+ * Re|
|000035f0| 76 69 73 69 6f 6e 20 32 | 2e 31 20 20 38 36 2f 30 |vision 2|.1 86/0|
|00003600| 32 2f 31 37 20 20 31 35 | 3a 31 31 3a 30 33 20 20 |2/17 15|:11:03 |
|00003610| 74 6f 64 64 62 0a 2b 20 | 20 2a 20 54 68 65 20 53 |toddb.+ | * The S|
|00003620| 4e 4f 52 45 4d 4f 54 45 | 20 62 69 74 20 69 73 20 |NOREMOTE| bit is |
|00003630| 63 6c 65 61 72 65 64 20 | 69 6e 20 74 68 65 20 63 |cleared |in the c|
|00003640| 68 69 6c 64 72 65 6e 20 | 6f 66 20 74 68 65 20 73 |hildren |of the s|
|00003650| 65 72 76 65 72 2c 20 73 | 6f 20 61 20 63 61 6c 6c |erver, s|o a call|
|00003660| 0a 2b 20 20 2a 20 74 6f | 20 72 65 6d 6f 74 65 6f |.+ * to| remoteo|
|00003670| 66 66 28 4e 55 4c 4c 29 | 20 77 61 73 20 61 64 64 |ff(NULL)| was add|
|00003680| 65 64 20 74 6f 20 73 65 | 72 76 65 72 28 29 20 61 |ed to se|rver() a|
|00003690| 6e 64 20 74 6f 20 62 65 | 63 6f 6d 65 5f 73 65 72 |nd to be|come_ser|
|000036a0| 76 65 72 28 29 2e 0a 2b | 20 20 2a 20 4a 6f 65 20 |ver()..+| * Joe |
|000036b0| 4f 74 68 6d 65 72 20 28 | 76 61 78 31 33 35 21 6a |Othmer (|vax135!j|
|000036c0| 6f 29 2e 0a 2b 20 20 2a | 20 0a 20 20 20 2a 20 52 |o)..+ *| . * R|
|000036d0| 65 76 69 73 69 6f 6e 20 | 32 2e 30 20 20 38 35 2f |evision |2.0 85/|
|000036e0| 31 32 2f 30 37 20 20 31 | 38 3a 32 31 3a 31 34 20 |12/07 1|8:21:14 |
|000036f0| 20 74 6f 64 64 62 0a 20 | 20 20 2a 20 46 69 72 73 | toddb. | * Firs|
|00003700| 74 20 70 75 62 6c 69 63 | 20 72 65 6c 65 61 73 65 |t public| release|
|00003710| 2e 0a 20 20 20 2a 20 0a | 2a 2a 2a 2a 2a 2a 2a 2a |.. * .|********|
|00003720| 2a 2a 2a 2a 2a 2a 2a 0a | 2a 2a 2a 20 31 36 2c 32 |*******.|*** 16,2|
|00003730| 32 0a 20 20 20 2a 20 46 | 69 72 73 74 20 70 75 62 |2. * F|irst pub|
|00003740| 6c 69 63 20 72 65 6c 65 | 61 73 65 2e 0a 20 20 20 |lic rele|ase.. |
|00003750| 2a 20 0a 20 20 20 2a 2f | 0a 21 20 73 74 61 74 69 |* . */|.! stati|
|00003760| 63 20 63 68 61 72 09 2a | 72 63 73 69 64 20 3d 20 |c char.*|rcsid = |
|00003770| 22 24 48 65 61 64 65 72 | 3a 20 66 69 6c 65 73 65 |"$Header|: filese|
|00003780| 72 76 65 72 2e 63 2c 76 | 20 32 2e 30 20 38 35 2f |rver.c,v| 2.0 85/|
|00003790| 31 32 2f 30 37 20 31 38 | 3a 32 31 3a 31 34 20 74 |12/07 18|:21:14 t|
|000037a0| 6f 64 64 62 20 52 65 6c | 20 24 22 3b 0a 20 20 23 |oddb Rel| $";. #|
|000037b0| 69 6e 63 6c 75 64 65 20 | 3c 65 72 72 6e 6f 2e 68 |include |<errno.h|
|000037c0| 3e 0a 20 20 23 69 6e 63 | 6c 75 64 65 20 3c 73 74 |>. #inc|lude <st|
|000037d0| 64 69 6f 2e 68 3e 0a 20 | 20 23 69 6e 63 6c 75 64 |dio.h>. | #includ|
|000037e0| 65 20 3c 63 74 79 70 65 | 2e 68 3e 0a 0a 2d 20 2d |e <ctype|.h>..- -|
|000037f0| 2d 2d 20 32 31 2c 32 37 | 20 2d 2d 2d 2d 2d 0a 20 |-- 21,27| -----. |
|00003800| 20 20 2a 20 46 69 72 73 | 74 20 70 75 62 6c 69 63 | * Firs|t public|
|00003810| 20 72 65 6c 65 61 73 65 | 2e 0a 20 20 20 2a 20 0a | release|.. * .|
|00003820| 20 20 20 2a 2f 0a 21 20 | 73 74 61 74 69 63 20 63 | */.! |static c|
|00003830| 68 61 72 09 2a 72 63 73 | 69 64 20 3d 20 22 24 48 |har.*rcs|id = "$H|
|00003840| 65 61 64 65 72 3a 20 66 | 69 6c 65 73 65 72 76 65 |eader: f|ileserve|
|00003850| 72 2e 63 2c 76 20 32 2e | 31 20 38 36 2f 30 32 2f |r.c,v 2.|1 86/02/|
|00003860| 31 37 20 31 35 3a 31 31 | 3a 30 33 20 74 6f 64 64 |17 15:11|:03 todd|
|00003870| 62 20 45 78 70 20 24 22 | 3b 0a 20 20 23 69 6e 63 |b Exp $"|;. #inc|
|00003880| 6c 75 64 65 20 3c 65 72 | 72 6e 6f 2e 68 3e 0a 20 |lude <er|rno.h>. |
|00003890| 20 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f | #includ|e <stdio|
|000038a0| 2e 68 3e 0a 20 20 23 69 | 6e 63 6c 75 64 65 20 3c |.h>. #i|nclude <|
|000038b0| 63 74 79 70 65 2e 68 3e | 0a 2a 2a 2a 2a 2a 2a 2a |ctype.h>|.*******|
|000038c0| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 2a 2a 2a 20 31 37 37 |********|.*** 177|
|000038d0| 2c 31 38 32 0a 20 20 09 | 2f 2a 0a 20 20 09 20 2a |,182. .|/*. . *|
|000038e0| 20 4f 6b 2c 20 6e 6f 77 | 20 62 65 20 61 20 73 65 | Ok, now| be a se|
|000038f0| 72 76 65 72 21 0a 20 20 | 09 20 2a 2f 0a 20 20 09 |rver!. |. */. .|
|00003900| 66 6f 72 28 3b 3b 29 0a | 20 20 09 7b 0a 20 20 09 |for(;;).| .{. .|
|00003910| 09 69 66 20 28 69 5f 61 | 6d 5f 67 61 74 65 77 61 |.if (i_a|m_gatewa|
|00003920| 79 20 26 26 20 21 20 69 | 5f 68 61 76 65 5f 63 6f |y && ! i|_have_co|
|00003930| 6e 74 72 6f 6c 29 0a 0a | 2d 20 2d 2d 2d 20 31 38 |ntrol)..|- --- 18|
|00003940| 32 2c 31 38 38 20 2d 2d | 2d 2d 2d 0a 20 20 09 2f |2,188 --|---. ./|
|00003950| 2a 0a 20 20 09 20 2a 20 | 4f 6b 2c 20 6e 6f 77 20 |*. . * |Ok, now |
|00003960| 62 65 20 61 20 73 65 72 | 76 65 72 21 0a 20 20 09 |be a ser|ver!. .|
|00003970| 20 2a 2f 0a 2b 20 09 72 | 65 6d 6f 74 65 6f 66 66 | */.+ .r|emoteoff|
|00003980| 28 4e 55 4c 4c 29 3b 0a | 20 20 09 66 6f 72 28 3b |(NULL);.| .for(;|
|00003990| 3b 29 0a 20 20 09 7b 0a | 20 20 09 09 69 66 20 28 |;). .{.| ..if (|
|000039a0| 69 5f 61 6d 5f 67 61 74 | 65 77 61 79 20 26 26 20 |i_am_gat|eway && |
|000039b0| 21 20 69 5f 68 61 76 65 | 5f 63 6f 6e 74 72 6f 6c |! i_have|_control|
|000039c0| 29 0a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |).******|********|
|000039d0| 2a 0a 2a 2a 2a 20 33 34 | 32 2c 33 34 37 0a 20 20 |*.*** 34|2,347. |
|000039e0| 09 20 2a 20 6f 75 72 20 | 70 69 64 2c 20 65 74 63 |. * our |pid, etc|
|000039f0| 2e 20 20 41 6c 73 6f 2c | 20 74 72 79 20 74 6f 20 |. Also,| try to |
|00003a00| 64 75 70 20 73 74 64 65 | 72 72 20 73 6f 20 74 68 |dup stde|rr so th|
|00003a10| 61 74 20 66 6c 6f 63 6b | 20 77 69 6c 6c 20 77 6f |at flock| will wo|
|00003a20| 72 6b 2e 0a 20 20 09 20 | 2a 20 49 66 20 77 65 20 |rk.. . |* If we |
|00003a30| 63 61 6e 27 74 20 64 6f | 20 69 74 2c 20 77 65 20 |can't do| it, we |
|00003a40| 61 72 65 20 69 6e 20 62 | 69 67 20 74 72 6f 75 62 |are in b|ig troub|
|00003a50| 6c 65 2e 0a 20 20 09 20 | 2a 2f 0a 20 20 09 63 75 |le.. . |*/. .cu|
|00003a60| 72 72 65 6e 74 5f 70 70 | 69 64 20 3d 20 63 75 72 |rrent_pp|id = cur|
|00003a70| 72 65 6e 74 5f 70 69 64 | 3b 0a 20 20 09 63 75 72 |rent_pid|;. .cur|
|00003a80| 72 65 6e 74 5f 70 69 64 | 20 3d 20 67 65 74 70 69 |rent_pid| = getpi|
|00003a90| 64 28 29 3b 0a 20 20 09 | 69 66 20 28 69 5f 61 6d |d();. .|if (i_am|
|00003aa0| 5f 67 61 74 65 77 61 79 | 29 0a 0a 2d 20 2d 2d 2d |_gateway|)..- ---|
|00003ab0| 20 33 34 38 2c 33 35 34 | 20 2d 2d 2d 2d 2d 0a 20 | 348,354| -----. |
|00003ac0| 20 09 20 2a 20 6f 75 72 | 20 70 69 64 2c 20 65 74 | . * our| pid, et|
|00003ad0| 63 2e 20 20 41 6c 73 6f | 2c 20 74 72 79 20 74 6f |c. Also|, try to|
|00003ae0| 20 64 75 70 20 73 74 64 | 65 72 72 20 73 6f 20 74 | dup std|err so t|
|00003af0| 68 61 74 20 66 6c 6f 63 | 6b 20 77 69 6c 6c 20 77 |hat floc|k will w|
|00003b00| 6f 72 6b 2e 0a 20 20 09 | 20 2a 20 49 66 20 77 65 |ork.. .| * If we|
|00003b10| 20 63 61 6e 27 74 20 64 | 6f 20 69 74 2c 20 77 65 | can't d|o it, we|
|00003b20| 20 61 72 65 20 69 6e 20 | 62 69 67 20 74 72 6f 75 | are in |big trou|
|00003b30| 62 6c 65 2e 0a 20 20 09 | 20 2a 2f 0a 2b 20 09 72 |ble.. .| */.+ .r|
|00003b40| 65 6d 6f 74 65 6f 66 66 | 28 4e 55 4c 4c 29 3b 0a |emoteoff|(NULL);.|
|00003b50| 20 20 09 63 75 72 72 65 | 6e 74 5f 70 70 69 64 20 | .curre|nt_ppid |
|00003b60| 3d 20 63 75 72 72 65 6e | 74 5f 70 69 64 3b 0a 20 |= curren|t_pid;. |
|00003b70| 20 09 63 75 72 72 65 6e | 74 5f 70 69 64 20 3d 20 | .curren|t_pid = |
|00003b80| 67 65 74 70 69 64 28 29 | 3b 0a 20 20 09 69 66 20 |getpid()|;. .if |
|00003b90| 28 69 5f 61 6d 5f 67 61 | 74 65 77 61 79 29 0a 0a |(i_am_ga|teway)..|
|00003ba0| 0a 2d 2d 2d 2d 2d 2d 2d | 20 45 6e 64 20 6f 66 20 |.-------| End of |
|00003bb0| 42 6c 69 6e 64 2d 43 61 | 72 62 6f 6e 2d 43 6f 70 |Blind-Ca|rbon-Cop|
|00003bc0| 79 0a 0a 0a | |y... | |
+--------+-------------------------+-------------------------+--------+--------+