summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-04s4-lib/socket: Return the original EMSGSIZE when sendto() and setsockopt() ↵Andrew Bartlett1-1/+1
both fail This ensures that should we be unable to increase the socket size, we return an error that the application layer above might expect and be able to make as reasonable response to (such as switching to a stream-based transport). This fixes up c692bb02b039ae8fef6ba968fd13b36ad7d62a72. As suggested by metze in https://bugzilla.samba.org/show_bug.cgi?id=9697#c4 Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04selftest: Remove output directories to save disk spaceAndrew Bartlett2-7/+23
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: Do not reset every DN when changing an SDAndrew Bartlett1-22/+8
SD propogation is handled by an LDB module, we do not need to touch each and every DN to make it happen. Now that we do not need to put this via a hash, the dnToRecalculate list is changed to be a list of Dn objects, not strings so that: if dn in listWellknown is handled using a schema comparison (avoiding different case forms tripping it up). Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: do not maintain dnNotToRecalculate as a listAndrew Bartlett1-5/+3
We only need a boolean indication, not the actual values. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: only run rebuild_sd in --full modeAndrew Bartlett1-20/+17
This is a potentially destructive routine, and should not be run by default. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: Remove alwaysRecalculate, this is too dangerousAndrew Bartlett1-4/+1
I am unclear on why this was added, but the idea that we ever always reset data in the directory is not reasonable to me, so I am removing it. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: Remove unused checkKeepAttributeOldMtdAndrew Bartlett1-73/+6
lastProvisionUSNs is never None, instead the code requries the administrator to populate this attribute in the directory. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: Remove inherited ACEs before comparing the SDsAndrew Bartlett2-17/+65
This avoids changing an SD when it is not really required. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04scripting: Rework samba.upgradehelpers.get_diff_sddls to be get_diff_sdsAndrew Bartlett3-20/+35
This moves the SDDL conversion inside the get_diff_sds function and prepares for removing inherited ACEs from the SD before comparison. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba_upgradeprovision: Remove auto-detection of pre-alpha9 databasesAndrew Bartlett3-11/+11
These are incredibly rare, and administrators running such databases not only ask the Samba Team for help personally, they can read --help. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04selftest: Rename samba4.blackbox.upgradeprovision.py to ↵Andrew Bartlett1-1/+1
samba4.blackbox.upgradeprovision.current This name matches the other upgradeprovision tests for older saved provisions. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04selftest: Run dbcheck and improved upgrdeprovision tests against release-4-0-0Andrew Bartlett4-189/+229
The improved upgradeprovision tests now call ldapcmp to verify the changes made do actually bring the database in line with a fresh provision. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04selftest: Add ldapcmp to ensure upgradeprovision of a fresh DB is a no-opAndrew Bartlett2-1/+35
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04selftest: Add in a provision from 4.0.0 to run tests againstAndrew Bartlett21-0/+80210
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04selftest: Do an ldapcmp run against the upgraded domainAndrew Bartlett1-0/+31
This checks (with a set of known issues marked in the --filter attribute) that the upgraded domain matches a fresh provision. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba-tool ldapcmp: Add support for checking DNSDOMAIN and DNSFOREST by defaultAndrew Bartlett1-4/+4
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04samba-tool dbcheck: fix msDS-HasInstantiatedNCs attributes to match ↵Andrew Bartlett1-1/+35
instanceType on our ntdsDSA This value is only a link to the local value of intanceType on our server, so only fix it for our server. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-04scripting: Correct parsing of binary DNAndrew Bartlett1-1/+1
The DN is of the form B:8:01020304:DC=samba,DC=example,DC=com. We need to account for the case where the 8 is actually (say) 16, and so not just one character. Andrew Bartlett Signed-off-by: Stefan Metzmacher <metze@samba.org>
2013-03-04subunit: Add a sh macro for skipping a testAndrew Bartlett1-0/+10
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-02Handle EMSGSIZE on UNIX domain sockets.Landon Fuller1-9/+26
On some systems (eg, FreeBSD) the default SO_SNDBUF for UNIX domain sockets is to small, and EMSGSIZE is returned. Other systems provide a larger default send buffer, but there is still no guarantee that the buffer will be sized appropriately. This patch modifies the sendto() path to attempt to resize the SO_SNDBUF dynamically upon an EMSGSIZE failure, and then retry the send. This fixes local DCE/RPC errors on FreeBSD, eg: https://lists.samba.org/archive/samba-technical/2013-January/089881.html Signed-Off-By: Landon Fuller <landonf@bikemonkey.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Sat Mar 2 23:34:03 CET 2013 on sn-devel-104
2013-03-02samba-tool ldapcmp: Add --skip-missing-dn to not error on DNs present in one ↵Andrew Bartlett1-5/+10
DB but not the other This is needed to compare some parts of the database, particularly in --two mode, which are just never going to have exactly the same DNs. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-02samba-tool domain classicupgrade: Fix typo in error path for multiple ↵Andrew Bartlett1-1/+1
account flags Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-02samba-tool domain classicupgrade: Print a better error when the ldap backend ↵Andrew Bartlett1-1/+4
PW was not found Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-02samba-tool dbcheck: fix comment on err_wrong_sdAndrew Bartlett1-2/+1
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-02Remove incomplete check for IPv6 link-local addresses.Landon Fuller1-3/+1
This has been superceded by a check for link-local addresses in get_interfaces() Signed-Off-By: Landon Fuller <landonf@bikemonkey.org> Reviewed-By: Richard Sharpe <realrichardsharpe@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Sat Mar 2 08:38:54 CET 2013 on sn-devel-104
2013-03-02Move python modules from source4/scripting/python/ to python/.Jelmer Vernooij120-8/+8
Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Sat Mar 2 03:57:34 CET 2013 on sn-devel-104
2013-03-02build: Change bin/default/python -> bin/python symlink to ↵Andrew Bartlett2-4/+4
bin/default/python_modules This avoids a collision with the new top level python directory. Andrew Bartlett
2013-03-02build: Rename samba_python waf node to avoid duplicate nameAndrew Bartlett1-1/+1
This makes it clearer when debuging build issues. Andrew Bartlett
2013-03-02tevent: change version to 0.9.18Stefan Metzmacher2-1/+84
This release contains a lot of fixes: - Adding new timer events is now faster, if there's a large number of timer events. - sigprocmask does not work on FreeBSD to stop further signals in a signal handler. - TEVENT_NUM_SIGNALS is calculated by configure in order to support realtime signals on freebsd. - ./configure --disable-python was fixed for the standalone build. - Several crash bugs in the poll backend are fixed. - The poll backend removes deleted events from the cached pollfd array now. - The poll doesn't pass pollfd.events == 0 to poll() and maintains a list of disabled events, instead of consuming 100% cpu and/or triggering the callers handler. - The poll backend detects POLLNVAL and reports EBADF instead of consuming 100% cpu. - The select backend supports separate handlers for TEVENT_FD_READ and TEVENT_FD_WRITE. - The poll and select backends are now doing fair queuing of fd events. - The epoll has better error checking and supports separate handlers for TEVENT_FD_READ and TEVENT_FD_WRITE. - The standard backend was rewritten to be a tiny wrapper on top of epoll with a fallback to poll, which means that it doesn't use select directly anymore. - TEVENT_TRACE_BEFORE_LOOP_ONCE and TEVENT_TRACE_AFTER_LOOP_ONCE are added in order to allow the application to hook in before and after the loop_once() backend function is called. The TEVENT_HAS_LOOP_ONCE_TRACE_POINTS define can be used to detect the new feature. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Mar 2 02:15:44 CET 2013 on sn-devel-104
2013-03-01tevent: optimize adding new zero timer eventsStefan Metzmacher6-31/+113
Such events were used before we had immediate events. It's likely that there're a lot of this events and we need to add new ones in fifo order. The tricky part is that tevent_common_add_timer() should not use the optimization as it's used by broken Samba versions, which don't use tevent_common_loop_timer_delay() in source3/lib/events.c. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: optimize adding new timer eventsStefan Metzmacher1-8/+24
As new timestamps typically get higher:-) it's better to traverse the existing list from the tail. This is not completely optimal, but it should be better than before. A second optimization could be done for zero timestamps, we would just remember the last_zero_timer, but that would change the internal ABI. Normally thatshould not be a poblem, but the Samba's source3/lib/events.c abuses tevent_internal.h from the current source tree, even if an external tevent.h is used. The other problem is that it makes use of tevent_common_add_timer() without using tevent_common_loop_timer_delay(). Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: add a debug message in tevent_common_loop_timer_delay()Stefan Metzmacher1-0/+4
We should debug a message before and after running the handler. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: add test_event_fd2()Stefan Metzmacher1-0/+242
This test fills the socket kernel buffers and verifies that we don't report TEVENT_FD_WRITE if the buffer is full. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: add test_event_fd1()Stefan Metzmacher1-0/+221
This test verifies that TEVENT_FD_* flags are handled correctly. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: use better names for the subtestsStefan Metzmacher1-2/+9
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: Regression test to ensure that a tevent backend can cope with ↵Jeremy Allison1-11/+50
separate read/write events on a single fd. This tests the multiplex fd changes to the epoll backend to ensure they work correctly. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: use DEBUG_ERROR for the fallback message in epoll_panic()Stefan Metzmacher1-1/+1
A Samba autobuild passed without a fallback, so this is really an error. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: If epoll_ctl(..EPOLL_CTL_ADD,..) failes with EEXIST, merge the two ↵Jeremy Allison1-0/+7
fde's into one epoll event. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: preferr the write handler if there're two possible handlers ↵Stefan Metzmacher1-0/+10
registered with epoll Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: In epoll_event_loop() ensure we trigger the right handler for a ↵Stefan Metzmacher1-7/+36
multiplexed fde event. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: Add utility function epoll_handle_hup_or_err()Jeremy Allison1-0/+32
We'll use this to handle the EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR and EPOLL_ADDITIONAL_FD_FLAG_REPORT_ERROR flags with multiplexed events in the event loop. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: handle EPOLL_ADDITIONAL_FD_FLAG_HAS_MPX in epoll_update_event()Stefan Metzmacher1-0/+17
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: handle multiplexed fde's in epoll_event_fd_destructor()Stefan Metzmacher1-0/+21
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: Fix epoll_mod_event() to cope with modifying a multiplexed fde event.Stefan Metzmacher1-2/+32
Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: Fix up epoll_del_event to cope with deleting a multiplexed fde event.Jeremy Allison1-2/+18
Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: handle multiplexed fde's in epoll_add_event()Stefan Metzmacher1-2/+32
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: Start to fix the epoll backend to support 2 fd events on the same fd ↵Jeremy Allison1-1/+96
correctly. Add a utility function epoll_add_multiplex_fd() and a new flag EPOLL_ADDITIONAL_FD_FLAG_HAS_MPX. This will be called by epoll_add_event() to merge two fde events with the same file descriptor. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-01tevent: ignore EBADF from epoll_ctl() and disable the eventStefan Metzmacher1-2/+26
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: unify handling of HAS_EVENT and REPORT_ERROR in ↵Stefan Metzmacher1-10/+6
epoll_{add,mod,del}_event() epoll_{add,mod,del}_event() are only called via epoll_update_event() and epoll_update_event() should not remove REPORT_ERROR itself. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: always go through epoll_update_event()Stefan Metzmacher1-9/+14
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>