Skip to content

Conversation

@bmasonrh
Copy link
Contributor

In backend/lpd.c, if "reserve=rfc1179" is used in the Device URI, ports from 512-731 will be used instead of only 721=731 as per RFC 1179.

cups_rresvport() starts with the value of lport passed in to the function and decrements lport to 512 until an open port is found. Thus, if all ports from 731-721 are unavailable, cups_rresvport() will start binding to ports between 720-512.

This patch resolves this issue by adding a parameter to cups_rresvport() that defines the minimum port number that should be used and makes the appropriate changes in lpd_queue().

Resolves #743

In backend/lpd.c, if "reserve=rfc1179" is used in the Device URI,
ports from 512-731 will be used instead of only 721=731 as per RFC
1179.

cups_rresvport() starts with the value of lport passed in to the
function and decrements lport to 512 until an open port is found.
Thus, if all ports from 731-721 are unavailable, cups_rresvport() will
start binding to ports between 720-512.

This patch resolves this issue by adding a parameter to
cups_rresvport() that defines the minimum port number that should be
used and makes the appropriate changes in lpd_queue().
Copy link
Member

@zdohnal zdohnal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@zdohnal zdohnal merged commit 9f0ce57 into OpenPrinting:master Sep 13, 2023
@zdohnal
Copy link
Member

zdohnal commented Sep 13, 2023

Thank you for the PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

lpd "reserve=rfc1179" actually uses ports 512-731, not 721-731

2 participants