Latest news

Feb 6, 2007:
Site update

Jan 27, 2007:
For Sale section added

Jan 4, 2007:
Site update



Recent

Solaris 10 raid
Software mirroring

Solaris 10 zones
Container config

Mod_Auth_XRadius
Apache auth

Read more...

More info

We offer onsite and remote support for most open source solutions. Support contracts are also available.



Links

- Parliament Hill
- WLUG
- Linux.org.uk
- Valid XHTML
- Valid CSS



Link back

Please use this image to link back to this site

Disclaimer: This assumes that you have gcc3 installed. We used the binary package from blastwave.org which was installed by using the pkg-get utility.

This document covers how to build mod_auth_xradius on Solaris 7, 8 and 9. It covers how to add the time macros which come as standard on Linux and how to change the MD5 byte ordering from little endian to big endian (which is needed for Sparc).

Openssl


Download OpenSSL version 0.9.7

make

make test

su (if you aren't root)

make install

By default OpenSSL will be installed in the directory /usr/local/ssl.
We can select other directory using the following argument with ./config:

./config --prefix=/usr/local --openssldir=/usr/local/openssl

Apache2


Download the apache 2 source code from http://httpd.apache.org/

Apache 2.0.XX is the recommended version

Unzip the download using gunzip filename

Untar the download using tar –xvpf filename

Use the following configure options

./configure --enable-ssl=shared

Use the make command to build Apache 2

Use the ‘make install’ command to install Apache2 (into /usr/local/apache2 or whatever is set by your –prefix=)

Mod_auth_Xradius


Download the mod_auth_xradius module from http://www.outoforder.cc/projects/apache/mod_auth_xradius/

Mod_auth_xradius-0.4.3 is the recommended version

Make the following code changes

Configure : may need to add --tag=CXX to the line which defines the libtool command
Libradius/radlib.h 

#define timeradd(tvp, uvp, vvp)

do {
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec;
(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec;
if ((vvp)->tv_usec >= 1000000) {
(vvp)->tv_sec++;
(vvp)->tv_usec -= 1000000;
}
} while (0)


#define timersub(tvp, uvp, vvp)

do {
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec;
(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec;
if ((vvp)->tv_usec < 0) {
(vvp)->tv_sec--;
(vvp)->tv_usec += 1000000;
}
} while (0)

Libradius/md5c.c 

static u_int32_t ByteSwap4UI(u_int32_t uiNumIn)

{
u_int32_t uiRet;
unsigned char *pBytes=(unsigned char *)&uiNumIn;
unsigned char *pBytesOut=(unsigned char *)&uiRet;
pBytesOut[3]=pBytes[0];
pBytesOut[2]=pBytes[1];
pBytesOut[1]=pBytes[2];
pBytesOut[0]=pBytes[3];
return uiRet;
}

Also change the reference to htole32 so that it uses the ByteSwap4UI function instead

op[i] = ByteSwap4UI(input[i]);

Configure mod_auth_xradius using ./configure –with-apxs=/usr/local/apache2/bin/apxs

Then issue the make command.

Copy mod_auth_xradius.so from the .libs directory into the apache modules directory.