FreeRADIUS EAP-TLS Auth. Issues

Gerald Vogt vogt at spamcop.net
Wed Jan 24 16:33:52 UTC 2024


On 24.01.24 16:06, Alan DeKok wrote:
> On Jan 24, 2024, at 9:44 AM, Gerald Vogt <vogt at spamcop.net> wrote:
>> I tried. You have closed the issue. You see my point? You consider opening an issue just as critique and refuse from the very beginning.
> 
>    For the record, the issue is this:  https://github.com/FreeRADIUS/freeradius-server/issues/5012
> 
>    It has a long discussion where you were asked repeatedly to explain what's wrong with the current configuration / behavior, and to offer better suggestions.  That didn't happen.

On the contrary, it's all in the initial message. I wrote what's the 
problem with the current configuration and why it's an issue to mix up 
use of ca files or paths for both server and client configuration.

I have outlined, on a high, conceptual level what configurations are 
necessary or possible to cover all those aspects.

I have also gave an example how it is does it httpd mod_ssl and that 
there is a good reason why they have separated it.

So I have made suggestions on how to improve this, how to have clear and 
distinguished configuration parameters for the configuration of the tls 
server and the tls client verification.

You basically answered that you can do the things that you want to do so 
what's wrong? It works.

I have pointed out how the comments for the configuration parameter are 
confusing or misleading. I don't know, where exactly those parameters 
are used for. I can only read the comments and try to understand what 
the purpose is or how they map to the standard openssl parameters like 
for verify.

So how do you think I should know when to put the server CAs into 
certificate_file and when not. Or when you can use ca_file. Or ca_path. 
Or both. Or only either. When using client certificates. Or when not 
using client certificates. It is unclear, what it does exactly. So 
expecting someone else to clarify the documentation is kind of futile.

If it's so easy and so clear, why don't you write it simply into the 
documentation? If I point out discrepancies or what's unclear but you 
shut it down.

Thus, if you write " It just takes a little bit of work", then that is 
not helpful if that work is required because it's unclear. You may as 
well end up with a configuration which works but accepts much more 
certificates then indented. The trouble is, most people won't notice 
that until there is a problem.

Thus, as I write in the initial message of that issue: conceptually the 
tls server configuration and tls client verification are two completely 
different aspects which can rely on two completely different ca sets. 
Thus, conceptually it would be better separate those. But currently, if 
I understand correctly, the tls server can build its chain from ca_dir 
and at the same time the client verification can use ca_dir, too.

Also, assuming that people know that the option "ca_dir" is used as 
openssl "CApath", thus requires the hashes, well... "We do not include 
... all of OpenSSL documentation". Let the dumb user figure it out 
themselves. Why should the docs indicate that ca_dir is CApath and 
requires c_rehash (did FR 2.x mentioned c_rehash?)

You don't see how it's unclear. So why bother with anyone who finds it 
unclear?

Not to mentioned that arr2036 also wrote "I found that extremely 
confusing and ended up redoing a lot of the validation logic manually."

So really, I am not the only one...

>    So the reported problem ended up being "I don't understand how it works. I don't know how it should work.  I don't know how to change it".
> 
>    There is no action we can take to fix that.  Which is why the issue was closed.

Yes, excellent move to shut down any attempt to clarify it. It is 
'extremely confusing'...

>> Yes. If the person who evaluates your attempt, has a certain attitude to shoot everything down, you'll obviously ask yourself why should you even try.
> 
>    A simple "git log" of the server shows that's not true.  There are many, many, people who have contributed.  But they take the time and effort to do so.

Well, maybe you didn't shut them down immediately. I would participate 
to the best of my abilities if you would shut me down with your arrogant 
attitude.


> 
>> I am more than willing to help as I do in a lot of other projects, but I can always only contribute to the extent of my abilities (and the time I have).
> 
>    As can I.  Yet for some reason, that excuse is valid for you, but you don't think it's valid for me.
> 
>    i.e.  You don't have the time or inclination to work through the issue you opened, and you think that's fine.  But if I don't do that work and instead close the issue, then I'm a bad person.

Yes. You have closed the issue instead of giving me an opportunity to 
make myself clearer. So you don't have the time or inclination to work 
through the issue I have opened, trying to understand the issue and how 
'extremely confusing' it all is. And how that is even much harder for 
people who haven't dealt with openssl for many years and understand the 
basic concepts of it all.


> 
>> You are disappointed that there is a large group of people who have suggestions how to improve something or who find issues in how things are, but who are not able to contribute significantly...
> 
>    At the minimum, I expect contributions to be something more than "I did a bunch of stuff.  It didn't work the way I expected.  You need to fix it".

I did a bunch of stuff.

It works for me. And I think the way I did it I think it only works the 
way I expect it and that there are not side effects which are allowed.

But I only got to that point but not really following what is clearly 
mentioned in the comments.

I got to that point by briefly checking the source code to get some idea 
where those parameters might be used and how they map down to the common 
openssl configurations for tls servers and client verification.

I got to that point because I think I understood the mixed used of some 
of those parameters for tls servers and client verification from that, 
thus separating it by a certain way of configuration, from experience 
with openssl.

So it works and I hope it really only works the way I expect it.

But to clarify the documentation is difficult if you don't have a deeper 
understanding of where everything is used exactly. It'll takes me hours 
to figure that out, what a developer just knows...

>> You can either pick that up, show some interest and start a discussion which could well go deeper, or you can simply be disappointed and tell people that they "have time and energy to criticize, but none to contribute", expecting them (between the lines) to provides fully finished code patches which you can review.
> 
>    We both know hat isn't what I said.  I've asked you for documentation updates, or for a clearer description of the problem.
Oh. Yes. That's very much what you basically said, whether you call it 
"documentation updates" now. If you asking for a PR that's what you do.

The documentation is unclear. I have to guess what the documentation 
means. You ask me for documentation updates. How am I supposed to give 
you a documentation update from some guesses? That documentation won't 
get any better, it's just another guess.

The problem in the end is, that you don't even acknowledge that the 
documentation is misleading, confusing and sometimes simply wrong. I 
know it's easier to find out that it's wrong, and harder to write it 
correctly, which requires an understanding of it. But that doesn't come 
from a guess deducted from a misleading documentation...

I cannot write documentation on what "ca_file" and "ca_dir" does exactly 
when I don't know what it does exactly and where it's used. It may be 
used for tls server or client verification or both, and maybe only 
ca_file if it's defined or maybe both, or maybe only one in certain 
situations. That is the problem.

How much clearer do you need it?

I can guess and write an update, although I hardly know if it's so much 
more accurate...

>    If you need to lie in order to "win" an argument, that's a lot more problematic than my "negative" attitude of asking you to a little bit of work.

I don't have to win this argument. I know by know that you won't change 
and you won't bother even trying to understand. You always win the 
argument because you have the power and if people don't do what you tell 
them to do then you can just simply shut them down.

>> I would love to participate and contribute
> 
>    Apparently not.

I do. But you really working very hard to make me change my mind. You 
must really think, I have nothing better to do then write lengthy 
replies trying to explain my point, even though I am pretty sure that I 
won't get through to you...

But I suppose it is what it is. If you don't immediately understand an 
issue it's obviously the fault of the other person. I mean in the github 
issue above I wasn't the only one who finds it confusing... And from 
many mails here on this list I think it also should be clear that it's 
confusing.

Anyways, I guess I spent enough time on this. I have explained 
originally to someone else how I understand how it works and how it 
needs to be configured. You don't like that either, but have to put in 
your standard "Patches are welcome", which of course is obviously more 
then rhetoric by you, because you know that it's pretty unlikely that 
the average person would quickly rewrite the use of certificates and 
submit a patch...

I have explained to someone else the trusted and untrusted certificates.

If that's a problem for you or doesn't fit your standards, well, no need 
to repeat your "patches are welcome"...

Over and out,

Gerald


More information about the Freeradius-Users mailing list