Open Blacklist EXchange protocol specification

Copyright © 2008 William Pitcock nenolod@dronebl.org.

Introduction

The Open Blacklist EXchange protocol is designed to enable flexible, automatic data exchange between blacklists in realtime. The benefits of such a protocol is that all blacklists become increasingly effective. With OBEX, it is possible to for blacklists to interact directly with other blacklists.

Authentication

OBEX requests use proprietary authentication tokens, known as RPCKeys. These tokens are used to identify the requestor to the OBEX server.

OBEX object description language

The OBEX protocol uses XML as a data representation language.

An example stanza is:

<?xml version="1.0" standalone="yes"?>
<obex-request key='rgwerJKHKJFfvnQWFRjklbnWQgvbwghJKWHgvnAfjzgnKBKFEbkvfb8FJKENKJVGFn23'>
    <push-incident>
        <host>127.0.0.2</host>
        <category>3</category>
        <timestamp>1192176431</timestamp>
        <id>49327</id>
        <status>open</status>
    </push-incident>
</obex-request>

Basic format of OBEX stanzas

First, the stanza begins with an XML header.

<?xml version="1.0" standalone="yes"?>

Next, the call is encapulated in an obex-request paragraph. The obex-request paragraph contains the authentication key. This is followed by 1 or more calls.

<obex-request key='rgwerJKHKJFfvnQWFRjklbnWQgvbwghJKWHgvnAfjzgnKBKFEbkvfb8FJKENKJVGFn23'>
    <call1>
        <data1>value</data1>
        <data2>value</data2>
        ...
    </call1>
</obex-request>

OBEX design principles

OBEX was created to ensure blacklists and dronebl server instances could share information with each other. This ensures secure, open replication of data without dependency on a database-level replication solution.

As a result, OBEX is a subscription-based protocol, inspired by the SKS system of OpenPGP keyservers.

OBEX calls

This is a listing of OBEX calls.



Copyright © 2003-2023 www.nenolod.net