home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| ASCII text
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 63 6f 6d 70 |Newsgrou|ps: comp|
|00000010| 2e 73 6f 75 72 63 65 73 | 2e 6d 69 73 63 0a 46 72 |.sources|.misc.Fr|
|00000020| 6f 6d 3a 20 61 67 40 6d | 6f 6e 69 71 75 65 2e 62 |om: ag@m|onique.b|
|00000030| 75 62 62 6c 65 2e 6f 72 | 67 20 28 4b 65 69 74 68 |ubble.or|g (Keith|
|00000040| 20 47 61 62 72 79 65 6c | 73 6b 69 29 0a 53 75 62 | Gabryel|ski).Sub|
|00000050| 6a 65 63 74 3a 20 20 76 | 32 38 69 30 37 30 3a 20 |ject: v|28i070: |
|00000060| 20 61 64 76 69 73 65 20 | 2d 20 41 74 74 61 63 68 | advise |- Attach|
|00000070| 20 74 6f 20 61 6e 6f 74 | 68 65 72 20 75 73 65 72 | to anot|her user|
|00000080| 2c 20 76 32 2e 30 2c 20 | 50 61 72 74 30 31 2f 30 |, v2.0, |Part01/0|
|00000090| 32 0a 4d 65 73 73 61 67 | 65 2d 49 44 3a 20 3c 63 |2.Messag|e-ID: <c|
|000000a0| 73 6d 2d 76 32 38 69 30 | 37 30 3d 61 64 76 69 73 |sm-v28i0|70=advis|
|000000b0| 65 2e 32 32 31 33 33 30 | 40 73 70 61 72 6b 79 2e |e.221330|@sparky.|
|000000c0| 49 4d 44 2e 53 74 65 72 | 6c 69 6e 67 2e 43 4f 4d |IMD.Ster|ling.COM|
|000000d0| 3e 0a 58 2d 4d 64 34 2d | 53 69 67 6e 61 74 75 72 |>.X-Md4-|Signatur|
|000000e0| 65 3a 20 65 30 66 37 64 | 38 62 33 39 64 31 31 39 |e: e0f7d|8b39d119|
|000000f0| 34 32 32 62 39 39 30 33 | 37 38 36 35 62 39 62 64 |422b9903|7865b9bd|
|00000100| 38 31 33 0a 44 61 74 65 | 3a 20 4d 6f 6e 2c 20 32 |813.Date|: Mon, 2|
|00000110| 34 20 46 65 62 20 31 39 | 39 32 20 30 34 3a 31 34 |4 Feb 19|92 04:14|
|00000120| 3a 31 37 20 47 4d 54 0a | 41 70 70 72 6f 76 65 64 |:17 GMT.|Approved|
|00000130| 3a 20 6b 65 6e 74 40 73 | 70 61 72 6b 79 2e 69 6d |: kent@s|parky.im|
|00000140| 64 2e 73 74 65 72 6c 69 | 6e 67 2e 63 6f 6d 0a 0a |d.sterli|ng.com..|
|00000150| 53 75 62 6d 69 74 74 65 | 64 2d 62 79 3a 20 61 67 |Submitte|d-by: ag|
|00000160| 40 6d 6f 6e 69 71 75 65 | 2e 62 75 62 62 6c 65 2e |@monique|.bubble.|
|00000170| 6f 72 67 20 28 4b 65 69 | 74 68 20 47 61 62 72 79 |org (Kei|th Gabry|
|00000180| 65 6c 73 6b 69 29 0a 50 | 6f 73 74 69 6e 67 2d 6e |elski).P|osting-n|
|00000190| 75 6d 62 65 72 3a 20 56 | 6f 6c 75 6d 65 20 32 38 |umber: V|olume 28|
|000001a0| 2c 20 49 73 73 75 65 20 | 37 30 0a 41 72 63 68 69 |, Issue |70.Archi|
|000001b0| 76 65 2d 6e 61 6d 65 3a | 20 61 64 76 69 73 65 2f |ve-name:| advise/|
|000001c0| 70 61 72 74 30 31 0a 45 | 6e 76 69 72 6f 6e 6d 65 |part01.E|nvironme|
|000001d0| 6e 74 3a 20 53 75 6e 4f | 53 2c 20 53 59 53 56 52 |nt: SunO|S, SYSVR|
|000001e0| 34 69 33 38 36 0a 0a 41 | 64 76 69 73 65 20 61 74 |4i386..A|dvise at|
|000001f0| 74 61 63 68 65 73 20 61 | 20 75 73 65 72 20 28 74 |taches a| user (t|
|00000200| 68 65 20 61 64 76 69 73 | 6f 72 29 20 74 6f 20 61 |he advis|or) to a|
|00000210| 6e 6f 74 68 65 72 20 75 | 73 65 72 27 73 20 28 74 |nother u|ser's (t|
|00000220| 68 65 20 61 64 76 69 73 | 65 65 29 0a 74 65 72 6d |he advis|ee).term|
|00000230| 69 6e 61 6c 20 69 6e 20 | 73 75 63 68 20 61 20 77 |inal in |such a w|
|00000240| 61 79 20 74 68 65 20 74 | 68 65 20 61 64 76 69 73 |ay the t|he advis|
|00000250| 6f 72 20 63 61 6e 20 74 | 79 70 65 20 66 6f 72 20 |or can t|ype for |
|00000260| 74 68 65 20 61 64 76 69 | 73 65 65 20 61 6e 64 20 |the advi|see and |
|00000270| 0a 76 69 65 77 20 77 68 | 61 74 20 74 68 65 20 61 |.view wh|at the a|
|00000280| 64 76 69 73 65 65 27 73 | 20 74 65 72 6d 69 6e 61 |dvisee's| termina|
|00000290| 6c 20 69 73 20 64 69 73 | 70 6c 61 79 69 6e 67 2e |l is dis|playing.|
|000002a0| 0a 0a 54 68 65 20 61 64 | 76 69 73 65 65 20 77 6f |..The ad|visee wo|
|000002b0| 75 6c 64 20 74 79 70 69 | 63 61 6c 6c 79 20 74 79 |uld typi|cally ty|
|000002c0| 70 65 20 60 60 61 64 76 | 69 73 65 20 20 2d 61 27 |pe ``adv|ise -a'|
|000002d0| 27 20 74 6f 20 61 6c 6c | 6f 77 20 61 64 76 69 73 |' to all|ow advis|
|000002e0| 65 20 61 74 74 61 63 68 | 65 73 3b 20 0a 74 68 65 |e attach|es; .the|
|000002f0| 20 61 64 76 69 73 6f 72 | 20 77 6f 75 6c 64 20 74 | advisor| would t|
|00000300| 68 65 6e 20 74 79 70 65 | 20 60 60 61 64 76 69 73 |hen type| ``advis|
|00000310| 65 20 75 73 65 72 20 6e | 61 6d 65 27 27 20 77 68 |e user n|ame'' wh|
|00000320| 69 63 68 20 77 6f 75 6c | 64 20 63 6f 6e 6e 65 63 |ich woul|d connec|
|00000330| 74 20 74 68 65 20 20 0a | 61 64 76 69 73 6f 72 73 |t the .|advisors|
|00000340| 20 74 65 72 6d 69 6e 61 | 6c 20 74 68 65 20 74 68 | termina|l the th|
|00000350| 65 20 61 64 76 69 73 65 | 65 27 73 2e 0a 0a 41 6c |e advise|e's...Al|
|00000360| 6c 20 63 68 61 72 61 63 | 74 65 72 73 20 74 68 65 |l charac|ters the|
|00000370| 20 61 64 76 69 73 6f 72 | 20 74 79 70 65 73 20 61 | advisor| types a|
|00000380| 72 65 20 73 65 6e 74 20 | 74 6f 20 74 68 65 20 61 |re sent |to the a|
|00000390| 64 76 69 73 65 65 27 73 | 20 74 65 72 6d 69 6e 61 |dvisee's| termina|
|000003a0| 6c 0a 61 73 20 69 66 20 | 74 68 65 20 61 64 76 69 |l.as if |the advi|
|000003b0| 73 65 65 20 74 79 70 65 | 64 20 74 68 65 6d 20 73 |see type|d them s|
|000003c0| 61 76 65 20 74 68 65 20 | 6d 65 74 61 20 63 68 61 |ave the |meta cha|
|000003d0| 72 61 63 74 65 72 2e 0a | 0a 4b 65 69 74 68 20 47 |racter..|.Keith G|
|000003e0| 61 62 72 79 65 6c 73 6b | 69 20 0a 2d 2d 2d 2d 2d |abryelsk|i .-----|
|000003f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0a 23 21 |--------|-----.#!|
|00000400| 20 2f 62 69 6e 2f 73 68 | 0a 23 20 54 68 69 73 20 | /bin/sh|.# This |
|00000410| 69 73 20 61 20 73 68 65 | 6c 6c 20 61 72 63 68 69 |is a she|ll archi|
|00000420| 76 65 2e 20 20 52 65 6d | 6f 76 65 20 61 6e 79 74 |ve. Rem|ove anyt|
|00000430| 68 69 6e 67 20 62 65 66 | 6f 72 65 20 74 68 69 73 |hing bef|ore this|
|00000440| 20 6c 69 6e 65 2c 20 74 | 68 65 6e 20 66 65 65 64 | line, t|hen feed|
|00000450| 20 69 74 0a 23 20 69 6e | 74 6f 20 61 20 73 68 65 | it.# in|to a she|
|00000460| 6c 6c 20 76 69 61 20 22 | 73 68 20 66 69 6c 65 22 |ll via "|sh file"|
|00000470| 20 6f 72 20 73 69 6d 69 | 6c 61 72 2e 20 20 54 6f | or simi|lar. To|
|00000480| 20 6f 76 65 72 77 72 69 | 74 65 20 65 78 69 73 74 | overwri|te exist|
|00000490| 69 6e 67 20 66 69 6c 65 | 73 2c 0a 23 20 74 79 70 |ing file|s,.# typ|
|000004a0| 65 20 22 73 68 20 66 69 | 6c 65 20 2d 63 22 2e 0a |e "sh fi|le -c"..|
|000004b0| 23 20 54 68 65 20 74 6f | 6f 6c 20 74 68 61 74 20 |# The to|ol that |
|000004c0| 67 65 6e 65 72 61 74 65 | 64 20 74 68 69 73 20 61 |generate|d this a|
|000004d0| 70 70 65 61 72 65 64 20 | 69 6e 20 74 68 65 20 63 |ppeared |in the c|
|000004e0| 6f 6d 70 2e 73 6f 75 72 | 63 65 73 2e 75 6e 69 78 |omp.sour|ces.unix|
|000004f0| 20 6e 65 77 73 67 72 6f | 75 70 3b 0a 23 20 73 65 | newsgro|up;.# se|
|00000500| 6e 64 20 6d 61 69 6c 20 | 74 6f 20 63 6f 6d 70 2d |nd mail |to comp-|
|00000510| 73 6f 75 72 63 65 73 2d | 75 6e 69 78 40 75 75 6e |sources-|unix@uun|
|00000520| 65 74 2e 75 75 2e 6e 65 | 74 20 69 66 20 79 6f 75 |et.uu.ne|t if you|
|00000530| 20 77 61 6e 74 20 74 68 | 61 74 20 74 6f 6f 6c 2e | want th|at tool.|
|00000540| 0a 23 20 43 6f 6e 74 65 | 6e 74 73 3a 20 20 43 4f |.# Conte|nts: CO|
|00000550| 50 59 49 4e 47 20 4d 61 | 6b 65 66 69 6c 65 2e 53 |PYING Ma|kefile.S|
|00000560| 55 4e 4f 53 20 4d 61 6b | 65 66 69 6c 65 2e 53 56 |UNOS Mak|efile.SV|
|00000570| 52 34 69 33 38 36 20 61 | 64 76 69 73 65 2e 63 20 |R4i386 a|dvise.c |
|00000580| 61 64 76 69 73 65 2e 68 | 0a 23 20 20 20 61 64 76 |advise.h|.# adv|
|00000590| 69 73 65 2e 69 64 20 61 | 64 76 69 73 65 2e 6d 61 |ise.id a|dvise.ma|
|000005a0| 6e 20 61 64 76 69 73 65 | 64 65 76 2e 63 20 61 64 |n advise|dev.c ad|
|000005b0| 76 69 73 65 6d 6f 64 2e | 63 20 61 64 76 6d 6f 64 |visemod.|c advmod|
|000005c0| 2e 69 64 0a 23 20 57 72 | 61 70 70 65 64 20 62 79 |.id.# Wr|apped by|
|000005d0| 20 6b 65 6e 74 40 73 70 | 61 72 6b 79 20 6f 6e 20 | kent@sp|arky on |
|000005e0| 53 75 6e 20 46 65 62 20 | 32 33 20 32 31 3a 35 34 |Sun Feb |23 21:54|
|000005f0| 3a 31 38 20 31 39 39 32 | 0a 50 41 54 48 3d 2f 62 |:18 1992|.PATH=/b|
|00000600| 69 6e 3a 2f 75 73 72 2f | 62 69 6e 3a 2f 75 73 72 |in:/usr/|bin:/usr|
|00000610| 2f 75 63 62 20 3b 20 65 | 78 70 6f 72 74 20 50 41 |/ucb ; e|xport PA|
|00000620| 54 48 0a 65 63 68 6f 20 | 49 66 20 74 68 69 73 20 |TH.echo |If this |
|00000630| 61 72 63 68 69 76 65 20 | 69 73 20 63 6f 6d 70 6c |archive |is compl|
|00000640| 65 74 65 2c 20 79 6f 75 | 20 77 69 6c 6c 20 73 65 |ete, you| will se|
|00000650| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|00000660| 6d 65 73 73 61 67 65 3a | 0a 65 63 68 6f 20 27 20 |message:|.echo ' |
|00000670| 20 20 20 20 20 20 20 20 | 20 22 73 68 61 72 3a 20 | | "shar: |
|00000680| 45 6e 64 20 6f 66 20 61 | 72 63 68 69 76 65 20 31 |End of a|rchive 1|
|00000690| 20 28 6f 66 20 32 29 2e | 22 27 0a 69 66 20 74 65 | (of 2).|"'.if te|
|000006a0| 73 74 20 2d 66 20 27 43 | 4f 50 59 49 4e 47 27 20 |st -f 'C|OPYING' |
|000006b0| 2d 61 20 22 24 7b 31 7d | 22 20 21 3d 20 22 2d 63 |-a "${1}|" != "-c|
|000006c0| 22 20 3b 20 74 68 65 6e | 20 0a 20 20 65 63 68 6f |" ; then| . echo|
|000006d0| 20 73 68 61 72 3a 20 57 | 69 6c 6c 20 6e 6f 74 20 | shar: W|ill not |
|000006e0| 63 6c 6f 62 62 65 72 20 | 65 78 69 73 74 69 6e 67 |clobber |existing|
|000006f0| 20 66 69 6c 65 20 5c 22 | 27 43 4f 50 59 49 4e 47 | file \"|'COPYING|
|00000700| 27 5c 22 0a 65 6c 73 65 | 0a 20 20 65 63 68 6f 20 |'\".else|. echo |
|00000710| 73 68 61 72 3a 20 45 78 | 74 72 61 63 74 69 6e 67 |shar: Ex|tracting|
|00000720| 20 5c 22 27 43 4f 50 59 | 49 4e 47 27 5c 22 20 5c | \"'COPY|ING'\" \|
|00000730| 28 37 31 36 36 20 63 68 | 61 72 61 63 74 65 72 73 |(7166 ch|aracters|
|00000740| 5c 29 0a 20 20 73 65 64 | 20 22 73 2f 5e 58 2f 2f |\). sed| "s/^X//|
|00000750| 22 20 3e 27 43 4f 50 59 | 49 4e 47 27 20 3c 3c 27 |" >'COPY|ING' <<'|
|00000760| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 0a 58 |END_OF_F|ILE'.X.X|
|00000770| 09 09 20 20 20 20 41 64 | 76 69 73 65 20 47 45 4e |.. Ad|vise GEN|
|00000780| 45 52 41 4c 20 50 55 42 | 4c 49 43 20 4c 49 43 45 |ERAL PUB|LIC LICE|
|00000790| 4e 53 45 0a 58 09 09 20 | 20 20 20 28 43 6c 61 72 |NSE.X.. | (Clar|
|000007a0| 69 66 69 65 64 20 31 31 | 20 46 65 62 20 31 39 38 |ified 11| Feb 198|
|000007b0| 38 29 0a 58 0a 58 20 43 | 6f 70 79 72 69 67 68 74 |8).X.X C|opyright|
|000007c0| 20 28 43 29 20 31 39 38 | 38 20 46 72 65 65 20 53 | (C) 198|8 Free S|
|000007d0| 6f 66 74 77 61 72 65 20 | 46 6f 75 6e 64 61 74 69 |oftware |Foundati|
|000007e0| 6f 6e 2c 20 49 6e 63 2e | 0a 58 20 45 76 65 72 79 |on, Inc.|.X Every|
|000007f0| 6f 6e 65 20 69 73 20 70 | 65 72 6d 69 74 74 65 64 |one is p|ermitted|
|00000800| 20 74 6f 20 63 6f 70 79 | 20 61 6e 64 20 64 69 73 | to copy| and dis|
|00000810| 74 72 69 62 75 74 65 20 | 76 65 72 62 61 74 69 6d |tribute |verbatim|
|00000820| 20 63 6f 70 69 65 73 0a | 58 20 6f 66 20 74 68 69 | copies.|X of thi|
|00000830| 73 20 6c 69 63 65 6e 73 | 65 2c 20 62 75 74 20 63 |s licens|e, but c|
|00000840| 68 61 6e 67 69 6e 67 20 | 69 74 20 69 73 20 6e 6f |hanging |it is no|
|00000850| 74 20 61 6c 6c 6f 77 65 | 64 2e 20 20 59 6f 75 20 |t allowe|d. You |
|00000860| 63 61 6e 20 61 6c 73 6f | 0a 58 20 75 73 65 20 74 |can also|.X use t|
|00000870| 68 69 73 20 77 6f 72 64 | 69 6e 67 20 74 6f 20 6d |his word|ing to m|
|00000880| 61 6b 65 20 74 68 65 20 | 74 65 72 6d 73 20 66 6f |ake the |terms fo|
|00000890| 72 20 6f 74 68 65 72 20 | 70 72 6f 67 72 61 6d 73 |r other |programs|
|000008a0| 2e 0a 58 0a 58 20 20 54 | 68 65 20 6c 69 63 65 6e |..X.X T|he licen|
|000008b0| 73 65 20 61 67 72 65 65 | 6d 65 6e 74 73 20 6f 66 |se agree|ments of|
|000008c0| 20 6d 6f 73 74 20 73 6f | 66 74 77 61 72 65 20 63 | most so|ftware c|
|000008d0| 6f 6d 70 61 6e 69 65 73 | 20 6b 65 65 70 20 79 6f |ompanies| keep yo|
|000008e0| 75 20 61 74 20 74 68 65 | 0a 58 6d 65 72 63 79 20 |u at the|.Xmercy |
|000008f0| 6f 66 20 74 68 6f 73 65 | 20 63 6f 6d 70 61 6e 69 |of those| compani|
|00000900| 65 73 2e 20 20 42 79 20 | 63 6f 6e 74 72 61 73 74 |es. By |contrast|
|00000910| 2c 20 6f 75 72 20 67 65 | 6e 65 72 61 6c 20 70 75 |, our ge|neral pu|
|00000920| 62 6c 69 63 20 6c 69 63 | 65 6e 73 65 20 69 73 0a |blic lic|ense is.|
|00000930| 58 69 6e 74 65 6e 64 65 | 64 20 74 6f 20 67 69 76 |Xintende|d to giv|
|00000940| 65 20 65 76 65 72 79 6f | 6e 65 20 74 68 65 20 72 |e everyo|ne the r|
|00000950| 69 67 68 74 20 74 6f 20 | 73 68 61 72 65 20 41 64 |ight to |share Ad|
|00000960| 76 69 73 65 2e 20 20 54 | 6f 20 6d 61 6b 65 20 73 |vise. T|o make s|
|00000970| 75 72 65 20 74 68 61 74 | 0a 58 79 6f 75 20 67 65 |ure that|.Xyou ge|
|00000980| 74 20 74 68 65 20 72 69 | 67 68 74 73 20 77 65 20 |t the ri|ghts we |
|00000990| 77 61 6e 74 20 79 6f 75 | 20 74 6f 20 68 61 76 65 |want you| to have|
|000009a0| 2c 20 77 65 20 6e 65 65 | 64 20 74 6f 20 6d 61 6b |, we nee|d to mak|
|000009b0| 65 20 72 65 73 74 72 69 | 63 74 69 6f 6e 73 0a 58 |e restri|ctions.X|
|000009c0| 74 68 61 74 20 66 6f 72 | 62 69 64 20 61 6e 79 6f |that for|bid anyo|
|000009d0| 6e 65 20 74 6f 20 64 65 | 6e 79 20 79 6f 75 20 74 |ne to de|ny you t|
|000009e0| 68 65 73 65 20 72 69 67 | 68 74 73 20 6f 72 20 74 |hese rig|hts or t|
|000009f0| 6f 20 61 73 6b 20 79 6f | 75 20 74 6f 20 73 75 72 |o ask yo|u to sur|
|00000a00| 72 65 6e 64 65 72 0a 58 | 74 68 65 20 72 69 67 68 |render.X|the righ|
|00000a10| 74 73 2e 20 20 48 65 6e | 63 65 20 74 68 69 73 20 |ts. Hen|ce this |
|00000a20| 6c 69 63 65 6e 73 65 20 | 61 67 72 65 65 6d 65 6e |license |agreemen|
|00000a30| 74 2e 0a 58 0a 58 20 20 | 53 70 65 63 69 66 69 63 |t..X.X |Specific|
|00000a40| 61 6c 6c 79 2c 20 77 65 | 20 77 61 6e 74 20 74 6f |ally, we| want to|
|00000a50| 20 6d 61 6b 65 20 73 75 | 72 65 20 74 68 61 74 20 | make su|re that |
|00000a60| 79 6f 75 20 68 61 76 65 | 20 74 68 65 20 72 69 67 |you have| the rig|
|00000a70| 68 74 20 74 6f 20 67 69 | 76 65 0a 58 61 77 61 79 |ht to gi|ve.Xaway|
|00000a80| 20 63 6f 70 69 65 73 20 | 6f 66 20 41 64 76 69 73 | copies |of Advis|
|00000a90| 65 2c 20 74 68 61 74 20 | 79 6f 75 20 72 65 63 65 |e, that |you rece|
|00000aa0| 69 76 65 20 73 6f 75 72 | 63 65 20 63 6f 64 65 20 |ive sour|ce code |
|00000ab0| 6f 72 20 65 6c 73 65 20 | 63 61 6e 20 67 65 74 20 |or else |can get |
|00000ac0| 69 74 0a 58 69 66 20 79 | 6f 75 20 77 61 6e 74 20 |it.Xif y|ou want |
|00000ad0| 69 74 2c 20 74 68 61 74 | 20 79 6f 75 20 63 61 6e |it, that| you can|
|00000ae0| 20 63 68 61 6e 67 65 20 | 41 64 76 69 73 65 20 6f | change |Advise o|
|00000af0| 72 20 75 73 65 20 70 69 | 65 63 65 73 20 6f 66 20 |r use pi|eces of |
|00000b00| 69 74 20 69 6e 20 6e 65 | 77 0a 58 66 72 65 65 20 |it in ne|w.Xfree |
|00000b10| 70 72 6f 67 72 61 6d 73 | 2c 20 61 6e 64 20 74 68 |programs|, and th|
|00000b20| 61 74 20 79 6f 75 20 6b | 6e 6f 77 20 79 6f 75 20 |at you k|now you |
|00000b30| 63 61 6e 20 64 6f 20 74 | 68 65 73 65 20 74 68 69 |can do t|hese thi|
|00000b40| 6e 67 73 2e 0a 58 0a 58 | 20 20 54 6f 20 6d 61 6b |ngs..X.X| To mak|
|00000b50| 65 20 73 75 72 65 20 74 | 68 61 74 20 65 76 65 72 |e sure t|hat ever|
|00000b60| 79 6f 6e 65 20 68 61 73 | 20 73 75 63 68 20 72 69 |yone has| such ri|
|00000b70| 67 68 74 73 2c 20 77 65 | 20 68 61 76 65 20 74 6f |ghts, we| have to|
|00000b80| 20 66 6f 72 62 69 64 20 | 79 6f 75 20 74 6f 0a 58 | forbid |you to.X|
|00000b90| 64 65 70 72 69 76 65 20 | 61 6e 79 6f 6e 65 20 65 |deprive |anyone e|
|00000ba0| 6c 73 65 20 6f 66 20 74 | 68 65 73 65 20 72 69 67 |lse of t|hese rig|
|00000bb0| 68 74 73 2e 20 20 46 6f | 72 20 65 78 61 6d 70 6c |hts. Fo|r exampl|
|00000bc0| 65 2c 20 69 66 20 79 6f | 75 20 64 69 73 74 72 69 |e, if yo|u distri|
|00000bd0| 62 75 74 65 0a 58 63 6f | 70 69 65 73 20 6f 66 20 |bute.Xco|pies of |
|00000be0| 41 64 76 69 73 65 2c 20 | 79 6f 75 20 6d 75 73 74 |Advise, |you must|
|00000bf0| 20 67 69 76 65 20 74 68 | 65 20 72 65 63 69 70 69 | give th|e recipi|
|00000c00| 65 6e 74 73 20 61 6c 6c | 20 74 68 65 20 72 69 67 |ents all| the rig|
|00000c10| 68 74 73 20 74 68 61 74 | 20 79 6f 75 0a 58 68 61 |hts that| you.Xha|
|00000c20| 76 65 2e 20 20 59 6f 75 | 20 6d 75 73 74 20 6d 61 |ve. You| must ma|
|00000c30| 6b 65 20 73 75 72 65 20 | 74 68 61 74 20 74 68 65 |ke sure |that the|
|00000c40| 79 2c 20 74 6f 6f 2c 20 | 72 65 63 65 69 76 65 20 |y, too, |receive |
|00000c50| 6f 72 20 63 61 6e 20 67 | 65 74 20 74 68 65 0a 58 |or can g|et the.X|
|00000c60| 73 6f 75 72 63 65 20 63 | 6f 64 65 2e 20 20 41 6e |source c|ode. An|
|00000c70| 64 20 79 6f 75 20 6d 75 | 73 74 20 74 65 6c 6c 20 |d you mu|st tell |
|00000c80| 74 68 65 6d 20 74 68 65 | 69 72 20 72 69 67 68 74 |them the|ir right|
|00000c90| 73 2e 0a 58 0a 58 20 20 | 41 6c 73 6f 2c 20 66 6f |s..X.X |Also, fo|
|00000ca0| 72 20 6f 75 72 20 6f 77 | 6e 20 70 72 6f 74 65 63 |r our ow|n protec|
|00000cb0| 74 69 6f 6e 2c 20 77 65 | 20 6d 75 73 74 20 6d 61 |tion, we| must ma|
|00000cc0| 6b 65 20 63 65 72 74 61 | 69 6e 20 74 68 61 74 20 |ke certa|in that |
|00000cd0| 65 76 65 72 79 6f 6e 65 | 0a 58 66 69 6e 64 73 20 |everyone|.Xfinds |
|00000ce0| 6f 75 74 20 74 68 61 74 | 20 74 68 65 72 65 20 69 |out that| there i|
|00000cf0| 73 20 6e 6f 20 77 61 72 | 72 61 6e 74 79 20 66 6f |s no war|ranty fo|
|00000d00| 72 20 41 64 76 69 73 65 | 2e 20 20 49 66 20 41 64 |r Advise|. If Ad|
|00000d10| 76 69 73 65 20 69 73 20 | 6d 6f 64 69 66 69 65 64 |vise is |modified|
|00000d20| 20 62 79 0a 58 73 6f 6d | 65 6f 6e 65 20 65 6c 73 | by.Xsom|eone els|
|00000d30| 65 20 61 6e 64 20 70 61 | 73 73 65 64 20 6f 6e 2c |e and pa|ssed on,|
|00000d40| 20 77 65 20 77 61 6e 74 | 20 69 74 73 20 72 65 63 | we want| its rec|
|00000d50| 69 70 69 65 6e 74 73 20 | 74 6f 20 6b 6e 6f 77 20 |ipients |to know |
|00000d60| 74 68 61 74 20 77 68 61 | 74 0a 58 74 68 65 79 20 |that wha|t.Xthey |
|00000d70| 68 61 76 65 20 69 73 20 | 6e 6f 74 20 77 68 61 74 |have is |not what|
|00000d80| 20 77 65 20 64 69 73 74 | 72 69 62 75 74 65 64 2c | we dist|ributed,|
|00000d90| 20 73 6f 20 74 68 61 74 | 20 61 6e 79 20 70 72 6f | so that| any pro|
|00000da0| 62 6c 65 6d 73 20 69 6e | 74 72 6f 64 75 63 65 64 |blems in|troduced|
|00000db0| 0a 58 62 79 20 6f 74 68 | 65 72 73 20 77 69 6c 6c |.Xby oth|ers will|
|00000dc0| 20 6e 6f 74 20 72 65 66 | 6c 65 63 74 20 6f 6e 20 | not ref|lect on |
|00000dd0| 6f 75 72 20 72 65 70 75 | 74 61 74 69 6f 6e 2e 0a |our repu|tation..|
|00000de0| 58 0a 58 20 20 54 68 65 | 72 65 66 6f 72 65 20 77 |X.X The|refore w|
|00000df0| 65 20 28 52 69 63 68 61 | 72 64 20 53 74 61 6c 6c |e (Richa|rd Stall|
|00000e00| 6d 61 6e 20 61 6e 64 20 | 74 68 65 20 46 72 65 65 |man and |the Free|
|00000e10| 20 53 6f 66 74 77 61 72 | 65 20 46 6f 75 6e 64 61 | Softwar|e Founda|
|00000e20| 74 69 6f 6e 2c 0a 58 49 | 6e 63 2e 29 20 6d 61 6b |tion,.XI|nc.) mak|
|00000e30| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|00000e40| 74 65 72 6d 73 20 77 68 | 69 63 68 20 73 61 79 20 |terms wh|ich say |
|00000e50| 77 68 61 74 20 79 6f 75 | 20 6d 75 73 74 20 64 6f |what you| must do|
|00000e60| 20 74 6f 20 62 65 0a 58 | 61 6c 6c 6f 77 65 64 20 | to be.X|allowed |
|00000e70| 74 6f 20 64 69 73 74 72 | 69 62 75 74 65 20 6f 72 |to distr|ibute or|
|00000e80| 20 63 68 61 6e 67 65 20 | 41 64 76 69 73 65 2e 0a | change |Advise..|
|00000e90| 58 0a 58 0a 58 09 09 09 | 43 4f 50 59 49 4e 47 20 |X.X.X...|COPYING |
|00000ea0| 50 4f 4c 49 43 49 45 53 | 0a 58 0a 58 20 20 31 2e |POLICIES|.X.X 1.|
|00000eb0| 20 59 6f 75 20 6d 61 79 | 20 63 6f 70 79 20 61 6e | You may| copy an|
|00000ec0| 64 20 64 69 73 74 72 69 | 62 75 74 65 20 76 65 72 |d distri|bute ver|
|00000ed0| 62 61 74 69 6d 20 63 6f | 70 69 65 73 20 6f 66 20 |batim co|pies of |
|00000ee0| 41 64 76 69 73 65 20 73 | 6f 75 72 63 65 20 63 6f |Advise s|ource co|
|00000ef0| 64 65 0a 58 61 73 20 79 | 6f 75 20 72 65 63 65 69 |de.Xas y|ou recei|
|00000f00| 76 65 20 69 74 2c 20 69 | 6e 20 61 6e 79 20 6d 65 |ve it, i|n any me|
|00000f10| 64 69 75 6d 2c 20 70 72 | 6f 76 69 64 65 64 20 74 |dium, pr|ovided t|
|00000f20| 68 61 74 20 79 6f 75 20 | 63 6f 6e 73 70 69 63 75 |hat you |conspicu|
|00000f30| 6f 75 73 6c 79 20 61 6e | 64 0a 58 61 70 70 72 6f |ously an|d.Xappro|
|00000f40| 70 72 69 61 74 65 6c 79 | 20 70 75 62 6c 69 73 68 |priately| publish|
|00000f50| 20 6f 6e 20 65 61 63 68 | 20 63 6f 70 79 20 61 20 | on each| copy a |
|00000f60| 76 61 6c 69 64 20 63 6f | 70 79 72 69 67 68 74 20 |valid co|pyright |
|00000f70| 6e 6f 74 69 63 65 20 22 | 43 6f 70 79 72 69 67 68 |notice "|Copyrigh|
|00000f80| 74 0a 58 28 43 29 20 31 | 39 38 38 20 46 72 65 65 |t.X(C) 1|988 Free|
|00000f90| 20 53 6f 66 74 77 61 72 | 65 20 46 6f 75 6e 64 61 | Softwar|e Founda|
|00000fa0| 74 69 6f 6e 2c 20 49 6e | 63 2e 22 20 28 6f 72 20 |tion, In|c." (or |
|00000fb0| 77 69 74 68 20 77 68 61 | 74 65 76 65 72 20 79 65 |with wha|tever ye|
|00000fc0| 61 72 20 69 73 0a 58 61 | 70 70 72 6f 70 72 69 61 |ar is.Xa|ppropria|
|00000fd0| 74 65 29 3b 20 6b 65 65 | 70 20 69 6e 74 61 63 74 |te); kee|p intact|
|00000fe0| 20 74 68 65 20 6e 6f 74 | 69 63 65 73 20 6f 6e 20 | the not|ices on |
|00000ff0| 61 6c 6c 20 66 69 6c 65 | 73 20 74 68 61 74 20 72 |all file|s that r|
|00001000| 65 66 65 72 20 74 6f 20 | 74 68 69 73 0a 58 4c 69 |efer to |this.XLi|
|00001010| 63 65 6e 73 65 20 41 67 | 72 65 65 6d 65 6e 74 20 |cense Ag|reement |
|00001020| 61 6e 64 20 74 6f 20 74 | 68 65 20 61 62 73 65 6e |and to t|he absen|
|00001030| 63 65 20 6f 66 20 61 6e | 79 20 77 61 72 72 61 6e |ce of an|y warran|
|00001040| 74 79 3b 20 61 6e 64 20 | 67 69 76 65 20 61 6e 79 |ty; and |give any|
|00001050| 0a 58 6f 74 68 65 72 20 | 72 65 63 69 70 69 65 6e |.Xother |recipien|
|00001060| 74 73 20 6f 66 20 74 68 | 65 20 41 64 76 69 73 65 |ts of th|e Advise|
|00001070| 20 70 72 6f 67 72 61 6d | 20 61 20 63 6f 70 79 20 | program| a copy |
|00001080| 6f 66 20 74 68 69 73 20 | 4c 69 63 65 6e 73 65 0a |of this |License.|
|00001090| 58 41 67 72 65 65 6d 65 | 6e 74 20 61 6c 6f 6e 67 |XAgreeme|nt along|
|000010a0| 20 77 69 74 68 20 74 68 | 65 20 70 72 6f 67 72 61 | with th|e progra|
|000010b0| 6d 2e 20 20 59 6f 75 20 | 6d 61 79 20 63 68 61 72 |m. You |may char|
|000010c0| 67 65 20 61 20 64 69 73 | 74 72 69 62 75 74 69 6f |ge a dis|tributio|
|000010d0| 6e 20 66 65 65 0a 58 66 | 6f 72 20 74 68 65 20 70 |n fee.Xf|or the p|
|000010e0| 68 79 73 69 63 61 6c 20 | 61 63 74 20 6f 66 20 74 |hysical |act of t|
|000010f0| 72 61 6e 73 66 65 72 72 | 69 6e 67 20 61 20 63 6f |ransferr|ing a co|
|00001100| 70 79 2e 0a 58 0a 58 20 | 20 32 2e 20 59 6f 75 20 |py..X.X | 2. You |
|00001110| 6d 61 79 20 6d 6f 64 69 | 66 79 20 79 6f 75 72 20 |may modi|fy your |
|00001120| 63 6f 70 79 20 6f 72 20 | 63 6f 70 69 65 73 20 6f |copy or |copies o|
|00001130| 66 20 41 64 76 69 73 65 | 20 6f 72 20 61 6e 79 20 |f Advise| or any |
|00001140| 70 6f 72 74 69 6f 6e 20 | 6f 66 20 69 74 2c 0a 58 |portion |of it,.X|
|00001150| 61 6e 64 20 63 6f 70 79 | 20 61 6e 64 20 64 69 73 |and copy| and dis|
|00001160| 74 72 69 62 75 74 65 20 | 73 75 63 68 20 6d 6f 64 |tribute |such mod|
|00001170| 69 66 69 63 61 74 69 6f | 6e 73 20 75 6e 64 65 72 |ificatio|ns under|
|00001180| 20 74 68 65 20 74 65 72 | 6d 73 20 6f 66 0a 58 50 | the ter|ms of.XP|
|00001190| 61 72 61 67 72 61 70 68 | 20 31 20 61 62 6f 76 65 |aragraph| 1 above|
|000011a0| 2c 20 70 72 6f 76 69 64 | 65 64 20 74 68 61 74 20 |, provid|ed that |
|000011b0| 79 6f 75 20 61 6c 73 6f | 20 64 6f 20 74 68 65 20 |you also| do the |
|000011c0| 66 6f 6c 6c 6f 77 69 6e | 67 3a 0a 58 0a 58 20 20 |followin|g:.X.X |
|000011d0| 20 20 61 29 20 63 61 75 | 73 65 20 74 68 65 20 6d | a) cau|se the m|
|000011e0| 6f 64 69 66 69 65 64 20 | 66 69 6c 65 73 20 74 6f |odified |files to|
|000011f0| 20 63 61 72 72 79 20 70 | 72 6f 6d 69 6e 65 6e 74 | carry p|rominent|
|00001200| 20 6e 6f 74 69 63 65 73 | 20 73 74 61 74 69 6e 67 | notices| stating|
|00001210| 0a 58 20 20 20 20 74 68 | 61 74 20 79 6f 75 20 63 |.X th|at you c|
|00001220| 68 61 6e 67 65 64 20 74 | 68 65 20 66 69 6c 65 73 |hanged t|he files|
|00001230| 20 61 6e 64 20 74 68 65 | 20 64 61 74 65 20 6f 66 | and the| date of|
|00001240| 20 61 6e 79 20 63 68 61 | 6e 67 65 3b 20 61 6e 64 | any cha|nge; and|
|00001250| 0a 58 0a 58 20 20 20 20 | 62 29 20 63 61 75 73 65 |.X.X |b) cause|
|00001260| 20 74 68 65 20 77 68 6f | 6c 65 20 6f 66 20 61 6e | the who|le of an|
|00001270| 79 20 77 6f 72 6b 20 74 | 68 61 74 20 79 6f 75 20 |y work t|hat you |
|00001280| 64 69 73 74 72 69 62 75 | 74 65 20 6f 72 20 70 75 |distribu|te or pu|
|00001290| 62 6c 69 73 68 2c 0a 58 | 20 20 20 20 74 68 61 74 |blish,.X| that|
|000012a0| 20 69 6e 20 77 68 6f 6c | 65 20 6f 72 20 69 6e 20 | in whol|e or in |
|000012b0| 70 61 72 74 20 63 6f 6e | 74 61 69 6e 73 20 6f 72 |part con|tains or|
|000012c0| 20 69 73 20 61 20 64 65 | 72 69 76 61 74 69 76 65 | is a de|rivative|
|000012d0| 20 6f 66 20 41 64 76 69 | 73 65 20 6f 72 0a 58 20 | of Advi|se or.X |
|000012e0| 20 20 20 61 6e 79 20 70 | 61 72 74 20 74 68 65 72 | any p|art ther|
|000012f0| 65 6f 66 2c 20 74 6f 20 | 62 65 20 6c 69 63 65 6e |eof, to |be licen|
|00001300| 73 65 64 20 61 74 20 6e | 6f 20 63 68 61 72 67 65 |sed at n|o charge|
|00001310| 20 74 6f 20 61 6c 6c 20 | 74 68 69 72 64 0a 58 20 | to all |third.X |
|00001320| 20 20 20 70 61 72 74 69 | 65 73 20 6f 6e 20 74 65 | parti|es on te|
|00001330| 72 6d 73 20 69 64 65 6e | 74 69 63 61 6c 20 74 6f |rms iden|tical to|
|00001340| 20 74 68 6f 73 65 20 63 | 6f 6e 74 61 69 6e 65 64 | those c|ontained|
|00001350| 20 69 6e 20 74 68 69 73 | 20 4c 69 63 65 6e 73 65 | in this| License|
|00001360| 0a 58 20 20 20 20 41 67 | 72 65 65 6d 65 6e 74 20 |.X Ag|reement |
|00001370| 28 65 78 63 65 70 74 20 | 74 68 61 74 20 79 6f 75 |(except |that you|
|00001380| 20 6d 61 79 20 63 68 6f | 6f 73 65 20 74 6f 20 67 | may cho|ose to g|
|00001390| 72 61 6e 74 20 6d 6f 72 | 65 20 65 78 74 65 6e 73 |rant mor|e extens|
|000013a0| 69 76 65 0a 58 20 20 20 | 20 77 61 72 72 61 6e 74 |ive.X | warrant|
|000013b0| 79 20 70 72 6f 74 65 63 | 74 69 6f 6e 20 74 6f 20 |y protec|tion to |
|000013c0| 73 6f 6d 65 20 6f 72 20 | 61 6c 6c 20 74 68 69 72 |some or |all thir|
|000013d0| 64 20 70 61 72 74 69 65 | 73 2c 20 61 74 20 79 6f |d partie|s, at yo|
|000013e0| 75 72 20 6f 70 74 69 6f | 6e 29 2e 0a 58 0a 58 20 |ur optio|n)..X.X |
|000013f0| 20 20 20 63 29 20 59 6f | 75 20 6d 61 79 20 63 68 | c) Yo|u may ch|
|00001400| 61 72 67 65 20 61 20 64 | 69 73 74 72 69 62 75 74 |arge a d|istribut|
|00001410| 69 6f 6e 20 66 65 65 20 | 66 6f 72 20 74 68 65 20 |ion fee |for the |
|00001420| 70 68 79 73 69 63 61 6c | 20 61 63 74 20 6f 66 0a |physical| act of.|
|00001430| 58 20 20 20 20 74 72 61 | 6e 73 66 65 72 72 69 6e |X tra|nsferrin|
|00001440| 67 20 61 20 63 6f 70 79 | 2c 20 61 6e 64 20 79 6f |g a copy|, and yo|
|00001450| 75 20 6d 61 79 20 61 74 | 20 79 6f 75 72 20 6f 70 |u may at| your op|
|00001460| 74 69 6f 6e 20 6f 66 66 | 65 72 20 77 61 72 72 61 |tion off|er warra|
|00001470| 6e 74 79 0a 58 20 20 20 | 20 70 72 6f 74 65 63 74 |nty.X | protect|
|00001480| 69 6f 6e 20 69 6e 20 65 | 78 63 68 61 6e 67 65 20 |ion in e|xchange |
|00001490| 66 6f 72 20 61 20 66 65 | 65 2e 0a 58 0a 58 4d 65 |for a fe|e..X.XMe|
|000014a0| 72 65 20 61 67 67 72 65 | 67 61 74 69 6f 6e 20 6f |re aggre|gation o|
|000014b0| 66 20 61 6e 6f 74 68 65 | 72 20 75 6e 72 65 6c 61 |f anothe|r unrela|
|000014c0| 74 65 64 20 70 72 6f 67 | 72 61 6d 20 77 69 74 68 |ted prog|ram with|
|000014d0| 20 74 68 69 73 20 70 72 | 6f 67 72 61 6d 20 28 6f | this pr|ogram (o|
|000014e0| 72 20 69 74 73 0a 58 64 | 65 72 69 76 61 74 69 76 |r its.Xd|erivativ|
|000014f0| 65 29 20 6f 6e 20 61 20 | 76 6f 6c 75 6d 65 20 6f |e) on a |volume o|
|00001500| 66 20 61 20 73 74 6f 72 | 61 67 65 20 6f 72 20 64 |f a stor|age or d|
|00001510| 69 73 74 72 69 62 75 74 | 69 6f 6e 20 6d 65 64 69 |istribut|ion medi|
|00001520| 75 6d 20 64 6f 65 73 20 | 6e 6f 74 20 62 72 69 6e |um does |not brin|
|00001530| 67 0a 58 74 68 65 20 6f | 74 68 65 72 20 70 72 6f |g.Xthe o|ther pro|
|00001540| 67 72 61 6d 20 75 6e 64 | 65 72 20 74 68 65 20 73 |gram und|er the s|
|00001550| 63 6f 70 65 20 6f 66 20 | 74 68 65 73 65 20 74 65 |cope of |these te|
|00001560| 72 6d 73 2e 0a 58 0a 58 | 20 20 33 2e 20 59 6f 75 |rms..X.X| 3. You|
|00001570| 20 6d 61 79 20 63 6f 70 | 79 20 61 6e 64 20 64 69 | may cop|y and di|
|00001580| 73 74 72 69 62 75 74 65 | 20 41 64 76 69 73 65 20 |stribute| Advise |
|00001590| 28 6f 72 20 61 20 70 6f | 72 74 69 6f 6e 20 6f 72 |(or a po|rtion or|
|000015a0| 20 64 65 72 69 76 61 74 | 69 76 65 20 6f 66 20 69 | derivat|ive of i|
|000015b0| 74 2c 0a 58 75 6e 64 65 | 72 20 50 61 72 61 67 72 |t,.Xunde|r Paragr|
|000015c0| 61 70 68 20 32 29 20 69 | 6e 20 6f 62 6a 65 63 74 |aph 2) i|n object|
|000015d0| 20 63 6f 64 65 20 6f 72 | 20 65 78 65 63 75 74 61 | code or| executa|
|000015e0| 62 6c 65 20 66 6f 72 6d | 20 75 6e 64 65 72 20 74 |ble form| under t|
|000015f0| 68 65 20 74 65 72 6d 73 | 20 6f 66 0a 58 50 61 72 |he terms| of.XPar|
|00001600| 61 67 72 61 70 68 73 20 | 31 20 61 6e 64 20 32 20 |agraphs |1 and 2 |
|00001610| 61 62 6f 76 65 20 70 72 | 6f 76 69 64 65 64 20 74 |above pr|ovided t|
|00001620| 68 61 74 20 79 6f 75 20 | 61 6c 73 6f 20 64 6f 20 |hat you |also do |
|00001630| 6f 6e 65 20 6f 66 20 74 | 68 65 20 66 6f 6c 6c 6f |one of t|he follo|
|00001640| 77 69 6e 67 3a 0a 58 0a | 58 20 20 20 20 61 29 20 |wing:.X.|X a) |
|00001650| 61 63 63 6f 6d 70 61 6e | 79 20 69 74 20 77 69 74 |accompan|y it wit|
|00001660| 68 20 74 68 65 20 63 6f | 6d 70 6c 65 74 65 20 63 |h the co|mplete c|
|00001670| 6f 72 72 65 73 70 6f 6e | 64 69 6e 67 20 6d 61 63 |orrespon|ding mac|
|00001680| 68 69 6e 65 2d 72 65 61 | 64 61 62 6c 65 0a 58 20 |hine-rea|dable.X |
|00001690| 20 20 20 73 6f 75 72 63 | 65 20 63 6f 64 65 2c 20 | sourc|e code, |
|000016a0| 77 68 69 63 68 20 6d 75 | 73 74 20 62 65 20 64 69 |which mu|st be di|
|000016b0| 73 74 72 69 62 75 74 65 | 64 20 75 6e 64 65 72 20 |stribute|d under |
|000016c0| 74 68 65 20 74 65 72 6d | 73 20 6f 66 0a 58 20 20 |the term|s of.X |
|000016d0| 20 20 50 61 72 61 67 72 | 61 70 68 73 20 31 20 61 | Paragr|aphs 1 a|
|000016e0| 6e 64 20 32 20 61 62 6f | 76 65 3b 20 6f 72 2c 0a |nd 2 abo|ve; or,.|
|000016f0| 58 0a 58 20 20 20 20 62 | 29 20 61 63 63 6f 6d 70 |X.X b|) accomp|
|00001700| 61 6e 79 20 69 74 20 77 | 69 74 68 20 61 20 77 72 |any it w|ith a wr|
|00001710| 69 74 74 65 6e 20 6f 66 | 66 65 72 2c 20 76 61 6c |itten of|fer, val|
|00001720| 69 64 20 66 6f 72 20 61 | 74 20 6c 65 61 73 74 20 |id for a|t least |
|00001730| 74 68 72 65 65 0a 58 20 | 20 20 20 79 65 61 72 73 |three.X | years|
|00001740| 2c 20 74 6f 20 67 69 76 | 65 20 61 6e 79 20 74 68 |, to giv|e any th|
|00001750| 69 72 64 20 70 61 72 74 | 79 20 66 72 65 65 20 28 |ird part|y free (|
|00001760| 65 78 63 65 70 74 20 66 | 6f 72 20 61 20 6e 6f 6d |except f|or a nom|
|00001770| 69 6e 61 6c 0a 58 20 20 | 20 20 73 68 69 70 70 69 |inal.X | shippi|
|00001780| 6e 67 20 63 68 61 72 67 | 65 29 20 61 20 63 6f 6d |ng charg|e) a com|
|00001790| 70 6c 65 74 65 20 6d 61 | 63 68 69 6e 65 2d 72 65 |plete ma|chine-re|
|000017a0| 61 64 61 62 6c 65 20 63 | 6f 70 79 20 6f 66 20 74 |adable c|opy of t|
|000017b0| 68 65 0a 58 20 20 20 20 | 63 6f 72 72 65 73 70 6f |he.X |correspo|
|000017c0| 6e 64 69 6e 67 20 73 6f | 75 72 63 65 20 63 6f 64 |nding so|urce cod|
|000017d0| 65 2c 20 74 6f 20 62 65 | 20 64 69 73 74 72 69 62 |e, to be| distrib|
|000017e0| 75 74 65 64 20 75 6e 64 | 65 72 20 74 68 65 20 74 |uted und|er the t|
|000017f0| 65 72 6d 73 20 6f 66 0a | 58 20 20 20 20 50 61 72 |erms of.|X Par|
|00001800| 61 67 72 61 70 68 73 20 | 31 20 61 6e 64 20 32 20 |agraphs |1 and 2 |
|00001810| 61 62 6f 76 65 3b 20 6f | 72 2c 0a 58 0a 58 20 20 |above; o|r,.X.X |
|00001820| 20 20 63 29 20 61 63 63 | 6f 6d 70 61 6e 79 20 69 | c) acc|ompany i|
|00001830| 74 20 77 69 74 68 20 74 | 68 65 20 69 6e 66 6f 72 |t with t|he infor|
|00001840| 6d 61 74 69 6f 6e 20 79 | 6f 75 20 72 65 63 65 69 |mation y|ou recei|
|00001850| 76 65 64 20 61 73 20 74 | 6f 20 77 68 65 72 65 20 |ved as t|o where |
|00001860| 74 68 65 0a 58 20 20 20 | 20 63 6f 72 72 65 73 70 |the.X | corresp|
|00001870| 6f 6e 64 69 6e 67 20 73 | 6f 75 72 63 65 20 63 6f |onding s|ource co|
|00001880| 64 65 20 6d 61 79 20 62 | 65 20 6f 62 74 61 69 6e |de may b|e obtain|
|00001890| 65 64 2e 20 20 28 54 68 | 69 73 20 61 6c 74 65 72 |ed. (Th|is alter|
|000018a0| 6e 61 74 69 76 65 20 69 | 73 0a 58 20 20 20 20 61 |native i|s.X a|
|000018b0| 6c 6c 6f 77 65 64 20 6f | 6e 6c 79 20 66 6f 72 20 |llowed o|nly for |
|000018c0| 6e 6f 6e 63 6f 6d 6d 65 | 72 63 69 61 6c 20 64 69 |noncomme|rcial di|
|000018d0| 73 74 72 69 62 75 74 69 | 6f 6e 20 61 6e 64 20 6f |stributi|on and o|
|000018e0| 6e 6c 79 20 69 66 20 79 | 6f 75 0a 58 20 20 20 20 |nly if y|ou.X |
|000018f0| 72 65 63 65 69 76 65 64 | 20 74 68 65 20 70 72 6f |received| the pro|
|00001900| 67 72 61 6d 20 69 6e 20 | 6f 62 6a 65 63 74 20 63 |gram in |object c|
|00001910| 6f 64 65 20 6f 72 20 65 | 78 65 63 75 74 61 62 6c |ode or e|xecutabl|
|00001920| 65 20 66 6f 72 6d 20 61 | 6c 6f 6e 65 2e 29 0a 58 |e form a|lone.).X|
|00001930| 0a 58 46 6f 72 20 61 6e | 20 65 78 65 63 75 74 61 |.XFor an| executa|
|00001940| 62 6c 65 20 66 69 6c 65 | 2c 20 63 6f 6d 70 6c 65 |ble file|, comple|
|00001950| 74 65 20 73 6f 75 72 63 | 65 20 63 6f 64 65 20 6d |te sourc|e code m|
|00001960| 65 61 6e 73 20 61 6c 6c | 20 74 68 65 20 73 6f 75 |eans all| the sou|
|00001970| 72 63 65 20 63 6f 64 65 | 20 66 6f 72 0a 58 61 6c |rce code| for.Xal|
|00001980| 6c 20 6d 6f 64 75 6c 65 | 73 20 69 74 20 63 6f 6e |l module|s it con|
|00001990| 74 61 69 6e 73 3b 20 62 | 75 74 2c 20 61 73 20 61 |tains; b|ut, as a|
|000019a0| 20 73 70 65 63 69 61 6c | 20 65 78 63 65 70 74 69 | special| excepti|
|000019b0| 6f 6e 2c 20 69 74 20 6e | 65 65 64 20 6e 6f 74 20 |on, it n|eed not |
|000019c0| 69 6e 63 6c 75 64 65 0a | 58 73 6f 75 72 63 65 20 |include.|Xsource |
|000019d0| 63 6f 64 65 20 66 6f 72 | 20 6d 6f 64 75 6c 65 73 |code for| modules|
|000019e0| 20 77 68 69 63 68 20 61 | 72 65 20 73 74 61 6e 64 | which a|re stand|
|000019f0| 61 72 64 20 6c 69 62 72 | 61 72 69 65 73 20 74 68 |ard libr|aries th|
|00001a00| 61 74 20 61 63 63 6f 6d | 70 61 6e 79 20 74 68 65 |at accom|pany the|
|00001a10| 0a 58 6f 70 65 72 61 74 | 69 6e 67 20 73 79 73 74 |.Xoperat|ing syst|
|00001a20| 65 6d 20 6f 6e 20 77 68 | 69 63 68 20 74 68 65 20 |em on wh|ich the |
|00001a30| 65 78 65 63 75 74 61 62 | 6c 65 20 66 69 6c 65 20 |executab|le file |
|00001a40| 72 75 6e 73 2e 0a 58 0a | 58 20 20 34 2e 20 59 6f |runs..X.|X 4. Yo|
|00001a50| 75 20 6d 61 79 20 6e 6f | 74 20 63 6f 70 79 2c 20 |u may no|t copy, |
|00001a60| 73 75 62 6c 69 63 65 6e | 73 65 2c 20 64 69 73 74 |sublicen|se, dist|
|00001a70| 72 69 62 75 74 65 20 6f | 72 20 74 72 61 6e 73 66 |ribute o|r transf|
|00001a80| 65 72 20 41 64 76 69 73 | 65 0a 58 65 78 63 65 70 |er Advis|e.Xexcep|
|00001a90| 74 20 61 73 20 65 78 70 | 72 65 73 73 6c 79 20 70 |t as exp|ressly p|
|00001aa0| 72 6f 76 69 64 65 64 20 | 75 6e 64 65 72 20 74 68 |rovided |under th|
|00001ab0| 69 73 20 4c 69 63 65 6e | 73 65 20 41 67 72 65 65 |is Licen|se Agree|
|00001ac0| 6d 65 6e 74 2e 20 20 41 | 6e 79 20 61 74 74 65 6d |ment. A|ny attem|
|00001ad0| 70 74 0a 58 6f 74 68 65 | 72 77 69 73 65 20 74 6f |pt.Xothe|rwise to|
|00001ae0| 20 63 6f 70 79 2c 20 73 | 75 62 6c 69 63 65 6e 73 | copy, s|ublicens|
|00001af0| 65 2c 20 64 69 73 74 72 | 69 62 75 74 65 20 6f 72 |e, distr|ibute or|
|00001b00| 20 74 72 61 6e 73 66 65 | 72 20 41 64 76 69 73 65 | transfe|r Advise|
|00001b10| 20 69 73 20 76 6f 69 64 | 20 61 6e 64 0a 58 79 6f | is void| and.Xyo|
|00001b20| 75 72 20 72 69 67 68 74 | 73 20 74 6f 20 75 73 65 |ur right|s to use|
|00001b30| 20 74 68 65 20 70 72 6f | 67 72 61 6d 20 75 6e 64 | the pro|gram und|
|00001b40| 65 72 20 74 68 69 73 20 | 4c 69 63 65 6e 73 65 20 |er this |License |
|00001b50| 61 67 72 65 65 6d 65 6e | 74 20 73 68 61 6c 6c 20 |agreemen|t shall |
|00001b60| 62 65 0a 58 61 75 74 6f | 6d 61 74 69 63 61 6c 6c |be.Xauto|maticall|
|00001b70| 79 20 74 65 72 6d 69 6e | 61 74 65 64 2e 20 20 48 |y termin|ated. H|
|00001b80| 6f 77 65 76 65 72 2c 20 | 70 61 72 74 69 65 73 20 |owever, |parties |
|00001b90| 77 68 6f 20 68 61 76 65 | 20 72 65 63 65 69 76 65 |who have| receive|
|00001ba0| 64 20 63 6f 6d 70 75 74 | 65 72 0a 58 73 6f 66 74 |d comput|er.Xsoft|
|00001bb0| 77 61 72 65 20 70 72 6f | 67 72 61 6d 73 20 66 72 |ware pro|grams fr|
|00001bc0| 6f 6d 20 79 6f 75 20 77 | 69 74 68 20 74 68 69 73 |om you w|ith this|
|00001bd0| 20 4c 69 63 65 6e 73 65 | 20 41 67 72 65 65 6d 65 | License| Agreeme|
|00001be0| 6e 74 20 77 69 6c 6c 20 | 6e 6f 74 20 68 61 76 65 |nt will |not have|
|00001bf0| 0a 58 74 68 65 69 72 20 | 6c 69 63 65 6e 73 65 73 |.Xtheir |licenses|
|00001c00| 20 74 65 72 6d 69 6e 61 | 74 65 64 20 73 6f 20 6c | termina|ted so l|
|00001c10| 6f 6e 67 20 61 73 20 73 | 75 63 68 20 70 61 72 74 |ong as s|uch part|
|00001c20| 69 65 73 20 72 65 6d 61 | 69 6e 20 69 6e 20 66 75 |ies rema|in in fu|
|00001c30| 6c 6c 20 63 6f 6d 70 6c | 69 61 6e 63 65 2e 0a 58 |ll compl|iance..X|
|00001c40| 0a 58 20 20 35 2e 20 49 | 66 20 79 6f 75 20 77 69 |.X 5. I|f you wi|
|00001c50| 73 68 20 74 6f 20 69 6e | 63 6f 72 70 6f 72 61 74 |sh to in|corporat|
|00001c60| 65 20 70 61 72 74 73 20 | 6f 66 20 41 64 76 69 73 |e parts |of Advis|
|00001c70| 65 20 69 6e 74 6f 20 6f | 74 68 65 72 20 66 72 65 |e into o|ther fre|
|00001c80| 65 20 70 72 6f 67 72 61 | 6d 73 0a 58 77 68 6f 73 |e progra|ms.Xwhos|
|00001c90| 65 20 64 69 73 74 72 69 | 62 75 74 69 6f 6e 20 63 |e distri|bution c|
|00001ca0| 6f 6e 64 69 74 69 6f 6e | 73 20 61 72 65 20 64 69 |ondition|s are di|
|00001cb0| 66 66 65 72 65 6e 74 2c | 20 77 72 69 74 65 20 74 |fferent,| write t|
|00001cc0| 6f 20 74 68 65 20 46 72 | 65 65 20 53 6f 66 74 77 |o the Fr|ee Softw|
|00001cd0| 61 72 65 0a 58 46 6f 75 | 6e 64 61 74 69 6f 6e 20 |are.XFou|ndation |
|00001ce0| 61 74 20 36 37 35 20 4d | 61 73 73 20 41 76 65 2c |at 675 M|ass Ave,|
|00001cf0| 20 43 61 6d 62 72 69 64 | 67 65 2c 20 4d 41 20 30 | Cambrid|ge, MA 0|
|00001d00| 32 31 33 39 2e 20 20 57 | 65 20 68 61 76 65 20 6e |2139. W|e have n|
|00001d10| 6f 74 20 79 65 74 20 77 | 6f 72 6b 65 64 0a 58 6f |ot yet w|orked.Xo|
|00001d20| 75 74 20 61 20 73 69 6d | 70 6c 65 20 72 75 6c 65 |ut a sim|ple rule|
|00001d30| 20 74 68 61 74 20 63 61 | 6e 20 62 65 20 73 74 61 | that ca|n be sta|
|00001d40| 74 65 64 20 68 65 72 65 | 2c 20 62 75 74 20 77 65 |ted here|, but we|
|00001d50| 20 77 69 6c 6c 20 6f 66 | 74 65 6e 20 70 65 72 6d | will of|ten perm|
|00001d60| 69 74 20 74 68 69 73 2e | 0a 58 57 65 20 77 69 6c |it this.|.XWe wil|
|00001d70| 6c 20 62 65 20 67 75 69 | 64 65 64 20 62 79 20 74 |l be gui|ded by t|
|00001d80| 68 65 20 74 77 6f 20 67 | 6f 61 6c 73 20 6f 66 20 |he two g|oals of |
|00001d90| 70 72 65 73 65 72 76 69 | 6e 67 20 74 68 65 20 66 |preservi|ng the f|
|00001da0| 72 65 65 20 73 74 61 74 | 75 73 20 6f 66 20 61 6c |ree stat|us of al|
|00001db0| 6c 0a 58 64 65 72 69 76 | 61 74 69 76 65 73 20 6f |l.Xderiv|atives o|
|00001dc0| 66 20 6f 75 72 20 66 72 | 65 65 20 73 6f 66 74 77 |f our fr|ee softw|
|00001dd0| 61 72 65 20 61 6e 64 20 | 6f 66 20 70 72 6f 6d 6f |are and |of promo|
|00001de0| 74 69 6e 67 20 74 68 65 | 20 73 68 61 72 69 6e 67 |ting the| sharing|
|00001df0| 20 61 6e 64 20 72 65 75 | 73 65 20 6f 66 0a 58 73 | and reu|se of.Xs|
|00001e00| 6f 66 74 77 61 72 65 2e | 0a 58 0a 58 59 6f 75 72 |oftware.|.X.XYour|
|00001e10| 20 63 6f 6d 6d 65 6e 74 | 73 20 61 6e 64 20 73 75 | comment|s and su|
|00001e20| 67 67 65 73 74 69 6f 6e | 73 20 61 62 6f 75 74 20 |ggestion|s about |
|00001e30| 6f 75 72 20 6c 69 63 65 | 6e 73 69 6e 67 20 70 6f |our lice|nsing po|
|00001e40| 6c 69 63 69 65 73 20 61 | 6e 64 20 6f 75 72 0a 58 |licies a|nd our.X|
|00001e50| 73 6f 66 74 77 61 72 65 | 20 61 72 65 20 77 65 6c |software| are wel|
|00001e60| 63 6f 6d 65 21 20 20 50 | 6c 65 61 73 65 20 63 6f |come! P|lease co|
|00001e70| 6e 74 61 63 74 20 74 68 | 65 20 46 72 65 65 20 53 |ntact th|e Free S|
|00001e80| 6f 66 74 77 61 72 65 20 | 46 6f 75 6e 64 61 74 69 |oftware |Foundati|
|00001e90| 6f 6e 2c 20 49 6e 63 2e | 2c 0a 58 36 37 35 20 4d |on, Inc.|,.X675 M|
|00001ea0| 61 73 73 20 41 76 65 2c | 20 43 61 6d 62 72 69 64 |ass Ave,| Cambrid|
|00001eb0| 67 65 2c 20 4d 41 20 30 | 32 31 33 39 2c 20 6f 72 |ge, MA 0|2139, or|
|00001ec0| 20 63 61 6c 6c 20 28 36 | 31 37 29 20 38 37 36 2d | call (6|17) 876-|
|00001ed0| 33 32 39 36 2e 0a 58 0a | 58 09 09 20 20 20 20 20 |3296..X.|X.. |
|00001ee0| 20 20 4e 4f 20 57 41 52 | 52 41 4e 54 59 0a 58 0a | NO WAR|RANTY.X.|
|00001ef0| 58 20 20 42 45 43 41 55 | 53 45 20 41 44 56 49 53 |X BECAU|SE ADVIS|
|00001f00| 45 20 49 53 20 4c 49 43 | 45 4e 53 45 44 20 46 52 |E IS LIC|ENSED FR|
|00001f10| 45 45 20 4f 46 20 43 48 | 41 52 47 45 2c 20 57 45 |EE OF CH|ARGE, WE|
|00001f20| 20 50 52 4f 56 49 44 45 | 20 41 42 53 4f 4c 55 54 | PROVIDE| ABSOLUT|
|00001f30| 45 4c 59 20 4e 4f 0a 58 | 57 41 52 52 41 4e 54 59 |ELY NO.X|WARRANTY|
|00001f40| 2c 20 54 4f 20 54 48 45 | 20 45 58 54 45 4e 54 20 |, TO THE| EXTENT |
|00001f50| 50 45 52 4d 49 54 54 45 | 44 20 42 59 20 41 50 50 |PERMITTE|D BY APP|
|00001f60| 4c 49 43 41 42 4c 45 20 | 53 54 41 54 45 20 4c 41 |LICABLE |STATE LA|
|00001f70| 57 2e 20 20 45 58 43 45 | 50 54 0a 58 57 48 45 4e |W. EXCE|PT.XWHEN|
|00001f80| 20 4f 54 48 45 52 57 49 | 53 45 20 53 54 41 54 45 | OTHERWI|SE STATE|
|00001f90| 44 20 49 4e 20 57 52 49 | 54 49 4e 47 2c 20 46 52 |D IN WRI|TING, FR|
|00001fa0| 45 45 20 53 4f 46 54 57 | 41 52 45 20 46 4f 55 4e |EE SOFTW|ARE FOUN|
|00001fb0| 44 41 54 49 4f 4e 2c 20 | 49 4e 43 2c 0a 58 52 49 |DATION, |INC,.XRI|
|00001fc0| 43 48 41 52 44 20 4d 2e | 20 53 54 41 4c 4c 4d 41 |CHARD M.| STALLMA|
|00001fd0| 4e 20 41 4e 44 2f 4f 52 | 20 4f 54 48 45 52 20 50 |N AND/OR| OTHER P|
|00001fe0| 41 52 54 49 45 53 20 50 | 52 4f 56 49 44 45 20 41 |ARTIES P|ROVIDE A|
|00001ff0| 44 56 49 53 45 20 22 41 | 53 20 49 53 22 20 57 49 |DVISE "A|S IS" WI|
|00002000| 54 48 4f 55 54 0a 58 57 | 41 52 52 41 4e 54 59 20 |THOUT.XW|ARRANTY |
|00002010| 4f 46 20 41 4e 59 20 4b | 49 4e 44 2c 20 45 49 54 |OF ANY K|IND, EIT|
|00002020| 48 45 52 20 45 58 50 52 | 45 53 53 45 44 20 4f 52 |HER EXPR|ESSED OR|
|00002030| 20 49 4d 50 4c 49 45 44 | 2c 20 49 4e 43 4c 55 44 | IMPLIED|, INCLUD|
|00002040| 49 4e 47 2c 20 42 55 54 | 20 4e 4f 54 0a 58 4c 49 |ING, BUT| NOT.XLI|
|00002050| 4d 49 54 45 44 20 54 4f | 2c 20 54 48 45 20 49 4d |MITED TO|, THE IM|
|00002060| 50 4c 49 45 44 20 57 41 | 52 52 41 4e 54 49 45 53 |PLIED WA|RRANTIES|
|00002070| 20 4f 46 20 4d 45 52 43 | 48 41 4e 54 41 42 49 4c | OF MERC|HANTABIL|
|00002080| 49 54 59 20 41 4e 44 20 | 46 49 54 4e 45 53 53 20 |ITY AND |FITNESS |
|00002090| 46 4f 52 0a 58 41 20 50 | 41 52 54 49 43 55 4c 41 |FOR.XA P|ARTICULA|
|000020a0| 52 20 50 55 52 50 4f 53 | 45 2e 20 20 54 48 45 20 |R PURPOS|E. THE |
|000020b0| 45 4e 54 49 52 45 20 52 | 49 53 4b 20 41 53 20 54 |ENTIRE R|ISK AS T|
|000020c0| 4f 20 54 48 45 20 51 55 | 41 4c 49 54 59 20 41 4e |O THE QU|ALITY AN|
|000020d0| 44 0a 58 50 45 52 46 4f | 52 4d 41 4e 43 45 20 4f |D.XPERFO|RMANCE O|
|000020e0| 46 20 41 44 56 49 53 45 | 20 49 53 20 57 49 54 48 |F ADVISE| IS WITH|
|000020f0| 20 59 4f 55 2e 20 20 53 | 48 4f 55 4c 44 20 41 44 | YOU. S|HOULD AD|
|00002100| 56 49 53 45 20 50 52 4f | 56 45 20 44 45 46 45 43 |VISE PRO|VE DEFEC|
|00002110| 54 49 56 45 2c 20 59 4f | 55 0a 58 41 53 53 55 4d |TIVE, YO|U.XASSUM|
|00002120| 45 20 54 48 45 20 43 4f | 53 54 20 4f 46 20 41 4c |E THE CO|ST OF AL|
|00002130| 4c 20 4e 45 43 45 53 53 | 41 52 59 20 53 45 52 56 |L NECESS|ARY SERV|
|00002140| 49 43 49 4e 47 2c 20 52 | 45 50 41 49 52 20 4f 52 |ICING, R|EPAIR OR|
|00002150| 20 43 4f 52 52 45 43 54 | 49 4f 4e 2e 0a 58 0a 58 | CORRECT|ION..X.X|
|00002160| 20 49 4e 20 4e 4f 20 45 | 56 45 4e 54 20 55 4e 4c | IN NO E|VENT UNL|
|00002170| 45 53 53 20 52 45 51 55 | 49 52 45 44 20 42 59 20 |ESS REQU|IRED BY |
|00002180| 41 50 50 4c 49 43 41 42 | 4c 45 20 4c 41 57 20 57 |APPLICAB|LE LAW W|
|00002190| 49 4c 4c 20 52 49 43 48 | 41 52 44 20 4d 2e 0a 58 |ILL RICH|ARD M..X|
|000021a0| 53 54 41 4c 4c 4d 41 4e | 2c 20 54 48 45 20 46 52 |STALLMAN|, THE FR|
|000021b0| 45 45 20 53 4f 46 54 57 | 41 52 45 20 46 4f 55 4e |EE SOFTW|ARE FOUN|
|000021c0| 44 41 54 49 4f 4e 2c 20 | 49 4e 43 2e 2c 20 41 4e |DATION, |INC., AN|
|000021d0| 44 2f 4f 52 20 41 4e 59 | 20 4f 54 48 45 52 20 50 |D/OR ANY| OTHER P|
|000021e0| 41 52 54 59 0a 58 57 48 | 4f 20 4d 41 59 20 4d 4f |ARTY.XWH|O MAY MO|
|000021f0| 44 49 46 59 20 41 4e 44 | 20 52 45 44 49 53 54 52 |DIFY AND| REDISTR|
|00002200| 49 42 55 54 45 20 47 4e | 55 20 53 45 4e 44 20 41 |IBUTE GN|U SEND A|
|00002210| 53 20 50 45 52 4d 49 54 | 54 45 44 20 41 42 4f 56 |S PERMIT|TED ABOV|
|00002220| 45 2c 20 42 45 20 4c 49 | 41 42 4c 45 20 54 4f 0a |E, BE LI|ABLE TO.|
|00002230| 58 59 4f 55 20 46 4f 52 | 20 44 41 4d 41 47 45 53 |XYOU FOR| DAMAGES|
|00002240| 2c 20 49 4e 43 4c 55 44 | 49 4e 47 20 41 4e 59 20 |, INCLUD|ING ANY |
|00002250| 4c 4f 53 54 20 50 52 4f | 46 49 54 53 2c 20 4c 4f |LOST PRO|FITS, LO|
|00002260| 53 54 20 4d 4f 4e 49 45 | 53 2c 20 4f 52 20 4f 54 |ST MONIE|S, OR OT|
|00002270| 48 45 52 0a 58 53 50 45 | 43 49 41 4c 2c 20 49 4e |HER.XSPE|CIAL, IN|
|00002280| 43 49 44 45 4e 54 41 4c | 20 4f 52 20 43 4f 4e 53 |CIDENTAL| OR CONS|
|00002290| 45 51 55 45 4e 54 49 41 | 4c 20 44 41 4d 41 47 45 |EQUENTIA|L DAMAGE|
|000022a0| 53 20 41 52 49 53 49 4e | 47 20 4f 55 54 20 4f 46 |S ARISIN|G OUT OF|
|000022b0| 20 54 48 45 20 55 53 45 | 20 4f 52 0a 58 49 4e 41 | THE USE| OR.XINA|
|000022c0| 42 49 4c 49 54 59 20 54 | 4f 20 55 53 45 20 28 49 |BILITY T|O USE (I|
|000022d0| 4e 43 4c 55 44 49 4e 47 | 20 42 55 54 20 4e 4f 54 |NCLUDING| BUT NOT|
|000022e0| 20 4c 49 4d 49 54 45 44 | 20 54 4f 20 4c 4f 53 53 | LIMITED| TO LOSS|
|000022f0| 20 4f 46 20 44 41 54 41 | 20 4f 52 20 44 41 54 41 | OF DATA| OR DATA|
|00002300| 0a 58 42 45 49 4e 47 20 | 52 45 4e 44 45 52 45 44 |.XBEING |RENDERED|
|00002310| 20 49 4e 41 43 43 55 52 | 41 54 45 20 4f 52 20 4c | INACCUR|ATE OR L|
|00002320| 4f 53 53 45 53 20 53 55 | 53 54 41 49 4e 45 44 20 |OSSES SU|STAINED |
|00002330| 42 59 20 54 48 49 52 44 | 20 50 41 52 54 49 45 53 |BY THIRD| PARTIES|
|00002340| 20 4f 52 20 41 0a 58 46 | 41 49 4c 55 52 45 20 4f | OR A.XF|AILURE O|
|00002350| 46 20 54 48 45 20 50 52 | 4f 47 52 41 4d 20 54 4f |F THE PR|OGRAM TO|
|00002360| 20 4f 50 45 52 41 54 45 | 20 57 49 54 48 20 41 4e | OPERATE| WITH AN|
|00002370| 59 20 4f 54 48 45 52 20 | 50 52 4f 47 52 41 4d 53 |Y OTHER |PROGRAMS|
|00002380| 29 20 47 4e 55 20 53 45 | 4e 44 2c 20 45 56 45 4e |) GNU SE|ND, EVEN|
|00002390| 0a 58 49 46 20 59 4f 55 | 20 48 41 56 45 20 42 45 |.XIF YOU| HAVE BE|
|000023a0| 45 4e 20 41 44 56 49 53 | 45 44 20 4f 46 20 54 48 |EN ADVIS|ED OF TH|
|000023b0| 45 20 50 4f 53 53 49 42 | 49 4c 49 54 59 20 4f 46 |E POSSIB|ILITY OF|
|000023c0| 20 53 55 43 48 20 44 41 | 4d 41 47 45 53 2c 20 4f | SUCH DA|MAGES, O|
|000023d0| 52 20 46 4f 52 0a 58 41 | 4e 59 20 43 4c 41 49 4d |R FOR.XA|NY CLAIM|
|000023e0| 20 42 59 20 41 4e 59 20 | 4f 54 48 45 52 20 50 41 | BY ANY |OTHER PA|
|000023f0| 52 54 59 2e 0a 45 4e 44 | 5f 4f 46 5f 46 49 4c 45 |RTY..END|_OF_FILE|
|00002400| 0a 20 20 69 66 20 74 65 | 73 74 20 37 31 36 36 20 |. if te|st 7166 |
|00002410| 2d 6e 65 20 60 77 63 20 | 2d 63 20 3c 27 43 4f 50 |-ne `wc |-c <'COP|
|00002420| 59 49 4e 47 27 60 3b 20 | 74 68 65 6e 0a 20 20 20 |YING'`; |then. |
|00002430| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 5c 22 27 43 | echo sh|ar: \"'C|
|00002440| 4f 50 59 49 4e 47 27 5c | 22 20 75 6e 70 61 63 6b |OPYING'\|" unpack|
|00002450| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00002460| 7a 65 21 0a 20 20 66 69 | 0a 20 20 23 20 65 6e 64 |ze!. fi|. # end|
|00002470| 20 6f 66 20 27 43 4f 50 | 59 49 4e 47 27 0a 66 69 | of 'COP|YING'.fi|
|00002480| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 4d 61 6b |.if test| -f 'Mak|
|00002490| 65 66 69 6c 65 2e 53 55 | 4e 4f 53 27 20 2d 61 20 |efile.SU|NOS' -a |
|000024a0| 22 24 7b 31 7d 22 20 21 | 3d 20 22 2d 63 22 20 3b |"${1}" !|= "-c" ;|
|000024b0| 20 74 68 65 6e 20 0a 20 | 20 65 63 68 6f 20 73 68 | then . | echo sh|
|000024c0| 61 72 3a 20 57 69 6c 6c | 20 6e 6f 74 20 63 6c 6f |ar: Will| not clo|
|000024d0| 62 62 65 72 20 65 78 69 | 73 74 69 6e 67 20 66 69 |bber exi|sting fi|
|000024e0| 6c 65 20 5c 22 27 4d 61 | 6b 65 66 69 6c 65 2e 53 |le \"'Ma|kefile.S|
|000024f0| 55 4e 4f 53 27 5c 22 0a | 65 6c 73 65 0a 20 20 65 |UNOS'\".|else. e|
|00002500| 63 68 6f 20 73 68 61 72 | 3a 20 45 78 74 72 61 63 |cho shar|: Extrac|
|00002510| 74 69 6e 67 20 5c 22 27 | 4d 61 6b 65 66 69 6c 65 |ting \"'|Makefile|
|00002520| 2e 53 55 4e 4f 53 27 5c | 22 20 5c 28 37 38 37 20 |.SUNOS'\|" \(787 |
|00002530| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 20 20 73 |characte|rs\). s|
|00002540| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 4d 61 |ed "s/^X|//" >'Ma|
|00002550| 6b 65 66 69 6c 65 2e 53 | 55 4e 4f 53 27 20 3c 3c |kefile.S|UNOS' <<|
|00002560| 27 45 4e 44 5f 4f 46 5f | 46 49 4c 45 27 0a 58 0a |'END_OF_|FILE'.X.|
|00002570| 58 4d 4f 44 44 49 52 3d | 2f 65 74 63 2f 6d 6f 64 |XMODDIR=|/etc/mod|
|00002580| 75 6c 65 73 0a 58 42 49 | 4e 44 49 52 3d 2f 6c 6f |ules.XBI|NDIR=/lo|
|00002590| 63 61 6c 2f 62 69 6e 0a | 58 4d 41 4e 44 49 52 3d |cal/bin.|XMANDIR=|
|000025a0| 2f 6c 6f 63 61 6c 2f 6d | 61 6e 2f 6d 61 6e 31 0a |/local/m|an/man1.|
|000025b0| 58 4d 41 4e 45 58 54 3d | 2e 31 0a 58 0a 58 49 4e |XMANEXT=|.1.X.XIN|
|000025c0| 53 54 41 4c 4c 3d 69 6e | 73 74 61 6c 6c 0a 58 49 |STALL=in|stall.XI|
|000025d0| 4e 53 54 42 49 4e 3d 24 | 28 49 4e 53 54 41 4c 4c |NSTBIN=$|(INSTALL|
|000025e0| 29 20 2d 6f 20 72 6f 6f | 74 20 2d 6d 20 34 31 31 |) -o roo|t -m 411|
|000025f0| 31 0a 58 49 4e 53 54 4d | 41 4e 3d 24 28 49 4e 53 |1.XINSTM|AN=$(INS|
|00002600| 54 41 4c 4c 29 20 2d 6d | 20 34 34 34 0a 58 0a 58 |TALL) -m| 444.X.X|
|00002610| 41 4c 4c 3d 20 61 64 76 | 69 73 65 20 61 64 76 69 |ALL= adv|ise advi|
|00002620| 73 65 64 65 76 2e 6f 0a | 58 0a 58 61 6c 6c 3a 20 |sedev.o.|X.Xall: |
|00002630| 24 28 41 4c 4c 29 0a 58 | 0a 58 61 64 76 69 73 65 |$(ALL).X|.Xadvise|
|00002640| 3a 20 61 64 76 69 73 65 | 2e 68 20 61 64 76 69 73 |: advise|.h advis|
|00002650| 65 2e 63 0a 58 09 63 63 | 20 2d 4f 20 2d 73 20 2d |e.c.X.cc| -O -s -|
|00002660| 6f 20 61 64 76 69 73 65 | 20 61 64 76 69 73 65 2e |o advise| advise.|
|00002670| 63 0a 58 0a 58 43 46 4c | 41 47 53 3d 20 2d 4f 20 |c.X.XCFL|AGS= -O |
|00002680| 2d 44 4b 45 52 4e 45 4c | 20 2d 44 60 61 72 63 68 |-DKERNEL| -D`arch|
|00002690| 20 2d 6b 60 0a 58 0a 58 | 61 64 76 69 73 65 64 65 | -k`.X.X|advisede|
|000026a0| 76 2e 6f 3a 20 61 64 76 | 69 73 65 6d 6f 64 2e 63 |v.o: adv|isemod.c|
|000026b0| 20 61 64 76 69 73 65 64 | 65 76 2e 63 20 61 64 76 | advised|ev.c adv|
|000026c0| 69 73 65 2e 68 0a 58 0a | 58 63 6c 65 61 6e 3a 0a |ise.h.X.|Xclean:.|
|000026d0| 58 09 72 6d 20 2d 66 20 | 24 28 41 4c 4c 29 0a 58 |X.rm -f |$(ALL).X|
|000026e0| 0a 58 69 6e 73 74 61 6c | 6c 3a 20 24 28 41 4c 4c |.Xinstal|l: $(ALL|
|000026f0| 29 0a 58 09 24 28 49 4e | 53 54 42 49 4e 29 20 61 |).X.$(IN|STBIN) a|
|00002700| 64 76 69 73 65 20 24 28 | 42 49 4e 44 49 52 29 2f |dvise $(|BINDIR)/|
|00002710| 61 64 76 69 73 65 0a 58 | 09 24 28 49 4e 53 54 4d |advise.X|.$(INSTM|
|00002720| 41 4e 29 20 61 64 76 69 | 73 65 2e 6d 61 6e 20 24 |AN) advi|se.man $|
|00002730| 28 4d 41 4e 44 49 52 29 | 2f 61 64 76 69 73 65 24 |(MANDIR)|/advise$|
|00002740| 28 4d 41 4e 45 58 54 29 | 0a 58 09 69 66 20 5b 20 |(MANEXT)|.X.if [ |
|00002750| 21 20 2d 64 20 24 28 4d | 4f 44 44 49 52 29 20 5d |! -d $(M|ODDIR) ]|
|00002760| 3b 20 74 68 65 6e 20 28 | 20 6d 6b 64 69 72 20 24 |; then (| mkdir $|
|00002770| 28 4d 4f 44 44 49 52 29 | 20 29 3b 20 66 69 0a 58 |(MODDIR)| ); fi.X|
|00002780| 09 69 6e 73 74 61 6c 6c | 20 2d 6d 20 34 34 34 20 |.install| -m 444 |
|00002790| 61 64 76 69 73 65 64 65 | 76 2e 6f 20 24 28 4d 4f |advisede|v.o $(MO|
|000027a0| 44 44 49 52 29 2f 61 64 | 76 69 73 65 2e 6f 0a 58 |DDIR)/ad|vise.o.X|
|000027b0| 09 69 6e 73 74 61 6c 6c | 20 2d 6d 20 35 35 35 20 |.install| -m 555 |
|000027c0| 61 64 76 69 73 65 2e 65 | 78 65 63 20 24 28 4d 4f |advise.e|xec $(MO|
|000027d0| 44 44 49 52 29 2f 61 64 | 76 69 73 65 2e 65 78 65 |DDIR)/ad|vise.exe|
|000027e0| 63 0a 58 09 40 65 63 68 | 6f 20 22 22 0a 58 09 40 |c.X.@ech|o "".X.@|
|000027f0| 65 63 68 6f 20 22 54 68 | 65 20 66 6f 6c 6c 6f 77 |echo "Th|e follow|
|00002800| 69 6e 67 20 6c 69 6e 65 | 20 73 68 6f 75 6c 64 20 |ing line| should |
|00002810| 62 65 20 70 6c 61 63 65 | 64 20 73 6f 6d 65 77 68 |be place|d somewh|
|00002820| 65 72 65 20 6e 65 61 72 | 20 74 68 65 20 65 6e 64 |ere near| the end|
|00002830| 20 69 6e 20 2f 65 74 63 | 2f 72 63 2e 6c 6f 63 61 | in /etc|/rc.loca|
|00002840| 6c 3a 22 0a 58 09 40 65 | 63 68 6f 20 22 22 0a 58 |l:".X.@e|cho "".X|
|00002850| 09 40 65 63 68 6f 20 22 | 2f 75 73 72 2f 65 74 63 |.@echo "|/usr/etc|
|00002860| 2f 6d 6f 64 6c 6f 61 64 | 20 24 28 4d 4f 44 44 49 |/modload| $(MODDI|
|00002870| 52 29 2f 61 64 76 69 73 | 65 2e 6f 20 2d 65 78 65 |R)/advis|e.o -exe|
|00002880| 63 20 24 28 4d 4f 44 44 | 49 52 29 2f 61 64 76 69 |c $(MODD|IR)/advi|
|00002890| 73 65 2e 65 78 65 63 22 | 0a 58 09 40 65 63 68 6f |se.exec"|.X.@echo|
|000028a0| 20 22 22 0a 45 4e 44 5f | 4f 46 5f 46 49 4c 45 0a | "".END_|OF_FILE.|
|000028b0| 20 20 69 66 20 74 65 73 | 74 20 37 38 37 20 2d 6e | if tes|t 787 -n|
|000028c0| 65 20 60 77 63 20 2d 63 | 20 3c 27 4d 61 6b 65 66 |e `wc -c| <'Makef|
|000028d0| 69 6c 65 2e 53 55 4e 4f | 53 27 60 3b 20 74 68 65 |ile.SUNO|S'`; the|
|000028e0| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|000028f0| 20 5c 22 27 4d 61 6b 65 | 66 69 6c 65 2e 53 55 4e | \"'Make|file.SUN|
|00002900| 4f 53 27 5c 22 20 75 6e | 70 61 63 6b 65 64 20 77 |OS'\" un|packed w|
|00002910| 69 74 68 20 77 72 6f 6e | 67 20 73 69 7a 65 21 0a |ith wron|g size!.|
|00002920| 20 20 66 69 0a 20 20 23 | 20 65 6e 64 20 6f 66 20 | fi. #| end of |
|00002930| 27 4d 61 6b 65 66 69 6c | 65 2e 53 55 4e 4f 53 27 |'Makefil|e.SUNOS'|
|00002940| 0a 66 69 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |.fi.if t|est -f '|
|00002950| 4d 61 6b 65 66 69 6c 65 | 2e 53 56 52 34 69 33 38 |Makefile|.SVR4i38|
|00002960| 36 27 20 2d 61 20 22 24 | 7b 31 7d 22 20 21 3d 20 |6' -a "$|{1}" != |
|00002970| 22 2d 63 22 20 3b 20 74 | 68 65 6e 20 0a 20 20 65 |"-c" ; t|hen . e|
|00002980| 63 68 6f 20 73 68 61 72 | 3a 20 57 69 6c 6c 20 6e |cho shar|: Will n|
|00002990| 6f 74 20 63 6c 6f 62 62 | 65 72 20 65 78 69 73 74 |ot clobb|er exist|
|000029a0| 69 6e 67 20 66 69 6c 65 | 20 5c 22 27 4d 61 6b 65 |ing file| \"'Make|
|000029b0| 66 69 6c 65 2e 53 56 52 | 34 69 33 38 36 27 5c 22 |file.SVR|4i386'\"|
|000029c0| 0a 65 6c 73 65 0a 20 20 | 65 63 68 6f 20 73 68 61 |.else. |echo sha|
|000029d0| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|000029e0| 27 4d 61 6b 65 66 69 6c | 65 2e 53 56 52 34 69 33 |'Makefil|e.SVR4i3|
|000029f0| 38 36 27 5c 22 20 5c 28 | 37 31 30 20 63 68 61 72 |86'\" \(|710 char|
|00002a00| 61 63 74 65 72 73 5c 29 | 0a 20 20 73 65 64 20 22 |acters\)|. sed "|
|00002a10| 73 2f 5e 58 2f 2f 22 20 | 3e 27 4d 61 6b 65 66 69 |s/^X//" |>'Makefi|
|00002a20| 6c 65 2e 53 56 52 34 69 | 33 38 36 27 20 3c 3c 27 |le.SVR4i|386' <<'|
|00002a30| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 0a 58 |END_OF_F|ILE'.X.X|
|00002a40| 42 49 4e 44 49 52 3d 2f | 6c 6f 63 61 6c 2f 62 69 |BINDIR=/|local/bi|
|00002a50| 6e 0a 58 4d 41 4e 44 49 | 52 3d 2f 6c 6f 63 61 6c |n.XMANDI|R=/local|
|00002a60| 2f 6d 61 6e 2f 6d 61 6e | 31 0a 58 4d 41 4e 45 58 |/man/man|1.XMANEX|
|00002a70| 54 3d 2e 31 0a 58 0a 58 | 49 4e 53 54 41 4c 4c 3d |T=.1.X.X|INSTALL=|
|00002a80| 2f 75 73 72 2f 75 63 62 | 2f 69 6e 73 74 61 6c 6c |/usr/ucb|/install|
|00002a90| 0a 58 49 4e 53 54 42 49 | 4e 3d 24 28 49 4e 53 54 |.XINSTBI|N=$(INST|
|00002aa0| 41 4c 4c 29 20 2d 6f 20 | 72 6f 6f 74 20 2d 6d 20 |ALL) -o |root -m |
|00002ab0| 34 31 31 31 0a 58 49 4e | 53 54 4d 41 4e 3d 24 28 |4111.XIN|STMAN=$(|
|00002ac0| 49 4e 53 54 41 4c 4c 29 | 20 2d 6d 20 34 34 34 0a |INSTALL)| -m 444.|
|00002ad0| 58 0a 58 49 44 49 4e 53 | 54 41 4c 4c 3d 2f 65 74 |X.XIDINS|TALL=/et|
|00002ae0| 63 2f 63 6f 6e 66 2f 62 | 69 6e 2f 69 64 69 6e 73 |c/conf/b|in/idins|
|00002af0| 74 61 6c 6c 0a 58 0a 58 | 4b 4f 42 4a 53 3d 61 64 |tall.X.X|KOBJS=ad|
|00002b00| 76 69 73 65 64 65 76 2e | 6f 20 61 64 76 69 73 65 |visedev.|o advise|
|00002b10| 6d 6f 64 2e 6f 0a 58 43 | 46 4c 41 47 53 3d 20 2d |mod.o.XC|FLAGS= -|
|00002b20| 4f 20 2d 44 5f 4b 45 52 | 4e 45 4c 20 2d 44 49 4e |O -D_KER|NEL -DIN|
|00002b30| 4b 45 52 4e 45 4c 0a 58 | 0a 58 41 4c 4c 3d 24 28 |KERNEL.X|.XALL=$(|
|00002b40| 4b 4f 42 4a 53 29 20 61 | 64 76 69 73 65 0a 58 0a |KOBJS) a|dvise.X.|
|00002b50| 58 61 6c 6c 3a 20 24 28 | 41 4c 4c 29 0a 58 0a 58 |Xall: $(|ALL).X.X|
|00002b60| 61 64 76 69 73 65 64 65 | 76 2e 6f 3a 20 61 64 76 |advisede|v.o: adv|
|00002b70| 69 73 65 2e 68 0a 58 0a | 58 61 64 76 69 73 65 6d |ise.h.X.|Xadvisem|
|00002b80| 6f 64 2e 6f 3a 20 61 64 | 76 69 73 65 2e 68 0a 58 |od.o: ad|vise.h.X|
|00002b90| 0a 58 61 64 76 69 73 65 | 3a 20 61 64 76 69 73 65 |.Xadvise|: advise|
|00002ba0| 2e 68 20 61 64 76 69 73 | 65 2e 63 0a 58 09 63 63 |.h advis|e.c.X.cc|
|00002bb0| 20 2d 4f 20 2d 73 20 2d | 6f 20 61 64 76 69 73 65 | -O -s -|o advise|
|00002bc0| 20 61 64 76 69 73 65 2e | 63 0a 58 09 2d 6d 63 73 | advise.|c.X.-mcs|
|00002bd0| 20 2d 64 20 61 64 76 69 | 73 65 0a 58 0a 58 63 6c | -d advi|se.X.Xcl|
|00002be0| 65 61 6e 3a 0a 58 09 72 | 6d 20 2d 66 20 24 28 41 |ean:.X.r|m -f $(A|
|00002bf0| 4c 4c 29 0a 58 0a 58 69 | 6e 73 74 61 6c 6c 3a 20 |LL).X.Xi|nstall: |
|00002c00| 69 6e 73 74 61 6c 6c 2e | 6b 65 72 6e 65 6c 20 69 |install.|kernel i|
|00002c10| 6e 73 74 61 6c 6c 2e 75 | 73 65 72 0a 58 0a 58 69 |nstall.u|ser.X.Xi|
|00002c20| 6e 73 74 61 6c 6c 2e 6b | 65 72 6e 65 6c 3a 20 24 |nstall.k|ernel: $|
|00002c30| 28 4b 4f 42 4a 53 29 0a | 58 09 2d 24 28 49 44 49 |(KOBJS).|X.-$(IDI|
|00002c40| 4e 53 54 41 4c 4c 29 20 | 2d 64 20 61 64 76 69 73 |NSTALL) |-d advis|
|00002c50| 65 0a 58 09 63 64 20 61 | 64 76 69 73 65 2e 69 64 |e.X.cd a|dvise.id|
|00002c60| 3b 20 24 28 49 44 49 4e | 53 54 41 4c 4c 29 20 2d |; $(IDIN|STALL) -|
|00002c70| 6b 61 20 61 64 76 69 73 | 65 0a 58 09 2d 24 28 49 |ka advis|e.X.-$(I|
|00002c80| 44 49 4e 53 54 41 4c 4c | 29 20 2d 64 20 61 64 76 |DINSTALL|) -d adv|
|00002c90| 6d 6f 64 0a 58 09 63 64 | 20 61 64 76 6d 6f 64 2e |mod.X.cd| advmod.|
|00002ca0| 69 64 3b 20 24 28 49 44 | 49 4e 53 54 41 4c 4c 29 |id; $(ID|INSTALL)|
|00002cb0| 20 2d 6b 61 20 61 64 76 | 6d 6f 64 0a 58 0a 58 69 | -ka adv|mod.X.Xi|
|00002cc0| 6e 73 74 61 6c 6c 2e 75 | 73 65 72 3a 20 61 64 76 |nstall.u|ser: adv|
|00002cd0| 69 73 65 0a 58 09 24 28 | 49 4e 53 54 42 49 4e 29 |ise.X.$(|INSTBIN)|
|00002ce0| 20 61 64 76 69 73 65 20 | 24 28 42 49 4e 44 49 52 | advise |$(BINDIR|
|00002cf0| 29 2f 61 64 76 69 73 65 | 0a 58 09 24 28 49 4e 53 |)/advise|.X.$(INS|
|00002d00| 54 4d 41 4e 29 20 61 64 | 76 69 73 65 2e 6d 61 6e |TMAN) ad|vise.man|
|00002d10| 20 24 28 4d 41 4e 44 49 | 52 29 2f 61 64 76 69 73 | $(MANDI|R)/advis|
|00002d20| 65 24 28 4d 41 4e 45 58 | 54 29 0a 45 4e 44 5f 4f |e$(MANEX|T).END_O|
|00002d30| 46 5f 46 49 4c 45 0a 20 | 20 69 66 20 74 65 73 74 |F_FILE. | if test|
|00002d40| 20 37 31 30 20 2d 6e 65 | 20 60 77 63 20 2d 63 20 | 710 -ne| `wc -c |
|00002d50| 3c 27 4d 61 6b 65 66 69 | 6c 65 2e 53 56 52 34 69 |<'Makefi|le.SVR4i|
|00002d60| 33 38 36 27 60 3b 20 74 | 68 65 6e 0a 20 20 20 20 |386'`; t|hen. |
|00002d70| 65 63 68 6f 20 73 68 61 | 72 3a 20 5c 22 27 4d 61 |echo sha|r: \"'Ma|
|00002d80| 6b 65 66 69 6c 65 2e 53 | 56 52 34 69 33 38 36 27 |kefile.S|VR4i386'|
|00002d90| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|00002da0| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 20 20 66 | wrong s|ize!. f|
|00002db0| 69 0a 20 20 23 20 65 6e | 64 20 6f 66 20 27 4d 61 |i. # en|d of 'Ma|
|00002dc0| 6b 65 66 69 6c 65 2e 53 | 56 52 34 69 33 38 36 27 |kefile.S|VR4i386'|
|00002dd0| 0a 66 69 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |.fi.if t|est -f '|
|00002de0| 61 64 76 69 73 65 2e 63 | 27 20 2d 61 20 22 24 7b |advise.c|' -a "${|
|00002df0| 31 7d 22 20 21 3d 20 22 | 2d 63 22 20 3b 20 74 68 |1}" != "|-c" ; th|
|00002e00| 65 6e 20 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |en . ec|ho shar:|
|00002e10| 20 57 69 6c 6c 20 6e 6f | 74 20 63 6c 6f 62 62 65 | Will no|t clobbe|
|00002e20| 72 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |r existi|ng file |
|00002e30| 5c 22 27 61 64 76 69 73 | 65 2e 63 27 5c 22 0a 65 |\"'advis|e.c'\".e|
|00002e40| 6c 73 65 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |lse. ec|ho shar:|
|00002e50| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 27 61 | Extract|ing \"'a|
|00002e60| 64 76 69 73 65 2e 63 27 | 5c 22 20 5c 28 31 35 37 |dvise.c'|\" \(157|
|00002e70| 31 30 20 63 68 61 72 61 | 63 74 65 72 73 5c 29 0a |10 chara|cters\).|
|00002e80| 20 20 73 65 64 20 22 73 | 2f 5e 58 2f 2f 22 20 3e | sed "s|/^X//" >|
|00002e90| 27 61 64 76 69 73 65 2e | 63 27 20 3c 3c 27 45 4e |'advise.|c' <<'EN|
|00002ea0| 44 5f 4f 46 5f 46 49 4c | 45 27 0a 58 2f 2a 20 43 |D_OF_FIL|E'.X/* C|
|00002eb0| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 31 39 39 |opyright| (C) 199|
|00002ec0| 30 20 4b 65 69 74 68 20 | 47 61 62 72 79 65 6c 73 |0 Keith |Gabryels|
|00002ed0| 6b 69 20 28 61 67 40 61 | 6d 69 78 2e 63 6f 6d 6d |ki (ag@a|mix.comm|
|00002ee0| 6f 64 6f 72 65 2e 63 6f | 6d 29 0a 58 0a 58 54 68 |odore.co|m).X.XTh|
|00002ef0| 69 73 20 66 69 6c 65 20 | 69 73 20 70 61 72 74 20 |is file |is part |
|00002f00| 6f 66 20 61 64 76 69 73 | 65 2e 0a 58 0a 58 61 64 |of advis|e..X.Xad|
|00002f10| 76 69 73 65 20 69 73 20 | 64 69 73 74 72 69 62 75 |vise is |distribu|
|00002f20| 74 65 64 20 69 6e 20 74 | 68 65 20 68 6f 70 65 20 |ted in t|he hope |
|00002f30| 74 68 61 74 20 69 74 20 | 77 69 6c 6c 20 62 65 20 |that it |will be |
|00002f40| 75 73 65 66 75 6c 2c 0a | 58 62 75 74 20 57 49 54 |useful,.|Xbut WIT|
|00002f50| 48 4f 55 54 20 41 4e 59 | 20 57 41 52 52 41 4e 54 |HOUT ANY| WARRANT|
|00002f60| 59 2e 20 20 4e 6f 20 61 | 75 74 68 6f 72 20 6f 72 |Y. No a|uthor or|
|00002f70| 20 64 69 73 74 72 69 62 | 75 74 6f 72 0a 58 61 63 | distrib|utor.Xac|
|00002f80| 63 65 70 74 73 20 72 65 | 73 70 6f 6e 73 69 62 69 |cepts re|sponsibi|
|00002f90| 6c 69 74 79 20 74 6f 20 | 61 6e 79 6f 6e 65 20 66 |lity to |anyone f|
|00002fa0| 6f 72 20 74 68 65 20 63 | 6f 6e 73 65 71 75 65 6e |or the c|onsequen|
|00002fb0| 63 65 73 20 6f 66 20 75 | 73 69 6e 67 20 69 74 0a |ces of u|sing it.|
|00002fc0| 58 6f 72 20 66 6f 72 20 | 77 68 65 74 68 65 72 20 |Xor for |whether |
|00002fd0| 69 74 20 73 65 72 76 65 | 73 20 61 6e 79 20 70 61 |it serve|s any pa|
|00002fe0| 72 74 69 63 75 6c 61 72 | 20 70 75 72 70 6f 73 65 |rticular| purpose|
|00002ff0| 20 6f 72 20 77 6f 72 6b | 73 20 61 74 20 61 6c 6c | or work|s at all|
|00003000| 2c 0a 58 75 6e 6c 65 73 | 73 20 68 65 20 73 61 79 |,.Xunles|s he say|
|00003010| 73 20 73 6f 20 69 6e 20 | 77 72 69 74 69 6e 67 2e |s so in |writing.|
|00003020| 20 20 52 65 66 65 72 20 | 74 6f 20 74 68 65 20 61 | Refer |to the a|
|00003030| 64 76 69 73 65 20 47 65 | 6e 65 72 61 6c 20 50 75 |dvise Ge|neral Pu|
|00003040| 62 6c 69 63 0a 58 4c 69 | 63 65 6e 73 65 20 66 6f |blic.XLi|cense fo|
|00003050| 72 20 66 75 6c 6c 20 64 | 65 74 61 69 6c 73 2e 0a |r full d|etails..|
|00003060| 58 0a 58 45 76 65 72 79 | 6f 6e 65 20 69 73 20 67 |X.XEvery|one is g|
|00003070| 72 61 6e 74 65 64 20 70 | 65 72 6d 69 73 73 69 6f |ranted p|ermissio|
|00003080| 6e 20 74 6f 20 63 6f 70 | 79 2c 20 6d 6f 64 69 66 |n to cop|y, modif|
|00003090| 79 20 61 6e 64 20 72 65 | 64 69 73 74 72 69 62 75 |y and re|distribu|
|000030a0| 74 65 0a 58 61 64 76 69 | 73 65 2c 20 62 75 74 20 |te.Xadvi|se, but |
|000030b0| 6f 6e 6c 79 20 75 6e 64 | 65 72 20 74 68 65 20 63 |only und|er the c|
|000030c0| 6f 6e 64 69 74 69 6f 6e | 73 20 64 65 73 63 72 69 |ondition|s descri|
|000030d0| 62 65 64 20 69 6e 20 74 | 68 65 0a 58 61 64 76 69 |bed in t|he.Xadvi|
|000030e0| 73 65 20 47 65 6e 65 72 | 61 6c 20 50 75 62 6c 69 |se Gener|al Publi|
|000030f0| 63 20 4c 69 63 65 6e 73 | 65 2e 20 20 20 41 20 63 |c Licens|e. A c|
|00003100| 6f 70 79 20 6f 66 20 74 | 68 69 73 20 6c 69 63 65 |opy of t|his lice|
|00003110| 6e 73 65 20 69 73 0a 58 | 73 75 70 70 6f 73 65 64 |nse is.X|supposed|
|00003120| 20 74 6f 20 68 61 76 65 | 20 62 65 65 6e 20 67 69 | to have| been gi|
|00003130| 76 65 6e 20 74 6f 20 79 | 6f 75 20 61 6c 6f 6e 67 |ven to y|ou along|
|00003140| 20 77 69 74 68 20 61 64 | 76 69 73 65 20 73 6f 20 | with ad|vise so |
|00003150| 79 6f 75 0a 58 63 61 6e | 20 6b 6e 6f 77 20 79 6f |you.Xcan| know yo|
|00003160| 75 72 20 72 69 67 68 74 | 73 20 61 6e 64 20 72 65 |ur right|s and re|
|00003170| 73 70 6f 6e 73 69 62 69 | 6c 69 74 69 65 73 2e 20 |sponsibi|lities. |
|00003180| 20 49 74 20 73 68 6f 75 | 6c 64 20 62 65 20 69 6e | It shou|ld be in|
|00003190| 20 61 0a 58 66 69 6c 65 | 20 6e 61 6d 65 64 20 43 | a.Xfile| named C|
|000031a0| 4f 50 59 49 4e 47 2e 20 | 20 41 6d 6f 6e 67 20 6f |OPYING. | Among o|
|000031b0| 74 68 65 72 20 74 68 69 | 6e 67 73 2c 20 74 68 65 |ther thi|ngs, the|
|000031c0| 20 63 6f 70 79 72 69 67 | 68 74 20 6e 6f 74 69 63 | copyrig|ht notic|
|000031d0| 65 0a 58 61 6e 64 20 74 | 68 69 73 20 6e 6f 74 69 |e.Xand t|his noti|
|000031e0| 63 65 20 6d 75 73 74 20 | 62 65 20 70 72 65 73 65 |ce must |be prese|
|000031f0| 72 76 65 64 20 6f 6e 20 | 61 6c 6c 20 63 6f 70 69 |rved on |all copi|
|00003200| 65 73 2e 20 20 2a 2f 0a | 58 0a 58 2f 2a 0a 58 2a |es. */.|X.X/*.X*|
|00003210| 2a 20 41 75 74 68 6f 72 | 3a 09 4b 65 69 74 68 20 |* Author|:.Keith |
|00003220| 47 61 62 72 79 65 6c 73 | 6b 69 09 28 61 67 40 61 |Gabryels|ki.(ag@a|
|00003230| 6d 69 78 2e 63 6f 6d 6d | 6f 64 6f 72 65 2e 63 6f |mix.comm|odore.co|
|00003240| 6d 29 0a 58 2a 2f 0a 58 | 0a 58 23 69 6e 63 6c 75 |m).X*/.X|.X#inclu|
|00003250| 64 65 20 3c 73 79 73 2f | 74 79 70 65 73 2e 68 3e |de <sys/|types.h>|
|00003260| 0a 58 23 69 6e 63 6c 75 | 64 65 20 3c 73 79 73 2f |.X#inclu|de <sys/|
|00003270| 73 74 61 74 2e 68 3e 0a | 58 23 69 6e 63 6c 75 64 |stat.h>.|X#includ|
|00003280| 65 20 3c 73 69 67 6e 61 | 6c 2e 68 3e 0a 58 23 69 |e <signa|l.h>.X#i|
|00003290| 6e 63 6c 75 64 65 20 3c | 73 74 64 69 6f 2e 68 3e |nclude <|stdio.h>|
|000032a0| 0a 58 23 69 6e 63 6c 75 | 64 65 20 3c 73 74 64 6c |.X#inclu|de <stdl|
|000032b0| 69 62 2e 68 3e 0a 58 23 | 69 6e 63 6c 75 64 65 20 |ib.h>.X#|include |
|000032c0| 3c 75 6e 69 73 74 64 2e | 68 3e 0a 58 23 69 6e 63 |<unistd.|h>.X#inc|
|000032d0| 6c 75 64 65 20 3c 66 63 | 6e 74 6c 2e 68 3e 0a 58 |lude <fc|ntl.h>.X|
|000032e0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 72 6f 70 74 |#include| <stropt|
|000032f0| 73 2e 68 3e 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |s.h>.X#i|nclude <|
|00003300| 70 6f 6c 6c 2e 68 3e 0a | 58 23 69 6e 63 6c 75 64 |poll.h>.|X#includ|
|00003310| 65 20 3c 73 79 73 2f 73 | 74 72 65 61 6d 2e 68 3e |e <sys/s|tream.h>|
|00003320| 0a 58 23 69 6e 63 6c 75 | 64 65 20 3c 65 72 72 6e |.X#inclu|de <errn|
|00003330| 6f 2e 68 3e 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |o.h>.X#i|nclude <|
|00003340| 75 74 6d 70 2e 68 3e 0a | 58 23 69 6e 63 6c 75 64 |utmp.h>.|X#includ|
|00003350| 65 20 3c 70 77 64 2e 68 | 3e 0a 58 23 69 6e 63 6c |e <pwd.h|>.X#incl|
|00003360| 75 64 65 20 3c 74 65 72 | 6d 69 6f 73 2e 68 3e 0a |ude <ter|mios.h>.|
|00003370| 58 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 72 69 6e |X#includ|e <strin|
|00003380| 67 2e 68 3e 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |g.h>.X#i|nclude <|
|00003390| 63 74 79 70 65 2e 68 3e | 0a 58 23 69 6e 63 6c 75 |ctype.h>|.X#inclu|
|000033a0| 64 65 20 22 61 64 76 69 | 73 65 2e 68 22 0a 58 0a |de "advi|se.h".X.|
|000033b0| 58 23 69 66 64 65 66 20 | 73 75 6e 0a 58 65 78 74 |X#ifdef |sun.Xext|
|000033c0| 65 72 6e 20 69 6e 74 20 | 6f 70 74 69 6e 64 3b 0a |ern int |optind;.|
|000033d0| 58 0a 58 23 69 66 6e 64 | 65 66 20 43 54 52 4c 0a |X.X#ifnd|ef CTRL.|
|000033e0| 58 23 64 65 66 69 6e 65 | 09 43 54 52 4c 28 63 29 |X#define|.CTRL(c)|
|000033f0| 09 28 28 63 29 26 30 33 | 37 29 0a 58 23 65 6e 64 |.((c)&03|7).X#end|
|00003400| 69 66 20 2f 2a 20 21 43 | 54 52 4c 20 2a 2f 0a 58 |if /* !C|TRL */.X|
|00003410| 0a 58 23 69 66 6e 64 65 | 66 20 45 55 4e 41 54 43 |.X#ifnde|f EUNATC|
|00003420| 48 0a 58 23 64 65 66 69 | 6e 65 20 45 55 4e 41 54 |H.X#defi|ne EUNAT|
|00003430| 43 48 20 45 4e 4f 50 52 | 4f 54 4f 4f 50 54 0a 58 |CH ENOPR|OTOOPT.X|
|00003440| 23 65 6e 64 69 66 20 2f | 2a 20 21 20 45 55 4e 41 |#endif /|* ! EUNA|
|00003450| 54 43 48 20 2a 2f 0a 58 | 0a 58 23 65 6e 64 69 66 |TCH */.X|.X#endif|
|00003460| 20 2f 2a 20 73 75 6e 20 | 2a 2f 0a 58 0a 58 65 78 | /* sun |*/.X.Xex|
|00003470| 74 65 72 6e 20 63 68 61 | 72 20 2a 6f 70 74 61 72 |tern cha|r *optar|
|00003480| 67 3b 0a 58 0a 58 23 64 | 65 66 69 6e 65 20 6d 61 |g;.X.X#d|efine ma|
|00003490| 78 28 61 2c 62 29 20 28 | 28 61 29 3e 28 62 29 3f |x(a,b) (|(a)>(b)?|
|000034a0| 28 61 29 3a 28 62 29 29 | 0a 58 0a 58 73 74 61 74 |(a):(b))|.X.Xstat|
|000034b0| 69 63 20 73 74 72 75 63 | 74 20 6d 6f 64 75 6c 65 |ic struc|t module|
|000034c0| 5f 6c 69 73 74 0a 58 7b | 0a 58 20 20 20 20 63 68 |_list.X{|.X ch|
|000034d0| 61 72 20 2a 6e 61 6d 65 | 3b 09 09 09 2f 2a 20 6e |ar *name|;.../* n|
|000034e0| 61 6d 65 20 6f 66 20 6d | 6f 64 75 6c 65 20 2a 2f |ame of m|odule */|
|000034f0| 0a 58 20 20 20 20 73 74 | 72 75 63 74 20 6d 6f 64 |.X st|ruct mod|
|00003500| 75 6c 65 5f 6c 69 73 74 | 20 2a 6e 65 78 74 3b 09 |ule_list| *next;.|
|00003510| 2f 2a 20 6e 65 78 74 20 | 6d 6f 64 75 6c 65 20 74 |/* next |module t|
|00003520| 6f 20 62 65 20 70 75 73 | 68 65 64 20 2a 2f 0a 58 |o be pus|hed */.X|
|00003530| 7d 20 61 64 76 69 73 65 | 5f 6d 6f 64 75 6c 65 5f |} advise|_module_|
|00003540| 6c 69 73 74 20 3d 0a 58 | 7b 0a 58 20 20 20 20 41 |list =.X|{.X A|
|00003550| 44 56 4d 4f 44 4e 41 4d | 45 2c 20 4e 55 4c 4c 2c |DVMODNAM|E, NULL,|
|00003560| 0a 58 7d 3b 0a 58 0a 58 | 23 69 66 64 65 66 20 5f |.X};.X.X|#ifdef _|
|00003570| 5f 53 54 44 43 5f 5f 0a | 58 23 64 65 66 69 6e 65 |_STDC__.|X#define|
|00003580| 20 50 52 5f 28 78 29 09 | 78 0a 58 23 65 6c 73 65 | PR_(x).|x.X#else|
|00003590| 0a 58 23 64 65 66 69 6e | 65 20 50 52 5f 28 78 29 |.X#defin|e PR_(x)|
|000035a0| 09 28 29 0a 58 23 65 6e | 64 69 66 20 2f 2a 20 5f |.().X#en|dif /* _|
|000035b0| 5f 53 54 44 43 5f 5f 20 | 2a 2f 0a 58 0a 58 73 74 |_STDC__ |*/.X.Xst|
|000035c0| 61 74 69 63 20 76 6f 69 | 64 20 75 73 61 67 65 20 |atic voi|d usage |
|000035d0| 50 52 5f 28 20 28 76 6f | 69 64 29 20 29 2c 20 61 |PR_( (vo|id) ), a|
|000035e0| 64 76 69 73 65 20 50 52 | 5f 28 20 28 63 68 61 72 |dvise PR|_( (char|
|000035f0| 20 2a 29 20 29 3b 0a 58 | 73 74 61 74 69 63 20 63 | *) );.X|static c|
|00003600| 68 61 72 20 2a 73 74 72 | 63 68 61 72 20 50 52 5f |har *str|char PR_|
|00003610| 28 20 28 63 68 61 72 29 | 20 29 3b 0a 58 73 74 61 |( (char)| );.Xsta|
|00003620| 74 69 63 20 73 74 72 75 | 63 74 20 6d 6f 64 75 6c |tic stru|ct modul|
|00003630| 65 5f 6c 69 73 74 20 2a | 6c 69 73 74 5f 6d 6f 64 |e_list *|list_mod|
|00003640| 75 6c 65 73 20 50 52 5f | 28 20 28 69 6e 74 2c 20 |ules PR_|( (int, |
|00003650| 63 68 61 72 20 2a 29 29 | 3b 0a 58 0a 58 73 74 61 |char *))|;.X.Xsta|
|00003660| 74 69 63 20 69 6e 74 20 | 61 6c 6c 6f 77 5f 64 65 |tic int |allow_de|
|00003670| 6e 79 5f 70 2c 20 61 6c | 6c 6f 77 5f 64 65 6e 79 |ny_p, al|low_deny|
|00003680| 3b 0a 58 73 74 61 74 69 | 63 20 69 6e 74 20 61 6c |;.Xstati|c int al|
|00003690| 6c 6f 77 5f 61 64 76 69 | 73 65 5f 70 2c 20 61 6c |low_advi|se_p, al|
|000036a0| 6c 6f 77 5f 61 64 76 69 | 73 65 3b 0a 58 73 74 61 |low_advi|se;.Xsta|
|000036b0| 74 69 63 20 69 6e 74 20 | 65 72 72 6f 72 5f 66 6c |tic int |error_fl|
|000036c0| 61 67 3b 0a 58 73 74 61 | 74 69 63 20 69 6e 74 20 |ag;.Xsta|tic int |
|000036d0| 73 65 63 72 65 74 2c 20 | 73 70 79 2c 20 72 65 76 |secret, |spy, rev|
|000036e0| 65 72 73 65 3b 0a 58 73 | 74 61 74 69 63 20 69 6e |erse;.Xs|tatic in|
|000036f0| 74 20 6d 65 74 61 5f 63 | 68 61 72 61 63 74 65 72 |t meta_c|haracter|
|00003700| 20 3d 20 27 7e 27 3b 0a | 58 73 74 61 74 69 63 20 | = '~';.|Xstatic |
|00003710| 63 68 61 72 20 2a 70 72 | 6f 67 6e 61 6d 65 3b 0a |char *pr|ogname;.|
|00003720| 58 73 74 61 74 69 63 20 | 63 68 61 72 20 2a 6d 6f |Xstatic |char *mo|
|00003730| 64 75 6c 65 20 3d 20 22 | 6c 64 74 65 72 6d 22 3b |dule = "|ldterm";|
|00003740| 0a 58 0a 58 23 69 66 64 | 65 66 20 73 75 6e 0a 58 |.X.X#ifd|ef sun.X|
|00003750| 0a 58 23 69 66 6e 64 65 | 66 20 5f 5f 53 54 44 43 |.X#ifnde|f __STDC|
|00003760| 5f 5f 0a 58 2f 2a 0a 58 | 20 2a 20 73 74 72 65 72 |__.X/*.X| * strer|
|00003770| 72 6f 72 20 2d 20 6d 61 | 70 20 65 72 72 6f 72 20 |ror - ma|p error |
|00003780| 6e 75 6d 62 65 72 20 74 | 6f 20 64 65 73 63 72 69 |number t|o descri|
|00003790| 70 74 69 76 65 20 73 74 | 72 69 6e 67 0a 58 20 2a |ptive st|ring.X *|
|000037a0| 20 28 73 74 6f 6c 65 6e | 20 66 72 6f 6d 20 63 6e | (stolen| from cn|
|000037b0| 65 77 73 2f 6c 69 62 66 | 61 6b 65 2f 73 74 72 65 |ews/libf|ake/stre|
|000037c0| 72 72 6f 72 2e 63 29 0a | 58 20 2a 0a 58 20 2a 2f |rror.c).|X *.X */|
|000037d0| 0a 58 73 74 61 74 69 63 | 20 63 68 61 72 20 2a 0a |.Xstatic| char *.|
|000037e0| 58 73 74 72 65 72 72 6f | 72 28 65 72 72 6e 75 6d |Xstrerro|r(errnum|
|000037f0| 29 0a 58 69 6e 74 20 65 | 72 72 6e 75 6d 3b 0a 58 |).Xint e|rrnum;.X|
|00003800| 7b 0a 58 09 65 78 74 65 | 72 6e 20 69 6e 74 20 73 |{.X.exte|rn int s|
|00003810| 79 73 5f 6e 65 72 72 3b | 0a 58 09 65 78 74 65 72 |ys_nerr;|.X.exter|
|00003820| 6e 20 63 68 61 72 20 2a | 73 79 73 5f 65 72 72 6c |n char *|sys_errl|
|00003830| 69 73 74 5b 5d 3b 0a 58 | 0a 58 09 69 66 20 28 65 |ist[];.X|.X.if (e|
|00003840| 72 72 6e 75 6d 20 3e 20 | 30 20 26 26 20 65 72 72 |rrnum > |0 && err|
|00003850| 6e 75 6d 20 3c 20 73 79 | 73 5f 6e 65 72 72 29 0a |num < sy|s_nerr).|
|00003860| 58 09 09 72 65 74 75 72 | 6e 28 73 79 73 5f 65 72 |X..retur|n(sys_er|
|00003870| 72 6c 69 73 74 5b 65 72 | 72 6e 75 6d 5d 29 3b 0a |rlist[er|rnum]);.|
|00003880| 58 09 65 6c 73 65 20 69 | 66 20 28 65 72 72 6e 75 |X.else i|f (errnu|
|00003890| 6d 20 21 3d 20 30 29 0a | 58 09 09 72 65 74 75 72 |m != 0).|X..retur|
|000038a0| 6e 28 22 75 6e 6b 6e 6f | 77 6e 20 65 72 72 6f 72 |n("unkno|wn error|
|000038b0| 22 29 3b 0a 58 09 65 6c | 73 65 0a 58 09 09 72 65 |");.X.el|se.X..re|
|000038c0| 74 75 72 6e 28 22 6e 6f | 20 64 65 74 61 69 6c 73 |turn("no| details|
|000038d0| 20 67 69 76 65 6e 22 29 | 3b 0a 58 7d 0a 58 23 65 | given")|;.X}.X#e|
|000038e0| 6e 64 69 66 20 2f 2a 20 | 21 20 5f 5f 53 54 44 43 |ndif /* |! __STDC|
|000038f0| 5f 5f 20 2a 2f 0a 58 0a | 58 73 74 61 74 69 63 20 |__ */.X.|Xstatic |
|00003900| 69 6e 74 20 75 74 6d 70 | 66 64 3d 2d 31 3b 0a 58 |int utmp|fd=-1;.X|
|00003910| 0a 58 76 6f 69 64 0a 58 | 65 6e 64 75 74 65 6e 74 |.Xvoid.X|endutent|
|00003920| 28 0a 58 23 69 66 64 65 | 66 20 5f 5f 53 54 44 43 |(.X#ifde|f __STDC|
|00003930| 5f 5f 0a 58 09 76 6f 69 | 64 0a 58 23 65 6e 64 69 |__.X.voi|d.X#endi|
|00003940| 66 20 2f 2a 20 5f 5f 53 | 54 44 43 5f 5f 20 2a 2f |f /* __S|TDC__ */|
|00003950| 0a 58 09 29 0a 58 7b 0a | 58 09 69 66 28 75 74 6d |.X.).X{.|X.if(utm|
|00003960| 70 66 64 21 3d 2d 31 29 | 20 63 6c 6f 73 65 28 75 |pfd!=-1)| close(u|
|00003970| 74 6d 70 66 64 29 3b 0a | 58 09 75 74 6d 70 66 64 |tmpfd);.|X.utmpfd|
|00003980| 3d 2d 31 3b 0a 58 7d 0a | 58 0a 58 76 6f 69 64 0a |=-1;.X}.|X.Xvoid.|
|00003990| 58 73 65 74 75 74 65 6e | 74 28 0a 58 23 69 66 64 |Xsetuten|t(.X#ifd|
|000039a0| 65 66 20 5f 5f 53 54 44 | 43 5f 5f 0a 58 09 76 6f |ef __STD|C__.X.vo|
|000039b0| 69 64 0a 58 23 65 6e 64 | 69 66 20 2f 2a 20 5f 5f |id.X#end|if /* __|
|000039c0| 53 54 44 43 5f 5f 20 2a | 2f 0a 58 09 29 0a 58 7b |STDC__ *|/.X.).X{|
|000039d0| 0a 58 09 65 6e 64 75 74 | 65 6e 74 28 29 3b 0a 58 |.X.endut|ent();.X|
|000039e0| 09 75 74 6d 70 66 64 3d | 6f 70 65 6e 28 22 2f 65 |.utmpfd=|open("/e|
|000039f0| 74 63 2f 75 74 6d 70 22 | 2c 20 4f 5f 52 44 4f 4e |tc/utmp"|, O_RDON|
|00003a00| 4c 59 29 3b 0a 58 7d 0a | 58 0a 58 73 74 72 75 63 |LY);.X}.|X.Xstruc|
|00003a10| 74 20 75 74 6d 70 20 2a | 0a 58 67 65 74 75 74 65 |t utmp *|.Xgetute|
|00003a20| 6e 74 28 0a 58 23 69 66 | 64 65 66 20 5f 5f 53 54 |nt(.X#if|def __ST|
|00003a30| 44 43 5f 5f 0a 58 09 76 | 6f 69 64 0a 58 23 65 6e |DC__.X.v|oid.X#en|
|00003a40| 64 69 66 20 2f 2a 20 5f | 5f 53 54 44 43 5f 5f 20 |dif /* _|_STDC__ |
|00003a50| 2a 2f 0a 58 09 29 0a 58 | 7b 0a 58 09 73 74 61 74 |*/.X.).X|{.X.stat|
|00003a60| 69 63 20 73 74 72 75 63 | 74 20 75 74 6d 70 20 75 |ic struc|t utmp u|
|00003a70| 74 3b 0a 58 09 69 6e 74 | 20 72 65 74 3b 0a 58 0a |t;.X.int| ret;.X.|
|00003a80| 58 09 69 66 28 75 74 6d | 70 66 64 3d 3d 2d 31 29 |X.if(utm|pfd==-1)|
|00003a90| 20 72 65 74 75 72 6e 28 | 4e 55 4c 4c 29 3b 0a 58 | return(|NULL);.X|
|00003aa0| 09 64 6f 20 7b 0a 58 09 | 09 69 66 28 72 65 61 64 |.do {.X.|.if(read|
|00003ab0| 28 75 74 6d 70 66 64 2c | 20 26 75 74 2c 20 73 69 |(utmpfd,| &ut, si|
|00003ac0| 7a 65 6f 66 28 75 74 29 | 29 20 21 3d 20 73 69 7a |zeof(ut)|) != siz|
|00003ad0| 65 6f 66 28 75 74 29 29 | 20 72 65 74 75 72 6e 28 |eof(ut))| return(|
|00003ae0| 4e 55 4c 4c 29 3b 0a 58 | 09 7d 20 77 68 69 6c 65 |NULL);.X|.} while|
|00003af0| 28 6e 6f 6e 75 73 65 72 | 28 75 74 29 29 3b 0a 58 |(nonuser|(ut));.X|
|00003b00| 0a 58 09 72 65 74 75 72 | 6e 28 26 75 74 29 3b 0a |.X.retur|n(&ut);.|
|00003b10| 58 7d 0a 58 0a 58 73 74 | 72 75 63 74 20 75 74 6d |X}.X.Xst|ruct utm|
|00003b20| 70 20 2a 0a 58 23 69 66 | 64 65 66 20 5f 5f 53 54 |p *.X#if|def __ST|
|00003b30| 44 43 5f 5f 0a 58 67 65 | 74 75 74 6c 69 6e 65 28 |DC__.Xge|tutline(|
|00003b40| 73 74 72 75 63 74 20 75 | 74 6d 70 20 2a 75 74 29 |struct u|tmp *ut)|
|00003b50| 0a 58 23 65 6c 73 65 0a | 58 67 65 74 75 74 6c 69 |.X#else.|Xgetutli|
|00003b60| 6e 65 28 75 74 29 0a 58 | 73 74 72 75 63 74 20 75 |ne(ut).X|struct u|
|00003b70| 74 6d 70 20 2a 75 74 3b | 0a 58 23 65 6e 64 69 66 |tmp *ut;|.X#endif|
|00003b80| 20 2f 2a 20 5f 5f 53 54 | 44 43 5f 5f 20 2a 2f 0a | /* __ST|DC__ */.|
|00003b90| 58 7b 0a 58 09 73 74 72 | 75 63 74 20 75 74 6d 70 |X{.X.str|uct utmp|
|00003ba0| 20 2a 75 74 6d 3b 0a 58 | 0a 58 09 77 68 69 6c 65 | *utm;.X|.X.while|
|00003bb0| 28 75 74 6d 3d 67 65 74 | 75 74 65 6e 74 28 29 29 |(utm=get|utent())|
|00003bc0| 0a 58 09 09 69 66 28 21 | 73 74 72 6e 63 6d 70 28 |.X..if(!|strncmp(|
|00003bd0| 75 74 6d 2d 3e 75 74 5f | 6c 69 6e 65 2c 20 75 74 |utm->ut_|line, ut|
|00003be0| 2d 3e 75 74 5f 6c 69 6e | 65 29 29 20 72 65 74 75 |->ut_lin|e)) retu|
|00003bf0| 72 6e 28 75 74 6d 29 3b | 0a 58 0a 58 09 72 65 74 |rn(utm);|.X.X.ret|
|00003c00| 75 72 6e 28 4e 55 4c 4c | 29 3b 0a 58 7d 0a 58 23 |urn(NULL|);.X}.X#|
|00003c10| 65 6e 64 69 66 20 2f 2a | 20 73 75 6e 20 2a 2f 0a |endif /*| sun */.|
|00003c20| 58 0a 58 69 6e 74 0a 58 | 23 69 66 64 65 66 20 5f |X.Xint.X|#ifdef _|
|00003c30| 5f 53 54 44 43 5f 5f 0a | 58 6d 61 69 6e 28 69 6e |_STDC__.|Xmain(in|
|00003c40| 74 20 61 72 67 63 2c 20 | 63 68 61 72 20 2a 2a 61 |t argc, |char **a|
|00003c50| 72 67 76 29 0a 58 23 65 | 6c 73 65 0a 58 6d 61 69 |rgv).X#e|lse.Xmai|
|00003c60| 6e 28 61 72 67 63 2c 20 | 61 72 67 76 29 0a 58 63 |n(argc, |argv).Xc|
|00003c70| 68 61 72 20 2a 2a 61 72 | 67 76 3b 0a 58 23 65 6e |har **ar|gv;.X#en|
|00003c80| 64 69 66 20 2f 2a 20 5f | 5f 53 54 44 43 5f 5f 20 |dif /* _|_STDC__ |
|00003c90| 2a 2f 0a 58 7b 0a 58 20 | 20 20 20 69 6e 74 20 63 |*/.X{.X | int c|
|00003ca0| 2c 20 65 72 72 6f 72 3d | 30 3b 0a 58 20 20 20 20 |, error=|0;.X |
|00003cb0| 73 74 72 75 63 74 20 74 | 65 72 6d 69 6f 73 20 74 |struct t|ermios t|
|00003cc0| 65 72 6d 69 6f 73 3b 0a | 58 20 20 20 20 73 74 72 |ermios;.|X str|
|00003cd0| 75 63 74 20 6d 6f 64 75 | 6c 65 5f 6c 69 73 74 20 |uct modu|le_list |
|00003ce0| 2a 6d 6f 64 75 6c 65 73 | 3b 0a 58 0a 58 20 20 20 |*modules|;.X.X |
|00003cf0| 20 70 72 6f 67 6e 61 6d | 65 20 3d 20 2a 61 72 67 | prognam|e = *arg|
|00003d00| 76 3b 0a 58 0a 58 20 20 | 20 20 77 68 69 6c 65 28 |v;.X.X | while(|
|00003d10| 28 63 20 3d 20 67 65 74 | 6f 70 74 28 61 72 67 63 |(c = get|opt(argc|
|00003d20| 2c 20 61 72 67 76 2c 20 | 22 41 44 4d 3a 53 61 72 |, argv, |"ADM:Sar|
|00003d30| 64 6d 3a 73 3f 22 29 29 | 20 21 3d 20 45 4f 46 29 |dm:s?"))| != EOF)|
|00003d40| 0a 58 20 20 20 20 7b 0a | 58 09 73 77 69 74 63 68 |.X {.|X.switch|
|00003d50| 28 63 29 0a 58 09 7b 0a | 58 09 63 61 73 65 20 27 |(c).X.{.|X.case '|
|00003d60| 73 27 3a 0a 58 09 20 20 | 20 20 73 70 79 2b 2b 3b |s':.X. | spy++;|
|00003d70| 0a 58 09 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 0a |.X. b|reak;.X.|
|00003d80| 58 09 63 61 73 65 20 27 | 72 27 3a 0a 58 09 20 20 |X.case '|r':.X. |
|00003d90| 20 20 69 66 20 28 21 67 | 65 74 75 69 64 28 29 29 | if (!g|etuid())|
|00003da0| 0a 58 09 09 72 65 76 65 | 72 73 65 2b 2b 3b 0a 58 |.X..reve|rse++;.X|
|00003db0| 09 20 20 20 20 65 6c 73 | 65 0a 58 09 20 20 20 20 |. els|e.X. |
|00003dc0| 7b 0a 58 09 09 28 76 6f | 69 64 29 20 66 70 72 69 |{.X..(vo|id) fpri|
|00003dd0| 6e 74 66 28 73 74 64 65 | 72 72 2c 20 22 25 73 3a |ntf(stde|rr, "%s:|
|00003de0| 20 2d 72 20 6f 70 74 69 | 6f 6e 20 6f 6e 6c 79 20 | -r opti|on only |
|00003df0| 61 76 61 69 6c 61 62 6c | 65 20 74 6f 20 74 68 65 |availabl|e to the|
|00003e00| 20 73 75 70 65 72 20 75 | 73 65 72 5c 6e 22 2c 20 | super u|ser\n", |
|00003e10| 70 72 6f 67 6e 61 6d 65 | 29 3b 0a 58 09 09 65 72 |progname|);.X..er|
|00003e20| 72 6f 72 5f 66 6c 61 67 | 2b 2b 3b 0a 58 09 20 20 |ror_flag|++;.X. |
|00003e30| 20 20 7d 0a 58 09 20 20 | 20 20 62 72 65 61 6b 3b | }.X. | break;|
|00003e40| 0a 58 0a 58 09 63 61 73 | 65 20 27 53 27 3a 0a 58 |.X.X.cas|e 'S':.X|
|00003e50| 09 20 20 20 20 69 66 20 | 28 21 67 65 74 75 69 64 |. if |(!getuid|
|00003e60| 28 29 29 0a 58 09 09 73 | 65 63 72 65 74 2b 2b 3b |()).X..s|ecret++;|
|00003e70| 0a 58 09 20 20 20 20 65 | 6c 73 65 0a 58 09 20 20 |.X. e|lse.X. |
|00003e80| 20 20 7b 0a 58 09 09 28 | 76 6f 69 64 29 20 66 70 | {.X..(|void) fp|
|00003e90| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 20 22 25 |rintf(st|derr, "%|
|00003ea0| 73 3a 20 2d 53 20 6f 70 | 74 69 6f 6e 20 6f 6e 6c |s: -S op|tion onl|
|00003eb0| 79 20 61 76 61 69 6c 61 | 62 6c 65 20 74 6f 20 74 |y availa|ble to t|
|00003ec0| 68 65 20 73 75 70 65 72 | 20 75 73 65 72 5c 6e 22 |he super| user\n"|
|00003ed0| 2c 20 70 72 6f 67 6e 61 | 6d 65 29 3b 0a 58 09 09 |, progna|me);.X..|
|00003ee0| 65 72 72 6f 72 5f 66 6c | 61 67 2b 2b 3b 0a 58 09 |error_fl|ag++;.X.|
|00003ef0| 20 20 20 20 7d 0a 58 09 | 20 20 20 20 62 72 65 61 | }.X.| brea|
|00003f00| 6b 3b 0a 58 0a 58 09 63 | 61 73 65 20 27 61 27 3a |k;.X.X.c|ase 'a':|
|00003f10| 0a 58 09 20 20 20 20 61 | 6c 6c 6f 77 5f 64 65 6e |.X. a|llow_den|
|00003f20| 79 5f 70 2b 2b 3b 0a 58 | 09 20 20 20 20 61 6c 6c |y_p++;.X|. all|
|00003f30| 6f 77 5f 64 65 6e 79 3d | 41 44 56 49 53 45 5f 41 |ow_deny=|ADVISE_A|
|00003f40| 4c 4c 4f 57 3b 0a 58 09 | 20 20 20 20 61 6c 6c 6f |LLOW;.X.| allo|
|00003f50| 77 5f 61 64 76 69 73 65 | 5f 70 2b 2b 3b 0a 58 09 |w_advise|_p++;.X.|
|00003f60| 20 20 20 20 61 6c 6c 6f | 77 5f 61 64 76 69 73 65 | allo|w_advise|
|00003f70| 2b 2b 3b 0a 58 09 20 20 | 20 20 62 72 65 61 6b 3b |++;.X. | break;|
|00003f80| 0a 58 0a 58 09 63 61 73 | 65 20 27 64 27 3a 0a 58 |.X.X.cas|e 'd':.X|
|00003f90| 09 20 20 20 20 61 6c 6c | 6f 77 5f 61 64 76 69 73 |. all|ow_advis|
|00003fa0| 65 5f 70 2b 2b 3b 0a 58 | 09 20 20 20 20 61 6c 6c |e_p++;.X|. all|
|00003fb0| 6f 77 5f 61 64 76 69 73 | 65 3d 30 3b 0a 58 09 20 |ow_advis|e=0;.X. |
|00003fc0| 20 20 20 62 72 65 61 6b | 3b 0a 58 0a 58 09 63 61 | break|;.X.X.ca|
|00003fd0| 73 65 20 27 41 27 3a 0a | 58 09 20 20 20 20 61 6c |se 'A':.|X. al|
|00003fe0| 6c 6f 77 5f 64 65 6e 79 | 5f 70 2b 2b 3b 0a 58 09 |low_deny|_p++;.X.|
|00003ff0| 20 20 20 20 61 6c 6c 6f | 77 5f 64 65 6e 79 3d 41 | allo|w_deny=A|
|00004000| 44 56 49 53 45 5f 41 4c | 4c 4f 57 3b 0a 58 09 20 |DVISE_AL|LOW;.X. |
|00004010| 20 20 20 62 72 65 61 6b | 3b 0a 58 0a 58 09 63 61 | break|;.X.X.ca|
|00004020| 73 65 20 27 44 27 3a 0a | 58 09 20 20 20 20 61 6c |se 'D':.|X. al|
|00004030| 6c 6f 77 5f 64 65 6e 79 | 5f 70 2b 2b 3b 0a 58 09 |low_deny|_p++;.X.|
|00004040| 20 20 20 20 61 6c 6c 6f | 77 5f 64 65 6e 79 3d 41 | allo|w_deny=A|
|00004050| 44 56 49 53 45 5f 44 45 | 4e 59 3b 0a 58 09 20 20 |DVISE_DE|NY;.X. |
|00004060| 20 20 62 72 65 61 6b 3b | 0a 58 0a 58 09 63 61 73 | break;|.X.X.cas|
|00004070| 65 20 27 6d 27 3a 0a 58 | 09 20 20 20 20 6d 65 74 |e 'm':.X|. met|
|00004080| 61 5f 63 68 61 72 61 63 | 74 65 72 20 3d 20 6f 70 |a_charac|ter = op|
|00004090| 74 61 72 67 5b 30 5d 3b | 0a 58 09 20 20 20 20 62 |targ[0];|.X. b|
|000040a0| 72 65 61 6b 3b 0a 58 0a | 58 09 63 61 73 65 20 27 |reak;.X.|X.case '|
|000040b0| 4d 27 3a 0a 58 09 20 20 | 20 20 6d 6f 64 75 6c 65 |M':.X. | module|
|000040c0| 20 3d 20 6f 70 74 61 72 | 67 3b 0a 58 09 20 20 20 | = optar|g;.X. |
|000040d0| 20 62 72 65 61 6b 3b 0a | 58 0a 58 09 63 61 73 65 | break;.|X.X.case|
|000040e0| 20 27 3f 27 3a 0a 58 09 | 20 20 20 20 65 72 72 6f | '?':.X.| erro|
|000040f0| 72 5f 66 6c 61 67 2b 2b | 3b 0a 58 09 20 20 20 20 |r_flag++|;.X. |
|00004100| 62 72 65 61 6b 3b 0a 58 | 09 7d 0a 58 0a 58 09 69 |break;.X|.}.X.X.i|
|00004110| 66 20 28 65 72 72 6f 72 | 5f 66 6c 61 67 29 0a 58 |f (error|_flag).X|
|00004120| 09 7b 0a 58 09 20 20 20 | 20 75 73 61 67 65 28 29 |.{.X. | usage()|
|00004130| 3b 0a 58 09 7d 0a 58 20 | 20 20 20 7d 0a 58 0a 58 |;.X.}.X | }.X.X|
|00004140| 20 20 20 20 69 66 20 28 | 61 6c 6c 6f 77 5f 61 64 | if (|allow_ad|
|00004150| 76 69 73 65 5f 70 29 0a | 58 20 20 20 20 7b 0a 58 |vise_p).|X {.X|
|00004160| 09 69 6e 74 20 73 74 61 | 74 75 73 20 3d 20 69 6f |.int sta|tus = io|
|00004170| 63 74 6c 28 30 2c 20 41 | 44 56 49 53 45 5f 53 54 |ctl(0, A|DVISE_ST|
|00004180| 41 54 55 53 2c 20 26 73 | 74 61 74 75 73 29 3b 0a |ATUS, &s|tatus);.|
|00004190| 58 0a 58 09 69 66 20 28 | 61 6c 6c 6f 77 5f 61 64 |X.X.if (|allow_ad|
|000041a0| 76 69 73 65 20 26 26 20 | 73 74 61 74 75 73 29 0a |vise && |status).|
|000041b0| 58 09 7b 0a 58 09 20 20 | 20 20 69 6e 74 20 61 64 |X.{.X. | int ad|
|000041c0| 76 69 73 65 5f 6d 6f 64 | 75 6c 65 5f 70 75 73 68 |vise_mod|ule_push|
|000041d0| 65 64 20 3d 20 30 3b 0a | 58 0a 58 09 20 20 20 20 |ed = 0;.|X.X. |
|000041e0| 2f 2a 20 50 75 73 68 20 | 61 64 76 69 73 65 20 6d |/* Push |advise m|
|000041f0| 6f 64 75 6c 65 20 6f 6e | 20 73 74 72 65 61 6d 20 |odule on| stream |
|00004200| 2a 2f 0a 58 09 20 20 20 | 20 28 76 6f 69 64 29 20 |*/.X. | (void) |
|00004210| 69 6f 63 74 6c 28 30 2c | 20 54 43 47 45 54 53 2c |ioctl(0,| TCGETS,|
|00004220| 20 26 74 65 72 6d 69 6f | 73 29 3b 0a 58 0a 58 09 | &termio|s);.X.X.|
|00004230| 20 20 20 20 6d 6f 64 75 | 6c 65 73 20 3d 20 6c 69 | modu|les = li|
|00004240| 73 74 5f 6d 6f 64 75 6c | 65 73 28 30 2c 20 6d 6f |st_modul|es(0, mo|
|00004250| 64 75 6c 65 29 3b 0a 58 | 0a 58 09 20 20 20 20 61 |dule);.X|.X. a|
|00004260| 64 76 69 73 65 5f 6d 6f | 64 75 6c 65 5f 6c 69 73 |dvise_mo|dule_lis|
|00004270| 74 2e 6e 65 78 74 20 3d | 20 6d 6f 64 75 6c 65 73 |t.next =| modules|
|00004280| 3b 0a 58 0a 58 09 20 20 | 20 20 66 6f 72 20 28 6d |;.X.X. | for (m|
|00004290| 6f 64 75 6c 65 73 20 3d | 20 26 61 64 76 69 73 65 |odules =| &advise|
|000042a0| 5f 6d 6f 64 75 6c 65 5f | 6c 69 73 74 3b 0a 58 09 |_module_|list;.X.|
|000042b0| 09 20 6d 6f 64 75 6c 65 | 73 20 21 3d 20 4e 55 4c |. module|s != NUL|
|000042c0| 4c 3b 0a 58 09 09 20 6d | 6f 64 75 6c 65 73 20 3d |L;.X.. m|odules =|
|000042d0| 20 6d 6f 64 75 6c 65 73 | 2d 3e 6e 65 78 74 29 0a | modules|->next).|
|000042e0| 58 09 20 20 20 20 7b 0a | 58 0a 58 09 09 69 66 20 |X. {.|X.X..if |
|000042f0| 28 21 73 74 72 63 6d 70 | 28 6d 6f 64 75 6c 65 73 |(!strcmp|(modules|
|00004300| 2d 3e 6e 61 6d 65 2c 20 | 41 44 56 4d 4f 44 4e 41 |->name, |ADVMODNA|
|00004310| 4d 45 29 29 0a 58 09 09 | 7b 0a 58 09 09 20 20 20 |ME)).X..|{.X.. |
|00004320| 20 69 66 20 28 61 64 76 | 69 73 65 5f 6d 6f 64 75 | if (adv|ise_modu|
|00004330| 6c 65 5f 70 75 73 68 65 | 64 29 0a 58 09 09 09 63 |le_pushe|d).X...c|
|00004340| 6f 6e 74 69 6e 75 65 3b | 0a 58 0a 58 09 09 20 20 |ontinue;|.X.X.. |
|00004350| 20 20 61 64 76 69 73 65 | 5f 6d 6f 64 75 6c 65 5f | advise|_module_|
|00004360| 70 75 73 68 65 64 20 3d | 20 31 3b 0a 58 09 09 7d |pushed =| 1;.X..}|
|00004370| 0a 58 0a 58 09 09 69 66 | 20 28 69 6f 63 74 6c 28 |.X.X..if| (ioctl(|
|00004380| 30 2c 20 49 5f 50 55 53 | 48 2c 20 6d 6f 64 75 6c |0, I_PUS|H, modul|
|00004390| 65 73 2d 3e 6e 61 6d 65 | 29 29 0a 58 09 09 7b 0a |es->name|)).X..{.|
|000043a0| 58 09 09 20 20 20 20 28 | 76 6f 69 64 29 20 66 70 |X.. (|void) fp|
|000043b0| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 20 22 25 |rintf(st|derr, "%|
|000043c0| 73 3a 20 43 6f 75 6c 64 | 6e 27 74 20 49 5f 50 55 |s: Could|n't I_PU|
|000043d0| 53 48 3a 20 25 73 20 28 | 25 73 29 2e 5c 6e 22 2c |SH: %s (|%s).\n",|
|000043e0| 0a 58 09 09 09 09 20 20 | 20 70 72 6f 67 6e 61 6d |.X.... | prognam|
|000043f0| 65 2c 20 6d 6f 64 75 6c | 65 73 2d 3e 6e 61 6d 65 |e, modul|es->name|
|00004400| 2c 20 73 74 72 65 72 72 | 6f 72 28 65 72 72 6e 6f |, strerr|or(errno|
|00004410| 29 29 3b 0a 58 09 09 20 | 20 20 20 65 72 72 6f 72 |));.X.. | error|
|00004420| 2b 2b 3b 0a 58 09 09 7d | 0a 58 09 20 20 20 20 7d |++;.X..}|.X. }|
|00004430| 0a 58 0a 58 09 20 20 20 | 20 28 76 6f 69 64 29 20 |.X.X. | (void) |
|00004440| 69 6f 63 74 6c 28 30 2c | 20 54 43 53 45 54 53 2c |ioctl(0,| TCSETS,|
|00004450| 20 26 74 65 72 6d 69 6f | 73 29 3b 0a 58 09 7d 0a | &termio|s);.X.}.|
|00004460| 58 0a 58 09 69 66 20 28 | 21 61 6c 6c 6f 77 5f 61 |X.X.if (|!allow_a|
|00004470| 64 76 69 73 65 20 26 26 | 20 21 73 74 61 74 75 73 |dvise &&| !status|
|00004480| 29 0a 58 09 7b 0a 58 09 | 20 20 20 20 28 76 6f 69 |).X.{.X.| (voi|
|00004490| 64 29 20 69 6f 63 74 6c | 28 30 2c 20 54 43 47 45 |d) ioctl|(0, TCGE|
|000044a0| 54 53 2c 20 26 74 65 72 | 6d 69 6f 73 29 3b 0a 58 |TS, &ter|mios);.X|
|000044b0| 0a 58 09 20 20 20 20 6d | 6f 64 75 6c 65 73 20 3d |.X. m|odules =|
|000044c0| 20 6c 69 73 74 5f 6d 6f | 64 75 6c 65 73 28 30 2c | list_mo|dules(0,|
|000044d0| 20 41 44 56 4d 4f 44 4e | 41 4d 45 29 3b 0a 58 0a | ADVMODN|AME);.X.|
|000044e0| 58 09 20 20 20 20 77 68 | 69 6c 65 20 28 6d 6f 64 |X. wh|ile (mod|
|000044f0| 75 6c 65 73 20 21 3d 20 | 4e 55 4c 4c 29 0a 58 09 |ules != |NULL).X.|
|00004500| 20 20 20 20 7b 0a 58 09 | 09 69 66 20 28 73 74 72 | {.X.|.if (str|
|00004510| 63 6d 70 28 6d 6f 64 75 | 6c 65 73 2d 3e 6e 61 6d |cmp(modu|les->nam|
|00004520| 65 2c 20 41 44 56 4d 4f | 44 4e 41 4d 45 29 29 0a |e, ADVMO|DNAME)).|
|00004530| 58 09 09 7b 0a 58 09 09 | 20 20 20 20 69 66 20 28 |X..{.X..| if (|
|00004540| 69 6f 63 74 6c 28 30 2c | 20 49 5f 50 55 53 48 2c |ioctl(0,| I_PUSH,|
|00004550| 20 6d 6f 64 75 6c 65 73 | 2d 3e 6e 61 6d 65 29 29 | modules|->name))|
|00004560| 0a 58 09 09 20 20 20 20 | 7b 0a 58 09 09 09 28 76 |.X.. |{.X...(v|
|00004570| 6f 69 64 29 20 66 70 72 | 69 6e 74 66 28 73 74 64 |oid) fpr|intf(std|
|00004580| 65 72 72 2c 0a 58 09 09 | 09 09 20 20 20 20 20 20 |err,.X..|.. |
|00004590| 20 22 25 73 3a 20 43 6f | 75 6c 64 6e 27 74 20 49 | "%s: Co|uldn't I|
|000045a0| 5f 50 55 53 48 3a 20 25 | 73 20 28 25 73 29 2e 5c |_PUSH: %|s (%s).\|
|000045b0| 6e 22 2c 0a 58 09 09 09 | 09 20 20 20 20 20 20 20 |n",.X...|. |
|000045c0| 70 72 6f 67 6e 61 6d 65 | 2c 20 6d 6f 64 75 6c 65 |progname|, module|
|000045d0| 73 2d 3e 6e 61 6d 65 2c | 0a 58 09 09 09 09 20 20 |s->name,|.X.... |
|000045e0| 20 20 20 20 20 73 74 72 | 65 72 72 6f 72 28 65 72 | str|error(er|
|000045f0| 72 6e 6f 29 29 3b 0a 58 | 09 09 09 65 72 72 6f 72 |rno));.X|...error|
|00004600| 2b 2b 3b 0a 58 09 09 20 | 20 20 20 7d 0a 58 09 09 |++;.X.. | }.X..|
|00004610| 7d 0a 58 0a 58 09 09 6d | 6f 64 75 6c 65 73 20 3d |}.X.X..m|odules =|
|00004620| 20 6d 6f 64 75 6c 65 73 | 2d 3e 6e 65 78 74 3b 0a | modules|->next;.|
|00004630| 58 09 20 20 20 20 7d 0a | 58 0a 58 09 20 20 20 20 |X. }.|X.X. |
|00004640| 28 76 6f 69 64 29 20 69 | 6f 63 74 6c 28 30 2c 20 |(void) i|octl(0, |
|00004650| 54 43 53 45 54 53 2c 20 | 26 74 65 72 6d 69 6f 73 |TCSETS, |&termios|
|00004660| 29 3b 0a 58 09 7d 0a 58 | 0a 58 09 69 66 20 28 21 |);.X.}.X|.X.if (!|
|00004670| 61 6c 6c 6f 77 5f 64 65 | 6e 79 5f 70 29 0a 58 09 |allow_de|ny_p).X.|
|00004680| 20 20 20 20 72 65 74 75 | 72 6e 20 65 72 72 6f 72 | retu|rn error|
|00004690| 20 3f 20 31 20 3a 20 30 | 3b 0a 58 20 20 20 20 7d | ? 1 : 0|;.X }|
|000046a0| 0a 58 0a 58 20 20 20 20 | 69 66 20 28 61 6c 6c 6f |.X.X |if (allo|
|000046b0| 77 5f 64 65 6e 79 5f 70 | 29 0a 58 20 20 20 20 7b |w_deny_p|).X {|
|000046c0| 0a 58 09 69 66 20 28 69 | 6f 63 74 6c 28 30 2c 20 |.X.if (i|octl(0, |
|000046d0| 61 6c 6c 6f 77 5f 64 65 | 6e 79 2c 20 30 29 29 0a |allow_de|ny, 0)).|
|000046e0| 58 09 7b 0a 58 09 20 20 | 20 20 69 66 20 28 65 72 |X.{.X. | if (er|
|000046f0| 72 6e 6f 20 3d 3d 20 45 | 49 4e 56 41 4c 29 0a 58 |rno == E|INVAL).X|
|00004700| 09 20 20 20 20 7b 0a 58 | 09 09 28 76 6f 69 64 29 |. {.X|..(void)|
|00004710| 20 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c | fprintf|(stderr,|
|00004720| 20 22 25 73 3a 20 6d 6f | 64 75 6c 65 20 5c 22 25 | "%s: mo|dule \"%|
|00004730| 73 5c 22 20 6e 6f 74 20 | 69 6e 20 73 74 72 65 61 |s\" not |in strea|
|00004740| 6d 2e 5c 6e 22 2c 0a 58 | 09 09 09 20 20 20 20 20 |m.\n",.X|... |
|00004750| 20 20 70 72 6f 67 6e 61 | 6d 65 2c 20 41 44 56 4d | progna|me, ADVM|
|00004760| 4f 44 4e 41 4d 45 29 3b | 0a 58 09 20 20 20 20 7d |ODNAME);|.X. }|
|00004770| 0a 58 09 20 20 20 20 65 | 6c 73 65 0a 58 09 20 20 |.X. e|lse.X. |
|00004780| 20 20 7b 0a 58 09 09 28 | 76 6f 69 64 29 20 66 70 | {.X..(|void) fp|
|00004790| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 20 22 25 |rintf(st|derr, "%|
|000047a0| 73 3a 20 43 6f 75 6c 64 | 6e 27 74 20 73 65 74 20 |s: Could|n't set |
|000047b0| 61 64 76 69 73 6f 72 79 | 20 6d 6f 64 65 20 28 25 |advisory| mode (%|
|000047c0| 73 29 2e 5c 6e 22 2c 0a | 58 09 09 09 20 20 20 20 |s).\n",.|X... |
|000047d0| 20 20 20 70 72 6f 67 6e | 61 6d 65 2c 20 73 74 72 | progn|ame, str|
|000047e0| 65 72 72 6f 72 28 65 72 | 72 6e 6f 29 29 3b 0a 58 |error(er|rno));.X|
|000047f0| 09 20 20 20 20 7d 0a 58 | 0a 58 09 20 20 20 20 72 |. }.X|.X. r|
|00004800| 65 74 75 72 6e 20 31 3b | 0a 58 09 7d 0a 58 0a 58 |eturn 1;|.X.}.X.X|
|00004810| 09 67 6f 74 6f 20 61 64 | 76 73 74 61 74 3b 0a 58 |.goto ad|vstat;.X|
|00004820| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 2f 2a 20 | }.X.|X /* |
|00004830| 41 6c 6c 20 73 77 69 74 | 63 68 65 73 20 68 61 76 |All swit|ches hav|
|00004840| 65 20 62 65 65 6e 20 68 | 61 6e 64 6c 65 64 20 2a |e been h|andled *|
|00004850| 2f 0a 58 0a 58 20 20 20 | 20 61 72 67 63 20 2d 3d |/.X.X | argc -=|
|00004860| 20 6f 70 74 69 6e 64 3b | 0a 58 20 20 20 20 61 72 | optind;|.X ar|
|00004870| 67 76 20 2b 3d 20 6f 70 | 74 69 6e 64 3b 0a 58 0a |gv += op|tind;.X.|
|00004880| 58 20 20 20 20 69 66 20 | 28 61 72 67 63 20 3e 20 |X if |(argc > |
|00004890| 31 29 0a 58 20 20 20 20 | 7b 0a 58 09 75 73 61 67 |1).X |{.X.usag|
|000048a0| 65 28 29 3b 0a 58 20 20 | 20 20 7d 0a 58 0a 58 20 |e();.X | }.X.X |
|000048b0| 20 20 20 69 66 20 28 61 | 72 67 63 20 3d 3d 20 30 | if (a|rgc == 0|
|000048c0| 29 0a 58 20 20 20 20 7b | 0a 58 09 69 6e 74 20 72 |).X {|.X.int r|
|000048d0| 65 74 76 61 6c 2c 20 73 | 74 61 74 75 73 3b 0a 58 |etval, s|tatus;.X|
|000048e0| 0a 58 61 64 76 73 74 61 | 74 3a 0a 58 09 2f 2a 0a |.Xadvsta|t:.X./*.|
|000048f0| 58 09 2a 2a 20 53 74 61 | 74 75 73 20 6f 66 20 61 |X.** Sta|tus of a|
|00004900| 64 76 69 73 65 2e 0a 58 | 09 2a 2f 0a 58 0a 58 09 |dvise..X|.*/.X.X.|
|00004910| 72 65 74 76 61 6c 20 3d | 20 69 6f 63 74 6c 28 30 |retval =| ioctl(0|
|00004920| 2c 20 41 44 56 49 53 45 | 5f 53 54 41 54 55 53 2c |, ADVISE|_STATUS,|
|00004930| 20 26 73 74 61 74 75 73 | 29 3b 0a 58 23 69 66 20 | &status|);.X#if |
|00004940| 21 64 65 66 69 6e 65 64 | 28 4d 5f 43 4f 50 59 4f |!defined|(M_COPYO|
|00004950| 55 54 29 20 26 26 20 21 | 64 65 66 69 6e 65 64 28 |UT) && !|defined(|
|00004960| 73 75 6e 29 0a 58 09 73 | 74 61 74 75 73 20 3d 20 |sun).X.s|tatus = |
|00004970| 21 72 65 74 76 61 6c 3b | 0a 58 23 65 6e 64 69 66 |!retval;|.X#endif|
|00004980| 20 2f 2a 20 6e 20 4d 5f | 43 4f 50 59 4f 55 54 20 | /* n M_|COPYOUT |
|00004990| 2a 2f 0a 58 0a 58 09 69 | 66 20 28 72 65 74 76 61 |*/.X.X.i|f (retva|
|000049a0| 6c 29 0a 58 09 7b 0a 58 | 09 20 20 20 20 70 72 69 |l).X.{.X|. pri|
|000049b0| 6e 74 66 28 22 4d 6f 64 | 75 6c 65 20 5c 22 25 73 |ntf("Mod|ule \"%s|
|000049c0| 5c 22 20 6e 6f 74 20 70 | 75 73 68 65 64 20 6f 6e |\" not p|ushed on|
|000049d0| 20 73 74 72 65 61 6d 2e | 5c 6e 22 2c 20 41 44 56 | stream.|\n", ADV|
|000049e0| 4d 4f 44 4e 41 4d 45 29 | 3b 0a 58 09 7d 0a 58 09 |MODNAME)|;.X.}.X.|
|000049f0| 65 6c 73 65 0a 58 09 7b | 0a 58 09 20 20 20 20 70 |else.X.{|.X. p|
|00004a00| 72 69 6e 74 66 28 22 41 | 64 76 69 73 65 20 61 63 |rintf("A|dvise ac|
|00004a10| 63 65 73 73 20 25 73 5c | 6e 22 2c 20 73 74 61 74 |cess %s\|n", stat|
|00004a20| 75 73 20 3f 20 22 61 6c | 6c 6f 77 65 64 22 20 3a |us ? "al|lowed" :|
|00004a30| 20 22 64 65 6e 69 65 64 | 22 29 3b 0a 58 09 7d 0a | "denied|");.X.}.|
|00004a40| 58 0a 58 09 72 65 74 75 | 72 6e 20 30 3b 0a 58 20 |X.X.retu|rn 0;.X |
|00004a50| 20 20 20 7d 0a 58 0a 58 | 20 20 20 20 61 64 76 69 | }.X.X| advi|
|00004a60| 73 65 28 2a 61 72 67 76 | 29 3b 0a 58 0a 58 20 20 |se(*argv|);.X.X |
|00004a70| 20 20 72 65 74 75 72 6e | 20 30 3b 0a 58 7d 0a 58 | return| 0;.X}.X|
|00004a80| 0a 58 73 74 61 74 69 63 | 20 76 6f 69 64 0a 58 75 |.Xstatic| void.Xu|
|00004a90| 73 61 67 65 28 0a 58 23 | 69 66 64 65 66 20 5f 5f |sage(.X#|ifdef __|
|00004aa0| 53 54 44 43 5f 5f 0a 58 | 09 76 6f 69 64 0a 58 23 |STDC__.X|.void.X#|
|00004ab0| 65 6e 64 69 66 20 2f 2a | 20 5f 5f 53 54 44 43 5f |endif /*| __STDC_|
|00004ac0| 5f 20 2a 2f 0a 58 09 29 | 0a 58 7b 0a 58 20 20 20 |_ */.X.)|.X{.X |
|00004ad0| 20 28 76 6f 69 64 29 20 | 66 70 72 69 6e 74 66 28 | (void) |fprintf(|
|00004ae0| 73 74 64 65 72 72 2c 20 | 22 75 73 61 67 65 3a 20 |stderr, |"usage: |
|00004af0| 25 73 20 5b 2d 41 44 61 | 64 3f 5d 20 5b 2d 4d 20 |%s [-ADa|d?] [-M |
|00004b00| 6d 6f 64 75 6c 65 5d 20 | 7c 20 5b 2d 53 73 72 5d |module] || [-Ssr]|
|00004b10| 20 5b 2d 6d 20 63 68 61 | 72 5d 20 5b 20 64 65 76 | [-m cha|r] [ dev|
|00004b20| 69 63 65 20 7c 20 75 73 | 65 72 6e 61 6d 65 20 5d |ice | us|ername ]|
|00004b30| 5c 6e 22 2c 0a 58 09 09 | 20 20 20 70 72 6f 67 6e |\n",.X..| progn|
|00004b40| 61 6d 65 29 3b 0a 58 20 | 20 20 20 65 78 69 74 28 |ame);.X | exit(|
|00004b50| 31 29 3b 0a 58 7d 0a 58 | 0a 58 73 74 72 75 63 74 |1);.X}.X|.Xstruct|
|00004b60| 20 74 65 72 6d 69 6f 73 | 20 74 65 72 6d 69 6f 73 | termios| termios|
|00004b70| 2c 20 6f 6c 64 74 65 72 | 6d 69 6f 73 3b 0a 58 0a |, oldter|mios;.X.|
|00004b80| 58 76 6f 69 64 20 72 65 | 73 74 6f 72 65 74 65 72 |Xvoid re|storeter|
|00004b90| 6d 69 6f 73 28 73 69 67 | 29 0a 58 7b 0a 58 09 28 |mios(sig|).X{.X.(|
|00004ba0| 76 6f 69 64 29 20 69 6f | 63 74 6c 28 30 2c 20 54 |void) io|ctl(0, T|
|00004bb0| 43 53 45 54 53 2c 20 26 | 6f 6c 64 74 65 72 6d 69 |CSETS, &|oldtermi|
|00004bc0| 6f 73 29 3b 0a 58 09 65 | 78 69 74 28 30 29 3b 0a |os);.X.e|xit(0);.|
|00004bd0| 58 7d 0a 58 0a 58 73 74 | 61 74 69 63 20 76 6f 69 |X}.X.Xst|atic voi|
|00004be0| 64 0a 58 23 69 66 64 65 | 66 20 5f 5f 53 54 44 43 |d.X#ifde|f __STDC|
|00004bf0| 5f 5f 0a 58 61 64 76 69 | 73 65 28 63 68 61 72 20 |__.Xadvi|se(char |
|00004c00| 2a 77 68 6f 29 0a 58 23 | 65 6c 73 65 0a 58 61 64 |*who).X#|else.Xad|
|00004c10| 76 69 73 65 28 77 68 6f | 29 0a 58 63 68 61 72 20 |vise(who|).Xchar |
|00004c20| 2a 77 68 6f 3b 0a 58 23 | 65 6e 64 69 66 20 2f 2a |*who;.X#|endif /*|
|00004c30| 20 5f 5f 53 54 44 43 5f | 5f 20 2a 2f 0a 58 7b 0a | __STDC_|_ */.X{.|
|00004c40| 58 20 20 20 20 69 6e 74 | 20 72 65 74 2c 20 66 64 |X int| ret, fd|
|00004c50| 2c 20 6d 65 74 61 64 3d | 30 3b 0a 58 20 20 20 20 |, metad=|0;.X |
|00004c60| 63 68 61 72 20 62 75 66 | 5b 31 30 32 34 5d 2c 20 |char buf|[1024], |
|00004c70| 2a 64 65 76 69 63 65 3d | 4e 55 4c 4c 2c 20 2a 64 |*device=|NULL, *d|
|00004c80| 65 76 6e 61 6d 65 2c 20 | 2a 6c 6f 67 69 6e 5f 6e |evname, |*login_n|
|00004c90| 61 6d 65 2c 20 2a 74 74 | 79 5f 6e 61 6d 65 3b 0a |ame, *tt|y_name;.|
|00004ca0| 58 20 20 20 20 73 74 72 | 75 63 74 20 70 6f 6c 6c |X str|uct poll|
|00004cb0| 66 64 20 70 66 64 73 5b | 32 5d 3b 0a 58 20 20 20 |fd pfds[|2];.X |
|00004cc0| 20 73 74 72 75 63 74 20 | 73 74 61 74 20 73 74 62 | struct |stat stb|
|00004cd0| 75 66 3b 0a 58 20 20 20 | 20 73 74 72 75 63 74 20 |uf;.X | struct |
|00004ce0| 75 74 6d 70 20 2a 75 74 | 2c 20 75 74 73 3b 0a 58 |utmp *ut|, uts;.X|
|00004cf0| 20 20 20 20 63 68 61 72 | 20 75 73 65 72 6e 61 6d | char| usernam|
|00004d00| 65 5b 73 69 7a 65 6f 66 | 28 75 74 2d 3e 75 74 5f |e[sizeof|(ut->ut_|
|00004d10| 6e 61 6d 65 29 20 2b 20 | 31 5d 3b 0a 58 0a 58 20 |name) + |1];.X.X |
|00004d20| 20 20 20 75 73 65 72 6e | 61 6d 65 5b 30 5d 20 3d | usern|ame[0] =|
|00004d30| 20 27 5c 30 27 3b 0a 58 | 0a 58 20 20 20 20 69 66 | '\0';.X|.X if|
|00004d40| 20 28 2a 77 68 6f 20 3d | 3d 20 27 2f 27 29 20 2f | (*who =|= '/') /|
|00004d50| 2a 20 66 75 6c 6c 20 70 | 61 74 68 20 6e 61 6d 65 |* full p|ath name|
|00004d60| 20 2a 2f 0a 58 09 64 65 | 76 69 63 65 20 3d 20 77 | */.X.de|vice = w|
|00004d70| 68 6f 3b 0a 58 20 20 20 | 20 65 6c 73 65 0a 58 20 |ho;.X | else.X |
|00004d80| 20 20 20 7b 0a 58 09 2f | 2a 20 45 69 74 68 65 72 | {.X./|* Either|
|00004d90| 20 74 68 69 73 20 69 73 | 20 2f 64 65 76 2f 20 2b | this is| /dev/ +|
|00004da0| 20 77 68 6f 20 4f 52 20 | 61 20 75 73 65 72 6e 61 | who OR |a userna|
|00004db0| 6d 65 20 2a 2f 0a 58 0a | 58 09 73 65 74 75 74 65 |me */.X.|X.setute|
|00004dc0| 6e 74 28 29 3b 0a 58 0a | 58 09 77 68 69 6c 65 20 |nt();.X.|X.while |
|00004dd0| 28 28 75 74 20 3d 20 67 | 65 74 75 74 65 6e 74 28 |((ut = g|etutent(|
|00004de0| 29 29 20 21 3d 20 4e 55 | 4c 4c 29 0a 58 09 7b 0a |)) != NU|LL).X.{.|
|00004df0| 58 09 20 20 20 20 69 66 | 20 28 0a 58 23 69 66 64 |X. if| (.X#ifd|
|00004e00| 65 66 20 55 53 45 52 5f | 50 52 4f 43 45 53 53 0a |ef USER_|PROCESS.|
|00004e10| 58 09 09 28 75 74 2d 3e | 75 74 5f 74 79 70 65 3d |X..(ut->|ut_type=|
|00004e20| 3d 55 53 45 52 5f 50 52 | 4f 43 45 53 53 29 20 26 |=USER_PR|OCESS) &|
|00004e30| 26 0a 58 23 65 6e 64 69 | 66 20 2f 2a 20 55 53 45 |&.X#endi|f /* USE|
|00004e40| 52 5f 50 52 4f 43 45 53 | 53 20 2a 2f 0a 58 09 09 |R_PROCES|S */.X..|
|00004e50| 28 21 73 74 72 6e 63 6d | 70 28 77 68 6f 2c 20 75 |(!strncm|p(who, u|
|00004e60| 74 2d 3e 75 74 5f 6e 61 | 6d 65 2c 20 73 69 7a 65 |t->ut_na|me, size|
|00004e70| 6f 66 28 75 74 2d 3e 75 | 74 5f 6e 61 6d 65 29 29 |of(ut->u|t_name))|
|00004e80| 29 29 0a 58 09 20 20 20 | 20 7b 0a 58 09 09 69 66 |)).X. | {.X..if|
|00004e90| 28 64 65 76 69 63 65 29 | 20 66 72 65 65 28 64 65 |(device)| free(de|
|00004ea0| 76 69 63 65 29 3b 0a 58 | 09 09 64 65 76 69 63 65 |vice);.X|..device|
|00004eb0| 20 3d 20 28 63 68 61 72 | 20 2a 29 6d 61 6c 6c 6f | = (char| *)mallo|
|00004ec0| 63 28 73 69 7a 65 6f 66 | 28 22 2f 64 65 76 2f 22 |c(sizeof|("/dev/"|
|00004ed0| 29 20 2b 0a 58 09 09 09 | 09 09 73 69 7a 65 6f 66 |) +.X...|..sizeof|
|00004ee0| 28 75 74 2d 3e 75 74 5f | 6c 69 6e 65 29 29 3b 0a |(ut->ut_|line));.|
|00004ef0| 58 0a 58 09 09 69 66 20 | 28 64 65 76 69 63 65 20 |X.X..if |(device |
|00004f00| 3d 3d 20 4e 55 4c 4c 29 | 0a 58 09 09 7b 0a 58 09 |== NULL)|.X..{.X.|
|00004f10| 09 20 20 20 20 28 76 6f | 69 64 29 20 66 70 72 69 |. (vo|id) fpri|
|00004f20| 6e 74 66 28 73 74 64 65 | 72 72 2c 0a 58 09 09 09 |ntf(stde|rr,.X...|
|00004f30| 20 20 20 20 22 25 73 3a | 20 6d 61 6c 6c 6f 63 20 | "%s:| malloc |
|00004f40| 66 61 69 6c 65 64 20 28 | 4f 75 74 20 6f 66 20 4d |failed (|Out of M|
|00004f50| 65 6d 6f 72 79 29 5c 6e | 22 2c 0a 58 09 09 09 20 |emory)\n|",.X... |
|00004f60| 20 20 20 70 72 6f 67 6e | 61 6d 65 29 3b 0a 58 0a | progn|ame);.X.|
|00004f70| 58 09 09 20 20 20 20 65 | 78 69 74 28 31 29 3b 0a |X.. e|xit(1);.|
|00004f80| 58 09 09 7d 0a 58 0a 58 | 09 09 73 74 72 63 70 79 |X..}.X.X|..strcpy|
|00004f90| 28 64 65 76 69 63 65 2c | 20 22 2f 64 65 76 2f 22 |(device,| "/dev/"|
|00004fa0| 29 3b 0a 58 09 09 73 74 | 72 6e 63 61 74 28 64 65 |);.X..st|rncat(de|
|00004fb0| 76 69 63 65 2c 20 75 74 | 2d 3e 75 74 5f 6c 69 6e |vice, ut|->ut_lin|
|00004fc0| 65 2c 20 73 69 7a 65 6f | 66 28 75 74 2d 3e 75 74 |e, sizeo|f(ut->ut|
|00004fd0| 5f 6c 69 6e 65 29 29 3b | 0a 58 09 09 64 65 76 69 |_line));|.X..devi|
|00004fe0| 63 65 5b 73 69 7a 65 6f | 66 28 22 2f 64 65 76 2f |ce[sizeo|f("/dev/|
|00004ff0| 22 29 2b 73 69 7a 65 6f | 66 28 75 74 2d 3e 75 74 |")+sizeo|f(ut->ut|
|00005000| 5f 6c 69 6e 65 29 5d 20 | 3d 20 27 5c 30 27 3b 0a |_line)] |= '\0';.|
|00005010| 58 0a 58 09 09 73 74 72 | 6e 63 70 79 28 75 73 65 |X.X..str|ncpy(use|
|00005020| 72 6e 61 6d 65 2c 20 75 | 74 2d 3e 75 74 5f 6e 61 |rname, u|t->ut_na|
|00005030| 6d 65 2c 20 73 69 7a 65 | 6f 66 28 75 74 2d 3e 75 |me, size|of(ut->u|
|00005040| 74 5f 6e 61 6d 65 29 29 | 3b 0a 58 09 09 75 73 65 |t_name))|;.X..use|
|00005050| 72 6e 61 6d 65 5b 73 69 | 7a 65 6f 66 28 75 74 2d |rname[si|zeof(ut-|
|00005060| 3e 75 74 5f 6e 61 6d 65 | 29 5d 20 3d 20 27 5c 30 |>ut_name|)] = '\0|
|00005070| 27 3b 0a 58 09 09 69 66 | 28 21 73 74 72 63 6d 70 |';.X..if|(!strcmp|
|00005080| 28 64 65 76 69 63 65 2c | 20 74 74 79 6e 61 6d 65 |(device,| ttyname|
|00005090| 28 30 29 29 29 20 63 6f | 6e 74 69 6e 75 65 3b 0a |(0))) co|ntinue;.|
|000050a0| 58 09 09 62 72 65 61 6b | 3b 0a 58 09 20 20 20 20 |X..break|;.X. |
|000050b0| 7d 0a 58 09 7d 0a 58 0a | 58 09 69 66 20 28 64 65 |}.X.}.X.|X.if (de|
|000050c0| 76 69 63 65 20 3d 3d 20 | 4e 55 4c 4c 29 20 2f 2a |vice == |NULL) /*|
|000050d0| 20 49 73 20 2f 64 65 76 | 2f 20 2b 20 77 68 6f 20 | Is /dev|/ + who |
|000050e0| 2a 2f 0a 58 09 7b 0a 58 | 09 20 20 20 20 64 65 76 |*/.X.{.X|. dev|
|000050f0| 69 63 65 20 3d 20 28 63 | 68 61 72 20 2a 29 6d 61 |ice = (c|har *)ma|
|00005100| 6c 6c 6f 63 28 73 69 7a | 65 6f 66 28 22 2f 64 65 |lloc(siz|eof("/de|
|00005110| 76 2f 22 29 20 2b 20 73 | 74 72 6c 65 6e 28 77 68 |v/") + s|trlen(wh|
|00005120| 6f 29 29 3b 0a 58 0a 58 | 09 20 20 20 20 69 66 20 |o));.X.X|. if |
|00005130| 28 64 65 76 69 63 65 20 | 3d 3d 20 4e 55 4c 4c 29 |(device |== NULL)|
|00005140| 0a 58 09 20 20 20 20 7b | 0a 58 09 09 28 76 6f 69 |.X. {|.X..(voi|
|00005150| 64 29 20 66 70 72 69 6e | 74 66 28 73 74 64 65 72 |d) fprin|tf(stder|
|00005160| 72 2c 20 22 25 73 3a 20 | 6d 61 6c 6c 6f 63 20 66 |r, "%s: |malloc f|
|00005170| 61 69 6c 65 64 20 28 4f | 75 74 20 6f 66 20 4d 65 |ailed (O|ut of Me|
|00005180| 6d 6f 72 79 29 5c 6e 22 | 2c 0a 58 09 09 09 09 70 |mory)\n"|,.X....p|
|00005190| 72 6f 67 6e 61 6d 65 29 | 3b 0a 58 0a 58 09 09 65 |rogname)|;.X.X..e|
|000051a0| 78 69 74 28 31 29 3b 0a | 58 09 20 20 20 20 7d 0a |xit(1);.|X. }.|
|000051b0| 58 0a 58 09 20 20 20 20 | 73 74 72 63 70 79 28 64 |X.X. |strcpy(d|
|000051c0| 65 76 69 63 65 2c 20 22 | 2f 64 65 76 2f 22 29 3b |evice, "|/dev/");|
|000051d0| 0a 58 09 20 20 20 20 73 | 74 72 63 61 74 28 64 65 |.X. s|trcat(de|
|000051e0| 76 69 63 65 2c 20 77 68 | 6f 29 3b 0a 58 09 7d 0a |vice, wh|o);.X.}.|
|000051f0| 58 0a 58 09 65 6e 64 75 | 74 65 6e 74 28 29 3b 0a |X.X.endu|tent();.|
|00005200| 58 20 20 20 20 7d 0a 58 | 0a 58 20 20 20 20 64 65 |X }.X|.X de|
|00005210| 76 6e 61 6d 65 20 3d 20 | 64 65 76 69 63 65 20 2b |vname = |device +|
|00005220| 20 73 69 7a 65 6f 66 28 | 22 2f 64 65 76 2f 22 29 | sizeof(|"/dev/")|
|00005230| 20 2d 20 31 3b 0a 58 0a | 58 20 20 20 20 69 66 20 | - 1;.X.|X if |
|00005240| 28 75 73 65 72 6e 61 6d | 65 5b 30 5d 20 3d 3d 20 |(usernam|e[0] == |
|00005250| 27 5c 30 27 29 0a 58 20 | 20 20 20 7b 0a 58 09 73 |'\0').X | {.X.s|
|00005260| 65 74 75 74 65 6e 74 28 | 29 3b 0a 58 0a 58 09 73 |etutent(|);.X.X.s|
|00005270| 74 72 6e 63 70 79 28 75 | 74 73 2e 75 74 5f 6c 69 |trncpy(u|ts.ut_li|
|00005280| 6e 65 2c 20 64 65 76 6e | 61 6d 65 2c 20 73 69 7a |ne, devn|ame, siz|
|00005290| 65 6f 66 28 75 74 73 2e | 75 74 5f 6c 69 6e 65 29 |eof(uts.|ut_line)|
|000052a0| 29 3b 0a 58 0a 58 09 69 | 66 20 28 28 75 74 20 3d |);.X.X.i|f ((ut =|
|000052b0| 20 67 65 74 75 74 6c 69 | 6e 65 28 26 75 74 73 29 | getutli|ne(&uts)|
|000052c0| 29 20 21 3d 20 4e 55 4c | 4c 29 0a 58 09 7b 0a 58 |) != NUL|L).X.{.X|
|000052d0| 09 20 20 20 20 73 74 72 | 6e 63 70 79 28 75 73 65 |. str|ncpy(use|
|000052e0| 72 6e 61 6d 65 2c 20 75 | 74 2d 3e 75 74 5f 6e 61 |rname, u|t->ut_na|
|000052f0| 6d 65 2c 20 73 69 7a 65 | 6f 66 28 75 74 2d 3e 75 |me, size|of(ut->u|
|00005300| 74 5f 6e 61 6d 65 29 29 | 3b 0a 58 09 20 20 20 20 |t_name))|;.X. |
|00005310| 75 73 65 72 6e 61 6d 65 | 5b 73 69 7a 65 6f 66 28 |username|[sizeof(|
|00005320| 75 74 2d 3e 75 74 5f 6e | 61 6d 65 29 5d 20 3d 20 |ut->ut_n|ame)] = |
|00005330| 27 5c 30 27 3b 0a 58 09 | 7d 0a 58 09 65 6c 73 65 |'\0';.X.|}.X.else|
|00005340| 0a 58 09 7b 0a 58 09 20 | 20 20 20 73 74 72 63 70 |.X.{.X. | strcp|
|00005350| 79 28 75 73 65 72 6e 61 | 6d 65 2c 20 22 75 6e 6b |y(userna|me, "unk|
|00005360| 6e 6f 77 6e 22 29 3b 0a | 58 09 7d 0a 58 0a 58 09 |nown");.|X.}.X.X.|
|00005370| 65 6e 64 75 74 65 6e 74 | 28 29 3b 0a 58 20 20 20 |endutent|();.X |
|00005380| 20 7d 0a 58 0a 58 20 20 | 20 20 69 66 28 21 73 74 | }.X.X | if(!st|
|00005390| 72 63 6d 70 28 64 65 76 | 69 63 65 2c 20 74 74 79 |rcmp(dev|ice, tty|
|000053a0| 6e 61 6d 65 28 30 29 29 | 29 0a 58 20 20 20 20 7b |name(0))|).X {|
|000053b0| 0a 58 09 28 76 6f 69 64 | 29 20 66 70 72 69 6e 74 |.X.(void|) fprint|
|000053c0| 66 28 73 74 64 65 72 72 | 2c 20 22 25 73 3a 20 43 |f(stderr|, "%s: C|
|000053d0| 61 6e 27 74 20 61 64 76 | 69 73 65 20 79 6f 75 72 |an't adv|ise your|
|000053e0| 73 65 6c 66 21 5c 6e 22 | 2c 20 70 72 6f 67 6e 61 |self!\n"|, progna|
|000053f0| 6d 65 29 3b 0a 58 09 65 | 78 69 74 28 31 29 3b 0a |me);.X.e|xit(1);.|
|00005400| 58 20 20 20 20 7d 0a 58 | 0a 58 20 20 20 20 69 66 |X }.X|.X if|
|00005410| 20 28 73 74 61 74 28 64 | 65 76 69 63 65 2c 20 26 | (stat(d|evice, &|
|00005420| 73 74 62 75 66 29 20 3c | 20 30 29 0a 58 20 20 20 |stbuf) <| 0).X |
|00005430| 20 7b 0a 58 09 69 66 20 | 28 65 72 72 6e 6f 20 3d | {.X.if |(errno =|
|00005440| 3d 20 45 4e 4f 45 4e 54 | 29 0a 58 09 7b 0a 58 09 |= ENOENT|).X.{.X.|
|00005450| 20 20 20 20 69 66 28 2a | 77 68 6f 3d 3d 27 2f 27 | if(*|who=='/'|
|00005460| 29 20 28 76 6f 69 64 29 | 20 66 70 72 69 6e 74 66 |) (void)| fprintf|
|00005470| 28 73 74 64 65 72 72 2c | 20 22 25 73 3a 20 6e 6f |(stderr,| "%s: no|
|00005480| 20 61 64 76 69 73 65 65 | 20 64 65 76 69 63 65 20 | advisee| device |
|00005490| 5c 22 25 73 5c 22 5c 6e | 22 2c 20 70 72 6f 67 6e |\"%s\"\n|", progn|
|000054a0| 61 6d 65 2c 20 64 65 76 | 69 63 65 29 3b 0a 58 09 |ame, dev|ice);.X.|
|000054b0| 20 20 20 20 65 6c 73 65 | 20 28 76 6f 69 64 29 20 | else| (void) |
|000054c0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|000054d0| 22 25 73 3a 20 75 6e 6b | 6e 6f 77 6e 20 75 73 65 |"%s: unk|nown use|
|000054e0| 72 20 5c 22 25 73 5c 22 | 20 6f 72 20 6e 6f 20 61 |r \"%s\"| or no a|
|000054f0| 64 76 69 73 65 65 20 64 | 65 76 69 63 65 20 5c 22 |dvisee d|evice \"|
|00005500| 25 73 5c 22 5c 6e 22 2c | 20 70 72 6f 67 6e 61 6d |%s\"\n",| prognam|
|00005510| 65 2c 20 77 68 6f 2c 20 | 64 65 76 69 63 65 29 3b |e, who, |device);|
|00005520| 0a 58 09 7d 0a 58 09 65 | 6c 73 65 0a 58 09 7b 0a |.X.}.X.e|lse.X.{.|
|00005530| 58 09 20 20 20 20 28 76 | 6f 69 64 29 20 66 70 72 |X. (v|oid) fpr|
|00005540| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 0a 58 09 09 |intf(std|err,.X..|
|00005550| 09 20 20 20 22 25 73 3a | 20 43 6f 75 6c 64 6e 27 |. "%s:| Couldn'|
|00005560| 74 20 73 74 61 74 28 29 | 20 61 64 76 69 73 65 65 |t stat()| advisee|
|00005570| 20 64 65 76 69 63 65 3a | 20 25 73 20 28 25 73 29 | device:| %s (%s)|
|00005580| 5c 6e 22 2c 0a 58 09 09 | 09 20 20 20 70 72 6f 67 |\n",.X..|. prog|
|00005590| 6e 61 6d 65 2c 20 64 65 | 76 69 63 65 2c 20 73 74 |name, de|vice, st|
|000055a0| 72 65 72 72 6f 72 28 65 | 72 72 6e 6f 29 29 3b 0a |rerror(e|rrno));.|
|000055b0| 58 09 7d 0a 58 09 65 78 | 69 74 28 31 29 3b 0a 58 |X.}.X.ex|it(1);.X|
|000055c0| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 69 66 20 | }.X.|X if |
|000055d0| 28 28 66 64 20 3d 20 6f | 70 65 6e 28 22 2f 64 65 |((fd = o|pen("/de|
|000055e0| 76 2f 61 64 76 69 73 65 | 22 2c 20 4f 5f 52 44 57 |v/advise|", O_RDW|
|000055f0| 52 7c 4f 5f 4e 4f 4e 42 | 4c 4f 43 4b 29 29 20 3c |R|O_NONB|LOCK)) <|
|00005600| 20 30 29 0a 58 20 20 20 | 20 7b 0a 58 09 28 76 6f | 0).X | {.X.(vo|
|00005610| 69 64 29 20 66 70 72 69 | 6e 74 66 28 73 74 64 65 |id) fpri|ntf(stde|
|00005620| 72 72 2c 0a 58 09 09 20 | 20 20 22 25 73 3a 20 43 |rr,.X.. | "%s: C|
|00005630| 6f 75 6c 64 6e 27 74 20 | 6f 70 65 6e 20 61 64 76 |ouldn't |open adv|
|00005640| 69 73 6f 72 79 20 64 65 | 76 69 63 65 3a 20 2f 64 |isory de|vice: /d|
|00005650| 65 76 2f 61 64 76 69 73 | 65 20 28 25 73 29 5c 6e |ev/advis|e (%s)\n|
|00005660| 22 2c 0a 58 09 09 20 20 | 20 70 72 6f 67 6e 61 6d |",.X.. | prognam|
|00005670| 65 2c 20 73 74 72 65 72 | 72 6f 72 28 65 72 72 6e |e, strer|ror(errn|
|00005680| 6f 29 29 3b 0a 58 09 65 | 78 69 74 28 31 29 3b 0a |o));.X.e|xit(1);.|
|00005690| 58 20 20 20 20 7d 0a 58 | 20 20 20 20 73 65 74 75 |X }.X| setu|
|000056a0| 69 64 28 67 65 74 75 69 | 64 28 29 29 3b 0a 58 0a |id(getui|d());.X.|
|000056b0| 58 20 20 20 20 69 66 20 | 28 69 6f 63 74 6c 28 66 |X if |(ioctl(f|
|000056c0| 64 2c 20 72 65 76 65 72 | 73 65 3f 41 44 56 49 53 |d, rever|se?ADVIS|
|000056d0| 45 5f 53 45 54 41 44 56 | 49 53 45 45 52 44 3a 41 |E_SETADV|ISEERD:A|
|000056e0| 44 56 49 53 45 5f 53 45 | 54 41 44 56 49 53 45 45 |DVISE_SE|TADVISEE|
|000056f0| 57 52 2c 20 0a 58 23 69 | 66 64 65 66 20 73 75 6e |WR, .X#i|fdef sun|
|00005700| 0a 58 09 26 0a 58 23 65 | 6e 64 69 66 20 2f 2a 20 |.X.&.X#e|ndif /* |
|00005710| 73 75 6e 20 2a 2f 0a 58 | 09 73 74 62 75 66 2e 73 |sun */.X|.stbuf.s|
|00005720| 74 5f 72 64 65 76 29 29 | 0a 58 20 20 20 20 7b 0a |t_rdev))|.X {.|
|00005730| 58 09 69 66 20 28 65 72 | 72 6e 6f 20 3d 3d 20 45 |X.if (er|rno == E|
|00005740| 55 4e 41 54 43 48 29 0a | 58 09 7b 0a 58 09 20 20 |UNATCH).|X.{.X. |
|00005750| 20 20 28 76 6f 69 64 29 | 20 66 70 72 69 6e 74 66 | (void)| fprintf|
|00005760| 28 73 74 64 65 72 72 2c | 0a 58 09 09 09 20 20 20 |(stderr,|.X... |
|00005770| 22 25 73 3a 20 6d 6f 64 | 75 6c 65 20 5c 22 25 73 |"%s: mod|ule \"%s|
|00005780| 5c 22 20 6e 6f 74 20 69 | 6e 20 70 6c 61 63 65 20 |\" not i|n place |
|00005790| 66 6f 72 20 25 73 5c 6e | 22 2c 0a 58 09 09 09 20 |for %s\n|",.X... |
|000057a0| 20 20 70 72 6f 67 6e 61 | 6d 65 2c 20 41 44 56 4d | progna|me, ADVM|
|000057b0| 4f 44 4e 41 4d 45 2c 20 | 64 65 76 69 63 65 29 3b |ODNAME, |device);|
|000057c0| 0a 58 09 7d 20 65 6c 73 | 65 20 69 66 20 28 65 72 |.X.} els|e if (er|
|000057d0| 72 6e 6f 20 3d 3d 20 45 | 41 43 43 45 53 29 0a 58 |rno == E|ACCES).X|
|000057e0| 09 7b 0a 58 09 20 20 20 | 20 28 76 6f 69 64 29 20 |.{.X. | (void) |
|000057f0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00005800| 22 25 73 3a 20 50 65 72 | 6d 69 73 73 69 6f 6e 20 |"%s: Per|mission |
|00005810| 64 65 6e 69 65 64 5c 6e | 22 2c 20 70 72 6f 67 6e |denied\n|", progn|
|00005820| 61 6d 65 29 3b 0a 58 09 | 7d 20 65 6c 73 65 0a 58 |ame);.X.|} else.X|
|00005830| 09 7b 0a 58 09 20 20 20 | 20 28 76 6f 69 64 29 20 |.{.X. | (void) |
|00005840| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 0a |fprintf(|stderr,.|
|00005850| 58 09 09 20 20 20 20 20 | 20 20 22 25 73 3a 20 43 |X.. | "%s: C|
|00005860| 6f 75 6c 64 6e 27 74 20 | 73 65 74 20 61 64 76 69 |ouldn't |set advi|
|00005870| 73 65 65 3a 20 25 73 20 | 28 25 6c 75 2c 20 25 6c |see: %s |(%lu, %l|
|00005880| 75 29 20 28 25 73 29 5c | 6e 22 2c 0a 58 09 09 09 |u) (%s)\|n",.X...|
|00005890| 70 72 6f 67 6e 61 6d 65 | 2c 20 64 65 76 69 63 65 |progname|, device|
|000058a0| 2c 0a 58 23 69 66 64 65 | 66 20 73 75 6e 0a 58 09 |,.X#ifde|f sun.X.|
|000058b0| 09 09 6d 61 6a 6f 72 28 | 73 74 62 75 66 2e 73 74 |..major(|stbuf.st|
|000058c0| 5f 72 64 65 76 29 2c 20 | 6d 69 6e 6f 72 28 73 74 |_rdev), |minor(st|
|000058d0| 62 75 66 2e 73 74 5f 72 | 64 65 76 29 2c 0a 58 23 |buf.st_r|dev),.X#|
|000058e0| 65 6c 73 65 0a 58 09 09 | 09 28 28 73 74 62 75 66 |else.X..|.((stbuf|
|000058f0| 2e 73 74 5f 72 64 65 76 | 20 3e 3e 20 31 36 29 20 |.st_rdev| >> 16) |
|00005900| 26 30 78 46 46 46 46 29 | 2c 20 28 73 74 62 75 66 |&0xFFFF)|, (stbuf|
|00005910| 2e 73 74 5f 72 64 65 76 | 26 30 78 46 46 46 46 29 |.st_rdev|&0xFFFF)|
|00005920| 2c 0a 58 23 65 6e 64 69 | 66 20 2f 2a 20 73 75 6e |,.X#endi|f /* sun|
|00005930| 20 2a 2f 0a 58 09 09 09 | 73 74 72 65 72 72 6f 72 | */.X...|strerror|
|00005940| 28 65 72 72 6e 6f 29 29 | 3b 0a 58 09 7d 0a 58 09 |(errno))|;.X.}.X.|
|00005950| 65 78 69 74 28 31 29 3b | 0a 58 20 20 20 20 7d 0a |exit(1);|.X }.|
|00005960| 58 0a 58 20 20 20 20 69 | 66 20 28 21 73 65 63 72 |X.X i|f (!secr|
|00005970| 65 74 29 0a 58 20 20 20 | 20 7b 0a 58 09 63 68 61 |et).X | {.X.cha|
|00005980| 72 20 2a 73 74 72 3b 0a | 58 09 73 74 72 75 63 74 |r *str;.|X.struct|
|00005990| 20 70 61 73 73 77 64 20 | 2a 70 74 3b 0a 58 0a 58 | passwd |*pt;.X.X|
|000059a0| 09 69 66 20 28 28 6c 6f | 67 69 6e 5f 6e 61 6d 65 |.if ((lo|gin_name|
|000059b0| 20 3d 20 67 65 74 6c 6f | 67 69 6e 28 29 29 20 3d | = getlo|gin()) =|
|000059c0| 3d 20 4e 55 4c 4c 29 0a | 58 09 7b 0a 58 09 20 20 |= NULL).|X.{.X. |
|000059d0| 20 20 70 74 20 3d 20 67 | 65 74 70 77 75 69 64 28 | pt = g|etpwuid(|
|000059e0| 67 65 74 75 69 64 28 29 | 29 3b 0a 58 0a 58 09 20 |getuid()|);.X.X. |
|000059f0| 20 20 20 69 66 20 28 70 | 74 20 3d 3d 20 4e 55 4c | if (p|t == NUL|
|00005a00| 4c 20 7c 7c 20 70 74 2d | 3e 70 77 5f 6e 61 6d 65 |L || pt-|>pw_name|
|00005a10| 20 3d 3d 20 4e 55 4c 4c | 29 0a 58 09 20 20 20 20 | == NULL|).X. |
|00005a20| 7b 0a 58 09 09 6c 6f 67 | 69 6e 5f 6e 61 6d 65 20 |{.X..log|in_name |
|00005a30| 3d 20 22 73 6f 6d 65 62 | 6f 64 79 22 3b 0a 58 09 |= "someb|ody";.X.|
|00005a40| 20 20 20 20 7d 0a 58 09 | 20 20 20 20 65 6c 73 65 | }.X.| else|
|00005a50| 0a 58 09 20 20 20 20 7b | 0a 58 09 09 6c 6f 67 69 |.X. {|.X..logi|
|00005a60| 6e 5f 6e 61 6d 65 20 3d | 20 70 74 2d 3e 70 77 5f |n_name =| pt->pw_|
|00005a70| 6e 61 6d 65 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 |name;.X.| }.X.|
|00005a80| 7d 0a 58 0a 58 09 69 66 | 20 28 28 74 74 79 5f 6e |}.X.X.if| ((tty_n|
|00005a90| 61 6d 65 20 3d 20 74 74 | 79 6e 61 6d 65 28 32 29 |ame = tt|yname(2)|
|00005aa0| 29 20 21 3d 20 4e 55 4c | 4c 29 0a 58 09 7b 0a 58 |) != NUL|L).X.{.X|
|00005ab0| 09 20 20 20 20 69 66 20 | 28 21 73 74 72 6e 63 6d |. if |(!strncm|
|00005ac0| 70 28 74 74 79 5f 6e 61 | 6d 65 2c 20 22 2f 64 65 |p(tty_na|me, "/de|
|00005ad0| 76 2f 22 2c 20 73 69 7a | 65 6f 66 28 22 2f 64 65 |v/", siz|eof("/de|
|00005ae0| 76 2f 22 29 2d 31 29 29 | 0a 58 09 09 74 74 79 5f |v/")-1))|.X..tty_|
|00005af0| 6e 61 6d 65 20 2b 3d 20 | 73 69 7a 65 6f 66 28 22 |name += |sizeof("|
|00005b00| 2f 64 65 76 2f 22 29 2d | 31 3b 0a 58 09 7d 0a 58 |/dev/")-|1;.X.}.X|
|00005b10| 09 65 6c 73 65 0a 58 09 | 20 20 20 20 74 74 79 5f |.else.X.| tty_|
|00005b20| 6e 61 6d 65 20 3d 20 22 | 73 6f 6d 65 77 68 65 72 |name = "|somewher|
|00005b30| 65 22 3b 0a 58 0a 58 09 | 73 74 72 20 3d 20 6d 61 |e";.X.X.|str = ma|
|00005b40| 6c 6c 6f 63 28 73 74 72 | 6c 65 6e 28 6c 6f 67 69 |lloc(str|len(logi|
|00005b50| 6e 5f 6e 61 6d 65 29 20 | 2b 20 73 74 72 6c 65 6e |n_name) |+ strlen|
|00005b60| 28 74 74 79 5f 6e 61 6d | 65 29 20 2b 0a 58 09 09 |(tty_nam|e) +.X..|
|00005b70| 20 20 20 20 20 73 69 7a | 65 6f 66 28 22 5b 3a 20 | siz|eof("[: |
|00005b80| 61 64 76 69 73 69 6e 67 | 20 3a 5d 5c 6e 5c 72 22 |advising| :]\n\r"|
|00005b90| 29 20 2b 20 73 74 72 6c | 65 6e 28 75 73 65 72 6e |) + strl|en(usern|
|00005ba0| 61 6d 65 29 20 2b 0a 58 | 09 09 20 20 20 20 20 73 |ame) +.X|.. s|
|00005bb0| 74 72 6c 65 6e 28 64 65 | 76 6e 61 6d 65 29 29 3b |trlen(de|vname));|
|00005bc0| 0a 58 0a 58 09 69 66 20 | 28 73 74 72 29 0a 58 09 |.X.X.if |(str).X.|
|00005bd0| 7b 0a 58 09 20 20 20 20 | 73 74 72 75 63 74 20 61 |{.X. |struct a|
|00005be0| 64 76 69 73 65 5f 6d 65 | 73 73 61 67 65 20 6d 3b |dvise_me|ssage m;|
|00005bf0| 0a 58 09 20 20 20 20 73 | 74 72 75 63 74 20 73 74 |.X. s|truct st|
|00005c00| 72 62 75 66 20 63 74 6c | 2c 20 64 61 74 61 3b 0a |rbuf ctl|, data;.|
|00005c10| 58 0a 58 09 20 20 20 20 | 6d 2e 74 79 70 65 20 3d |X.X. |m.type =|
|00005c20| 20 41 44 56 49 53 45 5f | 52 45 41 44 44 41 54 41 | ADVISE_|READDATA|
|00005c30| 3b 0a 58 0a 58 09 20 20 | 20 20 63 74 6c 2e 6c 65 |;.X.X. | ctl.le|
|00005c40| 6e 20 3d 20 73 69 7a 65 | 6f 66 28 6d 29 3b 0a 58 |n = size|of(m);.X|
|00005c50| 09 20 20 20 20 63 74 6c | 2e 62 75 66 20 3d 20 28 |. ctl|.buf = (|
|00005c60| 76 6f 69 64 20 2a 29 26 | 6d 3b 0a 58 0a 58 09 20 |void *)&|m;.X.X. |
|00005c70| 20 20 20 73 70 72 69 6e | 74 66 28 73 74 72 2c 20 | sprin|tf(str, |
|00005c80| 22 5b 25 73 3a 25 73 20 | 25 73 20 25 73 3a 25 73 |"[%s:%s |%s %s:%s|
|00005c90| 5d 5c 6e 5c 72 22 2c 20 | 6c 6f 67 69 6e 5f 6e 61 |]\n\r", |login_na|
|00005ca0| 6d 65 2c 0a 58 09 09 20 | 20 20 20 74 74 79 5f 6e |me,.X.. | tty_n|
|00005cb0| 61 6d 65 2c 20 73 70 79 | 20 3f 20 22 73 70 79 69 |ame, spy| ? "spyi|
|00005cc0| 6e 67 22 20 3a 20 22 61 | 64 76 69 73 69 6e 67 22 |ng" : "a|dvising"|
|00005cd0| 2c 20 75 73 65 72 6e 61 | 6d 65 2c 20 64 65 76 6e |, userna|me, devn|
|00005ce0| 61 6d 65 29 3b 0a 58 0a | 58 09 20 20 20 20 64 61 |ame);.X.|X. da|
|00005cf0| 74 61 2e 6c 65 6e 20 3d | 20 73 74 72 6c 65 6e 28 |ta.len =| strlen(|
|00005d00| 73 74 72 29 3b 0a 58 09 | 20 20 20 20 64 61 74 61 |str);.X.| data|
|00005d10| 2e 62 75 66 20 3d 20 73 | 74 72 3b 0a 58 0a 58 09 |.buf = s|tr;.X.X.|
|00005d20| 20 20 20 20 28 76 6f 69 | 64 29 20 70 75 74 6d 73 | (voi|d) putms|
|00005d30| 67 28 66 64 2c 20 26 63 | 74 6c 2c 20 26 64 61 74 |g(fd, &c|tl, &dat|
|00005d40| 61 2c 20 30 29 3b 0a 58 | 0a 58 09 20 20 20 20 66 |a, 0);.X|.X. f|
|00005d50| 72 65 65 28 73 74 72 29 | 3b 0a 58 09 7d 0a 58 20 |ree(str)|;.X.}.X |
|00005d60| 20 20 20 7d 0a 58 0a 58 | 0a 58 20 20 20 20 28 76 | }.X.X|.X (v|
|00005d70| 6f 69 64 29 20 69 6f 63 | 74 6c 28 30 2c 20 54 43 |oid) ioc|tl(0, TC|
|00005d80| 47 45 54 53 2c 20 26 74 | 65 72 6d 69 6f 73 29 3b |GETS, &t|ermios);|
|00005d90| 0a 58 0a 58 20 20 20 20 | 6f 6c 64 74 65 72 6d 69 |.X.X |oldtermi|
|00005da0| 6f 73 20 3d 20 74 65 72 | 6d 69 6f 73 3b 0a 58 20 |os = ter|mios;.X |
|00005db0| 20 20 20 73 69 67 6e 61 | 6c 28 53 49 47 54 45 52 | signa|l(SIGTER|
|00005dc0| 4d 2c 20 72 65 73 74 6f | 72 65 74 65 72 6d 69 6f |M, resto|retermio|
|00005dd0| 73 29 3b 0a 58 20 20 20 | 20 74 65 72 6d 69 6f 73 |s);.X | termios|
|00005de0| 2e 63 5f 6f 66 6c 61 67 | 20 26 3d 20 7e 4f 50 4f |.c_oflag| &= ~OPO|
|00005df0| 53 54 3b 0a 58 0a 58 20 | 20 20 20 69 66 20 28 21 |ST;.X.X | if (!|
|00005e00| 73 70 79 29 0a 58 20 20 | 20 20 7b 0a 58 09 74 65 |spy).X | {.X.te|
|00005e10| 72 6d 69 6f 73 2e 63 5f | 63 63 5b 56 4d 49 4e 5d |rmios.c_|cc[VMIN]|
|00005e20| 20 3d 20 31 3b 0a 58 09 | 74 65 72 6d 69 6f 73 2e | = 1;.X.|termios.|
|00005e30| 63 5f 63 63 5b 56 54 49 | 4d 45 5d 20 3d 20 30 3b |c_cc[VTI|ME] = 0;|
|00005e40| 0a 58 09 74 65 72 6d 69 | 6f 73 2e 63 5f 6c 66 6c |.X.termi|os.c_lfl|
|00005e50| 61 67 20 26 3d 20 7e 28 | 49 53 49 47 7c 49 43 41 |ag &= ~(|ISIG|ICA|
|00005e60| 4e 4f 4e 7c 45 43 48 4f | 29 3b 0a 58 20 20 20 20 |NON|ECHO|);.X |
|00005e70| 7d 20 65 6c 73 65 20 73 | 69 67 6e 61 6c 28 53 49 |} else s|ignal(SI|
|00005e80| 47 49 4e 54 2c 20 72 65 | 73 74 6f 72 65 74 65 72 |GINT, re|storeter|
|00005e90| 6d 69 6f 73 29 3b 0a 58 | 20 20 20 20 28 76 6f 69 |mios);.X| (voi|
|00005ea0| 64 29 20 69 6f 63 74 6c | 28 30 2c 20 54 43 53 45 |d) ioctl|(0, TCSE|
|00005eb0| 54 53 2c 20 26 74 65 72 | 6d 69 6f 73 29 3b 0a 58 |TS, &ter|mios);.X|
|00005ec0| 0a 58 20 20 20 20 70 66 | 64 73 5b 30 5d 2e 66 64 |.X pf|ds[0].fd|
|00005ed0| 20 3d 20 66 64 3b 0a 58 | 20 20 20 20 70 66 64 73 | = fd;.X| pfds|
|00005ee0| 5b 30 5d 2e 65 76 65 6e | 74 73 20 3d 20 50 4f 4c |[0].even|ts = POL|
|00005ef0| 4c 49 4e 3b 0a 58 0a 58 | 20 20 20 20 70 66 64 73 |LIN;.X.X| pfds|
|00005f00| 5b 31 5d 2e 66 64 20 3d | 20 30 3b 0a 58 20 20 20 |[1].fd =| 0;.X |
|00005f10| 20 70 66 64 73 5b 31 5d | 2e 65 76 65 6e 74 73 20 | pfds[1]|.events |
|00005f20| 3d 20 50 4f 4c 4c 49 4e | 3b 0a 58 0a 58 20 20 20 |= POLLIN|;.X.X |
|00005f30| 20 66 6f 72 20 28 3b 3b | 29 0a 58 20 20 20 20 7b | for (;;|).X {|
|00005f40| 0a 58 09 69 66 20 28 70 | 6f 6c 6c 28 70 66 64 73 |.X.if (p|oll(pfds|
|00005f50| 2c 20 73 70 79 3f 31 3a | 32 2c 20 49 4e 46 54 49 |, spy?1:|2, INFTI|
|00005f60| 4d 29 20 3c 20 30 29 0a | 58 09 20 20 20 20 63 6f |M) < 0).|X. co|
|00005f70| 6e 74 69 6e 75 65 3b 0a | 58 0a 58 09 69 66 20 28 |ntinue;.|X.X.if (|
|00005f80| 28 70 66 64 73 5b 30 5d | 2e 72 65 76 65 6e 74 73 |(pfds[0]|.revents|
|00005f90| 26 50 4f 4c 4c 48 55 50 | 29 20 21 3d 20 30 29 20 |&POLLHUP|) != 0) |
|00005fa0| 2f 2a 20 6d 6f 64 75 6c | 65 20 72 65 6d 6f 76 65 |/* modul|e remove|
|00005fb0| 64 20 2a 2f 0a 58 09 7b | 0a 58 09 09 28 76 6f 69 |d */.X.{|.X..(voi|
|00005fc0| 64 29 20 69 6f 63 74 6c | 28 30 2c 20 54 43 53 45 |d) ioctl|(0, TCSE|
|00005fd0| 54 53 2c 20 26 6f 6c 64 | 74 65 72 6d 69 6f 73 29 |TS, &old|termios)|
|00005fe0| 3b 0a 58 09 09 65 78 69 | 74 28 30 29 3b 0a 58 09 |;.X..exi|t(0);.X.|
|00005ff0| 7d 0a 58 09 69 66 20 28 | 28 70 66 64 73 5b 30 5d |}.X.if (|(pfds[0]|
|00006000| 2e 72 65 76 65 6e 74 73 | 26 50 4f 4c 4c 49 4e 29 |.revents|&POLLIN)|
|00006010| 20 21 3d 20 30 29 20 2f | 2a 20 64 61 74 61 20 66 | != 0) /|* data f|
|00006020| 72 6f 6d 20 61 64 76 69 | 73 65 65 20 72 65 61 64 |rom advi|see read|
|00006030| 79 20 2a 2f 0a 58 09 7b | 0a 58 09 20 20 20 20 69 |y */.X.{|.X. i|
|00006040| 66 20 28 28 72 65 74 20 | 3d 20 72 65 61 64 28 66 |f ((ret |= read(f|
|00006050| 64 2c 20 62 75 66 2c 20 | 73 69 7a 65 6f 66 28 62 |d, buf, |sizeof(b|
|00006060| 75 66 29 29 29 20 3e 20 | 30 29 0a 58 09 09 77 72 |uf))) > |0).X..wr|
|00006070| 69 74 65 28 31 2c 20 62 | 75 66 2c 20 72 65 74 29 |ite(1, b|uf, ret)|
|00006080| 3b 0a 58 09 7d 0a 58 0a | 58 09 69 66 20 28 21 73 |;.X.}.X.|X.if (!s|
|00006090| 70 79 20 26 26 20 28 28 | 70 66 64 73 5b 31 5d 2e |py && ((|pfds[1].|
|000060a0| 72 65 76 65 6e 74 73 26 | 50 4f 4c 4c 49 4e 29 20 |revents&|POLLIN) |
|000060b0| 21 3d 20 30 29 29 20 2f | 2a 20 64 61 74 61 20 66 |!= 0)) /|* data f|
|000060c0| 72 6f 6d 20 61 64 76 69 | 73 6f 72 20 72 65 61 64 |rom advi|sor read|
|000060d0| 79 20 2a 2f 0a 58 09 7b | 0a 58 09 20 20 20 20 69 |y */.X.{|.X. i|
|000060e0| 66 20 28 28 72 65 74 20 | 3d 20 72 65 61 64 28 30 |f ((ret |= read(0|
|000060f0| 2c 20 62 75 66 2c 20 73 | 69 7a 65 6f 66 28 62 75 |, buf, s|izeof(bu|
|00006100| 66 29 29 29 20 3e 20 30 | 29 0a 58 09 20 20 20 20 |f))) > 0|).X. |
|00006110| 7b 0a 58 09 09 20 20 20 | 20 72 65 67 69 73 74 65 |{.X.. | registe|
|00006120| 72 20 69 6e 74 20 69 3b | 0a 58 09 09 20 20 20 20 |r int i;|.X.. |
|00006130| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 2a 70 |register| char *p|
|00006140| 20 3d 20 62 75 66 2c 20 | 2a 70 70 3d 62 75 66 3b | = buf, |*pp=buf;|
|00006150| 0a 58 0a 58 09 09 20 20 | 20 20 66 6f 72 20 28 69 |.X.X.. | for (i|
|00006160| 3d 30 3b 20 69 20 3c 20 | 72 65 74 3b 20 2b 2b 69 |=0; i < |ret; ++i|
|00006170| 2c 20 70 2b 2b 29 0a 58 | 09 09 20 20 20 20 7b 0a |, p++).X|.. {.|
|00006180| 58 09 09 09 69 66 20 28 | 6d 65 74 61 64 29 0a 58 |X...if (|metad).X|
|00006190| 09 09 09 7b 0a 58 09 09 | 09 20 20 20 20 69 66 20 |...{.X..|. if |
|000061a0| 28 6d 65 74 61 64 20 3d | 3d 20 32 29 0a 58 09 09 |(metad =|= 2).X..|
|000061b0| 09 20 20 20 20 7b 0a 58 | 09 09 09 09 6d 65 74 61 |. {.X|....meta|
|000061c0| 5f 63 68 61 72 61 63 74 | 65 72 20 3d 20 2a 70 3b |_charact|er = *p;|
|000061d0| 0a 58 09 09 09 09 70 72 | 69 6e 74 66 28 22 54 68 |.X....pr|intf("Th|
|000061e0| 65 20 6d 65 74 61 20 63 | 68 61 72 61 63 74 65 72 |e meta c|haracter|
|000061f0| 20 69 73 20 6e 6f 77 3a | 20 25 73 5c 6e 22 2c 0a | is now:| %s\n",.|
|00006200| 58 09 09 09 09 20 20 20 | 20 20 20 20 73 74 72 63 |X.... | strc|
|00006210| 68 61 72 28 6d 65 74 61 | 5f 63 68 61 72 61 63 74 |har(meta|_charact|
|00006220| 65 72 29 29 3b 0a 58 09 | 09 09 09 70 70 2b 2b 3b |er));.X.|...pp++;|
|00006230| 0a 58 09 09 09 09 6d 65 | 74 61 64 20 3d 20 30 3b |.X....me|tad = 0;|
|00006240| 0a 58 09 09 09 09 63 6f | 6e 74 69 6e 75 65 3b 0a |.X....co|ntinue;.|
|00006250| 58 09 09 09 20 20 20 20 | 7d 0a 58 0a 58 09 09 09 |X... |}.X.X...|
|00006260| 20 20 20 20 73 77 69 74 | 63 68 20 28 2a 70 29 0a | swit|ch (*p).|
|00006270| 58 09 09 09 20 20 20 20 | 7b 0a 58 09 09 09 20 20 |X... |{.X... |
|00006280| 20 20 63 61 73 65 20 27 | 3d 27 3a 0a 58 09 09 09 | case '|=':.X...|
|00006290| 09 6d 65 74 61 64 3d 32 | 3b 0a 58 09 09 09 09 70 |.metad=2|;.X....p|
|000062a0| 70 2b 2b 3b 0a 58 09 09 | 09 09 62 72 65 61 6b 3b |p++;.X..|..break;|
|000062b0| 0a 58 0a 58 09 09 09 20 | 20 20 20 63 61 73 65 20 |.X.X... | case |
|000062c0| 27 3f 27 3a 0a 58 09 09 | 09 20 20 20 20 7b 0a 58 |'?':.X..|. {.X|
|000062d0| 09 09 09 09 63 68 61 72 | 20 2a 65 73 63 73 74 72 |....char| *escstr|
|000062e0| 20 3d 20 73 74 72 63 68 | 61 72 28 6d 65 74 61 5f | = strch|ar(meta_|
|000062f0| 63 68 61 72 61 63 74 65 | 72 29 3b 0a 58 0a 58 09 |characte|r);.X.X.|
|00006300| 09 09 09 70 72 69 6e 74 | 66 28 22 48 65 6c 70 20 |...print|f("Help |
|00006310| 66 6f 72 20 6d 65 74 61 | 20 63 68 61 72 61 63 74 |for meta| charact|
|00006320| 65 72 20 3c 25 73 3e 3a | 5c 6e 22 2c 0a 58 09 09 |er <%s>:|\n",.X..|
|00006330| 09 09 20 20 20 20 20 20 | 20 65 73 63 73 74 72 29 |.. | escstr)|
|00006340| 3b 0a 58 09 09 09 09 70 | 72 69 6e 74 66 28 22 25 |;.X....p|rintf("%|
|00006350| 73 3f 5c 74 2d 2d 20 54 | 68 69 73 20 68 65 6c 70 |s?\t-- T|his help|
|00006360| 20 6d 65 73 73 61 67 65 | 2e 5c 6e 22 2c 20 65 73 | message|.\n", es|
|00006370| 63 73 74 72 29 3b 0a 58 | 09 09 09 09 70 72 69 6e |cstr);.X|....prin|
|00006380| 74 66 28 22 25 73 7e 5c | 74 2d 2d 20 53 65 6e 64 |tf("%s~\|t-- Send|
|00006390| 20 61 20 73 69 6e 67 6c | 65 20 6d 65 74 61 20 63 | a singl|e meta c|
|000063a0| 68 61 72 61 63 74 65 72 | 2e 5c 6e 22 2c 0a 58 09 |haracter|.\n",.X.|
|000063b0| 09 09 09 20 20 20 20 20 | 20 20 65 73 63 73 74 72 |... | escstr|
|000063c0| 29 3b 0a 58 09 09 09 09 | 70 72 69 6e 74 66 28 22 |);.X....|printf("|
|000063d0| 25 73 2e 5c 74 2d 2d 20 | 44 69 73 63 6f 6e 6e 65 |%s.\t-- |Disconne|
|000063e0| 63 74 20 61 64 76 69 73 | 65 20 73 65 73 73 69 6f |ct advis|e sessio|
|000063f0| 6e 2e 5c 6e 22 2c 0a 58 | 09 09 09 09 20 20 20 20 |n.\n",.X|.... |
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.