OpenBSD Journal

OpenBSD C2K3 round up

Contributed by jose on from the packet-security dept.

evets writes: "I was just browsing Daniel's site when I came across this news item.

"We're back from c2k3 (the Hackathon 2003 in Calgary, Canada), pictures available here. Still somewhat jetlagged, so image comments will show up later. pf work done during the hackathon includes: packet tagging (add arbitrary tags to packets from filter rules and filter based on tags), SYN proxy (protects against spoofed SYN floods by doing a TCP handshake with the client first, then replaying it to the server), adaptive state timeouts (decrease timeouts when the state table grows full), TCP scrubbing and more."

Pictures available here: and somewhere in the nere future here:

Has anyone got a more thorough round up of changes?" Thanks for the info! You can see most of these new features in a -current build (or a snapshot) near you.

(Comments are closed)

  1. By Motley Fool () on

    anyone else notice the X86-64 AMD Hammer systems?

    1. By Dries Schellekens () on

      They succeeded in booting it in 32 bit mode:
      To some extend:

      You can see the SMP big lock change in action as well:

      1. By grey () on

        I was under the assumption that efforts at c2k3 were to get native hammer support (i.e. 64-bit mode) going, and that i386 already worked fine. Maybe my bad. Kind of a moot point as I don't have one yet [am still waiting to hear from Rioworks as to whether their motherboard actually does support Chipkill-correct or not].

        So, can anyone with an opteron system say whether i386 run on it OK? I'm guessing that native 64bit mode support will be a ways off still. :-/

        1. By Dries Schellekens () on

          Yes, I think they were porting native amd64 from NetBSD.

          Somewhere in an email on misc@ art@ says "I suspect it took you as long as it took me to get Hammer almost working. Or the time it took mdw to get ultrasparc III into single user mode."

          I guess we'll see an amd64 port in the future.

        2. By henning () on

          the hammer systems are close to working, of course in native 64 bit mode. In the end it was time running out.
          The machines were kindly donated by AMD, btw.

  2. By hellsh0k () on

    Just incase you didn't find them, has photos from Dale and Theo as well.

    1. By Dries Schellekens () on contains the pictures by markus@

  3. By Matt () on

    This one stuck out in my mind as a little weird, and begs 2 questions:

    How did they connect a speaker/stereo to the lpr port to send music to it?

    Why not set up some other type of streaming server? it might be overkill but i would never have thought to set up a print queue to play music.

    1. By Patrick () on

      LPR can be used for general purpose queueing. There is nothing that says you need to pipe the output of a shared queue to a printer. In fact, it's not hard to do in samba, so even windows people can join in. All you have to do is change the "print command" line to something like "mpg123 %s; rm %s". Pretty straight forward.

      1. By Matt () on

        Yeah the concept isn't all that foreign, i had never considered using lpr for anything but printing. A queue is a queue i guess, regardless of what goes in it :)

        1. By Sam () on

          That's why they develop OpenBSD, and you don't.

          1. By Matt () on

            touché :) it was just a question, I wasn't challenging their decision, just trying to understand it.

      2. By jose () on

        at work we use lpr as a priority based queue for our build system. if we have to rush a special build to the top that's easy to do, since we leave some headroom in the default priority. we submit jobs as a simple wrapper script. lpr -Pbuild_host ... :)

        this is also after investigating a bunch of other solutions, none of which made any sense at all. i'm surprised more people don't do this ...

    2. By Anonymous Coward () on

      The LPT port has been used to produce sound for ages. It's basicly an 8bit i/o port, which can be used as a digital-to-analog (DAC) converter, in other words, a sound card.

      I've attached a post from 1993 about a stereo sound card. The simplest version of these only used 8? resitors.


      From: Infi (weis@elf.stuba.sk_(Michal_Weis)
      Subject: Stereo on one LPT

      View this article only
      Date: 1993-09-01 03:42:54 PST

      Here is the easy one scheme for stereo D/A convertor on one LPT
      (created by me). It's based on classic resistor-D/A....

      here it is:
      | 74373 |
      (02) ----+----------------- (03) + 1D 1Q + (02) ------- |
      (03) ----|-+--------------- (04) + 2D 2Q + (05) ------- |
      (04) ----|-|--------------- (07) + 3D 3Q + (06) ------- |
      (05) ----|-|-|-+----------- (08) + 4D 4Q + (09) ------- | ANY ---> left out
      (06) ----|-|-|-|-+--------- (13) + 5D 5Q + (12) ------- | D/A
      (07) ----|-|-|-|-|-+------- (14) + 6D 6Q + (15) ------- |
      (08) ----|-|-|-|-|-|-+----- (17) + 7D 7Q + (16) ------- |
      (09) --+-|-|-|-|-|-|-|-+--- (18) + 8D 8Q + (19) ------- |
      (11) --+ | | | | | | | | +- (01) + OE G + (11) ----+
      (25) -+--|-|-|-|-|-|-|-|-+- (10) + GND +5V + (20) --+ |
      | | | | | | | | | +---------+ | |
      | | | | | | | | | | |
      | | | | | | | | | +---------+ | |
      | | | | | | | | | | 74373 | | |
      | +-|-|-|-|-|-|-|--- (03) + 1D 1Q + (02) --|-|-- |
      | +-|-|-|-|-|-|--- (04) + 2D 2Q + (05) --|-|-- |
      | +-|-|-|-|-|--- (07) + 3D 3Q + (06) --|-|-- |
      | +-|-|-|-|--- (08) + 4D 4Q + (09) --|-|-- | ANY ---> right out
      | +-|-|-|--- (13) + 5D 5Q + (12) --|-|-- | D/A
      | +-|-|--- (14) + 6D 6Q + (15) --|-|-- |
      | +-|--- (17) + 7D 7Q + (16) --|-|-- |
      | +--- (18) + 8D 8Q + (19) --|-|-- |
      | +- (01) + OE G + (11) --|-|-+
      | +- (10) + GND +5V + (20) --+-|-|------ +5V
      | | +---------+ | | | >- adaptor
      +------------------+--------------------------|-|-|------ GND /
      | | | |
      | +---------+ | | |
      +--- (07) + GND +5V + (14) -------------------+ | |
      (01) ----- (01) + 1A 1Y + (02) -------+ | | |
      (14) ----- (03) + 2A 2Y + (04) -----+ | | | |
      | 7404 | | | | | |
      +---------+ | | | | |
      +------------------+ | | | |
      | +-----------------+ | | |
      | | | | |
      | +-o | | |
      | |o-----------------------|-+ |
      | +--o | | |
      | | | stereo/ | |
      | | | mono switch | |
      +-|--o| | |
      | o-----------------------|---+
      +--o |
      | 4k7 |

      legend: | | |
      --- wire | wire --|-- not connected --+-- connected
      | | |

      -///- resistor o
      o | dual
      | switch

      - 74373 is a octal d-type transparent latches with 3-state bus-driving
      outputs. They are so cheap (I believe it cost less than $1).
      There are many versions of 373-latches, you can buy any of them
      (eg 54/74/84 starts, L/S/LS/ALS technology). The most common
      variant is 74LS373, but ANY variant can be used as well!
      - 7404 are simply invertors, but only two of them are used.
      You can also use a 54/74/84, S/L/LS/ALS vesion as well!
      - you will need an external adaptor for circuits. yes, it can be
      a problem, but I recoment you a highly-stabilized adaptor (don't
      use a power from your PC). When adaptor is not so good, it will
      be heard in result sound (e.g. in your PC with classic resistor
      D/A there is such a beep sound, when all is in silence, and
      this bee depend on hard-drive, floppy-drive and so on working).
      When a high-stabilized adaptor is used, result sound is better
      than on any normal sound-card! (e.g. SB and so on!!!)
      - the dual switch is a mono/stereo switch, when is in mono position,
      this D/A is exactly like a normal D/A (so you don't need two magic
      boxes for mono and for stereo D/A - just to switch...
      - the value of resistor is only aproximatly. it can be plus/minus 2k,
      and also it is not required at all, but I don't think that it is
      so correctly to connect 5V directly to chip's pin (but I'm not a
      electric engeneer, so ..... as you want ...)
      - ANY D/A convertor is exactly any convertor, but it MUST be 8-bit unsigned
      convertor (but many of converors are exacly 8bit unsigned, so there is
      not a problem ;-) I'm using a resistor based convertor (this scheme
      was published many times, so why to put it here once again).
      - there may be reversed left&right channels, because I don't remember
      the pin layout exactly. If it is reversed, simply exange left&right
      wires ;-)
      - OE on 373 latches meens output-enable signal. When this signal become
      true, the 373 chip will disconnect latches from output (this is used
      in bus-drivers). In our magic box this pin is grounded -> to be always
      connected to D/A.

      how does it work:
      G pins (11) on 373 chips are used to store the value in latches (data
      are valid). When it is true, the same values are stored in latches
      (generaly 8bit memory) and aviable on output. If you switch this magic
      box to mono mode, it will just connect the power to G pins, then
      all values on input are stored in both (left&right) channels and played.
      When it is in stereo mode, pins (01) and (14) are the 'ennable bits'
      for left and for right channel. When one of them is activated (or both
      at once), the value on LPT port is stored in specified latch (left
      or right - accoding activator bit).

      how to use this D/A convertor in stereo mode in your own software:
      the question is how to send a value to left and to right channel.
      At first you need to know what is a number of LPT's port. It is usualy
      378h or 3BCh for LPT1. You can obtain this value at adress 0:408h+(LPT-1)*2
      LPT_data_port = word ptr 0:[408h] for LPT 1
      the adresses are: 0:408 for LPT1 0:40A for LPT2
      0:40C for LPT3 0:40E for LPT4
      Also you need a LPT's command port. It is +2 to LPT port:
      LPT_command_port = LPT_data_port + 2
      EG, in our example we'll use a values 378 and 37A.
      now the sening values to D/A. Send the left (or right? I don't remember ;-)
      LPT_command_port not presented
      LPT_data_port = 0x80
      if (LPT_status_port and 0x80) == 0x80 -> not presented
      LPT_data_port = 0
      if (LPT_status_port and 0x80) == 0 -> not presented
      may be the value is reversed (I cann't test it now), if this routine
      will say 'not presented', just reverse the values in compare (00 0x80)
      or replace == to != (is equal to is'n equal).
      that's all for programming. I don't know how other programs operate
      with stereo D/A on one LPT, I didn't debug them (only MP a little,
      and his routines are aproximatly like this). This routines was designed
      by me, and it works verrry well :-))

      keep cool. enjoy.
      This circuit was designed by me, it's so cheap and easy to buid. if you
      have some problems with it or problems with programming this, contact

      1. By jose () on

        while that's amusing and all, all that you have to do on the receiving side is pipe the output not through any physical device but through something like "mpg123". no need for anything special.

        1. By Anonymous Coward () on

          .....I get the lpr filter stuff, but that's about as boring at using procmail to play .mp3 attachements.

          1. By Anonymous Coward () on

            OK, so I'm an idiot, because I don't get the lpr filter stuff; I've tried some variations, but still can't get it to work. jose said "lpr -Pbuild_host" but that looks like it'll just print the script. What am I missing here? Do you have to be printing to a remote box?

            1. By Anonymous Coward () on

              On the print^H^H^H^H^Hmusic server use this setup :


    3. By Anonymous Coward () on

      Years ago, I had a "Speech Thing (tm)", which was basically a small dongle which plugged into the lpr port and off that a cable connecting to an amplified speaker.

      The quality was shocking, at best. ~8 bit, low sample rate, seemingly NO anti-aliasing filtering.

      Curious, I pulled it apart...

      It was just an R2R ladder Digital to Analog Convertor, with the output amplified into a speaker.

      High quality R2R ladders can be purchased in resistor pack form, which is what the Speech Thing appeared to be using.

    4. By Patrick () on

      Sorry to reply twice to the same message. But, for anyone interested, I've put a nice little article on how to get lpd to play mp3's up on my website at:
      Some things might be a little linux specific (no sound card in my openBSD box) but I can spool from openBSD box and it shouldn't be hard to translate to openBSD.

  4. By Matt () on

    Something random I just noticed: there are no more IP addresses identifying the posters starting with this thread. Is this a policy change or just a glitch?

      1. By Anonymous Coward () on


  5. By Anonymous Coward () on
    seem to have gone away. Sad.

    1. By Dries Schellekens () on

      They ask for a faster mirror.
      Note: the full-resolution images were removed from brad's server ( due to the high traffic they generated, so 640x480 resolution versions are served through my residential DSL (128 kbps uplink) again (reload index pages if you get 403s). If you want to run a faster mirror, please let me know.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]