RFC: server-side XCB

Jamey Sharp jamey at minilop.net
Sun Dec 21 06:49:10 PST 2014


That's great! If Asalle and Jaya don't mind, I'd like to be CC'd on
progress reports and questions on these projects. I may be able to
help.

The length-checking/byte-swapping proposal sounds like what I had in
mind, and what Keith expressed interest in. I have some confusion
about some of the details, but I don't think they matter at this
stage; since we're talking about code generation, they'll be easy to
change later if necessary.

The task you've labeled server-side XCB is fairly ambitious, I think.
Sounds like that's roughly what Josh wants, details aside, and I was
going to complain about ambition at him too. :-) If Jaya is going to
do that, I think we should arrange an X.Org Extended Vacation of Code
grant for her.

Thanks for taking on mentorship of these tasks! Let me know how I can help.
Jamey

On Sun, Dec 21, 2014 at 12:36 AM, Christian Linhart
<chris at demorecorder.com> wrote:
> There is already a project underway to do this.
>
> We would have sent the technical proposal in a few days.
> I will send the technical proposal as an extra message, soon.
>
> In any case we should avoid that two teams are working on that independently.
>
> We have two interns at Xorg who are working on this under my mentorship:
> * Asalle works as intern under the OPW-program ( http://www.x.org/wiki/XorgOPW/ )
>   She will do the length checking and byte swapping.
>
> * Jaya is an intern without any formal program behind it.
>   She will implement server-side XCB in requests, replys etc,
>   i.e. will replace the usage of the manually written proto-headers
>   with using XCB.
>
> Currently, both are setting up their work environment and getting acquainted with the code.
> Both already have gained some experience with XCB during their qualification task etc.
>
> Me, I have 17 years experience with the X-Server source-code, especially with protocol handling,
> from work in a commercial project.
>
> I have recently volunteered to become the maintainer of the XCB project.
>
> And I do understand the code of the XCB codegenerator. ;-)
> I have already made several changes to it, and more are in the pipeline.
>
> I also have made lots of changes of the XCB protocol definition of XInput, with the goal of 100% coverage.
> I will also complete the protocol definitions of the XInput and XKeyboard extensions'along with further changes in the XCB code generator.
> (actually already finished with this. Just need to prepare this for posting on the XCB list.)
>
> Cheers,
>
> Chris
>
>
> On 12/20/14 21:27, Jamey Sharp wrote:
>>
>> We've talked about doing the xserver equivalent of XCB for years--that is, auto-generating the protocol serialization and deserialization code from XCB's machine-readable descriptions of the X protocol and extensions.
>>
>> Considering the recent CVEs in that code, I think it's time. So I want to collect folks' thoughts on what server-side XCB should look like.
>>
>> At a high level, which code should we be generating? Off the top of my head, I'm thinking the dispatch tables and all the swap procedures, as a first target in order to get the codegen infrastructure merged and tested. Then it'd be nice to generate code that validates arguments and returns appropriate errors. Thoughts?
>>
>> XCB's code generator is implemented in Python. Can we make the same choice in the xserver build process?
>>
>> Anything else I should be thinking about?
>> Jamey
>>
>>
>>
>> _______________________________________________
>> xorg-devel at lists.x.org: X.Org development
>> Archives: http://lists.x.org/archives/xorg-devel
>> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>


More information about the xorg-devel mailing list