[Samba] 3.2.4 CreateDirectory panic

2008-10-21 Thread Peter Rindfuss

Hi,
For some reason I am not able to send the level 10 debug output as an 
attachment to the list. Therefore, I have prepared a download link:


http://www.wzb.eu/wzb/dv/downloads/log.smbd.gz

Cheers, Peter

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


Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Jeremy Allison
On Mon, Oct 20, 2008 at 08:54:11PM +0200, Peter Rindfuss wrote:
> Jeremy Allison wrote:
> > On Mon, Oct 20, 2008 at 04:09:57PM +0200, Peter Rindfuss wrote:
> >> On 2008-10-20 15:17, Volker Lendecke wrote:
> >>> On Mon, Oct 20, 2008 at 03:11:41PM +0200, Peter Rindfuss wrote:
>  On 2008-10-20 15:02, Volker Lendecke wrote:
> > On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> >> attached is the subroutine that I used for testing.
> >> The part enclosed in #ifdef createdir_alt worked with 3.0.24, but 
> >> not with 3.2.4. The #else part works with 3.2.4. Both versions 
> >> are based upon the same security descriptor structure.
> > Can you also send your smb.conf and a debug level 10 log
> > leading to this error?
> >
>  smb.conf is attached.
> 
>  Is it possible to turn on level 10 logging without restarting the  
>  daemon? It is our production server and I'm not willing to disturb 
>  any existing connection.
> >>> Sure. Just set "debug level = 10". Then all new connections
> >>> will get the higher debuglevel. Alternatively, connect from
> >>> your client, look at smbstatus output to find "your" smbd
> >>> pid and issue
> >>>
> >>> smbcontrol  debug 10
> >>>
> >>> to make just that one smbd use that debuglevel.
> >>>
> >>> Volker
> >> Here comes the log; I went to the CreateDirectory call in the debugger,
> >> turned level 10 on and stepped over the call.
> >>
> >> Second try; gzipped now.
> > 
> > No log attached to this message I'm afraid. Can you
> > try again please ?

Still nothing attached to this message. Try a different
mailer ?
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba


Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Peter Rindfuss
Jeremy Allison wrote:
> On Mon, Oct 20, 2008 at 04:09:57PM +0200, Peter Rindfuss wrote:
>> On 2008-10-20 15:17, Volker Lendecke wrote:
>>> On Mon, Oct 20, 2008 at 03:11:41PM +0200, Peter Rindfuss wrote:
 On 2008-10-20 15:02, Volker Lendecke wrote:
> On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
>> attached is the subroutine that I used for testing.
>> The part enclosed in #ifdef createdir_alt worked with 3.0.24, but 
>> not with 3.2.4. The #else part works with 3.2.4. Both versions 
>> are based upon the same security descriptor structure.
> Can you also send your smb.conf and a debug level 10 log
> leading to this error?
>
 smb.conf is attached.

 Is it possible to turn on level 10 logging without restarting the  
 daemon? It is our production server and I'm not willing to disturb 
 any existing connection.
>>> Sure. Just set "debug level = 10". Then all new connections
>>> will get the higher debuglevel. Alternatively, connect from
>>> your client, look at smbstatus output to find "your" smbd
>>> pid and issue
>>>
>>> smbcontrol  debug 10
>>>
>>> to make just that one smbd use that debuglevel.
>>>
>>> Volker
>> Here comes the log; I went to the CreateDirectory call in the debugger,
>> turned level 10 on and stepped over the call.
>>
>> Second try; gzipped now.
> 
> No log attached to this message I'm afraid. Can you
> try again please ?
> 


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

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Jeremy Allison
On Mon, Oct 20, 2008 at 04:09:57PM +0200, Peter Rindfuss wrote:
> On 2008-10-20 15:17, Volker Lendecke wrote:
>> On Mon, Oct 20, 2008 at 03:11:41PM +0200, Peter Rindfuss wrote:
>>> On 2008-10-20 15:02, Volker Lendecke wrote:
 On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> attached is the subroutine that I used for testing.
> The part enclosed in #ifdef createdir_alt worked with 3.0.24, but 
> not with 3.2.4. The #else part works with 3.2.4. Both versions 
> are based upon the same security descriptor structure.
 Can you also send your smb.conf and a debug level 10 log
 leading to this error?

>>> smb.conf is attached.
>>>
>>> Is it possible to turn on level 10 logging without restarting the  
>>> daemon? It is our production server and I'm not willing to disturb 
>>> any existing connection.
>>
>> Sure. Just set "debug level = 10". Then all new connections
>> will get the higher debuglevel. Alternatively, connect from
>> your client, look at smbstatus output to find "your" smbd
>> pid and issue
>>
>> smbcontrol  debug 10
>>
>> to make just that one smbd use that debuglevel.
>>
>> Volker
>
> Here comes the log; I went to the CreateDirectory call in the debugger,
> turned level 10 on and stepped over the call.
>
> Second try; gzipped now.

No log attached to this message I'm afraid. Can you
try again please ?

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


Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Peter Rindfuss

On 2008-10-20 15:17, Volker Lendecke wrote:

On Mon, Oct 20, 2008 at 03:11:41PM +0200, Peter Rindfuss wrote:

On 2008-10-20 15:02, Volker Lendecke wrote:

On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:

attached is the subroutine that I used for testing.
The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
with 3.2.4. The #else part works with 3.2.4. Both versions are based 
upon the same security descriptor structure.

Can you also send your smb.conf and a debug level 10 log
leading to this error?


smb.conf is attached.

Is it possible to turn on level 10 logging without restarting the 
daemon? It is our production server and I'm not willing to disturb any 
existing connection.


Sure. Just set "debug level = 10". Then all new connections
will get the higher debuglevel. Alternatively, connect from
your client, look at smbstatus output to find "your" smbd
pid and issue

smbcontrol  debug 10

to make just that one smbd use that debuglevel.

Volker


Here comes the log; I went to the CreateDirectory call in the debugger,
turned level 10 on and stepped over the call.

Second try; gzipped now.

Peter


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

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Stéphane PURNELLE
smbcontrol pid_of_daemon debug 10

---
Stéphane PURNELLE [EMAIL PROTECTED]
Service Informatique   Corman S.A.   Tel : 00 32 087/342467

[EMAIL PROTECTED] a écrit sur 
20/10/2008 15:11:41 :

> On 2008-10-20 15:02, Volker Lendecke wrote:
> > On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> >> attached is the subroutine that I used for testing.
> >> The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 

> >> with 3.2.4. The #else part works with 3.2.4. Both versions are based 
> >> upon the same security descriptor structure.
> > 
> > Can you also send your smb.conf and a debug level 10 log
> > leading to this error?
> > 
> 
> smb.conf is attached.
> 
> Is it possible to turn on level 10 logging without restarting the 
> daemon? It is our production server and I'm not willing to disturb any 
> existing connection.
> 
> Peter
> # Samba config file created using SWAT
> # from 193.174.6.50 (193.174.6.50)
> # Date: 2008/08/15 10:55:55
> 
> [global]
>display charset = UTF-8
>workgroup = WZB
>server string = File Server
>interfaces = 127.0.0.1, 193.174.6.4
>bind interfaces only = Yes
>passdb backend = ldapsam:ldapi://%2fvar%2frun%2fslapd%2fldapi/
>guest account = guest
>passwd program = /usr/local/sbin/wzbpasswd -U -M -s -x %u
>passwd chat = *Enter*password* %n\n *Re-enter*password* %n\n 
*changed*
>username map = /etc/samba/smbusers
>unix password sync = Yes
>lanman auth = No
>syslog = 0
>smb ports = 139
>time server = Yes
>socket options = TCP_NODELAY SO_KEEPALIVE
>load printers = No
>printcap name = /dev/null
>add user script = /usr/local/sbin/wzbuseradd -q -I -y -c %u
>delete user script = /usr/local/sbin/wzbuserdel -q -d %u
>add group script = /usr/local/sbin/wzbgroupadd -q -y '%g'
>delete group script = /usr/local/sbin/wzbgroupdel -q '%g'
>add user to group script = /usr/local/sbin/wzbgroupmemberadd -q '%g' 
%u
>delete user from group script = /usr/local/sbin/wzbgroupmemberdel-q 
'%g' %u
>set primary group script = /usr/local/sbin/wzbgroupprim -q %u '%g'
>add machine script = /usr/local/sbin/wzbuseradd -q -y -x %m
>logon script = login.cmd
>logon path = 
>logon home = \\selene\wzb
>domain logons = Yes
>os level = 65
>preferred master = Yes
>domain master = Yes
>dns proxy = No
>wins support = Yes
>kernel oplocks = No
>ldap admin dn = cn=root,dc=wzb,dc=eu
>ldap group suffix = ou=groups
>ldap machine suffix = ou=machines
>ldap suffix = ou=accounts,dc=wzb,dc=eu
>ldap ssl = no
>ldap user suffix = ou=users
>host msdfs = No
>vscan-fsav:config-file = /etc/samba/fsav.conf
>ldapsam:trusted = Yes
>admin users = @admins
>create mask = 0700
>directory mask = 0700
>hosts allow = 193.174.6.0/255.255.254.0
>ea support = Yes
>map acl inherit = Yes
>cups options = raw
>hide unreadable = Yes
>map archive = No
>mangled names = No
>store dos attributes = Yes
>dos filemode = Yes
> 
> [printers]
>comment = Network Printers
>path = /var/spool/cups
>create mask = 0600
>hosts allow = 127.0.0.1, 193.174.6.0/23
>hosts deny = 0.0.0.0
>printable = Yes
>browseable = No
> 
> [print$]
>comment = Printer Drivers
>path = /var/lib/samba/drivers
>write list = @admins
>force group = @admins
>create mask = 0664
>directory mask = 0775
>available = No
> 
> [netlogon]
>comment = Network Logon Service
>path = /wzb/netlogon
>valid users = @admins, @users, root
>admin users = @admins, root
>guest ok = Yes
>browseable = No
> 
> [wzb]
>comment = WZB File Server
>path = /wzb/samba
>valid users = @admins, @users, root
>admin users = @admins, root
>read only = No
>inherit permissions = Yes
>inherit acls = Yes
>inherit owner = Yes
>use sendfile = Yes
>hide dot files = No
>hide special files = Yes
>map readonly = permissions
>mangled names = Yes
>root preexec = /usr/local/sbin/wzbldapsettime %u sambaLogonTime
>root postexec = /usr/local/sbin/wzbldapsettime %u sambaLogoffTime
> 
> [admin]
>comment = Zugriff auf Alles für die Admins
>path = /
>valid users = @admins, root
>admin users = @admins, root
>read only = No
>inherit acls = Yes
>inherit owner = Yes
>hide dot files = No
>hide unreadable = No
>mangled names = Yes
>browseable = No
> 
> [wzbadmin]
>path = /wzb
>valid users = @admins
>read only = No
>inherit permissions = Yes
>inherit acls = Yes
>inherit owner = Yes
>mangled names = Yes
> 
> [pmail]
>comment = Pegasus Mail Share
>path = /wzb/pmail
>valid users = @admins, @users
>read only = No
>inherit permissions = Yes
>inherit acls = Yes
>inherit owner = Yes
>hide special files = Yes
>map r

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Volker Lendecke
On Mon, Oct 20, 2008 at 03:11:41PM +0200, Peter Rindfuss wrote:
> On 2008-10-20 15:02, Volker Lendecke wrote:
> >On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> >>attached is the subroutine that I used for testing.
> >>The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
> >>with 3.2.4. The #else part works with 3.2.4. Both versions are based 
> >>upon the same security descriptor structure.
> >
> >Can you also send your smb.conf and a debug level 10 log
> >leading to this error?
> >
> 
> smb.conf is attached.
> 
> Is it possible to turn on level 10 logging without restarting the 
> daemon? It is our production server and I'm not willing to disturb any 
> existing connection.

Sure. Just set "debug level = 10". Then all new connections
will get the higher debuglevel. Alternatively, connect from
your client, look at smbstatus output to find "your" smbd
pid and issue

smbcontrol  debug 10

to make just that one smbd use that debuglevel.

Volker


pgpT3Ekk8e731.pgp
Description: PGP signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Peter Rindfuss

On 2008-10-20 15:02, Volker Lendecke wrote:

On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:

attached is the subroutine that I used for testing.
The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
with 3.2.4. The #else part works with 3.2.4. Both versions are based 
upon the same security descriptor structure.


Can you also send your smb.conf and a debug level 10 log
leading to this error?



smb.conf is attached.

Is it possible to turn on level 10 logging without restarting the 
daemon? It is our production server and I'm not willing to disturb any 
existing connection.


Peter
# Samba config file created using SWAT
# from 193.174.6.50 (193.174.6.50)
# Date: 2008/08/15 10:55:55

[global]
display charset = UTF-8
workgroup = WZB
server string = File Server
interfaces = 127.0.0.1, 193.174.6.4
bind interfaces only = Yes
passdb backend = ldapsam:ldapi://%2fvar%2frun%2fslapd%2fldapi/
guest account = guest
passwd program = /usr/local/sbin/wzbpasswd -U -M -s -x %u
passwd chat = *Enter*password* %n\n *Re-enter*password* %n\n *changed*
username map = /etc/samba/smbusers
unix password sync = Yes
lanman auth = No
syslog = 0
smb ports = 139
time server = Yes
socket options = TCP_NODELAY SO_KEEPALIVE
load printers = No
printcap name = /dev/null
add user script = /usr/local/sbin/wzbuseradd -q -I -y -c %u
delete user script = /usr/local/sbin/wzbuserdel -q -d %u
add group script = /usr/local/sbin/wzbgroupadd -q -y '%g'
delete group script = /usr/local/sbin/wzbgroupdel -q '%g'
add user to group script = /usr/local/sbin/wzbgroupmemberadd -q '%g' %u
delete user from group script = /usr/local/sbin/wzbgroupmemberdel -q 
'%g' %u
set primary group script = /usr/local/sbin/wzbgroupprim -q %u '%g'
add machine script = /usr/local/sbin/wzbuseradd -q -y -x %m
logon script = login.cmd
logon path = 
logon home = \\selene\wzb
domain logons = Yes
os level = 65
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
kernel oplocks = No
ldap admin dn = cn=root,dc=wzb,dc=eu
ldap group suffix = ou=groups
ldap machine suffix = ou=machines
ldap suffix = ou=accounts,dc=wzb,dc=eu
ldap ssl = no
ldap user suffix = ou=users
host msdfs = No
vscan-fsav:config-file = /etc/samba/fsav.conf
ldapsam:trusted = Yes
admin users = @admins
create mask = 0700
directory mask = 0700
hosts allow = 193.174.6.0/255.255.254.0
ea support = Yes
map acl inherit = Yes
cups options = raw
hide unreadable = Yes
map archive = No
mangled names = No
store dos attributes = Yes
dos filemode = Yes

[printers]
comment = Network Printers
path = /var/spool/cups
create mask = 0600
hosts allow = 127.0.0.1, 193.174.6.0/23
hosts deny = 0.0.0.0
printable = Yes
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @admins
force group = @admins
create mask = 0664
directory mask = 0775
available = No

[netlogon]
comment = Network Logon Service
path = /wzb/netlogon
valid users = @admins, @users, root
admin users = @admins, root
guest ok = Yes
browseable = No

[wzb]
comment = WZB File Server
path = /wzb/samba
valid users = @admins, @users, root
admin users = @admins, root
read only = No
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
use sendfile = Yes
hide dot files = No
hide special files = Yes
map readonly = permissions
mangled names = Yes
root preexec = /usr/local/sbin/wzbldapsettime %u sambaLogonTime
root postexec = /usr/local/sbin/wzbldapsettime %u sambaLogoffTime

[admin]
comment = Zugriff auf Alles für die Admins
path = /
valid users = @admins, root
admin users = @admins, root
read only = No
inherit acls = Yes
inherit owner = Yes
hide dot files = No
hide unreadable = No
mangled names = Yes
browseable = No

[wzbadmin]
path = /wzb
valid users = @admins
read only = No
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
mangled names = Yes

[pmail]
comment = Pegasus Mail Share
path = /wzb/pmail
valid users = @admins, @users
read only = No
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
hide special files = Yes
  

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Volker Lendecke
On Mon, Oct 20, 2008 at 03:04:06PM +0200, Peter Rindfuss wrote:
> On 2008-10-20 14:45, Volker Lendecke wrote:
> >On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> >>attached is the subroutine that I used for testing.
> >>The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
> >>with 3.2.4. The #else part works with 3.2.4. Both versions are based 
> >>upon the same security descriptor structure.
> >
> >Sorry, the binary would be much more helpful. I don't have
> >Visual Studio installed anywhere.
> >
> >Volker
> 
> 
> It's Borland C++ 5, actually.
> 
> I'd love to give you the executable but it is highly site-specific, does 
> many non-samba things (needs libmySQL.dll, for instance), has an ini 
> file that contains a sensitive password and so on. It will not work for 
> you. If I find the time I'll put together a small program that just 
> calls the test code.

Good. Alternatively, smb.conf, sniff and debug level 10 log
might also help.

Volker


pgpv8F101MvCF.pgp
Description: PGP signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Peter Rindfuss

On 2008-10-20 14:45, Volker Lendecke wrote:

On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:

attached is the subroutine that I used for testing.
The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
with 3.2.4. The #else part works with 3.2.4. Both versions are based 
upon the same security descriptor structure.


Sorry, the binary would be much more helpful. I don't have
Visual Studio installed anywhere.

Volker



It's Borland C++ 5, actually.

I'd love to give you the executable but it is highly site-specific, does 
many non-samba things (needs libmySQL.dll, for instance), has an ini 
file that contains a sensitive password and so on. It will not work for 
you. If I find the time I'll put together a small program that just 
calls the test code.


Cheers, Peter

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


Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Volker Lendecke
On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> attached is the subroutine that I used for testing.
> The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
> with 3.2.4. The #else part works with 3.2.4. Both versions are based 
> upon the same security descriptor structure.

Can you also send your smb.conf and a debug level 10 log
leading to this error?

Thanks,

Volker


pgpYt7Xj6hzHI.pgp
Description: PGP signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Volker Lendecke
On Mon, Oct 20, 2008 at 02:34:23PM +0200, Peter Rindfuss wrote:
> attached is the subroutine that I used for testing.
> The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
> with 3.2.4. The #else part works with 3.2.4. Both versions are based 
> upon the same security descriptor structure.

Sorry, the binary would be much more helpful. I don't have
Visual Studio installed anywhere.

Volker


pgpq8x6Ow0N4r.pgp
Description: PGP signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Peter Rindfuss

On 2008-10-20 13:55, Volker Lendecke wrote:

On Mon, Oct 20, 2008 at 01:18:11PM +0200, Peter Rindfuss wrote:

Hi,

I have just set up a new 64bit server as PDC with opensuse 11 and samba 
3.2.4. The configuration was taken over from suse 10 with samba 3.0.24.


So far, everything on the new server works fine but this:

I have a C++ utility program running under win xp which creates users 
and home directories usind win32 api calls. It worked fine with samba 
3.0.24 and before, but causes a samba panic when it executes the 
CreateDirectory win32 api call for the home directory. A log file 
snippet is attached.


My own testing shows that the panic only happens when CreateDirectory is 
called with a SECURITY_ATTRIBUTES structure in order to set the correct 
acls for the new directory:


CreateDirectory(HomePath, &security_attributes); -> panic

whereas
CreateDirectory(HomePath, NULL); -> ok

I tried some variants like
CreateDirectory ( HomePath, NULL ) ; -> ok
SetFileSecurity(Homepath, ..., security_descriptor); -> panic

and finally came up with this solution
CreateDirectory(HomePath, NULL); -> ok
SetNamedSecurityInfo(  ); -> ok

Strange thing is that in all variants I start out with the same 
SECURITY_DESCRIPTOR structure.


Can you send me that utility or a sniff?

Volker


Hi Volker,

attached is the subroutine that I used for testing.
The part enclosed in #ifdef createdir_alt worked with 3.0.24, but not 
with 3.2.4. The #else part works with 3.2.4. Both versions are based 
upon the same security descriptor structure.


Peter
bool SeleneConnection::TestDACL ( void )
{
  bool ok ;
  int needed ;
  int status ;
  int i, n ;
  char *sddl ;
  volatile DWORD error ;
  static char path[]  =  "selene\\wzbadmin\\samba\\user\\aaa" ;
  static char sidnewstring[]  =  
"S-1-5-21-3308023661-3915791984-1724325443-61014" ;  // some user
  static char groupsidstring[]  =  
"S-1-5-21-3308023661-3915791984-1724325443-513" ;  // "Domain Users" (unix 
group 'users')

  // sddlfmt was obtained by means of the utility 'subinacl'
  static const char sddlfmt[]  =
   
"O:%sG:%sD:(A;OICI;FA;;;%s)(A;OICIWD)(A;%s)(A;OICIIO;FA;;;CO)(A;OICIIOCG)"
 ;


  PSECURITY_DESCRIPTOR secdes ;

#ifdef createdir_alt
  SECURITY_ATTRIBUTES secattr ;
#else
  PACL dacl ;
  PSID owner, group ;
  BOOL present, def ;
#endif



  ok  =  false ;


  needed  =  (sizeof(sddlfmt) - 1)  +
 ((lstrlen(sidnewstring) - 2)  +
  (lstrlen(groupsidstring) - 2)) * 2  +  1 ;

  sddl  =  new char[needed] ;

  wsprintf ( sddl, sddlfmt,
 sidnewstring, groupsidstring, sidnewstring, groupsidstring ) ;

  ok  =  ConvertStringSecurityDescriptorToSecurityDescriptor
  ( sddl, SDDL_REVISION_1, &secdes, NULL ) ;

  delete[] sddl ;

  if ( ! ok )  goto exit0 ;


#ifdef createdir_alt

  // this does work in 3.0.24, but not in 3.2.4

  secattr.nLength  =  sizeof ( SECURITY_ATTRIBUTES ) ;
  secattr.lpSecurityDescriptor  =  secdes ;
  secattr.bInheritHandle  =  false ;

  ok  =  CreateDirectory ( HomePath, &secattr ) ; // --> panic
  error  =  GetLastError () ;

#else

  // this does work in 3.2.4

  ok  =  CreateDirectory ( path, NULL ) ;

  ok  =  ok  &&  GetSecurityDescriptorDacl ( secdes, &present, &dacl, &def ) ;
  ok  =  ok  &&  GetSecurityDescriptorOwner ( secdes, &owner, &def ) ;
  ok  =  ok  &&  GetSecurityDescriptorGroup ( secdes, &group, &def ) ;

  if ( ok )
  {
ok  =  (SetNamedSecurityInfo ( path, SE_FILE_OBJECT, 
OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION,
 owner, group, dacl, NULL )  ==  ERROR_SUCCESS) ;
error  =  GetLastError () ;
  }

#endif


  LocalFree ( secdes ) ;

  if ( ! ok )  goto exit0 ;


  ok  =  true ;


  exit0:
  return ( ok ) ;
}
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Re: [Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Volker Lendecke
On Mon, Oct 20, 2008 at 01:18:11PM +0200, Peter Rindfuss wrote:
> Hi,
> 
> I have just set up a new 64bit server as PDC with opensuse 11 and samba 
> 3.2.4. The configuration was taken over from suse 10 with samba 3.0.24.
> 
> So far, everything on the new server works fine but this:
> 
> I have a C++ utility program running under win xp which creates users 
> and home directories usind win32 api calls. It worked fine with samba 
> 3.0.24 and before, but causes a samba panic when it executes the 
> CreateDirectory win32 api call for the home directory. A log file 
> snippet is attached.
> 
> My own testing shows that the panic only happens when CreateDirectory is 
> called with a SECURITY_ATTRIBUTES structure in order to set the correct 
> acls for the new directory:
> 
> CreateDirectory(HomePath, &security_attributes); -> panic
> 
> whereas
> CreateDirectory(HomePath, NULL); -> ok
> 
> I tried some variants like
> CreateDirectory ( HomePath, NULL ) ; -> ok
> SetFileSecurity(Homepath, ..., security_descriptor); -> panic
> 
> and finally came up with this solution
> CreateDirectory(HomePath, NULL); -> ok
> SetNamedSecurityInfo(  ); -> ok
> 
> Strange thing is that in all variants I start out with the same 
> SECURITY_DESCRIPTOR structure.

Can you send me that utility or a sniff?

Volker


pgpVjtQSXEVWa.pgp
Description: PGP signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

[Samba] 3.2.4 CreateDirectory panic

2008-10-20 Thread Peter Rindfuss

Hi,

I have just set up a new 64bit server as PDC with opensuse 11 and samba 
3.2.4. The configuration was taken over from suse 10 with samba 3.0.24.


So far, everything on the new server works fine but this:

I have a C++ utility program running under win xp which creates users 
and home directories usind win32 api calls. It worked fine with samba 
3.0.24 and before, but causes a samba panic when it executes the 
CreateDirectory win32 api call for the home directory. A log file 
snippet is attached.


My own testing shows that the panic only happens when CreateDirectory is 
called with a SECURITY_ATTRIBUTES structure in order to set the correct 
acls for the new directory:


CreateDirectory(HomePath, &security_attributes); -> panic

whereas
CreateDirectory(HomePath, NULL); -> ok

I tried some variants like
CreateDirectory ( HomePath, NULL ) ; -> ok
SetFileSecurity(Homepath, ..., security_descriptor); -> panic

and finally came up with this solution
CreateDirectory(HomePath, NULL); -> ok
SetNamedSecurityInfo(  ); -> ok

Strange thing is that in all variants I start out with the same 
SECURITY_DESCRIPTOR structure.



Peter Rindfuss
[2008/10/19 19:23:44,  0] lib/fault.c:fault_report(40)
  ===
[2008/10/19 19:23:44,  0] lib/fault.c:fault_report(41)
  INTERNAL ERROR: Signal 11 in pid 5515 (3.2.4-0.1.130-1906-SUSE-SL11.0)
  Please read the Trouble-Shooting section of the Samba3-HOWTO
[2008/10/19 19:23:44,  0] lib/fault.c:fault_report(43)

  From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2008/10/19 19:23:44,  0] lib/fault.c:fault_report(44)
  ===
[2008/10/19 19:23:44,  0] lib/util.c:smb_panic(1663)
  PANIC (pid 5515): internal error
[2008/10/19 19:23:44,  0] lib/util.c:log_stack_trace(1767)
  BACKTRACE: 18 stack frames:
   #0 /usr/sbin/smbd(log_stack_trace+0x1a) [0x7fb621ea]
   #1 /usr/sbin/smbd(smb_panic+0x1f) [0x7fb622bf]
   #2 /usr/sbin/smbd [0x7fb621feb000]
   #3 /lib64/libpthread.so.0 [0x7fb61fbb1b30]
   #4 /usr/sbin/smbd(sid_compare+0x28) [0x7fb621ff91d8]
   #5 /usr/sbin/smbd(add_sid_to_array_unique+0x4d) [0x7fb621ff98ad]
   #6 /usr/sbin/smbd(create_token_from_username+0x4a6) [0x7fb622045b56]
   #7 /usr/sbin/smbd(user_in_group_sid+0x5a) [0x7fb62204630a]
   #8 /usr/sbin/smbd [0x7fb621e7104e]
   #9 /usr/sbin/smbd(set_nt_acl+0xab5) [0x7fb621e76265]
   #10 /usr/sbin/smbd [0x7fb621e8ae01]
   #11 /usr/sbin/smbd [0x7fb621e31fbc]
   #12 /usr/sbin/smbd(reply_nttrans+0x75c) [0x7fb621e32f8c]
   #13 /usr/sbin/smbd [0x7fb621e788ce]
   #14 /usr/sbin/smbd(smbd_process+0x263) [0x7fb621e7ab93]
   #15 /usr/sbin/smbd(main+0x1fa2) [0x7fb6221f9ad2]
   #16 /lib64/libc.so.6(__libc_start_main+0xe6) [0x7fb61e173436]
   #17 /usr/sbin/smbd [0x7fb621e01aa9]
[2008/10/19 19:23:44,  0] lib/fault.c:dump_core(201)
  dumping core in /var/log/samba/cores/smbd-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba