[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha5-408-gda333ca

Stefan Metzmacher metze at samba.org
Tue Aug 26 16:54:50 GMT 2008


The branch, v4-0-test has been updated
       via  da333ca7113f78eeacab4f93b401f075114c7d88 (commit)
       via  f4cfba26aebb18fecdb50478bec9c07d4910ab3b (commit)
       via  3ab59dc66fe2d40533a66ff786d0b2373eea1ab8 (commit)
       via  8d6d96898dcc948aa0ee004eaeb48dc847946361 (commit)
       via  94cef56212d7d7c1150aea760dba24bda7190442 (commit)
      from  d3e939bf75fb85cf0eb3551856e161e3e58c0031 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit da333ca7113f78eeacab4f93b401f075114c7d88
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 26 11:20:54 2008 +0200

    heimdal_build: autogenerate the heimdal private/proto headers
    
    Now it's possible to just use a plain heimdal tree in source/heimdal/
    without any pregenerated files.
    
    metze

commit f4cfba26aebb18fecdb50478bec9c07d4910ab3b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 26 11:22:17 2008 +0200

    heimdal_build: autogenerate table files in heimdal/lib/wind/
    
    metze

commit 3ab59dc66fe2d40533a66ff786d0b2373eea1ab8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 26 10:49:40 2008 +0200

    heimdal_build: autogenerate heimdal/lib/roken/roken.h
    
    metze

commit 8d6d96898dcc948aa0ee004eaeb48dc847946361
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 26 11:29:33 2008 +0200

    heimdal_build: add fallback for AC_WARNING_ENABLE()
    
    metze

commit 94cef56212d7d7c1150aea760dba24bda7190442
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 26 11:25:10 2008 +0200

    heimdal: remove unused old files
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                         |   13 +
 source/heimdal/cf/check-var.m4                     |    2 +-
 source/heimdal/cf/make-proto.pl                    |  351 +
 source/heimdal/kdc/kdc-private.h                   |  287 -
 source/heimdal/kdc/kdc-protos.h                    |   92 -
 source/heimdal/lib/asn1/der-protos.h               |  567 -
 source/heimdal/lib/asn1/libasn1.h                  |   51 -
 source/heimdal/lib/gssapi/krb5/gsskrb5-private.h   |  704 -
 source/heimdal/lib/gssapi/spnego/spnego-private.h  |  337 -
 source/heimdal/lib/hdb/hdb-private.h               |   54 -
 source/heimdal/lib/hdb/hdb-protos.h                |  400 -
 source/heimdal/lib/hx509/hx509-private.h           |  548 -
 source/heimdal/lib/hx509/hx509-protos.h            | 1080 -
 source/heimdal/lib/krb5/keytab_krb4.c              |  458 -
 source/heimdal/lib/krb5/krb5-private.h             |  455 -
 source/heimdal/lib/krb5/krb5-protos.h              | 4169 ----
 source/heimdal/lib/ntlm/heimntlm-protos.h          |  131 -
 .../lib/wind/CompositionExclusions-3.2.0.txt       |  176 +
 .../heimdal/lib/wind/DerivedNormalizationProps.txt | 2574 +++
 .../heimdal/lib/wind/NormalizationCorrections.txt  |   43 +
 source/heimdal/lib/wind/NormalizationTest.txt      |17166 +++++++++++++++
 source/heimdal/lib/wind/UnicodeData.py             |   57 +
 source/heimdal/lib/wind/UnicodeData.txt            |15100 +++++++++++++
 source/heimdal/lib/wind/bidi_table.c               |  410 -
 source/heimdal/lib/wind/bidi_table.h               |   21 -
 source/heimdal/lib/wind/combining_table.c          |  362 -
 source/heimdal/lib/wind/combining_table.h          |   18 -
 source/heimdal/lib/wind/errorlist_table.c          |   88 -
 source/heimdal/lib/wind/errorlist_table.h          |   19 -
 source/heimdal/lib/wind/gen-bidi.py                |  101 +
 source/heimdal/lib/wind/gen-combining.py           |  104 +
 source/heimdal/lib/wind/gen-errorlist.py           |  120 +
 source/heimdal/lib/wind/gen-map.py                 |  158 +
 source/heimdal/lib/wind/gen-normalize.py           |  210 +
 source/heimdal/lib/wind/generate.py                |   81 +
 source/heimdal/lib/wind/map_table.c                | 2613 ---
 source/heimdal/lib/wind/map_table.h                |   22 -
 source/heimdal/lib/wind/normalize_table.c          |22976 --------------------
 source/heimdal/lib/wind/normalize_table.h          |   34 -
 source/heimdal/lib/wind/rfc3454.py                 |   60 +
 source/heimdal/lib/wind/rfc3454.txt                | 5099 +++++
 source/heimdal/lib/wind/rfc3490.txt                | 1235 ++
 source/heimdal/lib/wind/rfc3491.txt                |  395 +
 source/heimdal/lib/wind/rfc3492.txt                | 1963 ++
 source/heimdal/lib/wind/rfc4013.txt                |  339 +
 source/heimdal/lib/wind/rfc4518.py                 |  150 +
 source/heimdal/lib/wind/rfc4518.txt                |  787 +
 source/heimdal/lib/wind/stringprep.py              |   90 +
 source/heimdal/lib/wind/util.py                    |   48 +
 source/heimdal_build/internal.m4                   |    2 +
 source/heimdal_build/internal.mk                   |  152 +-
 51 files changed, 46574 insertions(+), 35898 deletions(-)
 create mode 100644 source/heimdal/cf/make-proto.pl
 delete mode 100644 source/heimdal/kdc/kdc-private.h
 delete mode 100644 source/heimdal/kdc/kdc-protos.h
 delete mode 100644 source/heimdal/lib/asn1/der-protos.h
 delete mode 100644 source/heimdal/lib/asn1/libasn1.h
 delete mode 100644 source/heimdal/lib/gssapi/krb5/gsskrb5-private.h
 delete mode 100644 source/heimdal/lib/gssapi/spnego/spnego-private.h
 delete mode 100644 source/heimdal/lib/hdb/hdb-private.h
 delete mode 100644 source/heimdal/lib/hdb/hdb-protos.h
 delete mode 100644 source/heimdal/lib/hx509/hx509-private.h
 delete mode 100644 source/heimdal/lib/hx509/hx509-protos.h
 delete mode 100644 source/heimdal/lib/krb5/keytab_krb4.c
 delete mode 100644 source/heimdal/lib/krb5/krb5-private.h
 delete mode 100644 source/heimdal/lib/krb5/krb5-protos.h
 delete mode 100644 source/heimdal/lib/ntlm/heimntlm-protos.h
 create mode 100644 source/heimdal/lib/wind/CompositionExclusions-3.2.0.txt
 create mode 100644 source/heimdal/lib/wind/DerivedNormalizationProps.txt
 create mode 100644 source/heimdal/lib/wind/NormalizationCorrections.txt
 create mode 100644 source/heimdal/lib/wind/NormalizationTest.txt
 create mode 100644 source/heimdal/lib/wind/UnicodeData.py
 create mode 100644 source/heimdal/lib/wind/UnicodeData.txt
 delete mode 100644 source/heimdal/lib/wind/bidi_table.c
 delete mode 100644 source/heimdal/lib/wind/bidi_table.h
 delete mode 100644 source/heimdal/lib/wind/combining_table.c
 delete mode 100644 source/heimdal/lib/wind/combining_table.h
 delete mode 100644 source/heimdal/lib/wind/errorlist_table.c
 delete mode 100644 source/heimdal/lib/wind/errorlist_table.h
 create mode 100755 source/heimdal/lib/wind/gen-bidi.py
 create mode 100755 source/heimdal/lib/wind/gen-combining.py
 create mode 100755 source/heimdal/lib/wind/gen-errorlist.py
 create mode 100755 source/heimdal/lib/wind/gen-map.py
 create mode 100755 source/heimdal/lib/wind/gen-normalize.py
 create mode 100644 source/heimdal/lib/wind/generate.py
 delete mode 100644 source/heimdal/lib/wind/map_table.c
 delete mode 100644 source/heimdal/lib/wind/map_table.h
 delete mode 100644 source/heimdal/lib/wind/normalize_table.c
 delete mode 100644 source/heimdal/lib/wind/normalize_table.h
 create mode 100644 source/heimdal/lib/wind/rfc3454.py
 create mode 100644 source/heimdal/lib/wind/rfc3454.txt
 create mode 100644 source/heimdal/lib/wind/rfc3490.txt
 create mode 100644 source/heimdal/lib/wind/rfc3491.txt
 create mode 100644 source/heimdal/lib/wind/rfc3492.txt
 create mode 100644 source/heimdal/lib/wind/rfc4013.txt
 create mode 100644 source/heimdal/lib/wind/rfc4518.py
 create mode 100644 source/heimdal/lib/wind/rfc4518.txt
 create mode 100644 source/heimdal/lib/wind/stringprep.py
 create mode 100644 source/heimdal/lib/wind/util.py


Changeset truncated at 500 lines:

diff --git a/.gitignore b/.gitignore
index a216677..35a30b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,6 +46,19 @@ source/heimdal/lib/krb5/heim_err.?
 source/heimdal/lib/krb5/k524_err.?
 source/heimdal/lib/krb5/krb5_err.?
 source/heimdal/lib/roken/vis.h
+source/heimdal/lib/wind/*_table.?
+source/heimdal/kdc/kdc-private.h
+source/heimdal/kdc/kdc-protos.h
+source/heimdal/lib/asn1/der-protos.h
+source/heimdal/lib/gssapi/krb5/gsskrb5-private.h
+source/heimdal/lib/gssapi/spnego/spnego-private.h
+source/heimdal/lib/hdb/hdb-private.h
+source/heimdal/lib/hdb/hdb-protos.h
+source/heimdal/lib/hx509/hx509-private.h
+source/heimdal/lib/hx509/hx509-protos.h
+source/heimdal/lib/krb5/krb5-private.h
+source/heimdal/lib/krb5/krb5-protos.h
+source/heimdal/lib/ntlm/heimntlm-protos.h
 source/include/build.h
 config.h
 config.h.in
diff --git a/source/heimdal/cf/check-var.m4 b/source/heimdal/cf/check-var.m4
index ffa6191..1e68465 100644
--- a/source/heimdal/cf/check-var.m4
+++ b/source/heimdal/cf/check-var.m4
@@ -23,5 +23,5 @@ if test "$ac_foo" = yes; then
 fi
 ])
 
-dnl AC_WARNING_ENABLE([obsolete])
+AC_WARNING_ENABLE([obsolete])
 AU_DEFUN([AC_CHECK_VAR], [rk_CHECK_VAR([$2], [$1])], [foo])
diff --git a/source/heimdal/cf/make-proto.pl b/source/heimdal/cf/make-proto.pl
new file mode 100644
index 0000000..8c7b54a
--- /dev/null
+++ b/source/heimdal/cf/make-proto.pl
@@ -0,0 +1,351 @@
+# Make prototypes from .c files
+# $Id: make-proto.pl 23023 2008-04-17 10:01:46Z lha $
+
+##use Getopt::Std;
+require 'getopts.pl';
+
+my $comment = 0;
+my $if_0 = 0;
+my $brace = 0;
+my $line = "";
+my $debug = 0;
+my $oproto = 1;
+my $private_func_re = "^_";
+
+do Getopts('x:m:o:p:dqE:R:P:') || die "foo";
+
+if($opt_d) {
+    $debug = 1;
+}
+
+if($opt_q) {
+    $oproto = 0;
+}
+
+if($opt_R) {
+    $private_func_re = $opt_R;
+}
+%flags = (
+	  'multiline-proto' => 1,
+	  'header' => 1,
+	  'function-blocking' => 0,
+	  'gnuc-attribute' => 1,
+	  'cxx' => 1
+	  );
+if($opt_m) {
+    foreach $i (split(/,/, $opt_m)) {
+	if($i eq "roken") {
+	    $flags{"multiline-proto"} = 0;
+	    $flags{"header"} = 0;
+	    $flags{"function-blocking"} = 0;
+	    $flags{"gnuc-attribute"} = 0;
+	    $flags{"cxx"} = 0;
+	} else {
+	    if(substr($i, 0, 3) eq "no-") {
+		$flags{substr($i, 3)} = 0;
+	    } else {
+		$flags{$i} = 1;
+	    }
+	}
+    }
+}
+
+if($opt_x) {
+    open(EXP, $opt_x);
+    while(<EXP>) {
+	chomp;
+	s/\#.*//g;
+	s/\s+/ /g;
+	if(/^([a-zA-Z0-9_]+)\s?(.*)$/) {
+	    $exported{$1} = $2;
+	} else {
+	    print $_, "\n";
+	}
+    }
+    close EXP;
+}
+
+while(<>) {
+    print $brace, " ", $_ if($debug);
+    
+    # Handle C comments
+    s@/\*.*\*/@@;
+    s@//.*/@@;
+    if ( s@/\*.*@@) { $comment = 1;
+    } elsif ($comment && s at .*\*/@@) { $comment = 0;
+    } elsif ($comment) { next; }
+
+    if(/^\#if 0/) {
+	$if_0 = 1;
+    }
+    if($if_0 && /^\#endif/) {
+	$if_0 = 0;
+    }
+    if($if_0) { next }
+    if(/^\s*\#/) {
+	next;
+    }
+    if(/^\s*$/) {
+	$line = "";
+	next;
+    }
+    if(/\{/){
+	if (!/\}/) {
+	    $brace++;
+	}
+	$_ = $line;
+	while(s/\*\//\ca/){
+	    s/\/\*(.|\n)*\ca//;
+	}
+	s/^\s*//;
+	s/\s*$//;
+	s/\s+/ /g;
+	if($_ =~ /\)$/){
+	    if(!/^static/ && !/^PRIVATE/){
+		if(/(.*)(__attribute__\s?\(.*\))/) {
+		    $attr = $2;
+		    $_ = $1;
+		} else {
+		    $attr = "";
+		}
+		# remove outer ()
+		s/\s*\(/</;
+		s/\)\s?$/>/;
+		# remove , within ()
+		while(s/\(([^()]*),(.*)\)/($1\$$2)/g){}
+		s/\<\s*void\s*\>/<>/;
+		# remove parameter names 
+		if($opt_P eq "remove") {
+		    s/(\s*)([a-zA-Z0-9_]+)([,>])/$3/g;
+		    s/\s+\*/*/g;
+		    s/\(\*(\s*)([a-zA-Z0-9_]+)\)/(*)/g;
+		} elsif($opt_P eq "comment") {
+		    s/([a-zA-Z0-9_]+)([,>])/\/\*$1\*\/$2/g;
+		    s/\(\*([a-zA-Z0-9_]+)\)/(*\/\*$1\*\/)/g;
+		}
+		s/\<\>/<void>/;
+		# add newlines before parameters
+		if($flags{"multiline-proto"}) {
+		    s/,\s*/,\n\t/g;
+		} else {
+		    s/,\s*/, /g;
+		}
+		# fix removed ,
+		s/\$/,/g;
+		# match function name
+		/([a-zA-Z0-9_]+)\s*\</;
+		$f = $1;
+		if($oproto) {
+		    $LP = "__P((";
+		    $RP = "))";
+		} else {
+		    $LP = "(";
+		    $RP = ")";
+		}
+		# only add newline if more than one parameter
+                if($flags{"multiline-proto"} && /,/){ 
+		    s/\</ $LP\n\t/;
+		}else{
+		    s/\</ $LP/;
+		}
+		s/\>/$RP/;
+		# insert newline before function name
+		if($flags{"multiline-proto"}) {
+		    s/(.*)\s([a-zA-Z0-9_]+ \Q$LP\E)/$1\n$2/;
+		}
+		if($attr ne "") {
+		    $_ .= "\n    $attr";
+		}
+		$_ = $_ . ";";
+		$funcs{$f} = $_;
+	    }
+	}
+	$line = "";
+    }
+    if(/\}/){
+	$brace--;
+    }
+    if(/^\}/){
+	$brace = 0;
+    }
+    if($brace == 0) {
+	$line = $line . " " . $_;
+    }
+}
+
+sub foo {
+    local ($arg) = @_;
+    $_ = $arg;
+    s/.*\/([^\/]*)/$1/;
+    s/[^a-zA-Z0-9]/_/g;
+    "__" . $_ . "__";
+}
+
+if($opt_o) {
+    open(OUT, ">$opt_o");
+    $block = &foo($opt_o);
+} else {
+    $block = "__public_h__";
+}
+
+if($opt_p) {
+    open(PRIV, ">$opt_p");
+    $private = &foo($opt_p);
+} else {
+    $private = "__private_h__";
+}
+
+$public_h = "";
+$private_h = "";
+
+$public_h_header .= "/* This is a generated file */
+#ifndef $block
+#define $block
+
+";
+if ($oproto) {
+    $public_h_header .= "#ifdef __STDC__
+#include <stdarg.h>
+#ifndef __P
+#define __P(x) x
+#endif
+#else
+#ifndef __P
+#define __P(x) ()
+#endif
+#endif
+
+";
+} else {
+    $public_h_header .= "#include <stdarg.h>
+
+";
+}
+$public_h_trailer = "";
+
+$private_h_header = "/* This is a generated file */
+#ifndef $private
+#define $private
+
+";
+if($oproto) {
+    $private_h_header .= "#ifdef __STDC__
+#include <stdarg.h>
+#ifndef __P
+#define __P(x) x
+#endif
+#else
+#ifndef __P
+#define __P(x) ()
+#endif
+#endif
+
+";
+} else {
+    $private_h_header .= "#include <stdarg.h>
+
+";
+}
+$private_h_trailer = "";
+
+foreach(sort keys %funcs){
+    if(/^(main)$/) { next }
+    if(!defined($exported{$_}) && /$private_func_re/) {
+	$private_h .= $funcs{$_} . "\n\n";
+	if($funcs{$_} =~ /__attribute__/) {
+	    $private_attribute_seen = 1;
+	}
+    } else {
+	if($flags{"function-blocking"}) {
+	    $fupper = uc $_;
+	    if($exported{$_} =~ /proto/) {
+		$public_h .= "#if !defined(HAVE_$fupper) || defined(NEED_${fupper}_PROTO)\n";
+	    } else {
+		$public_h .= "#ifndef HAVE_$fupper\n";
+	    }
+	}
+	$public_h .= $funcs{$_} . "\n";
+	if($funcs{$_} =~ /__attribute__/) {
+	    $public_attribute_seen = 1;
+	}
+	if($flags{"function-blocking"}) {
+	    $public_h .= "#endif\n";
+	}
+	$public_h .= "\n";
+    }
+}
+
+if($flags{"gnuc-attribute"}) {
+    if ($public_attribute_seen) {
+	$public_h_header .= "#if !defined(__GNUC__) && !defined(__attribute__)
+#define __attribute__(x)
+#endif
+
+";
+    }
+
+    if ($private_attribute_seen) {
+	$private_h_header .= "#if !defined(__GNUC__) && !defined(__attribute__)
+#define __attribute__(x)
+#endif
+
+";
+    }
+}
+if($flags{"cxx"}) {
+    $public_h_header .= "#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+";
+    $public_h_trailer .= "#ifdef __cplusplus
+}
+#endif
+
+";
+
+}
+if ($opt_E) {
+    $public_h_header .= "#ifndef $opt_E
+#if defined(_WIN32)
+#define ${opt_E}_FUNCTION _stdcall __declspec(dllimport)
+#define ${opt_E}_VARIABLE __declspec(dllimport)
+#else
+#define ${opt_E}_FUNCTION
+#define ${opt_E}_VARIABLE
+#endif
+#endif
+
+";
+    
+    $private_h_header .= "#ifndef $opt_E
+#if defined(_WIN32)
+#define ${opt_E}_FUNCTION _stdcall __declspec(dllimport)
+#define ${opt_E}_VARIABLE __declspec(dllimport)
+#else
+#define ${opt_E}_FUNCTION
+#define ${opt_E}_VARIABLE
+#endif
+#endif
+
+";
+}
+    
+if ($public_h ne "" && $flags{"header"}) {
+    $public_h = $public_h_header . $public_h . 
+	$public_h_trailer . "#endif /* $block */\n";
+}
+if ($private_h ne "" && $flags{"header"}) {
+    $private_h = $private_h_header . $private_h .
+	$private_h_trailer . "#endif /* $private */\n";
+}
+
+if($opt_o) {
+    print OUT $public_h;
+} 
+if($opt_p) {
+    print PRIV $private_h;
+} 
+
+close OUT;
+close PRIV;
diff --git a/source/heimdal/kdc/kdc-private.h b/source/heimdal/kdc/kdc-private.h
deleted file mode 100644
index 4052e9b..0000000
--- a/source/heimdal/kdc/kdc-private.h
+++ /dev/null
@@ -1,287 +0,0 @@
-/* This is a generated file */
-#ifndef __kdc_private_h__
-#define __kdc_private_h__
-
-#include <stdarg.h>
-
-krb5_error_code
-_kdc_add_KRB5SignedPath (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	hdb_entry_ex */*krbtgt*/,
-	krb5_enctype /*enctype*/,
-	krb5_const_principal /*server*/,
-	KRB5SignedPathPrincipals */*principals*/,
-	EncTicketPart */*tkt*/);
-
-krb5_error_code
-_kdc_add_inital_verified_cas (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	pk_client_params */*params*/,
-	EncTicketPart */*tkt*/);
-
-krb5_error_code
-_kdc_as_rep (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	KDC_REQ */*req*/,
-	const krb5_data */*req_buffer*/,
-	krb5_data */*reply*/,
-	const char */*from*/,
-	struct sockaddr */*from_addr*/,
-	int /*datagram_reply*/);
-
-krb5_boolean
-_kdc_check_addresses (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	HostAddresses */*addresses*/,
-	const struct sockaddr */*from*/);
-
-krb5_error_code
-_kdc_check_flags (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	hdb_entry_ex */*client_ex*/,
-	const char */*client_name*/,
-	hdb_entry_ex */*server_ex*/,
-	const char */*server_name*/,
-	krb5_boolean /*is_as_req*/);
-
-krb5_error_code
-_kdc_db_fetch (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	krb5_const_principal /*principal*/,
-	unsigned /*flags*/,
-	HDB **/*db*/,
-	hdb_entry_ex **/*h*/);
-
-krb5_error_code
-_kdc_db_fetch4 (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	const char */*name*/,
-	const char */*instance*/,
-	const char */*realm*/,
-	unsigned /*flags*/,
-	hdb_entry_ex **/*ent*/);
-
-krb5_error_code
-_kdc_do_524 (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	const Ticket */*t*/,
-	krb5_data */*reply*/,
-	const char */*from*/,
-	struct sockaddr */*addr*/);
-
-krb5_error_code
-_kdc_do_digest (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	const DigestREQ */*req*/,
-	krb5_data */*reply*/,
-	const char */*from*/,
-	struct sockaddr */*addr*/);
-
-krb5_error_code
-_kdc_do_kaserver (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,
-	unsigned char */*buf*/,
-	size_t /*len*/,
-	krb5_data */*reply*/,
-	const char */*from*/,
-	struct sockaddr_in */*addr*/);
-
-krb5_error_code
-_kdc_do_kx509 (
-	krb5_context /*context*/,
-	krb5_kdc_configuration */*config*/,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list