r6207: - clean up source topdir
authorStefan Metzmacher <metze@samba.org>
Tue, 5 Apr 2005 07:03:31 +0000 (07:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:11:26 +0000 (13:11 -0500)
- move provision stuff to setup/
- remove unused scripts

metze

21 files changed:
source/samba3_nmbd.patch [deleted file]
source/script/addtosmbpass [deleted file]
source/script/convert_smbpasswd [deleted file]
source/script/creategroup [deleted file]
source/script/findsmb.in [deleted file]
source/script/genstruct.pl [deleted file]
source/script/mknissmbpasswd.sh [deleted file]
source/script/mknissmbpwdtbl.sh [deleted file]
source/script/mksmbpasswd.sh [deleted file]
source/script/scancvslog.pl [deleted file]
source/script/smbtar [deleted file]
source/script/updatesmbpasswd.sh [deleted file]
source/setup/dcpromo.pl [moved from source/script/dcpromo.pl with 100% similarity]
source/setup/hklm.ldif [moved from source/hklm.ldif with 100% similarity]
source/setup/newuser.pl [moved from source/script/newuser.pl with 98% similarity]
source/setup/provision.ldif [moved from source/provision.ldif with 100% similarity]
source/setup/provision.pl [moved from source/script/provision.pl with 99% similarity]
source/setup/provision.zone [moved from source/provision.zone with 100% similarity]
source/setup/rootdse.ldif [moved from source/rootdse.ldif with 100% similarity]
source/setup/rootdse.pl [moved from source/script/rootdse.pl with 98% similarity]
source/setup/secrets.ldif [moved from source/secrets.ldif with 100% similarity]

diff --git a/source/samba3_nmbd.patch b/source/samba3_nmbd.patch
deleted file mode 100644 (file)
index 772a0f9..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-This is a extremely rough patch that 'fixes' Samba3 nmbd to allow a
-join from a WinXP client to a Samba4 server. Note that it hard-codes
-the domain GUID. Please only use for testing Samba4 - do not apply
-this to Samba3 svn.
-
-
-Index: nmbd/nmbd_processlogon.c
-===================================================================
---- nmbd/nmbd_processlogon.c   (revision 4247)
-+++ nmbd/nmbd_processlogon.c   (working copy)
-@@ -58,10 +58,37 @@
-         tdb_close(tdb);
- }
-+
-+int push_components(unsigned char *q, const char *s)
-+{
-+      char *p;
-+      int l, len = 0;
-+
-+      if (*s == 0) {
-+              q[0] = 0;
-+              return 1;
-+      }
-+
-+      while ((p = strchr(s, '.'))) {
-+              l = (p-s);
-+              q[0] = l;
-+              memcpy(q+1, s, l);
-+              s += l + 1;
-+              q += l+1;
-+              len += l+1;
-+      }
-+
-+      l = strlen(s);
-+      q[0] = l;
-+      memcpy(q+1, s, l+1);
-+      len += strlen(s)+2;
-+
-+      return len;
-+}
-+
- /****************************************************************************
- Process a domain logon packet
- **************************************************************************/
--
- void process_logon_packet(struct packet_struct *p, char *buf,int len, 
-                           const char *mailslot)
- {
-@@ -393,6 +420,8 @@
-                                       get_mydnsdomname(domain);
-                                       get_myname(hostname);
-+
-+                                      pstrcpy(domain, "bludom.tridgell.net");
-       
-                                       if (SVAL(uniuser, 0) == 0) {
-                                               SIVAL(q, 0, SAMLOGON_AD_UNK_R); /* user unknown */
-@@ -403,6 +432,9 @@
-                                       SIVAL(q, 0, ADS_PDC|ADS_GC|ADS_LDAP|ADS_DS|
-                                               ADS_KDC|ADS_TIMESERV|ADS_CLOSEST|ADS_WRITABLE);
-+                                      SIVAL(q, 0, 0x3fd);
-+                                      SIVAL(q, 0, ADS_PDC|ADS_DS|
-+                                              ADS_TIMESERV|ADS_CLOSEST|ADS_WRITABLE);
-                                       q += 4;
-                                       /* Push Domain GUID */
-@@ -411,80 +443,34 @@
-                                               return;
-                                       }
-+                                      smb_string_to_uuid("b0eac516-4a33-8675-4127-6bf058911234", &domain_guid);
-+
-+                                      dump_data(0, domain_guid.node, 6);
-+
-                                       smb_uuid_pack(domain_guid, &flat_guid);
-                                       memcpy(q, &flat_guid.info, UUID_FLAT_SIZE);
--                                      q += UUID_FLAT_SIZE;
--                                      /* Forest */
--                                      str_offset = q - q_orig;
--                                      dc = domain;
--                                      q1 = q;
--                                      while ((component = strtok(dc, "."))) {
--                                              dc = NULL;
--                                              size = push_ascii(&q[1], component, -1, 0);
--                                              SCVAL(q, 0, size);
--                                              q += (size + 1);
--                                      }
-+                                      dump_data(0, q, 16);
--                                      /* Unk0 */
--                                      SCVAL(q, 0, 0);
--                                      q++;
-+                                      q += UUID_FLAT_SIZE;
--                                      /* Domain */
--                                      SCVAL(q, 0, 0xc0 | ((str_offset >> 8) & 0x3F));
--                                      SCVAL(q, 1, str_offset & 0xFF);
--                                      q += 2;
-+                                      const char *dnsname = "192.168.115.1";
--                                      /* Hostname */
--                                      size = push_ascii(&q[1], hostname, -1, 0);
--                                      SCVAL(q, 0, size);
--                                      q += (size + 1);
--                                      SCVAL(q, 0, 0xc0 | ((str_offset >> 8) & 0x3F));
--                                      SCVAL(q, 1, str_offset & 0xFF);
--                                      q += 2;
--
--                                      /* NETBIOS of domain */
--                                      size = push_ascii(&q[1], lp_workgroup(), -1, STR_UPPER);
--                                      SCVAL(q, 0, size);
--                                      q += (size + 1);
--
--                                      /* Unk1 */
--                                      SCVAL(q, 0, 0);
--                                      q++;
--
--                                      /* NETBIOS of hostname */
--                                      size = push_ascii(&q[1], my_name, -1, 0);
--                                      SCVAL(q, 0, size);
--                                      q += (size + 1);
--
--                                      /* Unk2 */
--                                      SCVAL(q, 0, 0);
--                                      q++;
--
--                                      /* User name */
--                                      if (SVAL(uniuser, 0) != 0) {
--                                              size = push_ascii(&q[1], ascuser, -1, 0);
--                                              SCVAL(q, 0, size);
--                                              q += (size + 1);
-+                                      q += push_components(q, domain);
-+                                      q += push_components(q, domain);
-+                                      q += push_components(q, dnsname);
-+                                      q += push_components(q, lp_workgroup());
-+                                      q += push_components(q, my_name);
-+                                      q += push_components(q, "");
-+                                      if (SVAL(uniuser, 0)) {
-+                                              q += push_components(q, ascuser);
-                                       }
-+                                      q += push_components(q, "Default-First-Site-Name");
-+                                      q += push_components(q, "Default-First-Site-Name");
--                                      q_orig = q;
--                                      /* Site name */
--                                      size = push_ascii(&q[1], "Default-First-Site-Name", -1, 0);
--                                      SCVAL(q, 0, size);
--                                      q += (size + 1);
--
--                                      /* Site name (2) */
--                                      str_offset = q - q_orig;
--                                      SCVAL(q, 0, 0xc0 | ((str_offset >> 8) & 0x3F));
--                                      SCVAL(q, 1, str_offset & 0xFF);
--                                      q += 2;
--
--                                      SCVAL(q, 0, PTR_DIFF(q,q1));
--                                      SCVAL(q, 1, 0x10); /* unknown */
--
--                                      SIVAL(q, 0, 0x00000002);
--                                      q += 4; /* unknown */
-+                                      SCVAL(q, 0, 0x10); /* unknown */
-+                                      SIVAL(q, 1, 0x00000002);
-+                                      q += 5;
-                                       SIVAL(q, 0, (iface_ip(p->ip))->s_addr);
-                                       q += 4;
-                                       SIVAL(q, 0, 0x00000000);
-@@ -495,7 +481,7 @@
- #endif
-                               /* tell the client what version we are */
--                              SIVAL(q, 0, ((ntversion < 11) || (SEC_ADS != lp_security())) ? 1 : 13); 
-+                              SIVAL(q, 0, 13);
-                               /* our ntversion */
-                               SSVAL(q, 4, 0xffff); /* our lmnttoken */ 
-                               SSVAL(q, 6, 0xffff); /* our lm20token */
diff --git a/source/script/addtosmbpass b/source/script/addtosmbpass
deleted file mode 100644 (file)
index bc82851..0000000
+++ /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/source/script/convert_smbpasswd b/source/script/convert_smbpasswd
deleted file mode 100755 (executable)
index edb775d..0000000
+++ /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/source/script/creategroup b/source/script/creategroup
deleted file mode 100755 (executable)
index 01fb065..0000000
+++ /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/source/script/findsmb.in b/source/script/findsmb.in
deleted file mode 100755 (executable)
index 6276bd3..0000000
+++ /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/source/script/genstruct.pl b/source/script/genstruct.pl
deleted file mode 100755 (executable)
index 081b81f..0000000
+++ /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/source/script/mknissmbpasswd.sh b/source/script/mknissmbpasswd.sh
deleted file mode 100755 (executable)
index a94c963..0000000
+++ /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/source/script/mknissmbpwdtbl.sh b/source/script/mknissmbpwdtbl.sh
deleted file mode 100755 (executable)
index a9b34ff..0000000
+++ /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/source/script/mksmbpasswd.sh b/source/script/mksmbpasswd.sh
deleted file mode 100644 (file)
index 854e1bd..0000000
+++ /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/source/script/scancvslog.pl b/source/script/scancvslog.pl
deleted file mode 100755 (executable)
index c39f911..0000000
+++ /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/source/script/smbtar b/source/script/smbtar
deleted file mode 100644 (file)
index f062cba..0000000
+++ /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/source/script/updatesmbpasswd.sh b/source/script/updatesmbpasswd.sh
deleted file mode 100644 (file)
index 1d7e0d7..0000000
+++ /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")
-       }
-}'
similarity index 100%
rename from source/hklm.ldif
rename to source/setup/hklm.ldif
similarity index 98%
rename from source/script/newuser.pl
rename to source/setup/newuser.pl
index 22e3992bbe1378e99af1691156375460214df12f..6ddda5028e9abb169c2ccb015ce4d7a307475278 100755 (executable)
@@ -52,7 +52,7 @@ sub ShowHelp()
        print "
 Samba4 newuser
 
-provision.pl [options]
+newuser.pl [options]
   --username  USERNAME     choose new username
   --password  PASSWORD     set password
   --samdb     DBPATH       path to sam.ldb
@@ -89,7 +89,7 @@ if (!$opt_unixname) {
 my $res = "";
 
 # allow provisioning to be run from the source directory
-$ENV{"PATH"} .= ":bin";
+$ENV{"PATH"} .= ":bin:../bin";
 
 $ENV{"LDB_URL"} = $opt_samdb;
 
similarity index 99%
rename from source/script/provision.pl
rename to source/setup/provision.pl
index e1d5278453a293e90773705919eeb93439ffbb2e..4000ac3bded4ec52d8ce3e86b96f4da070c172bd 100755 (executable)
@@ -383,7 +383,7 @@ if (!$opt_adminpass) {
 }
 
 # allow provisioning to be run from the source directory
-$ENV{"PATH"} .= ":bin";
+$ENV{"PATH"} .= ":bin:../bin";
 
 
 my $res = apply_substitutions($data);
similarity index 98%
rename from source/script/rootdse.pl
rename to source/setup/rootdse.pl
index cfe49a65820e4270c02fce20cfbcb38855b5a096..799019fad8fbccb099687b154bc5b9262f8e4c0b 100755 (executable)
@@ -140,7 +140,7 @@ unlink("newrootdse.ldb");
 print "creating newrootdse.ldb ...\n";
 
 # allow provisioning to be run from the source directory
-$ENV{"PATH"} .= ":bin";
+$ENV{"PATH"} .= ":bin:../bin";
 
 system("ldbadd -H newrootdse.ldb newrootdse.ldif");