bincimap

Log | Files | Refs | LICENSE

checkpassword.pl (1000B)


      1 #! /usr/bin/perl
      2 
      3 # This program is free software; you can redistribute it and/or modify
      4 # it under the terms of the GNU General Public License as published by
      5 # the Free Software Foundation; either version 2 of the License, or
      6 # (at your option) any later version.
      7 
      8 # You should have received a copy of the GNU General Public License
      9 # along with this program; if not, write to the Free Software
     10 # Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307,
     11 # USA.
     12 
     13 # This file is a part of Binc IMAP.
     14 
     15 sub authenticated {
     16   my ($user,$pass) = @_;
     17   # This is the only function you need to change.
     18 
     19   # If password is OK, change to the right home area
     20   # and return 1, otherwise return 0.
     21   # On error exit(111);
     22   exit(111);
     23 }
     24 
     25 use strict;
     26 
     27 my ($in, $len, $buf);
     28 open (FD3, "<&=3") or exit(111);
     29 $len = read(FD3, $buf, 512);
     30 close FD3;
     31 
     32 exit(111) if $len < 4;
     33 
     34 my($user, $pass) = split /\x00/, $buf;
     35 $user = lc $user;
     36 
     37 if (authenticated($user, $pass)) {
     38     exec @ARGV;
     39 } else {
     40     exit 1;
     41 }