test_rpc_getusername()
{
- cmd="$samba_rpcclient ncacn_np:${SERVER}[schannel] --machine-pass --configfile=${CONFIGURATION} -c getusername 2>&1"
+ account="$1"
+ authority="$2"
+ shift 2
+ args="$@"
+ cmd="$samba_rpcclient ncacn_np:${SERVER}[schannel] $args --configfile=${CONFIGURATION} -c getusername 2>&1"
out=$(eval "$cmd")
ret=$?
if [ $ret -ne 0 ]; then
+ echo "account: ${account}"
+ echo "authority: ${authority}"
+ echo "args: ${args}"
+ echo "$cmd"
echo "Failed to connect! Error: $ret"
echo "$out"
return 1
fi
- echo "$out" | grep -q "Account Name: ANONYMOUS LOGON, Authority Name: NT AUTHORITY"
+ echo "$out" | grep -q -- "Account Name: ${account}, Authority Name: ${authority}"
ret=$?
if [ $ret -ne 0 ]; then
echo "Incorrect account/authority name! Error: $ret"
test_rpc_lookupsids()
{
- cmd="$samba_rpcclient ncacn_ip_tcp:${SERVER}[schannel] --machine-pass --configfile=${CONFIGURATION} -c 'lookupsids3 S-1-1-0' 2>&1"
+ args="$@"
+ cmd="$samba_rpcclient ncacn_ip_tcp:${SERVER}[schannel] ${args} --configfile=${CONFIGURATION} -c 'lookupsids3 S-1-1-0' 2>&1"
out=$(eval "$cmd")
ret=$?
if [ $ret -ne 0 ]; then
+ echo "args: ${args}"
+ echo "$cmd"
echo "Failed to connect! Error: $ret"
echo "$out"
return 1
return 0
}
-testit "ncacn_np.getusername" \
- test_rpc_getusername ||
+testit "ncacn_np.getusername.schannel" \
+ test_rpc_getusername \
+ "ANONYMOUS.LOGON" "NT.AUTHORITY" \
+ "--machine-pass --option=clientusekrb5netlogon=no" || \
+ failed=$((failed + 1))
+
+testit "ncacn_np.getusername.krb5" \
+ test_rpc_getusername \
+ '[0-9A-Za-z][0-9A-Za-z]*\$' "${DOMAIN}" \
+ "--machine-pass --option=clientusekrb5netlogon=yes" || \
failed=$((failed + 1))
if [[ "$TESTENV" == "ad_member_fips"* ]]; then
unset GNUTLS_FORCE_FIPS_MODE
- testit "ncacn_np.getusername.fips" \
- test_rpc_getusername ||
+ testit "ncacn_np.getusername.fips.schannel" \
+ test_rpc_getusername \
+ "ANONYMOUS.LOGON" "NT.AUTHORITY" \
+ "--machine-pass --option=clientusekrb5netlogon=no" || \
+ failed=$((failed + 1))
+
+ testit "ncacn_np.getusername.fips.krb5" \
+ test_rpc_getusername \
+ '[0-9A-Za-z][0-9A-Za-z]*\$' "${DOMAIN}" \
+ "--machine-pass --option=clientusekrb5netlogon=yes" || \
failed=$((failed + 1))
GNUTLS_FORCE_FIPS_MODE=1
export GNUTLS_FORCE_FIPS_MODE
fi
-testit "ncacn_ip_tcp.lookupsids" \
- test_rpc_lookupsids ||
+testit "ncacn_ip_tcp.lookupsids.schannel" \
+ test_rpc_lookupsids \
+ "--machine-pass --option=clientusekrb5netlogon=no" || \
+ failed=$((failed + 1))
+
+testit "ncacn_ip_tcp.lookupsids.krb5" \
+ test_rpc_lookupsids \
+ "--machine-pass --option=clientusekrb5netlogon=yes" || \
failed=$((failed + 1))
exit ${failed}