#!/usr/bin/perl -Tw
-# $Id: passwd.import,v 1.1 2002-04-20 11:57:35 ivan Exp $
use strict;
use vars qw(%part_svc);
use Term::Query qw(query);
use Net::SCP qw(iscp);
use FS::UID qw(adminsuidsetup datasrc);
-use FS::Record qw(qsearch);
+use FS::Record qw(qsearch qsearchs);
use FS::svc_acct;
use FS::part_svc;
my $user = shift or die &usage;
adminsuidsetup $user;
-push @FS::svc_acct::shells, qw(/bin/sync /sbin/shuddown /bin/halt); #others?
+push @FS::svc_acct::shells, qw(/bin/sync /sbin/shutdown /bin/halt /sbin/halt); #others?
my($spooldir)="/usr/local/etc/freeside/export.". datasrc;
#$FS::svc_acct::nossh_hack = 1;
-$FS::svc_acct::noexport_hack = 1;
+$FS::svc_Common::noexport_hack = 1;
###
my($username,$password)=split(/:/);
#$password =~ s/^\!$/\*/;
#$password =~ s/\!+/\*SUSPENDED\* /;
+ $password =~ s/^NP$/\*/;
+ $password =~ s/^\*LK\*$/\*/;
$password{$username}=$password;
}
while (<PASSWD>) {
chop;
- my($username,$x,$uid,$gid,$finger,$dir,$shell)=split(/:/);
- my($password)=$upassword{$username} || $password{$username};
+ my($username,$x,$uid,$gid,$finger,$dir,$shell) = split(/:/);
+ my $password = $password{$username};
- $svcpart = $shell_svcpart;
+ my $svcpart = $shell_svcpart;
+
+ #if ( qsearchs('svc_acct', { 'username' => $username } ) ) {
+ # warn "warning: $username already exists; skipping\n";
+ # next;
+ #}
my($svc_acct) = new FS::svc_acct ({
'svcpart' => $svcpart,
'finger' => $finger,
'dir' => $dir,
'shell' => $shell,
- %{$allparam{$username}},
+ #%{$allparam{$username}},
});
my($error);
$error=$svc_acct->insert;
- die $error if $error;
+ if ( $error ) {
+ if ( $error =~ /duplicate/i ) {
+ warn "$username: $error";
+ } else {
+ die "$username: $error";
+ }
+ }
- delete $upassword{$username};
}
sub usage {