Upgrade yt-dlp from version stable@2024.10.07 to stable@2024.12.13
[sunny256-utils.git] / Lib / perllib / tripwd.pm
blob981d38d9e00ea50df9558af77a56082dbfdb91bf
1 package tripwd;
3 =head1 NAME
5 tripwd - Passordrutiner
7 =head1 REVISION
9 S<$Id: tripwd.pm,v 1.4 1999/06/30 11:42:17 sunny Exp $>
11 =head1 SYNOPSIS
13 require tripwd;
15 =head1 DESCRIPTION
17 Inneholder diverse passordrutiner.
19 =head1 COPYRIGHT
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.
26 =cut
28 require 5.003;
30 ###########################################################################
31 #### Variabler
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 $';
38 my $FALSE = 0;
39 my $TRUE = 1;
41 # $EXIT_OK = 0;
42 # $EXIT_ERROR = 1;
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 ###########################################################################
48 #### Subrutiner
49 ###########################################################################
51 =head1 SUBRUTINER
53 =cut
55 =head2 &correct_pwd()
57 Sjekker at brukerpassordet i /etc/passwd er rett.
59 Tar to parametere: brukernavn og passord. Returnerer disse verdiene:
61 =over 4
63 =item I<$EXIT_CORRECT_PWD>
65 Passordet stemmer
67 =item I<$EXIT_WRONG_PWD>
69 Feil passord
71 =item I<$EXIT_UNKNOWN_USER>
73 Brukeren finnes ikke
75 =back
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.
85 =cut
87 sub correct_pwd {
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;
94 } else {
95 $RetVal = $EXIT_UNKNOWN_USER;
97 print("debug: Går ut av &correct_pwd(), \$RetVal = \"$RetVal\"\n") if ${main::Debug};
98 return $RetVal;
99 } # correct_pwd()
101 =head1 BUGS
103 Rimelig spinkel foreløpig. Det kommer seg vel.
105 =cut
109 #### End of file $Id: tripwd.pm,v 1.4 1999/06/30 11:42:17 sunny Exp $ ####