]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Jorge Pereira [Thu, 31 Oct 2019 20:41:07 +0000 (17:41 -0300)]
Remove unused variable
Jorge Pereira [Thu, 31 Oct 2019 21:20:21 +0000 (18:20 -0300)]
The 'IA-PD' time fields should be 'time_delta'
Alan T. DeKok [Thu, 31 Oct 2019 20:19:46 +0000 (16:19 -0400)]
free on error
Alan T. DeKok [Thu, 31 Oct 2019 20:00:41 +0000 (16:00 -0400)]
auto-generate VALUEs for Option-Request
Alan T. DeKok [Thu, 31 Oct 2019 19:59:41 +0000 (15:59 -0400)]
add API to iterate over children of an attribute
Alan T. DeKok [Thu, 31 Oct 2019 19:30:12 +0000 (15:30 -0400)]
minor tweaks to dictionaries
Alan T. DeKok [Thu, 31 Oct 2019 19:06:48 +0000 (15:06 -0400)]
allow 'length=uint16' as a flag
This is mainly for DHCPv6, but it allows us to auto-encode lengths
inside of structs too, which wasn't previously possible.
Alan T. DeKok [Thu, 31 Oct 2019 18:32:02 +0000 (14:32 -0400)]
we can have time_delta fields in dictionaries
Jorge Pereira [Thu, 31 Oct 2019 19:20:07 +0000 (16:20 -0300)]
Fix the dhcpdv6 unit test
Alan T. DeKok [Thu, 31 Oct 2019 18:26:25 +0000 (14:26 -0400)]
add comment saysing where we get these VALUEs from
Jorge Pereira [Thu, 31 Oct 2019 17:58:09 +0000 (14:58 -0300)]
The 'Option-Request' expects only a valid option number
Jorge Pereira [Thu, 31 Oct 2019 17:55:45 +0000 (14:55 -0300)]
The 'Option-Request' should be array of uint16
Jorge Pereira [Thu, 31 Oct 2019 18:21:49 +0000 (15:21 -0300)]
The 'Rapid-Commit' should be 'octets'
Alan T. DeKok [Thu, 31 Oct 2019 17:47:39 +0000 (13:47 -0400)]
abstract away the key_field
which is now "extra" flag + subtype
and the protocols look at "subtype" only when "extra" is not set
Alan T. DeKok [Thu, 31 Oct 2019 17:37:54 +0000 (13:37 -0400)]
better error messages and notes for the future
Alan T. DeKok [Thu, 31 Oct 2019 17:17:34 +0000 (13:17 -0400)]
move RADIUS "long extended" flag to the "subtype" field
which frees up "extra" for other meanings
Alan T. DeKok [Thu, 31 Oct 2019 14:40:27 +0000 (10:40 -0400)]
add fr_dns_label_network_network_length()
which doesn't dereference the labels
Alan T. DeKok [Thu, 31 Oct 2019 14:06:08 +0000 (10:06 -0400)]
check length
Arran Cudbard-Bell [Thu, 31 Oct 2019 15:51:56 +0000 (09:51 -0600)]
Emulate fopencookie so we don't need boilerplate everywhere where it's used
Jorge Pereira [Thu, 31 Oct 2019 00:44:20 +0000 (21:44 -0300)]
Add values for 'Reconf-Msg' attribute in rfc3315 dictionary (#3087)
Arran Cudbard-Bell [Wed, 30 Oct 2019 22:50:51 +0000 (16:50 -0600)]
Require a version of libunbound that exposes an interface that allows us to integrate our own event loop
Arran Cudbard-Bell [Wed, 30 Oct 2019 22:05:40 +0000 (16:05 -0600)]
Minor style fixups
Arran Cudbard-Bell [Wed, 30 Oct 2019 22:05:23 +0000 (16:05 -0600)]
Untested async io integration layer for libunbound
Alan T. DeKok [Wed, 30 Oct 2019 21:53:46 +0000 (17:53 -0400)]
correct hex encoding of option
so that we don't have overflows
Alan T. DeKok [Wed, 30 Oct 2019 21:18:06 +0000 (17:18 -0400)]
check input length against minimum size
Alan T. DeKok [Wed, 30 Oct 2019 20:09:08 +0000 (16:09 -0400)]
always search to the end of the buffer
Alan T. DeKok [Wed, 30 Oct 2019 20:08:49 +0000 (16:08 -0400)]
check length before dereferencing it
Alan T. DeKok [Wed, 30 Oct 2019 20:04:36 +0000 (16:04 -0400)]
check for message type having length 0
Alan T. DeKok [Wed, 30 Oct 2019 19:37:46 +0000 (15:37 -0400)]
casting for compiler
Alan T. DeKok [Wed, 30 Oct 2019 19:35:41 +0000 (15:35 -0400)]
check more option length correctly
Alan T. DeKok [Wed, 30 Oct 2019 18:11:04 +0000 (14:11 -0400)]
check option length correctly
Alan T. DeKok [Wed, 30 Oct 2019 17:51:35 +0000 (13:51 -0400)]
add packet decode test point for DHCPv4
Alan T. DeKok [Wed, 30 Oct 2019 17:27:18 +0000 (13:27 -0400)]
speed up the build when doxygen files exist
doxygen creates a million files, and we don't want to do
automatic HTML conversion, etc. But we do want to install
the files. So exclude the doxygen files the various GNU make
magic that we do for transforming things. And instead just
rely on `cp` for installation.
Alan T. DeKok [Wed, 30 Oct 2019 13:55:24 +0000 (09:55 -0400)]
add decode VSAs to DHCPv6
Alan T. DeKok [Wed, 30 Oct 2019 12:15:41 +0000 (08:15 -0400)]
more convert complex to struct
Alan T. DeKok [Wed, 30 Oct 2019 12:04:01 +0000 (08:04 -0400)]
convert complex field to struct
Mostly. The struct decoder still doesn't do DNS labels, so that
has to be fixed
Alan T. DeKok [Wed, 30 Oct 2019 11:58:15 +0000 (07:58 -0400)]
partially decode Vendor-Class
Jan Hugo Prins [Thu, 24 Oct 2019 16:00:45 +0000 (18:00 +0200)]
Added some more documentation and implementation restrictions.
Alan T. DeKok [Wed, 30 Oct 2019 11:34:31 +0000 (07:34 -0400)]
decode Auth option
Alan T. DeKok [Wed, 30 Oct 2019 11:32:14 +0000 (07:32 -0400)]
remove checks that are no longer necessary
the parser no longer depends on "previous" to define STRUCT,
as they can be defined in-place as ATTRIBUTE of type 'struct'
Alan T. DeKok [Wed, 30 Oct 2019 11:19:31 +0000 (07:19 -0400)]
decode Status-Code option. Fixes #3800
And add values to it.
Alan T. DeKok [Tue, 29 Oct 2019 18:41:31 +0000 (14:41 -0400)]
added decode_proto test point, and dhcpv6 fuzzer
Alan T. DeKok [Tue, 29 Oct 2019 18:29:50 +0000 (14:29 -0400)]
load internal dictionary, too
Alan T. DeKok [Tue, 29 Oct 2019 18:34:39 +0000 (14:34 -0400)]
update email address for copyright
Alan T. DeKok [Tue, 29 Oct 2019 18:34:19 +0000 (14:34 -0400)]
delay allocation of tmp_ctx until we need it
Alan T. DeKok [Tue, 29 Oct 2019 12:44:30 +0000 (08:44 -0400)]
typo
Alan T. DeKok [Tue, 29 Oct 2019 12:43:42 +0000 (08:43 -0400)]
transaction ID is 24 bits, so make it uint32
Alan T. DeKok [Tue, 29 Oct 2019 12:19:36 +0000 (08:19 -0400)]
start of DHCPv6 packet decoder
Alan T. DeKok [Tue, 29 Oct 2019 10:43:10 +0000 (06:43 -0400)]
doxygen
Alan T. DeKok [Tue, 29 Oct 2019 01:46:12 +0000 (21:46 -0400)]
add server tests, too. Fixes #3079
Alan T. DeKok [Tue, 29 Oct 2019 01:44:15 +0000 (21:44 -0400)]
move tests around and add some more tests
Jorge Pereira [Thu, 24 Oct 2019 17:22:23 +0000 (14:22 -0300)]
Add tests for DHCPv6 / rfc6355
Jorge Pereira [Tue, 29 Oct 2019 00:49:42 +0000 (21:49 -0300)]
Add tests for DHCPv6 / rfc3315
Alan T. DeKok [Tue, 29 Oct 2019 01:25:12 +0000 (21:25 -0400)]
added debug for decoding
Alan T. DeKok [Tue, 29 Oct 2019 01:24:40 +0000 (21:24 -0400)]
add debug for decoding. and don't decode an attribute of size zero
Alan T. DeKok [Tue, 29 Oct 2019 01:23:59 +0000 (21:23 -0400)]
print out buffer we encoded, not the buffer remaining
Alan T. DeKok [Mon, 28 Oct 2019 12:37:33 +0000 (08:37 -0400)]
use legal@networkradius.com for legal text
Alan T. DeKok [Mon, 28 Oct 2019 12:32:16 +0000 (08:32 -0400)]
create protocol-specific fuzzers
Alan T. DeKok [Sun, 27 Oct 2019 21:29:22 +0000 (17:29 -0400)]
more convert octets to struct
Alan T. DeKok [Sun, 27 Oct 2019 21:22:47 +0000 (17:22 -0400)]
more convert octets to struct
Alan T. DeKok [Sun, 27 Oct 2019 13:53:50 +0000 (09:53 -0400)]
move octets to struct
note that we don't (yet) support encoding or decoding of dns labels
inside of a struct. We should really fix that.
Alan T. DeKok [Sun, 27 Oct 2019 13:53:26 +0000 (09:53 -0400)]
enforce flags only on RADIUS
Alan T. DeKok [Sun, 27 Oct 2019 13:48:42 +0000 (09:48 -0400)]
move octets to struct
Alan T. DeKok [Sun, 27 Oct 2019 13:40:43 +0000 (09:40 -0400)]
convert octets to struct
Alan T. DeKok [Sun, 27 Oct 2019 13:34:17 +0000 (09:34 -0400)]
convert octets to struct
Alan T. DeKok [Sun, 27 Oct 2019 13:16:40 +0000 (09:16 -0400)]
swap contents so that they are correct
Alan T. DeKok [Sun, 27 Oct 2019 13:13:53 +0000 (09:13 -0400)]
fix tests for unknown attrs in struct
and fix code :(
Alan T. DeKok [Sun, 27 Oct 2019 13:02:08 +0000 (09:02 -0400)]
decode more structs
Alan T. DeKok [Sun, 27 Oct 2019 12:49:32 +0000 (08:49 -0400)]
mark up more attributes as being DNS label
Alan T. DeKok [Sat, 26 Oct 2019 21:52:55 +0000 (17:52 -0400)]
yes, encode of unknown fields in structs works
Alan T. DeKok [Sat, 26 Oct 2019 13:47:41 +0000 (09:47 -0400)]
decode unknown key fields, too
Alan T. DeKok [Fri, 25 Oct 2019 19:57:02 +0000 (15:57 -0400)]
decode structs, too
Alan T. DeKok [Fri, 25 Oct 2019 18:50:36 +0000 (14:50 -0400)]
glue for VSAs
Alan T. DeKok [Fri, 25 Oct 2019 18:46:38 +0000 (14:46 -0400)]
scan fixes
Alan T. DeKok [Fri, 25 Oct 2019 18:09:46 +0000 (14:09 -0400)]
move clang checks to where they belong. Fixes #3074
Alan T. DeKok [Fri, 25 Oct 2019 16:02:16 +0000 (12:02 -0400)]
whoops, fix this, too
Alan T. DeKok [Fri, 25 Oct 2019 15:29:29 +0000 (11:29 -0400)]
set default type size / length in fr_dict_t
so that the dict tokenizer uses that instead of hard-coded '1'.
And change the BEGIN-VENDOR to use "parent=..." instead of
"format=..". As the reference is to a parent attribute, NOT
to a particular format.
The VSA encoding flags should really be part of the BEGIN-VENDOR
line, as that is protocol-specific. Right now they're in the
VENDOR, which unfortunatelty is used across multiple protocols.
We probably want to update the code to look for encoding sizes
in the VENDOR attribute, and not in the fr_dict_vendor_t
Alan T. DeKok [Fri, 25 Oct 2019 15:19:37 +0000 (11:19 -0400)]
better way to define vsa_parent.
which is dynamic, and doesn't require magic numbers
Alan T. DeKok [Fri, 25 Oct 2019 15:05:42 +0000 (11:05 -0400)]
correctly encode VSAs in DHCPv6.
And update the unit test to match.
Alan T. DeKok [Fri, 25 Oct 2019 14:54:38 +0000 (10:54 -0400)]
add BEGIN-VENDOR to DHCPv6 dictionary.
and make the dictionary parser allow VSAs to be added to the
DHCPv6 Vendor-Opts attribute. :(
Alan T. DeKok [Fri, 25 Oct 2019 14:53:08 +0000 (10:53 -0400)]
add note to decode unknown fields
once we've done a bit more work to allow unknown da's as children
of a struct. It might work, but it's untested.
Jorge Pereira [Fri, 25 Oct 2019 00:25:36 +0000 (21:25 -0300)]
Add tests for DHCPv6 / rfc3646
Jorge Pereira [Fri, 25 Oct 2019 00:26:29 +0000 (21:26 -0300)]
The 'Domain-List' value should be string
As described in https://tools.ietf.org/html/rfc1035#section-3.1
Domain names in messages are expressed in terms of a sequence of labels.
Each label is represented as a one octet length field followed by that
number of octets. Since every domain name ends with the null label of
the root, a domain name is terminated by a length byte of zero.
i.e: It should be encoded as a 'dns_label' to append the '\0'
Jorge Pereira [Wed, 23 Oct 2019 00:14:48 +0000 (21:14 -0300)]
Validate larger dns labels
Alan T. DeKok [Fri, 25 Oct 2019 14:15:22 +0000 (10:15 -0400)]
added Microsoft dictionary
Alan T. DeKok [Fri, 25 Oct 2019 14:02:28 +0000 (10:02 -0400)]
DHCPv6 VSAs can only occur in the standard format.
Alan T. DeKok [Fri, 25 Oct 2019 13:22:55 +0000 (09:22 -0400)]
decode DHCPv6 arrays. and update tests
Alan T. DeKok [Fri, 25 Oct 2019 11:11:46 +0000 (07:11 -0400)]
add decode tests, too
Alan T. DeKok [Fri, 25 Oct 2019 11:10:07 +0000 (07:10 -0400)]
free vp after dereferencing it
Alan T. DeKok [Fri, 25 Oct 2019 10:57:50 +0000 (06:57 -0400)]
comment out 4to6 test. It doesn't pass on travis
which as 4to6 resolution turned off
Alan T. DeKok [Fri, 25 Oct 2019 01:08:36 +0000 (21:08 -0400)]
DNS labels in DHCPv6 MUST NOT be compressed
https://tools.ietf.org/html/rfc8415#section-10
Alan T. DeKok [Thu, 24 Oct 2019 19:19:10 +0000 (15:19 -0400)]
use tmp_ctx for unknown da's
Alan T. DeKok [Thu, 24 Oct 2019 18:27:19 +0000 (14:27 -0400)]
decode hardware-type ethernet
Alan T. DeKok [Thu, 24 Oct 2019 17:02:17 +0000 (13:02 -0400)]
remove unused assignments
Alan T. DeKok [Thu, 24 Oct 2019 14:39:12 +0000 (10:39 -0400)]
remove unused variable
Jorge Pereira [Thu, 24 Oct 2019 21:03:19 +0000 (18:03 -0300)]
Drop DHCP-Hardware-Type types with values greater than 255
Jorge Pereira [Thu, 24 Oct 2019 17:46:45 +0000 (14:46 -0300)]
Update the hardware-type list
It was extracted from the latest content from
https://www.iana.org/assignments/arp-parameters/arp-parameters.xhtml
Last Updated: 2016-07-20
Jorge Pereira [Thu, 24 Oct 2019 18:22:34 +0000 (15:22 -0300)]
Add tests to validate ipv4->ipv6 example (#3069)
Arran Cudbard-Bell [Thu, 24 Oct 2019 12:25:32 +0000 (08:25 -0400)]
Additional clarifications
Alan T. DeKok [Thu, 24 Oct 2019 13:59:17 +0000 (09:59 -0400)]
fix fr_radius_attr_len() to return correct values
for fixed-size octet fields