home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume10 / chall < prev    next >
SHell self-extracting ARchive  |  1990-01-19  |  11.4 KB

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).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file C source, ASCII text default
100% checkBytes Printable ASCII 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 6f 72 |.sources|.misc.or|
|00000020| 67 61 6e 69 7a 61 74 69 | 6f 6e 3a 20 41 50 54 20 |ganizati|on: APT |
|00000030| 54 65 63 68 6e 6f 6c 6f | 67 79 2c 20 49 6e 63 2e |Technolo|gy, Inc.|
|00000040| 20 20 53 61 6e 20 4a 6f | 73 65 2c 20 43 41 2c 20 | San Jo|se, CA, |
|00000050| 20 55 53 41 0a 73 75 62 | 6a 65 63 74 3a 20 76 31 | USA.sub|ject: v1|
|00000060| 30 69 30 32 35 3a 20 63 | 68 61 6c 6c 20 73 6f 75 |0i025: c|hall sou|
|00000070| 72 63 65 20 70 72 6f 67 | 72 61 6d 20 73 75 62 6d |rce prog|ram subm|
|00000080| 69 74 74 61 6c 0a 66 72 | 6f 6d 3a 20 62 72 69 61 |ittal.fr|om: bria|
|00000090| 6e 40 61 70 74 2e 55 55 | 43 50 20 28 42 72 69 61 |n@apt.UU|CP (Bria|
|000000a0| 6e 20 4c 69 74 7a 69 6e | 67 65 72 29 0a 53 65 6e |n Litzin|ger).Sen|
|000000b0| 64 65 72 3a 20 61 6c 6c | 62 65 72 79 40 75 75 6e |der: all|bery@uun|
|000000c0| 65 74 2e 55 55 2e 4e 45 | 54 20 28 42 72 61 6e 64 |et.UU.NE|T (Brand|
|000000d0| 6f 6e 20 53 2e 20 41 6c | 6c 62 65 72 79 20 2d 20 |on S. Al|lbery - |
|000000e0| 63 6f 6d 70 2e 73 6f 75 | 72 63 65 73 2e 6d 69 73 |comp.sou|rces.mis|
|000000f0| 63 29 0a 0a 50 6f 73 74 | 69 6e 67 2d 6e 75 6d 62 |c)..Post|ing-numb|
|00000100| 65 72 3a 20 56 6f 6c 75 | 6d 65 20 31 30 2c 20 49 |er: Volu|me 10, I|
|00000110| 73 73 75 65 20 32 35 0a | 53 75 62 6d 69 74 74 65 |ssue 25.|Submitte|
|00000120| 64 2d 62 79 3a 20 62 72 | 69 61 6e 40 61 70 74 2e |d-by: br|ian@apt.|
|00000130| 55 55 43 50 20 28 42 72 | 69 61 6e 20 4c 69 74 7a |UUCP (Br|ian Litz|
|00000140| 69 6e 67 65 72 29 0a 41 | 72 63 68 69 76 65 2d 6e |inger).A|rchive-n|
|00000150| 61 6d 65 3a 20 63 68 61 | 6c 6c 0a 0a 5b 41 6e 64 |ame: cha|ll..[And|
|00000160| 20 61 67 61 69 6e 3a 20 | 20 3f 3f 3f 20 20 2b 2b | again: | ??? ++|
|00000170| 62 73 61 5d 0a 0a 54 68 | 65 20 66 6f 6c 6c 6f 77 |bsa]..Th|e follow|
|00000180| 69 6e 67 20 70 72 6f 67 | 72 61 6d 20 69 73 20 6a |ing prog|ram is j|
|00000190| 75 73 74 20 61 20 75 73 | 65 6c 65 73 73 20 77 61 |ust a us|eless wa|
|000001a0| 73 74 65 20 6f 66 20 79 | 6f 75 72 20 74 69 6d 65 |ste of y|our time|
|000001b0| 2c 20 73 6f 20 49 27 64 | 0a 6a 75 73 74 20 2f 62 |, so I'd|.just /b|
|000001c0| 69 6e 2f 72 6d 20 69 74 | 20 61 6e 64 20 67 6f 20 |in/rm it| and go |
|000001d0| 6f 6e 65 20 77 69 74 68 | 20 6d 6f 72 65 20 75 73 |one with| more us|
|000001e0| 65 66 75 6c 20 65 6e 64 | 65 61 76 6f 75 72 73 2e |eful end|eavours.|
|000001f0| 0a 0a 49 27 76 65 20 62 | 65 65 6e 20 61 63 63 75 |..I've b|een accu|
|00000200| 73 65 64 20 6f 66 20 70 | 6f 73 74 69 6e 67 20 75 |sed of p|osting u|
|00000210| 73 65 6c 65 73 73 20 70 | 72 6f 67 72 61 6d 73 20 |seless p|rograms |
|00000220| 69 6e 20 74 68 65 20 70 | 61 73 74 2c 20 73 6f 20 |in the p|ast, so |
|00000230| 49 20 74 68 69 6e 6b 0a | 79 6f 75 20 73 68 6f 75 |I think.|you shou|
|00000240| 6c 64 20 73 65 72 69 6f | 75 73 6c 79 20 72 65 2d |ld serio|usly re-|
|00000250| 63 6f 6e 73 69 64 65 72 | 20 6a 75 73 74 20 74 6f |consider| just to|
|00000260| 73 73 69 6e 67 20 74 68 | 69 73 20 63 6f 64 65 20 |ssing th|is code |
|00000270| 6f 75 74 2e 0a 0a 54 68 | 65 72 65 20 72 65 61 6c |out...Th|ere real|
|00000280| 6c 79 20 61 72 65 20 62 | 65 74 74 65 72 20 77 61 |ly are b|etter wa|
|00000290| 79 73 20 74 6f 20 64 6f | 20 74 68 65 73 65 20 74 |ys to do| these t|
|000002a0| 68 69 6e 67 73 2e 20 20 | 54 68 69 73 20 77 68 6f |hings. |This who|
|000002b0| 6c 65 20 6d 65 73 73 0a | 69 73 20 6a 75 73 74 20 |le mess.|is just |
|000002c0| 61 20 77 61 73 74 65 20 | 6f 66 20 6e 65 74 77 6f |a waste |of netwo|
|000002d0| 72 6b 20 62 61 6e 64 77 | 69 64 74 68 20 61 6e 64 |rk bandw|idth and|
|000002e0| 20 49 27 6d 20 73 75 72 | 70 72 69 73 65 64 20 74 | I'm sur|prised t|
|000002f0| 68 65 20 6d 6f 64 65 72 | 61 74 6f 72 0a 61 63 74 |he moder|ator.act|
|00000300| 75 61 6c 6c 79 20 6c 65 | 74 20 69 74 20 73 6c 69 |ually le|t it sli|
|00000310| 70 20 74 68 72 6f 75 67 | 68 2e 0a 0a 49 66 20 79 |p throug|h...If y|
|00000320| 6f 75 20 73 74 69 6c 6c | 20 77 61 6e 74 20 74 6f |ou still| want to|
|00000330| 20 75 73 65 20 74 68 69 | 73 20 70 72 6f 67 72 61 | use thi|s progra|
|00000340| 6d 20 69 74 73 20 61 20 | 70 72 6f 67 72 61 6d 20 |m its a |program |
|00000350| 75 73 69 6e 67 20 67 65 | 74 6f 70 74 73 20 74 68 |using ge|topts th|
|00000360| 61 74 0a 6c 65 74 73 20 | 79 6f 75 20 63 6f 6d 62 |at.lets |you comb|
|00000370| 69 6e 65 20 63 68 6d 6f | 64 2c 20 63 68 6f 77 6e |ine chmo|d, chown|
|00000380| 2c 20 61 6e 64 20 63 68 | 67 72 70 20 69 6e 74 6f |, and ch|grp into|
|00000390| 20 6f 6e 65 20 63 6f 6d | 6d 61 6e 64 20 63 61 6c | one com|mand cal|
|000003a0| 6c 65 64 20 63 68 61 6c | 6c 2e 0a 0a 49 74 20 64 |led chal|l...It d|
|000003b0| 6f 65 73 6e 27 74 20 66 | 6f 6c 6c 6f 77 20 61 6e |oesn't f|ollow an|
|000003c0| 79 20 6f 66 20 74 68 65 | 20 42 53 44 20 63 6f 6d |y of the| BSD com|
|000003d0| 62 69 6e 65 64 20 63 68 | 6f 77 6e 2f 67 72 70 20 |bined ch|own/grp |
|000003e0| 66 75 6e 63 74 69 6f 6e | 61 6c 69 74 79 2e 20 49 |function|ality. I|
|000003f0| 27 6d 0a 61 20 53 79 73 | 74 65 6d 20 56 27 65 72 |'m.a Sys|tem V'er|
|00000400| 20 61 66 74 65 72 20 61 | 6c 6c 2e 20 20 49 74 20 | after a|ll. It |
|00000410| 64 6f 65 73 20 68 61 76 | 65 20 6f 6e 65 20 73 61 |does hav|e one sa|
|00000420| 76 69 6e 67 20 67 72 61 | 63 65 20 74 68 6f 75 67 |ving gra|ce thoug|
|00000430| 68 2c 20 79 6f 75 0a 63 | 61 6e 20 6d 61 69 6e 74 |h, you.c|an maint|
|00000440| 61 69 6e 20 61 20 70 65 | 72 73 6f 6e 61 6c 20 2e |ain a pe|rsonal .|
|00000450| 63 68 61 6c 6c 20 66 69 | 6c 65 20 69 6e 20 79 6f |chall fi|le in yo|
|00000460| 75 72 20 68 6f 6d 65 20 | 64 69 72 65 63 74 6f 72 |ur home |director|
|00000470| 79 20 77 69 74 68 20 6d | 61 63 72 6f 73 0a 69 6e |y with m|acros.in|
|00000480| 20 69 74 20 6c 69 6b 65 | 20 27 6d 61 6e 3a 62 69 | it like| 'man:bi|
|00000490| 6e 3a 62 69 6e 3a 34 34 | 34 27 20 77 68 69 63 68 |n:bin:44|4' which|
|000004a0| 20 6d 65 61 6e 73 20 79 | 6f 75 20 63 61 6e 20 73 | means y|ou can s|
|000004b0| 61 79 20 0a 20 20 20 20 | 63 68 61 6c 6c 20 2d 78 |ay . |chall -x|
|000004c0| 20 6d 61 6e 20 66 6f 6f | 62 61 72 0a 61 6e 64 20 | man foo|bar.and |
|000004d0| 66 6f 6f 62 61 72 20 77 | 69 6c 6c 20 62 65 20 63 |foobar w|ill be c|
|000004e0| 68 6d 6f 64 20 34 34 34 | 20 66 6f 6f 62 61 72 2c |hmod 444| foobar,|
|000004f0| 20 63 68 6f 77 6e 20 62 | 69 6e 20 66 6f 6f 62 61 | chown b|in fooba|
|00000500| 72 2c 20 63 68 67 72 70 | 20 62 69 6e 20 66 6f 6f |r, chgrp| bin foo|
|00000510| 62 61 72 2e 0a 0a 53 65 | 65 20 74 68 65 20 6d 61 |bar...Se|e the ma|
|00000520| 6e 20 70 61 67 65 20 66 | 6f 72 20 6d 6f 72 65 20 |n page f|or more |
|00000530| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 2e 20 20 49 74 |informat|ion. It|
|00000540| 27 73 20 74 6f 6f 20 62 | 61 64 20 69 74 20 64 6f |'s too b|ad it do|
|00000550| 65 73 6e 27 74 20 0a 72 | 65 63 75 72 73 69 76 65 |esn't .r|ecursive|
|00000560| 6c 79 20 64 65 63 65 6e | 64 20 64 69 72 65 63 74 |ly decen|d direct|
|00000570| 6f 72 69 65 73 2c 20 61 | 6e 64 20 69 74 27 73 20 |ories, a|nd it's |
|00000580| 74 6f 6f 20 62 61 64 20 | 69 74 20 64 6f 65 73 6e |too bad |it doesn|
|00000590| 27 74 20 75 73 65 0a 74 | 68 65 20 2b 72 77 20 2e |'t use.t|he +rw .|
|000005a0| 2e 2e 20 73 74 75 66 66 | 20 6f 66 20 42 53 44 2e |.. stuff| of BSD.|
|000005b0| 20 20 54 68 65 20 6c 61 | 74 74 65 72 20 49 20 61 | The la|tter I a|
|000005c0| 63 74 75 61 6c 6c 79 20 | 74 72 69 65 64 2c 20 62 |ctually |tried, b|
|000005d0| 75 74 20 61 6c 6c 20 74 | 68 6f 73 65 0a 64 69 66 |ut all t|hose.dif|
|000005e0| 66 65 72 65 6e 74 20 6f | 70 74 69 6f 6e 73 2c 20 |ferent o|ptions, |
|000005f0| 74 68 65 72 65 20 6a 75 | 73 74 20 64 69 64 6e 27 |there ju|st didn'|
|00000600| 74 20 73 65 65 6d 20 74 | 6f 20 62 65 20 61 77 61 |t seem t|o be awa|
|00000610| 79 20 74 6f 20 64 6f 20 | 69 74 2e 0a 0a 3c 3e 20 |y to do |it...<> |
|00000620| 20 42 72 69 61 6e 20 4c | 69 74 7a 69 6e 67 65 72 | Brian L|itzinger|
|00000630| 20 40 20 41 50 54 20 54 | 65 63 68 6e 6f 6c 6f 67 | @ APT T|echnolog|
|00000640| 79 20 49 6e 63 2e 2c 20 | 53 61 6e 20 4a 6f 73 65 |y Inc., |San Jose|
|00000650| 2c 20 43 41 0a 3c 3e 20 | 20 55 55 43 50 3a 20 20 |, CA.<> | UUCP: |
|00000660| 7b 61 70 70 6c 65 2c 73 | 75 6e 2c 70 79 72 61 6d |{apple,s|un,pyram|
|00000670| 69 64 7d 21 64 61 76 65 | 72 21 61 70 74 21 62 72 |id}!dave|r!apt!br|
|00000680| 69 61 6e 20 20 20 20 62 | 72 69 61 6e 40 61 70 74 |ian b|rian@apt|
|00000690| 2e 55 55 43 50 0a 3c 3e | 20 20 56 4f 49 43 45 3a |.UUCP.<>| VOICE:|
|000006a0| 20 34 30 38 20 33 37 30 | 20 39 30 37 37 20 20 20 | 408 370| 9077 |
|000006b0| 20 20 20 46 41 58 3a 20 | 34 30 38 20 33 37 30 20 | FAX: |408 370 |
|000006c0| 39 32 39 31 0a 0a 23 21 | 20 2f 62 69 6e 2f 73 68 |9291..#!| /bin/sh|
|000006d0| 0a 23 20 54 68 69 73 20 | 69 73 20 61 20 73 68 65 |.# This |is a she|
|000006e0| 6c 6c 20 61 72 63 68 69 | 76 65 2e 20 20 52 65 6d |ll archi|ve. Rem|
|000006f0| 6f 76 65 20 61 6e 79 74 | 68 69 6e 67 20 62 65 66 |ove anyt|hing bef|
|00000700| 6f 72 65 20 74 68 69 73 | 20 6c 69 6e 65 2c 20 74 |ore this| line, t|
|00000710| 68 65 6e 20 75 6e 70 61 | 63 6b 0a 23 20 69 74 20 |hen unpa|ck.# it |
|00000720| 62 79 20 73 61 76 69 6e | 67 20 69 74 20 69 6e 74 |by savin|g it int|
|00000730| 6f 20 61 20 66 69 6c 65 | 20 61 6e 64 20 74 79 70 |o a file| and typ|
|00000740| 69 6e 67 20 22 73 68 20 | 66 69 6c 65 22 2e 20 20 |ing "sh |file". |
|00000750| 54 6f 20 6f 76 65 72 77 | 72 69 74 65 20 65 78 69 |To overw|rite exi|
|00000760| 73 74 69 6e 67 0a 23 20 | 66 69 6c 65 73 2c 20 74 |sting.# |files, t|
|00000770| 79 70 65 20 22 73 68 20 | 66 69 6c 65 20 2d 63 22 |ype "sh |file -c"|
|00000780| 2e 20 20 59 6f 75 20 63 | 61 6e 20 61 6c 73 6f 20 |. You c|an also |
|00000790| 66 65 65 64 20 74 68 69 | 73 20 61 73 20 73 74 61 |feed thi|s as sta|
|000007a0| 6e 64 61 72 64 20 69 6e | 70 75 74 20 76 69 61 0a |ndard in|put via.|
|000007b0| 23 20 75 6e 73 68 61 72 | 2c 20 6f 72 20 62 79 20 |# unshar|, or by |
|000007c0| 74 79 70 69 6e 67 20 22 | 73 68 20 3c 66 69 6c 65 |typing "|sh <file|
|000007d0| 22 2c 20 65 2e 67 2e 2e | 20 20 49 66 20 74 68 69 |", e.g..| If thi|
|000007e0| 73 20 61 72 63 68 69 76 | 65 20 69 73 20 63 6f 6d |s archiv|e is com|
|000007f0| 70 6c 65 74 65 2c 20 79 | 6f 75 0a 23 20 77 69 6c |plete, y|ou.# wil|
|00000800| 6c 20 73 65 65 20 74 68 | 65 20 66 6f 6c 6c 6f 77 |l see th|e follow|
|00000810| 69 6e 67 20 6d 65 73 73 | 61 67 65 20 61 74 20 74 |ing mess|age at t|
|00000820| 68 65 20 65 6e 64 3a 0a | 23 09 09 22 45 6e 64 20 |he end:.|#.."End |
|00000830| 6f 66 20 73 68 65 6c 6c | 20 61 72 63 68 69 76 65 |of shell| archive|
|00000840| 2e 22 0a 23 20 43 6f 6e | 74 65 6e 74 73 3a 20 20 |.".# Con|tents: |
|00000850| 52 45 41 44 4d 45 20 63 | 68 61 6c 6c 2e 63 20 63 |README c|hall.c c|
|00000860| 68 61 6c 6c 2e 31 0a 23 | 20 57 72 61 70 70 65 64 |hall.1.#| Wrapped|
|00000870| 20 62 79 20 62 72 69 61 | 6e 40 61 70 74 20 6f 6e | by bria|n@apt on|
|00000880| 20 57 65 64 20 4a 61 6e | 20 31 37 20 30 30 3a 31 | Wed Jan| 17 00:1|
|00000890| 32 3a 35 36 20 31 39 39 | 30 0a 50 41 54 48 3d 2f |2:56 199|0.PATH=/|
|000008a0| 62 69 6e 3a 2f 75 73 72 | 2f 62 69 6e 3a 2f 75 73 |bin:/usr|/bin:/us|
|000008b0| 72 2f 75 63 62 20 3b 20 | 65 78 70 6f 72 74 20 50 |r/ucb ; |export P|
|000008c0| 41 54 48 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |ATH.if t|est -f '|
|000008d0| 52 45 41 44 4d 45 27 20 | 2d 61 20 22 24 7b 31 7d |README' |-a "${1}|
|000008e0| 22 20 21 3d 20 22 2d 63 | 22 20 3b 20 74 68 65 6e |" != "-c|" ; then|
|000008f0| 20 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 57 | . echo| shar: W|
|00000900| 69 6c 6c 20 6e 6f 74 20 | 63 6c 6f 62 62 65 72 20 |ill not |clobber |
|00000910| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 5c 22 |existing| file \"|
|00000920| 27 52 45 41 44 4d 45 27 | 5c 22 0a 65 6c 73 65 0a |'README'|\".else.|
|00000930| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|00000940| 63 74 69 6e 67 20 5c 22 | 27 52 45 41 44 4d 45 27 |cting \"|'README'|
|00000950| 5c 22 20 5c 28 31 33 30 | 30 20 63 68 61 72 61 63 |\" \(130|0 charac|
|00000960| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|00000970| 2f 2f 22 20 3e 27 52 45 | 41 44 4d 45 27 20 3c 3c |//" >'RE|ADME' <<|
|00000980| 27 45 4e 44 5f 4f 46 5f | 46 49 4c 45 27 0a 58 63 |'END_OF_|FILE'.Xc|
|00000990| 68 61 6c 6c 0a 58 0a 58 | 42 79 20 42 72 69 61 6e |hall.X.X|By Brian|
|000009a0| 20 45 2e 20 4c 69 74 7a | 69 6e 67 65 72 0a 58 0a | E. Litz|inger.X.|
|000009b0| 58 59 6f 75 20 63 61 6e | 20 64 6f 20 77 68 61 74 |XYou can| do what|
|000009c0| 20 79 6f 75 20 77 69 73 | 68 20 77 69 74 68 20 74 | you wis|h with t|
|000009d0| 68 69 73 20 63 6f 64 65 | 2e 20 20 4a 75 73 74 20 |his code|. Just |
|000009e0| 64 6f 6e 27 74 20 6d 61 | 6b 65 20 61 20 70 72 6f |don't ma|ke a pro|
|000009f0| 66 69 74 0a 58 6f 66 66 | 20 6f 66 20 69 74 2e 0a |fit.Xoff| of it..|
|00000a00| 58 0a 58 54 68 65 20 66 | 6f 6c 6c 6f 77 69 6e 67 |X.XThe f|ollowing|
|00000a10| 20 70 72 6f 67 72 61 6d | 20 69 73 20 6a 75 73 74 | program| is just|
|00000a20| 20 61 20 75 73 65 6c 65 | 73 73 20 77 61 73 74 65 | a usele|ss waste|
|00000a30| 20 6f 66 20 79 6f 75 72 | 20 74 69 6d 65 2c 20 73 | of your| time, s|
|00000a40| 6f 20 49 27 64 0a 58 6a | 75 73 74 20 2f 62 69 6e |o I'd.Xj|ust /bin|
|00000a50| 2f 72 6d 20 69 74 20 61 | 6e 64 20 67 6f 20 6f 6e |/rm it a|nd go on|
|00000a60| 65 20 77 69 74 68 20 6d | 6f 72 65 20 75 73 65 66 |e with m|ore usef|
|00000a70| 75 6c 20 65 6e 64 65 61 | 76 6f 75 72 73 2e 0a 58 |ul endea|vours..X|
|00000a80| 0a 58 49 27 76 65 20 62 | 65 65 6e 20 61 63 63 75 |.XI've b|een accu|
|00000a90| 73 65 64 20 6f 66 20 70 | 6f 73 74 69 6e 67 20 75 |sed of p|osting u|
|00000aa0| 73 65 6c 65 73 73 20 70 | 72 6f 67 72 61 6d 73 20 |seless p|rograms |
|00000ab0| 69 6e 20 74 68 65 20 70 | 61 73 74 2c 20 73 6f 20 |in the p|ast, so |
|00000ac0| 49 20 74 68 69 6e 6b 0a | 58 79 6f 75 20 73 68 6f |I think.|Xyou sho|
|00000ad0| 75 6c 64 20 73 65 72 69 | 6f 75 73 6c 79 20 72 65 |uld seri|ously re|
|00000ae0| 2d 63 6f 6e 73 69 64 65 | 72 20 6a 75 73 74 20 74 |-conside|r just t|
|00000af0| 6f 73 73 69 6e 67 20 74 | 68 69 73 20 63 6f 64 65 |ossing t|his code|
|00000b00| 20 6f 75 74 2e 0a 58 0a | 58 54 68 65 72 65 20 72 | out..X.|XThere r|
|00000b10| 65 61 6c 6c 79 20 61 72 | 65 20 62 65 74 74 65 72 |eally ar|e better|
|00000b20| 20 77 61 79 73 20 74 6f | 20 64 6f 20 74 68 65 73 | ways to| do thes|
|00000b30| 65 20 74 68 69 6e 67 73 | 2e 20 20 54 68 69 73 20 |e things|. This |
|00000b40| 77 68 6f 6c 65 20 6d 65 | 73 73 0a 58 69 73 20 6a |whole me|ss.Xis j|
|00000b50| 75 73 74 20 61 20 77 61 | 73 74 65 20 6f 66 20 6e |ust a wa|ste of n|
|00000b60| 65 74 77 6f 72 6b 20 62 | 61 6e 64 77 69 64 74 68 |etwork b|andwidth|
|00000b70| 20 61 6e 64 20 49 27 6d | 20 73 75 72 70 72 69 73 | and I'm| surpris|
|00000b80| 65 64 20 74 68 65 20 6d | 6f 64 65 72 61 74 6f 72 |ed the m|oderator|
|00000b90| 0a 58 61 63 74 75 61 6c | 6c 79 20 6c 65 74 20 69 |.Xactual|ly let i|
|00000ba0| 74 20 73 6c 69 70 20 74 | 68 72 6f 75 67 68 2e 0a |t slip t|hrough..|
|00000bb0| 58 0a 58 49 66 20 79 6f | 75 20 73 74 69 6c 6c 20 |X.XIf yo|u still |
|00000bc0| 77 61 6e 74 20 74 6f 20 | 75 73 65 20 74 68 69 73 |want to |use this|
|00000bd0| 20 70 72 6f 67 72 61 6d | 20 69 74 73 20 61 20 70 | program| its a p|
|00000be0| 72 6f 67 72 61 6d 20 75 | 73 69 6e 67 20 67 65 74 |rogram u|sing get|
|00000bf0| 6f 70 74 73 20 74 68 61 | 74 0a 58 6c 65 74 73 20 |opts tha|t.Xlets |
|00000c00| 79 6f 75 20 63 6f 6d 62 | 69 6e 65 20 63 68 6d 6f |you comb|ine chmo|
|00000c10| 64 2c 20 63 68 6f 77 6e | 2c 20 61 6e 64 20 63 68 |d, chown|, and ch|
|00000c20| 67 72 70 20 69 6e 74 6f | 20 6f 6e 65 20 63 6f 6d |grp into| one com|
|00000c30| 6d 61 6e 64 20 63 61 6c | 6c 65 64 20 63 68 61 6c |mand cal|led chal|
|00000c40| 6c 2e 0a 58 0a 58 49 74 | 20 64 6f 65 73 6e 27 74 |l..X.XIt| doesn't|
|00000c50| 20 66 6f 6c 6c 6f 77 20 | 61 6e 79 20 6f 66 20 74 | follow |any of t|
|00000c60| 68 65 20 42 53 44 20 63 | 6f 6d 62 69 6e 65 64 20 |he BSD c|ombined |
|00000c70| 63 68 6f 77 6e 2f 67 72 | 70 20 66 75 6e 63 74 69 |chown/gr|p functi|
|00000c80| 6f 6e 61 6c 69 74 79 2e | 20 49 27 6d 0a 58 61 20 |onality.| I'm.Xa |
|00000c90| 53 79 73 74 65 6d 20 56 | 27 65 72 20 61 66 74 65 |System V|'er afte|
|00000ca0| 72 20 61 6c 6c 2e 20 20 | 49 74 20 64 6f 65 73 20 |r all. |It does |
|00000cb0| 68 61 76 65 20 6f 6e 65 | 20 73 61 76 69 6e 67 20 |have one| saving |
|00000cc0| 67 72 61 63 65 20 74 68 | 6f 75 67 68 2c 20 79 6f |grace th|ough, yo|
|00000cd0| 75 0a 58 63 61 6e 20 6d | 61 69 6e 74 61 69 6e 20 |u.Xcan m|aintain |
|00000ce0| 61 20 70 65 72 73 6f 6e | 61 6c 20 2e 63 68 61 6c |a person|al .chal|
|00000cf0| 6c 20 66 69 6c 65 20 69 | 6e 20 79 6f 75 72 20 68 |l file i|n your h|
|00000d00| 6f 6d 65 20 64 69 72 65 | 63 74 6f 72 79 20 77 69 |ome dire|ctory wi|
|00000d10| 74 68 20 6d 61 63 72 6f | 73 0a 58 69 6e 20 69 74 |th macro|s.Xin it|
|00000d20| 20 6c 69 6b 65 20 27 6d | 61 6e 3a 62 69 6e 3a 62 | like 'm|an:bin:b|
|00000d30| 69 6e 3a 34 34 34 27 20 | 77 68 69 63 68 20 6d 65 |in:444' |which me|
|00000d40| 61 6e 73 20 79 6f 75 20 | 63 61 6e 20 73 61 79 20 |ans you |can say |
|00000d50| 0a 58 20 20 20 20 63 68 | 61 6c 6c 20 2d 78 20 6d |.X ch|all -x m|
|00000d60| 61 6e 20 66 6f 6f 62 61 | 72 0a 58 61 6e 64 20 66 |an fooba|r.Xand f|
|00000d70| 6f 6f 62 61 72 20 77 69 | 6c 6c 20 62 65 20 63 68 |oobar wi|ll be ch|
|00000d80| 6d 6f 64 20 34 34 34 20 | 66 6f 6f 62 61 72 2c 20 |mod 444 |foobar, |
|00000d90| 63 68 6f 77 6e 20 62 69 | 6e 20 66 6f 6f 62 61 72 |chown bi|n foobar|
|00000da0| 2c 20 63 68 67 72 70 20 | 62 69 6e 20 66 6f 6f 62 |, chgrp |bin foob|
|00000db0| 61 72 2e 0a 58 0a 58 53 | 65 65 20 74 68 65 20 6d |ar..X.XS|ee the m|
|00000dc0| 61 6e 20 70 61 67 65 20 | 66 6f 72 20 6d 6f 72 65 |an page |for more|
|00000dd0| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 2e 20 20 49 | informa|tion. I|
|00000de0| 74 27 73 20 74 6f 6f 20 | 62 61 64 20 69 74 20 64 |t's too |bad it d|
|00000df0| 6f 65 73 6e 27 74 20 0a | 58 72 65 63 75 72 73 69 |oesn't .|Xrecursi|
|00000e00| 76 65 6c 79 20 64 65 63 | 65 6e 64 20 64 69 72 65 |vely dec|end dire|
|00000e10| 63 74 6f 72 69 65 73 2c | 20 61 6e 64 20 69 74 27 |ctories,| and it'|
|00000e20| 73 20 74 6f 6f 20 62 61 | 64 20 69 74 20 64 6f 65 |s too ba|d it doe|
|00000e30| 73 6e 27 74 20 75 73 65 | 0a 58 74 68 65 20 2b 72 |sn't use|.Xthe +r|
|00000e40| 77 20 2e 2e 2e 20 73 74 | 75 66 66 20 6f 66 20 42 |w ... st|uff of B|
|00000e50| 53 44 2e 20 20 54 68 65 | 20 6c 61 74 74 65 72 20 |SD. The| latter |
|00000e60| 49 20 61 63 74 75 61 6c | 6c 79 20 74 72 69 65 64 |I actual|ly tried|
|00000e70| 2c 20 62 75 74 20 61 6c | 6c 20 74 68 6f 73 65 0a |, but al|l those.|
|00000e80| 58 64 69 66 66 65 72 65 | 6e 74 20 6f 70 74 69 6f |Xdiffere|nt optio|
|00000e90| 6e 73 2c 20 74 68 65 72 | 65 20 6a 75 73 74 20 64 |ns, ther|e just d|
|00000ea0| 69 64 6e 27 74 20 73 65 | 65 6d 20 74 6f 20 62 65 |idn't se|em to be|
|00000eb0| 20 61 77 61 79 20 74 6f | 20 64 6f 20 69 74 2e 0a | away to| do it..|
|00000ec0| 58 0a 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 0a 69 66 |X.END_OF|_FILE.if|
|00000ed0| 20 74 65 73 74 20 31 33 | 30 30 20 2d 6e 65 20 60 | test 13|00 -ne `|
|00000ee0| 77 63 20 2d 63 20 3c 27 | 52 45 41 44 4d 45 27 60 |wc -c <'|README'`|
|00000ef0| 3b 20 74 68 65 6e 0a 20 | 20 20 20 65 63 68 6f 20 |; then. | echo |
|00000f00| 73 68 61 72 3a 20 5c 22 | 27 52 45 41 44 4d 45 27 |shar: \"|'README'|
|00000f10| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|00000f20| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 66 69 0a | wrong s|ize!.fi.|
|00000f30| 23 20 65 6e 64 20 6f 66 | 20 27 52 45 41 44 4d 45 |# end of| 'README|
|00000f40| 27 0a 66 69 0a 69 66 20 | 74 65 73 74 20 2d 66 20 |'.fi.if |test -f |
|00000f50| 27 63 68 61 6c 6c 2e 63 | 27 20 2d 61 20 22 24 7b |'chall.c|' -a "${|
|00000f60| 31 7d 22 20 21 3d 20 22 | 2d 63 22 20 3b 20 74 68 |1}" != "|-c" ; th|
|00000f70| 65 6e 20 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |en . ec|ho shar:|
|00000f80| 20 57 69 6c 6c 20 6e 6f | 74 20 63 6c 6f 62 62 65 | Will no|t clobbe|
|00000f90| 72 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |r existi|ng file |
|00000fa0| 5c 22 27 63 68 61 6c 6c | 2e 63 27 5c 22 0a 65 6c |\"'chall|.c'\".el|
|00000fb0| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|00000fc0| 74 72 61 63 74 69 6e 67 | 20 5c 22 27 63 68 61 6c |tracting| \"'chal|
|00000fd0| 6c 2e 63 27 5c 22 20 5c | 28 34 31 34 33 20 63 68 |l.c'\" \|(4143 ch|
|00000fe0| 61 72 61 63 74 65 72 73 | 5c 29 0a 73 65 64 20 22 |aracters|\).sed "|
|00000ff0| 73 2f 5e 58 2f 2f 22 20 | 3e 27 63 68 61 6c 6c 2e |s/^X//" |>'chall.|
|00001000| 63 27 20 3c 3c 27 45 4e | 44 5f 4f 46 5f 46 49 4c |c' <<'EN|D_OF_FIL|
|00001010| 45 27 0a 58 2f 2a 20 24 | 48 65 61 64 65 72 3a 20 |E'.X/* $|Header: |
|00001020| 63 68 61 6c 6c 2e 63 2c | 76 20 31 2e 34 20 38 39 |chall.c,|v 1.4 89|
|00001030| 2f 31 32 2f 31 38 20 31 | 38 3a 33 39 3a 35 35 20 |/12/18 1|8:39:55 |
|00001040| 62 72 69 61 6e 20 4c 6f | 63 6b 65 64 20 24 20 2a |brian Lo|cked $ *|
|00001050| 2f 0a 58 0a 58 2f 2a 20 | 42 79 20 42 72 69 61 6e |/.X.X/* |By Brian|
|00001060| 20 45 2e 20 4c 69 74 7a | 69 6e 67 65 72 20 2a 2f | E. Litz|inger */|
|00001070| 0a 58 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 73 74 |.X.X#inc|lude <st|
|00001080| 64 69 6f 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |dio.h>.X|#include|
|00001090| 20 3c 75 6e 69 73 74 64 | 2e 68 3e 0a 58 23 69 6e | <unistd|.h>.X#in|
|000010a0| 63 6c 75 64 65 20 3c 70 | 77 64 2e 68 3e 0a 58 23 |clude <p|wd.h>.X#|
|000010b0| 69 6e 63 6c 75 64 65 20 | 3c 67 72 70 2e 68 3e 0a |include |<grp.h>.|
|000010c0| 58 23 69 6e 63 6c 75 64 | 65 20 3c 73 79 73 2f 74 |X#includ|e <sys/t|
|000010d0| 79 70 65 73 2e 68 3e 0a | 58 23 69 6e 63 6c 75 64 |ypes.h>.|X#includ|
|000010e0| 65 20 3c 73 79 73 2f 73 | 74 61 74 2e 68 3e 0a 58 |e <sys/s|tat.h>.X|
|000010f0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 72 69 6e 67 |#include| <string|
|00001100| 2e 68 3e 0a 58 0a 58 6d | 61 69 6e 28 61 72 67 63 |.h>.X.Xm|ain(argc|
|00001110| 2c 61 72 67 76 29 0a 58 | 69 6e 74 20 61 72 67 63 |,argv).X|int argc|
|00001120| 3b 0a 58 63 68 61 72 20 | 2a 2a 61 72 67 76 3b 0a |;.Xchar |**argv;.|
|00001130| 58 7b 0a 58 20 20 20 20 | 69 6e 74 20 63 3b 0a 58 |X{.X |int c;.X|
|00001140| 20 20 20 20 65 78 74 65 | 72 6e 20 63 68 61 72 20 | exte|rn char |
|00001150| 2a 6f 70 74 61 72 67 3b | 0a 58 20 20 20 20 65 78 |*optarg;|.X ex|
|00001160| 74 65 72 6e 20 69 6e 74 | 20 6f 70 74 69 6e 64 3b |tern int| optind;|
|00001170| 0a 58 20 20 20 20 65 78 | 74 65 72 6e 20 69 6e 74 |.X ex|tern int|
|00001180| 20 65 72 72 6e 6f 3b 0a | 58 0a 58 20 20 20 20 73 | errno;.|X.X s|
|00001190| 74 72 75 63 74 20 73 74 | 61 74 20 2a 6d 61 6c 6c |truct st|at *mall|
|000011a0| 6f 63 28 29 3b 0a 58 0a | 58 20 20 20 20 73 74 72 |oc();.X.|X str|
|000011b0| 75 63 74 20 70 61 73 73 | 77 64 20 2a 70 3b 0a 58 |uct pass|wd *p;.X|
|000011c0| 20 20 20 20 73 74 72 75 | 63 74 20 70 61 73 73 77 | stru|ct passw|
|000011d0| 64 20 2a 67 65 74 70 77 | 6e 61 6d 28 29 3b 0a 58 |d *getpw|nam();.X|
|000011e0| 0a 58 20 20 20 20 73 74 | 72 75 63 74 20 67 72 6f |.X st|ruct gro|
|000011f0| 75 70 20 2a 67 3b 0a 58 | 20 20 20 20 73 74 72 75 |up *g;.X| stru|
|00001200| 63 74 20 67 72 6f 75 70 | 20 2a 67 65 74 67 72 6e |ct group| *getgrn|
|00001210| 61 6d 28 29 3b 0a 58 0a | 58 20 20 20 20 73 74 72 |am();.X.|X str|
|00001220| 75 63 74 20 73 74 61 74 | 20 2a 66 3b 0a 58 20 20 |uct stat| *f;.X |
|00001230| 20 20 69 6e 74 20 73 74 | 61 74 28 29 3b 0a 58 0a | int st|at();.X.|
|00001240| 58 20 20 20 20 63 68 61 | 72 20 74 5b 32 35 36 5d |X cha|r t[256]|
|00001250| 3b 0a 58 20 20 20 20 69 | 6e 74 20 74 6c 65 6e 3b |;.X i|nt tlen;|
|00001260| 0a 58 0a 58 20 20 20 20 | 69 6e 74 20 63 6d 61 73 |.X.X |int cmas|
|00001270| 6b 3b 0a 58 0a 58 20 20 | 20 20 46 49 4c 45 20 2a |k;.X.X | FILE *|
|00001280| 66 64 3b 0a 58 0a 58 20 | 20 20 20 63 68 61 72 20 |fd;.X.X | char |
|00001290| 62 75 66 66 65 72 5b 31 | 30 30 5d 3b 0a 58 0a 58 |buffer[1|00];.X.X|
|000012a0| 20 20 20 20 63 68 61 72 | 20 2a 73 3b 0a 58 20 20 | char| *s;.X |
|000012b0| 20 20 63 68 61 72 20 2a | 71 3b 0a 58 0a 58 20 20 | char *|q;.X.X |
|000012c0| 20 20 63 68 61 72 20 2a | 68 6f 6d 65 3b 0a 58 0a | char *|home;.X.|
|000012d0| 58 20 20 20 20 73 68 6f | 72 74 20 6d 61 74 63 68 |X sho|rt match|
|000012e0| 66 6f 75 6e 64 3b 0a 58 | 0a 58 20 20 20 20 73 68 |found;.X|.X sh|
|000012f0| 6f 72 74 20 65 72 72 66 | 6c 61 67 3b 0a 58 20 20 |ort errf|lag;.X |
|00001300| 20 20 73 68 6f 72 74 20 | 64 66 6c 61 67 3b 0a 58 | short |dflag;.X|
|00001310| 20 20 20 20 73 68 6f 72 | 74 20 6f 66 6c 61 67 3b | shor|t oflag;|
|00001320| 0a 58 20 20 20 20 73 68 | 6f 72 74 20 6d 66 6c 61 |.X sh|ort mfla|
|00001330| 67 3b 0a 58 20 20 20 20 | 73 68 6f 72 74 20 67 66 |g;.X |short gf|
|00001340| 6c 61 67 3b 0a 58 20 20 | 20 20 73 68 6f 72 74 20 |lag;.X | short |
|00001350| 73 66 6c 61 67 3b 0a 58 | 20 20 20 20 73 68 6f 72 |sflag;.X| shor|
|00001360| 74 20 78 66 6c 61 67 3b | 0a 58 0a 58 20 20 20 20 |t xflag;|.X.X |
|00001370| 63 68 61 72 20 2a 64 69 | 72 65 63 74 6f 72 79 3b |char *di|rectory;|
|00001380| 0a 58 20 20 20 20 63 68 | 61 72 20 2a 6f 77 6e 65 |.X ch|ar *owne|
|00001390| 72 3b 0a 58 20 20 20 20 | 69 6e 74 20 56 6f 77 6e |r;.X |int Vown|
|000013a0| 65 72 3b 0a 58 20 20 20 | 20 69 6e 74 20 4f 4c 44 |er;.X | int OLD|
|000013b0| 6f 77 6e 65 72 3b 0a 58 | 20 20 20 20 63 68 61 72 |owner;.X| char|
|000013c0| 20 2a 67 72 6f 75 70 3b | 0a 58 20 20 20 20 69 6e | *group;|.X in|
|000013d0| 74 20 56 67 72 6f 75 70 | 3b 0a 58 20 20 20 20 69 |t Vgroup|;.X i|
|000013e0| 6e 74 20 4f 4c 44 67 72 | 6f 75 70 3b 0a 58 20 20 |nt OLDgr|oup;.X |
|000013f0| 20 20 69 6e 74 20 6d 6f | 64 65 3b 0a 58 0a 58 20 | int mo|de;.X.X |
|00001400| 20 20 20 65 72 72 66 6c | 61 67 3d 67 66 6c 61 67 | errfl|ag=gflag|
|00001410| 3d 6d 66 6c 61 67 3d 6f | 66 6c 61 67 3d 64 66 6c |=mflag=o|flag=dfl|
|00001420| 61 67 3d 78 66 6c 61 67 | 3d 30 3b 0a 58 0a 58 20 |ag=xflag|=0;.X.X |
|00001430| 20 20 20 68 6f 6d 65 3d | 28 63 68 61 72 20 2a 29 | home=|(char *)|
|00001440| 67 65 74 65 6e 76 28 22 | 48 4f 4d 45 22 29 3b 0a |getenv("|HOME");.|
|00001450| 58 0a 58 20 20 20 20 2f | 2a 0a 58 20 20 20 20 2b |X.X /|*.X +|
|00001460| 72 20 2d 72 20 2b 77 20 | 2d 77 20 2b 78 20 2d 78 |r -r +w |-w +x -x|
|00001470| 20 2b 75 20 2d 75 20 2b | 67 20 2d 67 0a 58 20 20 | +u -u +|g -g.X |
|00001480| 20 20 75 6d 61 73 6b 28 | 28 63 6d 61 73 6b 3d 75 | umask(|(cmask=u|
|00001490| 6d 61 73 6b 28 30 29 29 | 3b 0a 58 20 20 20 20 2a |mask(0))|;.X *|
|000014a0| 2f 0a 58 0a 58 20 20 20 | 20 77 68 69 6c 65 20 28 |/.X.X | while (|
|000014b0| 28 63 3d 67 65 74 6f 70 | 74 28 61 72 67 63 2c 61 |(c=getop|t(argc,a|
|000014c0| 72 67 76 2c 22 78 3a 6f | 3a 75 3a 67 3a 6d 3a 64 |rgv,"x:o|:u:g:m:d|
|000014d0| 3a 22 29 29 20 21 3d 20 | 2d 31 29 0a 58 09 73 77 |:")) != |-1).X.sw|
|000014e0| 69 74 63 68 20 28 63 29 | 20 7b 0a 58 09 20 20 20 |itch (c)| {.X. |
|000014f0| 20 63 61 73 65 20 27 78 | 27 3a 0a 58 09 09 69 66 | case 'x|':.X..if|
|00001500| 20 28 21 68 6f 6d 65 29 | 20 7b 0a 58 09 09 20 20 | (!home)| {.X.. |
|00001510| 20 20 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 | fprint|f(stderr|
|00001520| 2c 22 25 73 3a 20 6e 6f | 20 48 4f 4d 45 20 76 61 |,"%s: no| HOME va|
|00001530| 72 69 61 62 6c 65 20 69 | 6e 20 65 6e 76 69 72 6f |riable i|n enviro|
|00001540| 6e 6d 65 6e 74 2e 22 2c | 0a 58 09 09 09 20 20 20 |nment.",|.X... |
|00001550| 20 61 72 67 76 5b 30 5d | 29 3b 0a 58 09 09 20 20 | argv[0]|);.X.. |
|00001560| 20 20 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 | fprint|f(stderr|
|00001570| 2c 22 25 73 3a 20 55 6e | 61 62 6c 65 20 74 6f 20 |,"%s: Un|able to |
|00001580| 66 69 6c 65 20 63 68 61 | 6c 6c 20 6c 69 62 72 61 |file cha|ll libra|
|00001590| 72 79 20 66 69 6c 65 22 | 2c 0a 58 09 09 09 20 20 |ry file"|,.X... |
|000015a0| 20 20 61 72 67 76 5b 30 | 5d 29 3b 0a 58 09 09 20 | argv[0|]);.X.. |
|000015b0| 20 20 20 65 78 69 74 28 | 32 29 3b 0a 58 09 09 7d | exit(|2);.X..}|
|000015c0| 0a 58 09 09 6d 61 74 63 | 68 66 6f 75 6e 64 20 3d |.X..matc|hfound =|
|000015d0| 20 30 3b 0a 58 09 09 73 | 70 72 69 6e 74 66 28 62 | 0;.X..s|printf(b|
|000015e0| 75 66 66 65 72 2c 22 25 | 73 2f 2e 63 68 61 6c 6c |uffer,"%|s/.chall|
|000015f0| 22 2c 68 6f 6d 65 29 3b | 0a 58 09 09 69 66 28 28 |",home);|.X..if((|
|00001600| 66 64 3d 66 6f 70 65 6e | 28 62 75 66 66 65 72 2c |fd=fopen|(buffer,|
|00001610| 22 72 22 29 29 21 3d 4e | 55 4c 4c 29 20 7b 0a 58 |"r"))!=N|ULL) {.X|
|00001620| 09 09 20 20 20 20 77 68 | 69 6c 65 20 28 20 21 6d |.. wh|ile ( !m|
|00001630| 61 74 63 68 66 6f 75 6e | 64 20 26 26 20 66 67 65 |atchfoun|d && fge|
|00001640| 74 73 28 62 75 66 66 65 | 72 2c 73 69 7a 65 6f 66 |ts(buffe|r,sizeof|
|00001650| 28 62 75 66 66 65 72 29 | 2c 66 64 29 29 20 7b 0a |(buffer)|,fd)) {.|
|00001660| 58 09 09 09 71 20 3d 20 | 73 74 72 74 6f 6b 28 62 |X...q = |strtok(b|
|00001670| 75 66 66 65 72 2c 22 3a | 22 29 3b 0a 58 09 09 09 |uffer,":|");.X...|
|00001680| 69 66 20 28 71 20 26 26 | 20 21 73 74 72 63 6d 70 |if (q &&| !strcmp|
|00001690| 28 6f 70 74 61 72 67 2c | 71 29 29 20 7b 0a 58 09 |(optarg,|q)) {.X.|
|000016a0| 09 09 20 20 20 20 6d 61 | 74 63 68 66 6f 75 6e 64 |.. ma|tchfound|
|000016b0| 20 3d 20 2d 31 3b 0a 58 | 09 09 09 20 20 20 20 69 | = -1;.X|... i|
|000016c0| 66 20 28 71 3d 73 74 72 | 74 6f 6b 28 4e 55 4c 4c |f (q=str|tok(NULL|
|000016d0| 2c 22 3a 22 29 29 0a 58 | 09 09 09 09 69 66 20 28 |,":")).X|....if (|
|000016e0| 21 6f 66 6c 61 67 29 20 | 7b 0a 58 09 09 09 09 20 |!oflag) |{.X.... |
|000016f0| 20 20 20 6f 77 6e 65 72 | 20 3d 20 71 3b 0a 58 09 | owner| = q;.X.|
|00001700| 09 09 09 20 20 20 20 6f | 66 6c 61 67 2b 2b 3b 0a |... o|flag++;.|
|00001710| 58 09 09 09 09 7d 0a 58 | 09 09 09 20 20 20 20 69 |X....}.X|... i|
|00001720| 66 20 28 71 3d 73 74 72 | 74 6f 6b 28 4e 55 4c 4c |f (q=str|tok(NULL|
|00001730| 2c 22 3a 22 29 29 0a 58 | 09 09 09 09 69 66 20 28 |,":")).X|....if (|
|00001740| 21 67 66 6c 61 67 29 20 | 7b 0a 58 09 09 09 09 20 |!gflag) |{.X.... |
|00001750| 20 20 20 67 72 6f 75 70 | 20 3d 20 71 3b 0a 58 09 | group| = q;.X.|
|00001760| 09 09 09 20 20 20 20 67 | 66 6c 61 67 2b 2b 3b 0a |... g|flag++;.|
|00001770| 58 09 09 09 09 7d 0a 58 | 09 09 09 20 20 20 20 69 |X....}.X|... i|
|00001780| 66 20 28 71 3d 73 74 72 | 74 6f 6b 28 4e 55 4c 4c |f (q=str|tok(NULL|
|00001790| 2c 22 3a 22 29 29 0a 58 | 09 09 09 09 69 66 20 28 |,":")).X|....if (|
|000017a0| 21 6d 66 6c 61 67 29 20 | 7b 0a 58 09 09 09 09 20 |!mflag) |{.X.... |
|000017b0| 20 20 20 73 73 63 61 6e | 66 28 71 2c 22 25 6f 22 | sscan|f(q,"%o"|
|000017c0| 2c 26 6d 6f 64 65 29 3b | 0a 58 09 09 09 09 20 20 |,&mode);|.X.... |
|000017d0| 20 20 6d 66 6c 61 67 2b | 2b 3b 0a 58 09 09 09 09 | mflag+|+;.X....|
|000017e0| 7d 0a 58 09 09 09 7d 0a | 58 09 09 20 20 20 20 7d |}.X...}.|X.. }|
|000017f0| 0a 58 09 09 20 20 20 20 | 63 6c 6f 73 65 28 66 64 |.X.. |close(fd|
|00001800| 29 3b 0a 58 09 09 20 20 | 20 20 69 66 20 28 21 6d |);.X.. | if (!m|
|00001810| 61 74 63 68 66 6f 75 6e | 64 29 20 7b 0a 58 09 09 |atchfoun|d) {.X..|
|00001820| 09 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c |.fprintf|(stderr,|
|00001830| 22 25 73 3a 20 27 25 73 | 27 20 6e 6f 74 20 66 6f |"%s: '%s|' not fo|
|00001840| 75 6e 64 20 69 6e 20 63 | 68 61 6c 6c 20 6c 69 62 |und in c|hall lib|
|00001850| 72 61 72 79 2e 5c 6e 22 | 2c 0a 58 09 09 09 09 61 |rary.\n"|,.X....a|
|00001860| 72 67 76 5b 30 5d 2c 6f | 70 74 61 72 67 29 3b 0a |rgv[0],o|ptarg);.|
|00001870| 58 09 09 09 65 78 69 74 | 28 32 29 3b 0a 58 09 09 |X...exit|(2);.X..|
|00001880| 20 20 20 20 7d 0a 58 09 | 09 7d 20 65 6c 73 65 20 | }.X.|.} else |
|00001890| 7b 0a 58 09 09 20 20 20 | 20 66 70 72 69 6e 74 66 |{.X.. | fprintf|
|000018a0| 28 73 74 64 65 72 72 2c | 0a 58 09 09 09 20 20 20 |(stderr,|.X... |
|000018b0| 20 22 25 73 3a 20 55 6e | 61 62 6c 65 20 74 6f 20 | "%s: Un|able to |
|000018c0| 6f 70 65 6e 20 7e 2f 2e | 63 68 61 6c 6c 20 6c 69 |open ~/.|chall li|
|000018d0| 62 72 61 72 79 20 66 69 | 6c 65 2e 5c 6e 22 29 3b |brary fi|le.\n");|
|000018e0| 0a 58 09 09 20 20 20 20 | 65 78 69 74 28 32 29 3b |.X.. |exit(2);|
|000018f0| 0a 58 09 09 7d 0a 58 09 | 09 62 72 65 61 6b 3b 0a |.X..}.X.|.break;.|
|00001900| 58 09 20 20 20 20 63 61 | 73 65 20 27 6f 27 3a 0a |X. ca|se 'o':.|
|00001910| 58 09 20 20 20 20 63 61 | 73 65 20 27 75 27 3a 0a |X. ca|se 'u':.|
|00001920| 58 09 09 6f 77 6e 65 72 | 20 3d 20 6f 70 74 61 72 |X..owner| = optar|
|00001930| 67 3b 0a 58 09 09 6f 66 | 6c 61 67 2b 2b 3b 0a 58 |g;.X..of|lag++;.X|
|00001940| 09 20 20 20 20 62 72 65 | 61 6b 3b 0a 58 09 20 20 |. bre|ak;.X. |
|00001950| 20 20 63 61 73 65 20 27 | 67 27 3a 0a 58 09 09 67 | case '|g':.X..g|
|00001960| 72 6f 75 70 20 3d 20 6f | 70 74 61 72 67 3b 0a 58 |roup = o|ptarg;.X|
|00001970| 09 09 67 66 6c 61 67 2b | 2b 3b 0a 58 09 20 20 20 |..gflag+|+;.X. |
|00001980| 20 62 72 65 61 6b 3b 0a | 58 09 20 20 20 20 63 61 | break;.|X. ca|
|00001990| 73 65 20 27 6d 27 3a 0a | 58 09 09 73 73 63 61 6e |se 'm':.|X..sscan|
|000019a0| 66 28 6f 70 74 61 72 67 | 2c 22 25 6f 22 2c 26 6d |f(optarg|,"%o",&m|
|000019b0| 6f 64 65 29 3b 0a 58 09 | 09 6d 66 6c 61 67 2b 2b |ode);.X.|.mflag++|
|000019c0| 3b 0a 58 09 20 20 20 20 | 62 72 65 61 6b 3b 0a 58 |;.X. |break;.X|
|000019d0| 09 20 20 20 20 63 61 73 | 65 20 27 64 27 3a 0a 58 |. cas|e 'd':.X|
|000019e0| 09 09 69 66 20 28 64 66 | 6c 61 67 29 20 65 72 72 |..if (df|lag) err|
|000019f0| 66 6c 61 67 2b 2b 3b 0a | 58 09 09 65 6c 73 65 20 |flag++;.|X..else |
|00001a00| 7b 0a 58 09 09 20 20 20 | 20 64 69 72 65 63 74 6f |{.X.. | directo|
|00001a10| 72 79 20 3d 20 6f 70 74 | 61 72 67 3b 0a 58 09 09 |ry = opt|arg;.X..|
|00001a20| 20 20 20 20 64 66 6c 61 | 67 2b 2b 3b 0a 58 09 09 | dfla|g++;.X..|
|00001a30| 7d 0a 58 09 09 62 72 65 | 61 6b 3b 0a 58 09 20 20 |}.X..bre|ak;.X. |
|00001a40| 20 20 64 65 66 61 75 6c | 74 3a 0a 58 09 09 65 72 | defaul|t:.X..er|
|00001a50| 72 66 6c 61 67 2b 2b 3b | 0a 58 09 7d 0a 58 20 20 |rflag++;|.X.}.X |
|00001a60| 20 20 69 66 20 28 65 72 | 72 66 6c 61 67 29 20 7b | if (er|rflag) {|
|00001a70| 0a 58 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 |.Xfprint|f(stderr|
|00001a80| 2c 22 49 6c 6c 65 67 61 | 6c 20 6f 70 74 69 6f 6e |,"Illega|l option|
|00001a90| 2e 5c 6e 22 29 3b 0a 58 | 66 70 72 69 6e 74 66 28 |.\n");.X|fprintf(|
|00001aa0| 73 74 64 65 72 72 2c 0a | 58 22 75 73 61 67 65 3a |stderr,.|X"usage:|
|00001ab0| 20 25 73 20 5b 2d 6f 20 | 6f 77 6e 65 72 5d 20 5b | %s [-o |owner] [|
|00001ac0| 2d 67 20 67 72 6f 75 70 | 5d 20 5b 2d 6d 20 6d 6f |-g group|] [-m mo|
|00001ad0| 64 65 5d 20 5b 2d 64 20 | 64 69 72 65 63 74 6f 72 |de] [-d |director|
|00001ae0| 79 5d 20 66 69 6c 65 73 | 20 2e 2e 2e 5c 6e 22 2c |y] files| ...\n",|
|00001af0| 0a 58 09 61 72 67 76 5b | 30 5d 29 3b 0a 58 09 65 |.X.argv[|0]);.X.e|
|00001b00| 78 69 74 28 31 29 3b 0a | 58 20 20 20 20 7d 0a 58 |xit(1);.|X }.X|
|00001b10| 0a 58 20 20 20 20 69 66 | 20 28 20 28 6f 66 6c 61 |.X if| ( (ofla|
|00001b20| 67 29 20 26 26 20 28 21 | 28 56 6f 77 6e 65 72 3d |g) && (!|(Vowner=|
|00001b30| 61 74 6f 69 28 6f 77 6e | 65 72 29 29 29 20 26 26 |atoi(own|er))) &&|
|00001b40| 20 28 28 70 3d 67 65 74 | 70 77 6e 61 6d 28 6f 77 | ((p=get|pwnam(ow|
|00001b50| 6e 65 72 29 29 21 3d 4e | 55 4c 4c 29 20 29 0a 58 |ner))!=N|ULL) ).X|
|00001b60| 09 20 20 20 20 56 6f 77 | 6e 65 72 20 3d 20 70 2d |. Vow|ner = p-|
|00001b70| 3e 70 77 5f 75 69 64 3b | 0a 58 0a 58 20 20 20 20 |>pw_uid;|.X.X |
|00001b80| 69 66 20 28 67 66 6c 61 | 67 29 20 7b 0a 58 09 56 |if (gfla|g) {.X.V|
|00001b90| 67 72 6f 75 70 20 3d 20 | 61 74 6f 69 28 67 72 6f |group = |atoi(gro|
|00001ba0| 75 70 29 3b 0a 58 09 69 | 66 20 28 21 56 67 72 6f |up);.X.i|f (!Vgro|
|00001bb0| 75 70 29 0a 58 09 20 20 | 20 20 69 66 20 28 28 67 |up).X. | if ((g|
|00001bc0| 3d 67 65 74 67 72 6e 61 | 6d 28 67 72 6f 75 70 29 |=getgrna|m(group)|
|00001bd0| 29 21 3d 4e 55 4c 4c 29 | 0a 58 09 09 56 67 72 6f |)!=NULL)|.X..Vgro|
|00001be0| 75 70 20 3d 20 67 2d 3e | 67 72 5f 67 69 64 3b 0a |up = g->|gr_gid;.|
|00001bf0| 58 09 20 20 20 20 65 6c | 73 65 20 0a 58 09 09 69 |X. el|se .X..i|
|00001c00| 66 20 28 28 70 3d 67 65 | 74 70 77 6e 61 6d 28 67 |f ((p=ge|tpwnam(g|
|00001c10| 72 6f 75 70 29 29 21 3d | 4e 55 4c 4c 29 0a 58 09 |roup))!=|NULL).X.|
|00001c20| 09 20 20 20 20 56 67 72 | 6f 75 70 20 3d 20 70 2d |. Vgr|oup = p-|
|00001c30| 3e 70 77 5f 67 69 64 3b | 0a 58 20 20 20 20 7d 0a |>pw_gid;|.X }.|
|00001c40| 58 0a 58 20 20 20 20 66 | 20 3d 20 20 6d 61 6c 6c |X.X f| = mall|
|00001c50| 6f 63 28 73 69 7a 65 6f | 66 28 73 74 72 75 63 74 |oc(sizeo|f(struct|
|00001c60| 20 73 74 61 74 29 29 3b | 0a 58 20 20 20 20 69 66 | stat));|.X if|
|00001c70| 20 28 64 66 6c 61 67 29 | 20 7b 0a 58 09 73 74 72 | (dflag)| {.X.str|
|00001c80| 63 70 79 28 74 2c 64 69 | 72 65 63 74 6f 72 79 29 |cpy(t,di|rectory)|
|00001c90| 3b 0a 58 09 74 6c 65 6e | 20 3d 20 73 74 72 6c 65 |;.X.tlen| = strle|
|00001ca0| 6e 28 74 29 3b 0a 58 09 | 74 5b 74 6c 65 6e 2b 2b |n(t);.X.|t[tlen++|
|00001cb0| 5d 3d 27 2f 27 3b 0a 58 | 20 20 20 20 7d 0a 58 20 |]='/';.X| }.X |
|00001cc0| 20 20 20 69 66 20 28 28 | 6f 66 6c 61 67 29 20 7c | if ((|oflag) ||
|00001cd0| 7c 20 28 67 66 6c 61 67 | 29 20 7c 7c 20 28 6d 66 || (gflag|) || (mf|
|00001ce0| 6c 61 67 29 29 0a 58 09 | 66 6f 72 20 28 20 3b 20 |lag)).X.|for ( ; |
|00001cf0| 6f 70 74 69 6e 64 3c 61 | 72 67 63 3b 20 6f 70 74 |optind<a|rgc; opt|
|00001d00| 69 6e 64 2b 2b 29 20 7b | 0a 58 09 20 20 20 20 69 |ind++) {|.X. i|
|00001d10| 66 20 28 20 28 64 66 6c | 61 67 29 20 26 26 20 28 |f ( (dfl|ag) && (|
|00001d20| 61 72 67 76 5b 6f 70 74 | 69 6e 64 5d 5b 30 5d 21 |argv[opt|ind][0]!|
|00001d30| 3d 27 2f 27 29 20 29 20 | 7b 0a 58 09 09 73 74 72 |='/') ) |{.X..str|
|00001d40| 63 70 79 28 28 74 2b 74 | 6c 65 6e 29 2c 61 72 67 |cpy((t+t|len),arg|
|00001d50| 76 5b 6f 70 74 69 6e 64 | 5d 29 3b 0a 58 09 09 73 |v[optind|]);.X..s|
|00001d60| 20 3d 20 74 3b 0a 58 09 | 20 20 20 20 7d 20 65 6c | = t;.X.| } el|
|00001d70| 73 65 0a 58 09 09 73 20 | 3d 20 61 72 67 76 5b 6f |se.X..s |= argv[o|
|00001d80| 70 74 69 6e 64 5d 3b 0a | 58 09 20 20 20 20 69 66 |ptind];.|X. if|
|00001d90| 20 28 61 63 63 65 73 73 | 28 73 2c 46 5f 4f 4b 7c | (access|(s,F_OK||
|00001da0| 57 5f 4f 4b 29 3d 3d 30 | 29 20 7b 0a 58 09 09 69 |W_OK)==0|) {.X..i|
|00001db0| 66 20 28 20 28 6d 66 6c | 61 67 29 20 26 26 20 28 |f ( (mfl|ag) && (|
|00001dc0| 63 68 6d 6f 64 28 73 2c | 6d 6f 64 65 29 3d 3d 2d |chmod(s,|mode)==-|
|00001dd0| 31 29 20 29 0a 58 09 09 | 20 20 20 20 66 70 72 69 |1) ).X..| fpri|
|00001de0| 6e 74 66 28 22 55 6e 61 | 62 6c 65 20 74 6f 20 63 |ntf("Una|ble to c|
|00001df0| 68 6d 6f 64 20 25 73 5c | 6e 22 2c 73 29 3b 0a 58 |hmod %s\|n",s);.X|
|00001e00| 09 09 73 66 6c 61 67 3d | 31 3b 0a 58 09 09 69 66 |..sflag=|1;.X..if|
|00001e10| 20 28 20 28 28 6f 66 6c | 61 67 29 20 26 26 20 28 | ( ((ofl|ag) && (|
|00001e20| 21 67 66 6c 61 67 29 29 | 20 7c 7c 20 28 28 21 6f |!gflag))| || ((!o|
|00001e30| 66 6c 61 67 29 20 26 26 | 20 28 67 66 6c 61 67 29 |flag) &&| (gflag)|
|00001e40| 29 20 29 20 7b 0a 58 09 | 09 20 20 20 20 69 66 20 |) ) {.X.|. if |
|00001e50| 28 73 74 61 74 28 73 2c | 66 29 21 3d 2d 31 29 20 |(stat(s,|f)!=-1) |
|00001e60| 7b 0a 58 09 09 09 4f 4c | 44 6f 77 6e 65 72 20 3d |{.X...OL|Downer =|
|00001e70| 20 28 69 6e 74 29 20 66 | 2d 3e 73 74 5f 75 69 64 | (int) f|->st_uid|
|00001e80| 3b 0a 58 09 09 09 4f 4c | 44 67 72 6f 75 70 20 3d |;.X...OL|Dgroup =|
|00001e90| 20 28 69 6e 74 29 20 66 | 2d 3e 73 74 5f 67 69 64 | (int) f|->st_gid|
|00001ea0| 3b 0a 58 09 09 20 20 20 | 20 7d 0a 58 09 09 20 20 |;.X.. | }.X.. |
|00001eb0| 20 20 65 6c 73 65 20 7b | 0a 58 09 09 09 66 70 72 | else {|.X...fpr|
|00001ec0| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 22 73 74 61 |intf(std|err,"sta|
|00001ed0| 74 20 6f 66 20 25 73 20 | 66 61 69 6c 65 64 28 25 |t of %s |failed(%|
|00001ee0| 64 29 5c 6e 22 2c 0a 58 | 09 09 09 09 73 2c 65 72 |d)\n",.X|....s,er|
|00001ef0| 72 6e 6f 29 3b 20 0a 58 | 09 09 09 73 66 6c 61 67 |rno); .X|...sflag|
|00001f00| 3d 30 3b 0a 58 09 09 20 | 20 20 20 7d 0a 58 09 09 |=0;.X.. | }.X..|
|00001f10| 7d 0a 58 09 09 69 66 20 | 28 73 66 6c 61 67 29 20 |}.X..if |(sflag) |
|00001f20| 7b 0a 58 09 09 20 20 20 | 20 69 66 20 28 20 28 6f |{.X.. | if ( (o|
|00001f30| 66 6c 61 67 29 20 26 26 | 20 28 67 66 6c 61 67 29 |flag) &&| (gflag)|
|00001f40| 20 29 20 7b 0a 58 09 09 | 09 69 66 20 28 63 68 6f | ) {.X..|.if (cho|
|00001f50| 77 6e 28 73 2c 56 6f 77 | 6e 65 72 2c 56 67 72 6f |wn(s,Vow|ner,Vgro|
|00001f60| 75 70 29 3d 3d 2d 31 29 | 0a 58 09 09 09 20 20 20 |up)==-1)|.X... |
|00001f70| 20 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c | fprintf|(stderr,|
|00001f80| 22 55 6e 61 62 6c 65 20 | 74 6f 20 63 68 6f 77 6e |"Unable |to chown|
|00001f90| 2f 67 72 70 20 25 73 5c | 6e 22 2c 0a 58 09 09 09 |/grp %s\|n",.X...|
|00001fa0| 09 20 20 20 20 73 29 3b | 0a 58 09 09 20 20 20 20 |. s);|.X.. |
|00001fb0| 7d 20 65 6c 73 65 20 69 | 66 20 28 6f 66 6c 61 67 |} else i|f (oflag|
|00001fc0| 29 20 7b 0a 58 09 09 09 | 69 66 20 28 63 68 6f 77 |) {.X...|if (chow|
|00001fd0| 6e 28 73 2c 56 6f 77 6e | 65 72 2c 4f 4c 44 67 72 |n(s,Vown|er,OLDgr|
|00001fe0| 6f 75 70 29 3d 3d 2d 31 | 29 0a 58 09 09 09 20 20 |oup)==-1|).X... |
|00001ff0| 20 20 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 | fprint|f(stderr|
|00002000| 2c 22 55 6e 61 62 6c 65 | 20 74 6f 20 63 68 6f 77 |,"Unable| to chow|
|00002010| 6e 20 25 73 5c 6e 22 2c | 0a 58 09 09 09 09 20 20 |n %s\n",|.X.... |
|00002020| 20 20 73 29 3b 0a 58 09 | 09 20 20 20 20 7d 20 65 | s);.X.|. } e|
|00002030| 6c 73 65 20 69 66 20 28 | 67 66 6c 61 67 29 0a 58 |lse if (|gflag).X|
|00002040| 09 09 09 69 66 20 28 63 | 68 6f 77 6e 28 73 2c 4f |...if (c|hown(s,O|
|00002050| 4c 44 6f 77 6e 65 72 2c | 56 67 72 6f 75 70 29 3d |LDowner,|Vgroup)=|
|00002060| 3d 2d 31 29 0a 58 09 09 | 09 20 20 20 20 66 70 72 |=-1).X..|. fpr|
|00002070| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 22 55 6e 61 |intf(std|err,"Una|
|00002080| 62 6c 65 20 74 6f 20 63 | 68 67 72 70 20 25 73 5c |ble to c|hgrp %s\|
|00002090| 6e 22 2c 0a 58 09 09 09 | 09 20 20 20 20 73 29 3b |n",.X...|. s);|
|000020a0| 0a 58 09 09 7d 0a 58 09 | 20 20 20 20 7d 20 65 6c |.X..}.X.| } el|
|000020b0| 73 65 20 0a 58 09 09 66 | 70 72 69 6e 74 66 28 73 |se .X..f|printf(s|
|000020c0| 74 64 65 72 72 2c 22 61 | 63 63 65 73 73 20 70 65 |tderr,"a|ccess pe|
|000020d0| 72 6d 69 73 73 69 6f 6e | 20 64 65 6e 69 65 64 20 |rmission| denied |
|000020e0| 6f 6e 20 66 69 6c 65 20 | 25 73 28 25 64 29 5c 6e |on file |%s(%d)\n|
|000020f0| 22 2c 0a 58 09 09 09 73 | 2c 65 72 72 6e 6f 29 3b |",.X...s|,errno);|
|00002100| 0a 58 09 7d 0a 58 20 20 | 20 20 66 72 65 65 28 66 |.X.}.X | free(f|
|00002110| 29 3b 0a 58 7d 0a 45 4e | 44 5f 4f 46 5f 46 49 4c |);.X}.EN|D_OF_FIL|
|00002120| 45 0a 69 66 20 74 65 73 | 74 20 34 31 34 33 20 2d |E.if tes|t 4143 -|
|00002130| 6e 65 20 60 77 63 20 2d | 63 20 3c 27 63 68 61 6c |ne `wc -|c <'chal|
|00002140| 6c 2e 63 27 60 3b 20 74 | 68 65 6e 0a 20 20 20 20 |l.c'`; t|hen. |
|00002150| 65 63 68 6f 20 73 68 61 | 72 3a 20 5c 22 27 63 68 |echo sha|r: \"'ch|
|00002160| 61 6c 6c 2e 63 27 5c 22 | 20 75 6e 70 61 63 6b 65 |all.c'\"| unpacke|
|00002170| 64 20 77 69 74 68 20 77 | 72 6f 6e 67 20 73 69 7a |d with w|rong siz|
|00002180| 65 21 0a 66 69 0a 23 20 | 65 6e 64 20 6f 66 20 27 |e!.fi.# |end of '|
|00002190| 63 68 61 6c 6c 2e 63 27 | 0a 66 69 0a 69 66 20 74 |chall.c'|.fi.if t|
|000021a0| 65 73 74 20 2d 66 20 27 | 63 68 61 6c 6c 2e 31 27 |est -f '|chall.1'|
|000021b0| 20 2d 61 20 22 24 7b 31 | 7d 22 20 21 3d 20 22 2d | -a "${1|}" != "-|
|000021c0| 63 22 20 3b 20 74 68 65 | 6e 20 0a 20 20 65 63 68 |c" ; the|n . ech|
|000021d0| 6f 20 73 68 61 72 3a 20 | 57 69 6c 6c 20 6e 6f 74 |o shar: |Will not|
|000021e0| 20 63 6c 6f 62 62 65 72 | 20 65 78 69 73 74 69 6e | clobber| existin|
|000021f0| 67 20 66 69 6c 65 20 5c | 22 27 63 68 61 6c 6c 2e |g file \|"'chall.|
|00002200| 31 27 5c 22 0a 65 6c 73 | 65 0a 65 63 68 6f 20 73 |1'\".els|e.echo s|
|00002210| 68 61 72 3a 20 45 78 74 | 72 61 63 74 69 6e 67 20 |har: Ext|racting |
|00002220| 5c 22 27 63 68 61 6c 6c | 2e 31 27 5c 22 20 5c 28 |\"'chall|.1'\" \(|
|00002230| 32 35 35 37 20 63 68 61 | 72 61 63 74 65 72 73 5c |2557 cha|racters\|
|00002240| 29 0a 73 65 64 20 22 73 | 2f 5e 58 2f 2f 22 20 3e |).sed "s|/^X//" >|
|00002250| 27 63 68 61 6c 6c 2e 31 | 27 20 3c 3c 27 45 4e 44 |'chall.1|' <<'END|
|00002260| 5f 4f 46 5f 46 49 4c 45 | 27 0a 58 2e 54 48 20 43 |_OF_FILE|'.X.TH C|
|00002270| 48 41 4c 4c 20 31 20 30 | 39 2f 32 36 2f 38 38 20 |HALL 1 0|9/26/88 |
|00002280| 22 41 50 54 20 54 65 63 | 68 6e 6f 6c 6f 67 79 2c |"APT Tec|hnology,|
|00002290| 20 49 6e 63 2e 22 0a 58 | 2e 53 48 20 4e 41 4d 45 | Inc.".X|.SH NAME|
|000022a0| 0a 58 63 68 61 6c 6c 20 | 5c 2d 20 61 20 72 65 70 |.Xchall |\- a rep|
|000022b0| 6c 61 63 65 6d 65 6e 74 | 20 66 6f 72 20 63 68 6d |lacement| for chm|
|000022c0| 6f 64 2c 20 63 68 67 72 | 70 2c 20 61 6e 64 20 63 |od, chgr|p, and c|
|000022d0| 68 6d 6f 64 0a 58 2e 53 | 48 20 53 59 4e 4f 50 53 |hmod.X.S|H SYNOPS|
|000022e0| 49 53 0a 58 2e 42 20 63 | 68 61 6c 6c 0a 58 5b 0a |IS.X.B c|hall.X[.|
|000022f0| 58 2e 42 20 5c 2d 6f 7c | 2d 75 20 5c 30 6f 77 6e |X.B \-o||-u \0own|
|00002300| 65 72 0a 58 5d 20 5b 0a | 58 2e 42 20 5c 2d 67 20 |er.X] [.|X.B \-g |
|00002310| 5c 30 67 72 6f 75 70 0a | 58 5d 20 5b 0a 58 2e 42 |\0group.|X] [.X.B|
|00002320| 20 5c 2d 6d 20 5c 30 6d | 6f 64 65 0a 58 5d 20 5b | \-m \0m|ode.X] [|
|00002330| 0a 58 2e 42 20 5c 2d 64 | 5c 30 64 69 72 65 63 74 |.X.B \-d|\0direct|
|00002340| 6f 72 79 0a 58 5d 20 5b | 0a 58 2e 42 20 5c 2d 78 |ory.X] [|.X.B \-x|
|00002350| 20 5c 30 63 68 61 6c 6c | 64 65 66 0a 58 5d 20 66 | \0chall|def.X] f|
|00002360| 69 6c 65 73 20 2e 2e 2e | 0a 58 2e 53 48 20 44 45 |iles ...|.X.SH DE|
|00002370| 53 43 52 49 50 54 49 4f | 4e 0a 58 2e 49 20 63 68 |SCRIPTIO|N.X.I ch|
|00002380| 61 6c 6c 0a 58 69 73 20 | 61 20 72 65 70 6c 61 63 |all.Xis |a replac|
|00002390| 65 6d 65 6e 74 20 66 6f | 72 20 74 68 65 20 69 6e |ement fo|r the in|
|000023a0| 64 69 76 69 64 75 61 6c | 20 63 6f 6d 6d 61 6e 64 |dividual| command|
|000023b0| 73 20 63 68 6d 6f 64 2c | 20 63 68 6f 77 6e 2c 20 |s chmod,| chown, |
|000023c0| 61 6e 64 20 63 68 67 72 | 70 2e 0a 58 2e 50 50 0a |and chgr|p..X.PP.|
|000023d0| 58 54 68 65 0a 58 2e 49 | 20 63 68 61 6c 6c 0a 58 |XThe.X.I| chall.X|
|000023e0| 70 72 6f 67 72 61 6d 20 | 68 61 73 20 74 68 65 20 |program |has the |
|000023f0| 66 6f 6c 6c 6f 77 69 6e | 67 20 66 69 76 65 20 6f |followin|g five o|
|00002400| 70 74 69 6f 6e 73 3a 0a | 58 2e 50 50 0a 58 2e 54 |ptions:.|X.PP.X.T|
|00002410| 50 0a 58 2e 42 20 5c 2d | 6f 7c 2d 75 20 6f 77 6e |P.X.B \-|o|-u own|
|00002420| 65 72 0a 58 53 70 65 63 | 69 66 69 65 73 20 74 68 |er.XSpec|ifies th|
|00002430| 65 20 6e 65 77 20 6f 77 | 6e 65 72 20 74 6f 20 62 |e new ow|ner to b|
|00002440| 65 20 61 70 70 6c 69 65 | 64 20 74 6f 20 74 68 65 |e applie|d to the|
|00002450| 20 6c 69 73 74 20 6f 66 | 20 66 69 6c 65 73 2e 0a | list of| files..|
|00002460| 58 49 66 20 6f 77 6e 65 | 72 20 69 73 20 6e 6f 74 |XIf owne|r is not|
|00002470| 20 61 20 6e 75 6d 62 65 | 72 20 28 75 69 64 29 2c | a numbe|r (uid),|
|00002480| 0a 58 2e 49 20 2f 65 74 | 63 2f 70 61 73 73 77 64 |.X.I /et|c/passwd|
|00002490| 0a 58 69 73 20 73 65 61 | 72 63 68 65 64 20 74 6f |.Xis sea|rched to|
|000024a0| 20 74 72 61 6e 73 6c 61 | 74 65 20 6f 77 6e 65 72 | transla|te owner|
|000024b0| 20 69 6e 74 6f 20 61 20 | 75 69 64 2e 0a 58 2e 49 | into a |uid..X.I|
|000024c0| 20 43 68 61 6c 6c 0a 58 | 61 6c 73 6f 20 61 6c 6c | Chall.X|also all|
|000024d0| 6f 77 73 20 74 68 65 20 | 75 73 65 72 20 74 6f 20 |ows the |user to |
|000024e0| 73 70 65 63 69 66 79 20 | 2d 75 20 69 6e 73 74 65 |specify |-u inste|
|000024f0| 61 64 20 6f 66 20 2d 6f | 20 69 66 20 74 68 65 20 |ad of -o| if the |
|00002500| 75 73 65 72 20 69 73 20 | 6d 6f 72 65 0a 58 63 6f |user is |more.Xco|
|00002510| 6d 66 6f 72 74 61 62 6c | 65 20 77 69 74 68 20 74 |mfortabl|e with t|
|00002520| 68 61 74 20 6e 6f 74 61 | 74 69 6f 6e 2e 0a 58 2e |hat nota|tion..X.|
|00002530| 54 50 0a 58 2e 42 20 5c | 2d 67 20 67 72 6f 75 70 |TP.X.B \|-g group|
|00002540| 0a 58 53 70 65 63 69 66 | 69 65 73 20 74 68 65 20 |.XSpecif|ies the |
|00002550| 6e 65 77 20 67 72 6f 75 | 70 20 74 6f 20 62 65 20 |new grou|p to be |
|00002560| 61 70 70 6c 69 65 64 20 | 74 6f 20 74 68 65 20 6c |applied |to the l|
|00002570| 69 73 74 20 6f 66 20 66 | 69 6c 65 73 2e 20 49 66 |ist of f|iles. If|
|00002580| 20 67 72 6f 75 70 0a 58 | 69 73 20 6e 6f 74 20 61 | group.X|is not a|
|00002590| 20 6e 75 6d 62 65 72 20 | 28 67 69 64 29 2c 20 0a | number |(gid), .|
|000025a0| 58 2e 49 20 2f 65 74 63 | 2f 67 72 6f 75 70 0a 58 |X.I /etc|/group.X|
|000025b0| 69 73 20 66 69 72 73 74 | 20 73 65 61 72 63 68 65 |is first| searche|
|000025c0| 64 20 74 6f 20 74 72 61 | 6e 73 6c 61 74 65 20 67 |d to tra|nslate g|
|000025d0| 72 6f 75 70 20 69 6e 74 | 6f 20 61 20 67 69 64 2e |roup int|o a gid.|
|000025e0| 20 20 49 66 20 74 68 61 | 74 20 66 61 69 6c 73 0a | If tha|t fails.|
|000025f0| 58 2e 49 20 2f 65 74 63 | 2f 70 61 73 73 77 64 0a |X.I /etc|/passwd.|
|00002600| 58 69 73 20 74 68 65 6e | 20 73 65 61 72 63 68 65 |Xis then| searche|
|00002610| 64 20 74 6f 20 74 72 61 | 6e 73 6c 61 74 65 20 67 |d to tra|nslate g|
|00002620| 72 6f 75 70 20 69 6e 74 | 6f 20 61 20 67 69 64 2e |roup int|o a gid.|
|00002630| 0a 58 2e 54 50 0a 58 2e | 42 20 5c 2d 6d 20 6d 6f |.X.TP.X.|B \-m mo|
|00002640| 64 65 0a 58 53 70 65 63 | 69 66 69 65 73 20 74 68 |de.XSpec|ifies th|
|00002650| 65 20 6e 65 77 20 6d 6f | 64 65 20 74 6f 20 62 65 |e new mo|de to be|
|00002660| 20 61 70 70 6c 69 65 64 | 20 74 6f 20 74 68 65 20 | applied| to the |
|00002670| 6c 69 73 74 20 6f 66 20 | 66 69 6c 65 73 2e 20 4e |list of |files. N|
|00002680| 6f 74 65 20 74 68 61 74 | 0a 58 74 68 65 20 2b 78 |ote that|.Xthe +x|
|00002690| 20 2d 78 20 2b 77 20 2d | 77 20 2b 72 20 2d 72 20 | -x +w -|w +r -r |
|000026a0| 6f 70 74 69 6f 6e 73 20 | 6f 66 20 73 6f 6d 65 20 |options |of some |
|000026b0| 63 68 6d 6f 64 73 20 69 | 73 20 6e 6f 74 20 73 75 |chmods i|s not su|
|000026c0| 70 70 6f 72 74 20 62 79 | 0a 58 2e 49 20 63 68 61 |pport by|.X.I cha|
|000026d0| 6c 6c 2e 0a 58 2e 54 50 | 0a 58 2e 42 20 5c 2d 64 |ll..X.TP|.X.B \-d|
|000026e0| 20 64 69 72 65 63 74 6f | 72 79 0a 58 2e 49 20 64 | directo|ry.X.I d|
|000026f0| 69 72 65 63 74 6f 72 79 | 0a 58 69 73 20 70 72 65 |irectory|.Xis pre|
|00002700| 70 65 6e 64 65 64 20 74 | 6f 20 61 6c 6c 20 66 69 |pended t|o all fi|
|00002710| 6c 65 20 6e 61 6d 65 73 | 20 69 6e 20 74 68 65 20 |le names| in the |
|00002720| 66 69 6c 65 20 6c 69 73 | 74 20 74 68 61 74 20 64 |file lis|t that d|
|00002730| 6f 20 6e 6f 74 20 62 65 | 67 69 6e 0a 58 77 69 74 |o not be|gin.Xwit|
|00002740| 68 0a 58 2e 49 20 5c 2f | 0a 58 28 72 6f 6f 74 29 |h.X.I \/|.X(root)|
|00002750| 2e 0a 58 2e 54 50 0a 58 | 2e 42 20 5c 2d 78 20 63 |..X.TP.X|.B \-x c|
|00002760| 68 61 6c 6c 64 65 66 0a | 58 2e 49 20 43 68 61 6c |halldef.|X.I Chal|
|00002770| 6c 0a 58 73 65 61 72 63 | 68 65 73 20 74 68 65 20 |l.Xsearc|hes the |
|00002780| 66 69 6c 65 0a 58 2e 49 | 20 24 48 4f 4d 45 2f 2e |file.X.I| $HOME/.|
|00002790| 63 68 61 6c 6c 0a 58 6c | 6f 6f 6b 69 6e 67 20 66 |chall.Xl|ooking f|
|000027a0| 6f 72 20 61 20 6c 69 6e | 65 20 77 68 69 63 68 20 |or a lin|e which |
|000027b0| 62 65 67 69 6e 73 20 77 | 69 74 68 20 63 68 61 6c |begins w|ith chal|
|000027c0| 6c 64 65 66 20 61 6e 64 | 20 75 73 65 73 20 74 68 |ldef and| uses th|
|000027d0| 65 20 65 6e 74 72 69 65 | 73 0a 58 69 6e 20 74 68 |e entrie|s.Xin th|
|000027e0| 65 20 72 65 73 74 20 6f | 66 20 74 68 65 20 6c 69 |e rest o|f the li|
|000027f0| 6e 65 20 61 73 20 74 68 | 65 20 6f 77 6e 65 72 2c |ne as th|e owner,|
|00002800| 20 67 72 6f 75 70 2c 20 | 61 6e 64 20 6d 6f 64 65 | group, |and mode|
|00002810| 20 74 6f 20 62 65 20 61 | 70 70 6c 69 65 64 0a 58 | to be a|pplied.X|
|00002820| 62 79 20 74 68 65 20 0a | 58 2e 49 20 43 68 61 6c |by the .|X.I Chal|
|00002830| 6c 0a 58 70 72 6f 67 72 | 61 6d 2e 20 20 4f 70 74 |l.Xprogr|am. Opt|
|00002840| 69 6f 6e 73 20 66 65 74 | 63 68 65 64 20 66 72 6f |ions fet|ched fro|
|00002850| 6d 20 74 68 65 0a 58 2e | 49 20 24 48 4f 4d 45 2f |m the.X.|I $HOME/|
|00002860| 2e 63 68 61 6c 6c 0a 58 | 66 69 6c 65 20 61 72 65 |.chall.X|file are|
|00002870| 20 6f 76 65 72 72 69 64 | 64 65 6e 20 62 79 20 65 | overrid|den by e|
|00002880| 78 70 6c 69 63 74 20 2d | 6f 2c 20 2d 75 2c 20 2d |xplict -|o, -u, -|
|00002890| 67 2c 20 6f 72 20 2d 6d | 20 6f 70 74 69 6f 6e 73 |g, or -m| options|
|000028a0| 20 69 6e 20 74 68 65 0a | 58 61 72 67 75 6d 65 6e | in the.|Xargumen|
|000028b0| 74 20 6c 69 6e 65 2e 0a | 58 2e 53 48 20 44 49 41 |t line..|X.SH DIA|
|000028c0| 47 4e 4f 53 54 49 43 53 | 0a 58 50 65 72 6d 69 73 |GNOSTICS|.XPermis|
|000028d0| 73 69 6f 6e 73 20 61 6e | 64 20 61 63 63 65 73 73 |sions an|d access|
|000028e0| 20 72 69 67 68 74 73 20 | 61 72 65 20 63 68 65 63 | rights |are chec|
|000028f0| 6b 65 64 20 61 74 20 65 | 76 65 72 79 20 6f 70 65 |ked at e|very ope|
|00002900| 72 61 74 69 6f 6e 2e 20 | 41 6e 79 0a 58 65 72 72 |ration. |Any.Xerr|
|00002910| 6f 72 73 20 77 69 6c 6c | 20 62 65 20 72 65 70 6f |ors will| be repo|
|00002920| 72 74 65 64 20 6f 6e 20 | 61 20 70 65 72 20 66 69 |rted on |a per fi|
|00002930| 6c 65 20 62 61 73 69 73 | 2e 0a 58 2e 49 20 43 68 |le basis|..X.I Ch|
|00002940| 61 6c 6c 0a 58 77 69 6c | 6c 20 6d 61 6b 65 20 61 |all.Xwil|l make a|
|00002950| 6c 6c 20 74 68 65 20 63 | 68 61 6e 67 65 73 20 70 |ll the c|hanges p|
|00002960| 6f 73 73 69 62 6c 65 20 | 73 6b 69 70 70 69 6e 67 |ossible |skipping|
|00002970| 20 6f 76 65 72 20 65 72 | 72 6f 72 73 20 77 68 65 | over er|rors whe|
|00002980| 6e 20 70 6f 73 73 69 62 | 6c 65 2e 0a 58 2e 53 48 |n possib|le..X.SH|
|00002990| 20 49 44 45 4e 54 49 46 | 49 43 41 54 49 4f 4e 0a | IDENTIF|ICATION.|
|000029a0| 58 41 75 74 68 6f 72 3a | 20 42 72 69 61 6e 20 4c |XAuthor:| Brian L|
|000029b0| 69 74 7a 69 6e 67 65 72 | 0a 58 2e 62 72 0a 58 41 |itzinger|.X.br.XA|
|000029c0| 50 54 20 54 65 63 68 6e | 6f 6c 6f 67 79 2c 20 49 |PT Techn|ology, I|
|000029d0| 6e 63 2e 2c 20 53 61 6e | 20 4a 6f 73 65 2c 20 43 |nc., San| Jose, C|
|000029e0| 41 20 39 35 30 33 30 0a | 58 2e 73 70 20 30 0a 58 |A 95030.|X.sp 0.X|
|000029f0| 2e 53 48 20 46 49 4c 45 | 53 0a 58 24 48 4f 4d 45 |.SH FILE|S.X$HOME|
|00002a00| 2f 2e 63 68 61 6c 6c 0a | 58 2e 53 48 20 45 4e 56 |/.chall.|X.SH ENV|
|00002a10| 49 52 4f 4d 45 4e 54 0a | 58 48 4f 4d 45 0a 58 2e |IROMENT.|XHOME.X.|
|00002a20| 53 48 20 53 45 45 20 41 | 4c 53 4f 0a 58 63 68 6d |SH SEE A|LSO.Xchm|
|00002a30| 6f 64 28 32 29 2c 20 63 | 68 6f 77 6e 28 32 29 2c |od(2), c|hown(2),|
|00002a40| 20 63 68 67 72 70 28 32 | 29 0a 58 2e 53 48 20 4e | chgrp(2|).X.SH N|
|00002a50| 4f 54 45 53 0a 58 54 68 | 65 0a 58 2e 49 20 24 48 |OTES.XTh|e.X.I $H|
|00002a60| 4f 4d 45 2f 2e 63 68 61 | 6c 6c 20 66 69 6c 65 20 |OME/.cha|ll file |
|00002a70| 69 73 20 75 73 65 73 20 | 74 68 65 20 66 6f 6c 6c |is uses |the foll|
|00002a80| 6f 77 69 6e 67 20 66 6f | 72 6d 2c 20 61 6e 64 20 |owing fo|rm, and |
|00002a90| 63 61 6e 20 62 65 0a 58 | 63 72 65 61 74 65 64 20 |can be.X|created |
|00002aa0| 77 69 74 68 20 61 6e 79 | 20 73 74 61 6e 64 61 72 |with any| standar|
|00002ab0| 64 20 74 65 78 74 20 65 | 64 69 74 6f 72 3a 0a 58 |d text e|ditor:.X|
|00002ac0| 2e 62 72 0a 58 2e 74 69 | 20 2b 30 2e 32 35 69 0a |.br.X.ti| +0.25i.|
|00002ad0| 58 63 68 61 6c 6c 64 65 | 66 3a 6f 77 6e 65 72 3a |Xchallde|f:owner:|
|00002ae0| 67 72 6f 75 70 3a 6d 6f | 64 65 0a 58 2e 62 72 0a |group:mo|de.X.br.|
|00002af0| 58 41 6e 20 65 78 61 6d | 70 6c 65 0a 58 2e 49 20 |XAn exam|ple.X.I |
|00002b00| 24 48 4f 4d 45 2f 2e 63 | 68 61 6c 6c 0a 58 66 69 |$HOME/.c|hall.Xfi|
|00002b10| 6c 65 20 6d 69 67 68 74 | 20 62 65 3a 0a 58 2e 62 |le might| be:.X.b|
|00002b20| 72 0a 58 2e 69 6e 20 2b | 30 2e 32 35 69 0a 58 2e |r.X.in +|0.25i.X.|
|00002b30| 6e 66 0a 58 72 6f 6f 74 | 3a 72 6f 6f 74 3a 73 79 |nf.Xroot|:root:sy|
|00002b40| 73 3a 37 35 35 0a 58 62 | 69 6e 3a 62 69 6e 3a 62 |s:755.Xb|in:bin:b|
|00002b50| 69 6e 3a 35 35 35 0a 58 | 72 6f 6f 74 75 73 65 72 |in:555.X|rootuser|
|00002b60| 3a 72 6f 6f 74 3a 3a 0a | 58 73 79 73 67 72 6f 75 |:root::.|Xsysgrou|
|00002b70| 70 3a 3a 73 79 73 3a 0a | 58 6d 65 3a 62 72 69 61 |p::sys:.|Xme:bria|
|00002b80| 6e 3a 3a 0a 58 2e 66 69 | 0a 58 2e 69 6e 20 2d 30 |n::.X.fi|.X.in -0|
|00002b90| 2e 32 35 69 0a 58 2e 53 | 48 20 42 55 47 53 0a 58 |.25i.X.S|H BUGS.X|
|00002ba0| 54 68 65 20 2b 78 20 2d | 78 20 2b 77 20 2d 77 20 |The +x -|x +w -w |
|00002bb0| 2b 72 20 2d 72 20 73 79 | 6e 74 61 78 20 6f 66 20 |+r -r sy|ntax of |
|00002bc0| 73 6f 6d 65 20 63 68 6d | 6f 64 20 63 6f 6d 6d 61 |some chm|od comma|
|00002bd0| 6e 64 73 20 69 6e 20 6e | 6f 74 20 73 75 70 70 6f |nds in n|ot suppo|
|00002be0| 72 74 65 64 0a 58 62 79 | 20 0a 58 2e 49 0a 58 63 |rted.Xby| .X.I.Xc|
|00002bf0| 68 61 6c 6c 2e 0a 58 2e | 62 72 0a 58 2e 49 20 63 |hall..X.|br.X.I c|
|00002c00| 68 61 6c 6c 0a 58 63 61 | 6e 6e 6f 74 20 62 65 20 |hall.Xca|nnot be |
|00002c10| 61 70 70 6c 69 65 64 20 | 74 6f 20 74 68 65 20 65 |applied |to the e|
|00002c20| 78 65 63 75 74 69 6e 67 | 20 69 6d 61 67 65 20 6f |xecuting| image o|
|00002c30| 66 20 69 74 73 65 6c 66 | 20 61 73 20 69 74 20 77 |f itself| as it w|
|00002c40| 69 6c 6c 20 67 65 74 0a | 58 61 20 74 65 78 74 20 |ill get.|Xa text |
|00002c50| 66 69 6c 65 20 62 75 73 | 79 20 65 72 72 6f 72 20 |file bus|y error |
|00002c60| 28 45 54 58 54 42 53 59 | 29 20 66 72 6f 6d 20 74 |(ETXTBSY|) from t|
|00002c70| 68 65 20 6f 70 65 72 61 | 74 69 6e 67 20 73 79 73 |he opera|ting sys|
|00002c80| 74 65 6d 2e 0a 58 2e 62 | 72 0a 58 57 68 65 6e 20 |tem..X.b|r.XWhen |
|00002c90| 75 73 69 6e 67 20 74 68 | 65 20 2d 64 20 6f 70 74 |using th|e -d opt|
|00002ca0| 69 6f 6e 20 72 65 73 75 | 6c 74 61 6e 74 20 66 69 |ion resu|ltant fi|
|00002cb0| 6c 65 20 6e 61 6d 65 73 | 20 6d 75 73 74 20 6e 6f |le names| must no|
|00002cc0| 74 20 65 78 63 65 65 64 | 20 32 35 35 0a 58 63 68 |t exceed| 255.Xch|
|00002cd0| 61 72 61 63 74 65 72 73 | 2e 0a 45 4e 44 5f 4f 46 |aracters|..END_OF|
|00002ce0| 5f 46 49 4c 45 0a 69 66 | 20 74 65 73 74 20 32 35 |_FILE.if| test 25|
|00002cf0| 35 37 20 2d 6e 65 20 60 | 77 63 20 2d 63 20 3c 27 |57 -ne `|wc -c <'|
|00002d00| 63 68 61 6c 6c 2e 31 27 | 60 3b 20 74 68 65 6e 0a |chall.1'|`; then.|
|00002d10| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|00002d20| 22 27 63 68 61 6c 6c 2e | 31 27 5c 22 20 75 6e 70 |"'chall.|1'\" unp|
|00002d30| 61 63 6b 65 64 20 77 69 | 74 68 20 77 72 6f 6e 67 |acked wi|th wrong|
|00002d40| 20 73 69 7a 65 21 0a 66 | 69 0a 23 20 65 6e 64 20 | size!.f|i.# end |
|00002d50| 6f 66 20 27 63 68 61 6c | 6c 2e 31 27 0a 66 69 0a |of 'chal|l.1'.fi.|
|00002d60| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 6e 64 20 6f |echo sha|r: End o|
|00002d70| 66 20 73 68 65 6c 6c 20 | 61 72 63 68 69 76 65 2e |f shell |archive.|
|00002d80| 0a 65 78 69 74 20 30 0a | 0a |.exit 0.|. |
+--------+-------------------------+-------------------------+--------+--------+