summaryrefslogtreecommitdiff
path: root/fs_passwd/fs_passwd
diff options
context:
space:
mode:
authorivan <ivan>2004-03-11 07:33:55 +0000
committerivan <ivan>2004-03-11 07:33:55 +0000
commitc959e1e7039535de9eed1afcdcc1adf3db9a0f9f (patch)
tree721a885e55157efacbe7c2497ce98658cc452bdf /fs_passwd/fs_passwd
parent7fa84ef3ef04fe18608d85c8c3aa1f34fe824c6c (diff)
update fs_passwd stuff as wrappers around self-service
Diffstat (limited to 'fs_passwd/fs_passwd')
-rwxr-xr-xfs_passwd/fs_passwd22
1 files changed, 12 insertions, 10 deletions
diff --git a/fs_passwd/fs_passwd b/fs_passwd/fs_passwd
index 0b467aefc..feddb462c 100755
--- a/fs_passwd/fs_passwd
+++ b/fs_passwd/fs_passwd
@@ -10,14 +10,14 @@
#
# password lengths 0,255 instead of 6,8 - we'll let the server process
# check the data ivan@sisd.com 98-jul-17
+#
+# updated for the exciting new world of self-service 2004-mar-10
use strict;
use Getopt::Std;
-use Socket;
-use IO::Handle;
+use FS::SelfService qw(passwd);
use vars qw($opt_f $opt_s);
-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';
@@ -114,13 +114,15 @@ print "\n";
system '/bin/stty', 'echo';
-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,$new_gecos,$new_shell),"\n";
-SOCK->flush;
-my($error);
-$error = <SOCK>;
-chop $error;
+my $rv = passwd(
+ 'username' => $me,
+ 'old_password' => $old_password,
+ 'new_password' => $new_password,
+ 'new_gecos' => $new_gecos,
+ 'new_shell' => $new_shell,
+);
+
+my $error = $rv->{error};
if ($error) {
print "\nUpdate error: $error\n";