Dear all, I have an issue with the new (development/git) version of the TLV parsing (nested TLVs for WiMAX) : is there a clean way to end a container TLV ? Here is my issue : I have to insert several WiMAX-Packet-Flow-Descriptor TLVs (each containing a WiMAX-Packet-Flow-Id and a WiMAX-Service-Profile-Id). However, I cannot simply write the following (e.g. in update reply) : WiMAX-Packet-Flow-Id = 0 WiMAX-Service-Profile-Id = 1 WiMAX-Packet-Flow-Id = 1 WiMAX-Service-Profile-Id = 2 WiMAX-Packet-Flow-Id = 2 WiMAX-Service-Profile-Id = 3 WiMAX-Packet-Flow-Id = 3 WiMAX-Service-Profile-Id = 4 If I do this, all I get is a single WiMAX-Packet-Flow-Id containing 8 sub-TLVs, while I want 4 WiMAX-Packet-Flow-Id (each containing 2 TLVs). The "quick hack" I found is to write WiMAX-Packet-Flow-Id = 0 WiMAX-Service-Profile-Id = 1 WiMAX-IP-Technology = 0x06 WiMAX-Packet-Flow-Id = 1 WiMAX-Service-Profile-Id = 2 WiMAX-IP-Technology = 0x06 WiMAX-Packet-Flow-Id = 2 WiMAX-Service-Profile-Id = 3 WiMAX-IP-Technology = 0x06 WiMAX-Packet-Flow-Id = 3 WiMAX-Service-Profile-Id = 4 WiMAX-IP-Technology = 0x06 Here, the "WiMAX-IP-Technology = 0x06" (but it could be anything else) acts as a separator, forcing FreeRadius to write a new WiMAX-Packet-Flow-Id container. But this is not clean IMO. Is there a better way to do this ? Best regards, -- Adrien Demarez Le 3 mars 2011 à 08:23, Alan DeKok a écrit :
Adrien Demarez wrote:
The debian/ folder is still based on the 2.1.8 version, and dpkg-buildpackage does not compile/run for a number of reasons : - some patches do not apply anymore. e.g. I had to regenerate radiusd-to-freeradius.diff. I also had to deactivate (no time to fix it now) the dialupadmin-help.diff. - eap.conf, sql.conf and sqlippool.conf have moved to raddb/modules/, thus I have to delete the original references to those files in intall and postinst conf files - this has another side effect : in the previous configuration, sql.conf was commented by default. Now, it is executed by default since it is in the modules/ folder, which means that default freeradius installation is broken/not working if I don't install freeradius-mysql in the same time (because there is a $INCLUDE directive in modules/sql referencing sql/${database}, which is only installed if I install freeradius-mysql). Same for sqlippool, which has a default reference to sql/postgresql (by the way, it would be desirable to have something homogeneous between default sql and sqlippool files : either both on them with postgresql, or both of them with mysql, but not the current "mixed" scheme !). For the moment, I just propose to comment the $INCLUDE directives in modules/sql*, but maybe there is a cleaner way to do it ? Is there a way to specify something like "$INCLUDE everything except sql*" in radiusd.conf ? - since raddb/eap.conf does not exist anymore, the freeradius.postinst must be changed regarding the generation of the certs/ folder. If the certs/ folder remains empty, freeradius installation is broken since modules/eap references nonexisting files ! - the code behind --with-edir does not compile, thus I had do disable the --with-edit flag in rules
I send you the diff file on the debian/ folder I use. I am compiling on a fresh Debian Squeeze (i386).
Applied, thanks.
I left the "--with-edir" option in, as the edir code got fixed recently.
Alan DeKok.