HTX_BLK_EOD = 6, /* end-of-data block */
HTX_BLK_TLR = 7, /* trailer name/value block */
HTX_BLK_EOM = 8, /* end-of-message block */
- /* 9 .. 13 unused */
- HTX_BLK_OOB = 14, /* Out of band block, don't alter the parser */
+ /* 9 .. 14 unused */
HTX_BLK_UNUSED = 15, /* unused/removed block */
};
struct htx_blk *htx_add_endof(struct htx *htx, enum htx_blk_type type);
struct htx_blk *htx_add_data(struct htx *htx, const struct ist data);
struct htx_blk *htx_add_trailer(struct htx *htx, const struct ist tlr);
-struct htx_blk *htx_add_oob(struct htx *htx, const struct ist oob);
struct htx_blk *htx_add_data_before(struct htx *htx, const struct htx_blk *ref, const struct ist data);
int htx_reqline_to_h1(const struct htx_sl *sl, struct buffer *chk);
case HTX_BLK_RES_SL:
case HTX_BLK_DATA:
case HTX_BLK_TLR:
- case HTX_BLK_OOB:
blk->info = (type << 28) + vlen;
break;
default:
case HTX_BLK_RES_SL:
case HTX_BLK_DATA:
case HTX_BLK_TLR:
- case HTX_BLK_OOB:
ret.ptr = htx_get_blk_ptr(htx, blk);
ret.len = blk->info & 0xfffffff;
break;
case HTX_BLK_EOD: return "HTX_BLK_EOD";
case HTX_BLK_TLR: return "HTX_BLK_TLR";
case HTX_BLK_EOM: return "HTX_BLK_EOM";
- case HTX_BLK_OOB: return "HTX_BLK_OOB";
case HTX_BLK_UNUSED: return "HTX_BLK_UNUSED";
default: return "HTX_BLK_???";
};
return blk;
}
-/* Adds an HTX block of type OOB in <htx>. It returns the new block on
- * success. Otherwise, it returns NULL.
- */
-struct htx_blk *htx_add_oob(struct htx *htx, const struct ist oob)
-{
- struct htx_blk *blk;
-
- /* FIXME: check oob.len (< 256MB) */
- blk = htx_add_blk(htx, HTX_BLK_OOB, oob.len);
- if (!blk)
- return NULL;
-
- blk->info += oob.len;
- memcpy(htx_get_blk_ptr(htx, blk), oob.ptr, oob.len);
- return blk;
-}
-
struct htx_blk *htx_add_data_before(struct htx *htx, const struct htx_blk *ref,
const struct ist data)
{
h1m->state = H1_MSG_DONE;
break;
- case HTX_BLK_OOB:
- v = htx_get_blk_value(chn_htx, blk);
- if (!chunk_memcat(tmp, v.ptr, v.len))
- goto copy;
- break;
-
default:
h1m->flags |= errflag;
break;