Monday, 4 March 2019

LLVM 8 import starting

Hi folks, following up the now rc3 tagged of LLVM 8.0.0, Dimitry Andric had decided to import it in the base system already. Indeed, generally the 3rd or so release candidate already reflects the final release ; the changes, at this stage, usually occurs more into the documentations for example, it is pretty safe as is ... Curious as always, I personally already planned to recompile the whole system as I write to benefit all the improvements I mentioned over the last months.

While at LLVM ; like many other "githubers", I go through other people projects and one particularly attracted my attention, if you are interested into LLVM IR generation, there is this Java-7 compatible compiler even though it requires a particular environment to build it all and even if you do not have direct professional or personal usage per se ; it can be somewhat an interesting subject of study. About php, the awaited new feature, which is the JIT support, is still under review as I write, despite it is Dmitry Stogov behind the keyboard it needs to take time to fix and improve as it is tested ... but ... it might be for soon !

Personally, these last days I have been pushing few improvements to radare to report better arm and mips ELF binaries sections or also more specifically adding OpenBSD sections. Also, I have been pushing a tiny update to the NSS library, which "powers" Firefox for example, to support the new getentropy call from FreeBSD 12 which had been merged ; another slightly more important code will be reviewed.The jemalloc project had entered into the release candidate phase thus my little contribution to improve the profiling for FreeBSD won t be into the soon 5.2 release as I pushed a bit too late :-) but that is very understandable ; they need to be careful as it undergoes stress tests and so on.

Labels: , , , , , , ,

View David Carlier's profile on LinkedIn

Wednesday, 16 January 2019

After eight

... Not really mentioning here the famous mint chocolate brand here :-) most likely, for who is interested, LLVM 8 branching had been done just today as scheduled, now time to pass on to the testers people/doc writers/... ! Normally the real release date is still scheduled in a month and half more or less ... Thanks for few FreeBSD people having reviewed few of my changes (Ed Maste, Mark Johnston) ... I'll be watching this test period for a little while if there any concern for sanitisers in BSD for example ... but mainly my mind has already shifted towards the future 9th version. That was my first time following a full release development cycle from the beginning though, so this experience will serve me just fine ...

Having spent most of the time adding api interceptions with Kamil, for next I may spend more time in other sanitiser components I did not look at for a while even though I do not have real precise plans for now. If I can, I may do a bit of static code analysis work again ...


Otherwise got a little "step back" recently, getting stolen laptop and few other things (if it would have been used for proper purposes, it would have been great but I doubt the new owner has such ideas :-)) ... that is just usual events happening in life ... As possible, do not let material possessions define you but what you have up there in your head is much more valuable ;-) now rebuilding slowly but surely my usual unixes environments and all will be fine.


Labels: ,

View David Carlier's profile on LinkedIn

Monday, 17 December 2018

capsicum into LLVM ... finally

Hi folks,

In a previous post, I mentioned I worked into capsicum API interception into LLVM's sanitisers. Today, I was finally able to commit the last bits. Thanks to Ed Maste and also Mark Johnston who happily welcomed these with open armed (and pretty easily). As a reminder, the goal is to intercept ,when the capsicum api read/write the rights permission bits, to see if these capsicum data structures are valid.

Another reminder, doom 3 FOSS client is finally now released, it might know be played as much as yquake2/ioquake3 for example in the OpenBSD community but I know some folks who will gladly do ;-)

Speaking of game, there is a new promising one, Spacepunk, from the same who authored Barony. In an early stage for the moment, but there is a good chance it will be appealing in the end (and possible to contribute too), I am pretty confident about this ... I wish more commercial games would follow this business model.

Following-up on porting getentropy/getrandom in the"outside world", gnupg (more exactly its dependencies) might benefit it. My small change had been reviewed, seemingly accepted but yet to be merged.


Labels: , , ,

View David Carlier's profile on LinkedIn

Wednesday, 12 December 2018

Twelve number does not bring bad luck usually ...

... as a proof FreeBSD got the release right in schedule :-) No surprise for the usual users, it had been advertised, retweeted million of times (if not billions) and so on ... but that is good to know all went well ... Here are well summarised the most important changes, apart of this, as a reminder, for who is interested in security/cryptography ... getrandom syscall had been ported from Linux (and its wrapper getentropy, with similar signature as the original openbsd implementation) had been added ; all of this by Conrad Meyer if I am not mistaken ... Then that means several user land software/libraries are using it, I have been ported in advance some during the last months, and still do ... In my side, I can count 3 little contributions in this FreeBSD release ... in the userland, 2 concerning libcasper and another was the top command line fix, also, in addition, a sort of indirect one when Conrad Meyer introduced Blake2 API which I just updated, at the time, to use better memory clearance  ; also contributed to more packages than the last time (radare, barony for example ...). My little truss command line fix had just been merged so too late for this release, anyway not being a real threatening issue it is understandable if it is not backported ;-)

Personally I did not feel much this 12th release, using only already -CURRENT like numerous people ;  but I have the feeling other will enjoy this pretty much which represent, as you can witness, a tremendous amount of work ...

Apart of this, I still continue my work on the future LLVM 8, today I ve committed a little change into the static code analysis department to detect possible wrong usage of explicit_bzero (and its older "sibling" bzero) and also still work on improving capsicum api interception in the sanitization part. I wish you all well in this relatively warm end of autumn ;-)

Labels: , ,

View David Carlier's profile on LinkedIn

Sunday, 9 December 2018

Peel hash pea, back to the roots ...

Hi folks,

Finally this week, PHP 7.3.0 was released (this 6th) with as you can see enough changes from the previous 7.2.x branch. Notably it replaces and embraces the pcre2 api which has less limitations and more thoughtful than pcre1 is. More importantly, paying attention to the deprecated apis before migrating is always the wisest move. For a more detailed report, there is the Changelog in my side my most noticeable contribution is about ZEND_SECURE_ZERO improvements.

Apart of this, I committed first bunch of capsicum api interception within LLVM sanitisers, I have further plans for a little bit later. For the rest, it s about catching up in various levels with either NetBSD or Linux.

As usual, little contributions here and there, today I added slightly better NetBSD support for the famous botan library (C++ cryptography), as usual with radare2 we move forward to the future 3.2.x branch ... Also a bunch of little Merge Requests in review ; hopefully some of them will make their way.

Labels: , , ,

View David Carlier's profile on LinkedIn

Thursday, 22 November 2018

LLVM I missed you

Hi folks,

About one month left before the usual Xmas craziness, even though with the time go in my side it starts to be less and less about toys and moving towards more meaningful gifts (thankfully) :-)

So since the last time, I started to go back a bit to LLVM especially the sanitizers. It might not be the same level of "breakthrough" compared to last year, I might say feature/operating system wise it's more fair now but there is still interesting code to do ;-) For now I try to add more specific functions to be intercepted at least for the next couple of days, the set*buf family functions is already merged.

the redis's lead developer had finally merged my little DragonFlyBSD build fix, a tiny fix into h2o to make sure the mem secure feature stands by its word (one the reasons I decided to be involved in LLVM last year was because of the great usage of libFuzzer in h2o). radare2, as always, might be close to a next release even though there still rewriting to do and as usual fixes. PHP now has advertised their last RC6 today and some PR start to be unfolded and merged ... We ll see.

Labels: , , , ,

View David Carlier's profile on LinkedIn

Wednesday, 31 October 2018

BSD can be narcissistic too

Hi folks,

Couple of updates since the last time, I have began to port the radare's self plugin for the BSD, starting with FreeBSD then next should be OpenBSD and finishing with our dear friend NetBSD so time for them to have some introspection if you will ;-) Will try to make it available for the next major release at least.

Also tried a bit redis recently, fixing FreeBSD build. similarly a little build fix for clangd (aka clang Daemon) a settings server for editors. It is just a matter of making people aware of BSD specificities, as usual, and  generally they are pretty open to this idea ; in the long run it ends up positively in the vast majority of the cases, at least in my personal experience ...

Going through, as mentioned in a previous post, the next FreeBSD quarterly report, one of them states than some FreeBSD and Intel people are organising a sort of team to be able to provide a better Intel support at large and security matters as well. Seems the Spectre/Meltdown issues brought a positive outcomes after all.

Labels: , , , , , , ,

View David Carlier's profile on LinkedIn

Sunday, 21 October 2018

Under the radare

Hi folks,

I think now it is safe for the radare FreeBSD port maintainer to update the version as the 3.0.1 release is out.

At the moment, focus are into LLVM 8 for OpenBSD and especially FreeBSD.
For the OpenBSD build, disabling retguard and stack protector features seems to be used, to avoid large creation of their ELF sections and not be able to launch the executables. For FreeBSD, time to switch to the new 13th branch :-)

These days, I did a lot of golang professionally and discovered golangci-lint existence from one Dublin meetups contacts and was able to compare with more known gometalinter. The former might be appreciated from mid-size code due to its faster performance. Also able to highlight the "faulty" code. I recommend.

Labels: , , , , , ,

View David Carlier's profile on LinkedIn

Monday, 1 October 2018

6 years later ...

... after my arrival in Dublin I just realised how things went now starting autumn cleaning, throwing old things ... I did not think I would still be here :-)

So about news, OpenBSD 6.4 is expected in one month but might occur earlier now since couple of releases the usual pace had been broken ... Anyway the page already exist if you are curious. As usual, this release will be a breakthrough for better or worse depends how you see things :-)

In a more personal level, I started "serious" changes into LLVM 8, ported CFI (and merged) for FreeBSD and NetBSD, hopefully esan will follow soon-ish for FreeBSD (only for now). I m trying to back port for the soon 7.0.1 version my previous llvm xray fix ... we shall see.

Barony 3.2.2 had been committed into the FreeBSD ports tree and soon should follow OpenBSD. I did the same for pkgsrc (WIP) as well.

And also other little contributions here and there not yet committed which I ll mention in due time.

Happy beginning of autumn ;-)

Labels: , , , ,

View David Carlier's profile on LinkedIn

Wednesday, 19 September 2018

Last post pre-EuroBSDCon

Hi folks,

September and its usual accelerating "things-being-made" pace, some events were/are occurring since the last time.

As previously planned LLVM 7.0 is finally released and announced. With so many new items (llvm-mca/exegesis and so on) I am so surprised my small contributions are mentioned :-) Thanks to the resilience of the testers it s done and behind. Starts to be available in some systems, for the Mac users you would have to wait a little bit to see whether in Homebrew (will happen shortly though, PR seems accepted) or simply as final binaries (just got uploaded) ... even more patient to see it landed in Xcode (most likely next year) :-) FreeBSD taking his time to import it as a package (still RC3 when I write) but since the differences are mainly about documentations ... it is pretty safe to still use this version.

Also, nginx/njs had accepted my little contribution, a basic sandbox mode, and released a new 0.2.4 version just this week here. It is always nice to be able to make a difference in such popular softwares :-)

Still contribute to radare2, more about fixing these days, to be able to have a more solid version than 2.9.0. Speaking of this, one of my old fixes got a CVE identifier here.

PHP 7.3 had really entered its RC phase now on master it s the future 7.4 and will start to think to provide few ideas (at least a small percentage of them) I kept wrapped until now.

After the incoming EuroBSDCon, LLVM 8 development with other usual folks like kamil or vitalybuka and so on will finally really start as there is still things (but exciting) ahead of us :-)

For now ... see you in Bucharest (for who is masochist enough for :-P)

Labels: , , , , ,

View David Carlier's profile on LinkedIn

Sunday, 9 September 2018

Rainy end of summer updates

Hi folks,

Hopefully you are enjoying the last sun rays batch !

Couple of updates ... For LLVM normally the 7th release was expected for the 5th of September but is postponed obviously ... there will be first a RC3 just to fix the last blockers and hopefully still a release within the month ... We shall see. Speaking of the 7th, FreeBSD is importing it at slow pace and was decided to make it available for releases post 12 due to releases dates colliding. For now the only new sanitizer enabled compared to LLVM 6 is Msan (and for amd64 only for now). Finally, maybe OpenBSD will have this version before FreeBSD :-) well ... at this stage it s just a wild guess.
After this, for LLVM 8, I start to push changes here and there, porting CFI from compiler-rt to FreeBSD and NetBSD.

After that, Barony underwent a hotfix, versioned 3.2.1 but still need some further fixes. I had personally fixed two issues which are both merged. It is very pleasant, in an user point of view, there is still significant game and content updates (and not sold as DLC).

Also, radare really has a fast pace for releasing version, since the last time a lot bug fixes from various sources. I fixed mostly memory leaks and couple of workflow breakages. Now aiming for 3.0 ...

At last, PHP 7.3 finally enter its RC phase, it is pretty already solid at this stage even though i would not recommend for production :-) since the last time I finally did the fixed map fix only for FreeBSD, postponing the Linux version for 7.4 or after, waiting 4.18 kernels distributions being available widely.

Labels: , , , , , ,

View David Carlier's profile on LinkedIn