[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-532-g7c54240
Andrew Tridgell
tridge at samba.org
Sat Sep 19 00:29:38 MDT 2009
The branch, master has been updated
via 7c542406b192cd72c40778850d92771974d6466c (commit)
via e9a589feac531379e569bc39d803b16179002cfa (commit)
via ade5d43c5ceb915dd2210a735a21fd9bed531dd3 (commit)
via 716ddc2a897eacd08aed7ff4bee165e418ff63cc (commit)
via c6d58efa4b1ad5ff4a9e0f224b8a9789d8f82faf (commit)
via 39971fff27f71b514308d10d7a2d8c3fb58c2420 (commit)
via e71d9728f52e969e07927c5b38fa062c6ef6d1eb (commit)
via 52f2e26a25cdccf66a3271d40279fdd75d1750da (commit)
via 4eedcf71eae8dd2b039771e8f7afae9e37b13496 (commit)
via 7b157a3d8a7cfcb573134fe7ab30603cfa5d9d1b (commit)
via 1a1cb92583267dea07fa8b4580bf79c8907a7f88 (commit)
via 85e06ff41d0ed58582fc540886f3e9e52ac85ca4 (commit)
via db5e7f3d053ecedd985be518f2080f4061ed06e5 (commit)
via c9b0b89cc06531cb57f89b9f98d33d6e0c300957 (commit)
via 056cbf7f816a6d01bc0ef3105eca43b4aeee9116 (commit)
via 7326b8f63ebe55bdf662c6f7798cbeeb026b033a (commit)
via 6dfd10f476e0b74c36f73bfe17a68ca309c4c5ac (commit)
via 23676b6e9e8aad0ac2aa78d04e65f637b4551527 (commit)
via 7860817737158e5daa7596304dd9e35cb65ddcee (commit)
via c405d721c1a84bd2bdab2d56dd89e232cabe7955 (commit)
via 1b3f5cee2e72b8eb3df4836c237255ac7ad57136 (commit)
via f391e64a82b8e6bf5862175d3ebd71ff8d4b08e8 (commit)
via 79082f400e3d0c21b53d54bfb42954c2396110b9 (commit)
via 72217950d3a6ff0fc50eeebab13d4c9e119e6ba6 (commit)
via 9417aabe4b5f64001bffe2806f6527a31e87a25e (commit)
via 7744283c36803836f698c12710e8c0ec8fbd8e93 (commit)
via a04caf329fefccad0fc272474025f6d23a4deaa2 (commit)
via 7b3b66d7a22a4f2b460f979f4f489b09464f6946 (commit)
via 08f144777d4fc8168d27e71fe107718ba99223c9 (commit)
via bfd0877261883d1d6ef1d1757dad386332a8db37 (commit)
via f5aec9ebb4bf5d0e6f8c6974a485bc5cd2899fdd (commit)
via 48bc784e089fabf5f3f5a4e4d4ff47ce97ece74b (commit)
via 7f3817ab77ce85ab19c2c582eca0df84c36466dc (commit)
via e1abb39388a154b405583bd55eb4bb9c8cfa13fe (commit)
via 4861194f39bf826f3405452adc172cf5c240715b (commit)
via 6a9c89b3aef02310030ff436cd545eef77b8d1ee (commit)
via 451a537caa2207bb5e0a8818326a5f164c0d559a (commit)
via d581a56e209dbf6e67fc8644e0d84fadd593133e (commit)
via 858cddf86d870305b106148f15768856739b74d5 (commit)
via f9c308664833ccba957050ac8a27c5e8a1b44e83 (commit)
via f2b5b5bb17910c8a2b709fd62e214c96da3fdd2d (commit)
via a99e216a47259ca2c2837b1ea95c995c5e5a4968 (commit)
via 80c4b1e43e67249996cea61cc761911ff9fecbde (commit)
via 46c99ec2a3781d53138245182345c6c2ddd9a258 (commit)
via dac0fb0b7c369255e0d07e47a11f6a0288019da1 (commit)
via e44c4141fdfa07bb3bd09f28e5f093d27f170dc8 (commit)
via ae28e2f085cf92bd2b813d97288ac91970c707d7 (commit)
via f1ce4f994523cde775210e06dd7e36c6715b352b (commit)
via af1e7e1c51d1ae60f52dd2d1a71ca33c90aa5b6e (commit)
via 2e7841ff51107b0ccb65f19ea4c53d5a42cefb45 (commit)
via f0104bee8e95c87cae9089046a70144b63805f9f (commit)
via efe9f952504a5a3114cada5f0caed315c4bc654d (commit)
via 8fa5e567e76d4edb818d4cd88886918470d78ad1 (commit)
via 62dd3aadd7ee9a8abbdd42caaa140105b1b1e8d9 (commit)
via 209c278f1fdb315ebf6c83e164e518cc6737480e (commit)
via 865e65a163145b0aee724210744955af96d618b8 (commit)
via 5464ce6df678a6ce3022f4a30fd9553996cefb69 (commit)
via 72fcc6344f1ddfece4dd41790fc1add9c6d2c0f7 (commit)
via 766774feaea925dd2fdffbfdc55ced66962564b8 (commit)
via 7bdae8bfba862a67720d53dcffbf77f6b93ceeb4 (commit)
via fe36b8af64195f10acead12d4a4f426cc8772a8c (commit)
via 51fd80647de9cb531181eb1eeefe9ad2c473f784 (commit)
via 21a6ba41150a133d3207928a8b4c7b1d6c1e411f (commit)
via 47a147ee284ba822f2a35e1ff173955407d71fc4 (commit)
via f4b37f193b9c9e594734476d21ac57de43dd4631 (commit)
via 4687db00a8b3658ad87a824525bf1dc24f9fd1c7 (commit)
via 96be1f4ef31fdfa463e916177706bbe4437e4166 (commit)
via f84be6cd636e0ccb8e146a6d5dbf0f665fea4263 (commit)
via 8e48434b9f5140b663c3ca7cb3439b430abf3aac (commit)
via 668fd97e53d6853345604a7c0472a9bcfd5d2b9b (commit)
via 0d6bc14225d910150dc9949b35e587aafe9922c7 (commit)
via 81474df7858273024ae4e214dc339b0754c71048 (commit)
via 2eb61efd1f050696a7835cfc5c7af96bbcb9708e (commit)
via bae320e2aac91839fd2c331e1ad719cb1b4de599 (commit)
from c2139e8e5646a8558d70c1ca4ce2d755497de8e1 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 7c542406b192cd72c40778850d92771974d6466c
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 18 22:58:03 2009 -0700
s4-pipes: convert pipe names to lowercase and validate
clients may provide arbitrary names, but we only want lowercase alnum
names
commit e9a589feac531379e569bc39d803b16179002cfa
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 18 18:05:55 2009 -0700
s4-server: kill main daemon if a task fails to initialise
When one of our core tasks fails to initialise it can now ask for the
server as a whole to die, rather than limping along in a degraded
state.
commit ade5d43c5ceb915dd2210a735a21fd9bed531dd3
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 18 18:04:15 2009 -0700
s4-kdc: ignore unknown keytypes
don't fail hdb operations if one of the key types is unknown
commit 716ddc2a897eacd08aed7ff4bee165e418ff63cc
Merge: c6d58efa4b1ad5ff4a9e0f224b8a9789d8f82faf c2139e8e5646a8558d70c1ca4ce2d755497de8e1
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 18 14:12:02 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit c6d58efa4b1ad5ff4a9e0f224b8a9789d8f82faf
Merge: 39971fff27f71b514308d10d7a2d8c3fb58c2420 78338d431c6e4ae8e3ff94b0ba9caaae2a5626a9
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 18 11:22:32 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 39971fff27f71b514308d10d7a2d8c3fb58c2420
Merge: 23676b6e9e8aad0ac2aa78d04e65f637b4551527 e71d9728f52e969e07927c5b38fa062c6ef6d1eb
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 15:24:20 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit e71d9728f52e969e07927c5b38fa062c6ef6d1eb
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 15:16:21 2009 -0700
idl: regenerate IDL for NDR64 changes
commit 52f2e26a25cdccf66a3271d40279fdd75d1750da
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 15:15:58 2009 -0700
s4-sam: add a note about the solaris client
commit 4eedcf71eae8dd2b039771e8f7afae9e37b13496
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 15:15:36 2009 -0700
ndrdump: fixed help
commit 7b157a3d8a7cfcb573134fe7ab30603cfa5d9d1b
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 15:15:24 2009 -0700
ndr: num_auths is an array size, thus a uint3264
commit 1a1cb92583267dea07fa8b4580bf79c8907a7f88
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 15:14:31 2009 -0700
ndr: split out ndr enum functions
This allows for easier implementation of the NDR32/NDR64 split
commit 85e06ff41d0ed58582fc540886f3e9e52ac85ca4
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 09:59:50 2009 -0700
idl: recompile our IDL
The NDR64 change affects every IDL file
commit db5e7f3d053ecedd985be518f2080f4061ed06e5
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 09:10:21 2009 -0700
s4-pidl: add support for NDR64
Added support for NDR64 to the samba4 pidl generator
commit c9b0b89cc06531cb57f89b9f98d33d6e0c300957
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 09:09:48 2009 -0700
s4-rpc: added NDR64 support
This adds support for the nd464 binding string option
commit 056cbf7f816a6d01bc0ef3105eca43b4aeee9116
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 09:08:47 2009 -0700
ndr: added support for NDR64
This adds NDR64 support for the push functions in libndr
commit 7326b8f63ebe55bdf662c6f7798cbeeb026b033a
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 09:07:44 2009 -0700
util: use likely/unlikely for NT_STATUS_* macros
commit 6dfd10f476e0b74c36f73bfe17a68ca309c4c5ac
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Sep 17 09:07:17 2009 -0700
libreplace: added likely()/unlikely() macros for gcc
These macros allow the compile to better optimise code that has a lot
of if statements. I particularly want to use this for our low level
generated NDR code.
commit 23676b6e9e8aad0ac2aa78d04e65f637b4551527
Merge: 7860817737158e5daa7596304dd9e35cb65ddcee 45cebf7f113c3ff3c1b029c591dbbbb879b992f8
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Sep 16 03:58:21 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 7860817737158e5daa7596304dd9e35cb65ddcee
Merge: f391e64a82b8e6bf5862175d3ebd71ff8d4b08e8 c405d721c1a84bd2bdab2d56dd89e232cabe7955
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Sep 16 03:58:13 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit c405d721c1a84bd2bdab2d56dd89e232cabe7955
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Sep 16 03:57:56 2009 -0700
s4-repl: raise a debug level
commit 1b3f5cee2e72b8eb3df4836c237255ac7ad57136
Merge: 79082f400e3d0c21b53d54bfb42954c2396110b9 033ced60ac734161686bd3da685f2d7b056e17c8
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Sep 16 03:57:09 2009 -0700
Merge branch 'master' of ssh://git.samba.org/data/git/samba
commit f391e64a82b8e6bf5862175d3ebd71ff8d4b08e8
Merge: 72217950d3a6ff0fc50eeebab13d4c9e119e6ba6 79082f400e3d0c21b53d54bfb42954c2396110b9
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Sep 16 03:56:07 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 79082f400e3d0c21b53d54bfb42954c2396110b9
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Sep 16 03:43:37 2009 -0700
s4-dsdb: treat uSNHighest as 0 if @REPLCHANGED doesn't exist
When a partition is first created it still needs a uSNHighest value
commit 72217950d3a6ff0fc50eeebab13d4c9e119e6ba6
Merge: 9417aabe4b5f64001bffe2806f6527a31e87a25e 30d13288e5bb506584a0bf012d7b2e579a6a2074
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 20:51:30 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 9417aabe4b5f64001bffe2806f6527a31e87a25e
Merge: 7744283c36803836f698c12710e8c0ec8fbd8e93 5d2dfd12cf779c410e041a1815e5e3edf0ea38d8
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 19:53:05 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 7744283c36803836f698c12710e8c0ec8fbd8e93
Merge: a04caf329fefccad0fc272474025f6d23a4deaa2 10e25fc5e90e9eaabedc2f3477ac1e8947c88c77
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 18:46:18 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit a04caf329fefccad0fc272474025f6d23a4deaa2
Merge: d581a56e209dbf6e67fc8644e0d84fadd593133e 7b3b66d7a22a4f2b460f979f4f489b09464f6946
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:53:02 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 7b3b66d7a22a4f2b460f979f4f489b09464f6946
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:07:43 2009 -0700
s4-ldb: ldap attribute names can contain a '.'
When they are of the form of OIDs
commit 08f144777d4fc8168d27e71fe107718ba99223c9
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:07:06 2009 -0700
s4-ldb: expose ldb_transaction_prepare_commit() in ldb
It is useful to be able to control the 2 phase commit from application
code (s4 replication uses it)
commit bfd0877261883d1d6ef1d1757dad386332a8db37
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:06:07 2009 -0700
s4-repl: don't do double replication
When we replicate from a remote DC, we need to note the new uSN that
the local changes have resulted in, and modify the uSN that the notify
task uses to determine if it should send a ReplicaSync message back to
the remote DC. Otherwise we end up always triggering a ReplicaSync
every time we replicate from another DC
commit f5aec9ebb4bf5d0e6f8c6974a485bc5cd2899fdd
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:04:22 2009 -0700
tdb: allow reads after prepare commit
We previously only allowed a commit to happen after a prepare
commit. It is in fact safe to allow reads between a prepare and a
commit, and the s4 replication code can make use of that, so allow it.
commit 48bc784e089fabf5f3f5a4e4d4ff47ce97ece74b
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 11:47:42 2009 -0700
s4-drs: filter based on local_usn
The getncchanges uSN is in our local space, so we must compare it to
the local_usn in replPropertyMetaData
commit 7f3817ab77ce85ab19c2c582eca0df84c36466dc
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 11:46:59 2009 -0700
s4-repl: make sure we marshal the replPropertyMetaData after the last change
we were setting local_usn after the marshall, so it wasn't going into
the object
commit e1abb39388a154b405583bd55eb4bb9c8cfa13fe
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:01:26 2009 -0700
s4-dsdb: use DLIST_ADD() not DLIST_ADD_END()
Using DLIST_ADD_END() to construct a long list is very inefficient (it
is O(n^2). These lists are not ordered, so using DLIST_ADD() is much
better.
commit 4861194f39bf826f3405452adc172cf5c240715b
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:00:24 2009 -0700
s4-ldb: cope better with corruption of tdb records
When doing an indexed search if we hit a corrupt record we abandoned
the indexed search and did a full search. The problem was that we
might have sent some records to the caller already, which means the
caller ended up with duplicate records. Fix this by returning a search
error if indexing returns an error and we have given any records to
the caller.
commit 6a9c89b3aef02310030ff436cd545eef77b8d1ee
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 09:43:27 2009 -0700
talloc: when we enable NULL tracking, reparent the autofree context
If NULL tracking is enabled after the autofree context is initialised
then autofree ends up separate from the null_context. This means that
talloc_report_full() doesn't report the autofree context. Fix this by
reparenting the autofree context when we create the null_context.
commit 451a537caa2207bb5e0a8818326a5f164c0d559a
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 09:23:14 2009 -0700
s4-repl: add a debug to make it easier to monitor replication
commit d581a56e209dbf6e67fc8644e0d84fadd593133e
Merge: f9c308664833ccba957050ac8a27c5e8a1b44e83 858cddf86d870305b106148f15768856739b74d5
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:42:46 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 858cddf86d870305b106148f15768856739b74d5
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:42:26 2009 -0700
s4-libnet: use updated dsdb commit function
commit f9c308664833ccba957050ac8a27c5e8a1b44e83
Merge: dac0fb0b7c369255e0d07e47a11f6a0288019da1 f2b5b5bb17910c8a2b709fd62e214c96da3fdd2d
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:08:21 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit f2b5b5bb17910c8a2b709fd62e214c96da3fdd2d
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:07:43 2009 -0700
s4-ldb: ldap attribute names can contain a '.'
When they are of the form of OIDs
commit a99e216a47259ca2c2837b1ea95c995c5e5a4968
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:07:06 2009 -0700
s4-ldb: expose ldb_transaction_prepare_commit() in ldb
It is useful to be able to control the 2 phase commit from application
code (s4 replication uses it)
commit 80c4b1e43e67249996cea61cc761911ff9fecbde
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:06:07 2009 -0700
s4-repl: don't do double replication
When we replicate from a remote DC, we need to note the new uSN that
the local changes have resulted in, and modify the uSN that the notify
task uses to determine if it should send a ReplicaSync message back to
the remote DC. Otherwise we end up always triggering a ReplicaSync
every time we replicate from another DC
commit 46c99ec2a3781d53138245182345c6c2ddd9a258
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:04:22 2009 -0700
tdb: allow reads after prepare commit
We previously only allowed a commit to happen after a prepare
commit. It is in fact safe to allow reads between a prepare and a
commit, and the s4 replication code can make use of that, so allow it.
commit dac0fb0b7c369255e0d07e47a11f6a0288019da1
Merge: efe9f952504a5a3114cada5f0caed315c4bc654d e44c4141fdfa07bb3bd09f28e5f093d27f170dc8
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 11:48:23 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit e44c4141fdfa07bb3bd09f28e5f093d27f170dc8
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 11:47:42 2009 -0700
s4-drs: filter based on local_usn
The getncchanges uSN is in our local space, so we must compare it to
the local_usn in replPropertyMetaData
commit ae28e2f085cf92bd2b813d97288ac91970c707d7
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 11:46:59 2009 -0700
s4-repl: make sure we marshal the replPropertyMetaData after the last change
we were setting local_usn after the marshall, so it wasn't going into
the object
commit f1ce4f994523cde775210e06dd7e36c6715b352b
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:01:26 2009 -0700
s4-dsdb: use DLIST_ADD() not DLIST_ADD_END()
Using DLIST_ADD_END() to construct a long list is very inefficient (it
is O(n^2). These lists are not ordered, so using DLIST_ADD() is much
better.
commit af1e7e1c51d1ae60f52dd2d1a71ca33c90aa5b6e
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:00:24 2009 -0700
s4-ldb: cope better with corruption of tdb records
When doing an indexed search if we hit a corrupt record we abandoned
the indexed search and did a full search. The problem was that we
might have sent some records to the caller already, which means the
caller ended up with duplicate records. Fix this by returning a search
error if indexing returns an error and we have given any records to
the caller.
commit 2e7841ff51107b0ccb65f19ea4c53d5a42cefb45
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 09:43:27 2009 -0700
talloc: when we enable NULL tracking, reparent the autofree context
If NULL tracking is enabled after the autofree context is initialised
then autofree ends up separate from the null_context. This means that
talloc_report_full() doesn't report the autofree context. Fix this by
reparenting the autofree context when we create the null_context.
commit f0104bee8e95c87cae9089046a70144b63805f9f
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 09:23:14 2009 -0700
s4-repl: add a debug to make it easier to monitor replication
commit efe9f952504a5a3114cada5f0caed315c4bc654d
Merge: 5464ce6df678a6ce3022f4a30fd9553996cefb69 8fa5e567e76d4edb818d4cd88886918470d78ad1
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:02:04 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 8fa5e567e76d4edb818d4cd88886918470d78ad1
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:01:26 2009 -0700
s4-dsdb: use DLIST_ADD() not DLIST_ADD_END()
Using DLIST_ADD_END() to construct a long list is very inefficient (it
is O(n^2). These lists are not ordered, so using DLIST_ADD() is much
better.
commit 62dd3aadd7ee9a8abbdd42caaa140105b1b1e8d9
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 10:00:24 2009 -0700
s4-ldb: cope better with corruption of tdb records
When doing an indexed search if we hit a corrupt record we abandoned
the indexed search and did a full search. The problem was that we
might have sent some records to the caller already, which means the
caller ended up with duplicate records. Fix this by returning a search
error if indexing returns an error and we have given any records to
the caller.
commit 209c278f1fdb315ebf6c83e164e518cc6737480e
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 09:43:27 2009 -0700
talloc: when we enable NULL tracking, reparent the autofree context
If NULL tracking is enabled after the autofree context is initialised
then autofree ends up separate from the null_context. This means that
talloc_report_full() doesn't report the autofree context. Fix this by
reparenting the autofree context when we create the null_context.
commit 865e65a163145b0aee724210744955af96d618b8
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 09:23:14 2009 -0700
s4-repl: add a debug to make it easier to monitor replication
commit 5464ce6df678a6ce3022f4a30fd9553996cefb69
Merge: 72fcc6344f1ddfece4dd41790fc1add9c6d2c0f7 3dd404abad878fa7e760ba50ce84fc80b82ea159
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Sep 14 13:24:07 2009 -0700
Merge branch 'master' of /home/tridge/samba/git/combined
commit 72fcc6344f1ddfece4dd41790fc1add9c6d2c0f7
Merge: 766774feaea925dd2fdffbfdc55ced66962564b8 0be268bf5538dcf57f9534d864be1960dfab0f72
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 18:42:37 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 766774feaea925dd2fdffbfdc55ced66962564b8
Merge: 7bdae8bfba862a67720d53dcffbf77f6b93ceeb4 5c0cf012a746228aa17524e5e153b833028f284b
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 15:24:57 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 7bdae8bfba862a67720d53dcffbf77f6b93ceeb4
Merge: fe36b8af64195f10acead12d4a4f426cc8772a8c a8ab1e2570ac2a2e772295cd0cc46b7e60398043
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 13:19:53 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit fe36b8af64195f10acead12d4a4f426cc8772a8c
Merge: 51fd80647de9cb531181eb1eeefe9ad2c473f784 bbc0a56da59df8b7cd6f19f99cfaac9c3909779f
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 11:15:38 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 51fd80647de9cb531181eb1eeefe9ad2c473f784
Merge: f84be6cd636e0ccb8e146a6d5dbf0f665fea4263 21a6ba41150a133d3207928a8b4c7b1d6c1e411f
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 11:15:08 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 21a6ba41150a133d3207928a8b4c7b1d6c1e411f
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 11:14:29 2009 +1000
s4-drs: fixed the cursor generation to always be filled in
We were relying on the uSNChanged>=n search always finding the DN of
the root of the partition, but this now doesn't happen very often as
we are now restricting when we change uSNChanged. This means we need
to always load the replUpToDateVector attribute from the NC root and
use it to populate the cursors in the return.
commit 47a147ee284ba822f2a35e1ff173955407d71fc4
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 11:12:05 2009 +1000
s4-repl: use common functions to simplify updaterefs.c
We now have dsdb_loadreps() and dsdb_savereps()
commit f4b37f193b9c9e594734476d21ac57de43dd4631
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 11:10:19 2009 +1000
s4-repl: we should only update uSNChanged when replication data changes
When changing non-replicated attributes we should not update the
uSNChanged attribute on the record, otherwise the DRS server will
think this record needs replicating.
commit 4687db00a8b3658ad87a824525bf1dc24f9fd1c7
Author: Andrew Tridgell <tridge at samba.org>
Date: Sat Sep 12 11:09:10 2009 +1000
s4-kcc: we should only add to the repsFrom if it doesn't already exist
If we already have a repsFrom for a particular DC and naming context
then we should not overwrite it, as it contains info on what
replication we've already done
commit 96be1f4ef31fdfa463e916177706bbe4437e4166
Author: Anatoliy Atanasov <anatoliy.atanasov at postpath.com>
Date: Thu Sep 10 12:41:48 2009 +0300
Fix up-to-dateness vector creation.
commit f84be6cd636e0ccb8e146a6d5dbf0f665fea4263
Merge: 8e48434b9f5140b663c3ca7cb3439b430abf3aac 9da49338043dedbf17c99ceed24c2934514d0157
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 23:27:52 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 8e48434b9f5140b663c3ca7cb3439b430abf3aac
Merge: 668fd97e53d6853345604a7c0472a9bcfd5d2b9b bca75ecf9797df98a998eeb0b978cd2fe71ed2cb
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 22:36:16 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 668fd97e53d6853345604a7c0472a9bcfd5d2b9b
Merge: 0d6bc14225d910150dc9949b35e587aafe9922c7 61facf426691cc896ec61fde1c4cb7d947adb07b
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 22:14:33 2009 +1000
Merge branch 'master' of /home/tridge/samba/git/combined
commit 0d6bc14225d910150dc9949b35e587aafe9922c7
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 21:46:58 2009 +1000
s4-kcc: add a very simple KCC
A KCC is a 'Knowledge Consistency Checker', a fancy name for a daemon
that works out who will replicate with who in a AD domain. This
implements an extremely simple KCC task that just wants to replicate
with everyone :-)
commit 81474df7858273024ae4e214dc339b0754c71048
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 21:45:35 2009 +1000
s4-repl: don't update replPropertyMetaData for non-replicated attributes
thanks to Metze for spotting this
commit 2eb61efd1f050696a7835cfc5c7af96bbcb9708e
Merge: bae320e2aac91839fd2c331e1ad719cb1b4de599 f74e8c266f43d0c640ab8068d28a1b197164d548
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 21:44:02 2009 +1000
Merge branch 'master' of ssh://git.samba.org/data/git/samba
commit bae320e2aac91839fd2c331e1ad719cb1b4de599
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Sep 11 20:14:11 2009 +1000
s4-idl: added the IDL for the DsReplica* calls
-----------------------------------------------------------------------
Summary of changes:
source4/cldap_server/cldap_server.c | 14 +++++----
source4/dsdb/kcc/kcc_periodic.c | 2 +-
source4/dsdb/kcc/kcc_service.c | 19 +++++++------
source4/dsdb/repl/drepl_notify.c | 2 +-
source4/dsdb/repl/drepl_periodic.c | 2 +-
source4/dsdb/repl/drepl_service.c | 18 +++++++-----
source4/kdc/hdb-samba4.c | 6 ++++
source4/kdc/kdc.c | 28 ++++++++++----------
source4/ldap_server/ldap_server.c | 10 ++++---
source4/lib/messaging/irpc.h | 1 +
source4/lib/messaging/messaging.h | 3 ++
source4/librpc/idl/irpc.idl | 7 +++++
source4/nbt_server/irpc.c | 8 +++---
source4/nbt_server/nbt_server.c | 10 +++---
source4/ntp_signd/ntp_signd.c | 6 ++--
source4/ntvfs/ipc/vfs_ipc.c | 19 +++++++++++++
source4/rpc_server/service_rpc.c | 2 +-
source4/smb_server/smb_samba3.c | 2 +-
source4/smb_server/smb_server.c | 2 +-
source4/smbd/process_single.c | 4 ++-
source4/smbd/server.c | 46 +++++++++++++++++++++++++++++++++
source4/smbd/service_named_pipe.c | 2 +
source4/smbd/service_task.c | 18 +++++++++++-
source4/web_server/web_server.c | 2 +-
source4/winbind/wb_server.c | 16 +++++-----
source4/wrepl_server/wrepl_periodic.c | 2 +-
source4/wrepl_server/wrepl_server.c | 10 +++---
27 files changed, 184 insertions(+), 77 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/cldap_server/cldap_server.c b/source4/cldap_server/cldap_server.c
index 1a08cd2..ee8c76e 100644
--- a/source4/cldap_server/cldap_server.c
+++ b/source4/cldap_server/cldap_server.c
@@ -187,16 +187,18 @@ static void cldapd_task_init(struct task_server *task)
load_interfaces(task, lp_interfaces(task->lp_ctx), &ifaces);
if (iface_count(ifaces) == 0) {
- task_server_terminate(task, "cldapd: no network interfaces configured");
+ task_server_terminate(task, "cldapd: no network interfaces configured", false);
return;
}
switch (lp_server_role(task->lp_ctx)) {
case ROLE_STANDALONE:
- task_server_terminate(task, "cldap_server: no CLDAP server required in standalone configuration");
+ task_server_terminate(task, "cldap_server: no CLDAP server required in standalone configuration",
+ false);
return;
case ROLE_DOMAIN_MEMBER:
- task_server_terminate(task, "cldap_server: no CLDAP server required in member server configuration");
+ task_server_terminate(task, "cldap_server: no CLDAP server required in member server configuration",
+ false);
return;
case ROLE_DOMAIN_CONTROLLER:
/* Yes, we want an CLDAP server */
@@ -207,21 +209,21 @@ static void cldapd_task_init(struct task_server *task)
cldapd = talloc(task, struct cldapd_server);
if (cldapd == NULL) {
- task_server_terminate(task, "cldapd: out of memory");
+ task_server_terminate(task, "cldapd: out of memory", true);
return;
}
cldapd->task = task;
cldapd->samctx = samdb_connect(cldapd, task->event_ctx, task->lp_ctx, system_session(cldapd, task->lp_ctx));
if (cldapd->samctx == NULL) {
- task_server_terminate(task, "cldapd failed to open samdb");
+ task_server_terminate(task, "cldapd failed to open samdb", true);
return;
}
/* start listening on the configured network interfaces */
status = cldapd_startup_interfaces(cldapd, task->lp_ctx, ifaces);
if (!NT_STATUS_IS_OK(status)) {
- task_server_terminate(task, "cldapd failed to setup interfaces");
+ task_server_terminate(task, "cldapd failed to setup interfaces", true);
return;
}
diff --git a/source4/dsdb/kcc/kcc_periodic.c b/source4/dsdb/kcc/kcc_periodic.c
index 3af79d8..dae0c1e 100644
--- a/source4/dsdb/kcc/kcc_periodic.c
+++ b/source4/dsdb/kcc/kcc_periodic.c
@@ -172,7 +172,7 @@ static void kccsrv_periodic_handler_te(struct tevent_context *ev, struct tevent_
status = kccsrv_periodic_schedule(service, service->periodic.interval);
if (!W_ERROR_IS_OK(status)) {
- task_server_terminate(service->task, win_errstr(status));
+ task_server_terminate(service->task, win_errstr(status), true);
return;
}
}
diff --git a/source4/dsdb/kcc/kcc_service.c b/source4/dsdb/kcc/kcc_service.c
index 2279879..32e09ac 100644
--- a/source4/dsdb/kcc/kcc_service.c
+++ b/source4/dsdb/kcc/kcc_service.c
@@ -151,10 +151,10 @@ static void kccsrv_task_init(struct task_server *task)
switch (lp_server_role(task->lp_ctx)) {
case ROLE_STANDALONE:
- task_server_terminate(task, "kccsrv: no KCC required in standalone configuration");
+ task_server_terminate(task, "kccsrv: no KCC required in standalone configuration", false);
return;
case ROLE_DOMAIN_MEMBER:
- task_server_terminate(task, "kccsrv: no KCC required in domain member configuration");
+ task_server_terminate(task, "kccsrv: no KCC required in domain member configuration", false);
return;
case ROLE_DOMAIN_CONTROLLER:
/* Yes, we want a KCC */
@@ -165,7 +165,7 @@ static void kccsrv_task_init(struct task_server *task)
service = talloc_zero(task, struct kccsrv_service);
if (!service) {
- task_server_terminate(task, "kccsrv_task_init: out of memory");
+ task_server_terminate(task, "kccsrv_task_init: out of memory", true);
return;
}
service->task = task;
@@ -174,9 +174,10 @@ static void kccsrv_task_init(struct task_server *task)
status = kccsrv_init_creds(service);
if (!W_ERROR_IS_OK(status)) {
- task_server_terminate(task, talloc_asprintf(task,
- "kccsrv: Failed to obtain server credentials: %s\n",
- win_errstr(status)));
+ task_server_terminate(task,
+ talloc_asprintf(task,
+ "kccsrv: Failed to obtain server credentials: %s\n",
+ win_errstr(status)), true);
return;
}
@@ -184,7 +185,7 @@ static void kccsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"kccsrv: Failed to connect to local samdb: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
@@ -192,7 +193,7 @@ static void kccsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"kccsrv: Failed to load partitions: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
@@ -205,7 +206,7 @@ static void kccsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"kccsrv: Failed to periodic schedule: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
diff --git a/source4/dsdb/repl/drepl_notify.c b/source4/dsdb/repl/drepl_notify.c
index 7328091..d354b4e 100644
--- a/source4/dsdb/repl/drepl_notify.c
+++ b/source4/dsdb/repl/drepl_notify.c
@@ -368,7 +368,7 @@ static void dreplsrv_notify_handler_te(struct tevent_context *ev, struct tevent_
status = dreplsrv_notify_schedule(service, service->notify.interval);
if (!W_ERROR_IS_OK(status)) {
- task_server_terminate(service->task, win_errstr(status));
+ task_server_terminate(service->task, win_errstr(status), false);
return;
}
}
diff --git a/source4/dsdb/repl/drepl_periodic.c b/source4/dsdb/repl/drepl_periodic.c
index 377cecb..61d5598 100644
--- a/source4/dsdb/repl/drepl_periodic.c
+++ b/source4/dsdb/repl/drepl_periodic.c
@@ -46,7 +46,7 @@ static void dreplsrv_periodic_handler_te(struct tevent_context *ev, struct teven
status = dreplsrv_periodic_schedule(service, service->periodic.interval);
if (!W_ERROR_IS_OK(status)) {
- task_server_terminate(service->task, win_errstr(status));
+ task_server_terminate(service->task, win_errstr(status), false);
return;
}
}
diff --git a/source4/dsdb/repl/drepl_service.c b/source4/dsdb/repl/drepl_service.c
index 75ce42b..34853c8 100644
--- a/source4/dsdb/repl/drepl_service.c
+++ b/source4/dsdb/repl/drepl_service.c
@@ -138,10 +138,12 @@ static void dreplsrv_task_init(struct task_server *task)
switch (lp_server_role(task->lp_ctx)) {
case ROLE_STANDALONE:
- task_server_terminate(task, "dreplsrv: no DSDB replication required in standalone configuration");
+ task_server_terminate(task, "dreplsrv: no DSDB replication required in standalone configuration",
+ false);
return;
case ROLE_DOMAIN_MEMBER:
- task_server_terminate(task, "dreplsrv: no DSDB replication required in domain member configuration");
+ task_server_terminate(task, "dreplsrv: no DSDB replication required in domain member configuration",
+ false);
return;
case ROLE_DOMAIN_CONTROLLER:
/* Yes, we want DSDB replication */
@@ -152,7 +154,7 @@ static void dreplsrv_task_init(struct task_server *task)
service = talloc_zero(task, struct dreplsrv_service);
if (!service) {
- task_server_terminate(task, "dreplsrv_task_init: out of memory");
+ task_server_terminate(task, "dreplsrv_task_init: out of memory", true);
return;
}
service->task = task;
@@ -163,7 +165,7 @@ static void dreplsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"dreplsrv: Failed to obtain server credentials: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
@@ -171,7 +173,7 @@ static void dreplsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"dreplsrv: Failed to connect to local samdb: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
@@ -179,7 +181,7 @@ static void dreplsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"dreplsrv: Failed to load partitions: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
@@ -190,7 +192,7 @@ static void dreplsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"dreplsrv: Failed to periodic schedule: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
@@ -200,7 +202,7 @@ static void dreplsrv_task_init(struct task_server *task)
if (!W_ERROR_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
"dreplsrv: Failed to setup notify schedule: %s\n",
- win_errstr(status)));
+ win_errstr(status)), true);
return;
}
diff --git a/source4/kdc/hdb-samba4.c b/source4/kdc/hdb-samba4.c
index 502b4e0..4062e13 100644
--- a/source4/kdc/hdb-samba4.c
+++ b/source4/kdc/hdb-samba4.c
@@ -395,6 +395,12 @@ static krb5_error_code hdb_samba4_message2entry_keys(krb5_context context,
pkb4->keys[i].value->data,
pkb4->keys[i].value->length,
&key.key);
+ if (ret == KRB5_PROG_ETYPE_NOSUPP) {
+ DEBUG(2,("Unsupported keytype ignored - type %u\n",
+ pkb4->keys[i].keytype));
+ ret = 0;
+ continue;
+ }
if (ret) {
if (key.salt) {
free_Salt(key.salt);
diff --git a/source4/kdc/kdc.c b/source4/kdc/kdc.c
index c861f7a..a67aa09 100644
--- a/source4/kdc/kdc.c
+++ b/source4/kdc/kdc.c
@@ -662,10 +662,10 @@ static void kdc_task_init(struct task_server *task)
switch (lp_server_role(task->lp_ctx)) {
case ROLE_STANDALONE:
- task_server_terminate(task, "kdc: no KDC required in standalone configuration");
+ task_server_terminate(task, "kdc: no KDC required in standalone configuration", false);
return;
case ROLE_DOMAIN_MEMBER:
- task_server_terminate(task, "kdc: no KDC required in member server configuration");
+ task_server_terminate(task, "kdc: no KDC required in member server configuration", false);
return;
case ROLE_DOMAIN_CONTROLLER:
/* Yes, we want a KDC */
@@ -675,7 +675,7 @@ static void kdc_task_init(struct task_server *task)
load_interfaces(task, lp_interfaces(task->lp_ctx), &ifaces);
if (iface_count(ifaces) == 0) {
- task_server_terminate(task, "kdc: no network interfaces configured");
+ task_server_terminate(task, "kdc: no network interfaces configured", false);
return;
}
@@ -683,7 +683,7 @@ static void kdc_task_init(struct task_server *task)
kdc = talloc(task, struct kdc_server);
if (kdc == NULL) {
- task_server_terminate(task, "kdc: out of memory");
+ task_server_terminate(task, "kdc: out of memory", true);
return;
}
@@ -695,7 +695,7 @@ static void kdc_task_init(struct task_server *task)
if (ret) {
DEBUG(1,("kdc_task_init: krb5_init_context failed (%s)\n",
error_message(ret)));
- task_server_terminate(task, "kdc: krb5_init_context failed");
+ task_server_terminate(task, "kdc: krb5_init_context failed", true);
return;
}
@@ -704,14 +704,14 @@ static void kdc_task_init(struct task_server *task)
ret = krb5_kdc_get_config(kdc->smb_krb5_context->krb5_context,
&kdc->config);
if(ret) {
- task_server_terminate(task, "kdc: failed to get KDC configuration");
+ task_server_terminate(task, "kdc: failed to get KDC configuration", true);
return;
}
kdc->config->logf = kdc->smb_krb5_context->logf;
kdc->config->db = talloc(kdc, struct HDB *);
if (!kdc->config->db) {
- task_server_terminate(task, "kdc: out of memory");
+ task_server_terminate(task, "kdc: out of memory", true);
return;
}
kdc->config->num_db = 1;
@@ -720,7 +720,7 @@ static void kdc_task_init(struct task_server *task)
kdc->smb_krb5_context->krb5_context,
&kdc->config->db[0]);
if (!NT_STATUS_IS_OK(status)) {
- task_server_terminate(task, "kdc: hdb_samba4_create_kdc (setup KDC database) failed");
+ task_server_terminate(task, "kdc: hdb_samba4_create_kdc (setup KDC database) failed", true);
return;
}
@@ -728,7 +728,7 @@ static void kdc_task_init(struct task_server *task)
kdc->hdb_samba4_context = talloc(kdc, struct hdb_samba4_context);
if (!kdc->hdb_samba4_context) {
- task_server_terminate(task, "kdc: out of memory");
+ task_server_terminate(task, "kdc: out of memory", true);
return;
}
@@ -739,13 +739,13 @@ static void kdc_task_init(struct task_server *task)
PLUGIN_TYPE_DATA, "hdb",
&hdb_samba4);
if(ret) {
- task_server_terminate(task, "kdc: failed to register hdb keytab");
+ task_server_terminate(task, "kdc: failed to register hdb keytab", true);
return;
}
ret = krb5_kt_register(kdc->smb_krb5_context->krb5_context, &hdb_kt_ops);
if(ret) {
- task_server_terminate(task, "kdc: failed to register hdb keytab");
+ task_server_terminate(task, "kdc: failed to register hdb keytab", true);
return;
}
@@ -754,7 +754,7 @@ static void kdc_task_init(struct task_server *task)
PLUGIN_TYPE_DATA, "windc",
&windc_plugin_table);
if(ret) {
- task_server_terminate(task, "kdc: failed to register hdb keytab");
+ task_server_terminate(task, "kdc: failed to register hdb keytab", true);
return;
}
@@ -763,14 +763,14 @@ static void kdc_task_init(struct task_server *task)
/* start listening on the configured network interfaces */
status = kdc_startup_interfaces(kdc, task->lp_ctx, ifaces);
if (!NT_STATUS_IS_OK(status)) {
- task_server_terminate(task, "kdc failed to setup interfaces");
+ task_server_terminate(task, "kdc failed to setup interfaces", true);
return;
}
status = IRPC_REGISTER(task->msg_ctx, irpc, KDC_CHECK_GENERIC_KERBEROS,
kdc_check_generic_kerberos, kdc);
if (!NT_STATUS_IS_OK(status)) {
- task_server_terminate(task, "nbtd failed to setup monitoring");
+ task_server_terminate(task, "nbtd failed to setup monitoring", true);
return;
}
diff --git a/source4/ldap_server/ldap_server.c b/source4/ldap_server/ldap_server.c
index b119620..3440158 100644
--- a/source4/ldap_server/ldap_server.c
+++ b/source4/ldap_server/ldap_server.c
@@ -568,10 +568,12 @@ static void ldapsrv_task_init(struct task_server *task)
switch (lp_server_role(task->lp_ctx)) {
case ROLE_STANDALONE:
- task_server_terminate(task, "ldap_server: no LDAP server required in standalone configuration");
+ task_server_terminate(task, "ldap_server: no LDAP server required in standalone configuration",
+ false);
return;
case ROLE_DOMAIN_MEMBER:
- task_server_terminate(task, "ldap_server: no LDAP server required in member server configuration");
+ task_server_terminate(task, "ldap_server: no LDAP server required in member server configuration",
+ false);
return;
case ROLE_DOMAIN_CONTROLLER:
/* Yes, we want an LDAP server */
@@ -642,7 +644,7 @@ static void ldapsrv_task_init(struct task_server *task)
*/
if (!directory_create_or_exist(priv_dir, geteuid(), 0750)) {
task_server_terminate(task, "Cannot create ldap "
- "privileged ldapi directory");
+ "privileged ldapi directory", true);
return;
}
ldapi_path = talloc_asprintf(ldap_service, "%s/ldapi", priv_dir);
@@ -666,7 +668,7 @@ static void ldapsrv_task_init(struct task_server *task)
return;
failed:
- task_server_terminate(task, "Failed to startup ldap server task");
+ task_server_terminate(task, "Failed to startup ldap server task", true);
}
diff --git a/source4/lib/messaging/irpc.h b/source4/lib/messaging/irpc.h
index 3c51882..c82ad39 100644
--- a/source4/lib/messaging/irpc.h
+++ b/source4/lib/messaging/irpc.h
@@ -22,6 +22,7 @@
#ifndef IRPC_H
#define IRPC_H
+#include "lib/messaging/messaging.h"
#include "librpc/gen_ndr/irpc.h"
#include "librpc/gen_ndr/server_id.h"
diff --git a/source4/lib/messaging/messaging.h b/source4/lib/messaging/messaging.h
index c91a31d..4ec69c8 100644
--- a/source4/lib/messaging/messaging.h
+++ b/source4/lib/messaging/messaging.h
@@ -36,4 +36,7 @@ struct messaging_context;
/* temporary messaging endpoints are allocated above this line */
#define MSG_TMP_BASE 1000
+/* taskid for messaging of parent process */
+#define SAMBA_PARENT_TASKID 0
+
#endif
diff --git a/source4/librpc/idl/irpc.idl b/source4/librpc/idl/irpc.idl
index 4178735..24326e4 100644
--- a/source4/librpc/idl/irpc.idl
+++ b/source4/librpc/idl/irpc.idl
@@ -141,4 +141,11 @@ import "misc.idl", "security.idl", "nbt.idl";
[out,switch_is(level)] smbsrv_info info
);
+ /*
+ called when samba should shutdown
+ */
+ void samba_terminate(
+ [in] astring reason
+ );
+
}
diff --git a/source4/nbt_server/irpc.c b/source4/nbt_server/irpc.c
index 951f1d2..dbaebf6 100644
--- a/source4/nbt_server/irpc.c
+++ b/source4/nbt_server/irpc.c
@@ -180,7 +180,7 @@ void nbtd_register_irpc(struct nbtd_server *nbtsrv)
status = IRPC_REGISTER(task->msg_ctx, irpc, NBTD_INFORMATION,
nbtd_information, nbtsrv);
if (!NT_STATUS_IS_OK(status)) {
- task_server_terminate(task, "nbtd failed to setup monitoring");
+ task_server_terminate(task, "nbtd failed to setup monitoring", true);
return;
}
@@ -188,7 +188,7 @@ void nbtd_register_irpc(struct nbtd_server *nbtsrv)
nbtd_getdcname, nbtsrv);
if (!NT_STATUS_IS_OK(status)) {
task_server_terminate(task, "nbtd failed to setup getdcname "
- "handler");
+ "handler", true);
return;
}
@@ -196,7 +196,7 @@ void nbtd_register_irpc(struct nbtd_server *nbtsrv)
nbtd_proxy_wins_challenge, nbtsrv);
if (!NT_STATUS_IS_OK(status)) {
task_server_terminate(task, "nbtd failed to setup wins challenge "
- "handler");
+ "handler", true);
return;
}
@@ -204,7 +204,7 @@ void nbtd_register_irpc(struct nbtd_server *nbtsrv)
nbtd_proxy_wins_release_demand, nbtsrv);
if (!NT_STATUS_IS_OK(status)) {
task_server_terminate(task, "nbtd failed to setup wins release demand "
- "handler");
+ "handler", true);
return;
}
}
diff --git a/source4/nbt_server/nbt_server.c b/source4/nbt_server/nbt_server.c
index e6ff500..4a02feb 100644
--- a/source4/nbt_server/nbt_server.c
+++ b/source4/nbt_server/nbt_server.c
@@ -42,7 +42,7 @@ static void nbtd_task_init(struct task_server *task)
load_interfaces(task, lp_interfaces(task->lp_ctx), &ifaces);
if (iface_count(ifaces) == 0) {
- task_server_terminate(task, "nbtd: no network interfaces configured");
+ task_server_terminate(task, "nbtd: no network interfaces configured", false);
return;
}
@@ -50,7 +50,7 @@ static void nbtd_task_init(struct task_server *task)
--
Samba Shared Repository
More information about the samba-cvs
mailing list