5 tripwd - Passordrutiner
9 S<$Id: tripwd.pm,v 1.4 1999/06/30 11:42:17 sunny Exp $>
17 Inneholder diverse passordrutiner.
21 (C)opyright 1999 Øyvind A. Holm E<lt>F<sunny@tritech.no>E<gt>
23 Denne modulen er eiendom tilhørende Øyvind A. Holm. Dispensasjon for bruk
24 er gitt til Tritech A/S E<lt>F<http://www.tritech.no>E<gt> inntil videre.
30 ###########################################################################
32 ###########################################################################
34 my $rcs_date = '$Date: 1999/06/30 11:42:17 $';
35 my $rcs_header = '$Header: /home/sunny/tmp/cvs/perllib/tripwd.pm,v 1.4 1999/06/30 11:42:17 sunny Exp $';
36 my $rcs_id = '$Id: tripwd.pm,v 1.4 1999/06/30 11:42:17 sunny Exp $';
43 $EXIT_CORRECT_PWD = 2364; # FIXME: Funker det sånn? Tror det bør være tilfeldige verdier med i bildet her.
44 $EXIT_WRONG_PWD = 6452;
45 $EXIT_UNKNOWN_USER = 3623;
47 ###########################################################################
49 ###########################################################################
57 Sjekker at brukerpassordet i /etc/passwd er rett.
59 Tar to parametere: brukernavn og passord. Returnerer disse verdiene:
63 =item I<$EXIT_CORRECT_PWD>
67 =item I<$EXIT_WRONG_PWD>
71 =item I<$EXIT_UNKNOWN_USER>
77 FIXME: Lurer litt på disse returverdiene. Er det ikke bedre hvis den
78 returnerer 0 hvis passordet er rett? Kanskje en F<&wrong_password()> hadde
79 vært på sin plass. Sånn som det er nå, er returverdiene rimelig
80 tilfeldige. Jaja. Vi bruker denne foreløpig. Den funker.
82 Mulig det skal defineres et parameter seinere som bestemmer hvordan
83 passordet skal sjekkes.
88 my ($user_name, $user_password) = @_;
89 print("debug i correct_pwd(): user_name = \"$user_name\", user_password = \"$user_password\"\n") if ${main
::Debug
};
90 if (length getpwnam($user_name)) {
91 my $Pwd = (getpwnam($user_name))[1];
92 my $Salt = substr($Pwd, 0, 2);
93 $RetVal = (crypt($user_password, $Salt) eq $Pwd) ?
$EXIT_CORRECT_PWD : $EXIT_WRONG_PWD;
95 $RetVal = $EXIT_UNKNOWN_USER;
97 print("debug: Går ut av &correct_pwd(), \$RetVal = \"$RetVal\"\n") if ${main
::Debug
};
103 Rimelig spinkel foreløpig. Det kommer seg vel.
109 #### End of file $Id: tripwd.pm,v 1.4 1999/06/30 11:42:17 sunny Exp $ ####