[Samba] cant access shares on members of samba domain from windows domain

2011-12-02 Thread damiien
Hi,

I have a network with two domains. DOMAIN A has samba 3.0.28 as PDC
(I know its old but it cant be updated due to political reasons).
DOMAIN B is a Windows 2003 domain. Samba PDC (domain A) has few shares
on it and everyone can access those shares (everyone from domain A and
domain B). In domain A there are also few windows machines which also
have shares. I'd like for those shares to be available to everyone.
Currently, everyone on domain A can access those windows shares (which
are on domain A). I'd like for those shares to be available to domain
B users but currently only Domain Administrator from domain B has
access. I'd appreciate any help on getting this to work.


To sum up,

Domain A:  1.  Samba as PDC - share Groups shared to everyone and
available to everyone
 2.   Windows 2003 - share  Data shared to everyone
but available to everyone in domain A and only to Domain Administrator
from domain B

Domain B:  1. Windows 2003 Active directory
 2. Windows XP clients

---share Data needs to be available to everyone. Any ideas?
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] getent passwd fails inside freebsd jail using samba 3.4.14

2011-12-02 Thread Kamil Choudhury
I know this thread is long dead, but for anyone who was wondering, the issue 
was 
a faulty compile of the net/samba34 port. 

Turning the log level to 3 in smb.conf, showed the following: 

Error loading module '/usr/local/lib/samba34/idmap/ad.so': Cannot open 
/usr/local/lib/samba34/idmap/ad.so

Oops. 

Recompiling resulted in a perfectly functioning SAMBA install inside the jail. 
I guess 
the moral of the story is to turn up logging verbosity when confronted with a 
problem? 

Thanks, 
Kamil
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] cant access shares on members of samba domain from windows domain

2011-12-02 Thread damiien
Here is the error message I get when trying to access share Data as
DomainB\user.

\\Robo is not accessible. You might not have permission to use this
network resource.
Contact the administrator of this server to find out if you have
access permissions.
A device attached to the system is not functioning.
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] Samba 4 security

2011-12-02 Thread Matthieu Patou

On 01/12/2011 12:35, steve wrote:

On 01/12/11 00:37, Matthieu Patou wrote:

Hello Steve,
On 30/11/2011 19:52, steve wrote:

On 30/11/11 19:20, Matthieu Patou wrote:

Hello,



Each subfolder of /home is username:users. A file which is 0755
steve:users can be deleted by anyone. Samba 4 does not prompt for a
username and password when entering any share. This is just a plain
install of:
Where is the /home ? on the Samba 4 AD server ? mounted on the 
client ?


How did you created the subfolders ?


Can you give a detailed list of action to reproduce your problem ?


Matthieu.



I've tried both. In this example hh3 is the Samba server 192.168.1.3

smb.conf has:

[home]
path = /home
read only = no

/home has 2 users /home folders. /home/steve and /home/lynn both owned
by their respective steve:users and lynn:users. Both users were
created before Samba 4 was installed. Linux does not allow file
creation nor deleting between the 2 folders.


Well this points me already something wrong in what you have done.

Because its not because you have user steve and lynn in on the
Linux/Unix side, your users created in the active directory will not be
the same at all.

Then I suspect konq to implicitly use your linux user as the default smb
user and if the password match then you won't be prompted for a 
password.


In order to be sure you'd better do the test with smbclient.

For me smbclient didn't give me access if I don't put a password:


smbclient -L //zeus
Enter mat's password:
Anonymous login successful
Domain=[MATWS] OS=[Unix] Server=[Samba 4.0.0alpha18-DEVELOPERBUILD]

Sharename Type Comment
-  ---
home Disk
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service
zeus is an IPv6 address -- no workgroup available

smbclient //zeus/home
Enter mat's password:



so, on hh3:
login as steve

on konq do

smb://hh3

click on the home folder

enter the lynn folder

create a file (it shouldn't allow you)
delete a different file (it shouldn't allow you)

Now go over to anothersion client, 192.168.1.4
Login as someone different but not root.

repeat above.

The user on another physical box can also delete and create files in
either the lynn or steve home folders.


I suggest to make a trace with tcpdump in order to know which user konq
is using to authenticate you against the samba 4 server.

Apart from this you have to know the current file server for the Samba
AD (called samba4 so far) use full NT acls that are usually stored in
security.NTACL,
in the extended attributes, when this information is not present it uses
the the posix acls and posix rights and tries to translate them to their
NT acls equivalent.

It seems that here you have found a bug in the way the translation is 
done.



Matthieu.


Hi

Using my setup:

smbclient -L //hh3 does not work. It sits there forever. Server: 
hh3.site, domain HH1. Linux users lynn and steve who are also Samba 4 
users. The Linux /home folders is /home/lynn and /home/steve


This does:
steve@hh3:~ smbclient -L hh3
Password for [HH1\steve]:

Sharename   Type   Comment
-      ---
netlogonDisk
sysvol  Disk
testDisk
homes   Disk
IPC$IPCIPC Service
REWRITE: list servers not implemented

then, confirming what happens in a GUI:


So you are prompted for a password right ?


steve@hh3:~ smbclient //hh3/homes
Password for [HH1\steve]:
smb: \ ls
  .   D0  Wed Nov 30 20:37:48 
2011
  ..  D0  Thu Dec  1 12:03:46 
2011
  lynnD0  Wed Nov 30 20:50:53 
2011
  steve   D0  Thu Dec  1 12:17:20 
2011


29284192 blocks of size 512. 9509912 blocks available
smb: \ cd lynn
smb: \lynn\ ls
  .   D0  Wed Nov 30 20:50:53 
2011
  ..  D0  Wed Nov 30 20:37:48 
2011
  d   D0  Wed Nov 30 20:50:53 
2011


29284192 blocks of size 512. 9509912 blocks available
smb: \lynn\ rmdir d
smb: \lynn\ ls
  .   D0  Thu Dec  1 12:21:17 
2011
  ..  D0  Wed Nov 30 20:37:48 
2011


29284192 blocks of size 512. 9509920 blocks available

smb: \lynn\ mkdir hello
smb: \lynn\ ls
  .   D0  Thu Dec  1 12:25:22 
2011
  ..  D0  Wed Nov 30 20:37:48 
2011
  hello   D0  Thu Dec  1 12:25:22 
2011


29284192 blocks of size 512. 9509888 blocks available

It's the same using smbclient or konq.

Can you refresh, a change has been made to correct a bug.

Beware that on your machine where samba 4 DC is running file / folders 
needs to have guid/uid of your AD users not 

Re: [Samba] Samba 4 security

2011-12-02 Thread steve

On 02/12/11 12:08, Matthieu Patou wrote:

On 01/12/2011 12:35, steve wrote:

On 01/12/11 00:37, Matthieu Patou wrote:

Hello Steve,
On 30/11/2011 19:52, steve wrote:

On 30/11/11 19:20, Matthieu Patou wrote:

Hello,



Each subfolder of /home is username:users. A file which is 0755
steve:users can be deleted by anyone. Samba 4 does not prompt for a
username and password when entering any share. This is just a plain
install of:

Where is the /home ? on the Samba 4 AD server ? mounted on the
client ?

How did you created the subfolders ?


Can you give a detailed list of action to reproduce your problem ?


Matthieu.



I've tried both. In this example hh3 is the Samba server 192.168.1.3

smb.conf has:

[home]
path = /home
read only = no

/home has 2 users /home folders. /home/steve and /home/lynn both owned
by their respective steve:users and lynn:users. Both users were
created before Samba 4 was installed. Linux does not allow file
creation nor deleting between the 2 folders.


Well this points me already something wrong in what you have done.

Because its not because you have user steve and lynn in on the
Linux/Unix side, your users created in the active directory will not be
the same at all.

Then I suspect konq to implicitly use your linux user as the default smb
user and if the password match then you won't be prompted for a
password.

In order to be sure you'd better do the test with smbclient.

For me smbclient didn't give me access if I don't put a password:


smbclient -L //zeus
Enter mat's password:
Anonymous login successful
Domain=[MATWS] OS=[Unix] Server=[Samba 4.0.0alpha18-DEVELOPERBUILD]

Sharename Type Comment
-  ---
home Disk
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service
zeus is an IPv6 address -- no workgroup available

smbclient //zeus/home
Enter mat's password:



so, on hh3:
login as steve

on konq do

smb://hh3

click on the home folder

enter the lynn folder

create a file (it shouldn't allow you)
delete a different file (it shouldn't allow you)

Now go over to anothersion client, 192.168.1.4
Login as someone different but not root.

repeat above.

The user on another physical box can also delete and create files in
either the lynn or steve home folders.


I suggest to make a trace with tcpdump in order to know which user konq
is using to authenticate you against the samba 4 server.

Apart from this you have to know the current file server for the Samba
AD (called samba4 so far) use full NT acls that are usually stored in
security.NTACL,
in the extended attributes, when this information is not present it uses
the the posix acls and posix rights and tries to translate them to their
NT acls equivalent.

It seems that here you have found a bug in the way the translation is
done.


Matthieu.


Hi

Using my setup:

smbclient -L //hh3 does not work. It sits there forever. Server:
hh3.site, domain HH1. Linux users lynn and steve who are also Samba 4
users. The Linux /home folders is /home/lynn and /home/steve

This does:
steve@hh3:~ smbclient -L hh3
Password for [HH1\steve]:

Sharename Type Comment
-  ---
netlogon Disk
sysvol Disk
test Disk
homes Disk
IPC$ IPC IPC Service
REWRITE: list servers not implemented

then, confirming what happens in a GUI:


So you are prompted for a password right ?


steve@hh3:~ smbclient //hh3/homes
Password for [HH1\steve]:
smb: \ ls
. D 0 Wed Nov 30 20:37:48 2011
.. D 0 Thu Dec 1 12:03:46 2011
lynn D 0 Wed Nov 30 20:50:53 2011
steve D 0 Thu Dec 1 12:17:20 2011

29284192 blocks of size 512. 9509912 blocks available
smb: \ cd lynn
smb: \lynn\ ls
. D 0 Wed Nov 30 20:50:53 2011
.. D 0 Wed Nov 30 20:37:48 2011
d D 0 Wed Nov 30 20:50:53 2011

29284192 blocks of size 512. 9509912 blocks available
smb: \lynn\ rmdir d
smb: \lynn\ ls
. D 0 Thu Dec 1 12:21:17 2011
.. D 0 Wed Nov 30 20:37:48 2011

29284192 blocks of size 512. 9509920 blocks available

smb: \lynn\ mkdir hello
smb: \lynn\ ls
. D 0 Thu Dec 1 12:25:22 2011
.. D 0 Wed Nov 30 20:37:48 2011
hello D 0 Thu Dec 1 12:25:22 2011

29284192 blocks of size 512. 9509888 blocks available

It's the same using smbclient or konq.

Can you refresh, a change has been made to correct a bug.

Beware that on your machine where samba 4 DC is running file / folders
needs to have guid/uid of your AD users not your linux users.

Matthieu.



Did a git pull ./configure.developer make and make install about an hour 
ago.
And, well, something has changed. Now neither user can create nor delete 
files!


smbclient //hh3/homes
Password for [HH1\steve]:
smb: \ ls
  .   D0  Wed Nov 30 20:37:48 2011
  ..  D0  Fri Dec  2 07:15:17 2011
  lynnD0  Thu Dec  1 13:25:45 2011
  steve   D0  Fri Dec  2 11:50:09 2011

29284192 blocks of size 512. 10550432 blocks available
smb: \ cd lynn
smb: \lynn\ mkdir h
NT_STATUS_ACCESS_DENIED making remote 

Re: [Samba] offline logon with AD

2011-12-02 Thread Steven Geerts


-Original Message-
From: TAKAHASHI Motonobu [mailto:mo...@monyo.com] 
Sent: dinsdag 29 november 2011 17:24
To: steven.gee...@softathome.com
Cc: samba@lists.samba.org
Subject: Re: [Samba] offline logon with AD

From: Steven Geerts steven.gee...@softathome.com
Date: Tue, 29 Nov 2011 10:18:58 +0100

 yesterday I configured my laptop to login via AD usernames/passwords.  
 This was working finally with using the sadms.  Now I want to enable 
 login when the user is not connected to the network.  I found that you 
 need to enable winbind offline logon = yes in the smb.conf.  But 
 actually this is not working.
 
 I'm using ubuntu 11.10 and whenever I logon via the desktop i get 
 password not correct and no logon servers
 
 Anybody an idea on how to resolve this?

You need to add pam_winbind.so with cached_login parameter to auth
type. See pam_winbind(8)

---
TAKAHASHI Motonobu mo...@samba.gr.jp


Thanks

I added it in the common_auth file in /etc/pam.d.  And this seems to be
working.  Any knowledge on why this should be needed in other files...

Another question: will it be possible to add automounting homedirectories
as well, can you give me an example?
Thanks

Steven 
This message and any attachments herein are confidential, intended solely for 
the addressees and are SoftAtHome's ownership. Any unauthorized use or 
dissemination is prohibited. If you are not the intended addressee of this 
message, please cancel it immediately and inform the sender.
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] Samba 4 security

2011-12-02 Thread Jorell

I thought the answer to file sharing with Samba 4 was to use Samba 3.x.

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


[Samba] File names with unusual characters and linux smbfs clients

2011-12-02 Thread Stephan Stachurski
I had a weird problem today that brought to light an issue that I
didn't realize was happening on my samba servers. I had a windows user
save a file to a samba share with an em dash character in the file
name (em dash is unicode U+2014). The same user tried to find the file
on another computer, a linux client using smbfs to access the same
share and browsing with Nautilus, was unable to find the file.

Doing a little digging, I found that going to a command line and doing
an 'ls' of the directory with the file produced an error message. The
error message was:

ls: cannot access FooFileName?.txt: No such file or directory

Where the em dash was replaced by a question mark.

Windows clients can see the file just fine, it looks fine on the
server, and it looks fine when browsing the directory through
nautilus' smbclient, and the ssh/sftp client. It's only when the
directory is mounted via smbfs or cifs that it causes problems.

I am using samba version 3.4.7 (sorry it's not more up to date, it's
on Ubuntu 10.04 LTS).

If anyone can help me figure out why this is possibly happening, or
how to point me towards a solution. I would really appreciate it.
Thanks.
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] Samba 4 security

2011-12-02 Thread steve

On 02/12/11 14:38, Jorell wrote:

I thought the answer to file sharing with Samba 4 was to use Samba 3.x.

I want a file server and a logon server for both windows and Linux 
clients. Samba 4 is oh so close to giving us that. All under one roof. 
C'm on guys. Just one final push for the summit and we're there.

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] Samba 4 security

2011-12-02 Thread Jorell

Franky - A Hybrid Samba Active Directory Controller
http://wiki.samba.org/index.php/Franky

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] VFS ACL modules - question to developers

2011-12-02 Thread Jeremy Allison
On Thu, Dec 01, 2011 at 09:55:48AM +0100, adrian.berlin wrote:
 
  That's a really interesting document. I'd like to work
  on that with you to make Samba behave exactly how you
  expect.
 
 This is a very good idea :) How can I help you?

Keep reporting bugs and testing my patches for them :-).

  I have a jumbo patch for 3.6.x which should fix the
  issues you're having with READ_ATTRIBUTES/WRITE_ATTRIBUTES.
 
 Where I can get this patch to test it?

It's attached to this bug:

https://bugzilla.samba.org/show_bug.cgi?id=8556

as a 40-patchset attachment.

  There are no limits in the acl_tdb code that would
  cause it to behave as you describe. What you may
  be seeing are limits in mapping the incoming ACL
  down onto the underlying file system.
  
  Do you have debug level 10 logs of this ?
 
 
 Unfortunately not, but I will check it again today with level 10 log and EXT4 
 and XFS filesystem.
 
 
  What is your underlying file system ?
 
 XFS

The limit you're running into is on the ACLs within
XFS, not within Samba.

Jeremy.
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] File names with unusual characters and linux smbfs clients

2011-12-02 Thread TAKAHASHI Motonobu
From: Stephan Stachurski ses1...@gmail.com
Date: Fri, 2 Dec 2011 16:32:17 -0500

 Windows clients can see the file just fine, it looks fine on the
 server, and it looks fine when browsing the directory through
 nautilus' smbclient, and the ssh/sftp client. It's only when the
 directory is mounted via smbfs or cifs that it causes problems.

Have you set iocharset (and codepage if smbfs) properly?

Both smbfs and cifs are not part of Samba, they are part of Linux
kernel.

Does the same problem occur when you you access an U+2014 filename
on Windows share via smbfs/cifs?

---
TAKAHASHI Motonobu mo...@samba.gr.jp
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Andreas Schneider
The branch, master has been updated
   via  20654d6 s3-winbind: Remove unused keys from list.
  from  30d4484 Add the backup toggle command to smbclient. In order for 
this to be really useful we need to change to using NTCreateX opens by default 
in cli_open() and fall back to old OpenX calls instead of doing it the other 
way around.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 20654d6a98fb55230fdaeba58fcea9d197e3d92d
Author: Andreas Schneider a...@samba.org
Date:   Fri Dec 2 15:44:02 2011 +0100

s3-winbind: Remove unused keys from list.

DR and DE have been removed with
0834574fdd6b469797b3b6a4edd45f321b9b9971.

Autobuild-User: Andreas Schneider a...@cryptomilk.org
Autobuild-Date: Fri Dec  2 19:02:45 CET 2011 on sn-devel-104

---

Summary of changes:
 source3/winbindd/winbindd_cache.c |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_cache.c 
b/source3/winbindd/winbindd_cache.c
index 620b858..9aed366 100644
--- a/source3/winbindd/winbindd_cache.c
+++ b/source3/winbindd/winbindd_cache.c
@@ -56,8 +56,6 @@ extern struct winbindd_methods sam_passdb_methods;
 
 static const char *non_centry_keys[] = {
SEQNUM/,
-   DR/,
-   DE/,
WINBINDD_OFFLINE,
WINBINDD_CACHE_VERSION_KEYSTR,
NULL


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Volker Lendecke
The branch, master has been updated
   via  a47780a s3: Fix some nonblank line endings
   via  259cb94 s3: Remove unused dbwrap_record_get_private_data
  from  20654d6 s3-winbind: Remove unused keys from list.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit a47780af229d433c75d810a4f345f996811caa65
Author: Volker Lendecke v...@samba.org
Date:   Fri Dec 2 17:40:33 2011 +0100

s3: Fix some nonblank line endings

Autobuild-User: Volker Lendecke vlen...@samba.org
Autobuild-Date: Fri Dec  2 20:39:33 CET 2011 on sn-devel-104

commit 259cb94c1107bf30bebbb2a084208c1b4a3e9a77
Author: Volker Lendecke v...@samba.org
Date:   Fri Dec 2 17:39:13 2011 +0100

s3: Remove unused dbwrap_record_get_private_data

db_record-private_data is for backends which can include dbwrap_private.h
anyway.

---

Summary of changes:
 source3/lib/dbwrap/dbwrap.c |   13 -
 source3/lib/dbwrap/dbwrap.h |1 -
 2 files changed, 4 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/dbwrap/dbwrap.c b/source3/lib/dbwrap/dbwrap.c
index cdc46c3..7d96926 100644
--- a/source3/lib/dbwrap/dbwrap.c
+++ b/source3/lib/dbwrap/dbwrap.c
@@ -1,20 +1,20 @@
-/* 
+/*
Unix SMB/CIFS implementation.
Database interface wrapper
Copyright (C) Jim McDonough j...@us.ibm.com 2006
 
Major code contributions from Aleksey Fedoseev (fedos...@ru.ibm.com)
-   
+
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/.
 */
@@ -110,11 +110,6 @@ TDB_DATA dbwrap_record_get_value(const struct db_record 
*rec)
return rec-value;
 }
 
-void *dbwrap_record_get_private_data(const struct db_record *rec)
-{
-   return rec-private_data;
-}
-
 NTSTATUS dbwrap_record_store(struct db_record *rec, TDB_DATA data, int flags)
 {
return rec-store(rec, data, flags);
diff --git a/source3/lib/dbwrap/dbwrap.h b/source3/lib/dbwrap/dbwrap.h
index f0646d3..41e6833 100644
--- a/source3/lib/dbwrap/dbwrap.h
+++ b/source3/lib/dbwrap/dbwrap.h
@@ -29,7 +29,6 @@ struct db_context;
 
 TDB_DATA dbwrap_record_get_key(const struct db_record *rec);
 TDB_DATA dbwrap_record_get_value(const struct db_record *rec);
-void *dbwrap_record_get_private_data(const struct db_record *rec);
 NTSTATUS dbwrap_record_store(struct db_record *rec, TDB_DATA data, int flags);
 NTSTATUS dbwrap_record_delete(struct db_record *rec);
 struct db_record *dbwrap_fetch_locked(struct db_context *db,


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Jeremy Allison
The branch, master has been updated
   via  46551d7 Fix bug #8644 - vfs_acl_xattr and vfs_acl_tdb modules can 
fail to add inheritable entries on a directory with no stored ACL.
   via  3e0d923 Ensure we map our own Samba return of ERRSRV, ERRunknownsmb 
on an unknown SMB request to NT_STATUS_NOT_IMPLEMENTED.
   via  0105662 Convert smbclient to using NtCreateX by preference, fall 
back to openX on 'not implemented' or similar error.
  from  a47780a s3: Fix some nonblank line endings

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 46551d750dc58b32630fb6744364fe5a1052b87d
Author: Jeremy Allison j...@samba.org
Date:   Fri Dec 2 10:55:40 2011 -0800

Fix bug #8644 - vfs_acl_xattr and vfs_acl_tdb modules can fail to add 
inheritable entries on a directory with no stored ACL.

If referring to an fsp sbuf can be left as an uninitialized variable,
causing the 'is_directory' variable to be false when it should be true.

Autobuild-User: Jeremy Allison j...@samba.org
Autobuild-Date: Fri Dec  2 22:13:03 CET 2011 on sn-devel-104

commit 3e0d923096cddcbf83cfa2d9594df5fa21331650
Author: Jeremy Allison j...@samba.org
Date:   Fri Dec 2 10:28:23 2011 -0800

Ensure we map our own Samba return of ERRSRV, ERRunknownsmb
on an unknown SMB request to NT_STATUS_NOT_IMPLEMENTED.

commit 010566215b4d76ae5348652e1f8f175b1895849a
Author: Jeremy Allison j...@samba.org
Date:   Fri Dec 2 10:11:17 2011 -0800

Convert smbclient to using NtCreateX by preference, fall back to openX on
'not implemented' or similar error.

---

Summary of changes:
 source3/client/client.c  |  121 +-
 source3/client/client_proto.h|2 +
 source3/client/clitar.c  |4 +-
 source3/libsmb/errormap.c|1 +
 source3/modules/vfs_acl_common.c |2 +-
 5 files changed, 124 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/client/client.c b/source3/client/client.c
index 47d4470..b355917 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -301,6 +301,121 @@ static void send_message(const char *username)
 }
 
 /
+ Wrapper function around cli_open() that does an NtCreateX open by preference.
+/
+
+NTSTATUS smbclient_cli_open(struct cli_state *cli, const char *fname, int 
flags,
+   int share_mode_in, uint16_t *pfnum)
+{
+   NTSTATUS status;
+   unsigned int openfn = 0;
+   unsigned int dos_deny = 0;
+   uint32_t access_mask, share_mode, create_disposition, create_options;
+
+   /* Do the initial mapping into OpenX parameters. */
+   if (flags  O_CREAT) {
+   openfn |= (14);
+   }
+   if (!(flags  O_EXCL)) {
+   if (flags  O_TRUNC)
+   openfn |= (11);
+   else
+   openfn |= (10);
+   }
+
+   dos_deny = (share_mode_in4);
+
+   if ((flags  O_ACCMODE) == O_RDWR) {
+   dos_deny |= 2;
+   } else if ((flags  O_ACCMODE) == O_WRONLY) {
+   dos_deny |= 1;
+   }
+
+#if defined(O_SYNC)
+   if ((flags  O_SYNC) == O_SYNC) {
+   dos_deny |= (114);
+   }
+#endif /* O_SYNC */
+
+   if (share_mode_in == DENY_FCB) {
+   dos_deny = 0xFF;
+   }
+
+#if 0
+   /* Hmmm. This is what I think the above code
+  should look like if it's using the constants
+  we #define. JRA. */
+
+   if (flags  O_CREAT) {
+   openfn |= OPENX_FILE_CREATE_IF_NOT_EXIST;
+   }
+   if (!(flags  O_EXCL)) {
+   if (flags  O_TRUNC)
+   openfn |= OPENX_FILE_EXISTS_TRUNCATE;
+   else
+   openfn |= OPENX_FILE_EXISTS_OPEN;
+   }
+
+   dos_deny = SET_DENY_MODE(share_mode_in);
+
+   if ((flags  O_ACCMODE) == O_RDWR) {
+   dos_deny |= DOS_OPEN_RDWR;
+   } else if ((flags  O_ACCMODE) == O_WRONLY) {
+   dos_deny |= DOS_OPEN_WRONLY;
+   }
+
+#if defined(O_SYNC)
+   if ((flags  O_SYNC) == O_SYNC) {
+   dos_deny |= FILE_SYNC_OPENMODE;
+   }
+#endif /* O_SYNC */
+
+   if (share_mode_in == DENY_FCB) {
+   dos_deny = 0xFF;
+   }
+#endif
+
+   if (!map_open_params_to_ntcreate(fname, dos_deny,
+   openfn, access_mask,
+   share_mode, create_disposition,
+   create_options, NULL)) {
+   goto try_openx;
+   }
+
+   status = cli_ntcreate(cli,
+   fname,
+   0,
+ 

[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Jeremy Allison
The branch, master has been updated
   via  ecd0e86 Update the waf build system to link with the new PIDL 
locking code.
   via  1c46fb5 s3: Use autogenerated open_files.idl
   via  057e442 s3: Move ndr_file_id to LIBNDR_OBJ
   via  0c32546 s3: Add open_files.idl
   via  27d95cc librpc: Add support for struct timeval
   via  de1cd12 librpc: Add support for struct timespec
  from  46551d7 Fix bug #8644 - vfs_acl_xattr and vfs_acl_tdb modules can 
fail to add inheritable entries on a directory with no stored ACL.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit ecd0e86928b6cbd17792d57e2fc755ab9cb61bcc
Author: Jeremy Allison j...@samba.org
Date:   Fri Dec 2 13:41:55 2011 -0800

Update the waf build system to link with the new PIDL locking code.

Autobuild-User: Jeremy Allison j...@samba.org
Autobuild-Date: Sat Dec  3 00:14:54 CET 2011 on sn-devel-104

commit 1c46fb5c3e8a1b5ce0d61f39d934bb68074953cb
Author: Volker Lendecke v...@samba.org
Date:   Thu Nov 24 14:11:28 2011 +0100

s3: Use autogenerated open_files.idl

commit 057e4422a7c0b54f32b698f0ef9c3507084501d9
Author: Volker Lendecke v...@samba.org
Date:   Thu Nov 24 10:02:44 2011 +0100

s3: Move ndr_file_id to LIBNDR_OBJ

commit 0c325463a28e4415bb019bb1c11b23a580c53704
Author: Volker Lendecke v...@samba.org
Date:   Thu Nov 24 10:01:57 2011 +0100

s3: Add open_files.idl

commit 27d95cc8a637a226a20eaac9da7c0dc4d8239f88
Author: Volker Lendecke v...@samba.org
Date:   Thu Nov 24 09:49:19 2011 +0100

librpc: Add support for struct timeval

commit de1cd125ade49ab62c0585740e6af66c384d419b
Author: Volker Lendecke v...@samba.org
Date:   Thu Nov 24 09:48:40 2011 +0100

librpc: Add support for struct timespec

---

Summary of changes:
 librpc/ndr/libndr.h   |   20 ++
 librpc/ndr/ndr_basic.c|   62 +
 source3/Makefile.in   |7 +-
 source3/include/smb.h |   69 -
 source3/librpc/idl/open_files.idl |   48 
 source3/librpc/idl/wscript_build  |2 +-
 source3/librpc/wscript_build  |5 +
 source3/libsmb/smb_share_modes.c  |   30 ++
 source3/locking/locking.c |  414 +
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c |1 +
 source3/smbd/close.c  |1 +
 source3/smbd/open.c   |1 +
 source3/smbd/oplock.c |1 +
 source3/smbd/reply.c  |1 +
 source3/smbd/trans2.c |1 +
 source3/utils/status.c|1 +
 source3/web/statuspage.c  |1 +
 source3/wscript_build |3 +-
 18 files changed, 246 insertions(+), 422 deletions(-)
 create mode 100644 source3/librpc/idl/open_files.idl


Changeset truncated at 500 lines:

diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 80b0ec9..9c26bef 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -627,4 +627,24 @@ _PUBLIC_ enum ndr_err_code ndr_push_enum_uint1632(struct 
ndr_push *ndr, int ndr_
 
 _PUBLIC_ void ndr_print_bool(struct ndr_print *ndr, const char *name, const 
bool b);
 
+_PUBLIC_ enum ndr_err_code ndr_push_timespec(struct ndr_push *ndr,
+int ndr_flags,
+const struct timespec *t);
+_PUBLIC_ enum ndr_err_code ndr_pull_timespec(struct ndr_pull *ndr,
+int ndr_flags,
+struct timespec *t);
+_PUBLIC_ void ndr_print_timespec(struct ndr_print *ndr, const char *name,
+const struct timespec *t);
+
+_PUBLIC_ enum ndr_err_code ndr_push_timeval(struct ndr_push *ndr,
+   int ndr_flags,
+   const struct timeval *t);
+_PUBLIC_ enum ndr_err_code ndr_pull_timeval(struct ndr_pull *ndr,
+   int ndr_flags,
+   struct timeval *t);
+_PUBLIC_ void ndr_print_timeval(struct ndr_print *ndr, const char *name,
+   const struct timeval *t);
+
+
+
 #endif /* __LIBNDR_H__ */
diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index ab234bf..7b16438 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -1338,3 +1338,65 @@ _PUBLIC_ NTSTATUS ndr_map_error2ntstatus(enum 
ndr_err_code ndr_err)
/* we should map all error codes to different status codes */
return NT_STATUS_INVALID_PARAMETER;
 }
+
+_PUBLIC_ enum ndr_err_code ndr_push_timespec(struct ndr_push *ndr,
+int ndr_flags,
+

[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Jelmer Vernooij
The branch, master has been updated
   via  0ebc501 tevent: Fix typo in build script.
  from  ecd0e86 Update the waf build system to link with the new PIDL 
locking code.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 0ebc501fa834a07b20d0f746b77623d1fc48b394
Author: Jelmer Vernooij jel...@samba.org
Date:   Fri Dec 2 23:43:10 2011 +0100

tevent: Fix typo in build script.

Autobuild-User: Jelmer Vernooij jel...@samba.org
Autobuild-Date: Sat Dec  3 02:15:40 CET 2011 on sn-devel-104

---

Summary of changes:
 lib/tevent/wscript |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tevent/wscript b/lib/tevent/wscript
index 6f94d80..5afaaca 100644
--- a/lib/tevent/wscript
+++ b/lib/tevent/wscript
@@ -92,7 +92,7 @@ def build(bld):
   pc_files='tevent.pc',
   private_library=private_library)
 
-if not bld.CONFIG_SET('USING_SYSTEM_PYTDB'):
+if not bld.CONFIG_SET('USING_SYSTEM_PYTEVENT'):
 bld.SAMBA_PYTHON('pytevent',
  'pytevent.c',
  deps='tevent',


-- 
Samba Shared Repository


[SCM] CTDB repository - branch master updated - ctdb-1.12-86-g8281bb2

2011-12-02 Thread Michael Adam
The branch, master has been updated
   via  8281bb210858ed04992eacea7f6d02261e0fc1b1 (commit)
  from  6489d0d9b8ec14c7764a1865618faf659800bcc3 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -
commit 8281bb210858ed04992eacea7f6d02261e0fc1b1
Author: Michael Adam ob...@samba.org
Date:   Sat Dec 3 02:15:30 2011 +0100

traverse: fix traversing with empty records by adding a new (internal) 
control CTDB_CONTROL_TRAVERSE_START_EXT

By this, the original CTDB_CONTROL_TRAVERSE_START control that is
used by e.g. samba's smbstatus, is not changed, so that samba
continues working without code change.

The  CTDB_CONTROL_TRAVERSE_START currently just adds the withemptyrecords
flag to the state and processon on as CTDB_CONTROL_TRAVERSE_START_EXT.

---

Summary of changes:
 client/ctdb_client.c|4 ++--
 include/ctdb_private.h  |5 +
 include/ctdb_protocol.h |7 +++
 server/ctdb_control.c   |4 
 server/ctdb_traverse.c  |   39 ++-
 5 files changed, 52 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index 75ad0e1..224cdc0 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -2059,7 +2059,7 @@ static int ctdb_traverse_ext(struct ctdb_db_context 
*ctdb_db,
 void *private_data)
 {
TDB_DATA data;
-   struct ctdb_traverse_start t;
+   struct ctdb_traverse_start_ext t;
int32_t status;
int ret;
uint64_t srvid = (getpid() | 0xFLL60);
@@ -2085,7 +2085,7 @@ static int ctdb_traverse_ext(struct ctdb_db_context 
*ctdb_db,
data.dptr = (uint8_t *)t;
data.dsize = sizeof(t);
 
-   ret = ctdb_control(ctdb_db-ctdb, CTDB_CURRENT_NODE, 0, 
CTDB_CONTROL_TRAVERSE_START, 0,
+   ret = ctdb_control(ctdb_db-ctdb, CTDB_CURRENT_NODE, 0, 
CTDB_CONTROL_TRAVERSE_START_EXT, 0,
   data, NULL, NULL, status, NULL, NULL);
if (ret != 0 || status != 0) {
DEBUG(DEBUG_ERR,(ctdb_traverse_all failed\n));
diff --git a/include/ctdb_private.h b/include/ctdb_private.h
index 4155bac..f545eaa 100644
--- a/include/ctdb_private.h
+++ b/include/ctdb_private.h
@@ -955,6 +955,11 @@ struct ctdb_client_call_state {
 };
 
 
+int32_t ctdb_control_traverse_start_ext(struct ctdb_context *ctdb,
+   TDB_DATA indata,
+   TDB_DATA *outdata,
+   uint32_t srcnode,
+   uint32_t client_id);
 int32_t ctdb_control_traverse_start(struct ctdb_context *ctdb, TDB_DATA 
indata, 
TDB_DATA *outdata, uint32_t srcnode, 
uint32_t client_id);
 int32_t ctdb_control_traverse_all(struct ctdb_context *ctdb, TDB_DATA data, 
TDB_DATA *outdata);
diff --git a/include/ctdb_protocol.h b/include/ctdb_protocol.h
index 99e3f4f..c71bafa 100644
--- a/include/ctdb_protocol.h
+++ b/include/ctdb_protocol.h
@@ -374,6 +374,7 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS  = 
0,
CTDB_CONTROL_SCHEDULE_FOR_DELETION   = 128,
CTDB_CONTROL_SET_DB_READONLY = 129,
CTDB_CONTROL_CHECK_SRVIDS= 130,
+   CTDB_CONTROL_TRAVERSE_START_EXT  = 131,
 };
 
 /*
@@ -582,6 +583,12 @@ struct ctdb_traverse_start {
uint32_t db_id;
uint32_t reqid;
uint64_t srvid;
+};
+
+struct ctdb_traverse_start_ext {
+   uint32_t db_id;
+   uint32_t reqid;
+   uint64_t srvid;
bool withemptyrecords;
 };
 
diff --git a/server/ctdb_control.c b/server/ctdb_control.c
index 602e994..060f2c5 100644
--- a/server/ctdb_control.c
+++ b/server/ctdb_control.c
@@ -247,6 +247,10 @@ static int32_t ctdb_control_dispatch(struct ctdb_context 
*ctdb,
CHECK_CONTROL_DATA_SIZE(sizeof(struct ctdb_traverse_start));
return ctdb_control_traverse_start(ctdb, indata, outdata, 
srcnode, client_id);
 
+   case CTDB_CONTROL_TRAVERSE_START_EXT:
+   CHECK_CONTROL_DATA_SIZE(sizeof(struct ctdb_traverse_start_ext));
+   return ctdb_control_traverse_start_ext(ctdb, indata, outdata, 
srcnode, client_id);
+
case CTDB_CONTROL_TRAVERSE_ALL:
return ctdb_control_traverse_all(ctdb, indata, outdata);
 
diff --git a/server/ctdb_traverse.c b/server/ctdb_traverse.c
index d719f6f..da5a548 100644
--- a/server/ctdb_traverse.c
+++ b/server/ctdb_traverse.c
@@ -557,13 +557,17 @@ static void traverse_start_callback(void *p, TDB_DATA 
key, TDB_DATA data)
 }
 
 
-/*
-  start a traverse_all - called as a control from a client
+/**
+ * start a traverse_all - called as a control from a client.
+ * extended version to take the 

[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Jeremy Allison
The branch, master has been updated
   via  a3f6005 s3-winbind: Add an update function for winbind cache.
  from  0ebc501 tevent: Fix typo in build script.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit a3f600521122d1a6d74d16668bd1ea4447c5c867
Author: Andreas Schneider a...@samba.org
Date:   Fri Dec 2 16:19:34 2011 -0800

s3-winbind: Add an update function for winbind cache.

With 57b3d32 we changed the format for the winbind cache database and
the code deleted the database for the upgrade. As this database holds
also cached credentials, removing it is not an option. We need to update
from version 1 to version 2.

Autobuild-User: Jeremy Allison j...@samba.org
Autobuild-Date: Sat Dec  3 03:47:58 CET 2011 on sn-devel-104

---

Summary of changes:
 source3/winbindd/winbindd_cache.c |   96 -
 1 files changed, 94 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_cache.c 
b/source3/winbindd/winbindd_cache.c
index 9aed366..c1f0d36 100644
--- a/source3/winbindd/winbindd_cache.c
+++ b/source3/winbindd/winbindd_cache.c
@@ -38,7 +38,10 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
 
-#define WINBINDD_CACHE_VERSION 2
+#define WINBINDD_CACHE_VER1 1 /* initial db version */
+#define WINBINDD_CACHE_VER2 2 /* second version with timeouts for NDR entries 
*/
+
+#define WINBINDD_CACHE_VERSION WINBINDD_CACHE_VER2
 #define WINBINDD_CACHE_VERSION_KEYSTR WINBINDD_CACHE_VERSION
 
 extern struct winbindd_methods reconnect_methods;
@@ -4083,6 +4086,70 @@ static void validate_panic(const char *const why)
exit(47);
 }
 
+static int wbcache_update_centry_fn(TDB_CONTEXT *tdb,
+   TDB_DATA key,
+   TDB_DATA data,
+   void *state)
+{
+   uint64_t ctimeout;
+   TDB_DATA blob;
+
+   if (is_non_centry_key(key)) {
+   return 0;
+   }
+
+   if (data.dptr == NULL || data.dsize == 0) {
+   if (tdb_delete(tdb, key)  0) {
+   DEBUG(0, (tdb_delete for [%s] failed!\n,
+ key.dptr));
+   return 1;
+   }
+   }
+
+   /* add timeout to blob (uint64_t) */
+   blob.dsize = data.dsize + 8;
+
+   blob.dptr = SMB_XMALLOC_ARRAY(uint8_t, blob.dsize);
+   if (blob.dptr == NULL) {
+   return 1;
+   }
+   memset(blob.dptr, 0, blob.dsize);
+
+   /* copy status and seqnum */
+   memcpy(blob.dptr, data.dptr, 8);
+
+   /* add timeout */
+   ctimeout = lp_winbind_cache_time() + time(NULL);
+   SBVAL(blob.dptr, 8, ctimeout);
+
+   /* copy the rest */
+   memcpy(blob.dptr + 16, data.dptr + 8, data.dsize - 8);
+
+   if (tdb_store(tdb, key, blob, TDB_REPLACE)  0) {
+   DEBUG(0, (tdb_store to update [%s] failed!\n,
+ key.dptr));
+   SAFE_FREE(blob.dptr);
+   return 1;
+   }
+
+   SAFE_FREE(blob.dptr);
+   return 0;
+}
+
+static bool wbcache_upgrade_v1_to_v2(TDB_CONTEXT *tdb)
+{
+   int rc;
+
+   DEBUG(1, (Upgrade to version 2 of the winbindd_cache.tdb\n));
+
+   rc = tdb_traverse(tdb, wbcache_update_centry_fn, NULL);
+   if (rc  0) {
+   return false;
+   }
+
+   return true;
+}
+
 /***
  Try and validate every entry in the winbindd cache. If we fail here,
  delete the cache tdb and return non-zero.
@@ -4093,11 +4160,12 @@ int winbindd_validate_cache(void)
int ret = -1;
const char *tdb_path = state_path(winbindd_cache.tdb);
TDB_CONTEXT *tdb = NULL;
+   uint32_t vers_id;
+   bool ok;
 
DEBUG(10, (winbindd_validate_cache: replacing panic function\n));
smb_panic_fn = validate_panic;
 
-
tdb = tdb_open_log(tdb_path, 
   WINBINDD_CACHE_TDB_DEFAULT_HASH_SIZE,
   TDB_INCOMPATIBLE_HASH |
@@ -4111,6 +4179,30 @@ int winbindd_validate_cache(void)
  error opening/initializing tdb\n));
goto done;
}
+
+   /* Version check and upgrade code. */
+   if (!tdb_fetch_uint32(tdb, WINBINDD_CACHE_VERSION_KEYSTR, vers_id)) {
+   DEBUG(10, (Fresh database\n));
+   tdb_store_uint32(tdb, WINBINDD_CACHE_VERSION_KEYSTR, 
WINBINDD_CACHE_VERSION);
+   vers_id = WINBINDD_CACHE_VERSION;
+   }
+
+   if (vers_id != WINBINDD_CACHE_VERSION) {
+   if (vers_id == WINBINDD_CACHE_VER1) {
+   ok = wbcache_upgrade_v1_to_v2(tdb);
+   if (!ok) {
+   DEBUG(10, 

[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Michael Adam
The branch, master has been updated
   via  d74b3f9 lib/util: factor out tdb_data_is_empty
   via  789aa9a s3:registry: do not use regdb functions during db upgrade
   via  5bc4449 s3:net: adapt idmap check to new dbwrap_fetch behavior not 
to return success if not found
  from  a3f6005 s3-winbind: Add an update function for winbind cache.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit d74b3f941f5e28bf4a98dab6d4be25fbaab200b7
Author: Gregor Beck gb...@sernet.de
Date:   Mon Nov 7 09:59:37 2011 +0100

lib/util: factor out tdb_data_is_empty

Signed-off-by: Michael Adam ob...@samba.org

Autobuild-User: Michael Adam ob...@samba.org
Autobuild-Date: Sat Dec  3 05:20:30 CET 2011 on sn-devel-104

commit 789aa9aab2b99ae1466a67e3f505abbc67a3e7cb
Author: Gregor Beck gb...@sernet.de
Date:   Fri Oct 14 10:57:11 2011 +0200

s3:registry: do not use regdb functions during db upgrade

It is importante to not use the database backend implementation
in the upgrade. Otherwise this would only work as long as this
is the newset version. In future versions of the registry, this
(then) intermediate upgrade step would change in behaviour and not
work as expected any more.

Signed-off-by: Michael Adam ob...@samba.org

commit 5bc44491d2c28db0a100f4e34f306dbabf84bb55
Author: Gregor Beck gb...@sernet.de
Date:   Fri Nov 4 10:55:47 2011 +0100

s3:net: adapt idmap check to new dbwrap_fetch behavior not to return 
success if not found

Signed-off-by: Michael Adam ob...@samba.org

---

Summary of changes:
 lib/util/util_tdb.c|4 +
 lib/util/util_tdb.h|1 +
 source3/Makefile.in|6 +-
 source3/registry/reg_backend_db.c  |  194 +--
 source3/utils/net_idmap_check.c|   25 ++---
 source3/utils/net_registry_check.c |4 -
 source3/wscript_build  |7 +-
 7 files changed, 161 insertions(+), 80 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/util_tdb.c b/lib/util/util_tdb.c
index 02c7095..0c30d77 100644
--- a/lib/util/util_tdb.c
+++ b/lib/util/util_tdb.c
@@ -46,6 +46,10 @@ bool tdb_data_equal(TDB_DATA t1, TDB_DATA t2)
return (memcmp(t1.dptr, t2.dptr, t1.dsize) == 0);
 }
 
+bool tdb_data_is_empty(TDB_DATA d) {
+   return (d.dsize == 0) || (d.dptr == NULL);
+}
+
 TDB_DATA string_tdb_data(const char *string)
 {
return make_tdb_data((const uint8_t *)string, string ? strlen(string) : 
0 );
diff --git a/lib/util/util_tdb.h b/lib/util/util_tdb.h
index 2d805d7..3d03b99 100644
--- a/lib/util/util_tdb.h
+++ b/lib/util/util_tdb.h
@@ -27,6 +27,7 @@
 /
 TDB_DATA make_tdb_data(const uint8_t *dptr, size_t dsize);
 bool tdb_data_equal(TDB_DATA t1, TDB_DATA t2);
+bool tdb_data_is_empty(TDB_DATA d);
 TDB_DATA string_tdb_data(const char *string);
 TDB_DATA string_term_tdb_data(const char *string);
 
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 62504fd..3cdf9b6 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -682,6 +682,8 @@ REG_BASE_OBJ = registry/reg_api.o \
   registry/reg_util_internal.o \
   lib/util_nttoken.o \
   $(REG_BACKENDS_BASE_OBJ) \
+  registry/reg_parse_internal.o \
+  lib/cbuf.o lib/srprs.o \
   $(REG_INIT_BASIC_OBJ)
 
 REG_SMBCONF_OBJ = $(REG_BASE_OBJ) \
@@ -1219,8 +1221,8 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \
   rpc_client/init_netlogon.o \
   rpc_client/init_samr.o \
   registry/reg_parse.o registry/reg_format.o \
-  registry/reg_parse_internal.o registry/reg_import.o \
-  lib/cbuf.o lib/srprs.o printing/nt_printing_migrate.o
+  registry/reg_import.o \
+  printing/nt_printing_migrate.o
 
 # these are not processed by make proto
 NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o
diff --git a/source3/registry/reg_backend_db.c 
b/source3/registry/reg_backend_db.c
index b306b2c..965d121 100644
--- a/source3/registry/reg_backend_db.c
+++ b/source3/registry/reg_backend_db.c
@@ -26,6 +26,7 @@
 #include registry.h
 #include reg_db.h
 #include reg_util_internal.h
+#include reg_parse_internal.h
 #include reg_backend_db.h
 #include reg_objects.h
 #include nt_printing.h
@@ -516,22 +517,100 @@ done:
return werr;
 }
 
+static bool tdb_data_read_uint32(TDB_DATA *buf, uint32_t *result)
+{
+   const size_t len = sizeof(uint32_t);
+   if (buf-dsize = len) {
+   *result = IVAL(buf-dptr, 0);
+   buf-dptr += len;
+   buf-dsize -= len;
+   return true;
+   }
+   return false;
+}
+
+static bool tdb_data_read_cstr(TDB_DATA *buf, char **result)
+{
+   

[SCM] Samba Shared Repository - branch master updated

2011-12-02 Thread Jelmer Vernooij
The branch, master has been updated
   via  05bc4de Revert making public of the samba-module library.
  from  d74b3f9 lib/util: factor out tdb_data_is_empty

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 05bc4de083b993e3db06fdb2a3e1198021526a71
Author: Jelmer Vernooij jel...@samba.org
Date:   Sat Dec 3 07:03:35 2011 +0100

Revert making public of the samba-module library.

This library was tiny - containing just two public functions than were
themselves trivial. The amount of overhead this causes isn't really worth 
the
benefits of sharing the code with other projects like OpenChange. In 
addition, this code
isn't really generically useful anyway, as it can only load from the module 
path
set for Samba at configure time.

Adding a new library was breaking the API/ABI anyway, so OpenChange had to 
be
updated to cope with the new situation one way or another. I've added a 
simpler
(compatible) routine for loading modules to OpenChange, which is less than 
100 lines of code.

Autobuild-User: Jelmer Vernooij jel...@samba.org
Autobuild-Date: Sat Dec  3 08:36:33 CET 2011 on sn-devel-104

---

Summary of changes:
 auth/gensec/gensec_start.c   |   14 +++---
 auth/gensec/wscript_build|2 +-
 buildtools/wafsamba/wafsamba.py  |2 +-
 lib/util/ABI/samba-module-0.0.1.sigs |2 -
 lib/util/internal_module.h   |   42 -
 lib/util/{internal_module.c = modules.c}|   55 +++
 lib/util/samba-module.pc.in  |   11 -
 lib/util/samba_module.c  |   62 --
 lib/util/{samba_module.h = samba_modules.h} |   20 ++--
 lib/util/wscript_build   |   16 +-
 source3/Makefile.in  |2 +-
 source3/exports/modules-darwin.syms  |2 +-
 source3/include/includes.h   |2 +-
 source3/m4/aclocal.m4|2 +-
 source3/modules/perfcount_test.c |2 +-
 source3/winbindd/idmap_ad.c  |2 +-
 source3/winbindd/idmap_adex/idmap_adex.c |2 +-
 source3/winbindd/idmap_autorid.c |2 +-
 source3/winbindd/idmap_hash/idmap_hash.c |2 +-
 source3/winbindd/idmap_rid.c |2 +-
 source3/winbindd/idmap_tdb2.c|2 +-
 source3/wscript  |2 +-
 source3/wscript_build|2 +-
 source4/auth/ntlm/auth.c |6 +-
 source4/auth/ntlm/wscript_build  |2 +-
 source4/ntptr/ntptr_base.c   |   10 ++--
 source4/ntvfs/ntvfs_base.c   |   12 +++---
 source4/ntvfs/posix/pvfs_acl.c   |   12 +++---
 source4/ntvfs/posix/wscript_build|2 +-
 source4/ntvfs/sysdep/sys_lease.c |6 +-
 source4/ntvfs/sysdep/sys_notify.c|6 +-
 source4/ntvfs/wscript_build  |2 +-
 source4/param/share.c|6 +-
 source4/param/wscript_build  |2 +-
 source4/rpc_server/dcerpc_server.c   |   12 +++---
 source4/smbd/process_model.c |   12 +++---
 source4/smbd/server.c|   12 +++---
 source4/smbd/wscript_build   |2 +-
 source4/torture/smbtorture.c |4 +-
 source4/torture/torture.c|   10 ++--
 40 files changed, 145 insertions(+), 225 deletions(-)
 delete mode 100644 lib/util/ABI/samba-module-0.0.1.sigs
 delete mode 100644 lib/util/internal_module.h
 rename lib/util/{internal_module.c = modules.c} (79%)
 delete mode 100644 lib/util/samba-module.pc.in
 delete mode 100644 lib/util/samba_module.c
 rename lib/util/{samba_module.h = samba_modules.h} (70%)


Changeset truncated at 500 lines:

diff --git a/auth/gensec/gensec_start.c b/auth/gensec/gensec_start.c
index a48606f..c38b970 100644
--- a/auth/gensec/gensec_start.c
+++ b/auth/gensec/gensec_start.c
@@ -29,7 +29,7 @@
 #include auth/gensec/gensec.h
 #include lib/param/param.h
 #include lib/util/tsort.h
-#include lib/util/samba_module.h
+#include lib/util/samba_modules.h
 
 /* the list of currently registered GENSEC backends */
 static struct gensec_security_ops **generic_security_ops;
@@ -878,19 +878,19 @@ _PUBLIC_ NTSTATUS gensec_init(void)
 #define _MODULE_PROTO(init) extern NTSTATUS init(void);
 #ifdef STATIC_gensec_MODULES
STATIC_gensec_MODULES_PROTO;
-   samba_module_init_fn static_init[] = { STATIC_gensec_MODULES };
+   init_module_fn static_init[] = { STATIC_gensec_MODULES };
 #else
-   samba_module_init_fn *static_init = NULL;
+   init_module_fn *static_init = NULL;
 #endif
-