[GSoC 2023] VPN Support Project Final Report

Blog post by Pairisto on Sun, 2023-09-10 23:29

Project Overview This project, undertaken as part of Google Summer of Code 2023, sets out to implement a robust TUN/TAP driver for Haiku given the increasing demand from the community for a virtual network kernel interface. This project allows for VPN software and other network-related utilities that work with TUN/TAP driver to operate seamlessly on Haiku. Throughout the project’s duration, I’ve documented the rationale behind key design decisions, and offered insights on the interplay between the TUN/TAP driver and Haiku’s unique networking architecture in my series of seven progress blog posts.

[GSoC 2023] VPN Support Project Update #7

Blog post by Pairisto on Thu, 2023-08-31 20:10

Where We Last Left Off Last post, I left off on the problem where the select functionality was working but there are some problems as it works but not well as the average latency is above 2000ms and when using ping it drops more than 60% of packets on average. For two weeks I was working on this issue but I couldn’t figure out what was wrong with select and given that I was coming up on the deadline of my project, I decided to go with a condition variable approach when reading data from the driver for both the application and interface side.

[GSoC 2023] .NET Developer Platform - Final Report

Blog post by Trung Nguyen on Sun, 2023-08-20 00:00

Project overview This project, a part of Google Summer of Code 2023, aims to port the .NET Developer Platform - a popular open-source framework - to Haiku, following various requests from the community to have a way to build C# or run .NET applications on this OS. The project picks up an incomplete port in 2022 by myself - @trungnt2910 - and @jessicah and brings essential components of the .NET platform (its runtime and SDK) to Haiku.

[GSoC 2023] Improving Icon-O-Matic Final Report

Blog post by Zardshard on Fri, 2023-08-18 11:21

What is Icon-O-Matic? There’s a good chance that not everyone reading this article will know what Icon-O-Matic is, so I’ll start by explaining what it is. Icon-O-Matic is a vector graphics editing program like Illustrator or Inkscape. It is specifically made to work with Haiku’s custom HVIF vector graphics format. This format is similar to the SVG format, except optimized to be much, much smaller. The blog post “500 Byte Images: The Haiku Vector Icon Format” provides a more in-depth discussion for those interested.

[GSoC 2023] VPN Support Project Update #6

Blog post by Pairisto on Thu, 2023-08-17 21:53

Where We Last Left Off So last time I posted I was able to say that I got the client side for OpenVPN on Haiku working but not the server but I am proud to say that now both the server and client work extremely well now on Haiku :) I was able to get the server from not working to working and was able to get the latency for the entire VPN operation down from 1000ms average to anywhere between 2ms to 9ms (that’s a caveat as that is without blocking which will be discussed later).

Haiku Activity & Contract Report, July 2023

Blog post by waddlesplash on Tue, 2023-08-15 23:30

As is the usual way of things, the monthly Activity Report is hereby combined with my Contract Report.

This report covers hrev57127 through hrev57183.

[GSoC 2023] .NET Developer Platform - Progress Report #5

Blog post by Trung Nguyen on Sun, 2023-08-13 00:00

Project status overview The long awaited stateful FD monitoring has finally been implemented on Haiku, and there now is a partial implementation of kqueue usable in libbsd. Therefore, Release builds of .NET can now work properly (after some more hacks) and have been set as the default in my custom dotnet-install.sh script. Due to some technical difficulties in parsing Doxygen documentation and converting it to the XML format used in C#, I have delayed my effort to generate documentation for the Haiku API bindings.

[GSoC 2023] VPN Support Project Update #5

Blog post by Pairisto on Sat, 2023-08-05 00:38

Tempered Optimism So great news everyone, OpenVPN and the TUN/TAP driver is working on Haiku! While this is great news for the development of the project, I need to temper it with some problems that the project has encountered now. So first thing that I had to change first was going from TUN to TAP since OpenVPN wanted a Point-to-Point connection for the TUN driver and Point-to-Point isn’t quite a thing on Haiku yet.

[GSoC 2023] VPN Support Project Update #4

Blog post by Pairisto on Thu, 2023-07-27 22:13

The Weekly Problem So we are just past the midway point for GSoC and last update I told you guys that I had a working (albeit somewhat buggy) TUN Driver working. I had gotten great feedback from Pulkomandy, Axel, and Korli to help with a more efficient driver and to make it more human-readable because it made no sense the way I had written it. I have very good news to bring to everyone in that all of the 3 main problems that I talked about last time are all solved!

[GSoC 2023] .NET Developer Platform - Progress Report #4

Blog post by Trung Nguyen on Sun, 2023-07-23 00:00

Project status overview C# bindings for some parts of the Haiku API is now available, along with basic .NET SDK support for building Haiku applications, in a .NET workload (more details below). The source code and install instructions are currently in this GitHub repo. .NET custom builds for Haiku are still regularly updated to reflect the latest changes in both .NET and Haiku. Most recently, the datagram socket hack has been removed as SOCK_DGRAM support for Haiku has been merged.