support for using HTTPS time constraints to validate NTP responses, in turn made possible by the LibreSSL supplied libtls
plus a number of important bug fixes.
You'll find the full text of the announcement after the fold:
support for using HTTPS time constraints to validate NTP responses, in turn made possible by the LibreSSL supplied libtls
plus a number of important bug fixes.
You'll find the full text of the announcement after the fold:
As Damien Miller (djm@) announced on tech@, support for SSH version 1 is now no longer being included in OpenBSD SSH:
I just committed a change to src/usr.bin/ssh/Makefile.inc to compile- time disable SSH protocol 1. This protocol is old, unsafe and really, really shouldn't be used at all any more.
If you have need of it, then you can re-enable it for yourself using the knob in Makefile.inc.
If you run into bugs related to this change, please tell firstname.lastname@example.org and we'll fix them quickly. We're deliberately doing this change early in the release cycle to flush out bugs and find out how many people are still using this terrible old protocol.
Like the man says, report any bugs found! And this might be a good time to offer the hand of friendship and understanding to any and all vendors/packagers who still support v1 to join the rest of us in deprecating the lesser protocols.
If you've been following my contributions to OpenBSD's kernel, you already know that in the past years I've been working on the Network Stack to make it more SMP friendly.Read more...
All the network hackers present at s2k15 agreed to volunteer me to work on the next step: properly integrate the pseudo-drivers (carp(4), vlan(4), trunk(4)...) in order to take ether_input() out of the kernel lock.
Go to https://2015.eurobsdcon.org/call-for-papers/ for details; the full text of the announcement also follows after the fold.
Patches are now available to fix buffer overflows in libXfont. This issue affects 5.5, 5.6, and the forthcoming 5.7 release.
For more details, refer to the X.org advisory:
relatively small, focused on bug fixes before 2.2.x development begins along-side OpenBSD 5.8.
In what could be a useful test of the LibreSSL project's code cleanup operation, the team notes that
This or earlier LibreSSL releases may also address issues that are to be revealed by The OpenSSL Project Team on the 19th of March, 2015.
The LibreSSL team is not typically apprised of OpenSSL-related security issues in advance. We will address any previously-unknown issues that are found to affect LibreSSL in future releases.
You can read the full announcement here, and it also follows in full after the fold.
UPDATE 2015-03-17 16:20 CET: Bob Beck (beck@) now reports that the OpenSSL project has communicated details of the still-embargoed OpenSSL vulnerabilities to LibreSSL core developers.
Other developers have been quite punctual too, publishing their presentations soon after their sessions at the conference:
Peter Hessler: The results of using BGP for realtime import and export of spam whitelist/blacklist entries
Ted Unangst: Pruning and Polishing: Keeping OpenBSD Modern
Henning Brauer: OpenBSD sucks
Pascal Stumpf: Converting OpenBSD to PIE (slides) plus paper
And finally, the OpenBSD Update from the work in progress session, given by Henning Brauer.
Patches for bugs in the FreeType library are available:
FreeType 2.5.5 contained more fixes for malformed font buffer overflows. Thanks to David Coppa for extracting the necessary patches from the Ubuntu package.
Patches are available for OpenBSD 5.5 and 5.6. The forthcoming 5.7 release already includes FreeType 2.5.5.
When CVE-2015-0204 (RSA silently downgrades to EXPORT_RSA) was announced, it was labeled "Severity: Low". Our assessment at the time was that export ciphers had already been removed prior to the release of 5.6, and that the fix was not worth backporting to 5.5.
Then CVE-2015-0204 was renamed the FREAK attack. Now it has a fancy name so you know it's important.
Unfortunately, our original assessment was not entirely correct. Some of the features exploited by FREAK were not deleted until after 5.6, although this was not known until testing tools became available. We've corrected libssl by backporting the necessary changes to 5.6.
Since s2k15 was, at least for some people, the SMP hackathon, I started my first project in that area. We currently have a few system calls that work without requiring the kernel lock because they only touch isolated parts of the data, but they aren't very exciting. getpid(), for example. I wanted to speed up a system call that may have some noticable results in a workload I use every day: compiling.Read more...
During the recent s2k15 hackathon in Brisbane I made another attempt to get acceleration working on newer Southern Islands/Graphics Core Next Radeon parts. As there is no traditional EXA acceleration provided by the xf86-video-ati driver for these the only option is glamor. Glamor used to be an external library but is now distributed as part of the Xorg X server. It works by creating an EGL context and provides OpenGL based 2D acceleration.Read more...
We have released LibreSSL 2.1.4, which will be arriving in the LibreSSL directory of your local OpenBSD mirror soon.Read more...
This release adds a number of new security features, makes building privilege-separated programs simpler, and improves the libtls API.
Patches are now available to fix an information leak in the XkbSetGeometry request of X servers. For more information, see the X.org advisory.
The Foundation and the OpenBSD project do not guarantee that SOC projects are accepted into the OpenBSD code base, but it's worth trying, isn't it?
Check out the list and see if there's something there you want to spend most of the summer hacking on.
A few words about a project I've started working on today with support from the OpenBSD Foundation.Read more...
2014 was the most successful year to date for the OpenBSD Foundation. Both in the amount of money we raised and in the support we provided for the OpenBSD and related projects. We are extremely grateful for the support shown by our contributers large and small.
A detailed summary of the Foundation's activities in 2014 can be seen at
But here are some highpoints.
I arrived in Brisbane with Theo in tow and was quickly whisked away by dlg@ to the lovely surroundings of St. Leo's college. The hackroom was across the street and very nice once you got past the giant turkey nest being contructed by a turkey on the sidewalk. Australian birds are weird. The net was especially good. Obviously somebody competent was running it and using a particularly good firewall.
Martin Pieuchot (mpi@) writes in with his report from the s2k15 hackathon:
s2k15 was definitely a hackathon to get things started and for me, the 's' was clearly for SMP. I arrived a bit earlier to be able to finally meet and discuss with David (dlg@), our host, in order to define a strategy to continue moving some bits and pieces of the network stack out of the big lock.
And that's what we did. So we had a look at the glue between the network drivers and the stack and found a way to improve the integration of pseudo drivers in the Ethernet layer. The goal of this refactoring is to avoid recursion and decouple code paths in order to make it easier to turn every pseudo driver MP-safe. That's why I rapidly commited a new interface and then started to convert various drivers.
As usual I committed some bug fixes and other small cleanups in the nework stack and I also took advantage of the fact that Miod (miod@) was sitting next to me, to bother him with some powerpc related questions. We ended up fixing some small bugs for G5 machines. As a result they can now use radeondrm(4) and correctly see all their available memory.
I really enjoyed this shiny week of hacking, thank you very much David for hosting us here and thanks to Theo and the OpenBSD foundation for taking care of my flight and accomodation!
Thanks to Martin for being the first with his post-hackathon write-up!
On this week's episode, the BSDNow folks interview Henning Brauer (henning@), featuring a cameo by the lovely and talented Ken Westerback (krw@) about OpenNTPD, especially in regards to the portable revival and later drool over the new security features.
Seth writes in to announce the OpenBSD booth at this year's SCALE 13x conference:
The OpenBSD vendor booth rides again this February at Scale 13x. As usual, we'll be peddling OpenBSD merchandise including the much sought after 5.6 CD sets, t-shirts, books, coffee mugs, posters and stickers.
Stop by to shoot the bull, stuff the donation jar, or just straighten out that keel with a shot of 'Puffy-go-go-juice' fresh from our on-site espresso machine. (Sadly, our drone shipment of Puffy-Bolivian-marching-powder is not going to make it this year)
If you can help staff the booth for at minimum 2-3 hours on both Saturday and Sunday, there's a free conference pass waiting on arrival with your name on it. Developers preferred, but anyone with a modicum of social skills is welcome to volunteer. Email Scale13xOpenBSD@hush.ai for more info.
After what appears to have been a very successful s2k15 hackathon, two significant thank you themed posts have appeared on OpenBSD mailing lists. The
first came on misc@ from longtime user and supporter Diana Eichert, with the subject a thankyou to OpenBSD. Diana writes,
I don't post much any more, my OpenBSD systems "just work". Just wanted to post a thank you to OpenBSD because it does "just work".
You can check the entire message and followup thread here.
The second came from Henning Brauer (henning@), writing to tech@, with the subject A thanks to the donors, and a small request. Henning writes,
The OpenBSD foundation has just acquired 4 Dell r210s for my OpenBSD development setup to replace their aging predecessors from 2007. I would like to take the opportunity to thank everybody who has donated to the foundation, you made this possible.
And here's a message to potential donors - you can help complete the setup for optimal development conditions:
To complete the setup, I need at least 2 single and one dual port 10GBaseT ix(4) cards. There is one previously donated on in Australia that I could use, unfortunately we cannot quite figure out right now whether it is single or dual - depending on that, I'll need 2 single or 1 single and 1 dual port one on top. The machines come without the rackmount rails, having them would make it considerably easier for me - for regular 4-post racks.
Henning also notes that for most efficient use of everybody's time, it would be best if the equipment 'just shows up'. You can read the rest of the message here.
If you can help make this happen, please dive in!
Everybody's favourite audio hacker Alexandre Ratchov (ratchov@) is inviting you to a concert in Grenoble (France). Read on to find out how this relates to OpenBSD:
Announcing a jazz concert here might sound off-topic, but for this one all synthesizers will run on a OpenBSD box. Unfortunately there are no sample recordings available on the web, only this site (in French).
For non-French speakers, the concert takes place at "the Hexagone" in the Grenoble area, Feb 27, 2015. You're welcome.
The music is experimental jazz using micro-tonal instruments, played by great jazz musicians: virtuoso flutist Magic Malik, Maxime Zampieri on the drums and Jean-Luc Lehr on the bass. We use acoustic instruments (fretless bass, drums) and synthesizers (flute-like synths, pads, and percussions). All synths and corresponding effect processors run on a OpenBSD/amd64 box.
There're few input midi(4) devices: a keyboard, a flute-like wind controller, a kit of drum pads, and control surface (bunch of knobs). They send short messages (aka midi events) whenever a key is pressed on the keyboard, the breath pressure changes on the wind controller, or a pad is hit with the stick. The synthesizer is a program (not published yet) that listens on a sndio(7) midithru port, calculates the wave corresponding to input midi events in real-time then sends the result for audio playback to a envy(4) based card. Then, the resulting analog signal is mixed with other analog sources (bass and microphones) and amplified. Everything is configured to have few milliseconds of latency between the moment a midi message arrives and the corresponding signal hits the amplifier.
The music is based on a theory developed by Frederic Faure which is too long to explain here, but it brings a unique sound by carefully choosing note pitches. So we use an additional program to calculate the pitch of each note submitted to the synth and to visualize various aspects of the theory to assist musicians, it also runs on the same box.
There will be a masterclass on this music presented by Malik, Frederic and me on Feb. 25, 2015. We'll discuss practical and theoretical aspects of this music, and if there's interest internals of the synths and the setup.
Maybe see you at the masterclass and/or for a beer after the concert.
So, if you happen to be in the neighbourhood, make sure to stop by. Thanks to Alexandre for his story!
Theo, Henning, and me developed an idea to utilize TLS in some way for authenticated time in ntpd(8). We are not intending to use it as a direct time source, but as a "constraint" to verify the NTP responses. I came up with an implementation that has been designed to be an optional, non-intrusive feature that is now part of OpenBSD -current.
From the trenches of s2k15:
There was a recent bug in OpenBSD install kernels. At random times during the install, messages like the following would appear:This is pretty unusual. sleep and cat are not usually memory intensive. Clearly, something had changed. There were a few initial suspects but they had been pretty well tested. What was different?/upgrade: //install.sub: sleep: Cannot allocate memory /upgrade: //install.sub: cat: Cannot allocate memory
Read the whole thing to find out the answer!
[My first OpenBSD port] has just landed in the ports tree. It's been a fun ride, this post is a summary of the whole process from the perspective of a first time contributor. Note that this is not a tutorial, just my personal experiences of getting my first port accepted to the tree.
The article is a good overview of getting involved in the porting process; if you've ever been interested in how the process works, take a look!
I wanted to test the afl fuzzer that sort of recently entered the ports collection, ever since this webpage talked about how they give a jpeg decoder the string "Hello" in a file which it twists and mutates until the jpeg decoder no longer croaks on it, and it ends up actually being a valid jpeg image (though not very pretty). Read more...
Read more...Mike Larkin has been slow at informing the world, despite my prodding. Probably started working on something else cool...
After a long hiatus, the latest version of OpenNTPD is available once again in a portable release.
- Support for a new build infrastructure based on the LibreSSL framework. Source code is integrated directly from the OpenBSD tree with few manual changes, easing maintenance.
- Removed support for several OSes pending test reports and updated portability code.
- Supports the Simple Network Time Protocol version 4 as described in RFC 5905
- Added route virtualization (rdomain) support.
- Added ntpctl(8), which allows for querying ntpd(8) at runtime.
- Finer-grained clock adjustment via adjfreq / ntp_adjtime where available.
- Improved latency on heavily-loaded machines.
Hopefully those who've repackaged the previous releases for their OSes will update in due course.
For more than four years I have been using and tinkering with OpenBSD’s divert(4). At one point after OpenBSD 4.9 was released, I ran into an annoying bug in divert(4) that totally prevented me from using it. At the time I had no idea how to fix it, so I did the next best thing by filing a detailed bug report.
Eventually I realized that the bug isn’t going to fix itself, so I decided it was time to roll up my sleeves and wade into the code. So after 2.5 years of on-and-off tinkering and staring at the code and head-scratching and facedesking I finally fixed it, thanks to a ton of help from Bret Lambert (blambert@). The problem turned out to be due to checksums, which is another interesting topic but that’s a story for another day.
Mr. Teo promises more on the subject soon, so read the whole thing, and keep slavering for more!
CVSROOT: /cvs Module name: src Changes by: email@example.com 2015/01/01 08:50:27 Modified files: etc/root : root.mail share/mk : sys.mk sys/arch/macppc/stand/tbxidata: bsd.tbxi sys/conf : newvers.sh sys/sys : param.h Log message: move to 5.7-beta
As always, your testing is needed to ensure that any bugs are found and squashed early!
After much work by Pascal Stumpf (pascal@) and Mark Kettenis (kettenis@), Kurt Miller (kurt@), and no doubt others whose contributions were both significant and appreciated, static binaries can now be compiled as position-independent executables:
New snapshots for a few architectures use static PIE binaries in /bin, /sbin (and a handful in /usr/bin and /usr/sbin as well). (amd64 and sparc64 leading the way, the rest will follow) This is yet another non-trivial conversion. Surely some will try to use the instructions in current.html to build through this hump manually. And surely some will fail, since it is a bit tricky. Please don't bother the lists in that case. If in doubt -- upgrade using a snapshot. Thanks.
As Theo says, snapshot upgrades to get over the hurdle; it would behoove us to do some testing to ensure no bugs were introduced.
As always, a great deal of thanks goes to those who work to improve OpenBSD!
Additionally, they have more conference videos, a comparison of FreeBSD and OpenBSD security features, the OpenSMTPD folks (hi gilles@!) write about the work they've been doing, a review of httpd(8), and all the week's odds and ends in the world of BSD.
Michael W. Lucas, author of Absolute OpenBSD, SSH Mastery, and Sudo Mastery (among others!) has given a talk, titled "Sudo: You're Doing it Wrong", now online:
It runs just over an hour, so make sure you bring a snack!
Ted Unangst (tedu@) has announced the availability of patches for three separate issues.
The first errata addresses the recent DNS server issue
Three new errata to announce.
Malicious DNS servers could cause a denial of service with an endless series of delegations. This affects named (BIND) and unbound. There is a patch for unbound in 5.6. (unbound wasn't built in 5.5.) We don't have patches for BIND at this time.
Missing memory barriers (and other bugs) made virtio devices unreliable. Patches available for 5.5 and 5.6.
Lots and lots of security bugs in the X server have finally been fixed. http://www.x.org/wiki/Development/Security/Advisory-2014-12-09/ Patches are available for 5.5 and 5.6.
For 5.6: http://www.openbsd.org/errata56.html
We have released LibreSSL 2.1.2, which will be arriving in the LibreSSL directory of your local OpenBSD mirror soon.Read more...
memcpy vs memmove
A few notes about memcpy vs memmove and some related items as well.
The C standard specifies two functions for copying memory regions, memcpy and memmove. The important difference is that it is undefined behavior to call memcpy with overlapping regions. One must use memmove for that. As the names imply, memcpy copies data from one region to another, while memmove moves data within a region. (It’s also perfectly acceptable to memmove between different regions.)
This subtle but important distinction allows memcpy to be optimized more aggressively. In the case of memmove between overlapping regions, care must be taken not to destroy the contents of the source before they are done copying. This is easiest to see with a naive implementation of a copy loop.
Read the whole thing; it's an exciting journey into the world of bug-hunting!
Patches are now available for 5.5 and 5.6 which fix two kernel errata.
5.5 errata 16 and 5.6 errata 10: Several bugs were fixed that allowed a crash from remote when an active pipex session exists.
5.5 errata 17 and 5.6 errata 11: An incorrect memcpy call would result in corrupted MAC addresses when using PPPOE.
Users who don't use don't use PPPOE or PIPEX are not affected, but can still apply the patches.
BSDCan is an enormously successful grass-roots style conference. It brings together a great mix of *BSD developers and users for a nice blend of both developer-centric and user-centric presentations, food, and activities.
Please follow the instructions for submitting a proposal to BSDCan 2015.
BSDCan 2015 will be held 12-13 June 2015 (Fri/Sat), in Ottawa. We are now requesting proposals for talks. We do not require academic or formal papers. If you wish to submit a formal paper, you are welcome to, but it is not required.
The talks should be written with a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.
If you have anything you think is worthwhile to share, write it up and send it in!
CVSROOT: /cvs Module name: src Changes by: firstname.lastname@example.org 2014/12/02 12:44:49 Modified files: usr.bin/openssl: s_client.c s_server.c Log message: convert select() to poll(). This is one of the most complicated conversions in the tree, because the original code is very rotten and fragile. Please test and report any failures. Assistance from millert, bcook, and jsing.
Users of this functionality are encouraged to put these changes through the wringer to shake out any bugs that may have been introduced or uncovered.
I got a Windows 8.1 box running this weekend and spent some quality time making poll(2) emulation more robust, so that it can deal with more of the select->poll conversions in openssl(1) coming in the future. I also got the upstream poll conversion patches themselves in better working order. This Windows port is now achieved without any #ifdefs or odd workarounds. So, it should be possible to maintain support without having too many new warts in the LibreSSL tree.
So, what can it do now? Well, you can run this command in a powershell window:
.\apps\openssl.exe s_server -cert tests\server.pem
and this in another:
and type on the console back and forth interactively. You can also run this from powershell and still get the expected result:
cat .\README | apps\openssl.exe s_client -connect 127.0.0.1:4433
No big deal for those fancy 'everything works like a file' operating systems, but Windows very special in its handling of sockets vs. console IO vs pipes. Performance-wise, it's currently about 50x slower than Cygwin's native openssl.exe, but I have not begun to optimize anything yet.
A big thanks to him for his work in making this happen!