Meta tags:
Headings (most frequently used words):
the, of, and, for, 2026, you, from, software, is, but, on, your, now, do, to, implementation, bsd, it, friday, yes, later, here, manufacturers, as, an, other, hand, if, why, typing, then, important, build, what, engineers, has, bill, materials, sbom, we, tools, in, future, up, at, 25, posts, internet, rfc1149, that, grumpy, guy, thursday, october, wednesday, july, 22, give, couple, weeks, june, 19, than, think, european, union, sets, standard, stewards, developers, duties, open, source, developer, or, steward, are, manufacturer, historically, just, bit, suddenly, turned, instead, 10, 000, chimps, dependencies, became, thing, upping, engineering, game, learn, those, who, things, libre, package, management, already, introducing, re, real, sparky, have, new, artifact, tool, insight, transparency, suits, gui, dependency, tracking, state, play, projects, bright, engineer, resources, further, study, development, may, 15, old, setup, maintained, with, much, love, care, time, move, wait, finally, course, false, start, task, analysis, actual, saturday, april, about, me, buy, book, pf, upcoming, talks, blog, archive, total, pageviews, popular, links, nice, sites, subscribe, unique, piece, history, packet, auction, christie, how, artificial, intelligence, slowly, drowning, its, own, droppings, can, eu, cyber, resilience, act, done, opensmtpd, mail, server, carrier, pigeon, protocol, years,
Text of the page (most frequently used words):
the (885), and (380), that (229), for (227), with (133), you (107), are (99), was (92), software (83), not (65), but (65), from (62), this (60), source (59), have (56), some (53), other (52), your (50), more (50), all (47), openbsd (47), any (47), code (47), open (46), will (45), one (44), also (43), mail (43), 2026 (40), cra (40), time (40), would (37), what (36), hansteen (36), which (36), peter (35), #internet (34), here (33), their (33), had (33), were (33), has (32), tools (32), only (32), free (30), first (30), april (30), sbom (30), available (29), can (26), there (26), who (26), products (26), system (25), even (25), project (25), pigeon (24), where (24), such (24), been (23), likely (23), its (23), they (23), now (22), resilience (22), carrier (22), opensmtpd (22), after (21), may (21), out (21), rfc1149 (21), than (21), several (21), package (21), materials (21), most (20), linux (20), set (20), part (20), into (20), exim (20), developers (20), about (19), july (19), cyber (19), act (19), well (19), via (19), things (19), product (19), bill (19), work (18), security (18), years (18), those (18), could (17), does (17), people (17), while (17), when (17), information (17), under (17), book (16), full (16), share (16), still (16), dependencies (16), smtpd (16), european (16), filter (15), october (15), before (15), pigeons (15), group (15), new (15), both (15), how (15), quite (15), domains (15), union (15), digital (15), two (14), around (14), use (14), december (14), bsdly (14), implementation (14), development (14), reading (14), bsd (14), find (14), article (14), needed (14), site (14), norwegian (14), then (14), need (14), parts (14), enough (14), large (14), server (14), doas (14), important (14), network (13), packet (13), bergen (13), management (13), freebsd (13), see (13), list (13), own (13), way (13), bit (13), few (13), considered (13), thing (13), name (13), come (13), tool (13), build (13), elements (13), running (12), make (12), good (12), actually (12), know (12), why (12), think (12), web (12), net (12), later (12), least (12), force (12), packets (12), setup (12), base (12), useful (12), rspamd (12), required (12), legislation (12), february (11), day (11), wrote (11), com (11), rfc (11), these (11), made (11), world (11), projects (11), vegard (11), engineering (11), start (11), like (11), take (11), used (11), data (11), spamd (11), rcctl (11), etc (11), conf (11), local (11), engineers (11), quality (11), incidents (11), email (10), too (10), august (10), piece (10), short (10), operating (10), systems (10), went (10), our (10), end (10), kind (10), without (10), hand (10), test (10), various (10), place (10), run (10), during (10), each (10), specification (10), material (10), intended (10), known (10), action (10), users (10), sboms (10), legal (10), foundation (10), based (10), comments (9), ever (9), did (9), november (9), done (9), interested (9), recent (9), early (9), standards (9), next (9), finally (9), actual (9), something (9), just (9), fairly (9), clamav (9), including (9), should (9), relevant (9), packages (8), much (8), off (8), again (8), read (8), june (8), january (8), history (8), classic (8), published (8), resources (8), version (8), note (8), language (8), couple (8), setting (8), networks (8), fact (8), course (8), requirements (8), user (8), level (8), them (8), 2001 (8), over (8), rfcs (8), possible (8), obvious (8), generate (8), best (8), spamassassin (8), configuration (8), specific (8), key (8), yourself (8), move (8), dependency (8), manufacturers (8), components (8), bom (8), intheweights (8), written (7), almost (7), started (7), laptop (7), want (7), march (7), blug (7), labels (7), posted (7), 2005 (7), grumpy (7), guy (7), soon (7), mainly (7), activities (7), found (7), somewhat (7), number (7), paper (7), table (7), three (7), real (7), easy (7), days (7), able (7), among (7), activity (7), already (7), look (7), long (7), taken (7), others (7), another (7), very (7), component (7), filtering (7), disable (7), industry (7), engineer (7), supply (7), compliance (7), proprietary (7), developer (7), let (7), bugs (7), strength (7), manufacturer (7), posts (6), service (6), standard (6), port (6), once (6), edition (6), auction (6), september (6), unique (6), protocol (6), pieces (6), conference (6), looking (6), old (6), notes (6), year (6), future (6), get (6), relay (6), far (6), alan (6), say (6), efforts (6), being (6), within (6), last (6), making (6), top (6), took (6), session (6), traffic (6), scanners (6), remember (6), lists (6), planning (6), idea (6), probably (6), came (6), order (6), document (6), implemented (6), practical (6), dated (6), states (6), sure (6), either (6), greytrapping (6), maintenance (6), enable (6), services (6), longer (6), pki (6), match (6), stop (6), delivery (6), keep (6), support (6), organizations (6), transparency (6), themselves (6), becomes (6), organization (6), specifications (6), whether (6), right (6), hallucinations (6), models (6), says (6), assessment (6), physicist (6), awesome (5), links (5), got (5), yes (5), modern (5), popular (5), 2020 (5), directly (5), complete (5), home (5), pinterest (5), facebook (5), blogthis (5), trackers (5), formatting (5), might (5), selected (5), thought (5), same (5), task (5), ran (5), item (5), file (5), initial (5), rather (5), turned (5), check (5), lead (5), point (5), reasonable (5), testing (5), ping (5), page (5), smtp (5), roughly (5), decided (5), talk (5), together (5), because (5), since (5), formal (5), clear (5), training (5), 1st (5), include (5), secure (5), answer (5), question (5), cases (5), particular (5), purpose (5), process (5), greylisting (5), earlier (5), default (5), simple (5), similar (5), features (5), lines (5), skapet (5), listen (5), outbound (5), back (5), combination (5), trust (5), public (5), results (5), happened (5), episodes (5), second (5), behind (5), fully (5), tracking (5), role (5), overview (5), cyclonedx (5), worth (5), chain (5), proper (5), post (5), along (5), however (5), sets (5), assurance (5), market (5), insight (5), generating (5), possibly (5), output (5), present (5), built (5), became (5), context (5), supplier (5), regulation (5), seems (5), author (5), solar (5), highest (5), website (5), experiment (5), nice (4), don (4), handle (4), high (4), works (4), guide (4), going (4), help (4), learned (4), state (4), tech (4), 2021 (4), norway (4), https (4), tcp (4), networking (4), ietf (4), track (4), slides (4), form (4), oriented (4), story (4), million (4), arrived (4), different (4), scanner (4), main (4), yet (4), printer (4), engen (4), computers (4), times (4), generated (4), appropriate (4), sufficient (4), worked (4), small (4), makes (4), kernel (4), date (4), included (4), late (4), close (4), simply (4), across (4), ended (4), writing (4), myself (4), 1149 (4), major (4), turn (4), mentioned (4), typing (4), search (4), pretty (4), having (4), value (4), mind (4), necessary (4), upon (4), itself (4), lot (4), stuff (4), ready (4), reason (4), seen (4), references (4), practices (4), maintained (4), related (4), lightly (4), kept (4), transition (4), else (4), domain (4), secondary (4), aliases (4), dkimsign (4), tls (4), addition (4), exchanger (4), involved (4), facing (4), third (4), stage (4), provide (4), leave (4), netbsd (4), cybersecurity (4), means (4), individual (4), items (4), island (4), environments (4), owasp (4), curated (4), spdx (4), reference (4), text (4), study (4), expected (4), cdxgen (4), changes (4), largely (4), improving (4), dependencytrack (4), common (4), stewards (4), stakeholders (4), unless (4), hardware (4), trade (4), secret (4), put (4), collection (4), significant (4), commercial (4), reporting (4), libraries (4), deliveries (4), write (4), case (4), incident (4), field (4), whatever (4), profit (4), associated (4), territories (4), droppings (4), artificial (4), living (4), relative (4), geologist (4), grok (4), firewall (4), usd (4), waitzman (4), atom (3), sites (3), problem (3), exchange (3), non (3), password (3), indeed (3), vulnerability (3), currently (3), media (3), focus (3), apparently (3), lessons (3), copy (3), suitable (3), steps (3), bad (3), access (3), total (3), brussels (3), belgium (3), eurobsdcon (3), tutorial (3), night (3), through (3), view (3), programming (3), libre (3), implementations (3), original (3), participate (3), interoperability (3), ten (3), mark (3), carriers (3), events (3), presentation (3), commemorative (3), referenced (3), event (3), aware (3), updated (3), hits (3), stayed (3), left (3), little (3), equipment (3), office (3), plan (3), clean (3), four (3), minutes (3), fourth (3), sent (3), getting (3), tape (3), relaying (3), hour (3), working (3), options (3), man (3), pinged (3), club (3), scheduled (3), given (3), tested (3), printed (3), scanned (3), machine (3), return (3), serious (3), message (3), example (3), printers (3), supported (3), pigeonware (3), technical (3), feature (3), relatively (3), visit (3), thursday (3), meeting (3), become (3), løvstakken (3), meters (3), perhaps (3), down (3), evening (3), meetings (3), seemed (3), surprised (3), usually (3), every (3), datagram (3), 1990 (3), scale (3), usable (3), documents (3), existence (3), gave (3), includes (3), mostly (3), variety (3), bsds (3), dns (3), learn (3), result (3), environment (3), extremely (3), forward (3), safe (3), remove (3), messages (3), log (3), installing (3), readable (3), config (3), entire (3), final (3), minor (3), domains_local (3), relay_for_domains (3), nuug (3), domain_relays (3), relay_from_ips (3), local_mail (3), requires (3), existing (3), formats (3), regime (3), maintaining (3), using (3), inbound (3), sync (3), release (3), ship (3), maintainers (3), content (3), protected (3), play (3), doing (3), developed (3), extent (3), plays (3), enterprise (3), consider (3), documentation (3), signatures (3), further (3), realized (3), international (3), install (3), reach (3), operation (3), syft (3), languages (3), familiar (3), workflow (3), outside (3), readiness (3), emerging (3), starting (3), explore (3), processes (3), interacts (3), command (3), pages (3), suites (3), exist (3), game (3), measure (3), licenses (3), placed (3), bolts (3), interesting (3), manager (3), hms (3), term (3), isolation (3), binary (3), subset (3), suddenly (3), compromise (3), poorly (3), understood (3), designed (3), 000 (3), financial (3), responsibility (3), shortly (3), hope (3), categories (3), qualifying (3), person (3), defined (3), 2027 (3), intelligence (3), confidence (3), academic (3), hallucination (3), entry (3), christie (3), bid (3), david (3), his (3), subscribe (2), isn (2), protection (2), installed (2), life (2), openssh (2), inspection (2), bug (2), wanted (2), really (2), evil (2), knocking (2), easily (2), hail (2), mary (2), cloud (2), succeeded (2), signed (2), yours (2), servers (2), implement (2), nanny (2), civil (2), websites (2), 2009 (2), 2011 (2), 2012 (2), 2014 (2), 2022 (2), 2024 (2), 2025 (2), blog (2), alice (2), sowerby (2), pierre (2), pronchery (2), talks (2), press (2), 4th (2), daemon (2), please (2), www (2), html (2), hacking (2), hacks (2), independent (2), welcome (2), willing (2), tests (2), unable (2), pace (2), auug (2), route (2), adelaide (2), though (2), preferably (2), noted (2), mention (2), pictures (2), received (2), plaque (2), behalf (2), attention (2), favorite (2), odd (2), section (2), description (2), hack (2), afternoon (2), per (2), weeks (2), writeup (2), nothing (2), host (2), headed (2), ourselves (2), scanning (2), hear (2), kjell (2), bird (2), strip (2), character (2), recognition (2), sheet (2), phone (2), calls (2), followed (2), rough (2), house (2), feather (2), lyngbøveien (2), matter (2), satellite (2), saved (2), noon (2), racing (2), filling (2), station (2), meet (2), giving (2), homes (2), explain (2), heard (2), pre (2), except (2), destination (2), moments (2), discussion (2), delivered (2), anything (2), mine (2), exact (2), moment (2), debian (2), tun (2), tap (2), interface (2), luck (2), create (2), flying (2), located (2), kilometers (2), above (2), sea (2), outgoing (2), basically (2), members (2), implementing (2), beers (2), harp (2), cox (2), somebody (2), google (2), contact (2), tended (2), talking (2), irish (2), regular (2), current (2), compliant (2), joke (2), specifies (2), duct (2), scroll (2), separated (2), avian (2), feel (2), ask (2), ranks (2), recommended (2), said (2), publicity (2), statistics (2), issue (2), looked (2), 7th (2), assume (2), created (2), matters (2), org (2), anyone (2), knowledge (2), specified (2), draft (2), called (2), precursor (2), following (2), edited (2), spam (2), thank (2), advice (2), martijn (2), van (2), duren (2), platform (2), low (2), provides (2), numerous (2), reasonably (2), tracked (2), prettified (2), paying (2), wide (2), platforms (2), portable (2), pulls (2), specify (2), showed (2), wider (2), doubt (2), decision (2), configurations (2), especially (2), department (2), relayed (2), follow (2), space (2), pkg_delete (2), var (2), maillog (2), redis (2), previous (2), 380 (2), grep (2), 104 (2), reject (2), greylist (2), modifications (2), names (2), addresses (2), brevity (2), rest (2), fictional (2), proc (2), exec (2), dkimsign_rsa (2), dkim (2), _dkimsign (2), pem (2), relay_domain (2), until (2), outlined (2), statements (2), reached (2), conclusion (2), tables (2), pairs (2), receive (2), locally (2), analysis (2), logic (2), records (2), primary (2), favor (2), newer (2), unfortunately (2), majority (2), party (2), syntax (2), consequence (2), useless (2), changed (2), official (2), discussed (2), discovered (2), generally (2), upgrades (2), exposed (2), originally (2), separate (2), care (2), replacement (2), integral (2), 21st (2), onwards (2), friday (2), terms (2), community (2), crucial (2), elsewhere (2), presentations (2), tea (2), browse (2), linked (2), gives (2), focused (2), challenge (2), offer (2), treated (2), potentially (2), analogs (2), technology (2), enters (2), initiatives (2), reasons (2), capable (2), sufficent (2), javascript (2), unlikely (2), traditionally (2), building (2), tree (2), between (2), recommend (2), license (2), comes (2), creating (2), suits (2), request (2), runs (2), colleagues (2), step (2), exploring (2), often (2), instead (2), adding (2), artifact (2), definition (2), standardization (2), progress (2), customers (2), incompatible (2), conforms (2), poke (2), nuts (2), files (2), knows (2), utilities (2), frameworks (2), hit (2), producing (2), bulk (2), circumstances (2), positioned (2), depending (2), additional (2), entirely (2), practice (2), direct (2), typically (2), serves (2), plans (2), design (2), queen (2), elizabeth (2), detailed (2), fields (2), subject (2), anecdote (2), aircraft (2), navy (2), entries (2), nuclear (2), reactor (2), landed (2), contract (2), contexts (2), everything (2), humans (2), depends (2), functionality (2), becoming (2), upping (2), tune (2), pdes (2), xkcd (2), struck (2), secrets (2), lesson (2), defects (2), repair (2), potential (2), production (2), consulting (2), sunburst (2), distribution (2), malware (2), widely (2), unknown (2), eyes (2), age (2), closed (2), exploitable (2), twenty (2), eventually (2), keyboards (2), away (2), infrastructure (2), keeping (2), hidden (2), phenomenon (2), society (2), correctness (2), exploit (2), fair (2), visible (2), selling (2), hands (2), unimportant (2), parameters (2), enforcement (2), responsible (2), category (2), markets (2), maintain (2), authorities (2), general (2), basis (2), recital (2), steward (2), roles (2), ensures (2), natural (2), persons (2), businesses (2), executive (2), 14028 (2), nation (2), area (2), ensure (2), safety (2), probability (2), feedback (2), llm (2), checked (2), give (2), publications (2), slowly (2), drowning (2), confident (2), layer (2), unverified (2), online (2), copyright (2), risen (2), geophysicist (2), qwen3 (2), contributions (2), geophysics (2), earth (2), sciences (2), specializing (2), sun (2), chromosphere (2), region (2), coronal (2), heating (2), gpt (2), technologist (2), advocacy (2), scored (2), update (2), screenshots (2), mastodon (2), vanity (2), five (2), transmitted (2), described (2), inc, theme, powered, blogger, undeadly, journal, takeaway, pretend, appointment, blame, compatibility, issu, microsoft, buys, equivalent, characters, save, trouble, ports, anymore, easier, wee, purported, closer, reports, facts, wrong, rea, wasn, surprising, origins, overlord, cheap, pflow, nfsen, robots, guessable, repurposed, guess, unicode, against, ridiculous, odds, gaining, botnet, dubbed, staying, unde, continuing, tradition, michael, lucas, absolute, 2nd, auctioning, 3rd, firewalls, transform, fell, tories, tory, kinds, civi, porn, blocks, kids, liberties, pageviews, 2006, 2007, 2008, 2010, 2013, 2015, 2016, 2017, 2018, 2019, 2023, archive, city, keynote, totuorial, massimiliano, stucchi, tom, smyth, toolset, cramas, regulations, gift, hva, har, kan, gjort, gjøre, deg, upcoming, bookstores, starch, buy, profile, puffyist, charmer, penguin, wrangler, rants, sanity, lack, contacting, rentageek, blogspot, nostarch, older, implementers, enactments, children, acting, cpip, proceeded, leisurely, avaliable, interoperable, besides, entice, partners, arrange, needs, accompanying, anniversary, flight, developments, interspecies, handoff, protocols, runners, prose, hurry, catch, plane, followup, art, reused, archived, internationally, mainstream, bbc, stories, publication, carried, innovation, salon, eric, raymond, naming, wonderful, millennium, meaning, jargon, sunday, slashdotting, previously, 200, aquainted, feeling, monday, tapering, hundreds, thousands, respond, unplug, packing, ride, thanking, unload, returning, owners, participators, directions, hours, reconvene, håvard, tax, quota, suffice, combined, remaining, managed, escape, fitted, payload, unexpectedly, condition, simultaneously, leading, congestion, queue, startled, intensive, flapping, wings, attempts, den, sticky, rolled, flattened, optical, unreliable, discover, smoothing, ruler, edge, attaching, placing, improved, significantly, mobile, location, largish, flock, joined, land, roof, affair, proceeding, wing, crew, passed, felt, cheating, rung, gsm, told, documenting, exptected, arriving, bråtet, terrasse, nobody, slight, anxiety, waiting, immediately, smaller, indicated, amount, drive, vain, tried, national, conversation, sounded, poor, soul, grew, frustrated, confused, courtesy, preparatory, dry, plugging, disconnected, scripts, initiating, seconds, simulate, conditions, volunteer, helpers, circle, handing, sending, connection, handshakes, responses, calculated, transferring, icmp, prove, technique, wouldn, fiddle, oversize, mtus, toshibas, laserjet, clones, forget, agfa, usb, flawlessly, plugged, dist, upgrade, stock, resolved, stable, gnu, universal, module, gocr, http, jocr, sourceforge, readme, details, kernels, device, applications, handles, userspace, feeding, penguins, aquarium, fjords, sigthseeing, better, factor, racers, lived, range, flies, distance, mountain, peak, 477, elevation, 150, 300, birds, svein, arne, rosendal, suburban, 6th, karl, magnus, kolstø, persuade, great, candidates, uberhacker, lat, attraction, himself, spectacular, attract, morning, engine, brevduer, core, organizers, thursdays, less, speakers, corner, bar, themed, stocking, guinness, stout, ringnes, pilsner, beer, famous, resumed, spring, 2000, month, summer, christmas, break, months, correctly, boast, nowhere, near, whatsoever, transfer, faster, remarkably, appendix, translating, 1993, 1994, grins, thinking, tough, numbingly, clue, gems, 2003, 3514, homed, sounds, doesn, hacker, ingredients, receipt, removed, optically, electronically, transmittable, hexadecimal, octet, whitestuff, blackstuff, wrapped, leg, band, edges, heart, frame, format, dying, join, issued, 28th, blurb, experimental, earliest, implements, proposed, degree, takes, successfully, historian, graph, resolve, today, supersede, cancel, sum, 4234, crocker, entitled, 1969, dang, looks, missed, fool, opportunity, technically, audience, anyway, formally, pass, recommendations, codified, holds, conferences, locations, acts, coordinating, requests, briefly, toshiba, computer, communications, sydney, performed, unix, participating, historical, saturday, migrate, mailserver, covers, topics, extensive, treatment, minimal, experience, efficient, outer, shield, infrequently, eighteen, weirdness, distributions, filters, ones, blocklists, sources, dnsbl, characterized, ability, iterations, radically, approaches, problems, useable, solid, decisions, latecomers, applaud, pleasantly, transistion, proven, prospect, truly, enhancement, friendly, considerably, complicated, satisfied, flows, instructions, tail, 500, monitoring, fails, retrieve, pristine, cvs, restore, mailer, usr, sbin, disabling, par, readability, configure, comment, stripped, length, discard, add_header, null, custom, force_actions, threshold, phishing, flags, no_threshold, actions, logs, observation, nxdomain, plus, elided, mx1, lamasti, 127, 192, 198, 100, 203, 113, db8, private, rsa, cert, certificate, privkey, socket, 465, smtps, submission, mbox, alias, src, rfc3849, rfc5737, copied, delete, packagename, prerequisites, pull, pkg_add, candidate, signing, switched, dkimproxy, windows, functional, dense, sense, alternative, routing, forwarding, rules, limited, easiest, conveniently, allow, exchangers, compatible, converted, certificates, letsencrypt, dmarc, spf, chosen, convert, accommodate, guides, rule, thumb, utterly, overhaul, telling, dug, experimenting, false, holdout, dropping, removing, medium, severe, flaws, codebase, fixes, appear, wait, served, reliable, front, hosts, routine, adjustments, machines, perform, necessarily, filtered, duty, instrumented, hints, sane, mxes, recipe, love, setups, friends, complex, moving, require, preparation, properly, hectic, replaced, completed, drain, energy, sendmail, tempting, prime, convenient, incoming, signal, path, introduced, upgrading, describes, ago, definite, deadline, century, image, credit, eurpean, cves, participants, ecosystem, applies, mean, bjørge, solli, input, insights, olle, johansson, fosdem, buyer, summary, api, brewing, revolutionizing, chains, techies, copious, center, ntia, mother, openssf, video, courses, minute, chunks, regulatory, orc, portal, filled, introduction, registration, badge, lots, nominally, taking, understanding, lfel1001, automating, lfel1007, earned, afforded, rise, burdens, openly, transparently
Text of the page (random words):
ically different approaches to known problems that result in a more secure and more useable product to my mind this is the mail server and the operating system for the future if you are interested in setting up smtpd with more filters or other ones quite a few are available including such things as opensmtpd filter dnsbl which pulls in dns blocklists from the sources you specify opensmtpd is available on a wide variety of platforms including various linux distributions and bsds such as freebsd via its portable variety i have kept this configuration rather minimal mostly because in my experience the greylisting and greytrapping spamd is a very efficient and low maintenance outer shield for any mail service if you are interested greytrapping the infrequently updated eighteen years of greytrapping is the weirdness finally paying off also tracked prettified provides more reading material via its numerous links than you could reasonably take in during even a long evening if you would rather have a book that covers more networking topics with openbsd and freebsd as the platform and includes a fairly extensive treatment of spamd the book of pf now in its fourth edition is for you good night and good luck i want to thank martijn van duren for useful advice while working on this article opensmtpd is the mail server for the future is 2026 peter n m hansteen published 2026 05 15 you might also be interested in reading selected pieces via that grumpy bsd guy a short reading list also here posted by peter n m hansteen at 08 28 no comments email this blogthis share to x share to facebook share to pinterest labels clamav email exim greylisting greytrapping mail mail server mailserver migrate from exim to opensmtpd openbsd openbsd spamd opensmtpd rspamd smtp spam spamassassin spamd saturday april 25 2026 the implementation of the carrier pigeon internet protocol rfc1149 25 years later 2005 2026 peter n m hansteen historical note we implemented the carrier pigeon internet protocol rfc1149 with the full scale test performed on april 28 2001 the following are my lightly edited notes for a talk i gave to the adelaide unix user group in october 2005 on the way to participating in the auug 2005 conference in sydney with the first pf tutorial which in turn is a precursor to the book of pf now in its fourth edition note this piece is also available without trackers but classic formatting only here good evening my name is peter hansteen i was part of the project group at the bergen linux user group which was the first and to my knowledge the only group to implement and test internet communications via avian carriers as specified in the internet draft standard called rfc 1149 in fact my laptop not this one but a toshiba which i used every day for another couple of years after the rfc1149 implementation is probably the only computer in existence which has been pinged via carrier pigeon now the obvious question is why would anyone want to do such a thing well the purpose of this talk is among other things to answer that question but first i think it will be useful to briefly explain what an rfc is and how the internet standards process works this is a fairly technically oriented audience so i assume you have seen some rfcs and heard references to these documents anyway the rfcs actually requests for comments are not formally standards but quite a lot of them would pass for one a large number of rfcs are either current best practices or recommended standards the standards recommendations and best practices codified in the rfcs are created and maintained by the internet engineering task force which among other things holds conferences three times a year in locations all over the world and acts as the coordinating force for technical matters related to the internet you can read all about it at the ietf web site https www ietf org the last time i looked on october 7th 2005 there 4234 rfcs in total the last one dated october 2005 while rfc number 1 written by s crocker and entitled host software is dated april 7th 1969 dang it looks like they missed the april s fool opportunity that year most rfcs are written simply because they are needed usually to resolve some particular issue taken together they are a large part of the reason why the internet works and is usable today some supersede others and yet others may pretty much cancel each other out but taken together they form the sum of what the internet is at the specification level as i said in the publicity blurb for this talk there has been quite a lot of experimental stuff on the net since the earliest days and in some cases the code which implements a proposed standard is ready to the degree that code ever is before the rfc specification is done in other cases it takes years for a specification to be successfully implemented and tested i don t have the complete statistics but at some point in the future i m pretty sure that an internet historian will be able to generate a really nice graph of the data now i can feel you are dying to ask why did it take so long for rfc 1149 to join the ranks of implemented if not recommended standards the document was issued on april 1st 1990 and the first full scale test of the first implementation took place on april 28th 2001 why did it take so long to answer that question we need to take a look at the document itself dated april 1st 1990 the heart of the specification is what you find in the frame format section which states the ip datagram is printed on a small scroll of paper in hexadecimal with each octet separated by whitestuff and blackstuff the scroll of paper is wrapped around one leg of the avian carrier a band of duct tape is used to secure the datagram s edges and upon receipt the duct tape is removed and the paper copy of the datagram is optically scanned into a electronically transmittable form that sounds easy doesn t it any hacker would have the necessary ingredients which are at least two computers check at least two printers check at least two scanners check and enough carrier pigeons homed on where the computers printers and scanners are located the last bit is the tough one that and of course if it isn t already mind numbingly obvious it was all a joke the first clue is the date april 1st there are several other rfcs date april 1st in various years and most them were intended to be serious but they also include such gems as rfc 3514 from april 1st 2003 which specifies how and when to set the evil bit for network packets that one if i remember correctly was in fact implemented the same day in freebsd current which could then again boast to be the most rfc compliant operating system out there looking at rfc 1149 it is pretty obvious that it is nowhere near having any practical value whatsoever almost any other way to transfer network packets you can think of will be faster but the specification is remarkably clear and well written i remember reading rfc1149 for the first time as an appendix to some tcp ip training material i was translating in 1993 or 1994 after a few grins i remember thinking that it could probably be done so it was a fairly famous document when we decided to do an actual implementation the bergen linux user group had resumed activity in the spring of 2000 with regular meetings scheduled for the last thursday of every month except summer and christmas break months june july and december the core of organizers have tended to meet at my office for planning activities most thursdays we would have a more or less formal meeting planning the next few meetings talking about possible activities and speakers and so on just around the corner from where i work was an irish bar the harp that is to say irish themed and stocking guinness stout as well as the regular norwegian ringnes pilsner beer that s where we would usually go for a few beers after we were done with the planning bit the idea of actually implementing rfc 1149 probably first came over beers at the harp this was around the time when most of the serious planning activity in blug was about linux kernel uberhacker alan cox visit which was scheduled for lat april 2001 we thought that alan would be a major attraction by himself but we also thought we needed something spectacular in order to attract attention and get people to turn up at the meetings so somebody mentioned april first rfcs and since the idea seemed a good one the next morning too we decided that rfc1149 was the one if we could only find pigeons we were surprised how easy that was typing brevduer bergen into a web search engine probably google turned up the web site of a pigeon racing club in bergen with enough contact information for us to make contact the first rfc1149 birds of a feather session took place at svein arne rosendal s house in suburban bergen on the evening of march 6th 2001 the minutes of that session is available on the web basically we were three blug people karl magnus kolstø vegard engen who ended up writing the code and myself we were able to persuade the pigeon people that it would be a great idea to participate in the project and they went on to list a few likely candidates from among the club members the idea was that it would be better if the two pigeon homes were rather close together simply because a flying time could become a factor i think it took only a few days before they had located two pigeon racers who lived within reasonable range of each other i think the as the bird flies distance was around three kilometers across the small mountain løvstakken the peak of løvstakken is 477 meters above sea level but the most likely flying route for the pigeons would take them from an elevation of roughly 150 meters up to perhaps 300 then down to around 50 meters above sea level for the outgoing packets and of course the other way around for the return traffic we set the date and time and went on to planning the other parts of alan s visit these included feeding the penguins at bergen aquarium a fjords sigthseeing day the thursday user group meeting with alan giving a talk and finally the pigeons test vegard wrote pigeonware in late march or early april now for the technical details linux kernels version 2 4 and later feature a tun tap device interface which makes it relatively easy create applications such as pigeonware which handles network traffic via a userspace daemon the pigeonware readme file lists the package requirements linux kernel v2 4 x with the universal tun tap interface as a module gocr http jocr sourceforge net printer supported under linux scanner supported under linux pigeons some luck what we used were vegard s laptop and mine both toshibas and both running debian gnu linux the printers were hp laserjet clones i forget which exact makes the scanners were agfa usb scanners which worked flawlessly from the moment they were plugged in on my machine i needed to do a dist upgrade from stable to testing and a more recent kernel than the stock debian one i remember some dependencies needed to be resolved by hand but it did work out in the end now we had had some serious discussion of what kind of traffic we wanted to test with would not sending an email message to delivered by pigeon be an appropriate test for example well to set up a full tcp ip connection for an smtp session with all handshakes and responses we calculated it would take roughly 25 network packets that is 25 pigeons before we start transferring the actual message so after a bit of discussion we decided that a ping session all icmp would be sufficient to prove that the technique worked ping packets are small too so we wouldn t need to fiddle with oversize mtus or anything this is one of the actual packets we generated during a test run 45 00 00 54 00 00 40 00 40 01 20 a7 0a 00 03 02 0a 00 03 01 08 00 fc 36 84 6b 01 00 cf 15 e7 3a cf 09 06 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 this is from the pre pigeon dry run testing at my office we tested the setup by plugging it all in except the pigeons disconnected the computers from all other networks ran the setup scripts and then initiating a ping session it would take a few seconds for the first page to be printed to simulate real world conditions one of the other volunteer helpers would take the sheet of paper circle the table a couple of times before handing it off to be scanned the packet was scanned at the destination machine and after a few moments the return packet would be printed some pictures from the preparatory testing courtesy vegard engen the man from the pigeon racing club had indicated a filling station which would be a good place to meet at 10 30 giving us a reasonable amount of time to drive people and equipment to the two pigeon homes and set up in time for the test scheduled for 12 noon while at the filling station vegard in vain tried to explain the project to one of the national tv networks in fact as the conversation went on it sounded to us who heard only one part of course that the poor soul at the other end grew more frustrated and confused the more information he was given arriving at the first pigeon home bråtet terrasse at first nobody was home this lead to a slight anxiety almost to the point where various plan b options were considered when the man we had been waiting for turned up setting up the main base with vegard s laptop a scanner and a printer started almost immediately and a smaller group headed for lyngbøveien to set up the satellite base the place to be pinged setting up in lyngbøveien was a matter of only a few minutes and the satellite crew ran a couple of test packets saved from the night before to check that the setup was still working noon passed and ok it felt a bit like cheating we rung the main base via gsm phone to find out if the first packet had been sent not yet we were told the documenting took a little more time than exptected several more mobile phone calls followed relaying information about the number of pigeons sent and the rough location of the largish flock they had joined after a little more than an hour a pigeon turned up only to land at the top of the roof kjell s house is a three story affair and proceeding to clean the odd wing feather kjell made several attempts at getting the bird to find its way to the pigeon den and finally succeeded at last the initial packet had arrived the tape was rather sticky and the strip of paper had been rolled then flattened a bit making the optical character recognition somewhat unreliable we were to discover that hand smoothing say with the help of a ruler or even the edge of a table then attaching the strip of paper to a full a4 sheet of paper before placing it on the scanner improved character recognition significantly the next four packets arrived simultaneously within minutes of the first one leading to some congestion in the scanning queue when the fourth pac...
|