
Sign up to save your podcasts
Or
The NetBSD 8.0 release process is underway, we try to measure the weight of an electron, and look at stack clashing.
If you've been reading source-changes@, you likely noticed the recent creation of the netbsd-8 branch. If you haven't been reading source-changes@, here's some news: the netbsd-8 branch has been created, signaling the beginning of the release process for NetBSD 8.0.
Why Use Package Managers?
Portability
Binary Packages for Research Computing
This is a long rant. A rant intended to document lunacy, hopefully aid others in the future and make myself feel better about something I think is crazy. It may seem like I am making an enemy of electron, but keep in mind that isnt my intention! The enemy here, is complexity! My friend Henry, a canary, is coming along for the ride!
At first glance Electron seems like a pretty solid app, it has decent docs, its consolidated in a single repository, has a lot of visibility, porting it shouldnt be a big deal, right?
Reading through the doc, right off the bat there are a few interesting things: At least 25GB disk space. Huh, OK, some how this ~47M repository is going to blow up to 25G?
Next, its time to tell the bootstrap that OpenBSD exists as a platform. After that is fixed, the build-script runs.
Even though cloning another git repo fails, the build happily continues.
Wait. Another repository failed to clone? At least this time the build failed after trying to clone boto.. again. I am guessing it tried twice because something might have changed between now and the last clone? Off in the distance we catch a familiar tune, it almost sounds like Gnarls Barkleys song Crazy, cant tell for sure.
Out of curiosity we look at vendor/libchromiumcontent/script/update, it seems its purpose is to download / extract chromium clang and node, good thing we already specified --clang_dir or it might try to build clang again!
Ahh, our old friends the dots! This is the second time waiting 45+ minutes for a 500+ MB file to download. We are fairly confident it will fail, delete the file out from under itself and hinder the process even further, so we add an explicit exit to the update script. This way we can copy the file somewhere safe!
We remove the call to update_clang, because.. well.. we have two copies of it already and the Electron doc said everything would be fine if we had >= clang 3.4!
More re-builds and updates of clang and chromium are being commented out, just to get somewhere close to the actual electron build.
Fixing sub-sub-tools
Ninja needs to be build and the script for that needs to be told to ignore this unsupported OS to continue.
No luck. At this point we are faced with a complex web of python scripts that execute gn on GN files to produce ninja files
which then build the various components and somewhere in that cluster, something doesnt know about OpenBSD
After a five-year period for beta-testing and updating, I have finally released g4u 2.6. With its origins in 1999, I'd like to say: Happy 18th Birthday, g4u!
g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.
When I started g4u, I had the task to install a number of lab machines with a dual-boot of Windows NT and NetBSD. The hype was about Microsoft's "Zero Administration Kit" (ZAK) then, but that did barely work for the Windows part - file transfers were slow, depended on the clients' hardware a lot (requiring fiddling with MS DOS network driver disks), and on the ZAK server the files for installing happened do disappear for no good reason every now and then. Not working well, and leaving out NetBSD (and everything else), I created g4u. This gave me the (relative) pain of getting things working once, but with the option to easily add network drivers as they appeared in NetBSD (and oh they did!), plus allowed me to install any operating system.
We've used g4u successfully in our labs then, booting from CDROM. I also got many donations from public and private institutions plus companies from many sectors, indicating that g4u does make a difference.
In the meantime, the world has changed, and CDROMs aren't used that much any more. Network boot and USB sticks are today's devices of choice, cloning of a full disk without knowing its structure has both advantages but also disadvantages, and g4u's user interface is still command-line based with not much space for automation. For storage, FTP servers are nice and fast, but alternatives like SSH/SFTP, NFS, iSCSI and SMB for remote storage plus local storage (back to fun with filesystems, anyone? avoiding this was why g4u was created in the first place!) should be considered these days. Further aspects include integrity (checksums), confidentiality (encryption). This leaves a number of open points to address either by future releases, or by other products.
At this point, my time budget for g4u is very limited. I welcome people to contribute to g4u - g4u is Open Source for a reason. Feel free to get back to me for any changes that you want to contribute!
Major changes in g4u 2.6 include:
In addition to MD5, add SHA512 checksums
I decided it was time to update my FreeBSD Digital Ocean droplet from the end-of-life version 10.1 (shame on me) to the modern version 10.3 (good until April 2018), and maybe even version 11 (good until 2021). There were no sensitive files on the VM, so I had put it off.
I rebooted, and of course, it happened: no ssh access after 30 seconds, 1 minute, 2 minutes
I logged into my Digital Ocean account and saw green status lights for the instance, but something was definitely wrong.
Using grep to fish for files containing droplet.conf, I discovered that it was hacked into the init system via load_rc_config() in /etc/rc.subr
I would prefer if Digital Ocean had not customized the version of FreeBSD they ship quite so much
I could fix that symlink and restart the services:
Networking was working again, and I could then ssh into my server and run the following to finish the upgrade:
At this point, I decided that I didnt want to deal with this mess again until at least 2021, so I decided to go for 11.0-RELEASE
FreeBSD hostname 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9
1.10.1
A 12-year-old question: "If the heap grows up, and the stack grows down, what happens when they clash? Is it exploitable? How?
The issue under discussion is a limitation in a vulnerability mitigation technique. Changes to improve the way FreeBSD manages stack growth, and mitigate the issue demonstrated by Qualys' proof-of-concept code, are in progress by FreeBSD developers knowledgeable in the VM subsystem.
Whats ECC RAM? Is it a good idea?
But would using any other filesystem that isnt ZFS have protected that data? Cause remember, nobodys arguing that you can lose data to evil RAM the argument is about whether evil RAM is more dangerous with ZFS than it would be without it.
4.9
8989 ratings
The NetBSD 8.0 release process is underway, we try to measure the weight of an electron, and look at stack clashing.
If you've been reading source-changes@, you likely noticed the recent creation of the netbsd-8 branch. If you haven't been reading source-changes@, here's some news: the netbsd-8 branch has been created, signaling the beginning of the release process for NetBSD 8.0.
Why Use Package Managers?
Portability
Binary Packages for Research Computing
This is a long rant. A rant intended to document lunacy, hopefully aid others in the future and make myself feel better about something I think is crazy. It may seem like I am making an enemy of electron, but keep in mind that isnt my intention! The enemy here, is complexity! My friend Henry, a canary, is coming along for the ride!
At first glance Electron seems like a pretty solid app, it has decent docs, its consolidated in a single repository, has a lot of visibility, porting it shouldnt be a big deal, right?
Reading through the doc, right off the bat there are a few interesting things: At least 25GB disk space. Huh, OK, some how this ~47M repository is going to blow up to 25G?
Next, its time to tell the bootstrap that OpenBSD exists as a platform. After that is fixed, the build-script runs.
Even though cloning another git repo fails, the build happily continues.
Wait. Another repository failed to clone? At least this time the build failed after trying to clone boto.. again. I am guessing it tried twice because something might have changed between now and the last clone? Off in the distance we catch a familiar tune, it almost sounds like Gnarls Barkleys song Crazy, cant tell for sure.
Out of curiosity we look at vendor/libchromiumcontent/script/update, it seems its purpose is to download / extract chromium clang and node, good thing we already specified --clang_dir or it might try to build clang again!
Ahh, our old friends the dots! This is the second time waiting 45+ minutes for a 500+ MB file to download. We are fairly confident it will fail, delete the file out from under itself and hinder the process even further, so we add an explicit exit to the update script. This way we can copy the file somewhere safe!
We remove the call to update_clang, because.. well.. we have two copies of it already and the Electron doc said everything would be fine if we had >= clang 3.4!
More re-builds and updates of clang and chromium are being commented out, just to get somewhere close to the actual electron build.
Fixing sub-sub-tools
Ninja needs to be build and the script for that needs to be told to ignore this unsupported OS to continue.
No luck. At this point we are faced with a complex web of python scripts that execute gn on GN files to produce ninja files
which then build the various components and somewhere in that cluster, something doesnt know about OpenBSD
After a five-year period for beta-testing and updating, I have finally released g4u 2.6. With its origins in 1999, I'd like to say: Happy 18th Birthday, g4u!
g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.
When I started g4u, I had the task to install a number of lab machines with a dual-boot of Windows NT and NetBSD. The hype was about Microsoft's "Zero Administration Kit" (ZAK) then, but that did barely work for the Windows part - file transfers were slow, depended on the clients' hardware a lot (requiring fiddling with MS DOS network driver disks), and on the ZAK server the files for installing happened do disappear for no good reason every now and then. Not working well, and leaving out NetBSD (and everything else), I created g4u. This gave me the (relative) pain of getting things working once, but with the option to easily add network drivers as they appeared in NetBSD (and oh they did!), plus allowed me to install any operating system.
We've used g4u successfully in our labs then, booting from CDROM. I also got many donations from public and private institutions plus companies from many sectors, indicating that g4u does make a difference.
In the meantime, the world has changed, and CDROMs aren't used that much any more. Network boot and USB sticks are today's devices of choice, cloning of a full disk without knowing its structure has both advantages but also disadvantages, and g4u's user interface is still command-line based with not much space for automation. For storage, FTP servers are nice and fast, but alternatives like SSH/SFTP, NFS, iSCSI and SMB for remote storage plus local storage (back to fun with filesystems, anyone? avoiding this was why g4u was created in the first place!) should be considered these days. Further aspects include integrity (checksums), confidentiality (encryption). This leaves a number of open points to address either by future releases, or by other products.
At this point, my time budget for g4u is very limited. I welcome people to contribute to g4u - g4u is Open Source for a reason. Feel free to get back to me for any changes that you want to contribute!
Major changes in g4u 2.6 include:
In addition to MD5, add SHA512 checksums
I decided it was time to update my FreeBSD Digital Ocean droplet from the end-of-life version 10.1 (shame on me) to the modern version 10.3 (good until April 2018), and maybe even version 11 (good until 2021). There were no sensitive files on the VM, so I had put it off.
I rebooted, and of course, it happened: no ssh access after 30 seconds, 1 minute, 2 minutes
I logged into my Digital Ocean account and saw green status lights for the instance, but something was definitely wrong.
Using grep to fish for files containing droplet.conf, I discovered that it was hacked into the init system via load_rc_config() in /etc/rc.subr
I would prefer if Digital Ocean had not customized the version of FreeBSD they ship quite so much
I could fix that symlink and restart the services:
Networking was working again, and I could then ssh into my server and run the following to finish the upgrade:
At this point, I decided that I didnt want to deal with this mess again until at least 2021, so I decided to go for 11.0-RELEASE
FreeBSD hostname 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9
1.10.1
A 12-year-old question: "If the heap grows up, and the stack grows down, what happens when they clash? Is it exploitable? How?
The issue under discussion is a limitation in a vulnerability mitigation technique. Changes to improve the way FreeBSD manages stack growth, and mitigate the issue demonstrated by Qualys' proof-of-concept code, are in progress by FreeBSD developers knowledgeable in the VM subsystem.
Whats ECC RAM? Is it a good idea?
But would using any other filesystem that isnt ZFS have protected that data? Cause remember, nobodys arguing that you can lose data to evil RAM the argument is about whether evil RAM is more dangerous with ZFS than it would be without it.
1,971 Listeners
272 Listeners
283 Listeners
265 Listeners
215 Listeners
154 Listeners
65 Listeners
189 Listeners
181 Listeners
44 Listeners
21 Listeners
135 Listeners
92 Listeners
29 Listeners
47 Listeners