1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

s3-printing: cope with missing printers in print migration

The printers database may be completely missing in a new install, and
we may have SECDESC entries for printers that have been removed. Don't
consider these fatal errors in the migration.

Signed-off-by: Günther Deschner <gd@samba.org>
This commit is contained in:
Andrew Tridgell 2010-08-06 13:06:42 +10:00 committed by Günther Deschner
parent a2607a62f3
commit fe5f4d91ce

View File

@ -420,6 +420,10 @@ static NTSTATUS migrate_secdesc(TALLOC_CTX *mem_ctx,
&hnd,
&result);
if (!NT_STATUS_IS_OK(status)) {
if (W_ERROR_EQUAL(WERR_INVALID_PRINTER_NAME, result)) {
DEBUG(3, ("Ignoring missing printer %s\n", key_name));
return NT_STATUS_OK;
}
if (!W_ERROR_IS_OK(result)) {
status = werror_to_ntstatus(result);
}
@ -493,6 +497,12 @@ static NTSTATUS migrate_internal(TALLOC_CTX *mem_ctx,
int rc;
tdb = tdb_open_log(tdb_path, 0, TDB_DEFAULT, O_RDONLY, 0600);
if (tdb == NULL && errno == ENOENT) {
/* if we have no printers database then migration is
considered successful */
DEBUG(4, ("No printers database to migrate in %s\n", tdb_path));
return NT_STATUS_OK;
}
if (tdb == NULL) {
DEBUG(2, ("Failed to open tdb file: %s\n", tdb_path));
return NT_STATUS_NO_SUCH_FILE;