File

teal-src/util/dataforms.d.tl @ 12206:77ac0d96ac24

mod_s2s: Enable outgoing Direct TLS connections Makes it faster by cutting out the roundtrips involved in <starttls/>, at the cost of making an additional SRV lookup. Since we already ignore a missing <starttls/> offer and try anyway there is not much difference in security. The fact that XMPP is used and the hostnames involved might still be visible until the future Encrypted ClientHello extension allows hiding those too.
author Kim Alvefur <zash@zash.se>
date Fri, 21 Jan 2022 17:59:19 +0100
parent 11432:113f3912c7cb
child 12614:d498e7e7853a
line wrap: on
line source

local stanza_t = require "util.stanza".stanza_t

local enum form_type
	"form"
	"submit"
	"cancel"
	"result"
end

local enum field_type
	"boolean"
	"fixed"
	"hidden"
	"jid-multi"
	"jid-single"
	"list-multi"
	"list-single"
	"text-multi"
	"text-private"
	"text-single"
end

local record form_field

	type : field_type
	var : string -- protocol name
	name :  string -- internal name

	label : string
	desc : string

	datatype : string
	range_min : number
	range_max : number

	value : any -- depends on field_type
	options : table
end

local record dataform
	title : string
	instructions : string
	{ form_field } -- XXX https://github.com/teal-language/tl/pull/415

	form : function ( dataform, table, form_type ) : stanza_t
end

local record lib
	new : function ( dataform ) : dataform
end

return lib