parent = talloc_parent(vp);
if (expected && (parent != expected)) {
fr_perror("Expected VALUE_PAIR (%s) to be parented by %p (%s), "
- "but parented by %p (%s)",
+ "but parented by %p (%s)",
vp->da->name,
expected, talloc_get_name(expected),
parent, parent ? talloc_get_name(parent) : "NULL");
}
if (unlink(path) < 0) {
- ERROR("Failed to delete %s: %s",
+ ERROR("Failed to delete %s: %s",
path, fr_syserror(errno));
- close(sockfd);
- return -1;
+ close(sockfd);
+ return -1;
}
}
list = this->modulelist;
} else {
RDEBUG3("%s sub-section not found. Ignoring.",
- section_type_value[comp].typename);
+ section_type_value[comp].typename);
}
}
fr_packet_list_yank(pl, request->packet);
REDEBUG("No reply from server for ID %d socket %d",
- request->packet->id, request->packet->sockfd);
+ request->packet->id, request->packet->sockfd);
deallocate_id(request);
/*
fr_packet_codes[request->reply->code]);
} else {
REDEBUG("Expected %u got %i", request->filter_code,
- request->reply->code);
+ request->reply->code);
}
stats.failed++;
/*
#endif /* GEN_DNS */
#ifdef GEN_OTHERNAME
case GEN_OTHERNAME:
- /* look for a MS UPN */
- if (NID_ms_upn == OBJ_obj2nid(name->d.otherName->type_id)) {
- /* we've got a UPN - Must be ASN1-encoded UTF8 string */
- if (name->d.otherName->value->type == V_ASN1_UTF8STRING) {
- pairmake(NULL, certs, cert_attr_names[FR_TLS_SAN_UPN][lookup],
- (char *) ASN1_STRING_data(name->d.otherName->value->value.utf8string), T_OP_SET);
- break;
- } else {
- RWARN("Invalid UPN in Subject Alt Name (should be UTF-8)\n");
- break;
- }
- }
+ /* look for a MS UPN */
+ if (NID_ms_upn == OBJ_obj2nid(name->d.otherName->type_id)) {
+ /* we've got a UPN - Must be ASN1-encoded UTF8 string */
+ if (name->d.otherName->value->type == V_ASN1_UTF8STRING) {
+ pairmake(NULL, certs, cert_attr_names[FR_TLS_SAN_UPN][lookup],
+ (char *) ASN1_STRING_data(name->d.otherName->value->value.utf8string), T_OP_SET);
+ break;
+ } else {
+ RWARN("Invalid UPN in Subject Alt Name (should be UTF-8)\n");
+ break;
+ }
+ }
break;
#endif /* GEN_OTHERNAME */
default:
## split user@domain and domain\user formats
strip_user_domain {
if(User-Name && (User-Name =~ /${policy.simple_nt_regexp}/)){
- update request {
- Stripped-User-Domain = "%{1}"
- Stripped-User-Name = "%{3}"
- }
+ update request {
+ Stripped-User-Domain = "%{1}"
+ Stripped-User-Name = "%{3}"
+ }
}
elsif(User-Name && (User-Name =~ /${policy.simple_nai_regexp}/)){
- update request {
- Stripped-User-Name = "%{1}"
- Stripped-User-Domain = "%{3}"
- }
+ update request {
+ Stripped-User-Name = "%{1}"
+ Stripped-User-Domain = "%{3}"
+ }
}
else {
- noop
+ noop
}
}
"docType": "raduser",
"userName": "test",
"config": {
- "SHA-Password": {
- "value": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3",
- "op": ":="
- }
+ "SHA-Password": {
+ "value": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3",
+ "op": ":="
+ }
},
"reply": {
- "Reply-Message": {
- "value": "Hidey Ho!",
- "op": "="
- }
+ "Reply-Message": {
+ "value": "Hidey Ho!",
+ "op": "="
+ }
}
}
-------------
couchbase {
- #
- # List of Couchbase hosts (hosts may be space, tab, comma or semi-colon separated).
- # Ports are optional if servers are listening on the standard port.
- # Complete pool urls are preferred.
- #
- server = "http://cb01.blargs.com:8091/pools/ http://cb04.blargs.com:8091/pools/"
-
- # Couchbase bucket name
- bucket = "radius"
-
- # Couchbase bucket password (optional)
- #password = "password"
-
- # Couchbase accounting document key (unlang supported)
- acct_key = "radacct_%{%{Acct-Unique-Session-Id}:-%{Acct-Session-Id}}"
-
- # Value for the 'docType' element in the json body for accounting documents
- doctype = "radacct"
-
- ## Accounting document expire time in seconds (0 = never)
- expire = 2592000
-
- #
- # Map attribute names to json element names for accounting.
- #
- # Configuration items are in the format:
- # <element name> = '<radius attribute>'
- #
- # Attribute names should be single quoted.
- #
- # Note: Atrributes not in this map will not be recorded.
- #
- map {
- sessionId = 'Acct-Session-Id'
- uniqueId = 'Acct-Unique-Session-Id'
- lastStatus = 'Acct-Status-Type'
- authentic = 'Acct-Authentic'
- userName = 'User-Name'
- strippedUserName = 'Stripped-User-Name'
- strippedUserDomain = 'Stripped-User-Domain'
- realm = 'Realm'
- nasIpAddress = 'NAS-IP-Address'
- nasIdentifier = 'NAS-Identifier'
- nasPort = 'NAS-Port'
- calledStationId = 'Called-Station-Id'
- calledStationSSID = 'Called-Station-SSID'
- callingStationId = 'Calling-Station-Id'
- framedIpAddress = 'Framed-IP-Address'
- nasPortType = 'NAS-Port-Type'
- connectInfo = 'Connect-Info'
- sessionTime = 'Acct-Session-Time'
- inputPackets = 'Acct-Input-Packets'
- outputPackets = 'Acct-Output-Packets'
- inputOctets = 'Acct-Input-Octets'
- outputOctets = 'Acct-Output-Octets'
- inputGigawords = 'Acct-Input-Gigawords'
- outputGigawords = 'Acct-Output-Gigawords'
- lastUpdated = 'Event-Timestamp'
- }
-
- # Couchbase document key for user documents (unlang supported)
- user_key = "raduser_%{md5:%{tolower:%{%{Stripped-User-Name}:-%{User-Name}}}}"
-
- #
- # The connection pool is new for 3.0, and will be used in many
- # modules, for all kinds of connection-related activity.
- #
- pool {
- # Number of connections to start
- start = 5
-
- # Minimum number of connections to keep open
- min = 5
-
- # Maximum number of connections
- #
- # If these connections are all in use and a new one
- # is requested, the request will NOT get a connection.
- #
- # NOTE: This should be greater than or equal to "min" above.
- max = 20
-
- # Spare connections to be left idle
- #
- # NOTE: Idle connections WILL be closed if "idle_timeout"
- # is set. This should be less than or equal to "max" above.
- spare = 15
-
- # Number of uses before the connection is closed
- #
- # NOTE: A setting of 0 means infinite (no limit).
- uses = 0
-
- # The lifetime (in seconds) of the connection
- #
- # NOTE: A setting of 0 means infinite (no limit).
- lifetime = 0
-
- # The idle timeout (in seconds). A connection which is
- # unused for this length of time will be closed.
- #
- # NOTE: A setting of 0 means infinite (no timeout).
- idle_timeout = 1200
-
- # NOTE: All configuration settings are enforced. If a
- # connection is closed because of "idle_timeout",
- # "uses", or "lifetime", then the total number of
- # connections MAY fall below "min". When that
- # happens, it will open a new connection. It will
- # also log a WARNING message.
- #
- # The solution is to either lower the "min" connections,
- # or increase lifetime/idle_timeout.
- }
+ #
+ # List of Couchbase hosts (hosts may be space, tab, comma or semi-colon separated).
+ # Ports are optional if servers are listening on the standard port.
+ # Complete pool urls are preferred.
+ #
+ server = "http://cb01.blargs.com:8091/pools/ http://cb04.blargs.com:8091/pools/"
+
+ # Couchbase bucket name
+ bucket = "radius"
+
+ # Couchbase bucket password (optional)
+ #password = "password"
+
+ # Couchbase accounting document key (unlang supported)
+ acct_key = "radacct_%{%{Acct-Unique-Session-Id}:-%{Acct-Session-Id}}"
+
+ # Value for the 'docType' element in the json body for accounting documents
+ doctype = "radacct"
+
+ ## Accounting document expire time in seconds (0 = never)
+ expire = 2592000
+
+ #
+ # Map attribute names to json element names for accounting.
+ #
+ # Configuration items are in the format:
+ # <element name> = '<radius attribute>'
+ #
+ # Attribute names should be single quoted.
+ #
+ # Note: Atrributes not in this map will not be recorded.
+ #
+ map {
+ sessionId = 'Acct-Session-Id'
+ uniqueId = 'Acct-Unique-Session-Id'
+ lastStatus = 'Acct-Status-Type'
+ authentic = 'Acct-Authentic'
+ userName = 'User-Name'
+ strippedUserName = 'Stripped-User-Name'
+ strippedUserDomain = 'Stripped-User-Domain'
+ realm = 'Realm'
+ nasIpAddress = 'NAS-IP-Address'
+ nasIdentifier = 'NAS-Identifier'
+ nasPort = 'NAS-Port'
+ calledStationId = 'Called-Station-Id'
+ calledStationSSID = 'Called-Station-SSID'
+ callingStationId = 'Calling-Station-Id'
+ framedIpAddress = 'Framed-IP-Address'
+ nasPortType = 'NAS-Port-Type'
+ connectInfo = 'Connect-Info'
+ sessionTime = 'Acct-Session-Time'
+ inputPackets = 'Acct-Input-Packets'
+ outputPackets = 'Acct-Output-Packets'
+ inputOctets = 'Acct-Input-Octets'
+ outputOctets = 'Acct-Output-Octets'
+ inputGigawords = 'Acct-Input-Gigawords'
+ outputGigawords = 'Acct-Output-Gigawords'
+ lastUpdated = 'Event-Timestamp'
+ }
+
+ # Couchbase document key for user documents (unlang supported)
+ user_key = "raduser_%{md5:%{tolower:%{%{Stripped-User-Name}:-%{User-Name}}}}"
+
+ #
+ # The connection pool is new for 3.0, and will be used in many
+ # modules, for all kinds of connection-related activity.
+ #
+ pool {
+ # Number of connections to start
+ start = 5
+
+ # Minimum number of connections to keep open
+ min = 5
+
+ # Maximum number of connections
+ #
+ # If these connections are all in use and a new one
+ # is requested, the request will NOT get a connection.
+ #
+ # NOTE: This should be greater than or equal to "min" above.
+ max = 20
+
+ # Spare connections to be left idle
+ #
+ # NOTE: Idle connections WILL be closed if "idle_timeout"
+ # is set. This should be less than or equal to "max" above.
+ spare = 15
+
+ # Number of uses before the connection is closed
+ #
+ # NOTE: A setting of 0 means infinite (no limit).
+ uses = 0
+
+ # The lifetime (in seconds) of the connection
+ #
+ # NOTE: A setting of 0 means infinite (no limit).
+ lifetime = 0
+
+ # The idle timeout (in seconds). A connection which is
+ # unused for this length of time will be closed.
+ #
+ # NOTE: A setting of 0 means infinite (no timeout).
+ idle_timeout = 1200
+
+ # NOTE: All configuration settings are enforced. If a
+ # connection is closed because of "idle_timeout",
+ # "uses", or "lifetime", then the total number of
+ # connections MAY fall below "min". When that
+ # happens, it will open a new connection. It will
+ # also log a WARNING message.
+ #
+ # The solution is to either lower the "min" connections,
+ # or increase lifetime/idle_timeout.
+ }
}
as_fn_exit 255
fi
# We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
if test "x$CONFIG_SHELL" != x; then :
export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
+ # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-jsonc-include-dir=DIR
- Directory where the json-c includes may be found
+ Directory where the json-c includes may be found
--with-jsonc-lib-dir=DIR
- Directory where the json-c libraries may be found
+ Directory where the json-c libraries may be found
--with-jsonc-dir=DIR Base directory where json-c is installed
--with-libcouchbase-include-dir=DIR
- Directory where the libcouchbase includes may be
- found
+ Directory where the libcouchbase includes may be
+ found
--with-libcouchbase-lib-dir=DIR
- Directory where the libcouchbase libraries may be
- found
+ Directory where the libcouchbase libraries may be
+ found
--with-libcouchbase-dir=DIR
- Base directory where libcouchbase is installed
+ Base directory where libcouchbase is installed
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
+ nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
+ you have headers in a nonstandard directory <include dir>
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
+ if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
+ 10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=json/json.h
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_include_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_include_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- smart_lib="-ljson-c"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ smart_lib="-ljson-c"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libjson-c${libltdl_cv_shlibext}
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libjson-c.a
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- smart_lib="-ljson"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ smart_lib="-ljson"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libjson${libltdl_cv_shlibext}
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libjson.a
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libcouchbase/couchbase.h
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_include_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_include_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- smart_lib="-lcouchbase"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ smart_lib="-lcouchbase"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libcouchbase${libltdl_cv_shlibext}
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
if test "x$LOCATE" != "x"; then
- DIRS=
+ DIRS=
file=libcouchbase.a
for x in `${LOCATE} $file 2>/dev/null`; do
- base=`echo $x | sed "s%/${file}%%"`
+ base=`echo $x | sed "s%/${file}%%"`
if test "x$x" = "x$base"; then
continue;
fi
dir=`${DIRNAME} $x 2>/dev/null`
- exclude=`echo ${dir} | ${GREP} /home`
+ exclude=`echo ${dir} | ${GREP} /home`
if test "x$exclude" != "x"; then
continue
fi
- already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
+ already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
if test "x$already" = "x"; then
DIRS="$DIRS $dir"
fi
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
- case $cache_file in #(
- */* | ?:*)
+ case $cache_file in #(
+ */* | ?:*)
mv -f confcache "$cache_file"$$ &&
mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
+ *)
mv -f confcache "$cache_file" ;;
esac
fi
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
- do not print progress messages
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ instantiate the configuration header FILE
Configuration files:
$config_files
#define BUF_SIZE 1024
static rlm_rcode_t CC_HINT(nonnull (4)) do_ruby(REQUEST *request, unsigned long func,
- VALUE module, char const *function_name)
+ VALUE module, char const *function_name)
{
rlm_rcode_t rcode = RLM_MODULE_OK;
vp_cursor_t cursor;