NetBSD Bloghttps://blog.netbsd.org/tnf/feed/entries/atom2024-03-17T12:20:22+00:00Apache Roller (incubating)https://blog.netbsd.org/tnf/entry/a_story_of_networking_andUSBNET: A story of networking and threads that won't stop pullingmatthew green2019-08-13T20:10:37+00:002019-09-03T01:14:00+00:00
<p>Once upon a time a developer wrote a temperature sensor driver for one system and decided to port it to another, similar, system. For days and then weeks, the developer waited and waited for the other, similar, system to arrive.</p>
<p>One day, joy of joys, the other, similar, system arrived. A National Day of Celebration commenced, and the porting effort began. Over hours, perhaps even as many as five hours of time, the sensors were finally able to tell you whether they were hot or not.</p>
<p>This other, similar, system suddenly was purposeless and was pondering what else life could provide when the Remote Server task popped up and said "Hey, first media file is free", and sadly, this other, similar, system tried its first media file, and then purchased many, many more media files, and suddenly this other, similar, system was suddenly hooked.</p>
<p>Unfortunately, this other, similar, system had a problem talking on the network without falling asleep on the job, so the developer says "let's try a USB network instead!", and initially this seemed like a good idea. Many bits were transferred over USB, but soon whispers of a lurking monster, known to developers, experience or otherwise, as KASSERT, were heard and soon found common.</p>
<p>The developer attempted other USB network as the other, similar, system was destined to be flown many thousands of miles away soon, but the only other option was similarly plagued by the KASSERT monster. The developer reached into his Bag Of Holding and pulled out a magical weapon known capable of slaying the KASSERT monster. The mighty blade of MPSAFE was free again!</p>
<p>After much planning and many failed attacks, the developer was able to slay the KASSERT monster and all the bits wanting to be transferred were able to be.</p>
<p>For a day and for a night there were celebrations. Much food and ale was consumed until finally everyone was asleep, and the music and lights were finally turned off. In the morning a great clean up was needed and while the developer was cleaning off the shiny, happy and working USB network the original USB network was accidentally reconnected. Oh no, the KASSERT monster has returned! Lock your doors and hide your children.</p>
<p>The developer quickly pulled out MPSAFE again, and once again the KASSERT monster was slain, though the face of this monster was different to the previous monster. The developer then searched and searched for surely they were more KASSERT monsters to be found. Indeed, many many others were found, though they retreated to safety after two more of their number were slain by the mighty MPSAFE.</p>
<p>The developer called upon his friends Shared and Code and with them forged a new weapon against the KASSERT monster, using the mighty MPSAFE in ways unheard of before. After much research and planning, and with the help of some friends, the USBNET was born. All the angels and all the birds of the world were said to sing all at once at this moment, for the USBNET would bring happiness to both the Code Deletionist and the Code Sharers, bound to war against each other from time immemorial.</p>
<p>With this new USBNET the developer was able to blaze a trail across the landscape, searching out each KASSERT monster lurking in every USB network corner. All told, fourteen faces of KASSERT monster were found and the developer and his friends have slain seven of these faces, with the remaining seven under attack, life looks grim for them.</p>
<p>The other, similar, system is safe now. Turns out that MPSAFE also has cleared up the sleeping problem using the cousins, NET and FDT in a tight, dual-blade combination.</p>
<p>Let the world rejoice, for soon the KASSERT monster will be no more!</p>
<p>--mrg @ 2019-08-11</p>
<p>tl;dr:</p>
<p>i fixed many bugs across several USB ethernet adapters and got sick of fixing the same bug across multiple drivers so made common code for them to use instead. the original 4 drivers fixed were axen(4), axe(4), cdce(4), and ure(4). the current list of fixed drivers, at time of writing, includes smsc(4), udav(4) and urndis(4). all drivers except umb(4) are ported but either not tested or not yet working with the usbnet(9) framework.</p>
<p>update 2019-09-02:</p>
<p>all 13 known working drivers converted and will be present in netbsd 9.</p>
https://blog.netbsd.org/tnf/entry/postfix_2_8_6_importedPostfix 2.8.6 imported into NetBSD-currentMatthias Scheler2011-10-30T08:32:09+00:002011-10-30T08:32:09+00:00<a href="http://www.postfix.org/announcements/postfix-2.8.6.html">Postfix 2.8.6</a> was imported into NetBSD-current last Friday. The changes since <a href="/tnf/entry/postfix_2_8_5_imported">Postfix 2.8.5</a> are:
<ul>
<li> <p> The Postfix SMTP daemon sent "bare" newline characters
instead of <CR><LF> when a header_checks REJECT pattern
matched multi-line header. This bug was introduced with Postfix
1.1. </li>
<li> <p> The Postfix SMTP daemon sent "bare" newline characters
instead of <CR><LF> when an smtpd_proxy_filter returned
a multi-line response. This bug was introduced with Postfix 2.1.
</li>
<li> <p> For compatibility with future EAI (email address
internationalization) implementations, the Postfix MIME processor
no longer enforces the strict_mime_encoding_domain check on unknown
message subtypes such as message/global*. This check is disabled
by default. </li>
<li> <p> The Postfix master daemon could report a panic error
("master_spawn: at process limit") after the process limit for some
service was reduced with "postfix reload". This bug existed in all
Postfix versions. </li>
</ul>
https://blog.netbsd.org/tnf/entry/postfix_2_8_5_importedPostfix 2.8.5 imported into NetBSD-currentMatthias Scheler2011-09-10T13:35:48+00:002011-09-10T13:35:48+00:00<a href="http://www.postfix.org/announcements/postfix-2.8.5.html">Postfix 2.8.5</a> was imported into NetBSD-current today. The changes since <a href="/tnf/entry/postfix_2_8_4_imported">Postfix 2.8.4</a> are:
<ul>
<li> The Postfix Milter client logged a "milter <i>miltername</i>: malformed reply" error when a Milter sent an SMTP response without enhanced status code (i.e. "XXX Text" instead of "XXX X.X.X Text"). </li>
<li> The Postfix Milter client sent a random {client_connections} macro value when the remote SMTP client was not subject to any smtpd_client_* limit. As a workaround, it now sends a zero value
instead. </li>
</ul>
https://blog.netbsd.org/tnf/entry/postfix_2_8_4_importedPostfix 2.8.4 imported into NetBSD-currentMatthias Scheler2011-07-31T11:58:23+00:002011-07-31T11:58:23+00:00<a href="http://www.postfix.org/announcements/postfix-2.8.4.html">Postfix 2.8.4</a> was imported into NetBSD-current today. The changes since <a href="/tnf/entry/postfix_2_8_2_imported">Postfix 2.8.2</a> are:
<ul>
<li> Performance: a high load of DSN success notification
requests could slow down the queue manager. Solution: make the trace
client asynchronous, just like the bounce and defer clients. </li>
<li> The <a href="http://www.postfix.org/local.8.html">local(8)</a> delivery agent ignored table lookup errors
in mailbox_command_maps, mailbox_transport_maps, fallback_transport_maps
and (while bouncing mail to alias) alias owner lookup. </li>
<li> Workaround: <a href="http://www.spamhaus.org/dbl/">dbl.spamhaus.org</a> rejects lookups with "No IP
queries" even if the name has an alphanumerical prefix. We play
safe, and skip both RHSBL and RHSWL queries for names ending in a
numerical suffix. </li>
<li> The "sendmail -t" command reported "protocol error" instead
of "file too large", "no space left on device" etc. </li>
<li> The Postfix Milter client reported a temporary error instead
of "file too large" in three cases. </li>
</ul>
https://blog.netbsd.org/tnf/entry/postfix_2_8_2_importedPostfix 2.8.2 imported into NetBSD-currentMatthias Scheler2011-03-23T20:39:28+00:002011-03-23T20:39:28+00:00<a href="http://www.postfix.org/announcements/postfix-2.8.2.html">Postfix 2.8.2</a> was imported into NetBSD-current today. The changes since <a href="/tnf/entry/postfix_2_8_1_imported">Postfix 2.8.1</a> are:
<ul>
<li> Bugfix: <a href="http://www.postfix.org/postscreen.8.html">postscreen</a> DNSBL scoring error. When a client disconnected and then reconnected before all DNSBL results for the earlier session arrived, DNSBL results for the earlier session would be added to the score for the later session. This is very unlikely to have affected any legitimate mail.</li>
<li>Workaround: the SMTP client did not support mail to [ipv6:ipv6addr].</li>
</ul>
https://blog.netbsd.org/tnf/entry/postfix_2_8_1_importedPostfix 2.8.1 imported into NetBSD-currentMatthias Scheler2011-03-02T23:13:29+00:002011-03-02T23:13:29+00:00<a href="http://www.postfix.org/announcements/postfix-2.8.1.html" title="Postfix 2.8.1">Postfix 2.8.1</a> was imported into NetBSD-current today. The changes since <a href="/tnf/entry/postfix_2_7_2_imported">Postfix 2.7.*</a> are:
<ul>
<li>
The postscreen daemon (a zombie blocker in front of Postfix)
is now included with the stable release. postscreen now supports
TLS and can log the rejected sender, recipient and helo information.
See the <a href="http://www.postfix.org/POSTSCREEN_README.html">POSTSCREEN_README</a>
file for recommended usage scenarios.
</li>
<li>
Support for DNS whitelisting (permit_rhswl_client), and
for pattern matching to filter the responses from DNS white/blacklist
servers (e.g., <a href="http://www.postfix.org/postconf.5.html#reject_rhsbl_client">
reject_rhsbl_client </a> zen.spamhaus.org=127.0.0.[1..10]).
</li>
<li>
Improved message tracking across SMTP-based content filters;
the after-filter SMTP server can log the before-filter queue ID
(the <a href="http://www.postfix.org/XCLIENT_README.html"> XCLIENT </a> protocol was
extended).
</li>
<li>
Support for 'footers' that are appended to SMTP server
"reject" responses. See "<a
href="http://www.postfix.org/postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>"
in the postconf(5) manpage.
</li>
</ul>
https://blog.netbsd.org/tnf/entry/postfix_2_7_2_importedPostfix 2.7.2 imported into NetBSD-currentMatthias Scheler2010-11-27T12:25:38+00:002011-03-02T23:10:52+00:00<a href="http://www.postfix.org/announcements/postfix-2.7.2.html" title="Postfix 2.7.2">Postfix 2.7.2</a> was imported into NetBSD-current today. The changes since <a href="/tnf/entry/postfix_2_7_1_imported">Postfix 2.7.1</a> are:
<ul>
<li>
Postfix no longer automatically appends the system default
CA (certificate authority) certificates, when it reads the CA
certificates specified with {smtp, lmtp, smtpd}_tls_CAfile or with
{smtp, lmtp, smtpd}_tls_CApath. This prevents third-party certificates
from getting mail relay permission with the permit_tls_all_clientcerts
feature. Unfortunately, this change may cause compatibility problems
with configurations that rely on certificate verification for other
purposes. To get the old behavior, specify "tls_append_default_CA
= yes".
</li>
<li>
A prior fix for compatibility with Postfix < 2.3 was
incomplete. When pipe-to-command delivery fails with a signal,
mail is now correctly deferred, instead of being returned to sender.
</li>
<li>
Poor smtpd_proxy_filter TCP performance over loopback
(127.0.0.1) connections was fixed by adapting the output buffer
size to the MTU.
</li>
<li>
The SMTP server no longer applies the reject_rhsbl_helo
feature to non-domain forms such as network addresses. This would
cause false positives with dbl.spamhaus.org.
</li>
<li>
The Postfix SMTP server failed to deliver a "421" response
and hang up the connection after Milter error. Instead, the server
delivered a "503 Access denied" response and left the connection
open, due to some Postfix 1.1 workaround for RFC 2821.
</li>
<li>
The milter_header_checks parser failed to enable any of
the actions that have no effect on message delivery (warn, replace,
prepend, ignore, dunno, and ok).
</li>
</ul>https://blog.netbsd.org/tnf/entry/postfix_2_7_1_importedPostfix 2.7.1 imported into NetBSD-currentMatthias Scheler2010-06-17T22:59:39+00:002010-06-17T22:59:39+00:00<a href="http://www.postfix.org/announcements/postfix-2.7.1.html" title="Postfix 2.7.1">Postfix 2.7.1</a> was imported into NetBSD-current today. The major changes since Postfix 2.6.6 are:
<ul>
<li> Improved before-queue content filter performance. With
<code>smtpd_proxy_options = speed_adjust</code>, the Postfix SMTP server
receives the entire message before it connects to a before-queue
content filter. Typically, this allows Postfix to handle the same
mail load with fewer content filter processes.</li>
<li> Improved address verification performance. The verify database is now
persistent by default, and it is automatically cleaned periodically. Under
overload conditions, the Postfix SMTP server no longer waits up to 6 seconds
for an address probe to complete.</li>
<li> Support for reputation management based on the local SMTP client IP address.
This is typically implemented with <code>FILTER transportname:</code> actions in access
maps or header/body checks, and mail delivery transports in <em>master.cf</em> with
unique smtp_bind_address values.</li>
</ul>https://blog.netbsd.org/tnf/entry/postfix_2_6_6_importedPostfix 2.6.6 imported into NetBSD-currentMatthias Scheler2010-04-17T12:02:49+00:002010-04-17T12:02:49+00:00<a href="http://www.postfix.org/announcements/postfix-2.6.6.html" title="Postfix 2.6.6">Postfix 2.6.6</a> was imported into NetBSD-current today. The following bugs have been fixed since version 2.6.5:
<ul>
<li> <kbd>postmulti -p command</kbd> did not skip disabled instances. </li>
<li> In the <em>multi_instance_wrapper</em> parameter, the expansion of <em>$command_directory</em> and <em>$daemon_directory</em> was broken. </li>
<li> The <em>address_verify_poll_count</em> parameter value was not made stress-dependent by default. This defeated the purpose of making other settings stress-dependent by default with Postfix 2.6. </li>
<li> Milter applications would hang up after receiving an unexpected SMFIC_HEADER (mail header) command. This problem happened with Milters that (legitimately) do not send replies for SMFIC_RCPT (recipient address) or SMFIC_DATA (start of message) commands. </li>
<li> Core dump while an printing error message for a malformed %<letter> sequence in LDAP, MySQL or PostgreSQL lookup table configuration. </li>
<li> Mail with zero recipients was forever stuck in the queue. This happened when <kbd>postsuper -r</kbd> was run after all the recipients of a message were delivered (or bounced), but before the message was deleted from the queue. </li>
<li> With hostnames such as <code>1-2-3-4</code>, the valid_hostname() fuction did not recognize the <code>-</code> as a non-numeric character, causing a legitimate name to be rejected as <em>invalid</em>. </li>
<li>The VRFY command did not accept a mailbox address inside <code><></code>.</li>
</ul>
https://blog.netbsd.org/tnf/entry/openresolv_imported_into_netbsdopenresolv imported into NetBSDroy2009-11-21T08:05:50+00:002009-11-21T08:05:50+00:00<p><a href="http://roy.marples.name/projects/openresolv">openresolv</a> has been imported into NetBSD, which allows more than one daemon to update /etc/resolv.conf sanely and configure local nameservers for enhanced DNS, especially if running on a VPN. <a href="http://roy.marples.name/projects/dhcpcd">dhcpcd</a> already uses resolvconf when available and dhclient in NetBSD has been patched to use it.</p>
<p>This is important for NetBSD, as many packages support resolvconf, but only when /sbin/resolvconf exists. This meant that a lot of packages that supported resolvconf, failed to work with any resolvconf implementation from pkgsrc.</p>
<p>PPP users who maintain their own scripts are encouraged to try it out :)</p>https://blog.netbsd.org/tnf/entry/summer_of_code_results_aSummer of Code results: A tool to dump and restore pf(4) stateChristos Zoulas2009-10-18T02:26:19+00:002009-10-18T02:32:06+00:00<p>
This summer I mentored Arnaud Degroote's Summer of Code project 'A
tool to dump/restore the pf state table'.
</p><h3>Overview</h3>
<p>
This summer I mentored Arnaud Degroote's Summer of Code project 'A
tool to dump/restore the pf state table'.
</p>
<h3>Goals</h3>
<p>
Pf is a powerful packet filter system with a large number of
features, but it misses the capability to dump the contents of its
internal state to a file so that it can be restored it after a
reboot maintaining existing connections. The suggested solution
from the OpenBSD project is to use pfsync(4), to synchronise two
instances of pf, but this solution requires another machine. The
first goal of the project was to implement a tool similar to ipfs(8)
for for ipf(4) that works with pf(4).
</p>
<h3>Results</h3>
<p>
At mid-term, Arnaud had a working pfs tool which is able to dump /
restore the internal state table of pf, using a binary format to
store the information. After that, he improved the tool to dump /
restore the state table in an ASCII format. Having an ASCII format allows
one to do easily some transformation on the state table, using the
standard unix tools, without the need to implement ad-hoc options
in pfs tool (such as ipfs -i if1,if2).
</p>
<p>
In the second part of the SoC, Arnaud imported pfsync(4) from OpenBSD
(the version from OpenBSD 4_2 + a few more patches), and updated
the different network userland tools to work with it. This part of
the work was merged in the NetBSD tree on September 14th.
</p>
<p>
In the last few weeks, Arnaud has been looking into integrating a more
recent version of pf(4) in NetBSD, but little work has been done yet.
He hopes to continue to work on it, but does not have a lot
of spare time these days.
</p>
<p>
pfs(8) is usable currently, but it is not yet integrated in the
NetBSD tree. It can be found on my GSoC page, if you want to play
with it (http://netbsd-soc.sourceforge.net/projects/pfstate/). Arnaud
tells me he would like to integrate it with pf 4_5 (or 4_6 now), then to update
the pfs tool to understand the new pfsync_state structure before
asking for a public review / integration in NetBSD (and in a perfect
world in OpenBSD).
</p>https://blog.netbsd.org/tnf/entry/postfix_2_6_5_importedPostfix 2.6.5 imported into NetBSD-currentMatthias Scheler2009-08-31T19:17:02+00:002009-08-31T19:17:02+00:00<a href="http://www.postfix.org">Postfix 2.6.5</a>, the latest stable version of the popular mail transport agent, was imported into NetBSD-current today. The following bugs have been fixed since version 2.6.2:
<ul>
<li> The Postfix Milter client got out of step with a Milter application after the application sent a "quarantine" request at end-of-message time. The Milter application would still be in the end-of-message state, while Postfix would already be working on the next SMTP event, typically, QUIT or MAIL FROM. In the latter case, Milter responses for the previously-received email message would be applied towards the next MAIL FROM transaction. This problem was diagnosed with help from Alban Deniz.</li>
<li>The Postfix SMTP server would abort with an "unexpected lookup table" error when an SMTPD policy server was mis-configured in a particular way.</li>
</ul>https://blog.netbsd.org/tnf/entry/google_summer_of_code_improveGoogle Summer of Code: Improve and Extend resize_ffsChristopher Berardi2009-06-30T06:43:42+00:002009-06-30T06:43:42+00:00<p>The utility resize_ffs is a program intended to resize Berkeley Fast File Systems (FFS) by either growing or shrinking them. This filesystem is the standard filesystem for the NetBSD operating system -- a free, fast, secure, and highly portable Unix-like Open Source operating system.</p><p><b>Project Description</b></p>
<p>The utility resize_ffs is a program intended to resize Berkeley Fast File Systems (FFS) by either growing or shrinking them. This filesystem is the standard filesystem for the NetBSD operating system -- a free, fast, secure, and highly portable Unix-like Open Source operating system.</p>
<p>There is already a preliminary utility in the NetBSD source tree, and this project will first and primarily thoroughly test it with a regression test suite and code review, and correct and fix any bugs encountered. After this is accomplished, and the utility is stable, this project will attempt to extend the utility with features such as "live" resizing, that is the ability to dynamically resize the filesystem without first having to unmount it.</p>
<p>More information is available on the <a href="http://netbsd-soc.sourceforge.net/projects/resize_ffs/">project website.</a></p>
<p><b>Status Update</b></p>
<p>After a little bit of a slow start, the project is back on track. I am moving from the "just testing" phase to using that test information to hunt down bugs and also improve the program. One addition I have already added is the ability to choose the new filesystem size in kilo-, mega-, or gigabytes - as well as the default of sectors. However, it does currently assume a sector size of 512 KB in the conversion. I have identified several potential bugs, the worst of which is data corruption which seems limited to when the filesystem is growing.</p>https://blog.netbsd.org/tnf/entry/postfix_2_6_2_importedPostfix 2.6.2 imported into NetBSD-currentMatthias Scheler2009-06-28T15:21:26+00:002009-06-28T15:26:41+00:00<p>
<a href="http://www.postfix.org/">Postfix</a> 2.6.2, the latest stable version of the popular mail transport agent, was imported into NetBSD-current recently. The following features have been added since version 2.5.4:
<ul>
<li>Multi-instance support introduces a new <a href="http://www.postfix.org/postmulti.1.html">postmulti(1)</a> command to create/add/remove/etc. additional Postfix instances. The familiar "postfix start" etc. commands now automatically start multiple Postfix instances. The good news: nothing changes when you use only one Postfix instance. See <a href="http://www.postfix.org/MULTI_INSTANCE_README.html">MULTI_INSTANCE_README</a> for details.</li>
<li>Multi-instance support required that some files be moved from the non-shared $<a href="http://www.postfix.org/postconf.5.html#config_directory">config_directory</a> to the shared $<a href="http://www.postfix.org/postconf.5.html#daemon_directory">daemon_directory</a>. The affected files are <code>postfix-script</code>, <code>postfix-files</code> and <code>post-install</code>.</li>
<li>TLS (SSL) support was updated for elliptic curve encryption. This requires OpenSSL version 0.9.9 or later. The SMTP client no longer uses the SSLv2 protocol by default. See <a href="http://www.postfix.org/TLS_README.html">TLS_README</a> for details.</li>
<li> The Milter client now supports all Sendmail 8.14 Milter requests, including requests for rejected recipient addresses, and requests to replace the envelope sender address. See <a href="http://www.postfix.org/MILTER_README.html">MILTER_README</a> for details.</li>
<li>Postfix no longer adds (Resent-) From:, Date:, Message-ID: or To: headers to email messages with "remote" origins (these are origins that don't match $<a href="http://www.postfix.org/postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>). Adding such headers breaks DKIM signatures that explicitly cover non-present headers. For compatibility with existing logfile processing software, Postfix will log ``message-id=<>'' for email messages that have no Message-Id header.</li>
<li>Stress-adaptive behavior is now enabled by default. This allows the Postfix SMTP server to temporarily reduce time limits and error-count limits under conditions of overload, such as a malware attack or backscatter flood. See <a href="http://www.postfix.org/STRESS_README.html">STRESS_README</a> for details.</li>
</ul>
</p>
<p>Enjoy!</p>
https://blog.netbsd.org/tnf/entry/wake_8_a_new_wakewake(8), a New Wake-on-LAN CommandMarc Balmer2009-06-26T16:04:54+00:002009-06-26T16:04:54+00:00<p>wake is a new command to send Wake-on-LAN frames over an ethernet to Wake-on-LAN
capable machines, remote powering them up. This functionality is generally enabled in a machine's BIOS and can be used to power on machines from a remote system without having physical access to them.</p>
<p>wake is available in NetBSD-current. See the <a href="//man.NetBSD.org/wakeonlan.8">wake(8) manual page</a> for details.</p>
https://blog.netbsd.org/tnf/entry/google_summer_of_code_pxeGoogle Summer of Code: PXE Bulk Install UpdateMax Winderbaum2009-06-23T15:05:24+00:002009-06-23T15:05:24+00:00<P>The PXE Bulk Install system is essentially an NFS mounted root directory
that, when mounted at boot time, installs various configurations of
NetBSD on client machines through its /etc/rc file. A "configuration"
or "class" of machine can include essentially anything imaginable,
from custom kernels to configuration files, SSH keys and
packages installed. Once a class is created and a MAC address
assigned to that class, a machine that NFS mounts the directory will
have its chosen class applied to it.</P><P>My work thusfar has consisted of updating the system to work on NetBSD 5.0
i386. I've updated the scripts given to me by my mentor, Phil Nelson
of Western Washington University, and made the system's documentation
more extensive as well as clarified some ambiguous parts. I've
committed a "skeleton" for the system to the NetBSD Summer of
Code <A HREF="http://netbsd-soc.cvs.sourceforge.net/viewvc/netbsd-soc/pxebulk/">repositories</A>
which at this time must be filled in by the user with packages and
configuration files by hand as per the documentation.</P>
<P>The next step in my work is to make an interactive program to
automatically fill in the skeleton system based on a question and
answer style format. I will use the BSD curses library to create a
type of simplistic, intuitive GUI for this process.</P>
<P>I will then expand the project to include support for the x64, spark, and
shark architectures, and hopefully towards the end of the summer I
will have support for automatically upgrading to the latest versions
of installation packages as per a system administrator's request.</P>
<P>For more information regarding this project please visit the project's
page <A HREF="http://netbsd-soc.sourceforge.net/projects/pxebulk/">here</A>.</P>
<P>To follow the project as it progresses please subscribe to the blog
<A HREF="http://pxebulk.blogspot.com/">here</A>.</P>https://blog.netbsd.org/tnf/entry/the_recent_outage_of_thisThe recent outage of this blogsarah2009-06-11T02:11:09+00:002009-06-11T02:11:09+00:00<p>As you may be aware, this blog has been unexpectedly down 27 hours of the past 32 hours. We suspect this outage was due to a soft failure of the power supply but analysis of this problem is difficult and still ongoing.</p>
<p>Currently the blog is hosted in a different location than usual and does not have the benefit of the usual remote management infrastructure (nor is it in the care of the usual admins team, so there is no timezone diversity for its system management either).</p>
<p>The service will be moved to a TNF system in the near future (not as a reaction to the outage; the current housing is a stopgap measure fixing performance problems the blog experienced in its earlier incarnation until the new TNF owned system is deployed).</p>
<p>In the meantime please be patient should you experience any further outages.</p>https://blog.netbsd.org/tnf/entry/bluetooth_stack_updateBluetooth stack/sdp protocol update haad2009-05-15T12:18:09+00:002009-05-16T03:53:22+00:00<p>NetBSD bluetooth stack was updated to properly support Service discovery protocol spec. SDP daemon sdpd(8) was rewritten to be much simpler, and finally updated the sdpquery(1) program to display complete service records in a meaningful manner.</P><p>When initially writing the Bluetooth stack for NetBSD, I imported the
Service Discovery suite directly from FreeBSD with few changes as the spec
seemed a bit obtuse, and it saved a huge bunch of time. After working with
some software using that API since though, I found it quite limiting and
really thought something better was needed.</p>
<p>So, I have deprecated the libsdp functions and replaced them with
something that reflects the specification more closely, allowing much
more flexibility and added an API to deal with the raw data in a fairly
simple manner. While working on it, I found that the SDP spec was not
that obtuse and the data streams were fairly easy to work with.</p>
<h2>SDP daemon, sdpquery</h2>
<p>Along the way I rewrote the SDP daemon sdpd(8) to be much simpler, and
finally updated the sdpquery(1) program to display complete service
records in a meaningful manner:</p>
<pre>
% sdpquery -a phone search OPUSH
ServiceRecordHandle: 0x00010001
ServiceClassIDList:
Object Push
ProtocolDescriptorList:
L2CAP
RFCOMM (channel 9)
OBEX
BrowseGroupList:
Public Browse Root
LanguageBaseAttributeIDList:
en.UTF-8 base 0x0100
BluetoothProfileDescriptorList:
Object Push, v1.0
ServiceName: "OBEX Object Push"
SupportedFormatsList:
Any
</pre>
<h2>Compatibility</h2>
<p>All programs in base are converted to use the new API and compatibility
is provided at source level by defining SDP_COMPAT and the old ABI is
still supported.</p>https://blog.netbsd.org/tnf/entry/dhcpcd_5_released_and_importeddhcpcd-5 released and imported into NetBSD -currentroy2009-04-28T16:47:27+00:002009-04-28T16:47:27+00:00<p>dhcpcd-5 has now been imported into -current.
I've run a full distribution build and install without any issues so hopefully nothing broken :)</p>
<p>Here's a list of the major changes from dhcpcd-4
<ul>
<li>Single daemon can now run DHCP on multiple interfaces at the same time
<li>Configuration profiles per interface, ssid, arping and fallback
<li>Listens to 3rd party programs changing routing information
<li>Supports DHCP INFORM over PPP
<li>Can configure static options for destination address
<li>Control socket so 3rd party program can control or listen directly to dhcpcd events
<li>Is also a BOOTP client
</ul>
<p>There's now an rc.d script for it which is now recommended over ifconfig_bge0=dhcp in /etc/rc.conf</p>
<p>Any dhcpcd-gtk users will need to upgrade to dhcpcd-gtk-0.4.0 as there was a last minute variable rename due to a recent rc.subr change looking for the flags environment variable.</p>
<p>Enjoy!</p>https://blog.netbsd.org/tnf/entry/switching_between_wired_and_wirelessSwitching between wired and wireless automaticallyAlistair Crooks2009-04-18T02:48:09+00:002009-04-18T03:15:52+00:00<p>I was asked recently how to switch between wired and wireless automatically on NetBSD, and remembered that Hubert Feyrer has a <a href="http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20070816_1133.html">good way of doing it</a>.</p>
<p>So please feel free not to send me any chocolate if you don't find this useful.</p>https://blog.netbsd.org/tnf/entry/netbsd_5_0_rc4_availableNetBSD 5.0_RC4 available for downloadsnj2009-04-16T16:05:28+00:002009-04-16T16:05:28+00:00<p>NetBSD 5.0_RC4 is available for download.</p>
<p>Notable changes include:</p>
<ul><li>Added the RLIMIT_AS resource, which limits the total address space available to processes</li>
<li>Improved NFS server stability</li>
<li>FFS improvements</li>
<li>A fix for a pf(4) DoS</li>
<li>re(4) now works with the RealTek 8111C, which is found on many current motherboards with Intel chipsets</li></ul><p>In the immortal words of Dr. Zoidberg, "Hooray!"</p>
<p>Today, we have two things to be happy about. First, the fourth release candidate of NetBSD 5.0 is available for download. Second, this announcement, like RC3's, coincides with an important birthday: that of Billy West.</p>
<p>Below are some highlighted changes since RC3:</p>
<ul><li>Added the RLIMIT_AS resource, which limits the total address space available to processes</li>
<li>Improved NFS server stability</li>
<li>FFS improvements</li>
<li>A fix for a pf(4) DoS</li>
<li>re(4) now works with the RealTek 8111C, which is found on many current motherboards with Intel chipsets</li></ul>
<p>As usual, <a href="http://cvsweb.netbsd.org/bsdweb.cgi/src/doc/Attic/CHANGES-5.0.diff?only_with_tag=netbsd-5&r1=text&tr1=1.1.2.114&r2=text&tr2=1.1.2.136">src/doc/CHANGES-5.0</a> has the full details.</p>
<p>Binaries of 5.0_RC4 are available for download at <a href="ftp://ftp.netbsd.org/pub/NetBSD-daily/netbsd-5-0-RC4/200904142015Z/">ftp://ftp.netbsd.org/pub/NetBSD-daily/netbsd-5-0-RC4/</a>.</p>
<p>Those of you tracking by source can either continue following the netbsd-5 branch or use the netbsd-5-0-RC4 tag.</p>
<p>As always, we want your feedback. This time, we are especially interested in hearing from people who are using NFS.</p>https://blog.netbsd.org/tnf/entry/new_dhcpcd_gtk_in_pkgsrcdhcpcd-gtk now in pkgsrcroy2009-03-05T19:37:32+00:002009-03-05T19:37:32+00:00<p>After slaving away with more GTK+ learning, I've finished a promising new dialog for <a href="/tnf/entry/introducing_dhcpcd_gtk">dhcpcd-gtk</a>.</p>
<img src="/tnf/resource/dhcpcd/NetworkPreferences.png" />
<p>I've also spent a lot of time polishing it with nicer icons, messages and titles.
Unlike the previous version, this dialog works fully!
It's looking so good, I've just released dhcpcd-gtk into pkgsrc for your pleasure - enjoy :)</p>https://blog.netbsd.org/tnf/entry/introducing_dhcpcd_gtkIntroducing dhcpcd-dbus and dhcpcd-gtkroy2009-02-23T05:13:04+00:002009-05-04T13:05:30+00:00<p>So one of the highlights of NetBSD-5 is dhcpcd-4, a light weight alternative to the venerable ISC dhclient.
dhcpcd-5 is nearing completion and will be rolled into NetBSD -current soon after NetBSD-5 is released. Some of the new features in dhcpcd-5 include the ability to manage more than one interface, listen and act on kernel events <cite>(such as adding a new interface or the link going up and down)</cite> and a control socket so other application can hook into dhcpcd. One such application is <a href="http://roy.marples.name/projects/dhcpcd-dbus">dhcpcd-dbus</a>.</p>
<p>The goal of dhcpcd-dbus is to provide a <a href="http://dbus.freedesktop.org/">DBus</a> interface to dhcpcd. It also provides a DBus interface to <a href="http://hostap.epitest.fi/wpa_supplicant/">wpa_supplicant</a> because the base install in NetBSD does not support DBus. DBus allows other applications to trivially hook into dhcpcd. One such application is <a href="http://roy.marples.name/projects/dhcpcd-ui">dhcpcd-gtk</a>.</p>
<p>The goal of dhcpcd-gtk is to show the user the state of dhcpcd via a systray icon and to provide a GUI which allows the configuration of dhcpcd. It will also show a list of wireless access points in range and allow you to configure a WEP or WPA PSK key for each.</p>
<p>Linux has already had this functionality in <a href="http://projects.gnome.org/NetworkManager/">NetworkManager</a> for some time, but that is very Linux only, depending on libnl and hal. dhcpcd-gtk differs in that it only requires the OS to support dhcpcd <cite>(which is much simpler to port than hal)</cite>. Then it's just a matter of ensuring that the base GNOME libraries work. A KDE/QT or EFL port of dhcpcd-gtk should also be possible.</p>
<p>Anyway, enough natter, here's some screenshots <img src="https://blog.netbsd.org/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /></p>
<p><img src="http://roy.marples.name/projects/dhcpcd-ui/screenshots/3?format=raw" title="dhcpcd-gtk systray showing connected interfaces"></p>
<p><img src="http://roy.marples.name/projects/dhcpcd-ui/screenshots/2?format=raw" title="dhcpcd-gtk systray showing available wireless networks"></p>
<p><img src="http://roy.marples.name/projects/dhcpcd-ui/screenshots/6?format=raw" title="preferences screen - a work in progress"></p>
<p>The menu showing wireless networks is almost complete. The quality bar only shows if the driver reports quality. We need to show history of relative signal strength for the drivers which don't report quality.</p>
<p>The preferences screen is incomplete, but does read the dhcpcd-config correctly. The drop down boxes have configuration blocks for global, interface and ssid, the right hand block showing the interface or ssid in question.
It will also have windows to request specific DHCP options and configure static IP, route and DHCP options.</p>