#!/usr/athena/bin/perl open(ALREADY, ">/afs/sipb/project/java/userhack/lists/already-in"); open(UIDUSED, ">/afs/sipb/project/java/userhack/lists/uid-already-used"); open(ADDTHEM, ">/afs/sipb/project/java/userhack/lists/should-add"); open(WEIRDNESS, ">/afs/sipb/project/java/userhack/lists/weirdos"); while (<>) { $username = $_; chop($username); $uid = `hesinfo $username passwd`; chop($uid); $uid =~ /^[^:]*:[^:]*:([^:]*):.*/; $uid = $1; $ptsent = `pts exa $uid -c sipb 2> /dev/null`; if ($ptsent eq "") { # uid not in use # let's make sure they're not already there with the wrong uid $ptsent = `pts exa $username -c sipb 2> /dev/null`; if ($ptsent ne "") { # ooo, wrong uid. Somebody should look at this. print WEIRDNESS ($username . "\n"); } else { # base case. This is a person we want to add to the SIPB cell # for 6.837 this term (fall 1996) &addthem($username, $uid); } } else { $ptsent =~ /^Name: ([^,]+), id:/; $ptsent = $1; if ($username ne $ptsent) { # someone else is using this UID. A human should deal. print UIDUSED ($username . " " . $uid . "\n"); } else { # this person already exists. No problem. Need do nothing. print ALREADY ($username . "\n"); } } } sub addthem { local($username, $uid) = @_; print ADDTHEM ($username . " " . $uid . "\n"); system("pts createuser -name $username -id $uid -c sipb"); }