[RADIATOR] Using Storable in a hook

Alexander Hartmaier alexander.hartmaier at t-systems.at
Wed Jan 25 06:35:48 CST 2012


Serializing Objects, references and regexes is no easy task.
What are you trying to achieve?
I suggest you switch to a different format like JSON and only serialize
a data structure you created from the request attributes by yourself.
The internal representation of a packet could change with every version
so you shouldn't rely on it or at least be able to fix your code easily
if that happens.

Best regards, Alex

Am 2012-01-25 04:44, schrieb Jared Watkins:
> I figured out that I have to call it directly like Storable::nfreeze(\%x) but the error I was getting for other way was:
>
> Bizarre copy of HASH in refgen at
>
> Now.. I'm passing the value in as a bound parameter in the hook and according to a length call on the variable.. it's going in with an average length of 1450 bytes.  However.. when I fetch it from the database (postgres) I'm only getting back 3 bytes.
>
> I'm using just the attributes list out of the $p variable by $p->{'Attributes'}.
>
> I've done binary data through DBI before (to mysql) without a problem.. so I'm not sure where it might be getting lost here.
>
> Thanks,
> Jared
>
>
> On Jan 24, 2012, at 5:59 PM, Heikki Vatiainen wrote:
>
>> On 01/24/2012 10:44 PM, Jared Watkins wrote:
>>
>>> I'm seeing some weird errors and behavior trying to use the freeze method from Storable.  Is there a special trick to making it work in hook code?
>> I have not used Storable myself, but if you could reply with some
>> examples I can take a a look.
>>
>> Note that some of the data structures, such as radius requests ($p
>> usually) are very large. You could see e.g. with Data::Dumper to see
>> what they look like.
>>
>>> I saw a reference on the cpan page for special handling when used in a 'Safe' compartment.. is that what's happening here?   For reference.. for development/debugging I'm attempting to serialize and store (in db field) a hash I'm creating with all the per packet name-value pairs.
>> Hard to tell. Examples would be useful :)
>>
>> Thanks!
>> Heikki
>>
>> --
>> Heikki Vatiainen<hvn at open.com.au>
>>
>> Radiator: the most portable, flexible and configurable RADIUS server
>> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
>> Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
>> TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
>> DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
>> NetWare etc.
> _______________________________________________
> radiator mailing list
> radiator at open.com.au
> http://www.open.com.au/mailman/listinfo/radiator


*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
T-Systems Austria GesmbH Rennweg 97-99, 1030 Wien
Handelsgericht Wien, FN 79340b
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
Notice: This e-mail contains information that is confidential and may be privileged.
If you are not the intended recipient, please notify the sender and then
delete this e-mail immediately.
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*


More information about the radiator mailing list