Fix duplicate local printers in DNS-SD discovery (Issue #1531)#1573
Conversation
|
@tillkamppeter Sir, The fix compares the rp field from DNS-SD TXT records against local queue names — if matched, the device is marked INCOMPATIBLE to suppress the duplicate. I tested the build successfully and ran lpstat -e with a local test printer — no duplicates appeared. However, I don't have a shared printer setup to fully reproduce the exact scenario from the issue, so I'd appreciate if you could test on your system. I don't have a shared printer setup to reproduce the exact scenario locally. Since you mentioned you can reproduce this, could you please test this fix on your system? Happy to update based on your feedback! |
|
Hi @tillkamppeter Sir, I hope you're doing well. I'm just following up on this PR when you have a moment to review, thank you |
…g#1531) Updated fix based on michaelrsweet feedback: - Added printer-uuid to pattrs array in _cupsGetDests() - Compare UUID from DNS-SD TXT record against local queue printer-uuid values in cups_dest_query_cb() - UUID is guaranteed unique unlike rp value
|
@michaelrsweet Sir, Thank you so much for all your guidance for all issues. |
Fixes #1531
Root cause: In cups_enum_dests(), permanent cupsd queues were
never stored in _cups_dnssd_data_t. So when cups_dest_query_cb()
fired, there was no local queue data to compare against DNS-SD
discovered printers.
Fix:
record against local queue names
Note: Tested build successfully. Would appreciate testing from
someone who can reproduce the issue with a shared printer setup.