summaryrefslogtreecommitdiff
path: root/source4/script
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-04-05 07:03:31 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:11:26 -0500
commitcf52d62ec998ae30f4460e75817b0503894aff5d (patch)
tree6b22b0c3acfae28bc57bf45937a143a25e1aa0a5 /source4/script
parentf9b3a8d3b9a0d83b47f2de6229db59221b4dd68d (diff)
downloadsamba-cf52d62ec998ae30f4460e75817b0503894aff5d.tar.gz
samba-cf52d62ec998ae30f4460e75817b0503894aff5d.tar.bz2
samba-cf52d62ec998ae30f4460e75817b0503894aff5d.zip
r6207: - clean up source topdir
- move provision stuff to setup/ - remove unused scripts metze (This used to be commit c35887ca649675f28ca986713a08082420418d74)
Diffstat (limited to 'source4/script')
-rw-r--r--source4/script/addtosmbpass74
-rwxr-xr-xsource4/script/convert_smbpasswd17
-rwxr-xr-xsource4/script/creategroup27
-rwxr-xr-xsource4/script/dcpromo.pl225
-rwxr-xr-xsource4/script/findsmb.in152
-rwxr-xr-xsource4/script/genstruct.pl298
-rwxr-xr-xsource4/script/mknissmbpasswd.sh31
-rwxr-xr-xsource4/script/mknissmbpwdtbl.sh42
-rw-r--r--source4/script/mksmbpasswd.sh6
-rwxr-xr-xsource4/script/newuser.pl145
-rwxr-xr-xsource4/script/provision.pl443
-rwxr-xr-xsource4/script/rootdse.pl152
-rwxr-xr-xsource4/script/scancvslog.pl112
-rw-r--r--source4/script/smbtar165
-rw-r--r--source4/script/updatesmbpasswd.sh14
15 files changed, 0 insertions, 1903 deletions
diff --git a/source4/script/addtosmbpass b/source4/script/addtosmbpass
deleted file mode 100644
index bc82851c52..0000000000
--- a/source4/script/addtosmbpass
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/awk -f
-# edit the line above to point to your real location of awk interpreter
-
-# awk program for adding new entries in smbpasswd files
-# arguments are account names to add; feed it an existent Samba password
-# file on stdin, results will be written on stdout
-#
-# Michal Jaegermann, michal@ellpspace.math.ualberta.ca, 1995-11-09
-
-BEGIN {
- me = "addtosmbpass";
- count = ARGC;
- FS = ":";
-
- if (count == 1) {
- print "Usage:", me,
- "name1 [name2 ....] < smbpasswd.in > smbpasswd.out";
- ARGV[1] = "/dev/null";
- ARGC = 2;
- exit;
- }
-
- for(i = 1; i < count; i++) {
- names[ARGV[i]] = " ";
- delete ARGV[i];
- }
-# sane awk should work simply with 'ARGC = 1', but not every awk
-# implementation is sane - big sigh!!
- ARGV[1] = "-";
- ARGC = 2;
-#
-# If you have ypmatch but is not RPC registered (some Linux systems
-# for example) comment out the next line.
-# "which ypmatch" | getline ypmatch;
- if (1 != match(ypmatch, /^\//)) {
- ypmatch = "";
- }
- pwdf = "/etc/passwd";
-}
-#check for names already present in input
-{
- print $0;
- for(name in names) {
- if($1 == name) {
- delete names[name];
- }
- }
-}
-END {
- fmt = "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:";
- fmt = fmt "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:%s:\n";
- for(name in names) {
- while ((getline < pwdf) > 0) {
- if ($1 == name) {
- printf(fmt, $1, $3, $5);
- close(pwdf);
- notfound = "";
- break;
- }
- notfound = "n";
- }
- $0 = "";
- if (notfound && ypmatch) {
-# try to find in NIS databases
- command = ypmatch " " name " passwd";
- command | getline;
- if (NF > 0) {
- printf(fmt, $1, $3, $5);
- }
- close(command);
- }
- }
-}
-
diff --git a/source4/script/convert_smbpasswd b/source4/script/convert_smbpasswd
deleted file mode 100755
index edb775d3a6..0000000000
--- a/source4/script/convert_smbpasswd
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# Convert a Samba 1.9.18 smbpasswd file format into
-# a Samba 2.0 smbpasswd file format.
-# Read from stdin and write to stdout for simplicity.
-# Set the last change time to 0x363F96AD to avoid problems
-# with trying to work out how to get the seconds since 1970
-# in awk or the shell. JRA.
-#
-nawk 'BEGIN {FS=":"}
-{
- if( $0 ~ "^#" ) {
- print $0
- } else {
- printf( "%s:%s:%s:%s:[U ]:LCT-363F96AD:\n", $1, $2, $3, $4);
- }
-}'
diff --git a/source4/script/creategroup b/source4/script/creategroup
deleted file mode 100755
index 01fb065944..0000000000
--- a/source4/script/creategroup
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# Example script for 'add group command'. Handle weird NT group
-# names. First attempt to create the group directly, if that fails
-# then create a random group and print the numeric group id.
-#
-# Note that this is only an example and assumes /dev/urandom.
-#
-# Volker
-
-GROUPNAME="$1"
-ITERS=0
-
-while ! /usr/sbin/groupadd "$GROUPNAME" > /dev/null 2>&1
-do
- # we had difficulties creating that group. Maybe the name was
- # too weird, or it already existed. Create a random name.
- GROUPNAME=nt-$(dd if=/dev/urandom bs=16 count=1 2>/dev/null | md5sum | cut -b 1-5)
- ITERS=$(expr "$ITERS" + 1)
- if [ "$ITERS" -gt 10 ]
- then
- # Too many attempts
- exit 1
- fi
-done
-
-getent group | grep ^"$GROUPNAME": | cut -d : -f 3
diff --git a/source4/script/dcpromo.pl b/source4/script/dcpromo.pl
deleted file mode 100755
index 56461ae825..0000000000
--- a/source4/script/dcpromo.pl
+++ /dev/null
@@ -1,225 +0,0 @@
-#!/usr/bin/perl -w
-
-###################################################
-# package to generate samba ads configuration
-# Copyright metze@samba.org 2004
-
-# released under the GNU GPL
-
-use strict;
-use Data::Dumper;
-
-sub print_options($$) {
- my $ads = shift;
- my $ctx = shift;
- my @arr;
- my $i;
- my $len;
-
- print "options:\n";
-
- @arr = @{$ctx};
- $len = $#arr;
- for($i = 0; $i <= $len; $i++) {
- my $val = $ctx->[$i];
- print "\t".$i.": ".$val->{TEXT}."\n";
- }
-
- print "choise []:";
-}
-
-sub read_option($$) {
- my $ads = shift;
- my $ctx = shift;
- my $val;
-
- $val = <STDIN>;
-
- return $val;
-}
-
-sub call_option($$$) {
- my $ads = shift;
- my $ctx = shift;
- my $switch = shift;
- my $val;
- my $funcref;
-
- $val = $ctx->[$switch];
-
- $funcref = $val->{ACTION};
-
- &$funcref($ads);
-}
-
-sub ask_option($$) {
- my $ads = shift;
- my $ctx = shift;
- my $ret;
-
- print_options($ads, $ctx);
-
- $ret = read_option($ads, $ctx);
-
- call_option($ads, $ctx, $ret);
-}
-
-sub create_ads_tree($) {
- my $ads = shift;
-
- print "Create ADS Domain:\n";
- print Dumper($ads);
-}
-
-sub do_new_domain_in_entire_structure($) {
- my $ads;
- my $domain_dns;
- my $domain_netbios;
-
- $ads->{NEW_DOMAIN} = 1;
- $ads->{NEW_FOREST} = 1;
-
- print "full dns name of the new domain []:";
- $domain_dns = <STDIN>;
- chomp $domain_dns;
- $ads->{FULL_DNS_NAME} = $domain_dns;
-
- print "netbios name of the new domain []:";
- $domain_netbios = <STDIN>;
- chomp $domain_netbios;
- $ads->{NETBIOS} = $domain_netbios;
-
- create_ads_tree($ads);
-}
-
-sub do_sub_domain_in_existing_structure($) {
- my $ads = shift;
- my $user_name;
- my $user_domain;
- my $user_password;
- my $top_dns;
- my $domain_dns;
- my $domain_netbios;
- my $db_folder;
- my $db_logs;
- my $sysvol_folder;
- my $admin_password1;
- my $admin_password2;
-
- $ads->{NEW_DOMAIN} = 1;
- $ads->{NEW_FOREST} = 0;
-
- print "User Name []:";
- $user_name = <STDIN>;
- chomp $user_name;
- $ads->{USER}{NAME} = $user_name;
-
- print "User Domain []:";
- $user_domain = <STDIN>;
- chomp $user_domain;
- $ads->{USER}{DOMAIN} = $user_domain;
-
- print "User Password []:";
- $user_password = <STDIN>;
- chomp $user_password;
- $ads->{USER}{PASSWORD} = $user_password;
-
- print "full dns name of the top domain []:";
- $top_dns = <STDIN>;
- chomp $top_dns;
- $ads->{TOP_DNS_NAME} = $top_dns;
-
- print "suffix of the new domain []:";
- $domain_dns = <STDIN>;
- chomp $domain_dns;
- $ads->{FULL_DNS_NAME} = $domain_dns.".".$top_dns;
-
- print "netbios name of the new domain []:";
- $domain_netbios = <STDIN>;
- chomp $domain_netbios;
- $ads->{NETBIOS} = $domain_netbios;
-
- print "folder for database files []:";
- $db_folder = <STDIN>;
- chomp $db_folder;
- $ads->{DB_FOLDER} = $db_folder;
-
- print "folder for database logs []:";
- $db_logs = <STDIN>;
- chomp $db_logs;
- $ads->{DB_LOGS} = $db_logs;
-
- print "folder for SYSVOL []:";
- $sysvol_folder = <STDIN>;
- chomp $sysvol_folder;
- $ads->{SYSVOL_FOLDER} = $sysvol_folder;
-
- #
- # test DNS here
- #
-
- #
- # test mixed/native here
- #
-
- print "Administrator password []:";
- $admin_password1 = <STDIN>;
- chomp $admin_password1;
- print "retype Administrator password []:";
- $admin_password2 = <STDIN>;
- chomp $admin_password2;
- if ($admin_password1 eq $admin_password2) {
- $ads->{ADMIN_PASSWORD} = $admin_password1;
- } else {
- $ads->{ADMIN_PASSWORD} = "";
- }
-
- create_ads_tree($ads);
-}
-
-sub do_sub_structure_in_global_structure($) {
- print "go on with do_sub_structure_in_global_structure\n";
-}
-
-sub do_new_domain($) {
- my $ads = shift;
- my $ctx;
-
- $ctx->[0]{TEXT} = "new domain in entire structure";
- $ctx->[0]{ACTION} = \&do_new_domain_in_entire_structure;
-
- $ctx->[1]{TEXT} = "sub domain in existing structure";
- $ctx->[1]{ACTION} = \&do_sub_domain_in_existing_structure;
-
- $ctx->[2]{TEXT} = "sub structure in global structure";
- $ctx->[2]{ACTION} = \&do_sub_structure_in_global_structure;
-
- ask_option($ads ,$ctx);
-}
-
-sub do_existing_domain($) {
- print "go on with do existing domain\n";
-}
-
-sub ask_new_or_exist_domain($) {
- my $ads = shift;
- my $ctx;
-
- $ctx->[0]{TEXT} = "new domain";
- $ctx->[0]{ACTION} = \&do_new_domain;
-
- $ctx->[1]{TEXT} = "existing domain";
- $ctx->[1]{ACTION} = \&do_existing_domain;
-
- ask_option($ads, $ctx);
-}
-
-sub main {
- my $ads;
-
- $ads->{ADS_TREE} = 1;
-
- ask_new_or_exist_domain($ads);
-}
-
-main();
diff --git a/source4/script/findsmb.in b/source4/script/findsmb.in
deleted file mode 100755
index 6276bd3f39..0000000000
--- a/source4/script/findsmb.in
+++ /dev/null
@@ -1,152 +0,0 @@
-#!@PERL@
-#
-# Prints info on all smb responding machines on a subnet.
-# This script needs to be run on a machine without nmbd running and be
-# run as root to get correct info from WIN95 clients.
-#
-# syntax:
-# findsmb [-d|-D] [-r] [subnet broadcast address]
-#
-# with no agrument it will list machines on the current subnet
-#
-# There will be a "+" in front of the workgroup name for machines that are
-# local master browsers for that workgroup. There will be an "*" in front
-# of the workgroup name for machines that are the domain master browser for
-# that workgroup.
-#
-# Options:
-#
-# -d|-D enable debug
-# -r add -r option to nmblookup when finding netbios name
-#
-
-$SAMBABIN = "@prefix@/bin";
-
-for ($i = 0; $i < 2; $i++) { # test for -d and -r options
- $_ = shift;
- if (m/-d|-D/) {
- $DEBUG = 1;
- } elsif (m/-r/) {
- $R_OPTION = "-r";
- }
-}
-
-if ($_) { # set broadcast address if it was specified
- $BCAST = "-B $_";
-}
-
-sub ipsort # do numeric sort on last field of IP address
-{
- @t1 = split(/\./,$a);
- @t2 = split(/\./,$b);
- @t1[3] <=> @t2[3];
-}
-
-# look for all machines that respond to a name lookup
-
-open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*'|") ||
- die("Can't run nmblookup '*'.\n");
-
-# get rid of all lines that are not a response IP address,
-# strip everything but IP address and sort by last field in address
-
-@ipaddrs = sort ipsort grep(s/ \*<00>.*$//,<NMBLOOKUP>);
-
-# print header info
-
-print "\nIP ADDR NETBIOS NAME WORKGROUP/OS/VERSION $BCAST\n";
-print "---------------------------------------------------------------------\n";
-
-foreach $ip (@ipaddrs) # loop through each IP address found
-{
- $ip =~ s/\n//; # strip newline from IP address
-
-# find the netbios names registered by each machine
-
- open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip|") ||
- die("Can't get nmb name list.\n");
- @nmblookup = <NMBLOOKUP>;
- close NMBLOOKUP;
-
-# get the first <00> name
-
- @name = grep(/<00>/,@nmblookup);
- $_ = @name[0];
- if ($_) { # we have a netbios name
- if (/GROUP/) { # is it a group name
- ($name, $aliases, $type, $length, @addresses) =
- gethostbyaddr(pack('C4',split('\.',$ip)),2);
- if (! $name) { # could not get name
- $name = "unknown nis name";
- }
- } else {
-# The Netbios name can contain lot of characters also '<' '>'
-# and spaces. The follwing cure inside name space but not
-# names starting or ending with spaces
- /(.{1,15})\s+<00>\s+/;
- $name = $1;
- }
-
-# do an smbclient command on the netbios name.
-
- open(SMB,"$SAMBABIN/smbclient -N -L $name -I $ip -U% |") ||
- die("Can't do smbclient command.\n");
- @smb = <SMB>;
- close SMB;
-
- if ($DEBUG) { # if -d flag print results of nmblookup and smbclient
- print "===============================================================\n";
- print @nmblookup;
- print @smb;
- }
-
-# look for the OS= string
-
- @info = grep(/OS=/,@smb);
- $_ = @info[0];
- if ($_) { # we found response
- s/Domain=|OS=|Server=|\n//g; # strip out descriptions to make line shorter
-
- } else { # no OS= string in response (WIN95 client)
-
-# for WIN95 clients get workgroup name from nmblookup response
- @name = grep(/<00> - <GROUP>/,@nmblookup);
- $_ = @name[0];
- if ($_) {
-# Same as before for space and characters
- /(.{1,15})\s+<00>\s+/;
- $_ = "[$1]";
- } else {
- $_ = "Unknown Workgroup";
- }
- }
-
-# see if machine registered a local master browser name
- if (grep(/<1d>/,@nmblookup)) {
- $master = '+'; # indicate local master browser
- if (grep(/<1b>/,@nmblookup)) { # how about domain master browser?
- $master = '*'; # indicate domain master browser
- }
- } else {
- $master = ' '; # not a browse master
- }
-
-# line up info in 3 columns
-
- print "$ip".' 'x(16-length($ip))."$name".' 'x(14-length($name))."$master"."$_\n";
-
- } else { # no netbios name found
-# try getting the host name
- ($name, $aliases, $type, $length, @addresses) =
- gethostbyaddr(pack('C4',split('\.',$ip)),2);
- if (! $name) { # could not get name
- $name = "unknown nis name";
- }
- if ($DEBUG) { # if -d flag print results of nmblookup
- print "===============================================================\n";
- print @nmblookup;
- }
- print "$ip".' 'x(16-length($ip))."$name\n";
- }
-}
-
diff --git a/source4/script/genstruct.pl b/source4/script/genstruct.pl
deleted file mode 100755
index 081b81f510..0000000000
--- a/source4/script/genstruct.pl
+++ /dev/null
@@ -1,298 +0,0 @@
-#!/usr/bin/perl -w
-# a simple system for generating C parse info
-# this can be used to write generic C structer load/save routines
-# Copyright 2002 Andrew Tridgell <genstruct@tridgell.net>
-# released under the GNU General Public License v2 or later
-
-use strict;
-
-my(%enum_done) = ();
-my(%struct_done) = ();
-
-###################################################
-# general handler
-sub handle_general($$$$$$$$)
-{
- my($name) = shift;
- my($ptr_count) = shift;
- my($size) = shift;
- my($element) = shift;
- my($flags) = shift;
- my($dump_fn) = shift;
- my($parse_fn) = shift;
- my($tflags) = shift;
- my($array_len) = 0;
- my($dynamic_len) = "NULL";
-
- # handle arrays, currently treat multidimensional arrays as 1 dimensional
- while ($element =~ /(.*)\[(.*?)\]$/) {
- $element = $1;
- if ($array_len == 0) {
- $array_len = $2;
- } else {
- $array_len = "$2 * $array_len";
- }
- }
-
- if ($flags =~ /_LEN\((\w*?)\)/) {
- $dynamic_len = "\"$1\"";
- }
-
- if ($flags =~ /_NULLTERM/) {
- $tflags = "FLAG_NULLTERM";
- }
-
- print OFILE "{\"$element\", $ptr_count, $size, offsetof(struct $name, $element), $array_len, $dynamic_len, $tflags, $dump_fn, $parse_fn},\n";
-}
-
-
-####################################################
-# parse one element
-sub parse_one($$$$)
-{
- my($name) = shift;
- my($type) = shift;
- my($element) = shift;
- my($flags) = shift;
- my($ptr_count) = 0;
- my($size) = "sizeof($type)";
- my($tflags) = "0";
-
- # enums get the FLAG_ALWAYS flag
- if ($type =~ /^enum /) {
- $tflags = "FLAG_ALWAYS";
- }
-
-
- # make the pointer part of the base type
- while ($element =~ /^\*(.*)/) {
- $ptr_count++;
- $element = $1;
- }
-
- # convert spaces to _
- $type =~ s/ /_/g;
-
- my($dump_fn) = "gen_dump_$type";
- my($parse_fn) = "gen_parse_$type";
-
- handle_general($name, $ptr_count, $size, $element, $flags, $dump_fn, $parse_fn, $tflags);
-}
-
-####################################################
-# parse one element
-sub parse_element($$$)
-{
- my($name) = shift;
- my($element) = shift;
- my($flags) = shift;
- my($type);
- my($data);
-
- # pull the base type
- if ($element =~ /^struct (\S*) (.*)/) {
- $type = "struct $1";
- $data = $2;
- } elsif ($element =~ /^enum (\S*) (.*)/) {
- $type = "enum $1";
- $data = $2;
- } elsif ($element =~ /^unsigned (\S*) (.*)/) {
- $type = "unsigned $1";
- $data = $2;
- } elsif ($element =~ /^(\S*) (.*)/) {
- $type = $1;
- $data = $2;
- } else {
- die "Can't parse element '$element'";
- }
-
- # handle comma separated lists
- while ($data =~ /(\S*),[\s]?(.*)/) {
- parse_one($name, $type, $1, $flags);
- $data = $2;
- }
- parse_one($name, $type, $data, $flags);
-}
-
-
-my($first_struct) = 1;
-
-####################################################
-# parse the elements of one structure
-sub parse_elements($$)
-{
- my($name) = shift;
- my($elements) = shift;
-
- if ($first_struct) {
- $first_struct = 0;
- print "Parsing structs: $name";
- } else {
- print ", $name";
- }
-
- print OFILE "int gen_dump_struct_$name(struct parse_string *, const char *, unsigned);\n";
- print OFILE "int gen_parse_struct_$name(char *, const char *);\n";
-
- print OFILE "static const struct parse_struct pinfo_" . $name . "[] = {\n";
-
- while ($elements =~ /^.*?([a-z].*?);\s*?(\S*?)\s*?\$(.*)/msi) {
- my($element) = $1;
- my($flags) = $2;
- $elements = $3;
- parse_element($name, $element, $flags);
- }
-
- print OFILE "{NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}};\n";
-
- print OFILE "
-int gen_dump_struct_$name(struct parse_string *p, const char *ptr, unsigned indent) {
- return gen_dump_struct(pinfo_$name, p, ptr, indent);
-}
-int gen_parse_struct_$name(char *ptr, const char *str) {
- return gen_parse_struct(pinfo_$name, ptr, str);
-}
-
-";
-}
-
-my($first_enum) = 1;
-
-####################################################
-# parse out the enum declarations
-sub parse_enum_elements($$)
-{
- my($name) = shift;
- my($elements) = shift;
-
- if ($first_enum) {
- $first_enum = 0;
- print "Parsing enums: $name";
- } else {
- print ", $name";
- }
-
- print OFILE "static const struct enum_struct einfo_" . $name . "[] = {\n";
-
- my(@enums) = split(/,/s, $elements);
- for (my($i)=0; $i <= $#{@enums}; $i++) {
- my($enum) = $enums[$i];
- if ($enum =~ /\s*(\w*)/) {
- my($e) = $1;
- print OFILE "{\"$e\", $e},\n";
- }
- }
-
- print OFILE "{NULL, 0}};\n";
-
- print OFILE "
-int gen_dump_enum_$name(struct parse_string *p, const char *ptr, unsigned indent) {
- return gen_dump_enum(einfo_$name, p, ptr, indent);
-}
-
-int gen_parse_enum_$name(char *ptr, const char *str) {
- return gen_parse_enum(einfo_$name, ptr, str);
-}
-
-";
-}
-
-####################################################
-# parse out the enum declarations
-sub parse_enums($)
-{
- my($data) = shift;
-
- while ($data =~ /^GENSTRUCT\s+enum\s+(\w*?)\s*{(.*?)}\s*;(.*)/ms) {
- my($name) = $1;
- my($elements) = $2;
- $data = $3;
-
- if (!defined($enum_done{$name})) {
- $enum_done{$name} = 1;
- parse_enum_elements($name, $elements);
- }
- }
-
- if (! $first_enum) {
- print "\n";
- }
-}
-
-####################################################
-# parse all the structures
-sub parse_structs($)
-{
- my($data) = shift;
-
- # parse into structures
- while ($data =~ /^GENSTRUCT\s+struct\s+(\w+?)\s*{\s*(.*?)\s*}\s*;(.*)/ms) {
- my($name) = $1;
- my($elements) = $2;
- $data = $3;
- if (!defined($struct_done{$name})) {
- $struct_done{$name} = 1;
- parse_elements($name, $elements);
- }
- }
-
- if (! $first_struct) {
- print "\n";
- } else {
- print "No GENSTRUCT structures found?\n";
- }
-}
-
-
-####################################################
-# parse a header file, generating a dumper structure
-sub parse_data($)
-{
- my($data) = shift;
-
- # collapse spaces
- $data =~ s/[\t ]+/ /sg;
- $data =~ s/\s*\n\s+/\n/sg;
- # strip debug lines
- $data =~ s/^\#.*?\n//smg;
-
- parse_enums($data);
- parse_structs($data);
-}
-
-
-#########################################
-# display help text
-sub ShowHelp()
-{
- print "
-generator for C structure dumpers
-Copyright Andrew Tridgell <genstruct\@tridgell.net>
-
-Sample usage:
- genstruct -o output.h gcc -E -O2 -g test.h
-
-Options:
- --help this help page
- -o OUTPUT place output in OUTPUT
-";
- exit(0);
-}
-
-########################################
-# main program
-if ($ARGV[0] ne "-o" || $#ARGV < 2) {
- ShowHelp();
-}
-
-shift;
-my($opt_ofile)=shift;
-
-print "creating $opt_ofile\n";
-
-open(OFILE, ">$opt_ofile") || die "can't open $opt_ofile";
-
-print OFILE "/* This is an automatically generated file - DO NOT EDIT! */\n\n";
-
-parse_data(`@ARGV -DGENSTRUCT=GENSTRUCT`);
-exit(0);
diff --git a/source4/script/mknissmbpasswd.sh b/source4/script/mknissmbpasswd.sh
deleted file mode 100755
index a94c963bdc..0000000000
--- a/source4/script/mknissmbpasswd.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 1998 Benny Holmgren
-#
-# Script to import smbpasswd file into the smbpasswd NIS+ table. Reads
-# from stdin the smbpasswd file.
-#
-while true
-do
- read row
- if [ -z "$row" ]
- then
- break
- fi
-
- if [ "`echo $row | cut -c1`" = "#" ]
- then
- continue
- fi
-
- nistbladm -a \
- name=\"`echo $row | cut -d: -f1`\" \
- uid=\"`echo $row | cut -d: -f2`\" \
- lmpwd=\"`echo $row | cut -d: -f3`\" \
- ntpwd=\"`echo $row | cut -d: -f4`\" \
- acb=\"`echo $row | cut -d: -f5`\" \
- pwdlset_t=\"`echo $row | cut -d: -f6`\" \
- gcos=\"`echo $row | cut -d: -f7`\" \
- home=\"`echo $row | cut -d: -f8`\" \
- shell=\"`echo $row | cut -d: -f9`\" smbpasswd.org_dir.`nisdefaults -d`
-done
diff --git a/source4/script/mknissmbpwdtbl.sh b/source4/script/mknissmbpwdtbl.sh
deleted file mode 100755
index a9b34ff9a7..0000000000
--- a/source4/script/mknissmbpwdtbl.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 1998 Benny Holmgren
-#
-# Creates smbpasswd table and smb group in NIS+
-#
-
-nistbladm \
- -D access=og=rmcd,nw= -c \
- -s : smbpasswd_tbl \
- name=S,nogw=r \
- uid=S,nogw=r \
- user_rid=S,nogw=r \
- smb_grpid=,nw+r \
- group_rid=,nw+r \
- acb=,nw+r \
- \
- lmpwd=C,nw=,g=r,o=rm \
- ntpwd=C,nw=,g=r,o=rm \
- \
- logon_t=,nw+r \
- logoff_t=,nw+r \
- kick_t=,nw+r \
- pwdlset_t=,nw+r \
- pwdlchg_t=,nw+r \
- pwdmchg_t=,nw+r \
- \
- full_name=,nw+r \
- home_dir=,nw+r \
- dir_drive=,nw+r \
- logon_script=,nw+r \
- profile_path=,nw+r \
- acct_desc=,nw+r \
- workstations=,nw+r \
- \
- hours=,nw+r \
- smbpasswd.org_dir.`nisdefaults -d`
-
-nisgrpadm -c smb.`nisdefaults -d`
-
-nischgrp smb.`nisdefaults -d` smbpasswd.org_dir.`nisdefaults -d`
-
diff --git a/source4/script/mksmbpasswd.sh b/source4/script/mksmbpasswd.sh
deleted file mode 100644
index 854e1bd1b5..0000000000
--- a/source4/script/mksmbpasswd.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-awk 'BEGIN {FS=":"
- printf("#\n# SMB password file.\n#\n")
- }
-{ printf( "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:%s\n", $1, $3, $5) }
-'
diff --git a/source4/script/newuser.pl b/source4/script/newuser.pl
deleted file mode 100755
index 22e3992bbe..0000000000
--- a/source4/script/newuser.pl
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/usr/bin/perl -w
-# simple hack script to add a new user for Samba4
-
-
-use strict;
-use Socket;
-use Getopt::Long;
-
-my $opt_password;
-my $opt_username;
-my $opt_unixname;
-my $opt_samdb = "/usr/local/samba/private/sam.ldb";
-
-
-# generate a random guid. Not a good algorithm.
-sub randguid()
-{
- my $r1 = int(rand(2**32));
- my $r2 = int(rand(2**16));
- my $r3 = int(rand(2**16));
- my $r4 = int(rand(2**16));
- my $r5 = int(rand(2**32));
- my $r6 = int(rand(2**16));
- return sprintf("%08x-%04x-%04x-%04x-%08x%04x", $r1, $r2, $r3, $r4, $r5, $r6);
-}
-
-# generate a random password. Poor algorithm :(
-sub randpass()
-{
- my $pass = "";
- my $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%\$!~";
- for (my $i=0;$i<8;$i++) {
- my $c = int(rand(length($chars)));
- $pass .= substr($chars, $c, 1);
- }
- return $pass;
-}
-
-sub search($$)
-{
- my $expr = shift;
- my $attrib = shift;
- my $res = `ldbsearch \"$expr\" $attrib | grep ^$attrib | cut -d' ' -f2- | head -1`;
- chomp $res;
- return $res;
-}
-
-############################################
-# show some help
-sub ShowHelp()
-{
- print "
-Samba4 newuser
-
-provision.pl [options]
- --username USERNAME choose new username
- --password PASSWORD set password
- --samdb DBPATH path to sam.ldb
-
-You must provide at least a username
-
-";
- exit(1);
-}
-
-my $opt_help;
-
-GetOptions(
- 'help|h|?' => \$opt_help,
- 'username=s' => \$opt_username,
- 'unixname=s' => \$opt_unixname,
- 'password=s' => \$opt_password,
- 'samdb=s' => \$opt_samdb
- );
-
-if ($opt_help || !$opt_username) {
- ShowHelp();
-}
-
-if (!$opt_password) {
- $opt_password = randpass();
- print "chose random password '$opt_password'\n";
-}
-
-if (!$opt_unixname) {
- $opt_unixname = $opt_username;
-}
-
-my $res = "";
-
-# allow provisioning to be run from the source directory
-$ENV{"PATH"} .= ":bin";
-
-$ENV{"LDB_URL"} = $opt_samdb;
-
-my $domain_sid = search("(objectClass=domainDNS)", "objectSid");
-my $domain_dn = search("(objectClass=domainDNS)", "dn");
-
-my $ldif = `ldbsearch 'cn=TemplateUser' | grep -v Template | grep -v '^#'`;
-chomp $ldif;
-
-my $sid;
-
-# crude way of working out a rid
-for (my $i=1001;$i<1100;$i++) {
- if (search("objectSid=$domain_sid-$i","objectSid") eq "") {
- $sid = "$domain_sid-$i";
- last;
- }
-}
-
-print "Chose new SID $sid\n";
-
-my $dom_users = search("name=Domain Users", "dn");
-
-
-$ldif .= "sAMAccountName: $opt_username\n";
-$ldif .= "name: $opt_username\n";
-$ldif .= "objectSid: $sid\n";
-$ldif .= "objectGUID: " . randguid() . "\n";
-$ldif .= "memberOf: $dom_users\n";
-$ldif .= "userAccountControl: 0x10200\n";
-$ldif .= "sAMAccountType: 0x30000000\n";
-$ldif .= "objectClass: user\n";
-$ldif .= "unicodePwd: $opt_password\n";
-$ldif .= "unixName: $opt_unixname\n";
-
-my $user_dn = "CN=$opt_username,CN=Users,$domain_dn";
-
-open FILE, ">newuser.ldif";
-print FILE "dn: $user_dn";
-print FILE "$ldif\n";
-close FILE;
-
-open FILE, ">modgroup.ldif";
-print FILE "
-dn: CN=Domain Users,CN=Users,$domain_dn
-changetype: modify
-add: member
-member: $user_dn
-";
-close FILE;
-
-system("ldbadd newuser.ldif");
-system("ldbmodify modgroup.ldif");
diff --git a/source4/script/provision.pl b/source4/script/provision.pl
deleted file mode 100755
index e1d5278453..0000000000
--- a/source4/script/provision.pl
+++ /dev/null
@@ -1,443 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use Socket;
-use Getopt::Long;
-
-my $opt_hostname = `hostname`;
-chomp $opt_hostname;
-my $opt_hostip;
-my $opt_realm;
-my $opt_domain;
-my $opt_adminpass;
-my $opt_nobody;
-my $opt_nogroup;
-my $opt_wheel;
-my $opt_users;
-my $dnsdomain;
-my $netbiosname;
-my $dnsname;
-my $basedn;
-my $defaultsite = "Default-First-Site-Name";
-my $usn = 1;
-
-# return the current NTTIME as an integer
-sub nttime()
-{
- my $t = time();
- $t += (369.0*365.25*24*60*60-(3.0*24*60*60+6.0*60*60));
- $t *= 1.0e7;
- return sprintf("%lld", $t);
-}
-
-# generate a random guid. Not a good algorithm.
-sub randguid()
-{
- my $r1 = int(rand(2**32));
- my $r2 = int(rand(2**16));
- my $r3 = int(rand(2**16));
- my $r4 = int(rand(2**16));
- my $r5 = int(rand(2**32));
- my $r6 = int(rand(2**16));
- return sprintf("%08x-%04x-%04x-%04x-%08x%04x", $r1, $r2, $r3, $r4, $r5, $r6);
-}
-
-my $opt_domainguid = randguid();
-my $opt_hostguid = randguid();
-my $opt_invocationid = randguid();
-
-sub randsid()
-{
- return sprintf("S-1-5-21-%d-%d-%d",
- int(rand(10**8)), int(rand(10**8)), int(rand(10**8)));
-}
-
-my $opt_domainsid = randsid();
-
-# generate a random password. Poor algorithm :(
-sub randpass()
-{
- my $pass = "";
- my $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%\$!~";
- for (my $i=0;$i<8;$i++) {
- my $c = int(rand(length($chars)));
- $pass .= substr($chars, $c, 1);
- }
- return $pass;
-}
-
-my $joinpass = randpass();
-
-sub ldaptime()
-{
- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time);
- return sprintf "%04u%02u%02u%02u%02u%02u.0Z",
- $year+1900, $mon+1, $mday, $hour, $min, $sec;
-}
-
-#######################
-# substitute a single variable
-sub substitute($)
-{
- my $var = shift;
-
- if ($var eq "BASEDN") {
- return $basedn;
- }
-
- if ($var eq "DOMAINSID") {
- return $opt_domainsid;
- }
-
- if ($var eq "DOMAIN") {
- return $opt_domain;
- }
-
- if ($var eq "REALM") {
- return $opt_realm;
- }
-
- if ($var eq "DNSDOMAIN") {
- return $dnsdomain;
- }
-
- if ($var eq "HOSTNAME") {
- return $opt_hostname;
- }
-
- if ($var eq "NETBIOSNAME") {
- return $netbiosname;
- }
-
- if ($var eq "DNSNAME") {
- return $dnsname;
- }
-
- if ($var eq "HOSTIP") {
- return $opt_hostip;
- }
-
- if ($var eq "LDAPTIME") {
- return ldaptime();
- }
-
- if ($var eq "NEWGUID") {
- return randguid();
- }
-
- if ($var eq "NEWSCHEMAGUID") {
- return randguid();
- }
-
- if ($var eq "DOMAINGUID") {
- return $opt_domainguid;
- }
-
- if ($var eq "HOSTGUID") {
- return $opt_hostguid;
- }
-
- if ($var eq "INVOCATIONID") {
- return $opt_invocationid;
- }
-
- if ($var eq "DEFAULTSITE") {
- return $defaultsite;
- }
-
- if ($var eq "ADMINPASS") {
- return $opt_adminpass;
- }
-
- if ($var eq "RANDPASS") {
- return randpass();
- }
-
- if ($var eq "JOINPASS") {
- return $joinpass;
- }
-
- if ($var eq "NTTIME") {
- return "" . nttime();
- }
-
- if ($var eq "WHEEL") {
- return $opt_wheel;
- }
-
- if ($var eq "NOBODY") {
- return $opt_nobody;
- }
-
- if ($var eq "NOGROUP") {
- return $opt_nogroup;
- }
-
- if ($var eq "USERS") {
- return $opt_users;
- }
-
- if ($var eq "USN") {
- my $ret = $usn;
- $usn = $ret + 1;
- return $ret;
- }
-
- die "ERROR: Uknown substitution variable $var\n";
-}
-
-
-####################################################################
-# substitute all variables in a string
-sub apply_substitutions($)
-{
- my $data = shift;
- my $res = "";
- while ($data =~ /(.*?)\$\{(\w*)\}(.*)/s) {
- my $sub = substitute($2);
- $res .= "$1$sub";
- $data = $3;
- }
- $res .= $data;
- return $res;
-}
-
-
-#####################################################################
-# write a string into a file
-sub FileSave($$)
-{
- my($filename) = shift;
- my($v) = shift;
- local(*FILE);
- open(FILE, ">$filename") || die "can't open $filename";
- print FILE $v;
- close(FILE);
-}
-
-#####################################################################
-# read a file into a string
-sub FileLoad($)
-{
- my($filename) = shift;
- local(*INPUTFILE);
- open(INPUTFILE, $filename) || return undef;
- my($saved_delim) = $/;
- undef $/;
- my($data) = <INPUTFILE>;
- close(INPUTFILE);
- $/ = $saved_delim;
- return $data;
-}
-
-#######################################################################
-# add a foreign security principle
-sub add_foreign($$$)
-{
- my $sid = shift;
- my $desc = shift;
- my $unixname = shift;
- return "
-dn: CN=$sid,CN=ForeignSecurityPrincipals,\${BASEDN}
-objectClass: top
-objectClass: foreignSecurityPrincipal
-cn: $sid
-description: $desc
-instanceType: 4
-whenCreated: \${LDAPTIME}
-whenChanged: \${LDAPTIME}
-uSNCreated: 1
-uSNChanged: 1
-showInAdvancedViewOnly: TRUE
-name: $sid
-objectGUID: \${NEWGUID}
-objectSid: $sid
-objectCategory: CN=Foreign-Security-Principal,CN=Schema,CN=Configuration,\${BASEDN}
-unixName: $unixname
-
-";
-}
-
-############################################
-# show some help
-sub ShowHelp()
-{
- print "
-Samba4 provisioning
-
-provision.pl [options]
- --realm REALM set realm
- --domain DOMAIN set domain
- --domain-guid GUID set domainguid (otherwise random)
- --domain-sid SID set domainsid (otherwise random)
- --host-name HOSTNAME set hostname
- --host-ip IPADDRESS set ipaddress
- --host-guid GUID set hostguid (otherwise random)
- --invocationid GUID set invocationid (otherwise random)
- --adminpass PASSWORD choose admin password (otherwise random)
- --nobody USERNAME choose 'nobody' user
- --nogroup GROUPNAME choose 'nogroup' group
- --wheel GROUPNAME choose 'wheel' privileged group
- --users GROUPNAME choose 'users' group
-
-You must provide at least a realm and domain
-
-";
- exit(1);
-}
-
-my $opt_help;
-
-GetOptions(
- 'help|h|?' => \$opt_help,
- 'realm=s' => \$opt_realm,
- 'domain=s' => \$opt_domain,
- 'domain-guid=s' => \$opt_domainguid,
- 'domain-sid=s' => \$opt_domainsid,
- 'host-name=s' => \$opt_hostname,
- 'host-ip=s' => \$opt_hostip,
- 'host-guid=s' => \$opt_hostguid,
- 'invocationid=s' => \$opt_invocationid,
- 'adminpass=s' => \$opt_adminpass,
- 'nobody=s' => \$opt_nobody,
- 'nogroup=s' => \$opt_nogroup,
- 'wheel=s' => \$opt_wheel,
- 'users=s' => \$opt_users,
- );
-
-if ($opt_help ||
- !$opt_realm ||
- !$opt_domain ||
- !$opt_hostname) {
- ShowHelp();
-}
-
-$opt_realm=uc($opt_realm);
-$opt_domain=uc($opt_domain);
-$opt_hostname=lc($opt_hostname);
-$netbiosname=uc($opt_hostname);
-
-if (!$opt_hostip) {
- my $hip = gethostbyname($opt_hostname);
- if (defined $hip) {
- $opt_hostip = inet_ntoa($hip);
- } else {
- $opt_hostip = "<0.0.0.0>";
- }
-}
-
-print "Provisioning host '$opt_hostname'[$opt_hostip] for domain '$opt_domain' in realm '$opt_realm'\n";
-
-if (!$opt_nobody) {
- if (defined getpwnam("nobody")) {
- $opt_nobody = "nobody";
- }
-}
-
-if (!$opt_nogroup) {
- if (defined getgrnam("nogroup")) {
- $opt_nogroup = "nogroup";
- } elsif (defined getgrnam("nobody")) {
- $opt_nogroup = "nobody";
- }
-}
-
-if (!$opt_wheel) {
- if (defined getgrnam("wheel")) {
- $opt_wheel = "wheel";
- } elsif (defined getgrnam("root")) {
- $opt_wheel = "root";
- }
-}
-
-if (!$opt_users) {
- if (defined getgrnam("users")) {
- $opt_users = "users";
- }
-}
-
-$opt_nobody || die "Unable to determine a user for 'nobody'\n";
-$opt_nogroup || die "Unable to determine a group for 'nogroup'\n";
-$opt_users || die "Unable to determine a group for 'users'\n";
-$opt_wheel || die "Unable to determine a group for 'wheel'\n";
-
-print "Using nobody='$opt_nobody' nogroup='$opt_nogroup' wheel='$opt_wheel' users='$opt_users'\n";
-
-print "generating ldif ...\n";
-
-$dnsdomain = lc($opt_realm);
-$dnsname = lc($opt_hostname).".".$dnsdomain;
-$basedn = "DC=" . join(",DC=", split(/\./, $opt_realm));
-
-my $data = FileLoad("provision.ldif") || die "Unable to load provision.ldif\n";
-
-$data .= add_foreign("S-1-5-7", "Anonymous", "\${NOBODY}");
-$data .= add_foreign("S-1-1-0", "World", "\${NOGROUP}");
-$data .= add_foreign("S-1-5-2", "Network", "\${NOGROUP}");
-$data .= add_foreign("S-1-5-18", "System", "root");
-$data .= add_foreign("S-1-5-11", "Authenticated Users", "\${USERS}");
-
-if (!$opt_adminpass) {
- $opt_adminpass = randpass();
- print "chose random Administrator password '$opt_adminpass'\n";
-}
-
-# allow provisioning to be run from the source directory
-$ENV{"PATH"} .= ":bin";
-
-
-my $res = apply_substitutions($data);
-
-my $newdb = "newdb." . int(rand(1000));
-
-print "Putting new database files in $newdb\n";
-
-mkdir($newdb) || die "Unable to create temporary directory $newdb\n";
-
-FileSave("$newdb/sam.ldif", $res);
-
-print "creating $newdb/sam.ldb ...\n";
-
-system("ldbadd -H $newdb/sam.ldb $newdb/sam.ldif") == 0 || die "Failed to create sam.ldb\n";
-
-$data = FileLoad("rootdse.ldif") || die "Unable to load rootdse.ldif\n";
-
-$res = apply_substitutions($data);
-
-FileSave("$newdb/rootdse.ldif", $res);
-
-print "creating $newdb/rootdse.ldb ...\n";
-
-system("ldbadd -H $newdb/rootdse.ldb $newdb/rootdse.ldif") == 0 || die "Failed to create rootdse.ldb\n";
-
-$data = FileLoad("secrets.ldif") || die "Unable to load secrets.ldif\n";
-
-$res = apply_substitutions($data);
-
-FileSave("$newdb/secrets.ldif", $res);
-
-print "creating $newdb/secrets.ldb ...\n";
-
-system("ldbadd -H $newdb/secrets.ldb $newdb/secrets.ldif") == 0 || die "Failed to create secrets.ldb\n";
-
-$data = FileLoad("provision.zone") || die "Unable to load provision.zone\n";
-
-$res = apply_substitutions($data);
-
-print "saving dns zone to $newdb/$dnsdomain.zone ...\n";
-
-FileSave("$newdb/$dnsdomain.zone", $res);
-
-print "creating $newdb/hklm.ldb ... \n";
-
-system("ldbadd -H $newdb/hklm.ldb hklm.ldif") == 0 || die "Failed to create hklm.ldb\n";
-
-print "
-
-Installation:
-- Please move $newdb/*.ldb to the private/ directory of your
- Samba4 installation
-- Please use $newdb/$dnsdomain.zone in BIND on your dns server
-";
-
-
diff --git a/source4/script/rootdse.pl b/source4/script/rootdse.pl
deleted file mode 100755
index cfe49a6582..0000000000
--- a/source4/script/rootdse.pl
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use Getopt::Long;
-
-my $opt_hostname = `hostname`;
-chomp $opt_hostname;
-my $netbiosname;
-my $opt_realm;
-my $opt_domain;
-my $dnsdomain;
-my $dnsname;
-my $basedn;
-
-sub ldaptime()
-{
- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time);
- return sprintf "%04u%02u%02u%02u%02u%02u.0Z",
- $year+1900, $mon+1, $mday, $hour, $min, $sec;
-}
-
-#######################
-# substitute a single variable
-sub substitute($)
-{
- my $var = shift;
-
- if ($var eq "BASEDN") {
- return $basedn;
- }
-
- if ($var eq "NETBIOSNAME") {
- return $netbiosname;
- }
-
- if ($var eq "DNSNAME") {
- return $dnsname;
- }
-
- if ($var eq "DNSDOMAIN") {
- return $dnsdomain;
- }
-
- die "ERROR: Uknown substitution variable $var\n";
-}
-
-#####################################################################
-# write a string into a file
-sub FileSave($$)
-{
- my($filename) = shift;
- my($v) = shift;
- local(*FILE);
- open(FILE, ">$filename") || die "can't open $filename";
- print FILE $v;
- close(FILE);
-}
-
-#####################################################################
-# read a file into a string
-sub FileLoad($)
-{
- my($filename) = shift;
- local(*INPUTFILE);
- open(INPUTFILE, $filename) || return undef;
- my($saved_delim) = $/;
- undef $/;
- my($data) = <INPUTFILE>;
- close(INPUTFILE);
- $/ = $saved_delim;
- return $data;
-}
-
-############################################
-# show some help
-sub ShowHelp()
-{
- print "
-Samba4 provisioning
-
-rootdse.pl [options]
- --realm REALM set realm
- --domain DOMAIN set domain
- --hostname HOSTNAME set hostname
-
-You must provide at least a realm and domain
-
-";
- exit(1);
-}
-
-my $opt_help;
-
-GetOptions(
- 'help|h|?' => \$opt_help,
- 'realm=s' => \$opt_realm,
- 'domain=s' => \$opt_domain,
- 'hostname=s' => \$opt_hostname,
- );
-
-if ($opt_help ||
- !$opt_realm ||
- !$opt_domain ||
- !$opt_hostname) {
- ShowHelp();
-}
-
-$opt_realm=uc($opt_realm);
-$opt_domain=uc($opt_domain);
-$opt_hostname=lc($opt_hostname);
-$netbiosname=uc($opt_hostname);
-
-print "Provisioning host '$opt_hostname' with netbios name '$netbiosname' for domain '$opt_domain' in realm '$opt_realm'\n";
-
-print "generating ldif ...\n";
-
-$dnsdomain = lc($opt_realm);
-$dnsname = $opt_hostname.".".$dnsdomain;
-$basedn = "DC=" . join(",DC=", split(/\./, $opt_realm));
-
-my $data = FileLoad("rootdse.ldif") || die "Unable to load rootdse.ldif\n";
-
-my $res = "";
-
-print "applying substitutions ...\n";
-
-while ($data =~ /(.*?)\$\{(\w*)\}(.*)/s) {
- my $sub = substitute($2);
- $res .= "$1$sub";
- $data = $3;
-}
-$res .= $data;
-
-print "saving ldif to newrootdse.ldif ...\n";
-
-FileSave("newrootdse.ldif", $res);
-
-unlink("newrootdse.ldb");
-
-print "creating newrootdse.ldb ...\n";
-
-# allow provisioning to be run from the source directory
-$ENV{"PATH"} .= ":bin";
-
-system("ldbadd -H newrootdse.ldb newrootdse.ldif");
-
-print "done
-
-Please move newrootdse.ldb to rootdse.ldb in the private/ directory of your
-Samba4 installation
-";
-
diff --git a/source4/script/scancvslog.pl b/source4/script/scancvslog.pl
deleted file mode 100755
index c39f9111c1..0000000000
--- a/source4/script/scancvslog.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/usr/bin/perl
-require"timelocal.pl";
-
-#
-# usage scancvslog.pl logfile starttime tag
-#
-# this will extract all entries from the specified cvs log file
-# that have a date later than or equal to starttime and a tag
-# value of tag. If starttime is not specified, all entries are
-# extracted. If tag is not specified then entries for all
-# branches are extracted. starttime must be specified as
-# "monthname day, year"
-#
-# Example to extract all entries for SAMBA_2_2 branch from the
-# log file named cvs.log
-#
-# scancvslog.pl cvs.log "" SAMBA_2_2
-#
-#
-# To extract all log entries after Jan 10, 1999 (Note month name
-# must be spelled out completely).
-#
-# scancvslog.pl cvs.log "January 10, 1999"
-#
-
-open(INFILE,@ARGV[0]) || die "Unable to open @ARGV[0]\n";
-
-%Monthnum = (
- "January", 0,
- "February", 1,
- "March", 2,
- "April", 3,
- "May", 4,
- "June", 5,
- "July", 6,
- "August", 7,
- "September", 8,
- "October", 9,
- "November", 10,
- "December", 11,
- "Jan", 0,
- "Feb", 1,
- "Mar", 2,
- "Apr", 3,
- "May", 4,
- "Jun", 5,
- "Jul", 6,
- "Aug", 7,
- "Sep", 8,
- "Oct", 9,
- "Nov", 10,
- "Dec", 11
-);
-
-$Starttime = (@ARGV[1]) ? &make_time(@ARGV[1]) : 0;
-$Tagvalue = @ARGV[2];
-
-while (&get_entry) {
- $_=$Entry[0];
-# get rid of extra white space
- s/\s+/ /g;
-# get rid of any time string in date
- s/ \d\d:\d\d:\d\d/,/;
- s/^Date:\s*\w*\s*(\w*)\s*(\w*),\s*(\w*).*/$1 $2 $3/;
- $Testtime = &make_time($_);
- $Testtag = &get_tag;
- if (($Testtime >= $Starttime) && ($Tagvalue eq $Testtag)) {
- print join("\n",@Entry),"\n";
- }
-}
-close(INFILE);
-
-sub make_time {
- $_ = @_[0];
- s/,//;
- ($month, $day, $year) = split(" ",$_);
- if (($year < 1900)||($day < 1)||($day > 31)||not length($Monthnum{$month})) {
- print "Bad date format @_[0]\n";
- print "Date needs to be specified as \"Monthname day, year\"\n";
- print "eg: \"January 10, 1999\"\n";
- exit 1;
- }
- $year = ($year == 19100) ? 2000 : $year;
- $month = $Monthnum{$month};
- $Mytime=&timelocal((0,0,0,$day,$month,$year));
-}
-
-sub get_tag {
- @Mytag = grep (/Tag:/,@Entry);
- $_ = @Mytag[0];
- s/^.*Tag:\s*(\w*).*/$1/;
- return $_;
-}
-
-sub get_entry {
- @Entry=();
- if (not eof(INFILE)) {
- while (not eof(INFILE)) {
- $_ = <INFILE>;
- chomp $_;
- next if (not ($_));
- if (/^\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/) {
- next if ($#Entry == -1);
- push(Entry,$_);
- return @Entry;
- } else {
- push(Entry,$_);
- }
- }
- }
- return @Entry;
-}
diff --git a/source4/script/smbtar b/source4/script/smbtar
deleted file mode 100644
index f062cba9f0..0000000000
--- a/source4/script/smbtar
+++ /dev/null
@@ -1,165 +0,0 @@
-#!/bin/sh
-#
-# smbtar script - front end to smbclient
-#
-# Authors: Martin.Kraemer <Martin.Kraemer@mch.sni.de>
-# and Ricky Poulten (ricky@logcam.co.uk)
-#
-# (May need to change shell to ksh for HPUX or OSF for better getopts)
-#
-# sandy nov 3 '98 added -a flag
-#
-# Richard Sharpe, added -c 'tarmode full' so that we back up all files to
-# fix a bug in clitar when a patch was added to stop system and hidden files
-# being backed up.
-
-case $0 in
- # when called by absolute path, assume smbclient is in the same directory
- /*)
- SMBCLIENT="`dirname $0`/smbclient";;
- *) # you may need to edit this to show where your smbclient is
- SMBCLIENT="smbclient";;
-esac
-
-# These are the default values. You could fill them in if you know what
-# you're doing, but beware: better not store a plain text password!
-server=""
-service="backup" # Default: a service called "backup"
-password=""
-username=$LOGNAME # Default: same user name as in *nix
-verbose="2>/dev/null" # Default: no echo to stdout
-log="-d 2"
-newer=""
-newerarg=""
-blocksize=""
-blocksizearg=""
-clientargs="-c 'tarmode full'"
-tarcmd="c"
-tarargs=""
-cdcmd="\\"
-tapefile=${TAPE-tar.out}
-
-Usage(){
- ex=$1
- shift
-echo >&2 "Usage: `basename $0` [<options>] [<include/exclude files>]
-Function: backup/restore a Windows PC directories to a local tape file
-Options: (Description) (Default)
- -r Restore from tape file to PC Save from PC to tapefile
- -i Incremental mode Full backup mode
- -a Reset archive bit mode Don't reset archive bit
- -v Verbose mode: echo command Don't echo anything
- -s <server> Specify PC Server $server
- -p <password> Specify PC Password $password
- -x <share> Specify PC Share $service
- -X Exclude mode Include
- -N <newer> File for date comparison `set -- $newer; echo $2`
- -b <blocksize> Specify tape's blocksize `set -- $blocksize; echo $2`
- -d <dir> Specify a directory in share $cdcmd
- -l <log> Specify a Samba Log Level `set -- $log; echo $2`
- -u <user> Specify User Name $username
- -t <tape> Specify Tape device $tapefile
-"
- echo >&2 "$@"
- exit $ex
-}
-
-# echo Params count: $#
-
-# DEC OSF AKA Digital UNIX does not seem to return a value in OPTIND if
-# there are no command line params, so protect us against that ...
-if [ $# = 0 ]; then
-
- Usage 2 "Please enter a command line parameter!"
-
-fi
-
-while getopts riavl:b:d:N:s:p:x:u:Xt: c; do
- case $c in
- r) # [r]estore to Windows (instead of the default "Save from Windows")
- tarcmd="x"
- ;;
- i) # [i]ncremental
- tarargs=${tarargs}ga
- clientargs="-c 'tarmode inc'"
- ;;
- a) # [a]rchive
- tarargs=${tarargs}a
- ;;
- l) # specify [l]og file
- log="-d $OPTARG"
- case "$OPTARG" in
- [0-9]*) ;;
- *) echo >&2 "$0: Error, log level not numeric: -l $OPTARG"
- exit 1
- esac
- ;;
- d) # specify [d]irectory to change to in server's share
- cdcmd="$OPTARG"
- ;;
- N) # compare with a file, test if [n]ewer
- if [ -f $OPTARG ]; then
- newer=$OPTARG
- newerarg="N"
- else
- echo >&2 $0: Warning, $OPTARG not found
- fi
- ;;
- X) # Add exclude flag
- tarargs=${tarargs}X
- ;;
- s) # specify [s]erver's share to connect to - this MUST be given.
- server="$OPTARG"
- ;;
- b) # specify [b]locksize
- blocksize="$OPTARG"
- case "$OPTARG" in
- [0-9]*) ;;
- *) echo >&2 "$0: Error, block size not numeric: -b $OPTARG"
- exit 1
- esac
- blocksizearg="b"
- ;;
- p) # specify [p]assword to use
- password="$OPTARG"
- ;;
- x) # specify windows [s]hare to use
- service="$OPTARG"
- ;;
- t) # specify [t]apefile on local host
- tapefile="$OPTARG"
- ;;
- u) # specify [u]sername for connection
- username="$OPTARG"
- ;;
- v) # be [v]erbose and display what's going on
- verbose=""
- ;;
- '?') # any other switch
- Usage 2 "Invalid switch specified - abort."
- ;;
- esac
-done
-
-shift `expr $OPTIND - 1`
-
-if [ "$server" = "" ] || [ "$service" = "" ]; then
- Usage 1 "No server or no service specified - abort."
-fi
-
-# if the -v switch is set, the echo the current parameters
-if [ -z "$verbose" ]; then
- echo "server is $server"
-# echo "share is $service"
- echo "share is $service\\$cdcmd"
- echo "tar args is $tarargs"
-# echo "password is $password" # passwords should never be sent to screen
- echo "tape is $tapefile"
- echo "blocksize is $blocksize"
-fi
-
-tarargs=${tarargs}${blocksizearg}${newerarg}
-
-eval $SMBCLIENT "'\\\\$server\\$service'" "'$password'" -U "'$username'" \
--E -N $log -D "'$cdcmd'" ${clientargs} \
--T${tarcmd}${tarargs} $blocksize $newer $tapefile '${1+"$@"}' $verbose
diff --git a/source4/script/updatesmbpasswd.sh b/source4/script/updatesmbpasswd.sh
deleted file mode 100644
index 1d7e0d7332..0000000000
--- a/source4/script/updatesmbpasswd.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-nawk 'BEGIN {FS=":"}
-{
- if( $0 ~ "^#" ) {
- print $0
- } else if( (length($4) == 32) && (($4 ~ "^[0-9A-F]*$") || ($4 ~ "^[X]*$") || ( $4 ~ "^[*]*$"))) {
- print $0
- } else {
- printf( "%s:%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:", $1, $2, $3);
- for(i = 4; i <= NF; i++)
- printf("%s:", $i)
- printf("\n")
- }
-}'