OpenPrinting / ippusbxd

Cross-platform IPP over USB driver
Other
29 stars 4 forks source link

DNS-SD advertising of IPP printer is probably not compatible with iOS #40

Open alexpevzner opened 4 years ago

alexpevzner commented 4 years ago

This bug was recently discovered in the ipp-usb, but most likely it is relevant to the ippusbxd too.

It can be fixed by registering the "_universal._sub._ipp._tcp" subtype of the "_ipp._tcp" service type.

Corresponding ipp-usb bug is here: https://github.com/OpenPrinting/ipp-usb/issues/4

tillkamppeter commented 4 years ago

@Ordissimo, could you have a look?

ThierryHFR commented 4 years ago

Hi @tillkamppeter

  if (((ptr = strcasestr(cmd, "apple")) != NULL &&
       (ptr = strcasestr(ptr, "raster")) != NULL) ||
      ((ptr = strcasestr(cmd, "urf")) != NULL) ||
      urf != NULL)
    appleraster = 1;

in usb detection the parsing of information decided the subtypes: If appleraster == 1 then suptype = "_universal._sub._ipp._tcp" else suptype = "_print._sub._ipp._tcp"

Do you know if I can get that information without using the usb?

alexpevzner commented 4 years ago

Why not to advertise _universal._sub._ipp._tcp always?

ThierryHFR commented 4 years ago

I don't know, I made the wrong "_print._sub._ipp._tcp" choice.

I want to go back to the initial version that uses "Universal" under certain conditions.