On Tue, 2016-01-19 at 17:06 +0100, Lukas Slebodnik wrote:
> On (19/01/16 16:47), Michal Židek wrote:
> >On 01/19/2016 04:28 PM, Simo Sorce wrote:
> >>On Tue, 2016-01-19 at 02:54 +0100, Michal Židek wrote:
> >>>On 01/19/2016 12:03 AM, Simo Sorce wrote:
> >>>>Found this while working on another patch.
> >>>>
> >>>>It is not evident by this patch alone but ... "trust me" :-)
> >>>>(I'll send the other patch next, try to apply just that one and see what
> >>>>I mean if you want)
> >>>>
> >>>>Simo.
> >>>>
> >>>>
> >>>
> >>>Hi Simo!
> >>>
> >>>I wonder if including config.h indirectly through
> >>>util.h is a good thing. It may be better
> >>>to simply include config.h at the beginning of every
> >>>.c file (after license) as a rule of thumb. This way
> >>>even if we do not need util.h, we will have the same
> >>>beginning of file and it will be more difficult to forget
> >>>config.h. What do you think?
> >>
> >>I a ok with such a rule, I can change the patch to explicitly add
> >>config.h as first in all files I touched, are the other cleanups I did
> >>also ok ?
> >>Or do we want a patch that only adds config.h as the first header and
> >>touches nothing else ?
> >
> >Yes, adding just config.h (or moving it to the top)
> >is probably the best thing to do. It is minimal change
> >and it will solve the immediate problem. And Lukas
> >will also agree with this IMO (see the explanation
> >below).
> >
> >>
> >>>That being said, I know you made this patch in order
> >>>to move work on another patch, so I definitely do not
> >>>want to block the review.
> >>>
> >>>CI passed:
> >>>http://sssd-ci.duckdns.org/logs/job/35/72/summary.html
> >>>
> >>>But I will wait with the ack until you respond to the
> >>>question above.
> >>>
> >>>Btw. we have quite a lot of files that do not use
> >>>util.h that probably already use this rule (I did
> >>>not check all of them, just did the grep). I think
> >>>the rule would add consistency to the code.
> >>
> >>Yes a lot of files do the "right" thing (between quotes because Lukas
> >>apparently has a different opinion), just not all of them.
> >
> >I think there is a misunderstanding. Lukas is right that
> >it is a common practice to include system headers first
> >and after that your own headers. However config.h is
> >an exception. It is a special header that set's up the
> >environment. Btw. the reason why system headers should be
> >added before our own headers is similar to why config.h should
> >be the first header. They sometimes also change environment
> >(by environment I mean, they define special macros that
> >change behavior of some functions etc.)
> >
> >If I undestood it correctly Lukas did not protest against
> >including config.h as the first header, but he did not like
> >the util.h as first (because it is our own header).
> >
> 
> I read/replied to this patch before seeing a problematic patch
> "[PATCH] Abstract and improve connection credential handling"
> 
> There would not be a problem to include "config.h" in every
> implentation module which includes "src/responder/common/responder.h"
> But we would not fix a problem. The same issue would be in
> any new implementation module for new responder.
> 
> I think I proposed better solution in reply to the problematic patch.
> If we move conditional definition of struct cli_creds or
> (UCRED_CTX, SELINUX_CTX) to the implenetation module we will solve
> order of included header file only on one place andnot in 27+ files

Lukas,
are you saying you are opposed to add config.h as the top header in all
files that miss it ?

The fact we see this problem only with my other patch does not mean the
current situation with the headers is ok.

If I wanted to fix just the cli_creds issues I would have proposed a
much smaller patch to start with.

Please comment on this patch and how to proceed or if you think we
should drop it entirely.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to