summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/include/core.h69
-rw-r--r--source4/include/includes.h5
-rw-r--r--source4/libcli/libcli.h11
-rw-r--r--source4/librpc/idl/security.idl16
-rw-r--r--source4/ntvfs/common/brlock.h2
-rw-r--r--source4/param/loadparm.h1
-rw-r--r--source4/param/param.h15
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/Header.pm4
-rw-r--r--source4/pidl/lib/Parse/Pidl/Util.pm15
-rwxr-xr-xsource4/pidl/tests/util.pl5
-rw-r--r--source4/torture/locktest.c2
11 files changed, 69 insertions, 76 deletions
diff --git a/source4/include/core.h b/source4/include/core.h
deleted file mode 100644
index 270b6406a4..0000000000
--- a/source4/include/core.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Core Samba data types
-
- Copyright (C) Andrew Tridgell 1992-2000
- Copyright (C) Stefan Metzmacher 2004
- Copyright (C) Jelmer Vernooij 2005
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef _SAMBA_CORE_H
-#define _SAMBA_CORE_H
-
-#include "libcli/util/nt_status.h"
-
-#include <stdlib.h>
-
-/*
- use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really
- just a dom sid, but with the sub_auths represented as a conformant
- array. As with all in-structure conformant arrays, the array length
- is placed before the start of the structure. That's what gives rise
- to the extra num_auths elemenent. We don't want the Samba code to
- have to bother with such esoteric NDR details, so its easier to just
- define it as a dom_sid and use pidl magic to make it all work. It
- just means you need to mark a sid as a "dom_sid2" in the IDL when you
- know it is of the conformant array variety
-*/
-#define dom_sid2 dom_sid
-
-/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
-#define dom_sid28 dom_sid
-
-
-
-/* passed to br lock code. FIXME: Move to one of the smb-specific headers */
-enum brl_type {
- READ_LOCK,
- WRITE_LOCK,
- PENDING_READ_LOCK,
- PENDING_WRITE_LOCK
-};
-
-enum server_role {
- ROLE_STANDALONE=0,
- ROLE_DOMAIN_MEMBER=1,
- ROLE_DOMAIN_CONTROLLER=2,
-};
-
-enum announce_as {/* Types of machine we can announce as. */
- ANNOUNCE_AS_NT_SERVER=1,
- ANNOUNCE_AS_WIN95=2,
- ANNOUNCE_AS_WFW=3,
- ANNOUNCE_AS_NT_WORKSTATION=4
-};
-
-#endif /* _SAMBA_CORE_H */
diff --git a/source4/include/includes.h b/source4/include/includes.h
index d8503fe47a..40cb306eb2 100644
--- a/source4/include/includes.h
+++ b/source4/include/includes.h
@@ -109,9 +109,10 @@
#endif
/* Lists, trees, caching, database... */
-#include <talloc.h>
-#include "core.h"
+#include <stdlib.h>
#include <stdbool.h>
+#include <talloc.h>
+#include "libcli/util/nt_status.h"
#include "charset/charset.h"
#include "util/util.h"
#include "param/param.h"
diff --git a/source4/libcli/libcli.h b/source4/libcli/libcli.h
index 568f2f3b3e..1d573cadde 100644
--- a/source4/libcli/libcli.h
+++ b/source4/libcli/libcli.h
@@ -50,6 +50,17 @@ struct nbt_dc_name {
struct cli_credentials;
struct event_context;
+
+/* passed to br lock code. */
+enum brl_type {
+ READ_LOCK,
+ WRITE_LOCK,
+ PENDING_READ_LOCK,
+ PENDING_WRITE_LOCK
+};
+
+
+
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli_proto.h"
diff --git a/source4/librpc/idl/security.idl b/source4/librpc/idl/security.idl
index ea2ad050d5..f05148aecc 100644
--- a/source4/librpc/idl/security.idl
+++ b/source4/librpc/idl/security.idl
@@ -6,6 +6,22 @@
import "misc.idl";
+/*
+ use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really
+ just a dom sid, but with the sub_auths represented as a conformant
+ array. As with all in-structure conformant arrays, the array length
+ is placed before the start of the structure. That's what gives rise
+ to the extra num_auths elemenent. We don't want the Samba code to
+ have to bother with such esoteric NDR details, so its easier to just
+ define it as a dom_sid and use pidl magic to make it all work. It
+ just means you need to mark a sid as a "dom_sid2" in the IDL when you
+ know it is of the conformant array variety
+*/
+cpp_quote("#define dom_sid2 dom_sid")
+
+/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
+cpp_quote("#define dom_sid28 dom_sid")
+
[
pointer_default(unique)
]
diff --git a/source4/ntvfs/common/brlock.h b/source4/ntvfs/common/brlock.h
index 5a040dc234..50f30ec276 100644
--- a/source4/ntvfs/common/brlock.h
+++ b/source4/ntvfs/common/brlock.h
@@ -19,6 +19,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "libcli/libcli.h"
+
struct brlock_ops {
struct brl_context *(*brl_init)(TALLOC_CTX *, struct server_id ,
struct messaging_context *);
diff --git a/source4/param/loadparm.h b/source4/param/loadparm.h
index 93649af0c8..6b98ebe018 100644
--- a/source4/param/loadparm.h
+++ b/source4/param/loadparm.h
@@ -78,3 +78,4 @@ struct parm_struct {
#define HOMES_NAME "homes"
#endif
+
diff --git a/source4/param/param.h b/source4/param/param.h
index c829e0bf57..5f5da58388 100644
--- a/source4/param/param.h
+++ b/source4/param/param.h
@@ -44,6 +44,21 @@ struct smbsrv_connection;
typedef NTSTATUS (*init_module_fn) (void);
+enum server_role {
+ ROLE_STANDALONE=0,
+ ROLE_DOMAIN_MEMBER=1,
+ ROLE_DOMAIN_CONTROLLER=2,
+};
+
+enum announce_as {/* Types of machine we can announce as. */
+ ANNOUNCE_AS_NT_SERVER=1,
+ ANNOUNCE_AS_WIN95=2,
+ ANNOUNCE_AS_WFW=3,
+ ANNOUNCE_AS_NT_WORKSTATION=4
+};
+
+
+
#include "param/proto.h"
#endif /* _PARAM_H */
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm
index 40fb1d3579..75d4c235cb 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm
@@ -9,7 +9,7 @@ package Parse::Pidl::Samba4::Header;
use strict;
use Parse::Pidl qw(fatal);
use Parse::Pidl::Typelist qw(mapTypeName scalar_is_reference);
-use Parse::Pidl::Util qw(has_property is_constant);
+use Parse::Pidl::Util qw(has_property is_constant unmake_str);
use Parse::Pidl::Samba4 qw(is_intree ElementStars ArrayBrackets);
use vars qw($VERSION);
@@ -375,7 +375,7 @@ sub HeaderQuote($)
{
my($quote) = shift;
- pidl $quote->{DATA};
+ pidl unmake_str($quote->{DATA}) . "\n";
}
#####################################################################
diff --git a/source4/pidl/lib/Parse/Pidl/Util.pm b/source4/pidl/lib/Parse/Pidl/Util.pm
index 8716094abd..006718d139 100644
--- a/source4/pidl/lib/Parse/Pidl/Util.pm
+++ b/source4/pidl/lib/Parse/Pidl/Util.pm
@@ -6,7 +6,7 @@ package Parse::Pidl::Util;
require Exporter;
@ISA = qw(Exporter);
-@EXPORT = qw(has_property property_matches ParseExpr ParseExprExt is_constant make_str print_uuid MyDumper);
+@EXPORT = qw(has_property property_matches ParseExpr ParseExprExt is_constant make_str unmake_str print_uuid MyDumper);
use vars qw($VERSION);
$VERSION = '0.01';
@@ -104,6 +104,19 @@ sub make_str($)
return "\"$str\"";
}
+=item B<unmake_str>
+unquote a "" quoted string
+
+=cut
+sub unmake_str($)
+{
+ my $str = shift;
+
+ $str =~ s/^\"(.*)\"$/$1/;
+
+ return $str;
+}
+
=item B<print_uuid>
Print C representation of a UUID.
diff --git a/source4/pidl/tests/util.pl b/source4/pidl/tests/util.pl
index ba2f7b7b49..cb77f34c51 100755
--- a/source4/pidl/tests/util.pl
+++ b/source4/pidl/tests/util.pl
@@ -4,7 +4,7 @@
use strict;
use warnings;
-use Test::More tests => 70;
+use Test::More tests => 72;
use FindBin qw($RealBin);
use lib "$RealBin";
use Util;
@@ -33,6 +33,9 @@ is("\"\"bla\"\"", make_str("\"\"bla\"\""));
is("\"bla\"\"", make_str("bla\""));
is("\"foo\"bar\"", make_str("foo\"bar"));
+is("bla", unmake_str("\"bla\""));
+is("\"bla\"", unmake_str("\"\"bla\"\""));
+
# print_uuid()
is(undef, print_uuid("invalid"));
is("{0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}}",
diff --git a/source4/torture/locktest.c b/source4/torture/locktest.c
index cf178a084c..ba0ba344d9 100644
--- a/source4/torture/locktest.c
+++ b/source4/torture/locktest.c
@@ -191,7 +191,7 @@ static void reconnect(struct smbcli_state *cli[NSERVERS][NCONNECTIONS], int fnum
-static BOOL test_one(struct smbcli_state *cli[NSERVERS][NCONNECTIONS],
+static bool test_one(struct smbcli_state *cli[NSERVERS][NCONNECTIONS],
int fnum[NSERVERS][NCONNECTIONS][NFILES],
struct record *rec)
{