Re: Problems with CURL_DOES_CONVERSIONS/HAVE_ICONV build on EBCDIC platform

2018-04-11 Thread Daniel Stenberg

On Wed, 11 Apr 2018, Stephan Mühlstrasser wrote:

The easiest way to get a working library on EBCDIC again would be to 
conditionally compile the old macros that were used before the introduction 
of curl_ctype.c, as you also mentioned in one comment in pull request #2269.


This worked well for us before. Would that be an acceptable solution?


If that's fine by you, it's fine by me! =)

You're the one running and using this setup so your advice and recommended 
path forward will carry a lot of weight. I figure restoring functionality 
should be prio one.


I felt a need to "fix" the ctype stuff for curl when I ran into troubles with 
isalnum() being locale-dependent. Described here:


 https://daniel.haxx.se/blog/2018/01/30/isalnum-is-not-my-friend/

--

 / daniel.haxx.se---
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Re: Problems with CURL_DOES_CONVERSIONS/HAVE_ICONV build on EBCDIC platform

2018-04-11 Thread Stephan Mühlstrasser

Am 11.04.18 um 14:32 schrieb Daniel Stenberg:
We look at every single filed bug report and pull request. (Sometimes 
we're slow to act on them though, as we're not that many developers who 
work on random bugs and PRs.)


The world is big and diverse and we have a lot of users who are using 
systems or curl features that a large portion of the world does not. 
When you experience bugs on a niche platforms or with features not used 
widely, there's a chance that A) you're alone to report and experience 
the bug and even B) there's no regular developer around who's using it.


I'm convinced curl on EBCDIC is one such niche with few devlopers. We 
don't get many bug reports about EBCDIC, which I believe is because we 
don't have many users using EBCDIC...


We do have a travis build making sure CURL_DOES_CONVERSIONS builds work 
and are functional, but that's not using EBCDIC. Not enough test and CI 
infrastructure for something as impactful as EBCDIC will quite naturally 
lead to bugs getting introduced over time.


Thank you, Daniel. It's clear to me that EBCDIC support is a niche and 
that I need to become active myself for getting things fixed, but it's 
good to know that bug reports about EBCDIC problems are heard.



1) subjectAltName check for HTTPS connections

In lib/vtls/openssl.c in function verifyhost() two strings with 
different encodings are passed to Curl_cert_hostcheck(), causing the 
check to always fail. I have a potential fix for this.


Please file a PR!


Will do.


2) ASCII-based character classification


>
Exactly, but as the comment says: it's next to impossible to work on 
this and get it right without actually being able to test and verify it 
on such a system. Please file a PR for a fix that makes it work for you!


I will try to come up with a pull request as well, but I need some 
mentoring for this. The easiest way to get a working library on EBCDIC 
again would be to conditionally compile the old macros that were used 
before the introduction of curl_ctype.c, as you also mentioned in one 
comment in pull request #2269.


This worked well for us before. Would that be an acceptable solution?

If those are the only problems, I consider things to be in a pretty 
decent shape still!


That is certainly true, and it's amazing how well curl works on EBCDIC 
platforms in general!


--
Stephan
---
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Re: Problems with CURL_DOES_CONVERSIONS/HAVE_ICONV build on EBCDIC platform

2018-04-11 Thread Daniel Stenberg

On Wed, 11 Apr 2018, Stephan Mühlstrasser wrote:

So my question is, what is the state of curl support for platforms that 
require CURL_DOES_CONVERSIONS and HAVE_ICONV? Are corresponding bug reports 
looked at and are pull requests wanted?


We look at every single filed bug report and pull request. (Sometimes we're 
slow to act on them though, as we're not that many developers who work on 
random bugs and PRs.)


The world is big and diverse and we have a lot of users who are using systems 
or curl features that a large portion of the world does not. When you 
experience bugs on a niche platforms or with features not used widely, there's 
a chance that A) you're alone to report and experience the bug and even B) 
there's no regular developer around who's using it.


I'm convinced curl on EBCDIC is one such niche with few devlopers. We don't 
get many bug reports about EBCDIC, which I believe is because we don't have 
many users using EBCDIC...


We do have a travis build making sure CURL_DOES_CONVERSIONS builds work and 
are functional, but that's not using EBCDIC. Not enough test and CI 
infrastructure for something as impactful as EBCDIC will quite naturally lead 
to bugs getting introduced over time.


1) subjectAltName check for HTTPS connections

In lib/vtls/openssl.c in function verifyhost() two strings with different 
encodings are passed to Curl_cert_hostcheck(), causing the check to always 
fail. I have a potential fix for this.


Please file a PR!


2) ASCII-based character classification

The functions in curl_ctype.c work for ASCII only. After checking the history 
if this file I found the following related GitHub pull request:


...


So this apparently is a known problem for EBCDIC.


Exactly, but as the comment says: it's next to impossible to work on this and 
get it right without actually being able to test and verify it on such a 
system. Please file a PR for a fix that makes it work for you!


If those are the only problems, I consider things to be in a pretty decent 
shape still!


--

 / daniel.haxx.se---
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html