X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=fs_passwd%2Ffs_passwd.cgi;h=34a33c7f5ac81490cb89c52a47512e063135e755;hp=3f676fff395e8ec3709f036b4c1624c76249c10c;hb=c959e1e7039535de9eed1afcdcc1adf3db9a0f9f;hpb=7fa84ef3ef04fe18608d85c8c3aa1f34fe824c6c diff --git a/fs_passwd/fs_passwd.cgi b/fs_passwd/fs_passwd.cgi index 3f676fff3..34a33c7f5 100755 --- a/fs_passwd/fs_passwd.cgi +++ b/fs_passwd/fs_passwd.cgi @@ -2,12 +2,10 @@ use strict; use Getopt::Std; -use Socket; -use IO::Handle; +use FS::SelfService qw(passwd); use CGI; use CGI::Carp qw(fatalsToBrowser); -my $fs_passwdd_socket = "/usr/local/freeside/fs_passwdd_socket"; my $freeside_uid = scalar(getpwnam('freeside')); $ENV{'PATH'} ='/usr/local/bin:/usr/bin:/usr/ucb:/bin'; @@ -33,12 +31,13 @@ my $new_password = $1; die "New passwords don't match" unless $new_password eq $cgi->param('new_password2'); -socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; -connect(SOCK, sockaddr_un($fs_passwdd_socket)) or die "connect: $!"; -print SOCK join("\n", $me, $old_password, $new_password, '', ''), "\n"; -SOCK->flush; -my $error = ; -chomp $error; +my $rv = passwd( + 'username' => $me, + 'old_password' => $old_password, + 'new_password' => $new_password, +); + +my $error = $rv->{error}; if ($error) { die $error;