[New: openFATE 312491] Explicit IPv6 support for YaST printer module
Feature added by: Johannes Meixner (jsmeix) Feature #312491, revision 1 Title: Explicit IPv6 support for YaST printer module openSUSE Distribution: Unconfirmed Priority Requester: Mandatory Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2-printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping <IP-address or hostname>" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See https://bugzilla.novell.com/show_bug.cgi?id=697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2-printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Satoru Matsumoto (HeliosReds) Feature #312491, revision 2 Title: Explicit IPv6 support for YaST printer module openSUSE Distribution: Unconfirmed Priority Requester: Mandatory Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the - tests whether or not a remote host is accessible run "ping <IP-address - or hostname>" which fails if IP-address is an IPv6 address because for - IPv6 ping6 must be used. See - https://bugzilla.novell.com/show_bug.cgi?id=697833 Unfortunately ping6 - cannot be used for IPv4 addresses so that yast2-printer needs to - implement special distinction of cases in particular if a hostname is - given depending on whether or not this hostname has an IPv4 or IPv6 - address or both. + tests whether or not a remote host is accessible run "ping IP-address + or hostname" which fails if IP-address is an IPv6 address because for + IPv6 ping6 must be used. See bnc#697833 + Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- + printer needs to implement special distinction of cases in particular + if a hostname is given depending on whether or not this hostname has an + IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Satoru Matsumoto (HeliosReds) Feature #312491, revision 3 Title: Explicit IPv6 support for YaST printer module openSUSE Distribution: Unconfirmed Priority Requester: Mandatory Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. + Discussion: + #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) + @Johannes + Please do not request same features again and again. If you have + something to add, just edit your description or add comments instead of + requesting again. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 4 Title: Explicit IPv6 support for YaST printer module openSUSE Distribution: Unconfirmed Priority Requester: Mandatory Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. + #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) + Please do fix webFATE so that it does not show again and again big red + error messages full of technical stuff which is meaningless for me so + that I do not have to try again and again to get it accepted by webFATE + trying out various modifications hoping to make webFATE more hape to + finally accept it until I give up to find out later by the webFATE + mails that webFATE had actually accept it multiple times. + By the way: This is my THIRD attempt to get this comment added via + webFATE web interface! -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Joachim Werner (joachimwerner) Feature #312491, revision 8 Title: Explicit IPv6 support for YaST printer module - openSUSE Distribution: Unconfirmed + openSUSE Distribution: Evaluation by project manager Priority Requester: Mandatory Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! + #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) + While IP v6 support as such is mandatory for SLE 12, I'm starting with + "important" for this feature, knowing how much we already have on the + table for YaST2. There shouldn't be anything in printer configuration + as such that makes us technically non-compliant. + A major rework of the printer module is more likely to happen for SP1 + and then would definitely also cover full IP v6 enablement. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Jiri Srain (jsrain) Feature #312491, revision 9 Title: Explicit IPv6 support for YaST printer module - openSUSE Distribution: Evaluation by project manager + openSUSE Distribution: Evaluation by engineering manager Priority Requester: Mandatory + Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 10 Title: Explicit IPv6 support for YaST printer module openSUSE Distribution: Evaluation by engineering manager Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. + #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) + Regarding the "ping" tests in yast2-printer: + The "ping" tests are only done as fallback if a "netcat" test before + had failed or when "netcat" is not installed (some admins won't let + netcat installed because they think it is a "hacker tool"). + But the "ping" tests alone are mostly meaningless (it is of interest + whether or not one can connect to a given port at the remote host but + is is mostly meaningless whether or not the host responds to a 'ping'). + Furthermore when the "ping" test fails it is often misleading ("false + alarm") because often hosts that are accessible do not respond to a + 'ping'. + Therefore it would be best to get rid of the "ping" tests but without + the need to have netcat installed. + Fortunately the bash is not (yet?) known to be a "hacker tool" so that + we can assume bash is installed. + Then we can replace tests of the form + netcat -z cups.example.org 631 + with a bash command like + echo -n "" >/dev/tcp/cups.example.org/631 + It is important not to send any data to cups.example.org because + otherwise it results any kind of strange looking error messages in the + CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does + evil things" complaints). + Using only such bash commands (without a fallback "ping") makes the + tests much simpler and more fail safe => KISS! -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Stefan Fent (sfent) Feature #312491, revision 11 Title: Explicit IPv6 support for YaST printer module - openSUSE Distribution: Evaluation by engineering manager + openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Stefan Fent (sfent) Feature #312491, revision 12 - Title: Explicit IPv6 support for YaST printer module + Title: [BETA 1]Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Stefan Fent (sfent) Feature #312491, revision 14 - Title: [BETA 1] Explicit IPv6 support for YaST printer module + Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 15 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! + #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) + Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 16 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 + #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) + I tried to submit yast2-printer to its OBS devel project YaST:Head as + usual via "osc branch YaST:Head yast2-printer" and finally an OBS + submitrequest but the latter fails: + (long lines wrapped here): + $ osc submitrequest + -m 'Implemented IPv6 support for YaST + printer module (Fate # + 312491 (312491) + ).' + home:jsmeix:branches:YaST:Head yast2-printer + YaST:Head yast2-printer + Server returned an error: + HTTP Error 403: Forbidden + The target project YaST:Head + is not accepting requests because: + The YaST packages are developed at Github + ( + https://github.com/yast (https://github.com/yast) + or + https://github.com/libyui (https://github.com/libyui) + ) + and are automatically submitted + to YaST:Head OBS project by Jenkins CI + ( + http://ci.opensuse.org/view/Yast/ + (http://ci.opensuse.org/view/Yast/) + ) + after each Git commit + (if the testsuite passes). + See "CONTRIBUTING.md" file at the respective + Github repository for more details. + You can also contact Yast developers at + #yast irc.freenode.org + or yast-devel@opensuse.org + ( + http://lists.opensuse.org/yast-devel/ + (http://lists.opensuse.org/yast-devel/) + ) + mailing list. + I know that YaST upstream development happens at Github but - if I + understand it correctly - it seems YaST upstream rejects the usual OBS + way how openSUSE contributors can contribute to an OBS project (via + branch and submitrequest). + If I understand it correctly it means YaST upstream enforces all + openSUSE contributors to have a Github account and do it the Github- + way. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 17 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. + #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) + The following scripts in yast2-printer call ping or netcat and should + also be cleaned up: + # for f in $( rpm -ql yast2-printer | grep bin ) ; + do egrep -l 'ping|netcat' $f ; done + /usr/lib/YaST2/bin/cups_client_only + /usr/lib/YaST2/bin/test_remote_ipp + /usr/lib/YaST2/bin/test_remote_lpd + /usr/lib/YaST2/bin/test_remote_novell + /usr/lib/YaST2/bin/test_remote_smb + /usr/lib/YaST2/bin/test_remote_socket -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 18 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket + #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) + Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: + Now the test_remote_* scripts and the cups_client_only script no longer + use ping and no longer need netcat. -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 19 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. + #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) + A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results + annoying long timeouts in "unfriendly" or "strange" network + environments. For example when there is a firewall that drops packages + between the local host that runs the comand and cups.example.org + $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No + real 0m0.001s + user 0m0.000s + sys 0m0.000s + Yes + $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No + bash: cups.suse.com: Name or service not known + bash: /dev/tcp/cups.suse.com/631: Invalid argument + real 0m0.010s + user 0m0.000s + sys 0m0.000s + No + $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No + bash: connect: Connection timed out + bash: /dev/tcp/www.suse.com/631: Connection timed out + real 3m9.499s + user 0m0.000s + sys 0m0.000s + No + In contrast netcat just works because it provides a timeout setting: + $ time netcat -w 2 -z localhost 631 && echo Yes || echo No + real 0m0.014s + user 0m0.000s + sys 0m0.004s + Yes + $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No + cups.suse.com: forward host lookup failed: Unknown host + real 0m1.006s + user 0m0.000s + sys 0m0.000s + No + $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No + real 0m2.005s + user 0m0.000s + sys 0m0.000s + No -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 20 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results annoying long timeouts in "unfriendly" or "strange" network environments. For example when there is a firewall that drops packages between the local host that runs the comand and cups.example.org $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No real 0m0.001s user 0m0.000s sys 0m0.000s Yes $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No bash: cups.suse.com: Name or service not known bash: /dev/tcp/cups.suse.com/631: Invalid argument real 0m0.010s user 0m0.000s sys 0m0.000s No $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/631: Connection timed out real 3m9.499s user 0m0.000s sys 0m0.000s No In contrast netcat just works because it provides a timeout setting: $ time netcat -w 2 -z localhost 631 && echo Yes || echo No real 0m0.014s user 0m0.000s sys 0m0.004s Yes $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No cups.suse.com: forward host lookup failed: Unknown host real 0m1.006s user 0m0.000s sys 0m0.000s No $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No real 0m2.005s user 0m0.000s sys 0m0.000s No + #10: Johannes Meixner (jsmeix) (2014-05-16 14:24:55) (reply to #9) + Missing test with bash: + $ time echo -n "" >/dev/tcp/localhost/6310 && echo Yes || echo No + bash: connect: Connection refused + bash: /dev/tcp/localhost/6310: Connection refused + real 0m0.001s + user 0m0.000s + sys 0m0.000s + No + And same with netcat: + $ time netcat -w 2 -z localhost 6310 && echo Yes || echo No + real 0m0.026s + user 0m0.000s + sys 0m0.000s + No -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 21 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results annoying long timeouts in "unfriendly" or "strange" network environments. For example when there is a firewall that drops packages between the local host that runs the comand and cups.example.org $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No real 0m0.001s user 0m0.000s sys 0m0.000s Yes $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No bash: cups.suse.com: Name or service not known bash: /dev/tcp/cups.suse.com/631: Invalid argument real 0m0.010s user 0m0.000s sys 0m0.000s No $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/631: Connection timed out real 3m9.499s user 0m0.000s sys 0m0.000s No In contrast netcat just works because it provides a timeout setting: $ time netcat -w 2 -z localhost 631 && echo Yes || echo No real 0m0.014s user 0m0.000s sys 0m0.004s Yes $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No cups.suse.com: forward host lookup failed: Unknown host real 0m1.006s user 0m0.000s sys 0m0.000s No $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No real 0m2.005s user 0m0.000s sys 0m0.000s No #10: Johannes Meixner (jsmeix) (2014-05-16 14:24:55) (reply to #9) Missing test with bash: $ time echo -n "" >/dev/tcp/localhost/6310 && echo Yes || echo No bash: connect: Connection refused bash: /dev/tcp/localhost/6310: Connection refused real 0m0.001s user 0m0.000s sys 0m0.000s No And same with netcat: $ time netcat -w 2 -z localhost 6310 && echo Yes || echo No real 0m0.026s user 0m0.000s sys 0m0.000s No + #11: Johannes Meixner (jsmeix) (2014-05-16 14:30:26) (reply to #10) + Conclusion: + A bash command like echo -n "" >/dev/tcp/cups.example.org/631 works + sufficiently in "friendly" network environments (in particular in + network environments that provide an immediate response when a port is + not accessible or when a hostname is not known) but it results annoying + long timeouts in "unfriendly" network environments (e.g. where a + firewall drops packages without any response). -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 22 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results annoying long timeouts in "unfriendly" or "strange" network environments. For example when there is a firewall that drops packages between the local host that runs the comand and cups.example.org $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No real 0m0.001s user 0m0.000s sys 0m0.000s Yes $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No bash: cups.suse.com: Name or service not known bash: /dev/tcp/cups.suse.com/631: Invalid argument real 0m0.010s user 0m0.000s sys 0m0.000s No $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/631: Connection timed out real 3m9.499s user 0m0.000s sys 0m0.000s No In contrast netcat just works because it provides a timeout setting: $ time netcat -w 2 -z localhost 631 && echo Yes || echo No real 0m0.014s user 0m0.000s sys 0m0.004s Yes $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No cups.suse.com: forward host lookup failed: Unknown host real 0m1.006s user 0m0.000s sys 0m0.000s No $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No real 0m2.005s user 0m0.000s sys 0m0.000s No #10: Johannes Meixner (jsmeix) (2014-05-16 14:24:55) (reply to #9) Missing test with bash: $ time echo -n "" >/dev/tcp/localhost/6310 && echo Yes || echo No bash: connect: Connection refused bash: /dev/tcp/localhost/6310: Connection refused real 0m0.001s user 0m0.000s sys 0m0.000s No And same with netcat: $ time netcat -w 2 -z localhost 6310 && echo Yes || echo No real 0m0.026s user 0m0.000s sys 0m0.000s No #11: Johannes Meixner (jsmeix) (2014-05-16 14:30:26) (reply to #10) Conclusion: A bash command like echo -n "" >/dev/tcp/cups.example.org/631 works sufficiently in "friendly" network environments (in particular in network environments that provide an immediate response when a port is not accessible or when a hostname is not known) but it results annoying long timeouts in "unfriendly" network environments (e.g. where a firewall drops packages without any response). + #12: Johannes Meixner (jsmeix) (2014-05-16 17:17:12) (reply to #11) + Only FYI how badly the simple test can behave: + $ time echo -n "" >/dev/tcp/www.suse.com/80 && echo yes || echo no + real 0m0.292s + user 0m0.000s + sys 0m0.000s + yes + $ time echo -n "" >/dev/tcp/www.suse.com/800 && echo yes || echo no + bash: connect: Connection timed out + bash: /dev/tcp/www.suse.com/800: Connection timed out + real 3m9.581s + user 0m0.000s + sys 0m0.000s + no + $ time echo -n "" >/dev/tcp/www.google.com/80 && echo yes || echo no + real 0m0.027s + user 0m0.000s + sys 0m0.000s + yes + $ time echo -n "" >/dev/tcp/www.google.com/800 && echo yes || echo no + bash: connect: Connection timed out + bash: /dev/tcp/www.google.com/800: Connection timed out + real 22m5.927s + user 0m0.004s + sys 0m0.000s + no -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 23 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results annoying long timeouts in "unfriendly" or "strange" network environments. For example when there is a firewall that drops packages between the local host that runs the comand and cups.example.org $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No real 0m0.001s user 0m0.000s sys 0m0.000s Yes $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No bash: cups.suse.com: Name or service not known bash: /dev/tcp/cups.suse.com/631: Invalid argument real 0m0.010s user 0m0.000s sys 0m0.000s No $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/631: Connection timed out real 3m9.499s user 0m0.000s sys 0m0.000s No In contrast netcat just works because it provides a timeout setting: $ time netcat -w 2 -z localhost 631 && echo Yes || echo No real 0m0.014s user 0m0.000s sys 0m0.004s Yes $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No cups.suse.com: forward host lookup failed: Unknown host real 0m1.006s user 0m0.000s sys 0m0.000s No $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No real 0m2.005s user 0m0.000s sys 0m0.000s No #10: Johannes Meixner (jsmeix) (2014-05-16 14:24:55) (reply to #9) Missing test with bash: $ time echo -n "" >/dev/tcp/localhost/6310 && echo Yes || echo No bash: connect: Connection refused bash: /dev/tcp/localhost/6310: Connection refused real 0m0.001s user 0m0.000s sys 0m0.000s No And same with netcat: $ time netcat -w 2 -z localhost 6310 && echo Yes || echo No real 0m0.026s user 0m0.000s sys 0m0.000s No #11: Johannes Meixner (jsmeix) (2014-05-16 14:30:26) (reply to #10) Conclusion: A bash command like echo -n "" >/dev/tcp/cups.example.org/631 works sufficiently in "friendly" network environments (in particular in network environments that provide an immediate response when a port is not accessible or when a hostname is not known) but it results annoying long timeouts in "unfriendly" network environments (e.g. where a firewall drops packages without any response). #12: Johannes Meixner (jsmeix) (2014-05-16 17:17:12) (reply to #11) Only FYI how badly the simple test can behave: $ time echo -n "" >/dev/tcp/www.suse.com/80 && echo yes || echo no real 0m0.292s user 0m0.000s sys 0m0.000s yes $ time echo -n "" >/dev/tcp/www.suse.com/800 && echo yes || echo no bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/800: Connection timed out real 3m9.581s user 0m0.000s sys 0m0.000s no $ time echo -n "" >/dev/tcp/www.google.com/80 && echo yes || echo no real 0m0.027s user 0m0.000s sys 0m0.000s yes $ time echo -n "" >/dev/tcp/www.google.com/800 && echo yes || echo no bash: connect: Connection timed out bash: /dev/tcp/www.google.com/800: Connection timed out real 22m5.927s user 0m0.004s sys 0m0.000s no + #13: Johannes Meixner (jsmeix) (2014-05-26 11:24:22) + Solution (hopefully) how to use bash with timeout (here a hardcoded 2 + seconds timeout that one must wait in any case so that the test needs + always the same time): + (long command lines shown wrapped here) + $ time ( + ( echo -n "" >/dev/tcp/www.suse.com/80 ) & + ECHO_PID=$! ; sleep 2s ; + kill $ECHO_PID &>/dev/null ; + wait $ECHO_PID && echo OK || echo FAIL ) + OK + real 0m2.005s + user 0m0.000s + sys 0m0.000s + $ time ( + ( echo -n "" >/dev/tcp/www.suse.com/800 ) & + ECHO_PID=$! ; sleep 2s ; + kill $ECHO_PID &>/dev/null ; + wait $ECHO_PID && echo OK || echo FAIL ) + FAIL + real 0m2.005s + user 0m0.000s + sys 0m0.000s + $ time ( + ( echo -n "" >/dev/tcp/www.google.com/80 ) & + ECHO_PID=$! ; sleep 2s ; + kill $ECHO_PID &>/dev/null ; + wait $ECHO_PID && echo OK || echo FAIL ) + OK + real 0m2.005s + user 0m0.000s + sys 0m0.000s + $ time ( + ( echo -n "" >/dev/tcp/www.google.com/800 ) & + ECHO_PID=$! ; sleep 2s ; + kill $ECHO_PID &>/dev/null ; + wait $ECHO_PID && echo OK || echo FAIL ) + FAIL + real 0m2.005s + user 0m0.000s + sys 0m0.000s -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 24 Title: [BETA 3] Explicit IPv6 support for YaST printer module openSUSE Distribution: Ready Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results annoying long timeouts in "unfriendly" or "strange" network environments. For example when there is a firewall that drops packages between the local host that runs the comand and cups.example.org $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No real 0m0.001s user 0m0.000s sys 0m0.000s Yes $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No bash: cups.suse.com: Name or service not known bash: /dev/tcp/cups.suse.com/631: Invalid argument real 0m0.010s user 0m0.000s sys 0m0.000s No $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/631: Connection timed out real 3m9.499s user 0m0.000s sys 0m0.000s No In contrast netcat just works because it provides a timeout setting: $ time netcat -w 2 -z localhost 631 && echo Yes || echo No real 0m0.014s user 0m0.000s sys 0m0.004s Yes $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No cups.suse.com: forward host lookup failed: Unknown host real 0m1.006s user 0m0.000s sys 0m0.000s No $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No real 0m2.005s user 0m0.000s sys 0m0.000s No #10: Johannes Meixner (jsmeix) (2014-05-16 14:24:55) (reply to #9) Missing test with bash: $ time echo -n "" >/dev/tcp/localhost/6310 && echo Yes || echo No bash: connect: Connection refused bash: /dev/tcp/localhost/6310: Connection refused real 0m0.001s user 0m0.000s sys 0m0.000s No And same with netcat: $ time netcat -w 2 -z localhost 6310 && echo Yes || echo No real 0m0.026s user 0m0.000s sys 0m0.000s No #11: Johannes Meixner (jsmeix) (2014-05-16 14:30:26) (reply to #10) Conclusion: A bash command like echo -n "" >/dev/tcp/cups.example.org/631 works sufficiently in "friendly" network environments (in particular in network environments that provide an immediate response when a port is not accessible or when a hostname is not known) but it results annoying long timeouts in "unfriendly" network environments (e.g. where a firewall drops packages without any response). #12: Johannes Meixner (jsmeix) (2014-05-16 17:17:12) (reply to #11) Only FYI how badly the simple test can behave: $ time echo -n "" >/dev/tcp/www.suse.com/80 && echo yes || echo no real 0m0.292s user 0m0.000s sys 0m0.000s yes $ time echo -n "" >/dev/tcp/www.suse.com/800 && echo yes || echo no bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/800: Connection timed out real 3m9.581s user 0m0.000s sys 0m0.000s no $ time echo -n "" >/dev/tcp/www.google.com/80 && echo yes || echo no real 0m0.027s user 0m0.000s sys 0m0.000s yes $ time echo -n "" >/dev/tcp/www.google.com/800 && echo yes || echo no bash: connect: Connection timed out bash: /dev/tcp/www.google.com/800: Connection timed out real 22m5.927s user 0m0.004s sys 0m0.000s no #13: Johannes Meixner (jsmeix) (2014-05-26 11:24:22) Solution (hopefully) how to use bash with timeout (here a hardcoded 2 seconds timeout that one must wait in any case so that the test needs always the same time): (long command lines shown wrapped here) $ time ( ( echo -n "" >/dev/tcp/www.suse.com/80 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) OK real 0m2.005s user 0m0.000s sys 0m0.000s $ time ( ( echo -n "" >/dev/tcp/www.suse.com/800 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) FAIL real 0m2.005s user 0m0.000s sys 0m0.000s $ time ( ( echo -n "" >/dev/tcp/www.google.com/80 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) OK real 0m2.005s user 0m0.000s sys 0m0.000s $ time ( ( echo -n "" >/dev/tcp/www.google.com/800 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) FAIL real 0m2.005s user 0m0.000s sys 0m0.000s + #14: Johannes Meixner (jsmeix) (2014-05-26 12:17:56) (reply to #13) + Ready-to-use in bash scripts: + # The outermost subshell avoids job control messages + # like "[1] job_pid" and "[1]+ Done..." or "[1]+ Terminated...". + # The hardcoded 2 seconds timeout is waited in any case + # so that the test needs always basically that timeout time. + # In POSIX shells wait returns the exit code of the job + # even if it had already terminated when wait was started, see + # + http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wait.html (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wait.html) + # that reads: + # "This volume of POSIX.1-2008 requires the implementation + # to keep the status + # of terminated jobs available until the status + # is requested": + if ( ( echo -n "" >/dev/tcp/$SERVER/$PORT ) & ECHO_PID=$! ; sleep 2s ; + kill $ECHO_PID &>/dev/null ; wait $ECHO_PID ) + then echo "server '$SERVER' accessible via port '$PORT'." 1>&2 + else echo "server '$SERVER' not accessible via port '$PORT'." 1>&2 + fi -- openSUSE Feature: https://features.opensuse.org/312491
Feature changed by: Johannes Meixner (jsmeix) Feature #312491, revision 25 Title: [BETA 3] Explicit IPv6 support for YaST printer module - openSUSE Distribution: Ready + openSUSE Distribution: Done Priority Requester: Mandatory Projectmanager: Important Requested by: Johannes Meixner (jsmeix) Partner organization: openSUSE.org Description: Currently there is not any kind of special IPv6 support in yast2- printer. Currently IPv6 works only where it is compatible to IPv4 but there are cases where IPv6 needs special handling: For example the tests whether or not a remote host is accessible run "ping IP-address or hostname" which fails if IP-address is an IPv6 address because for IPv6 ping6 must be used. See bnc#697833 Unfortunately ping6 cannot be used for IPv4 addresses so that yast2- printer needs to implement special distinction of cases in particular if a hostname is given depending on whether or not this hostname has an IPv4 or IPv6 address or both. Probably there are some more special distinction of cases needed to distinguish between IPv4 and IPv6 stuff. Discussion: #1: Satoru Matsumoto (heliosreds) (2011-06-10 03:06:07) @Johannes Please do not request same features again and again. If you have something to add, just edit your description or add comments instead of requesting again. #2: Johannes Meixner (jsmeix) (2011-06-10 10:39:00) (reply to #1) Please do fix webFATE so that it does not show again and again big red error messages full of technical stuff which is meaningless for me so that I do not have to try again and again to get it accepted by webFATE trying out various modifications hoping to make webFATE more hape to finally accept it until I give up to find out later by the webFATE mails that webFATE had actually accept it multiple times. By the way: This is my THIRD attempt to get this comment added via webFATE web interface! #3: Joachim Werner (joachimwerner) (2013-08-08 16:15:20) While IP v6 support as such is mandatory for SLE 12, I'm starting with "important" for this feature, knowing how much we already have on the table for YaST2. There shouldn't be anything in printer configuration as such that makes us technically non-compliant. A major rework of the printer module is more likely to happen for SP1 and then would definitely also cover full IP v6 enablement. #4: Johannes Meixner (jsmeix) (2013-09-10 16:57:32) Regarding the "ping" tests in yast2-printer: The "ping" tests are only done as fallback if a "netcat" test before had failed or when "netcat" is not installed (some admins won't let netcat installed because they think it is a "hacker tool"). But the "ping" tests alone are mostly meaningless (it is of interest whether or not one can connect to a given port at the remote host but is is mostly meaningless whether or not the host responds to a 'ping'). Furthermore when the "ping" test fails it is often misleading ("false alarm") because often hosts that are accessible do not respond to a 'ping'. Therefore it would be best to get rid of the "ping" tests but without the need to have netcat installed. Fortunately the bash is not (yet?) known to be a "hacker tool" so that we can assume bash is installed. Then we can replace tests of the form netcat -z cups.example.org 631 with a bash command like echo -n "" >/dev/tcp/cups.example.org/631 It is important not to send any data to cups.example.org because otherwise it results any kind of strange looking error messages in the CUPS log files on cups.example.org (i.e. "false alarm" or "YaST does evil things" complaints). Using only such bash commands (without a fallback "ping") makes the tests much simpler and more fail safe => KISS! #5: Johannes Meixner (jsmeix) (2014-03-12 15:02:52) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 34261 #6: Johannes Meixner (jsmeix) (2014-03-14 14:17:09) I tried to submit yast2-printer to its OBS devel project YaST:Head as usual via "osc branch YaST:Head yast2-printer" and finally an OBS submitrequest but the latter fails: (long lines wrapped here): $ osc submitrequest -m 'Implemented IPv6 support for YaST printer module (Fate # 312491 (312491) ).' home:jsmeix:branches:YaST:Head yast2-printer YaST:Head yast2-printer Server returned an error: HTTP Error 403: Forbidden The target project YaST:Head is not accepting requests because: The YaST packages are developed at Github ( https://github.com/yast (https://github.com/yast) or https://github.com/libyui (https://github.com/libyui) ) and are automatically submitted to YaST:Head OBS project by Jenkins CI ( http://ci.opensuse.org/view/Yast/ (http://ci.opensuse.org/view/Yast/) ) after each Git commit (if the testsuite passes). See "CONTRIBUTING.md" file at the respective Github repository for more details. You can also contact Yast developers at #yast irc.freenode.org or yast-devel@opensuse.org ( http://lists.opensuse.org/yast-devel/ (http://lists.opensuse.org/yast-devel/) ) mailing list. I know that YaST upstream development happens at Github but - if I understand it correctly - it seems YaST upstream rejects the usual OBS way how openSUSE contributors can contribute to an OBS project (via branch and submitrequest). If I understand it correctly it means YaST upstream enforces all openSUSE contributors to have a Github account and do it the Github- way. #7: Johannes Meixner (jsmeix) (2014-05-02 12:42:47) The following scripts in yast2-printer call ping or netcat and should also be cleaned up: # for f in $( rpm -ql yast2-printer | grep bin ) ; do egrep -l 'ping|netcat' $f ; done /usr/lib/YaST2/bin/cups_client_only /usr/lib/YaST2/bin/test_remote_ipp /usr/lib/YaST2/bin/test_remote_lpd /usr/lib/YaST2/bin/test_remote_novell /usr/lib/YaST2/bin/test_remote_smb /usr/lib/YaST2/bin/test_remote_socket #8: Johannes Meixner (jsmeix) (2014-05-02 17:24:00) (reply to #7) Submitted yast2-printer to SUSE:SLE-12:GA via IBS submitrequest 37316: Now the test_remote_* scripts and the cups_client_only script no longer use ping and no longer need netcat. #9: Johannes Meixner (jsmeix) (2014-05-16 14:21:30) A bash command like echo -n "" >/dev/tcp/cups.example.org/631 results annoying long timeouts in "unfriendly" or "strange" network environments. For example when there is a firewall that drops packages between the local host that runs the comand and cups.example.org $ time echo -n "" >/dev/tcp/localhost/631 && echo Yes || echo No real 0m0.001s user 0m0.000s sys 0m0.000s Yes $ time echo -n "" >/dev/tcp/cups.suse.com/631 && echo Yes || echo No bash: cups.suse.com: Name or service not known bash: /dev/tcp/cups.suse.com/631: Invalid argument real 0m0.010s user 0m0.000s sys 0m0.000s No $ time echo -n "" >/dev/tcp/www.suse.com/631 && echo Yes || echo No bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/631: Connection timed out real 3m9.499s user 0m0.000s sys 0m0.000s No In contrast netcat just works because it provides a timeout setting: $ time netcat -w 2 -z localhost 631 && echo Yes || echo No real 0m0.014s user 0m0.000s sys 0m0.004s Yes $ time netcat -w 2 -z cups.suse.com 631 && echo Yes || echo No cups.suse.com: forward host lookup failed: Unknown host real 0m1.006s user 0m0.000s sys 0m0.000s No $ time netcat -w 2 -z www.suse.com 631 && echo Yes || echo No real 0m2.005s user 0m0.000s sys 0m0.000s No #10: Johannes Meixner (jsmeix) (2014-05-16 14:24:55) (reply to #9) Missing test with bash: $ time echo -n "" >/dev/tcp/localhost/6310 && echo Yes || echo No bash: connect: Connection refused bash: /dev/tcp/localhost/6310: Connection refused real 0m0.001s user 0m0.000s sys 0m0.000s No And same with netcat: $ time netcat -w 2 -z localhost 6310 && echo Yes || echo No real 0m0.026s user 0m0.000s sys 0m0.000s No #11: Johannes Meixner (jsmeix) (2014-05-16 14:30:26) (reply to #10) Conclusion: A bash command like echo -n "" >/dev/tcp/cups.example.org/631 works sufficiently in "friendly" network environments (in particular in network environments that provide an immediate response when a port is not accessible or when a hostname is not known) but it results annoying long timeouts in "unfriendly" network environments (e.g. where a firewall drops packages without any response). #12: Johannes Meixner (jsmeix) (2014-05-16 17:17:12) (reply to #11) Only FYI how badly the simple test can behave: $ time echo -n "" >/dev/tcp/www.suse.com/80 && echo yes || echo no real 0m0.292s user 0m0.000s sys 0m0.000s yes $ time echo -n "" >/dev/tcp/www.suse.com/800 && echo yes || echo no bash: connect: Connection timed out bash: /dev/tcp/www.suse.com/800: Connection timed out real 3m9.581s user 0m0.000s sys 0m0.000s no $ time echo -n "" >/dev/tcp/www.google.com/80 && echo yes || echo no real 0m0.027s user 0m0.000s sys 0m0.000s yes $ time echo -n "" >/dev/tcp/www.google.com/800 && echo yes || echo no bash: connect: Connection timed out bash: /dev/tcp/www.google.com/800: Connection timed out real 22m5.927s user 0m0.004s sys 0m0.000s no #13: Johannes Meixner (jsmeix) (2014-05-26 11:24:22) Solution (hopefully) how to use bash with timeout (here a hardcoded 2 seconds timeout that one must wait in any case so that the test needs always the same time): (long command lines shown wrapped here) $ time ( ( echo -n "" >/dev/tcp/www.suse.com/80 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) OK real 0m2.005s user 0m0.000s sys 0m0.000s $ time ( ( echo -n "" >/dev/tcp/www.suse.com/800 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) FAIL real 0m2.005s user 0m0.000s sys 0m0.000s $ time ( ( echo -n "" >/dev/tcp/www.google.com/80 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) OK real 0m2.005s user 0m0.000s sys 0m0.000s $ time ( ( echo -n "" >/dev/tcp/www.google.com/800 ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID && echo OK || echo FAIL ) FAIL real 0m2.005s user 0m0.000s sys 0m0.000s #14: Johannes Meixner (jsmeix) (2014-05-26 12:17:56) (reply to #13) Ready-to-use in bash scripts: # The outermost subshell avoids job control messages # like "[1] job_pid" and "[1]+ Done..." or "[1]+ Terminated...". # The hardcoded 2 seconds timeout is waited in any case # so that the test needs always basically that timeout time. # In POSIX shells wait returns the exit code of the job # even if it had already terminated when wait was started, see # http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wait.html (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wait.html) # that reads: # "This volume of POSIX.1-2008 requires the implementation # to keep the status # of terminated jobs available until the status # is requested": if ( ( echo -n "" >/dev/tcp/$SERVER/$PORT ) & ECHO_PID=$! ; sleep 2s ; kill $ECHO_PID &>/dev/null ; wait $ECHO_PID ) then echo "server '$SERVER' accessible via port '$PORT'." 1>&2 else echo "server '$SERVER' not accessible via port '$PORT'." 1>&2 fi + #15: Johannes Meixner (jsmeix) (2016-05-11 16:30:19) + It seems setting a feature to "validation" when it is implemented so + that QA can test it and then set it to "done" does not work + sufficiently well. This feature is implemented since "Mon Jan 19 2015", + see the yast2-printer RPM changelog. + No issue reports in SLE12 or Leap42.1 so that I set it hereby as + "done". -- openSUSE Feature: https://features.opensuse.org/312491
participants (1)
-
fate_noreply@suse.de