All of lore.kernel.org
 help / color / mirror / Atom feed
From: msweet@apple.com (Michael Sweet)
To: kernelnewbies@lists.kernelnewbies.org
Subject: [Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel
Date: Tue, 25 Feb 2014 13:42:00 -0500	[thread overview]
Message-ID: <3F2A4315-4F2C-4BB1-BC9C-67B6F6BCD3A3@apple.com> (raw)
In-Reply-To: <530CCC53.8070007@gmail.com>

Till,

Some comments inline...

On Feb 25, 2014, at 12:01 PM, Till Kamppeter <till.kamppeter@gmail.com> wrote:
> Hi,
> 
> a new standard not yet supported under Linux but starting to penetrate
> the market is IPP-over-USB (Internet Printing Protocol over USB).
> ...
> Fortunately, the PWG has added a standard to make it also go into USB
> printers, IPP-over-USB. Problem is that there is no Linux support for that.

Actually, it was the USB Implementers Forum (USB-IF) that defined and published the IPP USB specification, not the PWG.

> First, I want to make a feature request to the kernel to add it.

I don't think the kernel is the right place for this.  IPP USB isn't like IP-over-USB, and you'll want the interface to provide arbitration and multiplexing of HTTP requests over the available IPP USB interfaces.

> Second,
> I want to suggest this as a Google Summer of Code project, asking for
> mentors on the kernel side. Mentoring Organization will be the Linux
> Foundation, hosting projects for both OpenPrinting and the kernel.

This will make an excellent SoC project, but you'll need someone familiar with Avahi, libusb, HTTP, systemd, and general networking for this.  This isn't a kernel project.

> It should not be too complex. Probably one can start on the driver for
> USB Ethernet or WLAN sticks, as they are also USB devices which
> introduce a network interface to the system. What one has to do is to
> create a driver for another, probably similar device, the IPP-over-USB
> printer. The driver should not be specific to the printer model (it is
> an open standard protocol) and it also should provide a network
> interface to the system under which there is only found the printer. The
> printer should be accessible under this interface via port 80 (web
> interface), 631 (IPP), and 443 (encrypted).

OK, let's be clear on this - you DO NOT do SSL/TLS over IPP USB.  As there is no connection management, you would never be able to safely do a TLS negotiation or session management, and once encrypted you would not be able to multiplex access to the limited number of USB interfaces that are provided by the printer.

Conceptually you might want to support encryption to the IPP USB "proxy" (assuming you allow remote access to the local USB printer), but communications from the proxy to the USB printer need to be unencrypted.

_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4881 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140225/bf60a090/attachment-0001.bin 

WARNING: multiple messages have this Message-ID (diff)
From: Michael Sweet <msweet@apple.com>
To: Till Kamppeter <till.kamppeter@gmail.com>
Cc: "printing-architecture@lists.linux-foundation.org"
	<printing-architecture@lists.linux-foundation.org>,
	Greg KH <greg@kroah.com>,
	Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	kernelnewbies@kernelnewbies.org
Subject: Re: [Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel
Date: Tue, 25 Feb 2014 13:42:00 -0500	[thread overview]
Message-ID: <3F2A4315-4F2C-4BB1-BC9C-67B6F6BCD3A3@apple.com> (raw)
In-Reply-To: <530CCC53.8070007@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2521 bytes --]

Till,

Some comments inline...

On Feb 25, 2014, at 12:01 PM, Till Kamppeter <till.kamppeter@gmail.com> wrote:
> Hi,
> 
> a new standard not yet supported under Linux but starting to penetrate
> the market is IPP-over-USB (Internet Printing Protocol over USB).
> ...
> Fortunately, the PWG has added a standard to make it also go into USB
> printers, IPP-over-USB. Problem is that there is no Linux support for that.

Actually, it was the USB Implementers Forum (USB-IF) that defined and published the IPP USB specification, not the PWG.

> First, I want to make a feature request to the kernel to add it.

I don't think the kernel is the right place for this.  IPP USB isn't like IP-over-USB, and you'll want the interface to provide arbitration and multiplexing of HTTP requests over the available IPP USB interfaces.

> Second,
> I want to suggest this as a Google Summer of Code project, asking for
> mentors on the kernel side. Mentoring Organization will be the Linux
> Foundation, hosting projects for both OpenPrinting and the kernel.

This will make an excellent SoC project, but you'll need someone familiar with Avahi, libusb, HTTP, systemd, and general networking for this.  This isn't a kernel project.

> It should not be too complex. Probably one can start on the driver for
> USB Ethernet or WLAN sticks, as they are also USB devices which
> introduce a network interface to the system. What one has to do is to
> create a driver for another, probably similar device, the IPP-over-USB
> printer. The driver should not be specific to the printer model (it is
> an open standard protocol) and it also should provide a network
> interface to the system under which there is only found the printer. The
> printer should be accessible under this interface via port 80 (web
> interface), 631 (IPP), and 443 (encrypted).

OK, let's be clear on this - you DO NOT do SSL/TLS over IPP USB.  As there is no connection management, you would never be able to safely do a TLS negotiation or session management, and once encrypted you would not be able to multiplex access to the limited number of USB interfaces that are provided by the printer.

Conceptually you might want to support encryption to the IPP USB "proxy" (assuming you allow remote access to the local USB printer), but communications from the proxy to the USB printer need to be unencrypted.

_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair


[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 4881 bytes --]

  parent reply	other threads:[~2014-02-25 18:42 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-25 17:01 Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel Till Kamppeter
2014-02-25 17:01 ` [Printing-architecture] " Till Kamppeter
     [not found] ` <CA+55aFx=5ubeSTcWVcM1bxnjG72fV0vwzTktuqccy1h4-aMScg@mail.gmail.com>
2014-02-25 17:26   ` Till Kamppeter
2014-02-25 17:26     ` [Printing-architecture] " Till Kamppeter
2014-02-25 18:42 ` Michael Sweet [this message]
2014-02-25 18:42   ` Michael Sweet
2014-02-26  1:47   ` Greg KH
2014-02-26  1:56     ` Michael Sweet
2014-02-26  1:56       ` Michael Sweet
2014-02-26 17:37       ` Till Kamppeter
2014-02-26 17:37         ` Till Kamppeter
2014-02-26 23:02       ` Greg KH
2014-02-27  0:05         ` Michael Sweet
2014-02-27  0:05           ` Michael Sweet
2014-02-27  1:35           ` Greg KH
2014-02-27  2:33           ` Carlos Rimola
2014-02-27  2:33             ` Carlos Rimola
2014-02-27 15:37             ` Michael Sweet
2014-02-27 15:37               ` Michael Sweet
2014-02-27 19:23               ` Carlos Rimola
2014-02-27 19:23                 ` Carlos Rimola
2014-02-27 19:29                 ` Michael Sweet
2014-02-27 19:29                   ` Michael Sweet
2014-03-04 22:28                   ` Carlos Rimola
2014-03-04 22:28                     ` Carlos Rimola
2014-03-05  1:00                     ` Michael Sweet
2014-03-05  1:00                       ` Michael Sweet
2014-02-26 22:31 ` Valdis.Kletnieks at vt.edu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3F2A4315-4F2C-4BB1-BC9C-67B6F6BCD3A3@apple.com \
    --to=msweet@apple.com \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.