<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1">
<TITLE>Exec problems in FR3.0</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Sorry to send yet more emails with issues. I’ve moved to FR3 to test SQL stuff and am having some problems with getting exec modules I previously used to work. I know I could rewrite these in perl, but they worked before in FR2.2.1 and I</FONT></SPAN><SPAN LANG="en-gb"><FONT FACE="Calibri"> want to solve why they won’t work now.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">I have an exec module thus :</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">exec mactodelimitedmac {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">        wait = yes</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">        input_pairs = config</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">        output_pairs = config</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">        shell_escape = yes</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">        program = "/usr/local/etc/raddb/mactodelimitedmac.sh %{User-Name} :"</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">}</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">It just takes a mac address and adds a delimited to each component of the address</FONT></SPAN><SPAN LANG="en-gb"><FONT FACE="Calibri">, updating the control value “DelimitedMac”</FONT></SPAN><SPAN LANG="en-gb"> <FONT FACE="Calibri">via the standard </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">echo Variable := \”value\””</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">I used to instantiate it in radiusd.conf and then call it directly from, say, the post-auth section</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Mactodelimitedmac</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Which updated that value.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">If I do it that way now it gives : </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) WARNING: mactodelimitedmac : List "<INVALID>" is not available</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">LITERAL: %{User-Name}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">LITERAL: %{User-Name} --> %{User-Name}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">EXPANSION: %{User-Name}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Looking for attribute name in User-Name</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">xlat aprint 3</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">expand attr User-Name --> '0023ae604b02'</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) mactodelimitedmac :         expand: '%{User-Name}' -> '0023ae604b02'</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) mactodelimitedmac : Program output is</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) ERROR: mactodelimitedmac : Abnormal child exit: Success</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0)   [mactodelimitedmac] = reject</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) Using Post-Auth-Type Reject</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">If I instead do</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Update control {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri"> </FONT></SPAN><SPAN LANG="en-gb"> <FONT FACE="Calibri">DelimitedMac := "%{mactodelimitedmac:/etc/freeradius/mactodelimitedmac.sh %{user-name} :}"</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">And change the script so that it just returns the bare variable it says : </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">expand mod mactodelimitedmac --> '/usr/local/etc/raddb/mactodelimitedmac.sh 0023ae604b02 :'</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) Executing /usr/local/etc/raddb/mactodelimitedmac.sh 0023ae604b02 :</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) Program output is ?[1m?[33m(0) WARNING: Failed to execute /usr/local/etc/raddb/mactodelimitedmac.sh: Bad address?[0m</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) ERROR: Child returned error 1</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">(0) result 1 --> '?[1m?[33m(0) WARNING: Failed to execute /usr/local/etc/raddb/mactodelimitedmac.sh: Bad address?[0m '</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Again, I’m struggling.</FONT></SPAN><SPAN LANG="en-gb"> <FONT FACE="Calibri">Sorry to be a pain.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-gb"><FONT FACE="Calibri">Andy</FONT></SPAN><SPAN LANG="en-gb"></SPAN></P>

</BODY>
</HTML>