[Samba] del_driver_init deletes what?
Alex Korobkin
korobkin+smb at gmail.com
Thu Jan 10 13:25:37 MST 2013
Hi team,
I'm trying to debug cupsaddsmb with 3.5.20, which sometimes throws "Unable
to install Windows 2000 printer driver files" error for me.
I traced it all down to _spoolss_AddPrinterDriver(), which calls
del_driver_init function from printing/nt_printing.c file.
It seems that del_driver_init() is called to delete some key from
ntdrivers.tdb, and the key in question seems to be
"DRIVER_INIT/my_printer_name".
These lines made me think this is what it does:
===
if (asprintf(&key, "%s%s", DRIVER_INIT_PREFIX, drivername) < 0) {
return false;
}
<snip>
ret = (tdb_delete_bystring(tdb_drivers, key) == 0);
<snip>
return ret;
===
However, I dumped all the keys of ntdrivers.tdb and there is no single key
with a name like DRIVER_INIT/.
Am I incorrect about this function internals?
What does del_driver_init trying to delete and why would it fail?
Thanks in advance.
-Alex
More information about the samba
mailing list