summaryrefslogtreecommitdiff
path: root/utils/rd-user
diff options
context:
space:
mode:
Diffstat (limited to 'utils/rd-user')
-rwxr-xr-xutils/rd-user145
1 files changed, 0 insertions, 145 deletions
diff --git a/utils/rd-user b/utils/rd-user
deleted file mode 100755
index 8689cb4..0000000
--- a/utils/rd-user
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/usr/bin/perl -w
-#
-# rhrdlibs
-#
-# Copyright (C) 2015 Christian Pointner <equinox@helsinki.at>
-#
-# This file is part of rhrdlibs.
-#
-# rhrdlibs is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# any later version.
-#
-# rhrdlibs is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with rhrdlibs. If not, see <http://www.gnu.org/licenses/>.
-#
-
-use strict;
-use RHRD::rddb;
-use String::MkPasswd qw(mkpasswd);
-
-# this is ridiculous but makes it a little harder to create/remove users...
-if ($> != 0 ) {
- print STDERR "this must be run as root!\n";
- exit 1;
-}
-
-sub print_usage
-{
- print STDERR "Usage: rd-user list\n" .
- " rd-user (check|remove) <username>\n" .
- " rd-user add <username> [ <fullname> ]\n";
-}
-
-sub list
-{
- my ($ctx) = @_;
-
- my @users = RHRD::rddb::list_users($ctx);
- if(!defined $users[0] && defined $users[1]) {
- print STDERR "$users[1]: $users[2]";
- return 1;
- }
- for my $user (@users) {
- print $user . "\n";
- }
- return 0;
-}
-
-sub check
-{
- my ($ctx, $username) = @_;
-
- my ($result, $status, $errorstring) = RHRD::rddb::check_user($ctx, $username);
- print STDERR "$result, $status: $errorstring\n";
- return $result;
-}
-
-sub add
-{
- my ($ctx, $username, $fullname) = @_;
-
- my $token = mkpasswd(-length => 16, -minnum => 3, -minupper => 3, -minspecial => 0);
- my ($cnt, undef, $errorstring) = RHRD::rddb::add_user($ctx, $username, $token, $fullname);
- unless(defined $cnt) {
- print STDERR "$errorstring\n";
- return 1;
- }
- print int($cnt) . " rows affected\n";
- return 0;
-}
-
-sub remove
-{
- my ($ctx, $username) = @_;
-
- my @results = RHRD::rddb::remove_user($ctx, $username);
- if(!defined $results[0] && defined $results[2]) {
- print STDERR "$results[2]\n";
- return 1;
- }
- for my $href (@results) {
- print int($href->{cnt}) . " " . $href->{name} . " deleted\n";
- }
- return 0;
-}
-
-
-my $num_args = $#ARGV + 1;
-if($num_args < 1) {
- print_usage();
- exit(1);
-}
-my $cmd = $ARGV[0];
-my $username = $ARGV[1];
-my $ret = 0;
-
-my ($ctx, undef, $errorstring) = RHRD::rddb::init();
-if(defined $ctx) {
- if($cmd eq "list") {
- if($num_args != 1) {
- print_usage();
- $ret = 1;
- } else {
- $ret = list($ctx);
- }
- }
- elsif($cmd eq "check") {
- if($num_args != 2) {
- print_usage();
- $ret = 1;
- } else {
- $ret = check($ctx, $username);
- }
- } elsif($cmd eq "add") {
- if($num_args < 2 || $num_args > 3) {
- print_usage();
- $ret = 1;
- } else {
- $ret = add($ctx, $username, $ARGV[2]);
- }
- } elsif($cmd eq "remove") {
- if($num_args != 2) {
- print_usage();
- $ret = 1;
- } else {
- $ret = remove($ctx, $username);
- }
- } else {
- print_usage();
- $ret = 1;
- }
-
- RHRD::rddb::destroy($ctx);
-} else {
- print STDERR "$errorstring\n";
- $ret = 1;
-}
-
-exit $ret;