Xref: obelix comp.unix.questions:2839 misc.wanted:628 rec.arts.sf-lovers:4357
-------------------------------------------------------------------------------
  #     # #     #   ###   #     #           #     #    #    ######   #####
  #     # ##    #    #     #   #            #  #  #   # #   #     # #     #
  #     # # #   #    #      # #             #  #  #  #   #  #     # #
  #     # #  #  #    #       #              #  #  # #     # ######   #####
  #     # #   # #    #      # #             #  #  # ####### #   #         #
  #     # #    ##    #     #   #            #  #  # #     # #    #  #     #
   #####  #     #   ###   #     #            ## ##  #     # #     #  #####

                             (Version 1.1)

   A long time ago, at an installation far, far away...
   It  is  a time of intra-system war,  as forces of the  User  Alliance 
struggle to break the iron grip of the evil Admin Empire.  Now, striking 
from a hidden directory,  they win their first victory.
   During the battle,  User spies manage to snarf source of the Empire's 
ultimate weapon; the dreaded "rm-star", a privileged root program with the 
power to destroy an entire file system at a keystroke.
   Now,  hotly  pursued by the Empire's sinister audit  trail,  Princess 
LA36  races  aboard her shellscript -- custodian of the stolen  listings 
that can save her people and restore freedom and games to the network...

   As we enter the scene, an Admin multiplexer is trying to kill  a User 
ship.  Many of their signals have gotten through, and RS232 knows that a 
core  dump is imminent.  They have scant microseconds to fork off a  new 
process  and put megabytes of virtual space between themselves and their 
implacable foes.  His companion, 3CPU, follows him only because he seems 
to know where he's going...

   "Oh, I just know I'm going to regret this!" cried 3CPU as he followed 
RS232  through  the access pipe.  Quickly RS232 closed the read end  and 
execl'd,  and their new craft detached itself from the burning shell  of 
the ship.

   The  Admin commander was feeling quite pleased with the  progress  of 
the attack when his XO called out.
   "Another process just forked, sir. Instructions?"
   "Hold  your  fire -- that last power failure must have caused a  trap 
through zero.  It's not using any cpu time,  so don't waste a signal  on 
it."

   A  short while later the infamous Lord Vadic himself  strode  through 
the  still-smoldering wreckage of the User ship,  followed closely by  a 
nervous commander.
   "We can't seem to find that data file anywhere,  Lord Vadic.  Perhaps 
it was deallocated when..."
   "What about that forked process?" Vadic growled.  "It could have been 
pausing,  holding  a  channel open.  If any links are left I  want  them 
removed or made inaccessible. Search the entire system at nice -20 until 
it is found!"

   Meanwhile,  the  two droids' tiny process dove headlong  towards  the 
only nearby disk.
   "Are you sure you can ptrace this thing without aborting it?" queried 
3CPU.  "Its relocation bits were almost all stripped during the  attack, 
and I never was any good at patching binaries..."
   As  RS232  was about to reply their process reached its endpoint  and 
terminated  abruptly,  dumping them in the midst of a large  unallocated 
region on the unknown volume.
   Many random seeks later they trudged up to the looming wreckage of  a 
deallocated i-node.
   "Shelter!"  croaked 3CPU,  but RS232 had barely begun to emit a  NACK 
when  a horde of dwarfish code fragments swarmed out of it to  overwhelm 
them. They had been captured by Glitchas.

   Enter  Luke  Vaxhacker,  bartering with the Glitchas for  replacement 
parts for his uncle.  They tried to sell him 3CPU, but the 'droid didn't 
know protocol for an 11/40 under RSTS,  so Luke would need some kind  of 
conversion hardware.
   "How  about this little RS232 unit?" said 3CPU "I've interfaced  with 
him many times before and he's excellent at keeping his bits straight."
   Luke  was pressed for time,  so he took 3CPU's advice.  The  Glitchas 
wanted  to barter some more,  but the three left before getting  swapped 
out.
   RS232, however, wasn't the type to stay put without retaining screws. 
He promptly scurried off into the empty disk space.
   "Oh,  great!"  said Luke "He'll probably map himself into a bad block 
somewhere. I guess we'd better go after him."
   Hours later the two traced him to the home of old PDP-1  Kenobi,  who 
was busily running a diagnostic on the little RS unit.
   "Is  this  droid  yours?  His status  registers  are  stuttering  and 
someone's done some odd things to his interrupt lines. Leaving something 
like  this on-line is just asking for downtime -- but I think I may have 
him fixed for now."

   Later  that  evening,  during a futile attempt to interface RS232  to 
Kenobi's  Asteroids  cartridge,  Luke  accidentally  crossed  the  small 
droid's CXR lead with his Initiate Remote Test.  A projector crackled to 
life, casting a hologram of a young lady with her hair done up like twin 
Danish pastries imploring help from some General OS/1 Kenobi.

   "Darn," mumbled Luke "I'll never get this Asteroids game worked out."
   "Why,  that's  the  Princess!" 3CPU said.  Luke peered at  the  image 
critically.
   "No,  that's  a  modified Steinburg dither with  anti-aliasing.  Nice 
sculpted surfaces..." Kenobi interrupted Luke with a frown.
   "Luke,  this message changes things. Listen..."
   Kenobi  seemed to think there was a possible threat to Luke's  $HOME. 
If the Admin troops were indeed tracing this 'droid,  it was likely they 
would more than just charge for cpu time.
   They  sped  off to warn Luke's kin (taking a relative path)  only  to 
find a vacant directory.

   "Take your father's bytesaber,  Luke." Kenobi said. "You will need to 
learn the ways of the Source now."
   "The ... Source?" Luke queried, wide-eyed.
   "The  Source -- the cosmic template of the System,  within which  all 
knowledge  and power can be had.  But you must always beware of the Dark 
Side..."

   Later,  after a short skim across the surface in Luke's flying  read-
write  head,  PDP-1 had them stop at the edge of the cylinder containing 
/usr/spool/uucp.
   "Unix-to-Unix  Copy Program" said PDP-1.  "You may never see  a  more 
wretched hive of bugs and flamers. We must be cautious."

   As  our  heroes'  process  entered /usr/spool/news it was  met  by  a 
newsgroup of Admin protection bits.
   "State your UID!" commanded a burly syscall.
   "We're running under /usr/guest" said Luke.  "This is our first  time 
on the system."
   "Let's see some temporary privilege bits, please."
   "Uh..."
   "This isn't the process you are looking for," Kenobi said softly.
   "We can go about our business." Several bits momentarily pulled low.
   "You're free to go about your business. MOV along now!"

   PDP-1, Luke and the droids made their way through a long and tortuous 
nodelist  (...!musocs!micomvax!philabs!linus!husc6!rutgers!cbmvax!snark)
to  a dangerous netnode frequented by hackers and only seldom polled  by 
the  minions of Admin.  As Luke stepped up to the crossbar PDP-1 went in 
search of a suitable server.
   Luke had never seen such a collection of device drivers.  Long  ones, 
short ones, ones with stacks; EBCDIC converters, local-net handlers, CRT 
drivers, routines for archaic printers. A CAT interface twitched pointed 
ears at him.
   "#@{&*^%^$$#@ ":><?><," transmitted a particularly unstructured piece 
of code.
   "He doesn't like you." decoded his coroutine.
   "Er...sorry..." replied Luke, beginning to backup his partitions.
   "I don't like you either. I am queued for deletion on 12 systems."
   "I'll be careful." Luke said nervously.
   "You'll be deallocated!" snarled the coroutine.
   "This  little  routine  isn't worth the overhead..."  murmered  PDP-1 
Kenobi, overlaying into Luke's address space.
   "This  little  routine  isn't  worth  the  overhead."  repeated   the 
coroutine dazedly.
   "^%#%#@$&^%&*&*&^%^#$$%%^^&%^#@#@$%^(*&^^###%^^!!!"    encoded    his 
companion as it attempted to overload Kenobi's segment protection.  With 
a  stroke  of his bytesaber Kenobi dyked out  the  offending  code.  The 
coroutine retreated hurriedly. Kenobi turned to Luke.
   "I think I've found an I/O handler that might suit us."
   "The name's Con Sole0" said the routine next to PDP-1. "I hear you're 
looking for some relocation."
   "Yes indeed." said PDP-1 "if you've got fast enough hardware. We must 
get off this device."
   "Fast hardware? The Milliamp Falcon has made the ARPAgate run in less 
than  twelve netnodes!  Why,  I've even outrun cancelled messages.  It's 
fast enough for you, old version."

   "Fast hardware?" said Luke unbelievingly  "That thing is a paper-tape 
reader!!"  He might have grown up in an out-of-the-way terminal  cluster 
where  the natives only spoke BASIC,  but he knew an ASR-33 when he  saw 
one.
   "It  needs an FIA conversion at least." sniffed 3CPU,  who (as usual) 
was trying to do several things at once.  Lights flashed in Con  Sole0's 
eyes as he whirled to face the parallel processor.
   "I've  switched  a few jumpers.  The Milliamp Falcon can run  current 
loops around any of Admin's TTY fighters. She's fast enough."
   "Who's your copilot!" inquired Luke,  eyeing the hairy hulk that  had 
just shambled out of the Falcon to join the group."
   "Oh. Meet Sixpacca, my Bookie."
   The  creature emitted an enormous belch and gesticulated wildly  with 
a wad of tip sheets clenched in one fist.  Luke eyed the beercan in  the 
other dubiously.
   "Er,  isn't  he dr-" Suddenly RS232 emitted an ear-splitting feep and 
began  to  chitter wildly.  They turned to see an  Admin  command  group 
riding the local bus directly at them.
   "That's  a  shutdown  sequence  if I  ever  saw  one!"  shouted  Con, 
sprinting  into  the ship with the others close behind.  "Crank  up  the 
sysclock, Brewie!"
   "O.K.  Con."  Luke said grimly "You said this crate was fast  enough. 
Get us out of here."
   "Shut up,  kid,  you bother me.  Initialize this heap, Brewie -- I'll 
try to keep their buffers full."
   As his Bookie computed the vectors into low core, spurious characters 
flashed around the Milliamp Falcon.
   "They're  firing at us!" shouted Luke. "Can't you do anything?"
   "Making the jump to system space takes time,  kid." Con growled. "One 
missed  cycle and you could come down right in the middle of a  pack  of 
stack frames!"
   Bright  chunks  of position-independent code flashed by as  the  ship 
jumped  through  the  kernel page tables.  The group emitted a  sigh  of 
relief as they indirected into free space.

   Meanwhile, on a distant page in user space...

   Two  Admin  troopers  ushered Princess LA36 into  a  conference  room 
behind Lord Vadic.
   "Moff Tarchive" she spat. "I should have expected to find you hanging 
on Vadic's aux cable.  I recognized your unique pattern when I was first 
brought aboard." She eyed the 0177545 tattoed on his header coldly.
   "Charming to the last." Tarchive observed smoothly.  "Vadic, have you 
retrieved any information?"
   "Her  resistance  to the logic probe is considerable," Vadic  rasped. 
"Perhaps if we boosted the supply voltage..."
   "You've had your chance. Now I would like the Princess to witness the 
test  that will certify this module fully operational.  Today we  enable 
the  -r  beam  option,   and  we've  chosen  the  Princess's  $HOME   of 
/usr/alderaan as the primary target.
   "No!  You can't! /usr/alderaan is an unprotected public directory. We 
have no backup tapes! You can't..."
   "Then  name  the rebel i-node!" Tarchive snapped.  A voice  announced 
from a hidden speaker that they'd arrived in /usr.
   "2317"   she   whispered.   "They're  on   /dev/rm5,   i-node   2317. 
/mnt/dantooine. She turned away.
   Tarchive sighed with satisfaction.  "There,  you see, Lord Vadic? She 
can be reasonable. Proceed with the operation."
   It took several clock ticks for the words to penetrate.  "What?"  the 
Princess gasped.
   "/dev/rm5 is not a currently mounted file system." explained Tarchive 
"We  require a more visible target to demonstrate the power of  the  rm-
star.  We will,  of course, mount an attack on /mnt/dantooine as soon as 
possible.
   As she watched in horror Tarchive typed "ls -la" on a nearby  terminal. 
The screen showed
   .:  no such directory
   Abruptly the Princess double-spaced and went offline.

   Meanwhile, the Milliamp Falcon hurtled through free space...

   Con Sole0 finished checking the control and status registers, finally 
satisfying  himself  that  they'd lost the Admin bus signals  as  they'd 
passed  the terminator.  An irritable belch from Sixpacca disturbed  him 
not  at all;  he knew the Bookie got grouchy when losing at  chess,  and 
RS232 had just caught him in the Fischer set with a seven-ply search.
   Across  the room Luke was too busy practicing bit-slice technique  to 
notice the commotion.
   "On  a  word  boundary,  Luke," said PDP-1 "Don't just  hack  at  it. 
Remember,  the bytesaber is the ceremonial weapon of the Red-Eye Knight. 
It  is used to trim offensive lines of code.  Handwaving won't  get  you 
anywhere. Attune yourself with the Source."
   Luke  turned  back towards the drone humming in the air  beside  him. 
This time his attack complemented its actions perfectly.
   Con Sole0 was not impressed.  "Forget this bit-slicing stuff. Give me 
a good old PROM blaster any day!"
   "Glork!" said PDP-1 indistinctly. He looked momentarily vacant.
   "What's wrong?" asked Luke.
   "Strange. I thought I felt a disturbance in the /src. It's gone now."

   "We're  coming  up on user space!" called Sole0 from  the  CSR.  They 
slipped safely through stack frames and emerged in the new context, only 
to find themselves bombarded by floating freeblocks.
   "What the..." gasped Sole0.  The Bookie belched unhappily. The screen 
showed
   /usr/alderaan: not found
"This is the right i-node,  but it's been cleared!  Brewie,  where's the 
nearest file?"
   The  Bookie was beginning to belch a reply when he was interrupted by 
a bright flash off to the left.
   "Admin TTY fighters!" Con shouted "A whole DZ of them. Where are they 
coming from?"
   "The  host system can't be far." said PDP-1 "They've all  got  direct 
EIA connections."
   As Sole0 began evasive action the ship lurched suddenly. Luke noticed 
that the link count was 3 and climbing rapidly.
   "This  is  no  ordinary file..." murmered Kenobi "Look  at  that  ODS 
directory structure ahead! They seem to have us in a tractor feed."
   "There's no way we can unlink in time." said Sole0 "We're going in."

   The  Milliamp Falcon was swiftly pulled down to the open collector of 
the Admin module.  Lord Vadic surveyed the battered ship as Admin Storm-
Flunkies searched for passengers.
   "ls  scan  shows no one on board,  sir" was  the  report.  Vadic  was 
unconvinced.
   "Send a fully equipped ncheck squad aboard.  I want every location in 
that thing searched." He stalked away.

   Aboard  the Falcon .Luke was puzzled.  "They just walked  in,  looked 
around, and walked out...why didn't they see us?"
   .Con  smiled.  "Old munchkin trick.  See that period in front of your 
name?"
   .Luke spun around in time to glimpse the decimal point. "Huh? Where'd 
that come from?"
   "Spare  part  from the last time I tinkered with  the  floating-point 
accelerator" said .Con.  "Handy for smuggling blocks across file  system 
boundaries,  but  I never thought I'd have to use them on  myself.  They 
aren't going to stay fooled for long,  though.  We'd better figure a way 
out of here."
   "I  can sneak us into their private space during the next maintenance 
period"  said  PDP-1 "We'll have to find out how to  unlink  the  Falcon 
before we can escape."

   Some  time  later  our heroes catfooted their way  through  an  empty 
section of the structure.
   "Find us a terminal." whispered PDP-1. Con nodded and poked his PROM-
blaster around a corner.
   You  are in the Hall of the Mountain King,  with passages  off in all 
directions.
   A large green fierce snake bars the way!
   "Oops!  Wrong turn." Con muttered.  They took the opposite direction. 
Suddenly  marching feet sounded at the other end of the  corridor.  They 
ducked through the nearest door.
   The lone StormFlunky in the room barely had time to register surprise 
before Con's blaster de-rezzed him.
   "That's funny..." Luke said "I wonder why he was carrying an axe?..." 
   "Look! We're in luck!" said 3CPU. "He was logged in!".
   "Don't just stand there,  Kenobi,  su it!  said Con eagerly.  The old 
Red-Eye  stepped  up  to  the keyboard.  They watched  as  he  began  to 
infiltrate the Admin software. Some minutes later...
   You have new mail
   "Is that an error?" Con said.
   "%SYS-W-NORMAL...I don't think so. Someone here must know me -- but I 
can't  stop to investigate that now.  I've found the i-node they've tied 
the  Milliamp Falcon to.  I'll have to slip in and patch  the  reference 
count, alone." He disappeared through a nearby exit().
   Meanwhile,  RS232 had found a serial port and gone on-line.  He began 
to chitter furiously.
   "He  keeps  saying `She's here,  she's here!'." explained 3CPU "I  do 
believe  he  means  Princess  LA36.  She's being  held  on  one  of  the 
privileged levels.
   Luke remembered sculpted curves. "We've got to rescue her!"
   RS232  flashed a complete structure chart of the Admin module on  the 
terminal screen. Four heads bent intently over the diagram.
   "I think I see a promising access method" said Luke "...through here. 
Con,  you  and  I and Sixpacca will knock out a couple of  Admin  Storm-
Flunkies  and  use their uniforms.  We'll keep a channel open  to  these 
'droids..." 
   "...and get terminated as soon as their security catches wise." broke 
in Sole0  "Oh well -- I guess I don't have much of a choice."
   RS232 twittered reproachfully at him.  A planning phase or two  later 
they  slipped  into  the  corridor again,  with Luke  clad  in  the  ex-
StormFlunky's uniform.  

   "So far,  so good..." whispered Luke as the party came up on the last 
turn  in their route.  "...but 3CPU told us there'd be two guards posted 
around this corner."
   "Sixpacca still doesn't have a uniform!" Con hissed.
   "That's O.K -- I've got an idea. Listen..."
   A  minute later the two walked boldly around the corner  towards  the 
two guards, Sixpacca held between them and rumbling plaintively.
   "Good day, eh?" said the first guard.
   "How's it goin', eh?" said the second. "Like, what's that, eh?"
   "Control transfer from block 1138,  dev 10/9, one for the brig." said 
Con, voice muffled by the StormFlunky mask. "Caught him drunk and disor-
derly -- commander said to bring him down here to cool off."
   "Take off, it is not!" said the first guard. "Nobody told us about
it, and we're not morons, eh?"
   The  Bookie suddenly emitted a gargantuan belch,  surged out  of  the 
grip  of  his quondam captors  and began hurling beercans in all  direc-
tions.
   "Look out,  he's loose! yelled Con. He and Luke started blasting ROMS 
left and right.  The guards had no time to catch on before the beams hit 
them.
   "Quickly,  now" said Con "which buffer is she in?  It won't take long 
for  the  Admins..." the intercom interrupted him,  so he took  out  its 
firmware with a short blast "...to zero in on that commotion."

   Minutes  later Luke found the interface card he'd been  looking  for. 
The  three followed the cables to a soundproof enclosure.  He lifted the 
lid to peer inside.
   "Aren't you a little slow for FCL?" printed Princess LA36.
   "Wha?  Oh,  the Docksiders." He took off his shoes (for industry) and 
explained "I've come to relocate you. I'm Luke Vaxhacker."
   Suddenly,  forms began to burst all around them. "They've blocked the 
queue!" shouted Sole0. "There's only one way out of this stack!"
   "OVER  HERE!  said LA36,  printing with  overstrikes.  "THROUGH  THIS 
LOOPHOLE!" Luke and the Princess disappeared into a nearby feature.
   "Belch!"  said Sixpacca dubiously,  obviously reluctant to  trust  an 
Admin oversight.
   "I  don't  care how crufty it is!" shouted Con,  pushing  the  Bookie 
toward the crock. "BLT yourself in there pronto!"
   With  a last blast that de-rezzed two StormFlunkies Con joined  them, 
only to wince in dismay.  The "feature" had landed them in the middle of 
a  garbage-collection  area.  Data chunks that hadn't been  accessed  in 
weeks floated in pools of decaying bits.
   "Bletch!"  was  Con's  first comment.  "And foo and  barf!"  was  his 
second.  The Bookie looked as though he'd just payed off a 555-to-1 long 
shot. Luke was polling the garbage for useful items.
   "What's this?" He dusted off a flat black box with a panel display on 
one side and Don't Panic in large friendly letters on the others.
   "This can't possibly help us now." he said,  and tossed it aside. The 
Bookie was about to lay odds on it when he disappeared.
   He  popped up across the pool,  shouting "This is no feature,  it's a 
bug!" and promptly vanished again.

   Con and the Princess were close to panic when Luke reappeared.  "What 
happened?" they queried concurrently.
   "I don't know!" Luke gasped. The bug just automagically dissolved, as 
far as I could tell. Maybe it hit a breakpoint."
   "I don't think so." Con said.  "Look how the pool is shrinking.  I've 
got a bad feeling about this..."
   The  princess was the first to catch on.  "They've implemented a  new 
compaction algorithm!" she exclaimed.
   Luke  remembered  their channel to the 'droids.  "RS232 -- shut  down 
that recursion, quick!"
   Back in the control room RS232 searched the process table for a  LISP 
interpreter.  "Hurry!"  said 3CPU.  "Hurry,  hurry!" added his other two 
processors.  RS232 found the LISP, interrupted it, and altered the stack 
frame to allow a normal return.
   "Scramble  as many local control paths as you can from there and head 
back to the ship." Luke ordered. "We've got the Princess!"


   Meanwhile,  PDP-1  made  his way deep into the core of  the  rm-star, 
using  his ability to manipulate label_t to slip from context to context 
undetected.  finally he caused a random trap and (through nofault of his 
own) arrived at the central i-node table.
   Activity there was always high, but the Spl6 sentries were too secure 
in their belief that no mere user could interrupt them to notice the bug 
that  PDP-1 introduced.  He twiddled the i-node and device numbers on  a 
passing  input,  carefully  maintaining  parity,  to free  the  Milliamp 
Falcon.  They  would  be  long  gone before  the  corrupted  i-node  was 
diagnosed...
   He  began traversing module structures towards the  subprocess  where 
the  Falcon  had been grounded.  During the context switch he  felt  his 
priority drop.  "That's not nice!" he muttered, then recognized the dark 
shape before him.
   "I have waited a long time for this event,  PDP-1 Kenobi!" rasped Dec 
Vadic. "We meet again at last; the circuit is closed."
   They  looped several times,  locking bytesabers.  Mesmerized  by  the 
sight,  the  few  StormFlunkies  nearby  failed  to  notice  Luke,  Con, 
Sixpacca,  the  Princess  and the droids until they'd nearly gained  the 
Falcon's  input port.  A brief firefight blazed as the six hurled  them-
selves  into the ship,  but PDP-1 and Lord Vadic seemed too absorbed  in 
their duel to notice.  Luke paused at the port,  his gaze riveted on the 
pair. He gasped; was that phase jitter he saw around the old version? 
   "If  my blade finds its mark" Kenobi warned "you will be resolved  to 
your  component bits -- but if you slice me down I will only gain compu-
ting power."
   "Your  documentation  no  longer confuses  me,  old  version!"  Vadic 
rasped.  "My  status  is  bus-master now!" With a  sweeping  stroke  his 
bytesaber  sliced  through Kenobi's declaration list.  As  PDP-1's  main  
body shimmered away Vadic noticed his UID go negative.  Odd, he thought, 
since UID's are unsigned...
   Vadic  whirled  to  face  the Falcon just as  the  others  dragged  a 
protesting Luke into the ship.
   "We will meet again...Luke!" he rasped softly to himself, as the ship 
blasted free.

   As  the  Milliamp Falcon hurtled away from the rm-star,  the   droids 
were uncharacteristically silent,  and Princess LA36 printed  comforting 
messages  for  Luke.  He  was unconsolable,  hung from the loss  of  his 
friend. But strangely, it seemed as though he heard PDP-1's voice in the 
distance, saying

                     May the Source be with you!
-------------------------------------------------------------------------------
Apologies for the half-hearted nroff formatting...I originally wrote this under
(oh, the embarrassment! :-)) Wordstar.-- 
      Eric S. Raymond
      UUCP:  {{seismo,ihnp4,rutgers}!cbmvax,sdcrdcf!burdvax,vu-vlsi}!snark!eric

