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:
parent
a2607a62f3
commit
fe5f4d91ce
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user