$Revision: 1.1 $
$Date: 2007/07/30 20:04:13 $

# Functions

## `blst_add([timeout])`

Adds the source of the current message to the blacklist for `timeout` seconds. If timeout is missing or 0 it uses the default blacklist timeout (`dst_blacklist_expire`).

### `blst_add` usage

    ...
    if (src_ip==10.0.0.0/9)
        blst_add(30); # 30 s
    else
        blst_add();  # use default blacklist timeout
    ...

## `blst_add_retry_after(min, max)`

Adds the source of the current message to the blacklist for the time interval specified in the Retry-After header. If the Retry-After header is missing, it will fail (returns false). If the Retry-After value is less then `min`, then `min` seconds will be used instead. If the Retry-After value is greater then `max`, then `max` seconds will be used instead.

### `blst_add_retry_after` usage

    ...
    # on_reply route
    if (msg_status==503){ # blacklist 503 source for Retry-After seconds
        if (! blst_add_retry_after(30, 3600))
            blst_add(60); # if no retry_after header add it for 60s
    }
    ...

## `blst_del()`

Removes the source of the current message from the blacklist. If the address is not present in the blacklist at the time of the call it returns false.

### `blst_del` usage

    ...
        blst_del();
    ...

## `blst_is_blacklisted()`

Returns true if the source of the current message is blacklisted.

### `blst_is_blacklisted` usage

    ...
        if (blst_is_blacklisted()){
            log("message from a blacklisted source");
            drop;
       }
    ...