diff options
author | bubulle <bubulle@alioth.debian.org> | 2011-06-07 20:43:08 +0000 |
---|---|---|
committer | bubulle <bubulle@alioth.debian.org> | 2011-06-07 20:43:08 +0000 |
commit | e64520a9ed05c9782a6e8ca8015fdef01b92ecc3 (patch) | |
tree | fc3a71a0b741cbcc6a5a892f91cc0f2218dfe656 /testprogs | |
parent | 6fe9013ae23927a67fa6b6033e2711cef99b3533 (diff) | |
download | samba-e64520a9ed05c9782a6e8ca8015fdef01b92ecc3.tar.gz |
Revert upstream branch to 3.5.8....oops
git-svn-id: svn://svn.debian.org/svn/pkg-samba/branches/samba/upstream@3810 fc4039ab-9d04-0410-8cac-899223bdd6b0
Diffstat (limited to 'testprogs')
102 files changed, 94 insertions, 15542 deletions
diff --git a/testprogs/blackbox/subunit.sh b/testprogs/blackbox/subunit.sh index 9b047a2d5d..e16aee76ca 100755 --- a/testprogs/blackbox/subunit.sh +++ b/testprogs/blackbox/subunit.sh @@ -29,9 +29,6 @@ subunit_pass_test () { echo "success: $1" } -# This is just a hack as we have some broken scripts -# which use "exit $failed", without initializing failed. -failed=0 subunit_fail_test () { # emit the current protocol fail-marker for test $1, and emit stdin as @@ -83,20 +80,3 @@ testit_expect_failure () { fi return $status } - -testok () { - name=`basename $1` - shift - failed=$2 - shift - - exit $failed -} - -# work out the top level source directory -if [ -d source4 ]; then - SRCDIR="." -else - SRCDIR=".." -fi -export SRCDIR diff --git a/testprogs/blackbox/test_chgdcpass.sh b/testprogs/blackbox/test_chgdcpass.sh deleted file mode 100755 index c609efc312..0000000000 --- a/testprogs/blackbox/test_chgdcpass.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh -# Blackbox tests for kinit and kerberos integration with smbclient etc -# Copyright (C) 2006-2007 Jelmer Vernooij <jelmer@samba.org> -# Copyright (C) 2006-2008 Andrew Bartlett <abartlet@samba.org> - -if [ $# -lt 4 ]; then -cat <<EOF -Usage: test_kinit.sh SERVER USERNAME REALM DOMAIN PREFIX -EOF -exit 1; -fi - -SERVER=$1 -USERNAME=$2 -REALM=$3 -DOMAIN=$4 -PREFIX=$5 -ENCTYPE=$6 -PROVDIR=$7 -shift 7 -failed=0 - -samba4bindir="$BUILDDIR/bin" -samba4srcdir="$SRCDIR/source4" -smbclient="$samba4bindir/smbclient$EXEEXT" -samba4kinit="$samba4bindir/samba4kinit$EXEEXT" - -machineaccountccache="$samba4srcdir/scripting/bin/machineaccountccache" - -. `dirname $0`/subunit.sh - -test_smbclient() { - name="$1" - cmd="$2" - shift - shift - echo "test: $name" - $VALGRIND $smbclient $CONFIGURATION //$SERVER/tmp -c "$cmd" -W "$DOMAIN" $@ - status=$? - if [ x$status = x0 ]; then - echo "success: $name" - else - echo "failure: $name" - fi - return $status -} - -enctype="-e $ENCTYPE" - -KRB5CCNAME="$PREFIX/tmpccache" -export KRB5CCNAME -rm -f $KRB5CCNAME -testit "kinit with keytab" $samba4kinit $enctype -t $PROVDIR/private/secrets.keytab --use-keytab $USERNAME || failed=`expr $failed + 1` - -#This is important because it puts the ticket for the old KVNO and password into a local ccache -test_smbclient "Test login with kerberos ccache before password change" 'ls' -k yes || failed=`expr $failed + 1` -testit "change dc password" $samba4srcdir/scripting/devel/chgtdcpass -s $PROVDIR/etc/smb.conf || failed=`expr $failed + 1` - -#This is important because it shows that the old ticket remains valid (as it must) for incoming connections after the DC password is changed -test_smbclient "Test login with kerberos ccache after password change" 'ls' -k yes || failed=`expr $failed + 1` - -#This confirms that the DC password is valid for a kinit too -testit "kinit with keytab" $samba4kinit $enctype -t $PROVDIR/private/secrets.keytab --use-keytab $USERNAME || failed=`expr $failed + 1` -test_smbclient "Test login with kerberos ccache with fresh kinit" 'ls' -k yes || failed=`expr $failed + 1` -rm -f $KRB5CCNAME - -rm -f $PREFIX/tmpccache tmpccfile tmppassfile tmpuserpassfile tmpuserccache tmpkpasswdscript -exit $failed diff --git a/testprogs/blackbox/test_export_keytab.sh b/testprogs/blackbox/test_export_keytab.sh index 3982563a7d..80235d3255 100755 --- a/testprogs/blackbox/test_export_keytab.sh +++ b/testprogs/blackbox/test_export_keytab.sh @@ -21,8 +21,8 @@ failed=0 samba4bindir="$BUILDDIR/bin" smbclient="$samba4bindir/smbclient$EXEEXT" samba4kinit="$samba4bindir/samba4kinit$EXEEXT" -samba_tool="$samba4bindir/samba-tool$EXEEXT" -newuser="$samba_tool newuser" +net="$samba4bindir/net$EXEEXT" +newuser="$PYTHON `dirname $0`/../../source4/setup/newuser" . `dirname $0`/subunit.sh @@ -46,22 +46,22 @@ USERPASS=testPaSS@01% testit "create user locally" $VALGRIND $newuser nettestuser $USERPASS $@ || failed=`expr $failed + 1` -testit "export keytab from domain" $VALGRIND $samba_tool export keytab $PREFIX/tmpkeytab $@ || failed=`expr $failed + 1` -testit "export keytab from domain (2nd time)" $VALGRIND $samba_tool export keytab $PREFIX/tmpkeytab $@ || failed=`expr $failed + 1` +testit "export keytab from domain" $VALGRIND $net export keytab $PREFIX/tmpkeytab $@ || failed=`expr $failed + 1` +testit "export keytab from domain (2nd time)" $VALGRIND $net export keytab $PREFIX/tmpkeytab $@ || failed=`expr $failed + 1` KRB5CCNAME="$PREFIX/tmpuserccache" export KRB5CCNAME -testit "kinit with keytab as user" $VALGRIND $samba4kinit --keytab=$PREFIX/tmpkeytab --request-pac nettestuser@$REALM || failed=`expr $failed + 1` +testit "kinit with keytab as user" $samba4kinit --keytab=$PREFIX/tmpkeytab --request-pac nettestuser@$REALM || failed=`expr $failed + 1` test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` KRB5CCNAME="$PREFIX/tmpadminccache" export KRB5CCNAME -testit "kinit with keytab as $USERNAME" $VALGRIND $samba4kinit --keytab=$PREFIX/tmpkeytab --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` +testit "kinit with keytab as $USERNAME" $samba4kinit --keytab=$PREFIX/tmpkeytab --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` -testit "del user" $VALGRIND $samba_tool user delete nettestuser -k yes $@ || failed=`expr $failed + 1` +testit "del user" $VALGRIND $net user delete nettestuser -k yes $@ || failed=`expr $failed + 1` -rm -f $PREFIX/tmpadminccache $PREFIX/tmpuserccache $PREFIX/tmpkeytab +rm -f tmpadminccache tmpuserccache tmpkeytab exit $failed diff --git a/testprogs/blackbox/test_kinit.sh b/testprogs/blackbox/test_kinit.sh index 635e228e06..91f21f473b 100755 --- a/testprogs/blackbox/test_kinit.sh +++ b/testprogs/blackbox/test_kinit.sh @@ -16,21 +16,16 @@ PASSWORD=$3 REALM=$4 DOMAIN=$5 PREFIX=$6 -ENCTYPE=$7 -shift 7 +shift 6 failed=0 samba4bindir="$BUILDDIR/bin" -samba4srcdir="$SRCDIR/source4" smbclient="$samba4bindir/smbclient$EXEEXT" samba4kinit="$samba4bindir/samba4kinit$EXEEXT" -samba_tool="$samba4bindir/samba-tool$EXEEXT" -ldbmodify="$samba4bindir/ldbmodify$EXEEXT" -ldbsearch="$samba4bindir/ldbsearch$EXEEXT" +net="$samba4bindir/net$EXEEXT" rkpty="$samba4bindir/rkpty$EXEEXT" samba4kpasswd="$samba4bindir/samba4kpasswd$EXEEXT" -enableaccount="$samba_tool enableaccount" -machineaccountccache="$samba4srcdir/scripting/bin/machineaccountccache" +enableaccount="$PYTHON `dirname $0`/../../source4/setup/enableaccount" . `dirname $0`/subunit.sh @@ -50,131 +45,89 @@ test_smbclient() { return $status } -enctype="-e $ENCTYPE" - -PWSETCONFIG="-H ldap://$SERVER -U$USERNAME%$PASSWORD" -export PWSETCONFIG - KRB5CCNAME="$PREFIX/tmpccache" export KRB5CCNAME -testit "reset password policies beside of minimum password age of 0 days" $VALGRIND $samba_tool pwsettings $PWSETCONFIG set --complexity=default --history-length=default --min-pwd-length=default --min-pwd-age=0 --max-pwd-age=default || failed=`expr $failed + 1` - -echo $PASSWORD > $PREFIX/tmppassfile -#testit "kinit with keytab" $samba4kinit $enctype --keytab=$PREFIX/dc/private/secrets.keytab $SERVER\$@$REALM || failed=`expr $failed + 1` -testit "kinit with password" $samba4kinit $enctype --password-file=$PREFIX/tmppassfile --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` -testit "kinit with password (enterprise style)" $samba4kinit $enctype --enterprise --password-file=$PREFIX/tmppassfile --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` -testit "kinit with password (windows style)" $samba4kinit $enctype --renewable --windows --password-file=$PREFIX/tmppassfile --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` -testit "kinit renew ticket" $samba4kinit $enctype --request-pac -R +echo $PASSWORD > ./tmppassfile +#testit "kinit with keytab" $samba4kinit --keytab=$PREFIX/dc/private/secrets.keytab $SERVER\$@$REALM || failed=`expr $failed + 1` +testit "kinit with password" $samba4kinit --password-file=./tmppassfile --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` +testit "kinit with password (enterprise style)" $samba4kinit --enterprise --password-file=./tmppassfile --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` +testit "kinit with password (windows style)" $samba4kinit --windows --password-file=./tmppassfile --request-pac $USERNAME@$REALM || failed=`expr $failed + 1` +testit "kinit with pkinit (name specified)" $samba4kinit --request-pac --renewable --pk-user=FILE:$PREFIX/dc/private/tls/admincert.pem,$PREFIX/dc/private/tls/adminkey.pem $USERNAME@$REALM || failed=`expr $failed + 1` +testit "kinit with pkinit (enterprise name specified)" $samba4kinit --request-pac --renewable --pk-user=FILE:$PREFIX/dc/private/tls/admincert.pem,$PREFIX/dc/private/tls/adminkey.pem --enterprise $USERNAME@$REALM || failed=`expr $failed + 1` +testit "kinit with pkinit (enterprise name in cert)" $samba4kinit --request-pac --renewable --pk-user=FILE:$PREFIX/dc/private/tls/admincertupn.pem,$PREFIX/dc/private/tls/adminkey.pem --pk-enterprise || failed=`expr $failed + 1` +testit "kinit renew ticket" $samba4kinit --request-pac -R test_smbclient "Test login with kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` -testit "check time with kerberos ccache" $VALGRIND $samba_tool $CONFIGURATION -k yes $@ time $SERVER || failed=`expr $failed + 1` +testit "domain join with kerberos ccache" $VALGRIND $net join $DOMAIN $CONFIGURATION -W "$DOMAIN" -k yes $@ || failed=`expr $failed + 1` +testit "check time with kerberos ccache" $VALGRIND $net time $SERVER $CONFIGURATION -W "$DOMAIN" -k yes $@ || failed=`expr $failed + 1` +testit "add user with kerberos ccache" $VALGRIND $net user add nettestuser $CONFIGURATION -k yes $@ || failed=`expr $failed + 1` USERPASS=testPass@12% -echo $USERPASS > $PREFIX/tmpuserpassfile -testit "add user with kerberos ccache" $VALGRIND $samba_tool user add nettestuser $USERPASS $CONFIGURATION -k yes $@ || failed=`expr $failed + 1` - -echo "Getting defaultNamingContext" -BASEDN=`$ldbsearch $options --basedn='' -H ldap://$SERVER -s base DUMMY=x defaultNamingContext | grep defaultNamingContext | awk '{print $2}'` - -cat > $PREFIX/tmpldbmodify <<EOF -dn: cn=nettestuser,cn=users,$BASEDN -changetype: modify -add: servicePrincipalName -servicePrincipalName: host/nettestuser -EOF +echo $USERPASS > ./tmpuserpassfile -testit "modify servicePrincipalName" $VALGRIND $ldbmodify -H ldap://$SERVER $PREFIX/tmpldbmodify -k yes $@ || failed=`expr $failed + 1` - -testit "set user password with kerberos ccache" $VALGRIND $samba_tool password set $DOMAIN\\nettestuser $USERPASS $CONFIGURATION -k yes $@ || failed=`expr $failed + 1` +testit "set user password with kerberos ccache" $VALGRIND $net password set $DOMAIN\\nettestuser $USERPASS $CONFIGURATION -k yes $@ || failed=`expr $failed + 1` testit "enable user with kerberos cache" $VALGRIND $enableaccount nettestuser -H ldap://$SERVER -k yes $@ || failed=`expr $failed + 1` KRB5CCNAME="$PREFIX/tmpuserccache" export KRB5CCNAME -testit "kinit with user password" $samba4kinit $enctype --password-file=$PREFIX/tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` +testit "kinit with user password" $samba4kinit --password-file=./tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` NEWUSERPASS=testPaSS@34% -testit "change user password with 'samba-tool password change' (rpc)" $VALGRIND $samba_tool password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS $CONFIGURATION -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` +testit "change user password with 'net password change' (rpc)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS $CONFIGURATION -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` -echo $NEWUSERPASS > $PREFIX/tmpuserpassfile -testit "kinit with user password" $samba4kinit $enctype --password-file=$PREFIX/tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` +echo $NEWUSERPASS > ./tmpuserpassfile +testit "kinit with user password" $samba4kinit --password-file=./tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` USERPASS=$NEWUSERPASS NEWUSERPASS=testPaSS@56% -echo $NEWUSERPASS > $PREFIX/tmpuserpassfile +echo $NEWUSERPASS > ./tmpuserpassfile -cat > $PREFIX/tmpkpasswdscript <<EOF +cat > ./tmpkpasswdscript <<EOF expect Password password ${USERPASS}\n expect New password send ${NEWUSERPASS}\n -expect Verify password +expect New password send ${NEWUSERPASS}\n expect Success EOF -testit "change user password with kpasswd" $rkpty $PREFIX/tmpkpasswdscript $samba4kpasswd nettestuser@$REALM || failed=`expr $failed + 1` +testit "change user password with kpasswd" $rkpty ./tmpkpasswdscript $samba4kpasswd nettestuser@$REALM || failed=`expr $failed + 1` -testit "kinit with user password" $samba4kinit $enctype --password-file=$PREFIX/tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` +testit "kinit with user password" $samba4kinit --password-file=./tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` NEWUSERPASS=testPaSS@78% -echo $NEWUSERPASS > $PREFIX/tmpuserpassfile +echo $NEWUSERPASS > ./tmpuserpassfile test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` -cat > $PREFIX/tmpkpasswdscript <<EOF +cat > ./tmpkpasswdscript <<EOF expect New password send ${NEWUSERPASS}\n -expect Verify password -send ${NEWUSERPASS}\n -expect Success -EOF - -testit "set user password with kpasswd" $rkpty $PREFIX/tmpkpasswdscript $samba4kpasswd --cache=$PREFIX/tmpccache nettestuser@$REALM || failed=`expr $failed + 1` - -testit "kinit with user password" $samba4kinit $enctype --password-file=$PREFIX/tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` - -test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` - -NEWUSERPASS=testPaSS@910% -echo $NEWUSERPASS > $PREFIX/tmpuserpassfile - -cat > $PREFIX/tmpkpasswdscript <<EOF expect New password send ${NEWUSERPASS}\n -expect Verify password -send ${NEWUSERPASS}\n expect Success EOF -testit "set user password with kpasswd and servicePrincipalName" $rkpty $PREFIX/tmpkpasswdscript $samba4kpasswd --cache=$PREFIX/tmpccache host/nettestuser@$REALM || failed=`expr $failed + 1` +testit "set user password with kpasswd" $rkpty ./tmpkpasswdscript $samba4kpasswd --cache=$PREFIX/tmpccache nettestuser@$REALM || failed=`expr $failed + 1` -testit "kinit with user password" $samba4kinit $enctype --password-file=$PREFIX/tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` +testit "kinit with user password" $samba4kinit --password-file=./tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` KRB5CCNAME="$PREFIX/tmpccache" export KRB5CCNAME -lowerrealm=$(echo $REALM | tr '[A-Z]' '[a-z]') -test_smbclient "Test login with user kerberos lowercase realm" 'ls' -k yes -Unettestuser@$lowerrealm%$NEWUSERPASS || failed=`expr $failed + 1` -test_smbclient "Test login with user kerberos lowercase realm 2" 'ls' -k yes -Unettestuser@$REALM%$NEWUSERPASS --realm=$lowerrealm || failed=`expr $failed + 1` - -testit "del user with kerberos ccache" $VALGRIND $samba_tool user delete nettestuser $CONFIGURATION -k yes $@ || failed=`expr $failed + 1` - -rm -f $KRB5CCNAME -testit "kinit with machineaccountccache script" $machineaccountccache $CONFIGURATION $KRB5CCNAME || failed=`expr $failed + 1` -test_smbclient "Test machine account login with kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` - -testit "reset password policies" $VALGRIND $samba_tool pwsettings $PWSETCONFIG set --complexity=default --history-length=default --min-pwd-length=default --min-pwd-age=default --max-pwd-age=default || failed=`expr $failed + 1` +testit "del user with kerberos ccache" $VALGRIND $net user delete nettestuser $CONFIGURATION -k yes $@ || failed=`expr $failed + 1` -rm -f $PREFIX/tmpccache tmpccfile tmppassfile tmpuserpassfile tmpuserccache tmpkpasswdscript +rm -f tmpccfile tmppassfile tmpuserpassfile tmpuserccache tmpkpasswdscript exit $failed diff --git a/testprogs/blackbox/test_ktpass.sh b/testprogs/blackbox/test_ktpass.sh deleted file mode 100755 index c44439544b..0000000000 --- a/testprogs/blackbox/test_ktpass.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -if [ $# -lt 1 ]; then -cat <<EOF -Usage: blackbox_newuser.sh PREFIX -EOF -exit 1; -fi - -PREFIX="$1" -shift 1 - -. `dirname $0`/subunit.sh - - -samba_tool="$BUILDDIR/bin/samba-tool" -samba4bindir="$BUILDDIR/bin" -samba4srcdir="$SRCDIR/source4" -samba4kinit="$samba4bindir/samba4kinit$EXEEXT" -CONFIG="--configfile=$PREFIX/dc/etc/smb.conf" - -TESTUSER="ktpassUser" - -testit "newuser" $samba_tool newuser $CONFIG $TESTUSER testp@ssw0Rd || failed=`expr $failed + 1` - -KRB5CCNAME="$PREFIX/tmpccache" -export KRB5CCNAME -echo "testp@ssw0Rd" >$PREFIX/tmppassfile -testit "kinit with passwd" $samba4kinit -e arcfour-hmac-md5 --password-file=$PREFIX/tmppassfile $TESTUSER@SAMBA.EXAMPLE.COM || failed=`expr $failed + 1` -testit "ktpass" $samba4srcdir/scripting/bin/ktpass.sh --host LOCALDC --out $PREFIX/testuser.kt --princ $TESTUSER --pass "testp@ssw0Rd" --path-to-ldbsearch=$BUILDDIR/bin|| failed=`expr $failed + 1` - -rm -f $KRB5CCNAME - -testit "kinit with keytab" $samba4kinit -e arcfour-hmac-md5 --use-keytab -t $PREFIX/testuser.kt $TESTUSER@SAMBA.EXAMPLE.COM || failed=`expr $failed + 1` - -rm -f $PREFIX/tmpccache $PREFIX/testuser.kt -exit $failed diff --git a/testprogs/blackbox/test_ldb.sh b/testprogs/blackbox/test_ldb.sh index 78fd93cf8c..9a4780f10b 100755 --- a/testprogs/blackbox/test_ldb.sh +++ b/testprogs/blackbox/test_ldb.sh @@ -32,9 +32,8 @@ check() { return $status } -export PATH="$BUILDDIR/bin:$PATH" -ldbsearch="$VALGRIND ldbsearch$EXEEXT" +ldbsearch="$VALGRIND $BUILDDIR/bin/ldbsearch$EXEEXT" check "RootDSE" $ldbsearch $CONFIGURATION $options --basedn='' -H $p://$SERVER -s base DUMMY=x dnsHostName highestCommittedUSN || failed=`expr $failed + 1` diff --git a/testprogs/blackbox/test_passwords.sh b/testprogs/blackbox/test_passwords.sh index eb7cbf087b..09799f6efa 100755 --- a/testprogs/blackbox/test_passwords.sh +++ b/testprogs/blackbox/test_passwords.sh @@ -5,7 +5,7 @@ if [ $# -lt 5 ]; then cat <<EOF -Usage: test_passwords.sh SERVER USERNAME PASSWORD REALM DOMAIN PREFIX +Usage: test_kinit.sh SERVER USERNAME PASSWORD REALM DOMAIN PREFIX EOF exit 1; fi @@ -22,10 +22,12 @@ failed=0 samba4bindir="$BUILDDIR/bin" smbclient="$samba4bindir/smbclient$EXEEXT" samba4kinit="$samba4bindir/samba4kinit$EXEEXT" -samba_tool="$samba4bindir/samba-tool$EXEEXT" +net="$samba4bindir/net$EXEEXT" rkpty="$samba4bindir/rkpty$EXEEXT" samba4kpasswd="$samba4bindir/samba4kpasswd$EXEEXT" -newuser="$samba_tool newuser" +enableaccount="$PYTHON `dirname $0`/../../source4/setup/enableaccount" +setpassword="$PYTHON `dirname $0`/../../source4/setup/setpassword" +newuser="$PYTHON `dirname $0`/../../source4/setup/newuser" . `dirname $0`/subunit.sh @@ -45,14 +47,9 @@ test_smbclient() { return $status } -CONFIG="--configfile=$PREFIX/dc/etc/smb.conf" -export CONFIG - -testit "reset password policies beside of minimum password age of 0 days" $VALGRIND $samba_tool pwsettings $CONFIG set --complexity=default --history-length=default --min-pwd-length=default --min-pwd-age=0 --max-pwd-age=default || failed=`expr $failed + 1` - USERPASS=testPaSS@01% -testit "create user locally" $VALGRIND $newuser $CONFIG nettestuser $USERPASS $@ || failed=`expr $failed + 1` +testit "create user locally" $VALGRIND $newuser nettestuser $USERPASS $@ || failed=`expr $failed + 1` KRB5CCNAME="$PREFIX/tmpuserccache" export KRB5CCNAME @@ -64,7 +61,7 @@ testit "kinit with user password" $samba4kinit --password-file=$PREFIX/tmpuserpa test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` NEWUSERPASS=testPaSS@02% -testit "change user password with 'samba-tool password change' (unforced)" $VALGRIND $samba_tool password change -W$DOMAIN -U$DOMAIN/nettestuser%$USERPASS -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` +testit "change user password with 'net password change' (unforced)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` echo $NEWUSERPASS > ./tmpuserpassfile testit "kinit with user password" $samba4kinit --password-file=./tmpuserpassfile --request-pac nettestuser@$REALM || failed=`expr $failed + 1` @@ -73,52 +70,8 @@ test_smbclient "Test login with user kerberos ccache" 'ls' -k yes || failed=`exp USERPASS=$NEWUSERPASS -WEAKPASS=testpass1 NEWUSERPASS=testPaSS@03% -# password mismatch check doesn't work yet (kpasswd bug, reported to Love) -#echo "check that password mismatch gives the right error" -#cat > ./tmpkpasswdscript <<EOF -#expect Password -#password ${USERPASS}\n -#expect New password -#send ${WEAKPASS}\n -#expect New password -#send ${NEWUSERPASS}\n -#expect password mismatch -#EOF -# -#testit "change user password with kpasswd" $rkpty ./tmpkpasswdscript $samba4kpasswd nettestuser@$REALM || failed=`expr $failed + 1` - - -echo "check that a weak password is rejected" -cat > ./tmpkpasswdscript <<EOF -expect Password -password ${USERPASS}\n -expect New password -send ${WEAKPASS}\n -expect New password -send ${WEAKPASS}\n -expect Password does not meet complexity requirements -EOF - -testit "change to weak user password with kpasswd" $rkpty ./tmpkpasswdscript $samba4kpasswd nettestuser@$REALM || failed=`expr $failed + 1` - -echo "check that a short password is rejected" -cat > ./tmpkpasswdscript <<EOF -expect Password -password ${USERPASS}\n -expect New password -send xx1\n -expect New password -send xx1\n -expect Password too short -EOF - -testit "change to short user password with kpasswd" $rkpty ./tmpkpasswdscript $samba4kpasswd nettestuser@$REALM || failed=`expr $failed + 1` - - -echo "check that a strong new password is accepted" cat > ./tmpkpasswdscript <<EOF expect Password password ${USERPASS}\n @@ -135,15 +88,15 @@ test_smbclient "Test login with user kerberos (unforced)" 'ls' -k yes -Unettestu NEWUSERPASS=testPaSS@04% -testit "set password on user locally" $VALGRIND $samba_tool setpassword $CONFIG nettestuser --newpassword=$NEWUSERPASS --must-change-at-next-login $@ || failed=`expr $failed + 1` +testit "set password on user locally" $VALGRIND $setpassword nettestuser --newpassword=$NEWUSERPASS --must-change-at-next-login $@ || failed=`expr $failed + 1` USERPASS=$NEWUSERPASS NEWUSERPASS=testPaSS@05% -testit "change user password with 'samba-tool password change' (after must change flag set)" $VALGRIND $samba_tool password change -W$DOMAIN -U$DOMAIN/nettestuser%$USERPASS -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` +testit "change user password with 'net password change' (after must change flag set)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` USERPASS=$NEWUSERPASS NEWUSERPASS=testPaSS@06% -testit "set password on user locally" $VALGRIND $samba_tool setpassword $CONFIG nettestuser --newpassword=$NEWUSERPASS --must-change-at-next-login $@ || failed=`expr $failed + 1` +testit "set password on user locally" $VALGRIND $setpassword nettestuser --newpassword=$NEWUSERPASS --must-change-at-next-login $@ || failed=`expr $failed + 1` USERPASS=$NEWUSERPASS NEWUSERPASS=testPaSS@07% @@ -163,34 +116,34 @@ USERPASS=$NEWUSERPASS test_smbclient "Test login with user kerberos" 'ls' -k yes -Unettestuser@$REALM%$NEWUSERPASS || failed=`expr $failed + 1` +testit "reset password policies" $VALGRIND $PYTHON ./setup/pwsettings set --configfile=$PREFIX/dc/etc/smb.conf --complexity=default --history-length=default --min-pwd-length=default --min-pwd-age=default --max-pwd-age=default || failed=`expr $failed + 1` + NEWUSERPASS=abcdefg -testit_expect_failure "try to set a non-complex password (command should not succeed)" $VALGRIND $samba_tool password change -W$DOMAIN "-U$DOMAIN/nettestuser%$USERPASS" -k no "$NEWUSERPASS" $@ && failed=`expr $failed + 1` +testit_expect_failure "try to set a non-complex password (command should not succeed)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ && failed=`expr $failed + 1` -testit "allow non-complex passwords" $VALGRIND $samba_tool pwsettings set $CONFIG --complexity=off || failed=`expr $failed + 1` +testit "allow non-complex passwords" $VALGRIND $PYTHON ./setup/pwsettings set --configfile=$PREFIX/dc/etc/smb.conf --complexity=off || failed=`expr $failed + 1` -testit "try to set a non-complex password (command should succeed)" $VALGRIND $samba_tool password change -W$DOMAIN "-U$DOMAIN/nettestuser%$USERPASS" -k no "$NEWUSERPASS" $@ || failed=`expr $failed + 1` +testit "try to set a non-complex password (command should succeed)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` USERPASS=$NEWUSERPASS test_smbclient "test login with non-complex password" 'ls' -k no -Unettestuser@$REALM%$USERPASS || failed=`expr $failed + 1` NEWUSERPASS=abc -testit_expect_failure "try to set a short password (command should not succeed)" $VALGRIND $samba_tool password change -W$DOMAIN "-U$DOMAIN/nettestuser%$USERPASS" -k no "$NEWUSERPASS" $@ && failed=`expr $failed + 1` +testit_expect_failure "try to set a short password (command should not succeed)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ && failed=`expr $failed + 1` -testit "allow short passwords (length 1)" $VALGRIND $samba_tool pwsettings $CONFIG set --min-pwd-length=1 || failed=`expr $failed + 1` +testit "allow short passwords (length 1)" $VALGRIND $PYTHON ./setup/pwsettings set --configfile=$PREFIX/dc/etc/smb.conf --min-pwd-length=1 || failed=`expr $failed + 1` -testit "try to set a short password (command should succeed)" $VALGRIND $samba_tool password change -W$DOMAIN "-U$DOMAIN/nettestuser%$USERPASS" -k no "$NEWUSERPASS" $@ || failed=`expr $failed + 1` -USERPASS="$NEWUSERPASS" - -testit "require minimum password age of 1 day" $VALGRIND $samba_tool pwsettings $CONFIG set --min-pwd-age=1 || failed=`expr $failed + 1` +testit "try to set a short password (command should succeed)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ || failed=`expr $failed + 1` +USERPASS=$NEWUSERPASS -testit "show password settings" $VALGRIND $samba_tool pwsettings $CONFIG show || failed=`expr $failed + 1` +testit "require minimum password age of 1 day" $VALGRIND $PYTHON ./setup/pwsettings set --configfile=$PREFIX/dc/etc/smb.conf --min-pwd-age=1 || failed=`expr $failed + 1` -NEWUSERPASS="testPaSS@08%" -testit_expect_failure "try to change password too quickly (command should not succeed)" $VALGRIND $samba_tool password change -W$DOMAIN "-U$DOMAIN/nettestuser%$USERPASS" -k no "$NEWUSERPASS" $@ && failed=`expr $failed + 1` +NEWUSERPASS=testPaSS@08% +testit_expect_failure "try to change password too quickly (command should not succeed)" $VALGRIND $net password change -W$DOMAIN -U$DOMAIN\\nettestuser%$USERPASS -k no $NEWUSERPASS $@ && failed=`expr $failed + 1` -testit "reset password policies" $VALGRIND $samba_tool pwsettings $CONFIG set --complexity=default --history-length=default --min-pwd-length=default --min-pwd-age=default --max-pwd-age=default || failed=`expr $failed + 1` +testit "reset password policies" $VALGRIND $PYTHON ./setup/pwsettings set --configfile=$PREFIX/dc/etc/smb.conf --complexity=default --history-length=default --min-pwd-length=default --min-pwd-age=default --max-pwd-age=default || failed=`expr $failed + 1` -testit "del user" $VALGRIND $samba_tool user delete nettestuser -U"$USERNAME%$PASSWORD" -k no $@ || failed=`expr $failed + 1` +testit "del user" $VALGRIND $net user delete nettestuser -U"$USERNAME%$PASSWORD" -k no $@ || failed=`expr $failed + 1` rm -f tmpccfile tmppassfile tmpuserpassfile tmpuserccache tmpkpasswdscript exit $failed diff --git a/testprogs/blackbox/test_pkinit.sh b/testprogs/blackbox/test_pkinit.sh deleted file mode 100755 index 41798eaf6e..0000000000 --- a/testprogs/blackbox/test_pkinit.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# Blackbox tests for kinit and kerberos integration with smbclient etc -# Copyright (C) 2006-2007 Jelmer Vernooij <jelmer@samba.org> -# Copyright (C) 2006-2008 Andrew Bartlett <abartlet@samba.org> - -if [ $# -lt 5 ]; then -cat <<EOF -Usage: test_kinit.sh SERVER USERNAME PASSWORD REALM DOMAIN PREFIX -EOF -exit 1; -fi - -SERVER=$1 -USERNAME=$2 -PASSWORD=$3 -REALM=$4 -DOMAIN=$5 -PREFIX=$6 -ENCTYPE=$7 -shift 7 -failed=0 - -samba4bindir="$BUILDDIR/bin" -samba4srcdir="$SRCDIR/source4" -smbclient="$samba4bindir/smbclient$EXEEXT" -samba4kinit="$samba4bindir/samba4kinit$EXEEXT" -samba_tool="$samba4bindir/samba-tool$EXEEXT" -ldbmodify="$samba4bindir/ldbmodify$EXEEXT" -ldbsearch="$samba4bindir/ldbsearch$EXEEXT" -rkpty="$samba4bindir/rkpty$EXEEXT" -samba4kpasswd="$samba4bindir/samba4kpasswd$EXEEXT" -enableaccount="$samba_tool enableaccount" -machineaccountccache="$samba4srcdir/scripting/bin/machineaccountccache" - -. `dirname $0`/subunit.sh - -test_smbclient() { - name="$1" - cmd="$2" - shift - shift - echo "test: $name" - $VALGRIND $smbclient $CONFIGURATION //$SERVER/tmp -c "$cmd" -W "$DOMAIN" $@ - status=$? - if [ x$status = x0 ]; then - echo "success: $name" - else - echo "failure: $name" - fi - return $status -} - -enctype="-e $ENCTYPE" - -KRB5CCNAME="$PREFIX/tmpccache" -export KRB5CCNAME - -testit "kinit with pkinit (name specified)" $samba4kinit $enctype --request-pac --renewable --pk-user=FILE:$PREFIX/dc/private/tls/admincert.pem,$PREFIX/dc/private/tls/adminkey.pem $USERNAME@$REALM || failed=`expr $failed + 1` -testit "kinit with pkinit (enterprise name specified)" $samba4kinit $enctype --request-pac --renewable --pk-user=FILE:$PREFIX/dc/private/tls/admincert.pem,$PREFIX/dc/private/tls/adminkey.pem --enterprise $USERNAME@$REALM || failed=`expr $failed + 1` -testit "kinit with pkinit (enterprise name in cert)" $samba4kinit $enctype --request-pac --renewable --pk-user=FILE:$PREFIX/dc/private/tls/admincertupn.pem,$PREFIX/dc/private/tls/adminkey.pem --pk-enterprise || failed=`expr $failed + 1` -testit "kinit renew ticket" $samba4kinit --request-pac -R - -test_smbclient "Test login with kerberos ccache" 'ls' -k yes || failed=`expr $failed + 1` - -rm -f $PREFIX/tmpccache -exit $failed diff --git a/testprogs/win32/midltests/Makefile b/testprogs/win32/midltests/Makefile index ded98e9582..535968b16d 100644 --- a/testprogs/win32/midltests/Makefile +++ b/testprogs/win32/midltests/Makefile @@ -1,16 +1,27 @@ +INCLUDES=-I +CFLAGS=$(INCLUDES) -Zi -D_WIN32_WINNT=0x502 +LIBS=rpcrt4.lib -all: - @echo "nmake targets:" - @echo " clean" - @echo " simple" - @echo " tcp" +all: midltests.exe clean: - @call nmake /f Makefile.simple /A /NOLOGO clean - @call nmake /f Makefile.tcp /A /NOLOGO clean + del *~ *.obj *.exe midltests.h midltests_s.c midltests_c.c -simple: - @call nmake /f Makefile.simple /A /NOLOGO all +#MIDL_ARGS=/target NT50 +MIDL_ARGS=/Os /prefix client cli_ /prefix server srv_ /prefix switch swi_ +midltests.h midltests_s.c midltests_c.c: midltests.idl midltests.acf + midl $(MIDL_ARGS) /acf midltests.acf midltests.idl -tcp: - @call nmake /f Makefile.tcp /A /NOLOGO all +MIDLTESTS_OBJ = midltests.obj midltests_s_m.obj midltests_c_m.obj midltests_marshall.obj utils.obj +midltests.exe: $(MIDLTESTS_OBJ) + $(CC) -o midltests.exe $(MIDLTESTS_OBJ) $(LIBS) + +midltests.obj: midltests.h midltests.idl +midltests_c_m.c: midltests_c.c +midltests_s_m.c: midltests_s.c + +midltests.obj: midltests.h midltests.idl midltests.c +midltests_s_m.obj: midltests_marshall.h midltests_s.c midltests_s_m.c +midltests_c_m.obj: midltests_marshall.h midltests_c.c midltests_c_m.c +midltests_marshall.obj: midltests.h midltests_marshall.c +utils.obj: midltests.h utils.c diff --git a/testprogs/win32/midltests/Makefile.simple b/testprogs/win32/midltests/Makefile.simple deleted file mode 100644 index ec4a54294c..0000000000 --- a/testprogs/win32/midltests/Makefile.simple +++ /dev/null @@ -1,27 +0,0 @@ -INCLUDES=-I -CFLAGS=$(INCLUDES) -Zi -D_WIN32_WINNT=0x502 -LIBS=rpcrt4.lib - -all: midltests_simple.exe - -clean: - del *~ *.obj *.exe midltests.h midltests_s.c midltests_c.c - -#MIDL_ARGS=/target NT50 -MIDL_ARGS=/Os /prefix client cli_ /prefix server srv_ /prefix switch swi_ -midltests.h midltests_s.c midltests_c.c: midltests.idl midltests.acf - midl $(MIDL_ARGS) /acf midltests.acf midltests.idl - -MIDLTESTS_OBJ = midltests_simple.obj midltests_s_m.obj midltests_c_m.obj midltests_marshall.obj utils.obj -midltests_simple.exe: $(MIDLTESTS_OBJ) - $(CC) -o midltests_simple.exe $(MIDLTESTS_OBJ) $(LIBS) - -midltests_simple.obj: midltests.h midltests.idl -midltests_c_m.c: midltests_c.c -midltests_s_m.c: midltests_s.c - -midltests_simple.obj: midltests.h midltests.idl midltests_simple.c -midltests_s_m.obj: midltests_marshall.h midltests_s.c midltests_s_m.c -midltests_c_m.obj: midltests_marshall.h midltests_c.c midltests_c_m.c -midltests_marshall.obj: midltests.h midltests_marshall.c -utils.obj: midltests.h utils.c diff --git a/testprogs/win32/midltests/Makefile.tcp b/testprogs/win32/midltests/Makefile.tcp deleted file mode 100644 index 19c1f11d8a..0000000000 --- a/testprogs/win32/midltests/Makefile.tcp +++ /dev/null @@ -1,22 +0,0 @@ -INCLUDES=-I -CFLAGS=$(INCLUDES) -Zi -D_WIN32_WINNT=0x610 -LIBS=rpcrt4.lib ws2_32.lib - -all: midltests_tcp.exe - -clean: - del *~ *.obj *.exe midltests.h midltests_s.c midltests_c.c - -MIDL_ARGS=/target NT60 /prefix client cli_ /prefix server srv_ /prefix switch swi_ -midltests.h midltests_s.c midltests_c.c: midltests.idl midltests.acf - midl $(MIDL_ARGS) /acf midltests.acf midltests.idl - -MIDLTESTS_OBJ = midltests_tcp.obj midltests_s.obj midltests_c.obj midltests_marshall.obj utils.obj -midltests_tcp.exe: $(MIDLTESTS_OBJ) - $(CC) -o midltests_tcp.exe $(MIDLTESTS_OBJ) $(LIBS) - -midltests_tcp.obj: midltests.h midltests.idl - -midltests_tcp.obj: midltests.h midltests.idl midltests_tcp.c -midltests_marshall.obj: midltests.h midltests_marshall.c -utils.obj: midltests.h utils.c diff --git a/testprogs/win32/midltests/invalid/README.txt b/testprogs/win32/midltests/invalid/README.txt deleted file mode 100644 index f10cc1574c..0000000000 --- a/testprogs/win32/midltests/invalid/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -This directory contains IDL files which give errors, -when they're compiled as midltests.idl. - diff --git a/testprogs/win32/midltests/invalid/midltests_pipe_struct_union_01.idl b/testprogs/win32/midltests/invalid/midltests_pipe_struct_union_01.idl deleted file mode 100644 index 517806b7e0..0000000000 --- a/testprogs/win32/midltests/invalid/midltests_pipe_struct_union_01.idl +++ /dev/null @@ -1,279 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - typedef pipe hyper pipe_hyper; - typedef struct { - long l; - short s; - [switch_is(l)] union { - [case(0)]; - [case(1)] char c; - [case(2)] short s; - [case(4)] long l; - [case(8)] hyper h; - } u; - } structtype; - typedef pipe structtype pipe_structtype; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out,ref] pipe_structtype *outp, - [in,ref] pipe_structtype *inp, - [in] struct msg in1 - ); - - long midltests_ping( [in] struct msg in1); - -} - -#elif MIDLTESTS_C_CODE - -struct pipe_char_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_char_pull( - char * _state, - unsigned char * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_char_push( - char * _state, - unsigned char * buf, - unsigned long ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_char_alloc( - char * _state, - unsigned long bsize, - unsigned char * * buf, - unsigned long * bcount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} - -struct pipe_hyper_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_hyper_pull( - char * _state, - hyper * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_hyper_push( - char * _state, - hyper * buf, - unsigned long ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_hyper_alloc( - char * _state, - unsigned long bsize, - hyper * * buf, - unsigned long * bcount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -struct pipe_structtype_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_structtype_pull( - char * _state, - structtype * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_structtype_push( - char * _state, - structtype * buf, - unsigned long ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_structtype_alloc( - char * _state, - unsigned long bsize, - structtype * * buf, - unsigned long * bcount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_structtype_state outs; - pipe_structtype outp; - struct pipe_structtype_state ins; - pipe_structtype inp; - struct msg in1; - unsigned char in1b[3]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_structtype_pull; - outp.push = pipe_structtype_push; - outp.alloc = pipe_structtype_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 1; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_structtype_pull; - inp.push = pipe_structtype_push; - inp.alloc = pipe_structtype_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_ping(in1); - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1, - /* [out] */ pipe_structtype outp, - /* [in] */ pipe_structtype inp, - /* [in] */ struct msg in1) -{ - structtype inb[500]; - unsigned long inb_len = 0; - structtype *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - } while (inb_len > 0); - - outb_size = 5; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len * sizeof(*outb)); - outp.push(outp.state, outb, outb_len); - printf("push outb_len[%u]\n", outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -long srv_midltests_ping( - /* [in] */ struct msg in1) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} -#endif diff --git a/testprogs/win32/midltests/invalid/midltests_pipe_struct_union_01.txt b/testprogs/win32/midltests/invalid/midltests_pipe_struct_union_01.txt deleted file mode 100644 index 46f8de52bb..0000000000 --- a/testprogs/win32/midltests/invalid/midltests_pipe_struct_union_01.txt +++ /dev/null @@ -1,17 +0,0 @@ - -Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 -Copyright (C) Microsoft Corporation. All rights reserved. - - midl /target NT60 /prefix client cli_ /prefix server srv_ /prefix switch swi_ /acf midltests.acf midltests.idl -Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0555 -Copyright (c) Microsoft Corporation. All rights reserved. -64 bit Processing .\midltests.idl -midltests.idl -64 bit Processing .\midltests.acf -midltests.acf -.\midltests.idl(34) : error MIDL2028 : feature not implemented : pipes can't contain unions [ Type 'pipe_structtype' ( Parameter 'outp' ) ] -.\midltests.idl(34) : error MIDL2028 : feature not implemented : pipes can't contain unions [ Type 'pipe_structtype' ( Parameter 'inp' ) ] -NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\x64\midl.EXE"' : return code '0x8a6' -Stop. -NMAKE : fatal error U1077: 'call' : return code '0x2' -Stop. diff --git a/testprogs/win32/midltests/midltests_simple.c b/testprogs/win32/midltests/midltests.c index 61d4ce0812..61d4ce0812 100644 --- a/testprogs/win32/midltests/midltests_simple.c +++ b/testprogs/win32/midltests/midltests.c diff --git a/testprogs/win32/midltests/midltests.idl b/testprogs/win32/midltests/midltests.idl index 0c0bbf8d3d..1932549c56 100644 --- a/testprogs/win32/midltests/midltests.idl +++ b/testprogs/win32/midltests/midltests.idl @@ -1,29 +1,5 @@ #ifndef MIDLTESTS_C_CODE -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - [ uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), pointer_default(unique) @@ -48,4 +24,4 @@ long srv_midltests_fn(void) return 0x65757254; } -#endif +#endif
\ No newline at end of file diff --git a/testprogs/win32/midltests/midltests_marshall.c b/testprogs/win32/midltests/midltests_marshall.c index f0fc78a71d..e772afd03d 100644 --- a/testprogs/win32/midltests/midltests_marshall.c +++ b/testprogs/win32/midltests/midltests_marshall.c @@ -30,7 +30,7 @@ static void print_asc(const unsigned char *buf,int len) printf("%c", isprint(buf[i])?buf[i]:'.'); } -void dump_data(const unsigned char *buf1,int len) +static void dump_data(const unsigned char *buf1,int len) { const unsigned char *buf = (const unsigned char *)buf1; int i=0; @@ -61,8 +61,6 @@ void dump_data(const unsigned char *buf1,int len) } } -#if _WIN32_WINNT < 0x600 - void NdrGetBufferMarshall(PMIDL_STUB_MESSAGE stubmsg, unsigned long len, RPC_BINDING_HANDLE hnd) { stubmsg->RpcMsg->Buffer = HeapAlloc(GetProcessHeap(), 0, len); @@ -121,5 +119,3 @@ RPC_STATUS WINAPI I_RpcGetBufferMarshall(PRPC_MESSAGE RpcMsg) memset(RpcMsg->Buffer, 0xcd, RpcMsg->BufferLength); return 0; } - -#endif /* _WIN32_WINNT < 0x600 */ diff --git a/testprogs/win32/midltests/midltests_marshall.h b/testprogs/win32/midltests/midltests_marshall.h index 8bb59b9a00..0c6aed2721 100644 --- a/testprogs/win32/midltests/midltests_marshall.h +++ b/testprogs/win32/midltests/midltests_marshall.h @@ -1,9 +1,5 @@ #include "rpc.h" #include "rpcndr.h" - -void dump_data(const unsigned char *buf1,int len); - -#if _WIN32_WINNT < 0x600 #define NdrSendReceive NdrSendReceiveMarshall void NdrSendReceiveMarshall(PMIDL_STUB_MESSAGE stubmsg, unsigned char *buffer); #define NdrGetBuffer NdrGetBufferMarshall @@ -15,5 +11,6 @@ void NdrServerInitializeNewMarshall(PRPC_MESSAGE pRpcMsg, #define I_RpcGetBuffer I_RpcGetBufferMarshall RPC_STATUS WINAPI I_RpcGetBufferMarshall(PRPC_MESSAGE pMsg); -#endif /* _WIN32_WINNT < 0x600 */ + + diff --git a/testprogs/win32/midltests/midltests_tcp.c b/testprogs/win32/midltests/midltests_tcp.c deleted file mode 100644 index 3046f6debc..0000000000 --- a/testprogs/win32/midltests/midltests_tcp.c +++ /dev/null @@ -1,646 +0,0 @@ -/* - MIDLTESTS client. - - Copyright (C) Stefan Metzmacher 2008 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <winsock.h> -#include "midltests.h" - -#ifndef _M_AMD64 -#error "please run 'vcvarsall.bat amd64' -midltests_tcp needs 64-bit support!" -#endif - -#define MIDLTESTS_C_CODE 1 -#include "midltests.idl" - -#ifndef LISTEN_IP -#define LISTEN_IP "127.0.0.1" -#endif - -#ifndef FORWARD_IP -#define FORWARD_IP "127.0.0.1" -#endif - -#ifndef CONNECT_IP -#define CONNECT_IP "127.0.0.1" -#endif - -struct NDRTcpThreadCtx; - -struct NDRProxyThreadCtx { - const struct NDRTcpThreadCtx *ctx; - SOCKET InSocket; - SOCKET OutSocket; - DWORD dwThreadId; - HANDLE hThread; -}; - -struct NDRTcpThreadCtx { - const char *name; - short listen_port; - short client_port; - BOOL ndr64; - BOOL stop; -}; - -struct dcerpc_header { - BYTE rpc_vers; /* RPC version */ - BYTE rpc_vers_minor; /* Minor version */ - BYTE ptype; /* Packet type */ - BYTE pfc_flags; /* Fragmentation flags */ - BYTE drep[4]; /* NDR data representation */ - short frag_length; /* Total length of fragment */ - short auth_length; /* authenticator length */ - DWORD call_id; /* Call identifier */ -}; - -static void dump_packet(const char *ctx, const char *direction, - const unsigned char *buf, int len) -{ - struct dcerpc_header *hdr = (struct dcerpc_header *)buf; - - if (len < sizeof(struct dcerpc_header)) { - printf("%s:%s: invalid dcerpc pdu len(%d)\n", - ctx, direction, len); - fflush(stdout); - return; - } - - if (hdr->rpc_vers != 5 || hdr->rpc_vers_minor != 0) { - printf("%s:%s: invalid dcerpc pdu len(%d) ver:%d min:%d\n", - ctx, direction, len, - hdr->rpc_vers, hdr->rpc_vers_minor); - fflush(stdout); - return; - } - - if (hdr->frag_length != len) { - printf("%s:%s: invalid dcerpc pdu len(%d) should be (%d)\n", - ctx, direction, len, hdr->frag_length); - fflush(stdout); - return; - } - - - switch (hdr->ptype) { - case 0: /* request */ - printf("%s:%s: ptype[request] flen[%d] plen[%d] ahint[%d]\n\n", - ctx, direction, hdr->frag_length, - len - 24, *(DWORD *)(&buf[0x10])); - dump_data(buf + 24, len - 24); - printf("\n"); - fflush(stdout); - break; - - case 2: /* response */ - printf("\n%s:%s: ptype[response] flen[%d] plen[%d] ahint[%d]\n\n", - ctx, direction, hdr->frag_length, - len - 24, *(DWORD *)(&buf[0x10])); - dump_data(buf + 24, len - 24); - printf("\n"); - fflush(stdout); - break; - - case 11: /* bind */ -#if 0 - printf("%s:%s: ptype[bind] flen[%d] call[%d] contexts[%d]\n\n" - ctx, direction, hdr->frag_length, hdr->call_id, - buf[24]); - dump_data(buf + 24, len - 24); - printf("\n"); - fflush(stdout); -#endif - break; - - case 12: /* bind ack */ -#if 0 - printf("%s:%s: ptype[bind_ack] flen[%d] call[%d]\n\n", - ctx, direction, hdr->frag_length, hdr->call_id); - fflush(stdout); -#endif - break; - - case 14: /* alter_req */ -#if 1 - printf("%s:%s: ptype[alter_req] flen[%d] call[%d] contexts[%d]\n\n", - ctx, direction, hdr->frag_length, hdr->call_id, - buf[24]); - //dump_data(buf + 24, len - 24); - printf("\n"); - fflush(stdout); -#endif - break; - - case 15: /* alter_ack */ -#if 1 - printf("%s:%s: ptype[alter_ack] flen[%d] call[%d]\n\n", - ctx, direction, hdr->frag_length, hdr->call_id); - fflush(stdout); -#endif - break; - - default: - printf("%s:%s: ptype[%d] flen[%d] call[%d]\n\n", - ctx, direction, hdr->ptype, hdr->frag_length, hdr->call_id); - fflush(stdout); - break; - } -} - -static void change_packet(const char *ctx, BOOL ndr64, - unsigned char *buf, int len) -{ - struct dcerpc_header *hdr = (struct dcerpc_header *)buf; - BOOL is_ndr64 = FALSE; - const unsigned char ndr64_buf[] = { - 0x33, 0x05, 0x71, 0x71, 0xBA, 0xBE, 0x37, 0x49, - 0x83, 0x19, 0xB5, 0xDB, 0xEF, 0x9C, 0xCC, 0x36 - }; - - if (len < sizeof(struct dcerpc_header)) { - printf("%s: invalid dcerpc pdu len(%d)\n", - ctx, len); - fflush(stdout); - return; - } - - if (hdr->rpc_vers != 5 || hdr->rpc_vers_minor != 0) { - printf("%s: invalid dcerpc pdu len(%d) ver:%d min:%d\n", - ctx, len, - hdr->rpc_vers, hdr->rpc_vers_minor); - fflush(stdout); - return; - } - - if (hdr->frag_length != len) { - printf("%s: invalid dcerpc pdu len(%d) should be (%d)\n", - ctx, len, hdr->frag_length); - fflush(stdout); - return; - } - - switch (hdr->ptype) { - case 11: /* bind */ - case 14: /* alter_req */ - - if (buf[24] >= 2) { - int ret; - - ret = memcmp(&buf[0x60], ndr64_buf, 16); - if (ret == 0) { - is_ndr64 = TRUE; - } - } - - if (is_ndr64 && !ndr64) { - buf[24+0x48] = 0xFF; - memset(&buf[0x60], 0xFF, 16); - printf("%s: disable NDR64\n\n", ctx); - } else if (!is_ndr64 && ndr64) { - printf("\n%s: got NDR32 downgrade\n\n", ctx); -#ifndef DONOT_FORCE_NDR64 - printf("\n\tERROR!!!\n\n"); - memset(&buf[0x34], 0xFF, 16); - printf("You may need to run 'vcvarsall.bat amd64' before 'nmake tcp'\n"); -#endif - printf("\n"); - } else if (is_ndr64) { - printf("%s: got NDR64\n\n", ctx); - } else { - printf("%s: got NDR32\n\n", ctx); - } - //printf("%s: bind with %u pres\n", ctx, buf[24]); - fflush(stdout); - break; - } -} - -static int sock_pending(SOCKET s) -{ - int ret, error; - int value = 0; - int len; - - ret = ioctlsocket(s, FIONREAD, &value); - if (ret == -1) { - return ret; - } - - if (ret != 0) { - /* this should not be reached */ - return -1; - } - - if (value != 0) { - return value; - } - - error = 0; - len = sizeof(error); - - /* - * if no data is available check if the socket is in error state. For - * dgram sockets it's the way to return ICMP error messages of - * connected sockets to the caller. - */ - ret = getsockopt(s, SOL_SOCKET, SO_ERROR, (char *)&error, &len); - if (ret == -1) { - return ret; - } - if (error != 0) { - return -1; - } - return 0; -} - -DWORD WINAPI NDRProxyThread(LPVOID lpParameter) -{ - struct NDRProxyThreadCtx *p = (struct NDRProxyThreadCtx *)lpParameter; - - while (!p->ctx->stop) { - int r, s; - int ret = -1; - BYTE buf[5840]; - - Sleep(250); - - ret = sock_pending(p->InSocket); - if (ret == 0) { - goto out; - } - - r = recv(p->InSocket, buf, sizeof(buf), 0); - if (r <= 0) { - ret = WSAGetLastError(); - printf("%s: recv(in) failed[%d][%d]\n", p->ctx->name, r, ret); - fflush(stdout); - goto stop; - } - - change_packet(p->ctx->name, p->ctx->ndr64, buf, r); - fflush(stdout); - - dump_packet(p->ctx->name, "in => out", buf, r); - fflush(stdout); - -out: - s = send(p->OutSocket, buf, r, 0); - if (s <= 0) { - ret = WSAGetLastError(); - printf("%s: send(out) failed[%d][%d]\n", p->ctx->name, s, ret); - fflush(stdout); - goto stop; - } - - ret = sock_pending(p->OutSocket); - if (ret == 0) { - goto next; - } - - r = recv(p->OutSocket, buf, sizeof(buf), 0); - if (r <= 0) { - ret = WSAGetLastError(); - printf("%s: recv(out) failed[%d][%d]\n", p->ctx->name, r, ret); - fflush(stdout); - goto stop; - } - - dump_packet(p->ctx->name, "out => in", buf, r); - fflush(stdout); - - s = send(p->InSocket, buf, r, 0); - if (s <= 0) { - ret = WSAGetLastError(); - printf("%s: send(in) failed[%d][%d]\n", p->ctx->name, s, ret); - fflush(stdout); - goto stop; - } -next: - continue; - } -stop: - closesocket(p->InSocket); - closesocket(p->OutSocket); - - printf("NDRTcpThread[%s] stop\n", p->ctx->name); - fflush(stdout); - return 0; -} - -DWORD WINAPI NDRTcpThread(LPVOID lpParameter) -{ - struct NDRTcpThreadCtx *ctx = (struct NDRTcpThreadCtx *)lpParameter; - int ret = -1; - SOCKET ListenSocket; - struct sockaddr_in saServer; - struct sockaddr_in saClient; - - //printf("NDRTcpThread[%s] start\n", ctx->name); - fflush(stdout); - - ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if (ListenSocket == INVALID_SOCKET) { - ret = WSAGetLastError(); - printf("socket() failed[%d][%d]\n", ListenSocket, ret); - fflush(stdout); - goto failed; - } - - saServer.sin_family = AF_INET; - saServer.sin_addr.s_addr = inet_addr(LISTEN_IP); - saServer.sin_port = htons(ctx->listen_port); - - saClient.sin_family = AF_INET; - saClient.sin_addr.s_addr = inet_addr(FORWARD_IP); - saClient.sin_port = htons(ctx->client_port); - - ret = bind(ListenSocket, (SOCKADDR*)&saServer, sizeof(saServer)); - if (ret == SOCKET_ERROR) { - ret = WSAGetLastError(); - printf("bind() failed[%d]\n", ret); - fflush(stdout); - goto failed; - } - - ret = listen(ListenSocket, 10); - if (ret == SOCKET_ERROR) { - ret = WSAGetLastError(); - printf("listen() failed[%d]\n", ret); - fflush(stdout); - goto failed; - } - - while (!ctx->stop) { - struct sockaddr_in sa; - int sa_len = sizeof(sa); - struct NDRProxyThreadCtx *p = malloc(sizeof(*p)); - p->ctx = ctx; - - p->InSocket = accept(ListenSocket, (SOCKADDR *)&sa, &sa_len); - if (p->InSocket == INVALID_SOCKET) { - ret = WSAGetLastError(); - printf("%s: accept() failed[%d][%d]\n", p->ctx->name, p->InSocket, ret); - fflush(stdout); - continue; - } - - p->OutSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if (p->OutSocket == INVALID_SOCKET) { - ret = WSAGetLastError(); - printf("%s: socket(out) failed[%d][%d]\n", p->ctx->name, p->OutSocket, ret); - fflush(stdout); - closesocket(p->InSocket); - continue; - } - - ret = connect(p->OutSocket, (SOCKADDR*)&saClient, sizeof(saClient)); - if (ret == SOCKET_ERROR) { - ret = WSAGetLastError(); - printf("%s: connect() failed[%d]\n", p->ctx->name, ret); - fflush(stdout); - closesocket(p->InSocket); - closesocket(p->OutSocket); - continue; - } - - p->hThread = CreateThread( - NULL, // default security attributes - 0, // use default stack size - NDRProxyThread, // thread function name - p, // argument to thread function - 0, // use default creation flags - &p->dwThreadId);// returns the thread identifier - if (p->hThread == NULL) { - printf("failed to create thread ndr32\n"); - fflush(stdout); - return -1; - } - } - - //printf("NDRTcpThread[%s] stop\n", ctx->name); - fflush(stdout); - return 0; -failed: - printf("NDRTcpThread[%s] failed[%d]\n", ctx->name, ret); - fflush(stdout); - return ret; -} - -struct NDRRpcThreadCtx { - const char *name; - short listen_port; -}; - -DWORD WINAPI NDRRpcThread(LPVOID lpParameter) -{ - struct NDRRpcThreadCtx *ctx = (struct NDRRpcThreadCtx *)lpParameter; - int ret = -1; - RPC_STATUS status; - RPC_BINDING_VECTOR *pBindingVector; - -#define RPC_MIN_CALLS 1 -#define RPC_MAX_CALLS 20 - - //printf("NDRRpcThread[%s] start\n", ctx->name); - fflush(stdout); - status = RpcServerUseProtseqEp("ncacn_ip_tcp", RPC_MAX_CALLS, "5055", NULL); - if (status) { - printf("Failed to register ncacn_ip_tcp endpoint\n"); - fflush(stdout); - return status; - } - - status = RpcServerInqBindings(&pBindingVector); - if (status) { - printf("Failed RpcServerInqBindings\n"); - fflush(stdout); - return status; - } - -#if 0 - status = RpcEpRegister(srv_midltests_v0_0_s_ifspec, pBindingVector, NULL, "midltests server"); - if (status) { - printf("Failed RpcEpRegister\n"); - fflush(stdout); - return status; - } -#endif - status = RpcServerRegisterIf(srv_midltests_v0_0_s_ifspec, NULL, NULL); - if (status) { - printf("Failed to register interface\n"); - fflush(stdout); - return status; - } - - status = RpcServerListen(RPC_MIN_CALLS, RPC_MAX_CALLS, FALSE); - if (status) { - printf("RpcServerListen returned error %d\n", status); - fflush(stdout); - return status; - } - - printf("NDRRpcThread[%s] stop\n", ctx->name); - fflush(stdout); - return 0; -failed: - printf("NDRRpcThread[%s] failed[%d]\n", ctx->name, ret); - fflush(stdout); - return ret; -} - -int main(int argc, char **argv) -{ - int ret; - struct NDRTcpThreadCtx ctx_ndr32; - struct NDRTcpThreadCtx ctx_ndr64; - struct NDRRpcThreadCtx ctx_rpc; - DWORD dwThreadIdArray[3]; - HANDLE hThreadArray[3]; - WORD wVersionRequested = MAKEWORD(2, 2); - WSADATA wsaData; - char *binding; - RPC_STATUS status; - - ret = WSAStartup(wVersionRequested, &wsaData); - if (ret != 0) { - printf("WSAStartup failed with error: %d\n", ret); - fflush(stdout); - return -1; - } - - ctx_ndr32.name = "ndr32"; - ctx_ndr32.listen_port = 5032; - ctx_ndr32.client_port = 5055; - ctx_ndr32.ndr64 = FALSE; - ctx_ndr32.stop = FALSE; - hThreadArray[0] = CreateThread( - NULL, // default security attributes - 0, // use default stack size - NDRTcpThread, // thread function name - &ctx_ndr32, // argument to thread function - 0, // use default creation flags - &dwThreadIdArray[0]); // returns the thread identifier - if (hThreadArray[0] == NULL) { - printf("failed to create thread ndr32\n"); - fflush(stdout); - return -1; - } - - ctx_ndr64.name = "ndr64"; - ctx_ndr64.listen_port = 5064; - ctx_ndr64.client_port = 5055; - ctx_ndr64.ndr64 = TRUE; - ctx_ndr64.stop = FALSE; - hThreadArray[1] = CreateThread( - NULL, // default security attributes - 0, // use default stack size - NDRTcpThread, // thread function name - &ctx_ndr64, // argument to thread function - 0, // use default creation flags - &dwThreadIdArray[1]); // returns the thread identifier - if (hThreadArray[1] == NULL) { - printf("failed to create thread ndr64\n"); - fflush(stdout); - return -1; - } - - ctx_rpc.name = "rpc"; - ctx_rpc.listen_port = 5050; - hThreadArray[2] = CreateThread( - NULL, // default security attributes - 0, // use default stack size - NDRRpcThread, // thread function name - &ctx_rpc, // argument to thread function - 0, // use default creation flags - &dwThreadIdArray[2]); // returns the thread identifier - if (hThreadArray[2] == NULL) { - printf("failed to create thread rpc\n"); - fflush(stdout); - return -1; - } - - printf("Wait for setup of server threads\n"); - fflush(stdout); - ret = WaitForMultipleObjects(3, hThreadArray, TRUE, 3000); - if (ret == WAIT_TIMEOUT) { - /* OK */ - } else { - printf("Failed to setup of server threads %d:%d\n", - ret, GetLastError()); - fflush(stdout); - return -1; - } - ret = 0; - - printf("\nTest NDR32\n\n"); - fflush(stdout); - binding = "ncacn_ip_tcp:" CONNECT_IP "[5032]"; - status = RpcBindingFromStringBinding( - binding, - &midltests_IfHandle); - if (status) { - printf("RpcBindingFromStringBinding returned %d\n", status); - fflush(stdout); - return status; - } - - RpcTryExcept { - midltests(); - } RpcExcept(1) { - ret = RpcExceptionCode(); - printf("NDR32 Runtime error 0x%x\n", ret); - fflush(stdout); - } RpcEndExcept - ctx_ndr32.stop = TRUE; - - Sleep(250); - - printf("\nTest NDR64\n\n"); - binding = "ncacn_ip_tcp:" CONNECT_IP "[5064]"; - status = RpcBindingFromStringBinding( - binding, - &midltests_IfHandle); - if (status) { - printf("RpcBindingFromStringBinding returned %d\n", status); - fflush(stdout); - return status; - } - - RpcTryExcept { - midltests(); - } RpcExcept(1) { - ret = RpcExceptionCode(); - printf("Runtime error 0x%x\n", ret); - fflush(stdout); - } RpcEndExcept - ctx_ndr64.stop = TRUE; - - WaitForMultipleObjects(3, hThreadArray, TRUE, 2000); - - if (ret == 0) { - printf("\nTest OK\n"); - fflush(stdout); - } else { - printf("\nTest FAILED[%d]\n", ret); - fflush(stdout); - } - - return ret; -} diff --git a/testprogs/win32/midltests/todo/midltests-array-range.idl b/testprogs/win32/midltests/todo/midltests-array-range.idl deleted file mode 100644 index 1d60fd6a90..0000000000 --- a/testprogs/win32/midltests/todo/midltests-array-range.idl +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - long midltests_fn( - [out,ref] long *count, - [out,ref,size_is(,*count),range(0,1)] long **array, - [out,ref] long *error - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - long count; - long *array; - long error; - - cli_midltests_fn(&count, &array, &error); -} - -long srv_midltests_fn(long *count, long **array, long *error) -{ - printf("srv_midltests_fn: Start\n"); - *count=2; - *array=(long *)malloc((*count) * sizeof(long)); - (*array)[0] = 7; - (*array)[1] = 7; - *error=0; - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/todo/midltests-pipe-02.idl b/testprogs/win32/midltests/todo/midltests-pipe-02.idl deleted file mode 100644 index e6be283841..0000000000 --- a/testprogs/win32/midltests/todo/midltests-pipe-02.idl +++ /dev/null @@ -1,153 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out] pipe_char outp, - [in] pipe_char inp, - [in] struct msg in1 - ); -} - -#elif MIDLTESTS_C_CODE -
-struct pipe_char_state {
- const char *name;
- unsigned long count;
- unsigned long sleep;
-};
-
-void pipe_char_pull(
- char * _state,
- unsigned char * buf,
- unsigned long esize,
- unsigned long * ecount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("pull1:%s: esize[%u] ecount[%u]\n",
- state->name, esize, *ecount);
- *ecount = state->count--;
- if (*ecount > esize) {
- *ecount = esize;
- }
- memset(buf, 0xDD, *ecount);
- printf("pull2:%s: esize[%u] ecount[%u]\n",
- state->name, esize, *ecount);
-}
-
-void pipe_char_push(
- char * _state,
- unsigned char * buf,
- unsigned long ecount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("push:%s: ecount[%u]\n",
- state->name, ecount);
-}
-
-void pipe_char_alloc(
- char * _state,
- unsigned long bsize,
- unsigned char * * buf,
- unsigned long * bcount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("alloc1:%s: bsize[%u], bcount[%u]\n",
- state->name, bsize, *bcount);
- *bcount = bsize / sizeof(**buf);
- *buf = malloc(*bcount * sizeof(**buf));
- printf("alloc2:%s: bsize[%u], bcount[%u]\n",
- state->name, bsize, *bcount);
-}
- -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_char_state outs; - pipe_char outp; - struct pipe_char_state ins; - pipe_char inp; - struct msg in1; - unsigned char in1b[3]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_char_pull; - outp.push = pipe_char_push; - outp.alloc = pipe_char_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 1; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_char_pull; - inp.push = pipe_char_push; - inp.alloc = pipe_char_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1,
- /* [out] */ pipe_char outp,
- /* [in] */ pipe_char inp,
- /* [in] */ struct msg in1) -{ - char inb[500]; - unsigned long inb_len = 0; - char *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - } while (inb_len > 0); - - outb_size = 5; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len); - outp.push(outp.state, outb, outb_len); - printf("push outb_len[%u]\n", outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/todo/midltests-pipe-03-hyper.idl b/testprogs/win32/midltests/todo/midltests-pipe-03-hyper.idl deleted file mode 100644 index 475aeddfbd..0000000000 --- a/testprogs/win32/midltests/todo/midltests-pipe-03-hyper.idl +++ /dev/null @@ -1,205 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - typedef pipe hyper pipe_hyper; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out] pipe_hyper outp, - [in] pipe_hyper inp, - [in] struct msg in1 - ); -} - -#elif MIDLTESTS_C_CODE -
-struct pipe_char_state {
- const char *name;
- unsigned long count;
- unsigned long sleep;
-};
-
-void pipe_char_pull(
- char * _state,
- unsigned char * buf,
- unsigned long esize,
- unsigned long * ecount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("pull1:%s: esize[%u] ecount[%u]\n",
- state->name, esize, *ecount);
- *ecount = state->count--;
- if (*ecount > esize) {
- *ecount = esize;
- }
- memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n",
- state->name, esize, *ecount);
-}
-
-void pipe_char_push(
- char * _state,
- unsigned char * buf,
- unsigned long ecount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("push:%s: ecount[%u]\n",
- state->name, ecount);
-}
-
-void pipe_char_alloc(
- char * _state,
- unsigned long bsize,
- unsigned char * * buf,
- unsigned long * bcount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("alloc1:%s: bsize[%u], bcount[%u]\n",
- state->name, bsize, *bcount);
- *bcount = bsize / sizeof(**buf);
- *buf = malloc(*bcount * sizeof(**buf));
- printf("alloc2:%s: bsize[%u], bcount[%u]\n",
- state->name, bsize, *bcount);
-}
- -struct pipe_hyper_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_hyper_pull( - char * _state, - hyper * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_hyper_push( - char * _state, - hyper * buf, - unsigned long ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_hyper_alloc( - char * _state, - unsigned long bsize, - hyper * * buf, - unsigned long * bcount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_hyper_state outs; - pipe_hyper outp; - struct pipe_hyper_state ins; - pipe_hyper inp; - struct msg in1; - unsigned char in1b[3]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_hyper_pull; - outp.push = pipe_hyper_push; - outp.alloc = pipe_hyper_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 1; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_hyper_pull; - inp.push = pipe_hyper_push; - inp.alloc = pipe_hyper_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1,
- /* [out] */ pipe_hyper outp, - /* [in] */ pipe_hyper inp, - /* [in] */ struct msg in1) -{ - hyper inb[500]; - unsigned long inb_len = 0; - hyper *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - } while (inb_len > 0); - - outb_size = 5; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len * sizeof(*outb)); - outp.push(outp.state, outb, outb_len); - printf("push outb_len[%u]\n", outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/todo/midltests-pipe-04-struct.idl b/testprogs/win32/midltests/todo/midltests-pipe-04-struct.idl deleted file mode 100644 index 07921b820e..0000000000 --- a/testprogs/win32/midltests/todo/midltests-pipe-04-struct.idl +++ /dev/null @@ -1,272 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - typedef pipe hyper pipe_hyper; - typedef struct { - long l; - short s; - } structtype; - typedef pipe structtype pipe_structtype; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out] pipe_structtype outp, - [in] pipe_structtype inp, - [in] struct msg in1 - ); - - long midltests_ping( [in] struct msg in1); - -} - -#elif MIDLTESTS_C_CODE -
-struct pipe_char_state {
- const char *name;
- unsigned long count;
- unsigned long sleep;
-};
-
-void pipe_char_pull(
- char * _state,
- unsigned char * buf,
- unsigned long esize,
- unsigned long * ecount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("pull1:%s: esize[%u] ecount[%u]\n",
- state->name, esize, *ecount);
- *ecount = state->count--;
- if (*ecount > esize) {
- *ecount = esize;
- }
- memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n",
- state->name, esize, *ecount);
-}
-
-void pipe_char_push(
- char * _state,
- unsigned char * buf,
- unsigned long ecount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("push:%s: ecount[%u]\n",
- state->name, ecount);
-}
-
-void pipe_char_alloc(
- char * _state,
- unsigned long bsize,
- unsigned char * * buf,
- unsigned long * bcount)
-{
- struct pipe_char_state *state = (struct pipe_char_state *)_state;
-
- printf("alloc1:%s: bsize[%u], bcount[%u]\n",
- state->name, bsize, *bcount);
- *bcount = bsize / sizeof(**buf);
- *buf = malloc(*bcount * sizeof(**buf));
- printf("alloc2:%s: bsize[%u], bcount[%u]\n",
- state->name, bsize, *bcount);
-}
- -struct pipe_hyper_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_hyper_pull( - char * _state, - hyper * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_hyper_push( - char * _state, - hyper * buf, - unsigned long ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_hyper_alloc( - char * _state, - unsigned long bsize, - hyper * * buf, - unsigned long * bcount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -struct pipe_structtype_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_structtype_pull( - char * _state, - structtype * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_structtype_push( - char * _state, - structtype * buf, - unsigned long ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_structtype_alloc( - char * _state, - unsigned long bsize, - structtype * * buf, - unsigned long * bcount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_structtype_state outs; - pipe_structtype outp; - struct pipe_structtype_state ins; - pipe_structtype inp; - struct msg in1; - unsigned char in1b[3]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_structtype_pull; - outp.push = pipe_structtype_push; - outp.alloc = pipe_structtype_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 1; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_structtype_pull; - inp.push = pipe_structtype_push; - inp.alloc = pipe_structtype_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_ping(in1); - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1,
- /* [out] */ pipe_structtype outp, - /* [in] */ pipe_structtype inp, - /* [in] */ struct msg in1) -{ - structtype inb[500]; - unsigned long inb_len = 0; - structtype *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - } while (inb_len > 0); - - outb_size = 5; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len * sizeof(*outb)); - outp.push(outp.state, outb, outb_len); - printf("push outb_len[%u]\n", outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -long srv_midltests_ping( - /* [in] */ struct msg in1) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} -#endif diff --git a/testprogs/win32/midltests/todo/midltests-pipe-first.idl b/testprogs/win32/midltests/todo/midltests-pipe-first.idl deleted file mode 100755 index ef28943d92..0000000000 --- a/testprogs/win32/midltests/todo/midltests-pipe-first.idl +++ /dev/null @@ -1,233 +0,0 @@ -#ifndef MIDLTESTS_C_CODE -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ -/* typedef struct st_wire { - long len; - //[size_is(len)] char data[*]; - [size_is(l2)] char *d2; - long l2; - } st_wire_t; - struct st_local { - short s1; - short s2; - }; - typedef [transmit_as(st_wire_t)] struct st_local st_local_t; - - long midltests_fn( - [in] st_local_t st - - ); -*/ -/* struct my_ace { - long ace1; - long ace2; - }; - struct my_acl { - long revision; - long num_aces; - [size_is(num_aces)] struct my_ace *aces; - }; - long midltests_fn( - [in,ref] struct my_acl *acl - ); -*/ -/* struct my_str { - long l1; - [string] wchar_t str[260+1]; - long l2; - }; - long midltests_fn( - [in,out,ref] struct my_str *str - ); -*/ - long foo(); - long midltests_fn( - [in] long size, - [out,ref,size_is(size),length_is(*length)] byte *bytes, - [out,ref] long *length - ); - - typedef pipe byte BYTE_PIPE; - typedef pipe long LONG_PIPE; - - long midltests_fn_pipe( - [in] long count, - [out,ref] long *start_magic, - [out] BYTE_PIPE b, - [out, ref] long *mid_magic, - [out] LONG_PIPE l, - [out,ref] long *end_magic - ); - -} -#elif MIDLTESTS_C_CODE -/* -void __RPC_USER st_local_t_to_xmit(st_local_t *l, st_wire_t **w) -{ - *w = malloc(4+ sizeof(st_wire_t)); - (*w)->len = sizeof(st_local_t); - //(*w)->data = malloc((*w)->len); - memcpy((*w)->data, l, sizeof(st_local_t)); - //memset(*w, 0xcd, sizeof(st_wire_t)); -} - -void __RPC_USER st_local_t_from_xmit(st_wire_t *w, st_local_t *l) -{ - memcpy(l, w->data, sizeof(st_local_t)); -// memset(l, 0, sizeof(st_local_t)); -} - -void __RPC_USER st_local_t_free_inst(st_local_t *l) -{ - -} - -void __RPC_USER st_local_t_free_xmit(st_wire_t *w) -{ - //free(w->data); - free(w); -} -*/ - -void __RPC_USER cli_push_b(char * state, - byte * buf, - unsigned long ecount) -{ - printf("cli_push_b ecount[%lu]\n", ecount); -} - -void __RPC_USER cli_alloc_b(char * state, - unsigned long bsize, - byte * * buf, - unsigned long * bcount ) -{ - printf("cli_alloc_b bsize[%lu]\n", bsize); - *buf = NULL; - *bcount = 0; -} - -void __RPC_USER cli_push_l(char * state, - long * buf, - unsigned long ecount) -{ - printf("cli_push_l ecount[%lu]\n", ecount); -} - -void __RPC_USER cli_alloc_l(char * state, - unsigned long bsize, - long * * buf, - unsigned long * bcount ) -{ - printf("cli_alloc_l bsize[%lu]\n", bsize); - *buf = NULL; - *bcount = 0; -} - -static void midltests() -{ -/* st_local_t st; - st.s1 = 1; - st.s2 = 2; - cli_midltests_fn(st); -*/ -/* struct my_acl acl; - struct my_ace aces[3]; - aces[0].ace1 = 1; - aces[0].ace2 = 2; - aces[1].ace1 = 1; - aces[1].ace2 = 2; - aces[2].ace1 = 1; - aces[2].ace2 = 2; - acl.revision = 5; - acl.num_aces = 1; - acl.aces = aces; - cli_midltests_fn(&acl); -*/ -/* struct my_str str; - memset(&str, 0, sizeof(str)); - str.l1 = 1; - printf("here: %d\n", __LINE__); - //wcscpy(str.str, L'Hello World\0'); - str.l2 = 2; - printf("here: %d\n", __LINE__); - cli_midltests_fn(&str); -*/ - byte buf[10]; - long length = 0; - memset(buf, 0xdf, sizeof(buf)); -// cli_midltests_fn(sizeof(buf), buf, &length); - -/* long count = 2; - long start_magic; - BYTE_PIPE b; - long mid_magic; - LONG_PIPE l; - long end_magic; - - - memset(&b, 0, sizeof(b)); - memset(&l, 0, sizeof(l)); - - b.alloc = cli_alloc_b; - b.push = cli_push_b; - - l.alloc = cli_alloc_l; - l.push = cli_push_l; - - printf("cli call start\n"); - cli_midltests_fn(count, - &start_magic, - b, - &mid_magic, - l, - &end_magic); - printf("cli call end\n"); -*/ -} - -//long srv_midltests_fn(struct my_str *str)//struct my_acl *acl)//st_local_t st) -//long srv_midltests_fn(long size, byte *bytes, long *length) -#if 1 -long srv_midltests_fn( - /* [in] */ long count, - /* [ref][out] */ long *start_magic, - /* [out] */ BYTE_PIPE b, - /* [ref][out] */ long *mid_magic, - /* [out] */ LONG_PIPE l, - /* [ref][out] */ long *end_magic) -#endif -{ -/* byte bytes[10]; - long longs[10]; - int i; -*/ - printf("srv_midltests_fn: Start\n"); - //printf("s1[%d] s2[%d]\n", st.s1, st.s2); - //printf(l1[%d] str[%s] l2[%d]\n", str->l1, str->str, str->l2); - -/* *start_magic = 0x01234567; - *mid_magic = 0x88888888; - *end_magic = 0xFEDCBA09; - - memset(bytes, 0xBE, sizeof(bytes)); - memset(longs, 0xAC, sizeof(longs)); - - for (i=0; i < count; i++) { - b.push(b.state, bytes, sizeof(bytes)/sizeof(bytes[0])); - } - b.push(b.state, NULL, 0); - - for (i=0; i < count; i++) { - l.push(l.state, longs, sizeof(longs)/sizeof(longs[0])); - } - l.push(l.state, NULL, 0); -*/ - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif
\ No newline at end of file diff --git a/testprogs/win32/midltests/todo/midltests-pipe-sync-ndr32-downgrade-02.idl b/testprogs/win32/midltests/todo/midltests-pipe-sync-ndr32-downgrade-02.idl deleted file mode 100644 index 760401e412..0000000000 --- a/testprogs/win32/midltests/todo/midltests-pipe-sync-ndr32-downgrade-02.idl +++ /dev/null @@ -1,296 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ - -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") - - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - typedef pipe hyper pipe_hyper; - typedef struct { - long l; - short s; - } structtype; - typedef pipe structtype pipe_structtype; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out] pipe_structtype outp, - [in] pipe_structtype inp, - [in] struct msg in1 - ); - - long midltests_ping( [in] struct msg in1); - -} - -#elif MIDLTESTS_C_CODE - -struct pipe_char_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_char_pull( - char * _state, - unsigned char * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_char_push( - char * _state, - unsigned char * buf, - unsigned long ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_char_alloc( - char * _state, - unsigned long bsize, - unsigned char * * buf, - unsigned long * bcount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} - -struct pipe_hyper_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_hyper_pull( - char * _state, - hyper * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_hyper_push( - char * _state, - hyper * buf, - unsigned long ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_hyper_alloc( - char * _state, - unsigned long bsize, - hyper * * buf, - unsigned long * bcount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -struct pipe_structtype_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_structtype_pull( - char * _state, - structtype * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_structtype_push( - char * _state, - structtype * buf, - unsigned long ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_structtype_alloc( - char * _state, - unsigned long bsize, - structtype * * buf, - unsigned long * bcount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_structtype_state outs; - pipe_structtype outp; - struct pipe_structtype_state ins; - pipe_structtype inp; - struct msg in1; - unsigned char in1b[5000]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_structtype_pull; - outp.push = pipe_structtype_push; - outp.alloc = pipe_structtype_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 100; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_structtype_pull; - inp.push = pipe_structtype_push; - inp.alloc = pipe_structtype_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_ping(in1); - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1, - /* [out] */ pipe_structtype outp, - /* [in] */ pipe_structtype inp, - /* [in] */ struct msg in1) -{ - structtype inb[500]; - unsigned long inb_len = 0; - structtype *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - } while (inb_len > 0); - - outb_size = 5; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len * sizeof(*outb)); - outp.push(outp.state, outb, outb_len); - printf("push outb_len[%u]\n", outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -long srv_midltests_ping( - /* [in] */ struct msg in1) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} -#endif diff --git a/testprogs/win32/midltests/todo/midltests-string-in-out-ref.idl b/testprogs/win32/midltests/todo/midltests-string-in-out-ref.idl deleted file mode 100644 index 4db6f968d8..0000000000 --- a/testprogs/win32/midltests/todo/midltests-string-in-out-ref.idl +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - long midltests_fn( - [in,out,ref,string] wchar_t *s - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - wchar_t s[] = { 's', 'a', 'm', 'b', 'a', 0 }; - - cli_midltests_fn(s); -} - -long srv_midltests_fn(wchar_t *s) -{ - printf("srv_midltests_fn: Start\n"); - s[1] = 0; - s[2] = 'M'; - s[5] = '4'; - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/todo/midltests-transmit-as.idl b/testprogs/win32/midltests/todo/midltests-transmit-as.idl deleted file mode 100755 index bf5bc3f9c5..0000000000 --- a/testprogs/win32/midltests/todo/midltests-transmit-as.idl +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef MIDLTESTS_C_CODE -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef struct st_wire { - char data[20]; - } st_wire_t; - struct st_local { - short s1; - short s2; - }; - typedef [transmit_as(st_wire_t)] struct st_local st_local_t; - - long midltests_fn( - [in] st_local_t st - ); -} -#elif MIDLTESTS_C_CODE - -void __RPC_USER st_local_t_to_xmit(st_local_t *l, st_wire_t **w) -{ - *w = malloc(sizeof(st_wire_t)); - memset(*w, 0xcd, sizeof(st_wire_t)); -} - -void __RPC_USER st_local_t_from_xmit(st_wire_t *w, st_local_t *l) -{ - memset(l, 0, sizeof(st_local_t)); -} - -void __RPC_USER st_local_t_free_inst(st_local_t *l) -{ - -} - -void __RPC_USER st_local_t_free_xmit(st_wire_t *w) -{ - free(w); -} - -static void midltests() -{ - char s[64]; - st_local_t st; - strcpy(s, "TestString"); - cli_midltests_fn(st); -} - -long srv_midltests_fn(st_local_t st) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif
\ No newline at end of file diff --git a/testprogs/win32/midltests/todo/midltests_pointer_default.idl b/testprogs/win32/midltests/todo/midltests_pointer_default.idl deleted file mode 100755 index 9e0c18f677..0000000000 --- a/testprogs/win32/midltests/todo/midltests_pointer_default.idl +++ /dev/null @@ -1,20 +0,0 @@ -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(ptr) -] -interface midltests -{ - struct midltests_struct { - [ref] long ****p; - [ref] long **a; - [ref] long **b; - [ref] long **c; - }; - - void midltests_fn( - //[in] long size, - [in,out,ref] struct midltests_struct *s - //[in,ref,size_is(,size)] long ***array - ); - -}
\ No newline at end of file diff --git a/testprogs/win32/midltests/valid/README.txt b/testprogs/win32/midltests/valid/README.txt deleted file mode 100644 index 9208faeaf6..0000000000 --- a/testprogs/win32/midltests/valid/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -This directory contains IDL files which demonstrate -the relationship between IDL definitions and NDR representation. - -In order to test them, you can compile them as midltests.idl. - -Note: some examples trigger runtime errors. diff --git a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-01.idl b/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-01.idl deleted file mode 100644 index 26ef9397ca..0000000000 --- a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-01.idl +++ /dev/null @@ -1,296 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - typedef pipe hyper pipe_hyper; - typedef struct { - long l; - short s; - } structtype; - typedef pipe structtype pipe_structtype; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out] pipe_structtype outp, - [in] pipe_structtype inp, - [in] struct msg in1 - ); - - long midltests_ping( [in] struct msg in1); - -} - -#elif MIDLTESTS_C_CODE - -struct pipe_char_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_char_pull( - char * _state, - unsigned char * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_char_push( - char * _state, - unsigned char * buf, - unsigned long ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_char_alloc( - char * _state, - unsigned long bsize, - unsigned char * * buf, - unsigned long * bcount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} - -struct pipe_hyper_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_hyper_pull( - char * _state, - hyper * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_hyper_push( - char * _state, - hyper * buf, - unsigned long ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_hyper_alloc( - char * _state, - unsigned long bsize, - hyper * * buf, - unsigned long * bcount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -struct pipe_structtype_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_structtype_pull( - char * _state, - structtype * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_structtype_push( - char * _state, - structtype * buf, - unsigned long ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_structtype_alloc( - char * _state, - unsigned long bsize, - structtype * * buf, - unsigned long * bcount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_structtype_state outs; - pipe_structtype outp; - struct pipe_structtype_state ins; - pipe_structtype inp; - struct msg in1; - unsigned char in1b[3]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_structtype_pull; - outp.push = pipe_structtype_push; - outp.alloc = pipe_structtype_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 1; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_structtype_pull; - inp.push = pipe_structtype_push; - inp.alloc = pipe_structtype_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_ping(in1); - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1, - /* [out] */ pipe_structtype outp, - /* [in] */ pipe_structtype inp, - /* [in] */ struct msg in1) -{ - structtype inb[500]; - unsigned long inb_len = 0; - structtype *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - } while (inb_len > 0); - - outb_size = 5; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len * sizeof(*outb)); - outp.push(outp.state, outb, outb_len); - printf("push outb_len[%u]\n", outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -long srv_midltests_ping( - /* [in] */ struct msg in1) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} -#endif diff --git a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-01.txt b/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-01.txt deleted file mode 100644 index 1c8d003fac..0000000000 --- a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-01.txt +++ /dev/null @@ -1,138 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[39] plen[15] - -[000] 03 00 00 00 00 00 02 00 03 00 00 00 AA AA AA ........ ....... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] - -[000] 54 72 75 65 True - -ndr32: got NDR32 - -alloc1:inp: bsize[5000], bcount[0] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[1] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[0] -ndr32:in => out: ptype[alter_req] flen[72] call[3] contexts[1] - - -ndr32:out => in: ptype[alter_ack] flen[56] call[3] - -ndr32:in => out: ptype[request] flen[56] plen[32] - -[000] 03 00 00 00 00 00 02 00 03 00 00 00 AA AA AA 00 ........ ........ -[010] 01 00 00 00 DD DD DD DD DD DD 08 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -pull inp_len[1] -pull inp_len[0] -push outb_len[5] -push outb_len[4] -push outb_len[3] -push outb_len[2] -push outb_len[1] -push outb_len[0] -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[188] plen[164] - -[000] 05 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[020] CC CC CC CC CC CC CC CC CC CC 00 00 04 00 00 00 ........ ........ -[030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[050] 03 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[060] CC CC CC CC CC CC CC CC CC CC 00 00 02 00 00 00 ........ ........ -[070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[080] 01 00 00 00 CC CC CC CC CC CC 00 00 00 00 00 00 ........ ........ -[090] 03 00 00 00 00 00 02 00 03 00 00 00 BB BB BB 00 ........ ........ -[0A0] 54 72 75 65 True - -alloc1:outp: bsize[6664], bcount[1] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[15] -push:outp: ecount[0] -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[51] plen[27] - -[000] 03 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 ........ ........ -[010] 03 00 00 00 00 00 00 00 AA AA AA ........ ... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] - -[000] 54 72 75 65 True - - -ndr64: got NDR32 downgrade - - -alloc1:inp: bsize[5000], bcount[0] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[1] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[0] -ndr64:in => out: ptype[alter_req] flen[72] call[3] contexts[1] - - -ndr64:out => in: ptype[alter_ack] flen[56] call[3] - -ndr64:in => out: ptype[request] flen[56] plen[32] - -[000] 03 00 00 00 00 00 02 00 03 00 00 00 AA AA AA 00 ........ ........ -[010] 01 00 00 00 DD DD DD DD DD DD 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -pull inp_len[1] -pull inp_len[0] -push outb_len[5] -push outb_len[4] -push outb_len[3] -push outb_len[2] -push outb_len[1] -push outb_len[0] -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[188] plen[164] - -[000] 05 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[020] CC CC CC CC CC CC CC CC CC CC 00 00 04 00 00 00 ........ ........ -[030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[050] 03 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[060] CC CC CC CC CC CC CC CC CC CC 00 00 02 00 00 00 ........ ........ -[070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[080] 01 00 00 00 CC CC CC CC CC CC 00 00 00 00 00 00 ........ ........ -[090] 03 00 00 00 00 00 02 00 03 00 00 00 BB BB BB 00 ........ ........ -[0A0] 54 72 75 65 True - -alloc1:outp: bsize[6664], bcount[1] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[15] -push:outp: ecount[0] -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-02.idl b/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-02.idl deleted file mode 100644 index 888ba794d4..0000000000 --- a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-02.idl +++ /dev/null @@ -1,300 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef pipe char pipe_char; - typedef pipe hyper pipe_hyper; - typedef struct { - long l; - short s; - } structtype; - typedef pipe structtype pipe_structtype; - - struct msg { - long l; - [size_is(l)] char *m; - }; - - long midltests_fn( - [out,ref] struct msg *out1, - [out] pipe_structtype outp, - [in] pipe_structtype inp, - [in] struct msg in1 - ); - - long midltests_ping( [in] struct msg in1); - -} - -#elif MIDLTESTS_C_CODE - -struct pipe_char_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_char_pull( - char * _state, - unsigned char * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_char_push( - char * _state, - unsigned char * buf, - unsigned long ecount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_char_alloc( - char * _state, - unsigned long bsize, - unsigned char * * buf, - unsigned long * bcount) -{ - struct pipe_char_state *state = (struct pipe_char_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} - -struct pipe_hyper_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_hyper_pull( - char * _state, - hyper * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_hyper_push( - char * _state, - hyper * buf, - unsigned long ecount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_hyper_alloc( - char * _state, - unsigned long bsize, - hyper * * buf, - unsigned long * bcount) -{ - struct pipe_hyper_state *state = (struct pipe_hyper_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -struct pipe_structtype_state { - const char *name; - unsigned long count; - unsigned long sleep; -}; - -void pipe_structtype_pull( - char * _state, - structtype * buf, - unsigned long esize, - unsigned long * ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("pull1:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); - *ecount = state->count--; - if (*ecount > esize) { - *ecount = esize; - } - memset(buf, 0xDD, *ecount * sizeof(*buf)); - printf("pull2:%s: esize[%u] ecount[%u]\n", - state->name, esize, *ecount); -} - -void pipe_structtype_push( - char * _state, - structtype * buf, - unsigned long ecount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("push:%s: ecount[%u]\n", - state->name, ecount); -} - -void pipe_structtype_alloc( - char * _state, - unsigned long bsize, - structtype * * buf, - unsigned long * bcount) -{ - struct pipe_structtype_state *state = (struct pipe_structtype_state *)_state; - - printf("alloc1:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); - *bcount = bsize / sizeof(**buf); - *buf = malloc(*bcount * sizeof(**buf)); - printf("alloc2:%s: bsize[%u], bcount[%u]\n", - state->name, bsize, *bcount); -} -static void midltests(void) -{ - struct msg out1; - unsigned char out1b[3]; - struct pipe_structtype_state outs; - pipe_structtype outp; - struct pipe_structtype_state ins; - pipe_structtype inp; - struct msg in1; - unsigned char in1b[3000]; - - in1.l = sizeof(in1b); - memset(&in1b, 0xAA, sizeof(in1b)); - in1.m = in1b; - - memset(&outs, 0, sizeof(outs)); - outs.name = "outp"; - memset(&outp, 0, sizeof(outp)); - outp.pull = pipe_structtype_pull; - outp.push = pipe_structtype_push; - outp.alloc = pipe_structtype_alloc; - outp.state = (char *)&outs; - - memset(&ins, 0, sizeof(ins)); - ins.name = "inp"; - ins.count = 35; - memset(&inp, 0, sizeof(inp)); - inp.pull = pipe_structtype_pull; - inp.push = pipe_structtype_push; - inp.alloc = pipe_structtype_alloc; - inp.state = (char *)&ins; - - out1.l = sizeof(out1b); - memset(&out1b, 0xFF, sizeof(out1b)); - out1.m = out1b; - - cli_midltests_ping(in1); - cli_midltests_fn(&out1, outp, inp, in1); -} - -long srv_midltests_fn( - /* [ref][out] */ struct msg *out1, - /* [out] */ pipe_structtype outp, - /* [in] */ pipe_structtype inp, - /* [in] */ struct msg in1) -{ - structtype inb[2500]; - unsigned long inb_len = 0; - structtype *outb = NULL; - unsigned long outb_size = 0; - unsigned long outb_len = 0; - - printf("srv_midltests_fn: Start\n"); - fflush(stdout); - - do { - inp.pull(inp.state, inb, sizeof(inb), &inb_len); - printf("pull inp_len[%u]\n", inb_len); - fflush(stdout); - } while (inb_len > 0); - - outb_size = 50; - do { - outp.alloc(outp.state, outb_size, &outb, &outb_len); - memset(outb, 0xCC, outb_len * sizeof(*outb)); - printf("push outb_len[%u]\n", outb_len); - fflush(stdout); - outp.push(outp.state, outb, outb_len); - //Sleep(1000); - outb_size--; - } while (outb_len > 0); - - out1->l = 3; - out1->m = (unsigned char *)malloc(out1->l); - memset(out1->m, 0xBB, out1->l); - printf("srv_midltests_fn: End\n"); - fflush(stdout); - return 0x65757254; -} - -long srv_midltests_ping( - /* [in] */ struct msg in1) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} -#endif diff --git a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-02.txt b/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-02.txt deleted file mode 100644 index 9ae037ef48..0000000000 --- a/testprogs/win32/midltests/valid/midltests-pipe-sync-ndr32-downgrade-02.txt +++ /dev/null @@ -1,3266 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[3036] plen[3012] ahint[3012] - -[000] B8 0B 00 00 00 00 02 00 B8 0B 00 00 AA AA AA AA ........ ........ -[010] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[020] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[030] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[040] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[050] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[060] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[070] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[080] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[090] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[100] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[110] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[120] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[130] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[140] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[150] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[160] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[170] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[180] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[190] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[200] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[210] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[220] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[230] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[240] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[250] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[260] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[270] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[280] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[290] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[300] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[310] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[320] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[330] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[340] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[350] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[360] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[370] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[380] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[390] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[400] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[410] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[420] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[430] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[440] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[450] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[460] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[470] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[480] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[490] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[500] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[510] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[520] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[530] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[540] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[550] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[560] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[570] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[580] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[590] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[600] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[610] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[620] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[630] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[640] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[650] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[660] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[670] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[680] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[690] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[700] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[710] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[720] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[730] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[740] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[750] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[760] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[770] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[780] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[790] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[800] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[810] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[820] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[830] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[840] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[850] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[860] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[870] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[880] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[890] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[900] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[910] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[920] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[930] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[940] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[950] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[960] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[970] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[980] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[990] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AC0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AD0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AE0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AF0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BC0] AA AA AA AA .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32: disable NDR64 - -alloc1:inp: bsize[5000], bcount[0] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[35] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[34] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[33] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[32] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[31] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[30] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[29] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[28] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[27] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[26] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[25] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[24] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[23] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[22] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[21] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[20] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[19] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[18] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[17] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[16] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[15] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[14] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[13] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[12] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[11] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[10] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[9] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[8] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[7] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[6] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[5] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[4] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[3] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[2] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[1] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[0] -ndr32:in => out: ptype[request] flen[5840] plen[5816] ahint[3012] - -[000] B8 0B 00 00 00 00 02 00 B8 0B 00 00 AA AA AA AA ........ ........ -[010] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[020] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[030] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[040] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[050] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[060] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[070] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[080] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[090] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[100] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[110] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[120] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[130] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[140] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[150] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[160] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[170] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[180] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[190] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[200] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[210] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[220] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[230] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[240] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[250] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[260] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[270] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[280] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[290] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[300] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[310] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[320] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[330] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[340] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[350] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[360] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[370] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[380] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[390] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[400] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[410] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[420] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[430] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[440] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[450] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[460] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[470] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[480] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[490] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[500] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[510] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[520] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[530] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[540] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[550] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[560] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[570] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[580] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[590] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[600] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[610] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[620] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[630] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[640] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[650] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[660] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[670] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[680] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[690] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[700] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[710] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[720] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[730] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[740] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[750] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[760] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[770] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[780] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[790] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[800] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[810] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[820] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[830] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[840] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[850] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[860] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[870] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[880] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[890] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[900] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[910] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[920] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[930] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[940] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[950] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[960] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[970] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[980] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[990] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AC0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AD0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AE0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AF0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BC0] AA AA AA AA 23 00 00 00 DD DD DD DD DD DD DD DD ....#... ........ -[BD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[BE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[BF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C00] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[CE0] 22 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD "....... ........ -[CF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D00] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DF0] DD DD 00 00 21 00 00 00 DD DD DD DD DD DD DD DD ....!... ........ -[E00] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[ED0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[F00] 20 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ....... ........ -[F10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1000] DD DD 00 00 1F 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[1010] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1020] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1030] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1040] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1050] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1060] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1070] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1080] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1090] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[1100] 1E 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1110] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1120] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1130] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1140] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1150] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1160] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1170] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1180] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1190] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11F0] DD DD 00 00 1D 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[1200] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1210] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1220] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1230] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1240] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1250] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1260] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1270] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1280] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1290] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[12E0] 1C 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1300] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1310] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1320] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1330] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1340] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1350] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1360] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1370] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1380] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1390] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13C0] DD DD 00 00 1B 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[13D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1400] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1410] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1420] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1430] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1440] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1450] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1460] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1470] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1480] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1490] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[14A0] 1A 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1500] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1510] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1520] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1530] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1540] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1550] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1560] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1570] DD DD 00 00 19 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[1580] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1590] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1600] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1610] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1620] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1630] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[1640] 18 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1650] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1660] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1670] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1680] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1690] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[16A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[16B0] DD DD DD DD DD DD DD DD ........ - -srv_midltests_fn: Start -pull inp_len[344] -ndr32:in => out: ptype[request] flen[2404] plen[2380] ahint[2380] - -[000] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[010] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[020] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[030] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[040] DD DD DD DD DD DD DD DD DD DD 00 00 17 00 00 00 ........ ........ -[050] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[060] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[070] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[080] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[090] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[100] DD DD DD DD DD DD AA AA 16 00 00 00 DD DD DD DD ........ ........ -[110] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[120] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[130] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[140] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[150] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[160] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[170] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[180] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[190] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1B0] DD DD DD DD DD DD DD DD DD DD AA AA 15 00 00 00 ........ ........ -[1C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[200] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[210] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[220] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[230] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[240] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[250] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[260] DD DD DD DD DD DD AA AA 14 00 00 00 DD DD DD DD ........ ........ -[270] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[280] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[290] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[300] DD DD DD DD DD DD DD DD DD DD AA AA 13 00 00 00 ........ ........ -[310] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[320] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[330] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[340] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[350] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[360] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[370] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[380] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[390] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3A0] DD DD DD DD DD DD AA AA 12 00 00 00 DD DD DD DD ........ ........ -[3B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[400] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[410] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[420] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[430] DD DD DD DD DD DD DD DD DD DD AA AA 11 00 00 00 ........ ........ -[440] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[450] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[460] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[470] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[480] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[490] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4C0] DD DD DD DD DD DD AA AA 10 00 00 00 DD DD DD DD ........ ........ -[4D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[500] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[510] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[520] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[530] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[540] DD DD DD DD DD DD DD DD DD DD AA AA 0F 00 00 00 ........ ........ -[550] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[560] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[570] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[580] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[590] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5C0] DD DD DD DD DD DD AA AA 0E 00 00 00 DD DD DD DD ........ ........ -[5D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[600] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[610] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[620] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[630] DD DD DD DD DD DD DD DD DD DD AA AA 0D 00 00 00 ........ ........ -[640] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[650] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[660] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[670] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[680] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[690] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6A0] DD DD DD DD DD DD AA AA 0C 00 00 00 DD DD DD DD ........ ........ -[6B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[700] DD DD DD DD DD DD DD DD DD DD AA AA 0B 00 00 00 ........ ........ -[710] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[720] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[730] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[740] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[750] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[760] DD DD DD DD DD DD AA AA 0A 00 00 00 DD DD DD DD ........ ........ -[770] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[780] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[790] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7B0] DD DD DD DD DD DD DD DD DD DD AA AA 09 00 00 00 ........ ........ -[7C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[800] DD DD DD DD DD DD AA AA 08 00 00 00 DD DD DD DD ........ ........ -[810] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[820] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[830] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[840] DD DD DD DD DD DD DD DD DD DD AA AA 07 00 00 00 ........ ........ -[850] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[860] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[870] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[880] DD DD DD DD DD DD AA AA 06 00 00 00 DD DD DD DD ........ ........ -[890] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8B0] DD DD DD DD DD DD DD DD DD DD AA AA 05 00 00 00 ........ ........ -[8C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8E0] DD DD DD DD DD DD AA AA 04 00 00 00 DD DD DD DD ........ ........ -[8F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[900] DD DD DD DD DD DD DD DD DD DD AA AA 03 00 00 00 ........ ........ -[910] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[920] DD DD DD DD DD DD AA AA 02 00 00 00 DD DD DD DD ........ ........ -[930] DD DD DD DD DD DD DD DD DD DD AA AA 01 00 00 00 ........ ........ -[940] DD DD DD DD DD DD AA AA 00 00 00 00 ........ .... - -pull inp_len[286] -pull inp_len[0] -push outb_len[50] -push outb_len[49] -push outb_len[48] -push outb_len[47] -push outb_len[46] -push outb_len[45] -push outb_len[44] -push outb_len[43] -push outb_len[42] -push outb_len[41] -push outb_len[40] -push outb_len[39] -push outb_len[38] -push outb_len[37] -push outb_len[36] -push outb_len[35] -push outb_len[34] -push outb_len[33] -push outb_len[32] -push outb_len[31] -push outb_len[30] -push outb_len[29] -push outb_len[28] -push outb_len[27] -push outb_len[26] -push outb_len[25] -push outb_len[24] -push outb_len[23] -push outb_len[22] -push outb_len[21] -push outb_len[20] -push outb_len[19] -push outb_len[18] -push outb_len[17] -push outb_len[16] -push outb_len[15] -push outb_len[14] -push outb_len[13] -push outb_len[12] -push outb_len[11] -push outb_len[10] -push outb_len[9] -push outb_len[8] -push outb_len[7] -push outb_len[6] -push outb_len[5] -push outb_len[4] -push outb_len[3] -push outb_len[2] -push outb_len[1] -push outb_len[0] -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[5840] plen[5816] ahint[5816] - -[000] 32 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC 2....... ........ -[010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[050] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[120] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[150] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[180] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[190] CC CC 00 00 31 00 00 00 CC CC CC CC CC CC CC CC ....1... ........ -[1A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[200] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[210] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[220] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[230] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[240] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[250] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[260] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[270] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[280] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[290] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[300] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[310] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[320] 30 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC 0....... ........ -[330] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[340] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[350] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[360] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[370] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[380] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[390] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[400] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[410] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[420] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[430] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[440] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[450] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[460] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[470] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[480] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[490] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4A0] CC CC 00 00 2F 00 00 00 CC CC CC CC CC CC CC CC ..../... ........ -[4B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[500] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[510] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[520] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[530] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[540] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[550] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[560] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[570] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[580] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[590] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[600] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[610] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[620] 2E 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[630] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[640] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[650] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[660] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[670] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[680] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[690] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[700] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[710] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[720] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[730] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[740] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[750] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[760] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[770] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[780] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[790] CC CC 00 00 2D 00 00 00 CC CC CC CC CC CC CC CC ....-... ........ -[7A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[800] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[810] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[820] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[830] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[840] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[850] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[860] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[870] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[880] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[890] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[900] 2C 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ,....... ........ -[910] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[920] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[930] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[940] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[950] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[960] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[970] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[980] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[990] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A60] CC CC 00 00 2B 00 00 00 CC CC CC CC CC CC CC CC ....+... ........ -[A70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[BC0] 2A 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC *....... ........ -[BD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D10] CC CC 00 00 29 00 00 00 CC CC CC CC CC CC CC CC ....)... ........ -[D20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[E60] 28 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC (....... ........ -[E70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[ED0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FA0] CC CC 00 00 27 00 00 00 CC CC CC CC CC CC CC CC ....'... ........ -[FB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1000] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1050] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[10E0] 26 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC &....... ........ -[10F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1120] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1150] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1180] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1190] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1200] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1210] CC CC 00 00 25 00 00 00 CC CC CC CC CC CC CC CC ....%... ........ -[1220] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1230] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1240] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1250] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1260] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1270] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1280] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1290] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1300] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1310] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1320] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1330] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[1340] 24 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC $....... ........ -[1350] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1360] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1370] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1380] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1390] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1400] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1410] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1420] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1430] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1440] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1450] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1460] CC CC 00 00 23 00 00 00 CC CC CC CC CC CC CC CC ....#... ........ -[1470] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1480] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1490] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1500] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1510] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1520] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1530] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1540] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1550] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1560] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1570] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[1580] 22 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC "....... ........ -[1590] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1600] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1610] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1620] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1630] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1640] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1650] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1660] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1670] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1680] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1690] CC CC 00 00 21 00 00 00 CC CC CC CC CC CC CC CC ....!... ........ -[16A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[16B0] CC CC CC CC CC CC CC CC ........ - - -ndr32:out => in: ptype[response] flen[4632] plen[4608] ahint[4608] - -[000] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[050] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0E0] CC CC CC CC CC CC 00 00 20 00 00 00 CC CC CC CC ........ ....... -[0F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[120] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[150] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[180] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[190] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1E0] CC CC CC CC CC CC CC CC CC CC CC CC 1F 00 00 00 ........ ........ -[1F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[200] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[210] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[220] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[230] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[240] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[250] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[260] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[270] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[280] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[290] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2E0] CC CC CC CC CC CC CC CC 1E 00 00 00 CC CC CC CC ........ ........ -[2F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[300] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[310] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[320] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[330] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[340] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[350] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[360] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[370] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[380] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[390] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3D0] CC CC CC CC CC CC CC CC CC CC CC CC 1D 00 00 00 ........ ........ -[3E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[400] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[410] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[420] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[430] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[440] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[450] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[460] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[470] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[480] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[490] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4C0] CC CC CC CC CC CC CC CC 1C 00 00 00 CC CC CC CC ........ ........ -[4D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[500] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[510] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[520] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[530] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[540] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[550] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[560] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[570] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[580] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[590] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5A0] CC CC CC CC CC CC CC CC CC CC CC CC 1B 00 00 00 ........ ........ -[5B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[600] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[610] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[620] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[630] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[640] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[650] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[660] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[670] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[680] CC CC CC CC CC CC CC CC 1A 00 00 00 CC CC CC CC ........ ........ -[690] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[700] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[710] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[720] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[730] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[740] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[750] CC CC CC CC CC CC CC CC CC CC CC CC 19 00 00 00 ........ ........ -[760] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[770] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[780] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[790] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[800] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[810] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[820] CC CC CC CC CC CC CC CC 18 00 00 00 CC CC CC CC ........ ........ -[830] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[840] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[850] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[860] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[870] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[880] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[890] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8E0] CC CC CC CC CC CC CC CC CC CC CC CC 17 00 00 00 ........ ........ -[8F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[900] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[910] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[920] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[930] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[940] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[950] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[960] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[970] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[980] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[990] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9A0] CC CC CC CC CC CC CC CC 16 00 00 00 CC CC CC CC ........ ........ -[9B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A50] CC CC CC CC CC CC CC CC CC CC CC CC 15 00 00 00 ........ ........ -[A60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B00] CC CC CC CC CC CC CC CC 14 00 00 00 CC CC CC CC ........ ........ -[B10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BA0] CC CC CC CC CC CC CC CC CC CC CC CC 13 00 00 00 ........ ........ -[BB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C40] CC CC CC CC CC CC CC CC 12 00 00 00 CC CC CC CC ........ ........ -[C50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CD0] CC CC CC CC CC CC CC CC CC CC CC CC 11 00 00 00 ........ ........ -[CE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D60] CC CC CC CC CC CC CC CC 10 00 00 00 CC CC CC CC ........ ........ -[D70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DE0] CC CC CC CC CC CC CC CC CC CC CC CC 0F 00 00 00 ........ ........ -[DF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E60] CC CC CC CC CC CC CC CC 0E 00 00 00 CC CC CC CC ........ ........ -[E70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[ED0] CC CC CC CC CC CC CC CC CC CC CC CC 0D 00 00 00 ........ ........ -[EE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F40] CC CC CC CC CC CC CC CC 0C 00 00 00 CC CC CC CC ........ ........ -[F50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FA0] CC CC CC CC CC CC CC CC CC CC CC CC 0B 00 00 00 ........ ........ -[FB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1000] CC CC CC CC CC CC CC CC 0A 00 00 00 CC CC CC CC ........ ........ -[1010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1050] CC CC CC CC CC CC CC CC CC CC CC CC 09 00 00 00 ........ ........ -[1060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10A0] CC CC CC CC CC CC CC CC 08 00 00 00 CC CC CC CC ........ ........ -[10B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10E0] CC CC CC CC CC CC CC CC CC CC CC CC 07 00 00 00 ........ ........ -[10F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1120] CC CC CC CC CC CC CC CC 06 00 00 00 CC CC CC CC ........ ........ -[1130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1150] CC CC CC CC CC CC CC CC CC CC CC CC 05 00 00 00 ........ ........ -[1160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1180] CC CC CC CC CC CC CC CC 04 00 00 00 CC CC CC CC ........ ........ -[1190] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11A0] CC CC CC CC CC CC CC CC CC CC CC CC 03 00 00 00 ........ ........ -[11B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11C0] CC CC CC CC CC CC CC CC 02 00 00 00 CC CC CC CC ........ ........ -[11D0] CC CC CC CC CC CC CC CC CC CC CC CC 01 00 00 00 ........ ........ -[11E0] CC CC CC CC CC CC CC CC 00 00 00 00 03 00 00 00 ........ ........ -[11F0] 00 00 02 00 03 00 00 00 BB BB BB 00 54 72 75 65 ........ ....True - -alloc1:outp: bsize[6664], bcount[1] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[27] -push:outp: ecount[0] -NDRTcpThread[ndr32] stop -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[3048] plen[3024] ahint[3024] - -[000] B8 0B 00 00 00 00 00 00 00 00 02 00 00 00 00 00 ........ ........ -[010] B8 0B 00 00 00 00 00 00 AA AA AA AA AA AA AA AA ........ ........ -[020] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[030] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[040] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[050] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[060] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[070] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[080] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[090] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[100] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[110] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[120] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[130] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[140] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[150] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[160] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[170] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[180] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[190] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[200] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[210] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[220] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[230] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[240] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[250] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[260] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[270] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[280] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[290] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[300] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[310] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[320] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[330] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[340] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[350] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[360] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[370] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[380] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[390] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[400] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[410] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[420] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[430] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[440] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[450] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[460] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[470] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[480] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[490] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[500] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[510] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[520] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[530] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[540] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[550] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[560] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[570] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[580] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[590] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[600] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[610] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[620] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[630] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[640] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[650] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[660] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[670] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[680] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[690] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[700] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[710] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[720] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[730] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[740] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[750] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[760] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[770] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[780] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[790] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[800] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[810] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[820] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[830] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[840] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[850] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[860] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[870] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[880] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[890] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[900] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[910] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[920] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[930] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[940] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[950] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[960] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[970] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[980] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[990] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AC0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AD0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AE0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AF0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BC0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64: got NDR64 - -alloc1:inp: bsize[5000], bcount[0] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[35] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[34] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[33] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[32] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[31] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[30] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[29] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[28] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[27] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[26] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[25] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[24] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[23] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[22] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[21] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[20] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[19] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[18] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[17] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[16] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[15] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[14] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[13] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[12] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[11] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[10] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[9] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[8] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[7] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[6] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[5] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[4] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[3] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[2] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[1] -alloc1:inp: bsize[5000], bcount[625] -alloc2:inp: bsize[5000], bcount[625] -pull1:inp: esize[78] ecount[78] -pull2:inp: esize[78] ecount[0] - -ndr64: got NDR32 downgrade - - -ndr64:in => out: ptype[alter_req] flen[72] call[3] contexts[1] - - -ndr64:out => in: ptype[alter_ack] flen[56] call[3] - -ndr64:in => out: ptype[request] flen[5840] plen[5816] ahint[3012] - -[000] B8 0B 00 00 00 00 02 00 B8 0B 00 00 AA AA AA AA ........ ........ -[010] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[020] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[030] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[040] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[050] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[060] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[070] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[080] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[090] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[0F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[100] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[110] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[120] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[130] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[140] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[150] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[160] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[170] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[180] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[190] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[1F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[200] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[210] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[220] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[230] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[240] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[250] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[260] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[270] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[280] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[290] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[2F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[300] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[310] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[320] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[330] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[340] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[350] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[360] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[370] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[380] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[390] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[3F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[400] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[410] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[420] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[430] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[440] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[450] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[460] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[470] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[480] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[490] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[4F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[500] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[510] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[520] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[530] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[540] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[550] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[560] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[570] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[580] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[590] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[5F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[600] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[610] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[620] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[630] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[640] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[650] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[660] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[670] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[680] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[690] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[6F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[700] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[710] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[720] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[730] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[740] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[750] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[760] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[770] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[780] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[790] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[7F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[800] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[810] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[820] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[830] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[840] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[850] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[860] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[870] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[880] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[890] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[8F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[900] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[910] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[920] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[930] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[940] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[950] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[960] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[970] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[980] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[990] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9A0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9B0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9C0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9D0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9E0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[9F0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[A90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AC0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AD0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AE0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[AF0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B00] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B10] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B20] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B30] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B40] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B50] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B60] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B70] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B80] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[B90] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BA0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BB0] AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ........ ........ -[BC0] AA AA AA AA 23 00 00 00 DD DD DD DD DD DD DD DD ....#... ........ -[BD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[BE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[BF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C00] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[C90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[CD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[CE0] 22 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD "....... ........ -[CF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D00] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[D90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[DF0] DD DD 00 00 21 00 00 00 DD DD DD DD DD DD DD DD ....!... ........ -[E00] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[E90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[ED0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[EF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[F00] 20 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ....... ........ -[F10] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F20] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F30] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F40] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F50] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F60] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F70] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F80] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[F90] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FA0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FB0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FC0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FD0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FE0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[FF0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1000] DD DD 00 00 1F 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[1010] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1020] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1030] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1040] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1050] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1060] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1070] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1080] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1090] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[10F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[1100] 1E 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1110] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1120] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1130] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1140] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1150] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1160] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1170] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1180] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1190] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[11F0] DD DD 00 00 1D 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[1200] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1210] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1220] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1230] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1240] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1250] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1260] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1270] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1280] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1290] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[12E0] 1C 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[12F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1300] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1310] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1320] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1330] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1340] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1350] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1360] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1370] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1380] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1390] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13C0] DD DD 00 00 1B 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[13D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[13F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1400] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1410] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1420] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1430] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1440] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1450] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1460] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1470] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1480] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1490] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[14A0] 1A 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[14F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1500] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1510] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1520] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1530] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1540] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1550] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1560] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1570] DD DD 00 00 19 00 00 00 DD DD DD DD DD DD DD DD ........ ........ -[1580] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1590] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[15F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1600] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1610] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1620] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1630] DD DD DD DD DD DD DD DD DD DD DD DD DD DD 00 00 ........ ........ -[1640] 18 00 00 00 DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1650] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1660] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1670] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1680] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1690] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[16A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[16B0] DD DD DD DD DD DD DD DD ........ - -srv_midltests_fn: Start -pull inp_len[344] -ndr64:in => out: ptype[request] flen[2404] plen[2380] ahint[2380] - -[000] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[010] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[020] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[030] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[040] DD DD DD DD DD DD DD DD DD DD 00 00 17 00 00 00 ........ ........ -[050] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[060] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[070] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[080] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[090] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[0F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[100] DD DD DD DD DD DD AA AA 16 00 00 00 DD DD DD DD ........ ........ -[110] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[120] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[130] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[140] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[150] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[160] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[170] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[180] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[190] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1B0] DD DD DD DD DD DD DD DD DD DD AA AA 15 00 00 00 ........ ........ -[1C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[1F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[200] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[210] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[220] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[230] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[240] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[250] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[260] DD DD DD DD DD DD AA AA 14 00 00 00 DD DD DD DD ........ ........ -[270] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[280] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[290] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[2F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[300] DD DD DD DD DD DD DD DD DD DD AA AA 13 00 00 00 ........ ........ -[310] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[320] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[330] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[340] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[350] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[360] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[370] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[380] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[390] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3A0] DD DD DD DD DD DD AA AA 12 00 00 00 DD DD DD DD ........ ........ -[3B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[3F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[400] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[410] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[420] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[430] DD DD DD DD DD DD DD DD DD DD AA AA 11 00 00 00 ........ ........ -[440] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[450] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[460] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[470] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[480] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[490] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4C0] DD DD DD DD DD DD AA AA 10 00 00 00 DD DD DD DD ........ ........ -[4D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[4F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[500] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[510] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[520] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[530] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[540] DD DD DD DD DD DD DD DD DD DD AA AA 0F 00 00 00 ........ ........ -[550] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[560] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[570] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[580] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[590] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5C0] DD DD DD DD DD DD AA AA 0E 00 00 00 DD DD DD DD ........ ........ -[5D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[5F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[600] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[610] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[620] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[630] DD DD DD DD DD DD DD DD DD DD AA AA 0D 00 00 00 ........ ........ -[640] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[650] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[660] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[670] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[680] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[690] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6A0] DD DD DD DD DD DD AA AA 0C 00 00 00 DD DD DD DD ........ ........ -[6B0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[6F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[700] DD DD DD DD DD DD DD DD DD DD AA AA 0B 00 00 00 ........ ........ -[710] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[720] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[730] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[740] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[750] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[760] DD DD DD DD DD DD AA AA 0A 00 00 00 DD DD DD DD ........ ........ -[770] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[780] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[790] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7B0] DD DD DD DD DD DD DD DD DD DD AA AA 09 00 00 00 ........ ........ -[7C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7E0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[7F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[800] DD DD DD DD DD DD AA AA 08 00 00 00 DD DD DD DD ........ ........ -[810] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[820] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[830] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[840] DD DD DD DD DD DD DD DD DD DD AA AA 07 00 00 00 ........ ........ -[850] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[860] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[870] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[880] DD DD DD DD DD DD AA AA 06 00 00 00 DD DD DD DD ........ ........ -[890] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8A0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8B0] DD DD DD DD DD DD DD DD DD DD AA AA 05 00 00 00 ........ ........ -[8C0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8D0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[8E0] DD DD DD DD DD DD AA AA 04 00 00 00 DD DD DD DD ........ ........ -[8F0] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[900] DD DD DD DD DD DD DD DD DD DD AA AA 03 00 00 00 ........ ........ -[910] DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ........ ........ -[920] DD DD DD DD DD DD AA AA 02 00 00 00 DD DD DD DD ........ ........ -[930] DD DD DD DD DD DD DD DD DD DD AA AA 01 00 00 00 ........ ........ -[940] DD DD DD DD DD DD AA AA 00 00 00 00 ........ .... - -pull inp_len[286] -pull inp_len[0] -push outb_len[50] -push outb_len[49] -push outb_len[48] -push outb_len[47] -push outb_len[46] -push outb_len[45] -push outb_len[44] -push outb_len[43] -push outb_len[42] -push outb_len[41] -push outb_len[40] -push outb_len[39] -push outb_len[38] -push outb_len[37] -push outb_len[36] -push outb_len[35] -push outb_len[34] -push outb_len[33] -push outb_len[32] -push outb_len[31] -push outb_len[30] -push outb_len[29] -push outb_len[28] -push outb_len[27] -push outb_len[26] -push outb_len[25] -push outb_len[24] -push outb_len[23] -push outb_len[22] -push outb_len[21] -push outb_len[20] -push outb_len[19] -push outb_len[18] -push outb_len[17] -push outb_len[16] -push outb_len[15] -push outb_len[14] -push outb_len[13] -push outb_len[12] -push outb_len[11] -push outb_len[10] -push outb_len[9] -push outb_len[8] -push outb_len[7] -push outb_len[6] -push outb_len[5] -push outb_len[4] -push outb_len[3] -push outb_len[2] -push outb_len[1] -push outb_len[0] -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[5840] plen[5816] ahint[5816] - -[000] 32 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC 2....... ........ -[010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[050] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[120] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[150] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[180] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[190] CC CC 00 00 31 00 00 00 CC CC CC CC CC CC CC CC ....1... ........ -[1A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[200] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[210] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[220] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[230] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[240] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[250] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[260] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[270] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[280] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[290] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[300] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[310] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[320] 30 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC 0....... ........ -[330] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[340] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[350] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[360] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[370] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[380] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[390] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[400] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[410] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[420] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[430] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[440] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[450] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[460] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[470] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[480] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[490] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4A0] CC CC 00 00 2F 00 00 00 CC CC CC CC CC CC CC CC ..../... ........ -[4B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[500] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[510] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[520] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[530] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[540] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[550] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[560] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[570] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[580] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[590] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[600] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[610] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[620] 2E 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[630] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[640] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[650] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[660] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[670] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[680] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[690] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[700] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[710] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[720] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[730] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[740] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[750] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[760] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[770] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[780] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[790] CC CC 00 00 2D 00 00 00 CC CC CC CC CC CC CC CC ....-... ........ -[7A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[800] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[810] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[820] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[830] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[840] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[850] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[860] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[870] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[880] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[890] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[900] 2C 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC ,....... ........ -[910] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[920] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[930] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[940] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[950] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[960] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[970] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[980] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[990] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A60] CC CC 00 00 2B 00 00 00 CC CC CC CC CC CC CC CC ....+... ........ -[A70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[BC0] 2A 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC *....... ........ -[BD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D10] CC CC 00 00 29 00 00 00 CC CC CC CC CC CC CC CC ....)... ........ -[D20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[E60] 28 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC (....... ........ -[E70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[ED0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FA0] CC CC 00 00 27 00 00 00 CC CC CC CC CC CC CC CC ....'... ........ -[FB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1000] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1050] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[10E0] 26 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC &....... ........ -[10F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1120] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1150] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1180] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1190] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1200] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1210] CC CC 00 00 25 00 00 00 CC CC CC CC CC CC CC CC ....%... ........ -[1220] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1230] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1240] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1250] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1260] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1270] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1280] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1290] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[12F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1300] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1310] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1320] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1330] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[1340] 24 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC $....... ........ -[1350] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1360] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1370] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1380] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1390] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[13F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1400] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1410] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1420] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1430] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1440] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1450] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1460] CC CC 00 00 23 00 00 00 CC CC CC CC CC CC CC CC ....#... ........ -[1470] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1480] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1490] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[14F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1500] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1510] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1520] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1530] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1540] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1550] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1560] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1570] CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 00 ........ ........ -[1580] 22 00 00 00 CC CC CC CC CC CC CC CC CC CC CC CC "....... ........ -[1590] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[15F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1600] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1610] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1620] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1630] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1640] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1650] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1660] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1670] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1680] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1690] CC CC 00 00 21 00 00 00 CC CC CC CC CC CC CC CC ....!... ........ -[16A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[16B0] CC CC CC CC CC CC CC CC ........ - - -ndr64:out => in: ptype[response] flen[4632] plen[4608] ahint[4608] - -[000] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[050] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[0E0] CC CC CC CC CC CC 00 00 20 00 00 00 CC CC CC CC ........ ....... -[0F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[120] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[150] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[180] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[190] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1E0] CC CC CC CC CC CC CC CC CC CC CC CC 1F 00 00 00 ........ ........ -[1F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[200] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[210] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[220] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[230] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[240] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[250] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[260] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[270] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[280] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[290] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[2E0] CC CC CC CC CC CC CC CC 1E 00 00 00 CC CC CC CC ........ ........ -[2F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[300] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[310] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[320] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[330] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[340] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[350] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[360] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[370] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[380] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[390] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3D0] CC CC CC CC CC CC CC CC CC CC CC CC 1D 00 00 00 ........ ........ -[3E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[3F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[400] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[410] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[420] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[430] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[440] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[450] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[460] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[470] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[480] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[490] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4C0] CC CC CC CC CC CC CC CC 1C 00 00 00 CC CC CC CC ........ ........ -[4D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[4F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[500] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[510] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[520] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[530] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[540] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[550] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[560] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[570] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[580] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[590] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5A0] CC CC CC CC CC CC CC CC CC CC CC CC 1B 00 00 00 ........ ........ -[5B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[5F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[600] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[610] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[620] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[630] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[640] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[650] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[660] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[670] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[680] CC CC CC CC CC CC CC CC 1A 00 00 00 CC CC CC CC ........ ........ -[690] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[6F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[700] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[710] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[720] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[730] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[740] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[750] CC CC CC CC CC CC CC CC CC CC CC CC 19 00 00 00 ........ ........ -[760] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[770] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[780] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[790] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[7F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[800] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[810] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[820] CC CC CC CC CC CC CC CC 18 00 00 00 CC CC CC CC ........ ........ -[830] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[840] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[850] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[860] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[870] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[880] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[890] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8A0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[8E0] CC CC CC CC CC CC CC CC CC CC CC CC 17 00 00 00 ........ ........ -[8F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[900] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[910] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[920] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[930] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[940] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[950] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[960] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[970] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[980] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[990] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9A0] CC CC CC CC CC CC CC CC 16 00 00 00 CC CC CC CC ........ ........ -[9B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9E0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[9F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A50] CC CC CC CC CC CC CC CC CC CC CC CC 15 00 00 00 ........ ........ -[A60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[A90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[AF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B00] CC CC CC CC CC CC CC CC 14 00 00 00 CC CC CC CC ........ ........ -[B10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[B90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BA0] CC CC CC CC CC CC CC CC CC CC CC CC 13 00 00 00 ........ ........ -[BB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[BF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C40] CC CC CC CC CC CC CC CC 12 00 00 00 CC CC CC CC ........ ........ -[C50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[C90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CD0] CC CC CC CC CC CC CC CC CC CC CC CC 11 00 00 00 ........ ........ -[CE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[CF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D60] CC CC CC CC CC CC CC CC 10 00 00 00 CC CC CC CC ........ ........ -[D70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[D90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[DE0] CC CC CC CC CC CC CC CC CC CC CC CC 0F 00 00 00 ........ ........ -[DF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E40] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E60] CC CC CC CC CC CC CC CC 0E 00 00 00 CC CC CC CC ........ ........ -[E70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[E90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EA0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[ED0] CC CC CC CC CC CC CC CC CC CC CC CC 0D 00 00 00 ........ ........ -[EE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[EF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F00] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F10] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F20] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F30] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F40] CC CC CC CC CC CC CC CC 0C 00 00 00 CC CC CC CC ........ ........ -[F50] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F60] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F70] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F80] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[F90] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FA0] CC CC CC CC CC CC CC CC CC CC CC CC 0B 00 00 00 ........ ........ -[FB0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FC0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FD0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FE0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[FF0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1000] CC CC CC CC CC CC CC CC 0A 00 00 00 CC CC CC CC ........ ........ -[1010] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1020] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1030] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1040] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1050] CC CC CC CC CC CC CC CC CC CC CC CC 09 00 00 00 ........ ........ -[1060] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1070] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1080] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1090] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10A0] CC CC CC CC CC CC CC CC 08 00 00 00 CC CC CC CC ........ ........ -[10B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10C0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10D0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[10E0] CC CC CC CC CC CC CC CC CC CC CC CC 07 00 00 00 ........ ........ -[10F0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1100] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1110] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1120] CC CC CC CC CC CC CC CC 06 00 00 00 CC CC CC CC ........ ........ -[1130] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1140] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1150] CC CC CC CC CC CC CC CC CC CC CC CC 05 00 00 00 ........ ........ -[1160] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1170] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[1180] CC CC CC CC CC CC CC CC 04 00 00 00 CC CC CC CC ........ ........ -[1190] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11A0] CC CC CC CC CC CC CC CC CC CC CC CC 03 00 00 00 ........ ........ -[11B0] CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ........ ........ -[11C0] CC CC CC CC CC CC CC CC 02 00 00 00 CC CC CC CC ........ ........ -[11D0] CC CC CC CC CC CC CC CC CC CC CC CC 01 00 00 00 ........ ........ -[11E0] CC CC CC CC CC CC CC CC 00 00 00 00 03 00 00 00 ........ ........ -[11F0] 00 00 02 00 03 00 00 00 BB BB BB 00 54 72 75 65 ........ ....True - -alloc1:outp: bsize[6664], bcount[1] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[104] -alloc1:outp: bsize[6664], bcount[833] -alloc2:outp: bsize[6664], bcount[833] -push:outp: ecount[27] -push:outp: ecount[0] -NDRTcpThread[ndr64] stop -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_fixed_size_in_array_01.idl b/testprogs/win32/midltests/valid/midltests_fixed_size_in_array_01.idl deleted file mode 100644 index 170b147953..0000000000 --- a/testprogs/win32/midltests/valid/midltests_fixed_size_in_array_01.idl +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - long midltests_fn( - [in] long a[2] - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - long a[2] = { 1, 2 }; - cli_midltests_fn(a); -} - -long srv_midltests_fn(long a[2]) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_fixed_size_in_array_01.txt b/testprogs/win32/midltests/valid/midltests_fixed_size_in_array_01.txt deleted file mode 100644 index 8903c4cf89..0000000000 --- a/testprogs/win32/midltests/valid/midltests_fixed_size_in_array_01.txt +++ /dev/null @@ -1,6 +0,0 @@ -[in] Buffer[8/24]
-[000] 01 00 00 00 02 00 00 00 ........
-srv_midltests_fn: Start
-srv_midltests_fn: End
-[out] Buffer[4]
-[000] 54 72 75 65 True
diff --git a/testprogs/win32/midltests/valid/midltests_strings_array_01.err.txt b/testprogs/win32/midltests/valid/midltests_strings_array_01.err.txt deleted file mode 100644 index dbbc89af51..0000000000 --- a/testprogs/win32/midltests/valid/midltests_strings_array_01.err.txt +++ /dev/null @@ -1,13 +0,0 @@ -[in] Buffer[53/53]
-[000] 03 00 00 00 03 00 00 00 00 00 02 00 04 00 02 00 ........ ........
-[010] 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 ........ ........
-[020] 66 6F 6F 00 05 00 00 00 00 00 00 00 05 00 00 00 foo..... ........
-[030] 62 61 72 32 00 bar2.
-srv_midltests_fn: Start
-srv_midltests_fn: End
-[out] Buffer[60]
-[000] 03 00 00 00 03 00 00 00 00 00 02 00 04 00 02 00 ........ ........
-[010] 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 ........ ........
-[020] 66 6F 6F 00 05 00 00 00 00 00 00 00 05 00 00 00 foo..... ........
-[030] 62 61 72 32 00 00 00 00 54 72 75 65 bar2.... True
-Runtime error 0x6f7
diff --git a/testprogs/win32/midltests/valid/midltests_strings_array_01.idl b/testprogs/win32/midltests/valid/midltests_strings_array_01.idl deleted file mode 100644 index db05bb2735..0000000000 --- a/testprogs/win32/midltests/valid/midltests_strings_array_01.idl +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - struct strings { - long count; - [size_is(count),string] char *val[]; - }; - - long midltests_fn( - [in,out,ref] struct strings *s - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - const char *s1 = "foo"; - const char *s2 = "bar"; - char *a[] = { "foo", "bar2", NULL }; - char buffer[1024]; - struct strings *s = buffer; - - s->count = 3; - s->val[0] = "foo"; - s->val[1] = "bar2"; - s->val[2] = NULL; - - cli_midltests_fn(s); -} - -long srv_midltests_fn(struct strings *a) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_strings_array_02.idl b/testprogs/win32/midltests/valid/midltests_strings_array_02.idl deleted file mode 100644 index 46154c967a..0000000000 --- a/testprogs/win32/midltests/valid/midltests_strings_array_02.idl +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - struct strings { - long count; - [size_is(count),string] char *val[]; - }; - - long midltests_fn( - [in,ref] struct strings *s - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - const char *s1 = "foo"; - const char *s2 = "bar"; - char *a[] = { "foo", "bar2", NULL }; - char buffer[1024]; - struct strings *s = buffer; - - s->count = 3; - s->val[0] = "foo"; - s->val[1] = "bar2"; - s->val[2] = NULL; - - cli_midltests_fn(s); -} - -long srv_midltests_fn(struct strings *a) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_strings_array_02.txt b/testprogs/win32/midltests/valid/midltests_strings_array_02.txt deleted file mode 100644 index 2bec6a0402..0000000000 --- a/testprogs/win32/midltests/valid/midltests_strings_array_02.txt +++ /dev/null @@ -1,9 +0,0 @@ -[in] Buffer[53/53]
-[000] 03 00 00 00 03 00 00 00 00 00 02 00 04 00 02 00 ........ ........
-[010] 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 ........ ........
-[020] 66 6F 6F 00 05 00 00 00 00 00 00 00 05 00 00 00 foo..... ........
-[030] 62 61 72 32 00 bar2.
-srv_midltests_fn: Start
-srv_midltests_fn: End
-[out] Buffer[4]
-[000] 54 72 75 65 True
diff --git a/testprogs/win32/midltests/valid/midltests_union_align_01.idl b/testprogs/win32/midltests/valid/midltests_union_align_01.idl deleted file mode 100644 index fcea0729b0..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_01.idl +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - [switch_type(short)] union u { - [case(0)]; - [case(2)] short s; - [case(4)] long l; - [case(8)] hyper h; - }; - - long midltests_fn( - [in] short level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(0, u); - cli_midltests_fn(2, u); - cli_midltests_fn(4, u); - cli_midltests_fn(8, u); -} - -long srv_midltests_fn(short level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_01.txt b/testprogs/win32/midltests/valid/midltests_union_align_01.txt deleted file mode 100644 index cc372c8134..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_01.txt +++ /dev/null @@ -1,24 +0,0 @@ -[in] Buffer[4/8] -[000] 00 00 00 00 .... -srv_midltests_fn: Start -srv_midltests_fn: End -[out] Buffer[4] -[000] 54 72 75 65 True -[in] Buffer[6/10] -[000] 02 00 02 00 FF FF ...... -srv_midltests_fn: Start -srv_midltests_fn: End -[out] Buffer[4] -[000] 54 72 75 65 True -[in] Buffer[8/12] -[000] 04 00 04 00 FF FF FF FF ........ -srv_midltests_fn: Start -srv_midltests_fn: End -[out] Buffer[4] -[000] 54 72 75 65 True -[in] Buffer[16/16] -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -srv_midltests_fn: Start -srv_midltests_fn: End -[out] Buffer[4] -[000] 54 72 75 65 True diff --git a/testprogs/win32/midltests/valid/midltests_union_align_02.idl b/testprogs/win32/midltests/valid/midltests_union_align_02.idl deleted file mode 100644 index dc2d84df47..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_02.idl +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef [switch_type(char)] union { - [case(1)] char c; - } u; - long midltests_fn( - [in] char l, - [in,switch_is(l)] u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - char l; - u u; - - l = 1; - u.c = 'A'; - cli_midltests_fn(l,u); -} - -long srv_midltests_fn(char l, u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_02.txt b/testprogs/win32/midltests/valid/midltests_union_align_02.txt deleted file mode 100644 index 16186ea8ca..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_02.txt +++ /dev/null @@ -1,37 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[27] plen[3] ahint[3] - -[000] 01 01 41 ..A - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[27] plen[3] ahint[3] - -[000] 01 01 41 ..A - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_03.idl b/testprogs/win32/midltests/valid/midltests_union_align_03.idl deleted file mode 100644 index 699dd6ce99..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_03.idl +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef [switch_type(short)] union { - [case(1)] char c; - } u; - long midltests_fn( - [in] short l, - [in] char v, - [in,switch_is(l)] u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - short l; - char v; - u u; - - l = 1; - v = 'V'; - u.c = 'C'; - cli_midltests_fn(l, v, u); -} - -long srv_midltests_fn(short l, char v, u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_03.txt b/testprogs/win32/midltests/valid/midltests_union_align_03.txt deleted file mode 100644 index 7078dd35ce..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_03.txt +++ /dev/null @@ -1,37 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[31] plen[7] ahint[7] - -[000] 01 00 56 00 01 00 43 ..V...C - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[31] plen[7] ahint[7] - -[000] 01 00 56 00 01 00 43 ..V...C - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_04.idl b/testprogs/win32/midltests/valid/midltests_union_align_04.idl deleted file mode 100644 index a7c6ad7812..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_04.idl +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef [switch_type(long)] union { - [case(1)] char c; - } u; - long midltests_fn( - [in] long l, - [in] char v, - [in,switch_is(l)] u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - long l; - char v; - u u; - - l = 1; - v = 'V'; - u.c = 'C'; - cli_midltests_fn(l, v, u); -} - -long srv_midltests_fn(long l, char v, u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_04.txt b/testprogs/win32/midltests/valid/midltests_union_align_04.txt deleted file mode 100644 index d323860497..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_04.txt +++ /dev/null @@ -1,37 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[37] plen[13] ahint[13] - -[000] 01 00 00 00 56 00 00 00 01 00 00 00 43 ....V... ....C - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[37] plen[13] ahint[13] - -[000] 01 00 00 00 56 00 00 00 01 00 00 00 43 ....V... ....C - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_05.idl b/testprogs/win32/midltests/valid/midltests_union_align_05.idl deleted file mode 100644 index da46bab62a..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_05.idl +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef [switch_type(char)] union { - [case(1)] short c; - } u; - long midltests_fn( - [in] char l, - [in,switch_is(l)] u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - char l; - u u; - - l = 1; - u.c = 'C'; - cli_midltests_fn(l, u); -} - -long srv_midltests_fn(hyper l, u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_05.txt b/testprogs/win32/midltests/valid/midltests_union_align_05.txt deleted file mode 100644 index 1938b0a754..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_05.txt +++ /dev/null @@ -1,37 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[28] plen[4] ahint[4] - -[000] 01 01 43 00 ..C. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 43 00 ....C. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_06.idl b/testprogs/win32/midltests/valid/midltests_union_align_06.idl deleted file mode 100644 index 63fb3100c5..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_06.idl +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef [switch_type(char)] union { - [case(1)] long c; - } u; - long midltests_fn( - [in] char l, - [in,switch_is(l)] u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - char l; - u u; - - l = 1; - u.c = 'C'; - cli_midltests_fn(l, u); -} - -long srv_midltests_fn(hyper l, u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_06.txt b/testprogs/win32/midltests/valid/midltests_union_align_06.txt deleted file mode 100644 index c864e51807..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_06.txt +++ /dev/null @@ -1,37 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 01 01 00 00 43 00 00 00 ....C... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[36] plen[12] ahint[12] - -[000] 01 00 00 00 01 00 00 00 43 00 00 00 ........ C... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_07.idl b/testprogs/win32/midltests/valid/midltests_union_align_07.idl deleted file mode 100644 index 892460d0f5..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_07.idl +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - typedef [switch_type(char)] union { - [case(1)] hyper c; - } u; - long midltests_fn( - [in] char l, - [in,switch_is(l)] u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - char l; - u u; - - l = 1; - u.c = 'C'; - cli_midltests_fn(l, u); -} - -long srv_midltests_fn(hyper l, u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_07.txt b/testprogs/win32/midltests/valid/midltests_union_align_07.txt deleted file mode 100644 index 88b44ecda5..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_07.txt +++ /dev/null @@ -1,38 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 01 01 00 00 00 00 00 00 43 00 00 00 00 00 00 00 ........ C....... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] 43 00 00 00 00 00 00 00 C....... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_08.idl b/testprogs/win32/midltests/valid/midltests_union_align_08.idl deleted file mode 100644 index 0cbdbfe574..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_08.idl +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - [switch_type(char)] union u { - [case(0)]; - [case(1)] char c; - [case(2)] short s; - [case(4)] long l; - [case(8)] hyper h; - }; - - long midltests_fn( - [in] char level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(0, u); - cli_midltests_fn(1, u); - cli_midltests_fn(2, u); - cli_midltests_fn(4, u); - cli_midltests_fn(8, u); -} - -long srv_midltests_fn(char level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_08.txt b/testprogs/win32/midltests/valid/midltests_union_align_08.txt deleted file mode 100644 index 1bf5cd9fa8..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_08.txt +++ /dev/null @@ -1,129 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[26] plen[2] ahint[2] - -[000] 00 00 .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[27] plen[3] ahint[3] - -[000] 01 01 FF ... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[28] plen[4] ahint[4] - -[000] 02 02 FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 04 04 00 00 FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 08 08 00 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_09.idl b/testprogs/win32/midltests/valid/midltests_union_align_09.idl deleted file mode 100644 index 358a5983df..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_09.idl +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - ms_union, - pointer_default(unique) -] -interface midltests -{ - [switch_type(char)] union u { - [case(0)]; - [case(1)] char c; - [case(2)] short s; - [case(4)] long l; - [case(8)] hyper h; - }; - - long midltests_fn( - [in] char level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(0, u); - cli_midltests_fn(1, u); - cli_midltests_fn(2, u); - cli_midltests_fn(4, u); - cli_midltests_fn(8, u); -} - -long srv_midltests_fn(char level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_09.txt b/testprogs/win32/midltests/valid/midltests_union_align_09.txt deleted file mode 100644 index 5e7e192b5b..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_09.txt +++ /dev/null @@ -1,129 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 00 00 00 00 00 00 00 00 ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 01 01 00 00 00 00 00 00 FF ........ . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 02 02 00 00 00 00 00 00 FF FF ........ .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[36] plen[12] ahint[12] - -[000] 04 04 00 00 00 00 00 00 FF FF FF FF ........ .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 08 08 00 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_10.idl b/testprogs/win32/midltests/valid/midltests_union_align_10.idl deleted file mode 100644 index 6d66272a16..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_10.idl +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - ms_union, - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(long)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - long midltests_fn( - [in] enum level_enum level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(ZERO, u); - cli_midltests_fn(ONE, u); - cli_midltests_fn(TWO, u); - cli_midltests_fn(FOUR, u); - cli_midltests_fn(EIGHT, u); -} - -long srv_midltests_fn(char level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_10.txt b/testprogs/win32/midltests/valid/midltests_union_align_10.txt deleted file mode 100644 index babae12dab..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_10.txt +++ /dev/null @@ -1,129 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 00 00 00 00 00 00 00 00 ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 01 00 00 00 01 00 00 00 FF ........ . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 02 00 00 00 02 00 00 00 FF FF ........ .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[36] plen[12] ahint[12] - -[000] 04 00 00 00 04 00 00 00 FF FF FF FF ........ .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 08 00 00 00 08 00 00 00 FF FF FF FF FF FF FF FF ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_11.idl b/testprogs/win32/midltests/valid/midltests_union_align_11.idl deleted file mode 100644 index 1036abe9d6..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_11.idl +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(long)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - long midltests_fn( - [in] enum level_enum level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(ZERO, u); - cli_midltests_fn(ONE, u); - cli_midltests_fn(TWO, u); - cli_midltests_fn(FOUR, u); - cli_midltests_fn(EIGHT, u); -} - -long srv_midltests_fn(char level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_11.txt b/testprogs/win32/midltests/valid/midltests_union_align_11.txt deleted file mode 100644 index babae12dab..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_11.txt +++ /dev/null @@ -1,129 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 00 00 00 00 00 00 00 00 ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 01 00 00 00 01 00 00 00 FF ........ . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 02 00 00 00 02 00 00 00 FF FF ........ .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[36] plen[12] ahint[12] - -[000] 04 00 00 00 04 00 00 00 FF FF FF FF ........ .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 08 00 00 00 08 00 00 00 FF FF FF FF FF FF FF FF ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_12.idl b/testprogs/win32/midltests/valid/midltests_union_align_12.idl deleted file mode 100644 index 6b27cb9189..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_12.idl +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - long midltests_fn( - [in] enum level_enum level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(ZERO, u); - cli_midltests_fn(ONE, u); - cli_midltests_fn(TWO, u); - cli_midltests_fn(FOUR, u); - cli_midltests_fn(EIGHT, u); -} - -long srv_midltests_fn(char level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_12.txt b/testprogs/win32/midltests/valid/midltests_union_align_12.txt deleted file mode 100644 index 1a3273953f..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_12.txt +++ /dev/null @@ -1,129 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[28] plen[4] ahint[4] - -[000] 00 00 00 00 .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[29] plen[5] ahint[5] - -[000] 01 00 01 00 FF ..... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[30] plen[6] ahint[6] - -[000] 02 00 02 00 FF FF ...... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 04 00 04 00 FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_13.idl b/testprogs/win32/midltests/valid/midltests_union_align_13.idl deleted file mode 100644 index a29dcb9d23..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_13.idl +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - ms_union, - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - long midltests_fn( - [in] enum level_enum level, - [in,switch_is(level)] union u u - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(ZERO, u); - cli_midltests_fn(ONE, u); - cli_midltests_fn(TWO, u); - cli_midltests_fn(FOUR, u); - cli_midltests_fn(EIGHT, u); -} - -long srv_midltests_fn(char level, union u u) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_13.txt b/testprogs/win32/midltests/valid/midltests_union_align_13.txt deleted file mode 100644 index 8f0563b9b2..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_13.txt +++ /dev/null @@ -1,129 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8] - -[000] 00 00 00 00 00 00 00 00 ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 01 00 01 00 00 00 00 00 FF ........ . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 02 00 02 00 00 00 00 00 FF FF ........ .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[36] plen[12] ahint[12] - -[000] 04 00 04 00 00 00 00 00 FF FF FF FF ........ .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF . - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF .. - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF .... - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF ........ - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_14.idl b/testprogs/win32/midltests/valid/midltests_union_align_14.idl deleted file mode 100644 index c029f5a7d4..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_14.idl +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - long midltests_fn( - [in] enum level_enum level, - [in,switch_is(level)] union u u, - [in] char c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(ZERO, u, 'c'); - cli_midltests_fn(ONE, u, 'c'); - cli_midltests_fn(TWO, u, 'c'); - cli_midltests_fn(FOUR, u, 'c'); - cli_midltests_fn(EIGHT, u, 'c'); -} - -long srv_midltests_fn(char level, union u u, char c) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_14.txt b/testprogs/win32/midltests/valid/midltests_union_align_14.txt deleted file mode 100644 index 9713788f2b..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_14.txt +++ /dev/null @@ -1,131 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_15.idl b/testprogs/win32/midltests/valid/midltests_union_align_15.idl deleted file mode 100644 index c8037b8d02..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_15.idl +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - ms_union, - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - long midltests_fn( - [in] enum level_enum level, - [in,switch_is(level)] union u u, - [in] char c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - cli_midltests_fn(ZERO, u, 'c'); - cli_midltests_fn(ONE, u, 'c'); - cli_midltests_fn(TWO, u, 'c'); - cli_midltests_fn(FOUR, u, 'c'); - cli_midltests_fn(EIGHT, u, 'c'); -} - -long srv_midltests_fn(char level, union u u, char c) -{ - printf("srv_midltests_fn: Start\n"); - printf("srv_midltests_fn: End\n"); - return 0x65757254; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_15.txt b/testprogs/win32/midltests/valid/midltests_union_align_15.txt deleted file mode 100644 index 475493023c..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_15.txt +++ /dev/null @@ -1,131 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 00 00 00 00 00 00 00 00 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 01 00 01 00 00 00 00 00 FF 63 ........ .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[35] plen[11] ahint[11] - -[000] 02 00 02 00 00 00 00 00 FF FF 63 ........ ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[37] plen[13] ahint[13] - -[000] 04 00 04 00 00 00 00 00 FF FF FF FF 63 ........ ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4] - -[000] 54 72 75 65 True - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_16.idl b/testprogs/win32/midltests/valid/midltests_union_align_16.idl deleted file mode 100644 index 683a79a9d6..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_16.idl +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - struct us { - enum level_enum level; - [switch_is(level)] union { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - } u; - }; - - void midltests_fn( - [in,ref] enum level_enum *level, - [in,switch_is(*level)] union u u, - [out,ref] struct us *us, - [in,out,ref] char *c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - enum level_enum level; - unsigned char c = 'c'; - struct us us; - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - level = ZERO; - cli_midltests_fn(&level, u, &us, &c); - level = ONE; - cli_midltests_fn(&level, u, &us, &c); - level = TWO; - cli_midltests_fn(&level, u, &us, &c); - level = FOUR; - cli_midltests_fn(&level, u, &us, &c); - level = EIGHT; - cli_midltests_fn(&level, u, &us, &c); -} - -void srv_midltests_fn(enum level_enum *level, union u u, struct us *us, unsigned char *c) -{ - printf("srv_midltests_fn: Start\n"); - us->level = *level; - us->u.h = u.h; - printf("srv_midltests_fn: End\n"); - return; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_16.txt b/testprogs/win32/midltests/valid/midltests_union_align_16.txt deleted file mode 100644 index 5366c148d1..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_16.txt +++ /dev/null @@ -1,137 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -ndr32:in => out: ptype[request] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -ndr32:in => out: ptype[request] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 00 00 00 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 00 00 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_17.idl b/testprogs/win32/midltests/valid/midltests_union_align_17.idl deleted file mode 100644 index f1514527dc..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_17.idl +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - ms_union, - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - struct us { - enum level_enum level; - [switch_is(level)] union { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - } u; - }; - - void midltests_fn( - [in,ref] enum level_enum *level, - [in,switch_is(*level)] union u u, - [out,ref] struct us *us, - [in,out,ref] char *c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - enum level_enum level; - char c = 'c'; - struct us us; - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - level = ZERO; - cli_midltests_fn(&level, u, &us, &c); - level = ONE; - cli_midltests_fn(&level, u, &us, &c); - level = TWO; - cli_midltests_fn(&level, u, &us, &c); - level = FOUR; - cli_midltests_fn(&level, u, &us, &c); - level = EIGHT; - cli_midltests_fn(&level, u, &us, &c); -} - -void srv_midltests_fn(enum level_enum *level, union u u, struct us *us, char *c) -{ - printf("srv_midltests_fn: Start\n"); - us->level = *level; - us->u.h = u.h; - printf("srv_midltests_fn: End\n"); - return; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_17.txt b/testprogs/win32/midltests/valid/midltests_union_align_17.txt deleted file mode 100644 index 7b62241a73..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_17.txt +++ /dev/null @@ -1,137 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 00 00 00 00 00 00 00 00 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[33] plen[9] ahint[9] - -[000] 00 00 00 00 00 00 00 00 63 ........ c - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 01 00 01 00 00 00 00 00 FF 63 ........ .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[34] plen[10] ahint[10] - -[000] 01 00 01 00 00 00 00 00 FF 63 ........ .c - -ndr32:in => out: ptype[request] flen[35] plen[11] ahint[11] - -[000] 02 00 02 00 00 00 00 00 FF FF 63 ........ ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[35] plen[11] ahint[11] - -[000] 02 00 02 00 00 00 00 00 FF FF 63 ........ ..c - -ndr32:in => out: ptype[request] flen[37] plen[13] ahint[13] - -[000] 04 00 04 00 00 00 00 00 FF FF FF FF 63 ........ ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[37] plen[13] ahint[13] - -[000] 04 00 04 00 00 00 00 00 FF FF FF FF 63 ........ ....c - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 00 00 00 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 00 00 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_18.idl b/testprogs/win32/midltests/valid/midltests_union_align_18.idl deleted file mode 100644 index 542973bca5..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_18.idl +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum),ms_union] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - struct us { - enum level_enum level; - [switch_is(level)] union { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - } u; - }; - - void midltests_fn( - [in,ref] enum level_enum *level, - [in,switch_is(*level)] union u u, - [out,ref] struct us *us, - [in,out,ref] char *c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - enum level_enum level; - char c = 'c'; - struct us us; - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - level = ZERO; - cli_midltests_fn(&level, u, &us, &c); - level = ONE; - cli_midltests_fn(&level, u, &us, &c); - level = TWO; - cli_midltests_fn(&level, u, &us, &c); - level = FOUR; - cli_midltests_fn(&level, u, &us, &c); - level = EIGHT; - cli_midltests_fn(&level, u, &us, &c); -} - -void srv_midltests_fn(enum level_enum *level, union u u, struct us *us, char *c) -{ - printf("srv_midltests_fn: Start\n"); - us->level = *level; - us->u.h = u.h; - printf("srv_midltests_fn: End\n"); - return; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_18.txt b/testprogs/win32/midltests/valid/midltests_union_align_18.txt deleted file mode 100644 index 5693dd3e5c..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_18.txt +++ /dev/null @@ -1,137 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 00 00 00 00 00 00 00 00 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 01 00 01 00 00 00 00 00 FF 63 ........ .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -ndr32:in => out: ptype[request] flen[35] plen[11] ahint[11] - -[000] 02 00 02 00 00 00 00 00 FF FF 63 ........ ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -ndr32:in => out: ptype[request] flen[37] plen[13] ahint[13] - -[000] 04 00 04 00 00 00 00 00 FF FF FF FF 63 ........ ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 00 00 00 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 00 00 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 00 00 00 00 63 ........ c - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_19.idl b/testprogs/win32/midltests/valid/midltests_union_align_19.idl deleted file mode 100644 index b8ff0d6d69..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_19.idl +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - union ue switch(enum level_enum level) u { - case(ZERO):; - case(ONE): char c; - case(TWO): short s; - case(FOUR): long l; - case(EIGHT): hyper h; - }; - - void midltests_fn( - [in,out,ref] enum level_enum *level, - [in,switch_is(*level)] union u u, - [out,ref] union ue *ue, - [in,out,ref] char *c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - enum level_enum level; - unsigned char c = 'c'; - struct ue ue; - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - level = ZERO; - cli_midltests_fn(&level, u, &ue, &c); - level = ONE; - cli_midltests_fn(&level, u, &ue, &c); - level = TWO; - cli_midltests_fn(&level, u, &ue, &c); - level = FOUR; - cli_midltests_fn(&level, u, &ue, &c); - level = EIGHT; - cli_midltests_fn(&level, u, &ue, &c); -} - -void srv_midltests_fn(enum level_enum *level, union u u, struct ue *ue, unsigned char *c) -{ - printf("srv_midltests_fn: Start\n"); - ue->level = *level; - ue->u.h = u.h; - printf("srv_midltests_fn: End\n"); - return; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_19.txt b/testprogs/win32/midltests/valid/midltests_union_align_19.txt deleted file mode 100644 index 804f0ed2cb..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_19.txt +++ /dev/null @@ -1,137 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -ndr32:in => out: ptype[request] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -ndr32:in => out: ptype[request] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/midltests/valid/midltests_union_align_20.idl b/testprogs/win32/midltests/valid/midltests_union_align_20.idl deleted file mode 100644 index fe8bb72c92..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_20.idl +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef MIDLTESTS_C_CODE - -/* - * For midltests_tcp.exe you may want to - * redirect the traffic via rinetd - * with a /etc/rinetd.conf like this: - * - * 172.31.9.1 5032 172.31.9.8 5032 - * 172.31.9.1 5064 172.31.9.8 5064 - * - * This is useful to watch the traffic with - * a network sniffer. - */ -/* -cpp_quote("#define LISTEN_IP \"0.0.0.0\"") -cpp_quote("#define FORWARD_IP \"127.0.0.1\"") -cpp_quote("#define CONNECT_IP \"172.31.9.1\"") -*/ - -/* - * With midltests_tcp.exe NDR64 is enforced by default. - * For testing it might be needed to allow downgrades - * to NDR32. This is needed when you use 'pipe'. - */ -//cpp_quote("#define DONOT_FORCE_NDR64 1") - -[ - uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"), - ms_union, - pointer_default(unique) -] -interface midltests -{ - enum level_enum { ZERO = 0, ONE = 1, TWO = 2, FOUR = 4, EIGHT = 8 }; - - [switch_type(enum level_enum)] union u { - [case(ZERO)]; - [case(ONE)] char c; - [case(TWO)] short s; - [case(FOUR)] long l; - [case(EIGHT)] hyper h; - }; - - union ue switch(enum level_enum level) u { - case(ZERO):; - case(ONE): char c; - case(TWO): short s; - case(FOUR): long l; - case(EIGHT): hyper h; - }; - - void midltests_fn( - [in,out,ref] enum level_enum *level, - [in,switch_is(*level)] union u u, - [out,ref] union ue *ue, - [in,out,ref] char *c - ); -} - -#elif MIDLTESTS_C_CODE - -static void midltests(void) -{ - enum level_enum level; - unsigned char c = 'c'; - struct ue ue; - union u u; - u.h = 0xFFFFFFFFFFFFFFFFLL; - - level = ZERO; - cli_midltests_fn(&level, u, &ue, &c); - level = ONE; - cli_midltests_fn(&level, u, &ue, &c); - level = TWO; - cli_midltests_fn(&level, u, &ue, &c); - level = FOUR; - cli_midltests_fn(&level, u, &ue, &c); - level = EIGHT; - cli_midltests_fn(&level, u, &ue, &c); -} - -void srv_midltests_fn(enum level_enum *level, union u u, struct ue *ue, unsigned char *c) -{ - printf("srv_midltests_fn: Start\n"); - ue->level = *level; - ue->u.h = u.h; - printf("srv_midltests_fn: End\n"); - return; -} - -#endif diff --git a/testprogs/win32/midltests/valid/midltests_union_align_20.txt b/testprogs/win32/midltests/valid/midltests_union_align_20.txt deleted file mode 100644 index 84d62aae07..0000000000 --- a/testprogs/win32/midltests/valid/midltests_union_align_20.txt +++ /dev/null @@ -1,137 +0,0 @@ -Wait for setup of server threads - -Test NDR32 - -ndr32: disable NDR64 - -ndr32:in => out: ptype[request] flen[33] plen[9] ahint[9] - -[000] 00 00 00 00 00 00 00 00 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[29] plen[5] ahint[5] - -[000] 00 00 00 00 63 ....c - -ndr32:in => out: ptype[request] flen[34] plen[10] ahint[10] - -[000] 01 00 01 00 00 00 00 00 FF 63 ........ .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[30] plen[6] ahint[6] - -[000] 01 00 01 00 FF 63 .....c - -ndr32:in => out: ptype[request] flen[35] plen[11] ahint[11] - -[000] 02 00 02 00 00 00 00 00 FF FF 63 ........ ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[31] plen[7] ahint[7] - -[000] 02 00 02 00 FF FF 63 ......c - -ndr32:in => out: ptype[request] flen[37] plen[13] ahint[13] - -[000] 04 00 04 00 00 00 00 00 FF FF FF FF 63 ........ ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[33] plen[9] ahint[9] - -[000] 04 00 04 00 FF FF FF FF 63 ........ c - -ndr32:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr32:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........ -[010] 63 c - -NDRTcpThread[ndr32] stop - -Test NDR64 - -ndr64: got NDR64 - -ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[41] plen[17] ahint[17] - -[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ -[010] 63 c - -ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[42] plen[18] ahint[18] - -[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........ -[010] FF 63 .c - -ndr64:in => out: ptype[request] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[43] plen[19] ahint[19] - -[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........ -[010] FF FF 63 ..c - -ndr64:in => out: ptype[request] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[45] plen[21] ahint[21] - -[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF 63 ....c - -ndr64:in => out: ptype[request] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -srv_midltests_fn: Start -srv_midltests_fn: End - -ndr64:out => in: ptype[response] flen[49] plen[25] ahint[25] - -[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........ -[010] FF FF FF FF FF FF FF FF 63 ........ c - -NDRTcpThread[ndr64] stop - -Test OK diff --git a/testprogs/win32/npecho/GNUmakefile b/testprogs/win32/npecho/GNUmakefile index 5b4f976949..64fb79f5cc 100755 --- a/testprogs/win32/npecho/GNUmakefile +++ b/testprogs/win32/npecho/GNUmakefile @@ -8,8 +8,7 @@ NPECHO2 = npecho_client2.exe npecho_server2.exe all: $(NPECHO) $(NPECHO2) -MINGW_CC = i586-mingw32msvc-cc -CC = $(MINGW_CC) +CC = i586-mingw32msvc-gcc .SUFFIXES: .c .obj .exe @@ -20,5 +19,5 @@ CC = $(MINGW_CC) $(CC) $(CFLAGS) -o $@ $< $(LIBS) clean: - rm -f *~ *.obj *.exe + del *~ *.obj *.exe diff --git a/testprogs/win32/npecho/NMakefile b/testprogs/win32/npecho/NMakefile index a0e61d733d..a0951b0f88 100755 --- a/testprogs/win32/npecho/NMakefile +++ b/testprogs/win32/npecho/NMakefile @@ -1,6 +1,3 @@ -# -# use nmake /f NMakefile [<target>] -# INCLUDES=-I CFLAGS=$(INCLUDES) -Zi -nologo diff --git a/testprogs/win32/prepare_dcpromo/GNUmakefile b/testprogs/win32/prepare_dcpromo/GNUmakefile deleted file mode 100755 index 1c9561398e..0000000000 --- a/testprogs/win32/prepare_dcpromo/GNUmakefile +++ /dev/null @@ -1,21 +0,0 @@ -INCLUDES=-I. -CFLAGS=$(INCLUDES) -LIBS=-ladvapi32 - -PREPARE_DCPROMO = prepare_dcpromo.exe - -all: $(PREPARE_DCPROMO) - -MINGW_CC = i586-mingw32msvc-cc -CC = $(MINGW_CC) - -.SUFFIXES: .c .obj .exe - -.c.obj: - $(CC) $(CFLAGS) -c $< -o $@ - -.obj.exe: - $(CC) $(CFLAGS) -o $@ $< $(LIBS) - -clean: - rm -f *~ *.obj *.exe diff --git a/testprogs/win32/prepare_dcpromo/NMakefile b/testprogs/win32/prepare_dcpromo/NMakefile deleted file mode 100755 index 6f810ee3b4..0000000000 --- a/testprogs/win32/prepare_dcpromo/NMakefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# use nmake /f NMakefile [<target>] -# -INCLUDES=-I -CFLAGS=$(INCLUDES) -Zi -nologo -Dsnprintf=sprintf_s -LIBS=advapi32.lib - -PREPARE_DCPROMO = prepare_dcpromo.exe - -all: $(PREPARE_DCPROMO) - -clean: - del *~ *.obj *.exe - -prepare_dcpromo.exe: prepare_dcpromo.obj - $(CC) $(CFLAGS) -o prepare_dcpromo.exe prepare_dcpromo.obj $(LIBS) diff --git a/testprogs/win32/prepare_dcpromo/prepare_dcpromo.c b/testprogs/win32/prepare_dcpromo/prepare_dcpromo.c deleted file mode 100755 index 91b819b54e..0000000000 --- a/testprogs/win32/prepare_dcpromo/prepare_dcpromo.c +++ /dev/null @@ -1,1074 +0,0 @@ -/* - Copyright (C) Stefan Metzmacher <metze@samba.org> 2010 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - Published to the public domain - */ - -/* - * This tool can set the DOMAIN-SID and nextRid counter in - * the local SAM on windows servers (tested with w2k8r2) - * - * dcpromo will use this values for the ad domain it creates. - * - * This might be useful for upgrades from a Samba3 domain. - */ - -#include <windows.h> -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> - -/* Convert a binary SID to a character string */ -static DWORD SidToString(const SID *sid, - char **string) -{ - DWORD id_auth; - int i, ofs, maxlen; - char *result; - - if (!sid) { - return ERROR_INVALID_SID; - } - - maxlen = sid->SubAuthorityCount * 11 + 25; - - result = (char *)malloc(maxlen); - if (result == NULL) { - return ERROR_NOT_ENOUGH_MEMORY; - } - - /* - * BIG NOTE: this function only does SIDS where the identauth is not - * >= ^32 in a range of 2^48. - */ - - id_auth = sid->IdentifierAuthority.Value[5] + - (sid->IdentifierAuthority.Value[4] << 8) + - (sid->IdentifierAuthority.Value[3] << 16) + - (sid->IdentifierAuthority.Value[2] << 24); - - ofs = snprintf(result, maxlen, "S-%u-%lu", - (unsigned int)sid->Revision, (unsigned long)id_auth); - - for (i = 0; i < sid->SubAuthorityCount; i++) { - ofs += snprintf(result + ofs, maxlen - ofs, "-%lu", - (unsigned long)sid->SubAuthority[i]); - } - - *string = result; - return ERROR_SUCCESS; -} - -static DWORD StringToSid(const char *str, - SID *sid) -{ - const char *p; - char *q; - DWORD x; - - if (!sid) { - return ERROR_INVALID_PARAMETER; - } - - /* Sanity check for either "S-" or "s-" */ - - if (!str - || (str[0]!='S' && str[0]!='s') - || (str[1]!='-')) - { - return ERROR_INVALID_PARAMETER; - } - - /* Get the SID revision number */ - - p = str+2; - x = (DWORD)strtol(p, &q, 10); - if (x==0 || !q || *q!='-') { - return ERROR_INVALID_SID; - } - sid->Revision = (BYTE)x; - - /* Next the Identifier Authority. This is stored in big-endian - in a 6 byte array. */ - - p = q+1; - x = (DWORD)strtol(p, &q, 10); - if (!q || *q!='-') { - return ERROR_INVALID_SID; - } - sid->IdentifierAuthority.Value[5] = (x & 0x000000ff); - sid->IdentifierAuthority.Value[4] = (x & 0x0000ff00) >> 8; - sid->IdentifierAuthority.Value[3] = (x & 0x00ff0000) >> 16; - sid->IdentifierAuthority.Value[2] = (x & 0xff000000) >> 24; - sid->IdentifierAuthority.Value[1] = 0; - sid->IdentifierAuthority.Value[0] = 0; - - /* now read the the subauthorities */ - - p = q +1; - sid->SubAuthorityCount = 0; - while (sid->SubAuthorityCount < 6) { - x=(DWORD)strtoul(p, &q, 10); - if (p == q) - break; - if (q == NULL) { - return ERROR_INVALID_SID; - } - sid->SubAuthority[sid->SubAuthorityCount++] = x; - - if ((*q!='-') || (*q=='\0')) - break; - p = q + 1; - } - - /* IF we ended early, then the SID could not be converted */ - - if (q && *q!='\0') { - return ERROR_INVALID_SID; - } - - return ERROR_SUCCESS; -} - -#define MIN(a,b) ((a)<(b)?(a):(b)) -static void print_asc(const unsigned char *buf,int len) -{ - int i; - for (i=0;i<len;i++) - printf("%c", isprint(buf[i])?buf[i]:'.'); -} - -static void dump_data(const unsigned char *buf1,int len) -{ - const unsigned char *buf = (const unsigned char *)buf1; - int i=0; - if (len<=0) return; - - printf("[%03X] ",i); - for (i=0;i<len;) { - printf("%02X ",(int)buf[i]); - i++; - if (i%8 == 0) printf(" "); - if (i%16 == 0) { - print_asc(&buf[i-16],8); printf(" "); - print_asc(&buf[i-8],8); printf("\n"); - if (i<len) printf("[%03X] ",i); - } - } - if (i%16) { - int n; - n = 16 - (i%16); - printf(" "); - if (n>8) printf(" "); - while (n--) printf(" "); - n = MIN(8,i%16); - print_asc(&buf[i-(i%16)],n); printf( " " ); - n = (i%16) - n; - if (n>0) print_asc(&buf[i-n],n); - printf("\n"); - } -} - -static DWORD calc_tmp_HKLM_SECURITY_SD(SECURITY_DESCRIPTOR *old_sd, - SID *current_user_sid, - SECURITY_DESCRIPTOR **_old_parent_sd, - SECURITY_DESCRIPTOR **_old_child_sd, - SECURITY_DESCRIPTOR **_new_parent_sd, - SECURITY_DESCRIPTOR **_new_child_sd) -{ - LONG status; - DWORD cbSecurityDescriptor = 0; - SECURITY_DESCRIPTOR *old_parent_sd = NULL; - SECURITY_DESCRIPTOR *old_child_sd = NULL; - SECURITY_DESCRIPTOR *new_parent_sd = NULL; - SECURITY_DESCRIPTOR *new_child_sd = NULL; - BOOL ok; - ACL *old_Dacl = NULL; - ACL *new_Dacl = NULL; - ACL_SIZE_INFORMATION dacl_info; - DWORD i = 0; - SECURITY_DESCRIPTOR *AbsoluteSD = NULL; - DWORD dwAbsoluteSDSize = 0; - DWORD dwRelativeSDSize = 0; - DWORD dwDaclSize = 0; - ACL *Sacl = NULL; - DWORD dwSaclSize = 0; - SID *Owner = NULL; - DWORD dwOwnerSize = 0; - SID *PrimaryGroup = NULL; - DWORD dwPrimaryGroupSize = 0; - ACCESS_ALLOWED_ACE *ace = NULL; - - ok = MakeAbsoluteSD(old_sd, - NULL, - &dwAbsoluteSDSize, - NULL, - &dwDaclSize, - NULL, - &dwSaclSize, - NULL, - &dwOwnerSize, - NULL, - &dwPrimaryGroupSize); - if (!ok) { - status = GetLastError(); - } - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - AbsoluteSD = (SECURITY_DESCRIPTOR *)malloc(dwAbsoluteSDSize+1024); - if (AbsoluteSD == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - old_Dacl = (ACL *)malloc(dwDaclSize + 1024); - if (old_Dacl == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - Sacl = (ACL *)malloc(dwSaclSize); - if (Sacl == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - Owner = (SID *)malloc(dwOwnerSize); - if (Owner == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - PrimaryGroup = (SID *)malloc(dwPrimaryGroupSize); - if (PrimaryGroup == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - ok = MakeAbsoluteSD(old_sd, - AbsoluteSD, - &dwAbsoluteSDSize, - old_Dacl, - &dwDaclSize, - Sacl, - &dwSaclSize, - Owner, - &dwOwnerSize, - PrimaryGroup, - &dwPrimaryGroupSize); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - AbsoluteSD->Control |= SE_DACL_AUTO_INHERITED | SE_DACL_AUTO_INHERIT_REQ | SE_DACL_PROTECTED; - dwRelativeSDSize = 0; - ok = MakeSelfRelativeSD(AbsoluteSD, - NULL, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - } - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return ERROR_NOT_ENOUGH_MEMORY; - } - - old_parent_sd = (SECURITY_DESCRIPTOR *)malloc(dwRelativeSDSize); - if (old_parent_sd == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - ok = MakeSelfRelativeSD(AbsoluteSD, - old_parent_sd, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ok = GetAclInformation(old_Dacl, - &dacl_info, - sizeof(dacl_info), - AclSizeInformation); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - new_Dacl = (ACL *)calloc(dacl_info.AclBytesInUse + 1024, 1); - if (new_Dacl == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - InitializeAcl(new_Dacl, dacl_info.AclBytesInUse + 1024, ACL_REVISION); - - ok = AddAccessAllowedAce(new_Dacl, ACL_REVISION, - KEY_ALL_ACCESS, current_user_sid); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ok = GetAce(new_Dacl, 0, (LPVOID *)&ace); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ace->Header.AceFlags |= CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE; - - for (i=0; i < dacl_info.AceCount; i++) { - ok = GetAce(old_Dacl, i, (LPVOID *)&ace); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ok = AddAce(new_Dacl, ACL_REVISION, MAXDWORD, - ace, ace->Header.AceSize); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - } - - AbsoluteSD->Dacl = new_Dacl; - dwRelativeSDSize = 0; - ok = MakeSelfRelativeSD(AbsoluteSD, - NULL, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - } - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return ERROR_NOT_ENOUGH_MEMORY; - } - - new_parent_sd = (SECURITY_DESCRIPTOR *)malloc(dwRelativeSDSize); - if (new_parent_sd == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - ok = MakeSelfRelativeSD(AbsoluteSD, - new_parent_sd, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - for (i=0; i < dacl_info.AceCount; i++) { - ok = GetAce(old_Dacl, i, (LPVOID *)&ace); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ace->Header.AceFlags |= INHERITED_ACE; - } - - AbsoluteSD->Control &= ~SE_DACL_PROTECTED; - AbsoluteSD->Dacl = old_Dacl; - dwRelativeSDSize = 0; - ok = MakeSelfRelativeSD(AbsoluteSD, - NULL, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - } - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return ERROR_NOT_ENOUGH_MEMORY; - } - - old_child_sd = (SECURITY_DESCRIPTOR *)malloc(dwRelativeSDSize); - if (old_child_sd == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - ok = MakeSelfRelativeSD(AbsoluteSD, - old_child_sd, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - for (i=0; i < dacl_info.AceCount + 1; i++) { - ok = GetAce(new_Dacl, i, (LPVOID *)&ace); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ace->Header.AceFlags |= INHERITED_ACE; - } - - AbsoluteSD->Dacl = new_Dacl; - dwRelativeSDSize = 0; - ok = MakeSelfRelativeSD(AbsoluteSD, - NULL, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - } - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return ERROR_NOT_ENOUGH_MEMORY; - } - - new_child_sd = (SECURITY_DESCRIPTOR *)malloc(dwRelativeSDSize); - if (new_child_sd == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - ok = MakeSelfRelativeSD(AbsoluteSD, - new_child_sd, - &dwRelativeSDSize); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - *_old_parent_sd = old_parent_sd; - *_old_child_sd = old_child_sd; - *_new_parent_sd = new_parent_sd; - *_new_child_sd = new_child_sd; - return ERROR_SUCCESS; -} - -static DWORD inherit_SD(HKEY parent_hk, - char *current_key, - BOOL reset, - SECURITY_DESCRIPTOR *current_sd, - SECURITY_DESCRIPTOR *child_sd) -{ - DWORD status; - DWORD i = 0; - HKEY current_hk; - - if (!reset) { - status = RegOpenKeyEx(parent_hk, - current_key, - 0, /* options */ - WRITE_DAC, /* samDesired */ - ¤t_hk); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - status = RegSetKeySecurity(current_hk, - DACL_SECURITY_INFORMATION | - PROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_SACL_SECURITY_INFORMATION, - current_sd /* pSecurityDescriptor */ - ); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - RegCloseKey(current_hk); - } - - status = RegOpenKeyEx(parent_hk, - current_key, - 0, /* options */ - KEY_ENUMERATE_SUB_KEYS, /* samDesired */ - ¤t_hk); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - for (i=0; ; i++) { - char subkey[10240]; - HKEY hk_child; - - memset(subkey, 0, sizeof(subkey)); - status = RegEnumKey(current_hk, i, subkey, sizeof(subkey)); - if (status == ERROR_NO_MORE_ITEMS) { - break; - } - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - -#if 0 - printf("subkey: %s\n", subkey); -#endif - - status = inherit_SD(current_hk, subkey, reset, - child_sd, child_sd); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - } - - RegCloseKey(current_hk); - - if (reset) { - status = RegOpenKeyEx(parent_hk, - current_key, - 0, /* options */ - WRITE_DAC, /* samDesired */ - ¤t_hk); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - status = RegSetKeySecurity(current_hk, - DACL_SECURITY_INFORMATION | - PROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_SACL_SECURITY_INFORMATION, - current_sd /* pSecurityDescriptor */ - ); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - RegCloseKey(current_hk); - } - - return ERROR_SUCCESS; -} - -static DWORD replaceSIDBuffer(BYTE *buf, DWORD len, - SID *oldDomainSid, - SID *newDomainSid) -{ - DWORD ret = 0; - BYTE *oldb = ((BYTE *)oldDomainSid)+2; - BYTE *newb = ((BYTE *)newDomainSid)+2; - int cmp; - -#if 0 - printf("replaceSIDBuffer: %u\n", len); - dump_data(buf, len); -#endif - - if (len < 24) { - return 0; - } - - if (buf[0] != SID_REVISION) { - return 0; - } - - switch (buf[1]) { - case 4: - ret = 24; - break; - case 5: - if (len < 28) { - return 0; - } - ret = 28; - break; - default: - return 0; - } - -#if 0 - printf("oldb:\n"); - dump_data(oldb, 22); -#endif - cmp = memcmp(&buf[2], oldb, 22); - if (cmp != 0) { - return 0; - } - - memcpy(&buf[2], newb, 22); - - return ret; -} - -static DWORD replaceSID(HKEY parent_hk, - const char *parent_path, - const char *current_key, - SID *oldDomainSid, - SID *newDomainSid) -{ - DWORD status; - DWORD i = 0; - HKEY current_hk; - char current_path[10240]; - - snprintf(current_path, sizeof(current_path), "%s\\%s", - parent_path, current_key); - - status = RegOpenKeyEx(parent_hk, - current_key, - 0, /* options */ - KEY_ALL_ACCESS, /* samDesired */ - ¤t_hk); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - for (i=0; ; i++) { - char subkey[10240]; - HKEY hk_child; - - memset(subkey, 0, sizeof(subkey)); - status = RegEnumKey(current_hk, i, subkey, sizeof(subkey)); - if (status == ERROR_NO_MORE_ITEMS) { - break; - } - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - -#if 0 - printf("subkey: %s\n", subkey); -#endif - - status = replaceSID(current_hk, current_path, subkey, - oldDomainSid, newDomainSid); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - } - - for (i=0; ; i++) { - char valueName[10240]; - DWORD cbValueName; - DWORD valueType = 0; - BYTE *valueData = NULL; - DWORD cbValueData = 0; - DWORD ofs = 0; - BOOL modified = FALSE; - - memset(valueName, 0, sizeof(valueName)); - cbValueName = sizeof(valueName)-1; - status = RegEnumValue(current_hk, i, - valueName, &cbValueName, - NULL, NULL, - NULL, &cbValueData); - if (status == ERROR_NO_MORE_ITEMS) { - break; - } - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - valueData = (BYTE *)malloc(cbValueData); - if (valueData == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return ERROR_NOT_ENOUGH_MEMORY; - } - - cbValueName = sizeof(valueName)-1; - status = RegEnumValue(current_hk, i, - valueName, &cbValueName, - NULL, &valueType, - valueData, &cbValueData); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - if (valueType != REG_BINARY) { - free(valueData); - continue; - } - - for (ofs=0; ofs < cbValueData;) { - DWORD len; - - len = replaceSIDBuffer(valueData + ofs, - cbValueData - ofs, - oldDomainSid, - newDomainSid); - if (len == 0) { - ofs += 4; - continue; - } - -#if 0 - printf("%s value[%u]:%s modified ofs:%u (0x%X) len:%u\n", - current_path, i, valueName, ofs, ofs, len); -#endif - - ofs += len; - modified = TRUE; - } - - if (!modified) { - free(valueData); - continue; - } - - printf("%s value[%u]:%s replacing data\n", - current_path, i, valueName); - status = RegSetValueEx(current_hk, - valueName, - 0, - valueType, - valueData, - cbValueData); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - free(valueData); - } - - RegCloseKey(current_hk); - - return ERROR_SUCCESS; -} - -int main(int argc, char *argv[]) -{ - LONG status; - HANDLE tokenHandle = NULL; - TOKEN_USER *tokenUser = NULL; - DWORD cbTokenUser = 0; - HKEY hklm; - HKEY hk_security; - HKEY hk_account_domain; - DWORD cbSecurityDescriptor = 0; - SECURITY_DESCRIPTOR *security_old_sd = NULL; - SECURITY_DESCRIPTOR *security_parent_old_sd = NULL; - SECURITY_DESCRIPTOR *security_child_old_sd = NULL; - SECURITY_DESCRIPTOR *security_parent_new_sd = NULL; - SECURITY_DESCRIPTOR *security_child_new_sd = NULL; - SID *currentUserSid = NULL; - char *currentUserSidString = NULL; - BOOL ok; - DWORD cbTmp = 0; - BYTE *AccountDomainF = NULL; - DWORD cbAccountDomainF = 0; - DWORD AccountDomainFType = 0; - DWORD *nextRid = NULL; - DWORD oldNextRid = 0; - DWORD newNextRid = 0; - BYTE *AccountDomainV = NULL; - DWORD cbAccountDomainV = 0; - SID *oldDomainSid = NULL; - char *oldDomainSidString = NULL; - SID *newDomainSid = NULL; - const char *newDomainSidString = NULL; - - if (argc < 2 || argc > 3) { - printf("Usage: %s <DOMAINSID> [<NEXTRID>]\n", argv[0]); - return -1; - } - - newDomainSidString = argv[1]; - - newDomainSid = (SID *)malloc(24); - if (newDomainSid == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return -1; - } - - status = StringToSid(newDomainSidString, newDomainSid); - if (status != ERROR_SUCCESS) { - printf("Failed to parse DOMAINSID[%s]: Error: %d (0x%X)\n", - newDomainSidString, status, status); - return -1; - } - if (newDomainSid->SubAuthorityCount != 4) { - printf("DOMAINSID[%s]: Invalid SubAuthorityCount[%u] should be 4\n", - newDomainSidString, newDomainSid->SubAuthorityCount); - return -1; - } - - if (argc == 3) { - char *q = NULL; - newNextRid = (DWORD)strtoul(argv[2], &q, 10); - if (newNextRid == 0 || newNextRid == 0xFFFFFFFF || !q || *q!='\0') { - printf("Invalid newNextRid[%s]\n", argv[2]); - return -1; - } - if (newNextRid < 1000) { - printf("newNextRid[%u] < 1000\n", newNextRid); - return -1; - } - } - - ok = OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &tokenHandle); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - ok = GetTokenInformation(tokenHandle, TokenUser, - NULL, 0, &cbTokenUser); - if (!ok) { - status = GetLastError(); - } - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - tokenUser = (TOKEN_USER *)malloc(cbTokenUser); - if (tokenUser == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return -1; - } - - ok = GetTokenInformation(tokenHandle, TokenUser, - tokenUser, cbTokenUser, &cbTokenUser); - if (!ok) { - status = GetLastError(); - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - currentUserSid = tokenUser->User.Sid; - - status = SidToString(currentUserSid, ¤tUserSidString); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - status = RegConnectRegistry(NULL, HKEY_LOCAL_MACHINE, &hklm); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - status = RegOpenKeyEx(hklm, "SECURITY", - 0, /* options */ - READ_CONTROL, /* samDesired */ - &hk_security); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - status = RegGetKeySecurity(hk_security, - OWNER_SECURITY_INFORMATION | - GROUP_SECURITY_INFORMATION | - DACL_SECURITY_INFORMATION | - PROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_SACL_SECURITY_INFORMATION, - NULL, /* pSecurityDescriptor */ - &cbSecurityDescriptor /* lpcbSecurityDescriptor */ - ); - if (status != ERROR_INSUFFICIENT_BUFFER) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - security_old_sd = (SECURITY_DESCRIPTOR *)malloc(cbSecurityDescriptor); - if (security_old_sd == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return -1; - } - - status = RegGetKeySecurity(hk_security, - OWNER_SECURITY_INFORMATION | - GROUP_SECURITY_INFORMATION | - DACL_SECURITY_INFORMATION | - PROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_DACL_SECURITY_INFORMATION | - UNPROTECTED_SACL_SECURITY_INFORMATION, - security_old_sd, /* pSecurityDescriptor */ - &cbSecurityDescriptor /* lpcbSecurityDescriptor */ - ); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - RegCloseKey(hk_security); - - printf("currentUserSid: %s\n", currentUserSidString); - - status = calc_tmp_HKLM_SECURITY_SD(security_old_sd, - currentUserSid, - &security_parent_old_sd, - &security_child_old_sd, - &security_parent_new_sd, - &security_child_new_sd); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - printf("Grant full access to HKLM\\SECURITY\n"); - status = inherit_SD(hklm, "SECURITY", FALSE, - security_parent_new_sd, security_child_new_sd); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - status = RegOpenKeyEx(hklm, "SECURITY\\SAM\\Domains\\Account", - 0, /* options */ - KEY_ALL_ACCESS, /* samDesired */ - &hk_account_domain); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - status = RegQueryValueEx(hk_account_domain, - "F", NULL, NULL, - NULL, - &cbAccountDomainF); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - AccountDomainF = (BYTE *)malloc(cbAccountDomainF); - if (AccountDomainF == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return -1; - } - - status = RegQueryValueEx(hk_account_domain, - "F", NULL, NULL, - AccountDomainF, - &cbAccountDomainF); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - nextRid = (DWORD *)((BYTE *)AccountDomainF + 0x48); - oldNextRid = *nextRid; - if (newNextRid == 0) { - newNextRid = oldNextRid; - } - printf("AccountDomainF: %u bytes\n", cbAccountDomainF); - - status = RegQueryValueEx(hk_account_domain, - "V", NULL, NULL, - NULL, - &cbAccountDomainV); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - AccountDomainV = (BYTE *)malloc(cbAccountDomainV); - if (AccountDomainV == NULL) { - printf("LINE:%u: Error: no memory\n", __LINE__); - return -1; - } - - status = RegQueryValueEx(hk_account_domain, - "V", NULL, NULL, - AccountDomainV, - &cbAccountDomainV); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - printf("AccountDomainV: %u bytes\n", cbAccountDomainV); - oldDomainSid = (SID *)((BYTE *)AccountDomainV + (cbAccountDomainV - 24)); - - status = SidToString(oldDomainSid, &oldDomainSidString); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - - printf("Old Domain:%s, NextRid: %u (0x%08X)\n", - oldDomainSidString, oldNextRid, oldNextRid); - printf("New Domain:%s, NextRid: %u (0x%08X)\n", - newDomainSidString, newNextRid, newNextRid); - - status = replaceSID(hklm, "HKLM", "SECURITY\\SAM\\Domains", - oldDomainSid, newDomainSid); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - goto failed; - } - - status = RegQueryValueEx(hk_account_domain, - "F", NULL, &AccountDomainFType, - AccountDomainF, - &cbAccountDomainF); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - nextRid = (DWORD *)((BYTE *)AccountDomainF + 0x48); - *nextRid = newNextRid; - - printf("AccountDomainF replacing data (nextRid)\n"); - status = RegSetValueEx(hk_account_domain, - "F", - 0, - AccountDomainFType, - AccountDomainF, - cbAccountDomainF); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return status; - } - - printf("Withdraw full access to HKLM\\SECURITY\n"); - status = inherit_SD(hklm, "SECURITY", TRUE, - security_parent_old_sd, security_child_old_sd); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - printf("DONE!\n"); - return 0; -failed: - printf("Withdraw full access to HKLM\\SECURITY\n"); - status = inherit_SD(hklm, "SECURITY", TRUE, - security_parent_old_sd, security_child_old_sd); - if (status != ERROR_SUCCESS) { - printf("LINE:%u: Error: %d (0x%X)\n", __LINE__, status, status); - return -1; - } - printf("FAILED!\n"); - return 0; -} diff --git a/testprogs/win32/spoolss/GNUmakefile b/testprogs/win32/spoolss/GNUmakefile deleted file mode 100644 index 0321a655e9..0000000000 --- a/testprogs/win32/spoolss/GNUmakefile +++ /dev/null @@ -1,23 +0,0 @@ -CFLAGS=-I../../../ -MINGW_CC = i586-mingw32msvc-cc -CC = $(MINGW_CC) - -LIBS=-lwinspool - -all: testspoolss.exe - -clean: - rm -vf *.exe tags - -ctags: - ctags `find . -name "*.[ch]" | grep -v include/proto.h` - ctags --c-kinds=-p -a `find /usr/i686-pc-mingw32/sys-root/mingw/include -name "*.[ch]" | grep -v /CVS/` - -proto: - mkproto.pl printlib.c --private=printlib_proto.h --public=printlib_proto_pub.h --srcdir=. --builddir=. - mkproto.pl torture.c --private=torture_proto.h --public=torture_proto_pub.h --srcdir=. --builddir=. - -testspoolss.exe: testspoolss.c printlib.c torture.c error.c - @echo Compiling testspoolss.exe - @$(CC) $(CFLAGS) $(LDFLAGS) testspoolss.c printlib.c torture.c error.c $(LIBS) -o testspoolss.exe - diff --git a/testprogs/win32/spoolss/NMakefile b/testprogs/win32/spoolss/NMakefile deleted file mode 100644 index 949104e6ac..0000000000 --- a/testprogs/win32/spoolss/NMakefile +++ /dev/null @@ -1,43 +0,0 @@ -# -# use nmake /f NMakefile [<target>] -# -CFLAGS = /nologo /Zi /MT /Gm- /W4 /FR /D_CRT_SECURE_NO_WARNINGS -LIBS = kernel32.lib gdi32.lib user32.lib shell32.lib \ - advapi32.lib ole32.lib ws2_32.lib rpcrt4.lib -WINSPOOL_LIBS = winspool.lib - -all: testspoolss.exe - -.cpp.obj: - cl /c $(CFLAGS) $*.cpp - -.c.obj: - cl /c $(CFLAGS) $*.c - -clean: cleantmp - -del *.dll 2>nul - -cleantmp: - -del *~ *.o *.obj *.sbr *.bsc *.pdb *.lib *.ilk *.exp 2>nul - -del test_s.c test_c.c test.h 2>nul - -############################### -# helpers -############################### - -printlib.obj: printlib.c - -error.obj: error.c - -torture.obj: torture.c - -############################### -# binaries -############################### - -testspoolss.obj: testspoolss.c - -testspoolss.exe: testspoolss.obj printlib.obj error.obj torture.obj - cl $(CFLAGS) /Fe$@ testspoolss.obj printlib.obj error.obj torture.obj \ - /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) - diff --git a/testprogs/win32/spoolss/README.win32 b/testprogs/win32/spoolss/README.win32 deleted file mode 100644 index 1e7bacc5bd..0000000000 --- a/testprogs/win32/spoolss/README.win32 +++ /dev/null @@ -1,65 +0,0 @@ - -This directory holds sources for a Win32 test utility to test the "spoolss" -(print spool subsystem) functions of either a Windows or a Samba server. The -sources are known to build with (free as in beer) Microsoft Visual C++ 2008 -Express Edition's "nmake.exe" on Windows XP Professional. - - -How to build ------------- - -Use the Microsoft "nmake" command to build the *.exe. This command is in your -%path% if you start the "Visual Studio 2008 Command Prompt" from your Start -menu. - -Currently the real build target is named "testspoolss.exe". Run - - nmake /f Makefile - -to build the testspoolss.exe. After a successfull build you may want to clean up -temporary files: - - nmake /f Makefile cleantmp - - -How to use ----------- - -Running testspoolss.exe with no additional params displays a short usage info. - -.............................................................................. -usage: testspoolss.exe <name> [print] [samba3] [architecture=ARCHITECTURE] - - <name> can be a server or printer name URI - [print] will print all data that has been retrieved - from the printserver - [samba3] will skip some tests samba servers are known - not to have implemented - [architecture=X] allows to define a specific - architecture to test with. choose between: - "Windows NT x86" or "Windows x64" -.............................................................................. - -The utility may be most useful if you use the "print" parameter to output all -data received from the print server. You may re-direct the data into log files -for later evaluation like this: - - testspoolss.exe \\smbserver print samba3 1>smbserver.log 2>smbserver.err - testspoolss.exe \\smbserver print 1>smbserver.log 2>smbserver.err - testspoolss.exe \\winserver print 1>winserver.log 2>winserver.err - -One interesting source of learning could be to compare the output for (maybe -"the same") printers/drivers as installed on a Windows and on a Samba print -server: - - testspoolss.exe \\winserver\printername print 1>winprinter.log 2>winprinter.err - testspoolss.exe \\smbserver\printername print 1>smbprinter.log 2>smbprinter.err - -and then compare the respective log files with a diff utility of your choice. -To install "the same" printer/driver on a Samba server as on a Windows server, -you can use the Samba "net" utility, which has the following syntax: - - net rpc printer MIGRATE PRINTERS printername \ - --server=winserver \ - --destination=smbserver \ - -UAdministrator%secretpassword diff --git a/testprogs/win32/spoolss/error.c b/testprogs/win32/spoolss/error.c deleted file mode 100644 index 3f965949e4..0000000000 --- a/testprogs/win32/spoolss/error.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - Unix SMB/CIFS implementation. - test suite for spoolss rpc operations - - Copyright (C) Guenther Deschner 2009 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "testspoolss.h" - -const char *errstr(DWORD error) -{ - static char tmp[20]; - - switch (error) { - case ERROR_FILE_NOT_FOUND: - return "ERROR_FILE_NOT_FOUND"; - case ERROR_ACCESS_DENIED: - return "ERROR_ACCESS_DENIED"; - case ERROR_INVALID_PARAMETER: - return "ERROR_INVALID_PARAMETER"; - case ERROR_INVALID_HANDLE: - return "ERROR_INVALID_HANDLE"; - case ERROR_CALL_NOT_IMPLEMENTED: - return "ERROR_CALL_NOT_IMPLEMENTED"; - case ERROR_INSUFFICIENT_BUFFER: - return "ERROR_INSUFFICIENT_BUFFER"; - case ERROR_INVALID_NAME: - return "ERROR_INVALID_NAME"; - case ERROR_INVALID_LEVEL: - return "ERROR_INVALID_LEVEL"; - case ERROR_INVALID_DATA: - return "ERROR_INVALID_DATA"; - case ERROR_MORE_DATA: - return "ERROR_MORE_DATA"; - case ERROR_NO_MORE_ITEMS: - return "ERROR_NO_MORE_ITEMS"; -#ifdef ERROR_INVALID_DATATYPE - case ERROR_INVALID_DATATYPE: - return "ERROR_INVALID_DATATYPE"; -#endif - case ERROR_INVALID_ENVIRONMENT: - return "ERROR_INVALID_ENVIRONMENT"; - case ERROR_INVALID_PRINTER_COMMAND: - return "ERROR_INVALID_PRINTER_COMMAND"; - case ERROR_PRINTER_ALREADY_EXISTS: - return "ERROR_PRINTER_ALREADY_EXISTS"; - case ERROR_INVALID_PRINTER_NAME: - return "ERROR_INVALID_PRINTER_NAME"; - case ERROR_INVALID_PRIORITY: - return "ERROR_INVALID_PRIORITY"; - case ERROR_INVALID_SEPARATOR_FILE: - return "ERROR_INVALID_SEPARATOR_FILE"; - case ERROR_UNKNOWN_PRINTPROCESSOR: - return "ERROR_UNKNOWN_PRINTPROCESSOR"; - case ERROR_UNKNOWN_PRINTER_DRIVER: - return "ERROR_UNKNOWN_PRINTER_DRIVER"; - case ERROR_UNKNOWN_PORT: - return "ERROR_UNKNOWN_PORT"; - case ERROR_PRINTER_DRIVER_ALREADY_INSTALLED: - return "ERROR_PRINTER_DRIVER_ALREADY_INSTALLED"; - case ERROR_UNKNOWN_PRINT_MONITOR: - return "ERROR_UNKNOWN_PRINT_MONITOR"; - case ERROR_PRINTER_DRIVER_IN_USE: - return "ERROR_PRINTER_DRIVER_IN_USE"; - case ERROR_SPOOL_FILE_NOT_FOUND: - return "ERROR_SPOOL_FILE_NOT_FOUND"; - case ERROR_SPL_NO_STARTDOC: - return "ERROR_SPL_NO_STARTDOC"; - case ERROR_SPL_NO_ADDJOB: - return "ERROR_SPL_NO_ADDJOB"; - case ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED: - return "ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED"; - case ERROR_PRINT_MONITOR_ALREADY_INSTALLED: - return "ERROR_PRINT_MONITOR_ALREADY_INSTALLED"; - case ERROR_INVALID_PRINT_MONITOR: - return "ERROR_INVALID_PRINT_MONITOR"; - case ERROR_PRINT_MONITOR_IN_USE: - return "ERROR_PRINT_MONITOR_IN_USE"; - case ERROR_PRINTER_HAS_JOBS_QUEUED: - return "ERROR_PRINTER_HAS_JOBS_QUEUED"; - case ERROR_PRINTER_NOT_FOUND: - return "ERROR_PRINTER_NOT_FOUND"; - case ERROR_PRINTER_DRIVER_WARNED: - return "ERROR_PRINTER_DRIVER_WARNED"; - case ERROR_PRINTER_DRIVER_BLOCKED: - return "ERROR_PRINTER_DRIVER_BLOCKED"; -#ifdef ERROR_PRINTER_DRIVER_PACKAGE_IN_USE - case ERROR_PRINTER_DRIVER_PACKAGE_IN_USE: - return "ERROR_PRINTER_DRIVER_PACKAGE_IN_USE"; -#endif -#ifdef ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND - case ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND: - return "ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND"; -#endif -#ifdef ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED - case ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED: - return "ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED"; -#endif -#ifdef ERROR_PRINT_JOB_RESTART_REQUIRED - case ERROR_PRINT_JOB_RESTART_REQUIRED: - return "ERROR_PRINT_JOB_RESTART_REQUIRED"; -#endif - case ERROR_CANCELLED: - return "ERROR_CANCELLED"; - case ERROR_NOACCESS: - return "ERROR_NOACCESS"; - case RPC_X_NULL_REF_POINTER: - return "RPC_X_NULL_REF_POINTER"; - case RPC_S_PROCNUM_OUT_OF_RANGE: - return "RPC_S_PROCNUM_OUT_OF_RANGE"; - case RPC_S_SERVER_UNAVAILABLE: - return "RPC_S_SERVER_UNAVAILABLE"; - case RPC_S_INVALID_NET_ADDR: - return "RPC_S_INVALID_NET_ADDR"; - case RPC_S_CALL_FAILED: - return "RPC_S_CALL_FAILED"; - default: - break; - } - - sprintf(tmp, "0x%08x", error); - - return tmp; -} diff --git a/testprogs/win32/spoolss/error.h b/testprogs/win32/spoolss/error.h deleted file mode 100644 index 581c1097c1..0000000000 --- a/testprogs/win32/spoolss/error.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - Unix SMB/CIFS implementation. - test suite for spoolss rpc operations - - Copyright (C) Guenther Deschner 2009 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef ERROR_INVALID_PARAMETER -#define ERROR_INVALID_PARAMETER 87 -#endif - -#ifndef ERROR_INSUFFICIENT_BUFFER -#define ERROR_INSUFFICIENT_BUFFER 0x007a -#endif - -#if 0 -#ifdef STATUS_PENDING -#undef STATUS_PENDING -#define STATUS_PENDING 0x0103 -#endif -#endif - -const char *errstr(DWORD error); diff --git a/testprogs/win32/spoolss/printlib.c b/testprogs/win32/spoolss/printlib.c deleted file mode 100644 index 1dd1277c31..0000000000 --- a/testprogs/win32/spoolss/printlib.c +++ /dev/null @@ -1,1386 +0,0 @@ -/* - Unix SMB/CIFS implementation. - test suite for spoolss rpc operations - - Copyright (C) Gerald (Jerry) Carter 2007 - Copyright (C) Guenther Deschner 2009-2010 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <windows.h> -#include <stdio.h> -#include <assert.h> -#include <sddl.h> - -#ifndef MIN -#define MIN(a,b) ((a)<(b)?(a):(b)) -#endif - -void print_devmode(DEVMODE *pDevModeIn) -{ - if (pDevModeIn == NULL) { - printf("\tDevice Mode\t= (null)\n"); - return; - } - - printf("\tDEVMODE:----------\n"); - printf("\tDeviceName: [%s]\n", pDevModeIn->dmDeviceName); - printf("\tSpecVersion: %d\n", pDevModeIn->dmSpecVersion); - printf("\tDriverVersion: %d\n", pDevModeIn->dmDriverVersion); - printf("\tSize: %d\n", pDevModeIn->dmSize); - printf("\tDriverExtra: %d\n", pDevModeIn->dmDriverExtra); - printf("\tFields: 0x%x\n", pDevModeIn->dmFields); - - if (pDevModeIn->dmFields & DM_ORIENTATION) - printf("\tOrientation: %d\n", pDevModeIn->dmOrientation); - if (pDevModeIn->dmFields & DM_PAPERSIZE) - printf("\tPaperSize: %d\n", pDevModeIn->dmPaperSize); - if (pDevModeIn->dmFields & DM_PAPERLENGTH) - printf("\tPaperLength: %d\n", pDevModeIn->dmPaperLength); - if (pDevModeIn->dmFields & DM_PAPERWIDTH) - printf("\tPaperWidth: %d\n", pDevModeIn->dmPaperWidth); -// if (pDevModeIn->dmFields & DM_POSITION) -// printf("\tPosition: %d\n", pDevModeIn->dmPosition); - if (pDevModeIn->dmFields & DM_SCALE) - printf("\tScale: %d\n", pDevModeIn->dmScale); - if (pDevModeIn->dmFields & DM_COPIES) - printf("\tCopies: %d\n", pDevModeIn->dmCopies ); - if (pDevModeIn->dmFields & DM_DEFAULTSOURCE) - printf("\tDefaultSource: %d\n", pDevModeIn->dmDefaultSource); - if (pDevModeIn->dmFields & DM_PRINTQUALITY) - printf("\tPrintQuality: %d\n", pDevModeIn->dmPrintQuality); - if (pDevModeIn->dmFields & DM_COLOR) - printf("\tColor: %d\n", pDevModeIn->dmColor); - if (pDevModeIn->dmFields & DM_DUPLEX) - printf("\tDuplex: %d\n", pDevModeIn->dmDuplex); - if (pDevModeIn->dmFields & DM_YRESOLUTION) - printf("\tYResolution: %d\n", pDevModeIn->dmYResolution); - if (pDevModeIn->dmFields & DM_TTOPTION) - printf("\tTTOption: %d\n", pDevModeIn->dmTTOption); - if (pDevModeIn->dmFields & DM_COLLATE) - printf("\tCollate: %d\n", pDevModeIn->dmCollate); - if (pDevModeIn->dmFields & DM_FORMNAME) - printf("\tForm: [%s]\n", pDevModeIn->dmFormName); - if (pDevModeIn->dmFields & DM_LOGPIXELS) - printf("\tLogPixels: %d\n", pDevModeIn->dmLogPixels); - if (pDevModeIn->dmFields & DM_BITSPERPEL) - printf("\tBitsPerPel: %d\n", pDevModeIn->dmBitsPerPel); - if (pDevModeIn->dmFields & DM_PELSWIDTH) - printf("\tPelsWidth: %d\n", pDevModeIn->dmPelsWidth); - if (pDevModeIn->dmFields & DM_PELSHEIGHT) - printf("\tPelsHeight: %d\n", pDevModeIn->dmPelsHeight); - if (pDevModeIn->dmFields & DM_DISPLAYFLAGS) - printf("\tDisplayFlags: %d\n", pDevModeIn->dmDisplayFlags); -// if (pDevModeIn->dmFields & DM_NUP) -// printf("\tNup: %d\n", pDevModeIn->dmNup); - if (pDevModeIn->dmFields & DM_DISPLAYFREQUENCY) - printf("\tDisplayFrequency:%d\n", pDevModeIn->dmDisplayFrequency); - if (pDevModeIn->dmFields & DM_ICMMETHOD) - printf("\tICMMethod: %d\n", pDevModeIn->dmICMMethod); - if (pDevModeIn->dmFields & DM_ICMINTENT) - printf("\tICMIntent: %d\n", pDevModeIn->dmICMIntent); - if (pDevModeIn->dmFields & DM_MEDIATYPE) - printf("\tMediaType: %d\n", pDevModeIn->dmMediaType); - if (pDevModeIn->dmFields & DM_DITHERTYPE) - printf("\tDitherType: %d\n", pDevModeIn->dmDitherType); -// if (pDevModeIn->dmFields & DM_PANNINGWIDTH) -// printf("\tPanningWidth: %d\n", pDevModeIn->dmPanningWidth); -// if (pDevModeIn->dmFields & DM_PANNINGHEIGHT) -// printf("\tPanningHeight: %d\n", pDevModeIn->dmPanningHeight); - -#if 0 - if (bForceIn) { - printf("DEVMODE\n"); - Dump((BYTE*)pDevModeIn, sizeof(DEVMODE), LEADER); - - if (pDevModeIn->dmDriverExtra) { - printf("DriverExtra\n"); - Dump((BYTE*)pDevModeIn + sizeof(DEVMODE), pDevModeIn->dmDriverExtra, LEADER); - } - } -#endif - - return; -} - -void print_acl(const char* str, ACL *acl) -{ - printf("%s\n", str); - if (acl == NULL) - return; - - printf("\t\tACL Revision \t\t 0x%x\n", acl->AclRevision); - printf("\t\tSbz1\t\t 0x%x\n", acl->Sbz1); - printf("\t\tSbz2\t\t 0x%x\n", acl->Sbz2); - printf("\t\tACL Size\t\t 0x%x\n", acl->AclSize); - printf("\t\tACL Count\t\t 0x%x\n", acl->AceCount); - - return; -} - -void PrintLastError(); - -void print_sid(LPSTR str, PSID sid) -{ - LPSTR sid_string; - - printf("%s\n", str); - - if (sid == NULL) { - printf("(null sid)\n"); - return; - } - - if (!ConvertSidToStringSid(sid, &sid_string)) { - PrintLastError(); - return; - } - - printf("%s\n", sid_string); - LocalFree(sid_string); - - return; -} - -void print_secdesc(SECURITY_DESCRIPTOR *secdesc) -{ - LPSTR sd_string; - - if (secdesc == NULL) { - printf("\tSecurity Descriptor\t= (null)\n"); - return; - } - - if (!ConvertSecurityDescriptorToStringSecurityDescriptor(secdesc, 1, 7, &sd_string, NULL)) { - PrintLastError(); - return; - } - - printf("%s\n", sd_string); - LocalFree(sd_string); - -#if 0 - printf("\tRevision\t= 0x%x\n", secdesc->Revision); - printf("\tSbz1\t\t= 0x%x\n", secdesc->Sbz1); - printf("\tControl\t\t= 0x%x\n", secdesc->Control); - print_sid("\tOwner\t\t= ", secdesc->Owner); - print_sid("\tGroup\t\t= ",secdesc->Group); - print_acl("\tSacl\t\t= ", secdesc->Sacl); - print_acl("\tDacl\t\t= ", secdesc->Dacl); -#endif - return; -} - -void PrintLastError() -{ - LPVOID lpMsgBuf; - DWORD status; - - status = GetLastError(); - - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR)&lpMsgBuf, 0, NULL); - printf("ERROR [0x%x] : %s\n", status, (char*)lpMsgBuf); - LocalFree(lpMsgBuf); - - return; -} - - -void print_job_info_1(PJOB_INFO_1 info) -{ - printf("\tJob ID\t\t= %d\n", info->JobId); - printf("\tPrinter Name\t= %s\n", info->pPrinterName); - printf("\tMachine Name\t= %s\n", info->pMachineName); - printf("\tUser Name\t= %s\n", info->pUserName); - printf("\tDocument\t= %s\n", info->pDocument); - printf("\tDatatype\t= %s\n", info->pDatatype); - printf("\tStatus\t\t= %s\n", info->pStatus); - printf("\tStatus\t= %d\n", info->Status); - printf("\tPriority\t= %d\n", info->Priority); - printf("\tPosition\t= %d\n", info->Position); - printf("\tTotal Pages\t= %d\n", info->TotalPages); - printf("\tPages Printed\t= %d\n", info->PagesPrinted); - printf("\tSubmitted (DD:MM:YY HH:MM:SS)\t= %d:%d:%d %d:%d:%d UTC\n", - info->Submitted.wDay, info->Submitted.wMonth, - info->Submitted.wYear, info->Submitted.wHour, - info->Submitted.wMinute, info->Submitted.wSecond); - - return; -} - -void print_job_info_2(PJOB_INFO_2 info) -{ - printf("\tJob ID\t\t= %d\n", info->JobId); - printf("\tPrinter Name\t= %s\n", info->pPrinterName); - printf("\tMachine Name\t= %s\n", info->pMachineName); - printf("\tUser Name\t= %s\n", info->pUserName); - printf("\tDocument\t= %s\n", info->pDocument); - printf("\tDatatype\t= %s\n", info->pDatatype); - printf("\tNotify Name\t= %s\n", info->pNotifyName); - printf("\tPrint Processor\t= %s\n", info->pPrintProcessor); - printf("\tParameters\t= %s\n", info->pParameters); - printf("\tDriver Name\t= %s\n", info->pDriverName); - printf("\tStatus\t\t= %s\n", info->pStatus); - printf("\tStatus\t\t= %d\n", info->Status); - printf("\tPriority\t= %d\n", info->Priority); - printf("\tPosition\t= %d\n", info->Position); - printf("\tTotal Pages\t= %d\n", info->TotalPages); - printf("\tPages Printed\t= %d\n", info->PagesPrinted); - printf("\tStart Time\t= %d\n", info->StartTime); - printf("\tUntil Time\t= %d\n", info->UntilTime); - printf("\tTime\t\t= %d\n", info->Time); - printf("\tSize\t\t= %d\n", info->Size); - printf("\tSubmitted (DD:MM:YY HH:MM:SS)\t= %d:%d:%d %d:%d:%d UTC\n", - info->Submitted.wDay, info->Submitted.wMonth, - info->Submitted.wYear, info->Submitted.wHour, - info->Submitted.wMinute, info->Submitted.wSecond); - printf("\tDevice Mode Information\n"); - printf("\t-----------------------\n"); - print_devmode(info->pDevMode); - printf("\tSecurity Descriptor Information\n"); - printf("\t-------------------------------\n"); - print_secdesc(info->pSecurityDescriptor); - - return; -} - -void print_job_info_3(PJOB_INFO_3 info) -{ - printf("\tJob ID\t\t= %d\n", info->JobId); - printf("\tJob ID Next Job\t= %d\n", info->NextJobId); - printf("\tReserved (must be 0)\t= %d\n",info->Reserved); - - return; -} - -void print_job_info_4(PJOB_INFO_4 info) -{ - printf("\tJob ID\t\t= %d\n", info->JobId); - printf("\tPrinter Name\t= %s\n", info->pPrinterName); - printf("\tMachine Name\t= %s\n", info->pMachineName); - printf("\tUser Name\t= %s\n", info->pUserName); - printf("\tDocument\t= %s\n", info->pDocument); - printf("\tDatatype\t= %s\n", info->pDatatype); - printf("\tNotify Name\t= %s\n", info->pNotifyName); - printf("\tPrint Processor\t= %s\n", info->pPrintProcessor); - printf("\tDriver Name\t= %s\n", info->pDriverName); - printf("\tStatus\t\t= %s\n", info->pStatus); - printf("\tStatus\t\t= %d\n", info->Status); - printf("\tPriority\t= %d\n", info->Priority); - printf("\tPosition\t= %d\n", info->Position); - printf("\tTotal Pages\t= %d\n", info->TotalPages); - printf("\tPages Printed\t= %d\n", info->PagesPrinted); - printf("\tStart Time\t= %d\n", info->StartTime); - printf("\tUntil Time\t= %d\n", info->UntilTime); - printf("\tTime\t\t= %d\n", info->Time); - printf("\tSize\t\t= %d\n", info->Size); - printf("\tSize High\t\t= 0x%016x\n", info->SizeHigh); - printf("\tSubmitted (DD:MM:YY HH:MM:SS)\t= %d:%d:%d %d:%d:%d UTC\n", - info->Submitted.wDay, info->Submitted.wMonth, - info->Submitted.wYear, info->Submitted.wHour, - info->Submitted.wMinute, info->Submitted.wSecond); - printf("\tDevice Mode Information\n"); - printf("\t-----------------------\n"); - print_devmode(info->pDevMode); - printf("\tSecurity Descriptor Information\n"); - printf("\t-------------------------------\n"); - print_secdesc(info->pSecurityDescriptor); - - return; -} - -void print_job_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PJOB_INFO_1 buffer1 = NULL; - PJOB_INFO_2 buffer2 = NULL; - PJOB_INFO_3 buffer3 = NULL; - PJOB_INFO_4 buffer4 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PJOB_INFO_1)buffer; - break; - case 2: - buffer2 = (PJOB_INFO_2)buffer; - break; - case 3: - buffer3 = (PJOB_INFO_3)buffer; - break; - case 4: - buffer4 = (PJOB_INFO_4)buffer; - break; - default: - break; - } - - printf("Job Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_job_info_1(&buffer1[i]); - printf("\n"); - } - break; - case 2: - for (i=0; i<count; i++) { - print_job_info_2(&buffer2[i]); - printf("\n"); - } - break; - case 3: - for (i=0; i<count; i++) { - print_job_info_3(&buffer3[i]); - printf("\n"); - } - break; - case 4: - for (i=0; i<count; i++) { - print_job_info_4(&buffer4[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_monitor_info_1(PMONITOR_INFO_1 info) -{ - printf("\tMonitor Name\t= %s\n", info->pName); - - return; -} - -void print_monitor_info_2(PMONITOR_INFO_2 info) -{ - printf("\tMonitor Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tDLL Name\t= %s\n", info->pDLLName); - - return; -} - -void print_monitor_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PMONITOR_INFO_1 buffer1 = NULL; - PMONITOR_INFO_2 buffer2 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PMONITOR_INFO_1)buffer; - break; - case 2: - buffer2 = (PMONITOR_INFO_2)buffer; - break; - default: - break; - } - - printf("Monitor Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_monitor_info_1(&buffer1[i]); - printf("\n"); - } - break; - case 2: - for (i=0; i<count; i++) { - print_monitor_info_2(&buffer2[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_port_info_1(PPORT_INFO_1 info) -{ - printf("\tPort Name\t= %s\n", info->pName); - return; -} - -void print_port_info_2(PPORT_INFO_2 info) -{ - printf("\tPort Name\t= %s\n", info->pPortName); - printf("\tMonitor Name\t= %s\n",info->pMonitorName); - printf("\tDescription\t= %s\n", info->pDescription); - printf("\tPort Type\t= 0x%08x\n", info->fPortType); - printf("\tReserved\t= 0x%08x\n", info->Reserved); - return; -} - -void print_port_info_3(PPORT_INFO_3 info) -{ - printf("\tStatus\t= 0x%08x\n", info->dwStatus); - printf("\tStatus String\t= %s\n", info->pszStatus); - printf("\tSeverity\t= 0x%08x\n", info->dwSeverity); - return; -} - -void print_port_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PPORT_INFO_1 buffer1 = NULL; - PPORT_INFO_2 buffer2 = NULL; - PPORT_INFO_3 buffer3 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PPORT_INFO_1)buffer; - break; - case 2: - buffer2 = (PPORT_INFO_2)buffer; - break; - case 3: - buffer3 = (PPORT_INFO_3)buffer; - break; - default: - break; - } - - printf("Port Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_port_info_1(&buffer1[i]); - printf("\n"); - } - break; - case 2: - for (i=0; i<count; i++) { - print_port_info_2(&buffer2[i]); - printf("\n"); - } - break; - case 3: - for (i=0; i<count; i++) { - print_port_info_3(&buffer3[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_form_info_1(PFORM_INFO_1 info) -{ - printf("\tForm Name\t= %s\n", info->pName); - printf("\tFlags\t\t= 0x%x\n", info->Flags); - printf("\tSize\t\t= %d x %d\n", info->Size.cx, info->Size.cy); - printf("\tRectangle\t= [left]%d [right]%d [top]%d [bottom]%d\n", - info->ImageableArea.left, info->ImageableArea.right, - info->ImageableArea.top, info->ImageableArea.bottom); - - return; -} - -void print_form_info_2(PFORM_INFO_2 info) -{ - printf("\tForm Name\t= %s\n", info->pName); - printf("\tFlags\t\t= 0x%x\n", info->Flags); - printf("\tSize\t\t= %d x %d\n", info->Size.cx, info->Size.cy); - printf("\tRectangle\t= [left]%d [right]%d [top]%d [bottom]%d\n", - info->ImageableArea.left, info->ImageableArea.right, - info->ImageableArea.top, info->ImageableArea.bottom); - printf("\tKeyword\t= %s\n", info->pKeyword); - printf("\tString Type\t= 0x%08x\n", info->StringType); - printf("\tMui DLL\t= %s\n", info->pMuiDll); - printf("\tResource Id\t= 0x%08x\n", info->dwResourceId); - printf("\tDisplay Name\t= %s\n",info->pDisplayName); - printf("\tLang Id\t= 0x%04x\n", info->wLangId); - - return; -} - -void print_form_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PFORM_INFO_1 buffer1 = NULL; - PFORM_INFO_2 buffer2 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PFORM_INFO_1)buffer; - break; - case 2: - buffer2 = (PFORM_INFO_2)buffer; - break; - default: - break; - } - - printf("Form Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_form_info_1(&buffer1[i]); - printf("\n"); - } - break; - case 2: - for (i=0; i<count; i++) { - print_form_info_2(&buffer2[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_printer_info_1(PPRINTER_INFO_1 info) -{ - printf("\tPrinter Name\t= %s\n", info->pName); - printf("\tDescription\t= %s\n", info->pDescription); - printf("\tComment\t\t= %s\n", info->pComment); - printf("\tFlags\t\t= 0x%x\n", info->Flags); - - return; -} - -void print_printer_info_2(PPRINTER_INFO_2 info) -{ - printf("\tServer Name\t\t= %s\n", info->pServerName); - printf("\tPrinter Name\t\t= %s\n", info->pPrinterName); - printf("\tPort Name\t\t= %s\n", info->pPortName); - printf("\tShare Name\t\t= %s\n", info->pShareName); - printf("\tDriver Name\t\t= %s\n", info->pDriverName); - printf("\tComment\t\t\t= %s\n", info->pComment); - printf("\tLocation\t\t= %s\n", info->pLocation); - printf("\tSeparator File\t\t= %s\n", info->pSepFile); - printf("\tDefault Data Type\t= %s\n", info->pDatatype); - printf("\tPrint Processor\t\t= %s\n", info->pPrintProcessor); - printf("\tParameters\t\t= %s\n", info->pParameters); - printf("\tAttributes\t\t= 0x%x\n", info->Attributes); - printf("\tPriority\t\t= 0x%x\n", info->Priority); - printf("\tDefault Priority\t= 0x%x\n", info->DefaultPriority); - printf("\tStart Time\t\t= 0x%x\n", info->StartTime); - printf("\tUntil Time\t\t= 0x%x\n", info->UntilTime); - printf("\tStatus\t\t\t= 0x%x\n", info->Status); - printf("\tcJobs\t\t\t= 0x%x\n", info->cJobs); - printf("\tAverage PPM\t\t= 0x%x\n", info->AveragePPM); - - printf("\tDevice Mode Information\n"); - printf("\t-----------------------\n"); - print_devmode(info->pDevMode); - printf("\tSecurity Descriptor Information\n"); - printf("\t-------------------------------\n"); - print_secdesc(info->pSecurityDescriptor); - return; -} - -void print_printer_info_3(PPRINTER_INFO_3 info) -{ - printf("\tSecurity Descriptor Information\n"); - printf("\t-------------------------------\n"); - print_secdesc(info->pSecurityDescriptor); - return; -} - -void print_printer_info_4(PPRINTER_INFO_4 info) -{ - printf("\tServer Name\t\t= %s\n", info->pServerName); - printf("\tPrinter Name\t\t= %s\n", info->pPrinterName); - printf("\tAttributes\t\t= 0x%x\n", info->Attributes); - return; -} - -void print_printer_info_5(PPRINTER_INFO_5 info) -{ - printf("\tPrinter Name\t\t\t= %s\n", info->pPrinterName); - printf("\tPort Name\t\t\t= %s\n", info->pPortName); - printf("\tAttributes\t\t\t= 0x%x\n", info->Attributes); - printf("\tDev NotSelect Timeout\t= 0x%x\n", info->DeviceNotSelectedTimeout); - printf("\tTX RetryTimeout\t\t= 0x%x\n", info->TransmissionRetryTimeout); - return; -} - -void print_printer_info_6(PPRINTER_INFO_6 info) -{ - printf("\tStatus\t\t\t= 0x%x\n", info->dwStatus); - return; -} - -void print_printer_info_7(PPRINTER_INFO_7 info) -{ - printf("\tObject GUID\t\t\t= %s\n", info->pszObjectGUID); - printf("\tAction\t\t\t= 0x%x\n", info->dwAction); - return; -} - -void print_printer_info_8(PPRINTER_INFO_8 info) -{ - print_devmode(info->pDevMode); -} - -void print_printer_info_9(PPRINTER_INFO_9 info) -{ - print_devmode(info->pDevMode); -} - -void print_printer_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PPRINTER_INFO_1 buffer1 = NULL; - PPRINTER_INFO_2 buffer2 = NULL; - PPRINTER_INFO_3 buffer3 = NULL; - PPRINTER_INFO_4 buffer4 = NULL; - PPRINTER_INFO_5 buffer5 = NULL; - PPRINTER_INFO_6 buffer6 = NULL; - PPRINTER_INFO_7 buffer7 = NULL; - PPRINTER_INFO_8 buffer8 = NULL; - PPRINTER_INFO_9 buffer9 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PPRINTER_INFO_1)buffer; - break; - case 2: - buffer2 = (PPRINTER_INFO_2)buffer; - break; - case 3: - buffer3 = (PPRINTER_INFO_3)buffer; - break; - case 4: - buffer4 = (PPRINTER_INFO_4)buffer; - break; - case 5: - buffer5 = (PPRINTER_INFO_5)buffer; - break; - case 6: - buffer6 = (PPRINTER_INFO_6)buffer; - break; - case 7: - buffer7 = (PPRINTER_INFO_7)buffer; - break; - case 8: - buffer8 = (PPRINTER_INFO_8)buffer; - break; - case 9: - buffer9 = (PPRINTER_INFO_9)buffer; - break; - default: - break; - } - - printf("Printer Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_printer_info_1(&buffer1[i]); - printf("\n"); - } - break; - case 2: - for (i=0; i<count; i++) { - print_printer_info_2(&buffer2[i]); - printf("\n"); - } - break; - case 3: - for (i=0; i<count; i++) { - print_printer_info_3(&buffer3[i]); - printf("\n"); - } - break; - case 4: - for (i=0; i<count; i++) { - print_printer_info_4(&buffer4[i]); - printf("\n"); - } - break; - case 5: - for (i=0; i<count; i++) { - print_printer_info_5(&buffer5[i]); - printf("\n"); - } - break; - case 6: - for (i=0; i<count; i++) { - print_printer_info_6(&buffer6[i]); - printf("\n"); - } - break; - case 7: - for (i=0; i<count; i++) { - print_printer_info_7(&buffer7[i]); - printf("\n"); - } - break; - case 8: - for (i=0; i<count; i++) { - print_printer_info_8(&buffer8[i]); - printf("\n"); - } - break; - case 9: - for (i=0; i<count; i++) { - print_printer_info_9(&buffer9[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_printprocessor_info_1(PPRINTPROCESSOR_INFO_1 info) -{ - printf("\tPrint Processor Name\t= %s\n", info->pName); - - return; -} - -void print_printprocessor_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PPRINTPROCESSOR_INFO_1 buffer1 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PPRINTPROCESSOR_INFO_1)buffer; - break; - default: - break; - } - - printf("Print Processor Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_printprocessor_info_1(&buffer1[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_datatypes_info_1(PDATATYPES_INFO_1 info) -{ - printf("\tDataTypes Name\t= %s\n", info->pName); - - return; -} - -void print_datatypes_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PDATATYPES_INFO_1 buffer1 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PDATATYPES_INFO_1)buffer; - break; - default: - break; - } - - printf("DataTypes Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_datatypes_info_1(&buffer1[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_driver_info_1(PDRIVER_INFO_1 info) -{ - printf("\tDriver Name\t= %s\n\n", info->pName); - - return; -} - -void print_driver_info_2(PDRIVER_INFO_2 info) -{ - printf("\tDriver Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tVersion\t\t= %d\n", info->cVersion); - printf("\tDriver Path\t= %s\n", info->pDriverPath); - printf("\tData File\t= %s\n", info->pDataFile); - printf("\tConfig File\t= %s\n\n", info->pConfigFile); - - return; -} - -void print_driver_info_3(PDRIVER_INFO_3 info) -{ - char *ptr = NULL; - - printf("\tDriver Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tVersion\t\t= %d\n", info->cVersion); - printf("\tDriver Path\t= %s\n", info->pDriverPath); - printf("\tData File\t= %s\n", info->pDataFile); - printf("\tConfig File\t= %s\n", info->pConfigFile); - printf("\tHelp Path\t= %s\n", info->pHelpFile); - printf("\tMonitor Name\t= %s\n", info->pMonitorName); - printf("\tData Type\t= %s\n", info->pDefaultDataType); - ptr = (char*)info->pDependentFiles; - while ((ptr != NULL) && (*ptr != '\0')) { - printf("\tDependent Files\t= %s\n", ptr); - for (;*ptr != '\0'; ptr++) - /* printf("%s\n", ptr); */ - ; - ptr++; - } - - return; -} - -void print_driver_info_4(PDRIVER_INFO_4 info) -{ - char *ptr = NULL; - - printf("\tDriver Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tVersion\t\t= %d\n", info->cVersion); - printf("\tDriver Path\t= %s\n", info->pDriverPath); - printf("\tData File\t= %s\n", info->pDataFile); - printf("\tConfig File\t= %s\n", info->pConfigFile); - printf("\tHelp Path\t= %s\n", info->pHelpFile); - printf("\tMonitor Name\t= %s\n", info->pMonitorName); - printf("\tData Type\t= %s\n", info->pDefaultDataType); - printf("\tPrevious Names\t= %s\n", info->pszzPreviousNames); - ptr = (char*)info->pDependentFiles; - while ((ptr != NULL) && (*ptr != '\0')) { - printf("\tDependent Files\t= %s\n", ptr); - for (;*ptr != '\0'; ptr++) - /* printf("%s\n", ptr); */ - ; - ptr++; - } - - return; -} - -void print_driver_info_5(PDRIVER_INFO_5 info) -{ - printf("\tDriver Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tVersion\t\t= %d\n", info->cVersion); - printf("\tDriver Path\t= %s\n", info->pDriverPath); - printf("\tData File\t= %s\n", info->pDataFile); - printf("\tConfig File\t= %s\n", info->pConfigFile); - printf("\tDriver Attributes\t= %d\n", info->dwDriverAttributes); - printf("\tConfig Version\t= %d\n", info->dwConfigVersion); - printf("\tDriver Version\t= %d\n", info->dwDriverVersion); - - return; -} - -void print_driver_info_6(PDRIVER_INFO_6 info) -{ - char *ptr = NULL; - - printf("\tDriver Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tVersion\t\t= %d\n", info->cVersion); - printf("\tDriver Path\t= %s\n", info->pDriverPath); - printf("\tData File\t= %s\n", info->pDataFile); - printf("\tConfig File\t= %s\n", info->pConfigFile); - printf("\tHelp Path\t= %s\n", info->pHelpFile); - printf("\tMonitor Name\t= %s\n", info->pMonitorName); - printf("\tData Type\t= %s\n", info->pDefaultDataType); - printf("\tPrevious Names\t= %s\n", info->pszzPreviousNames); - ptr = (char*)info->pDependentFiles; - if (ptr != NULL) { - while (*ptr != '\0') { - printf("\tDependent Files\t= %s\n", ptr); - for (;*ptr != '\0'; ptr++) - /* printf("%s\n", ptr); */ - ; - ptr++; - } - } else { - printf("\tPrevious Names\t= (null)\n"); - } - - ptr = (char*)info->pszzPreviousNames; - if (ptr != NULL) { - while (*ptr != '\0') { - printf("\tPrevious Names\t= %s\n", ptr); - for (;*ptr != '\0'; ptr++) - /* printf("%s\n", ptr); */ - ; - ptr++; - } - } else { - printf("\tPrevious Names\t= (null)\n"); - } - - printf("\tDriver Date\t= %d (%08x:%08x)\n", - info->ftDriverDate, - info->ftDriverDate.dwLowDateTime, - info->ftDriverDate.dwHighDateTime); - printf("\t\t"); - print_file_time(&info->ftDriverDate); - printf("\tDriver Version\t= %d\n", info->dwlDriverVersion); - printf("\tManufacture Name = %s\n", info->pszMfgName); - printf("\tOEM URL\t\t= %s\n", info->pszOEMUrl); - printf("\tHardware ID\t= %s\n", info->pszHardwareID); - printf("\tProvider\t= %s\n", info->pszProvider); - return; -} - -static void print_multi_sz(LPSTR multisz) -{ - char *ptr = NULL; - - ptr = (char *)multisz; - - if (!ptr) { - printf("(null)\n"); - return; - } - - while (*ptr != '\0') { - printf("%s\n", ptr); - for (; *ptr != '\0'; ptr++) { - /* printf("%s\n", ptr); */ - ; - } - ptr++; - } -} - -void print_driver_info_8(PDRIVER_INFO_8 info) -{ - printf("\tDriver Name\t= %s\n", info->pName); - printf("\tEnvironment\t= %s\n", info->pEnvironment); - printf("\tVersion\t\t= %d\n", info->cVersion); - printf("\tDriver Path\t= %s\n", info->pDriverPath); - printf("\tData File\t= %s\n", info->pDataFile); - printf("\tConfig File\t= %s\n", info->pConfigFile); - printf("\tHelp Path\t= %s\n", info->pHelpFile); - printf("\tMonitor Name\t= %s\n", info->pMonitorName); - printf("\tData Type\t= %s\n", info->pDefaultDataType); - printf("\tPrevious Names\t=\n"); - print_multi_sz(info->pszzPreviousNames); - printf("\tDependent Files\t=\n"); - print_multi_sz(info->pDependentFiles); - printf("\tDriver Date\t= %d (%08x:%08x)\n", - info->ftDriverDate, - info->ftDriverDate.dwLowDateTime, - info->ftDriverDate.dwHighDateTime); - printf("\t\t"); - print_file_time(&info->ftDriverDate); - printf("\tDriver Version\t= %d\n", info->dwlDriverVersion); - printf("\tManufacture Name = %s\n", info->pszMfgName); - printf("\tOEM URL\t\t= %s\n", info->pszOEMUrl); - printf("\tHardware ID\t= %s\n", info->pszHardwareID); - printf("\tProvider\t= %s\n", info->pszProvider); - printf("\tPrint Processor\t= %s\n", info->pszPrintProcessor); - printf("\tVendor Setup\t= %s\n", info->pszVendorSetup); - printf("\tColor Profiles\t=\n"); - print_multi_sz(info->pszzColorProfiles); - printf("\tInf Path\t= %s\n", info->pszInfPath); - printf("\tPrinter Driver Attributes = %d\n", info->dwPrinterDriverAttributes); - printf("\tCore Driver Dependencies\t=\n"); - print_multi_sz(info->pszzCoreDriverDependencies); - printf("\tMin Inbox Driver VerDate\t= %d (%08x:%08x)\n", - info->ftMinInboxDriverVerDate, - info->ftMinInboxDriverVerDate.dwLowDateTime, - info->ftMinInboxDriverVerDate.dwHighDateTime); - printf("\t\t"); - print_file_time(&info->ftMinInboxDriverVerDate); - printf("\tMin Inbox Driver VerVersion\t= %d\n", info->dwlMinInboxDriverVerVersion); - return; -} - -void print_driver_info_bylevel(DWORD level, LPBYTE buffer, DWORD count) -{ - DWORD i; - PDRIVER_INFO_1 buffer1 = NULL; - PDRIVER_INFO_2 buffer2 = NULL; - PDRIVER_INFO_3 buffer3 = NULL; - PDRIVER_INFO_4 buffer4 = NULL; - PDRIVER_INFO_5 buffer5 = NULL; - PDRIVER_INFO_6 buffer6 = NULL; - PDRIVER_INFO_8 buffer8 = NULL; - - if (!buffer) { - return; - } - - switch (level) { - case 1: - buffer1 = (PDRIVER_INFO_1)buffer; - break; - case 2: - buffer2 = (PDRIVER_INFO_2)buffer; - break; - case 3: - buffer3 = (PDRIVER_INFO_3)buffer; - break; - case 4: - buffer4 = (PDRIVER_INFO_4)buffer; - break; - case 5: - buffer5 = (PDRIVER_INFO_5)buffer; - break; - case 6: - buffer6 = (PDRIVER_INFO_6)buffer; - break; - case 8: - buffer8 = (PDRIVER_INFO_8)buffer; - break; - default: - break; - } - - printf("Driver Info Level %d:\n", level); - - switch (level) { - case 1: - for (i=0; i<count; i++) { - print_driver_info_1(&buffer1[i]); - printf("\n"); - } - break; - case 2: - for (i=0; i<count; i++) { - print_driver_info_2(&buffer2[i]); - printf("\n"); - } - break; - case 3: - for (i=0; i<count; i++) { - print_driver_info_3(&buffer3[i]); - printf("\n"); - } - break; - case 4: - for (i=0; i<count; i++) { - print_driver_info_4(&buffer4[i]); - printf("\n"); - } - break; - case 5: - for (i=0; i<count; i++) { - print_driver_info_5(&buffer5[i]); - printf("\n"); - } - break; - case 6: - for (i=0; i<count; i++) { - print_driver_info_6(&buffer6[i]); - printf("\n"); - } - break; - case 8: - for (i=0; i<count; i++) { - print_driver_info_8(&buffer8[i]); - printf("\n"); - } - break; - default: - break; - } -} - -void print_doc_info_1(PDOC_INFO_1 info) -{ - printf("\tDocument Name\t= %s\n", info->pDocName); - printf("\tOutput Filename\t= %s\n", info->pOutputFile); - printf("\tDatatype\t= %s\n", info->pDatatype); - return; -} - -void print_printer_keys(LPSTR buffer) -{ - LPSTR p = NULL; - - p = buffer; - - while (p && *p) { - printf("%s\n", p); - for (; *p; p = CharNext(p)) { - p = CharNext(p); - } - } -} - -LPSTR reg_type_str(DWORD type) -{ - switch (type) { - case REG_DWORD: - return "REG_DWORD"; - case REG_SZ: - return "REG_SZ"; - case REG_MULTI_SZ: - return "REG_MULTI_SZ"; - case REG_BINARY: - return "REG_BINARY"; - default: - return NULL; - } -} - -void print_asc(const BYTE *buf, DWORD len) -{ - int i; - for (i=0; i<len; i++) { - printf("%c", isprint(buf[i])?buf[i]:'.'); - } -} - -static void dump_data(const BYTE *buf, int len) -{ - int i=0; - static const BYTE empty[16] = { 0, }; - - if (len<=0) return; - - for (i=0; i<len;) { - - if (i%16 == 0) { - if ((i > 0) && - (len > i+16) && - (memcmp(&buf[i], &empty, 16) == 0)) - { - i +=16; - continue; - } - - if (i<len) { - printf("[%04X] ",i); - } - } - - printf("%02x ", buf[i]); - i++; - - if (i%8 == 0) printf(" "); - if (i%16 == 0) { - print_asc(&buf[i-16],8); printf(" "); - print_asc(&buf[i-8],8); printf("\n"); - } - } - - if (i%16) { - int n; - n = 16 - (i%16); - printf(" "); - if (n>8) printf(" "); - while (n--) printf(" "); - n = MIN(8,i%16); - print_asc(&buf[i-(i%16)],n); printf( " " ); - n = (i%16) - n; - if (n>0) print_asc(&buf[i-n],n); - printf("\n"); - } -} - -static void dump_printer_data(DWORD size, LPBYTE buffer, DWORD type) -{ - DWORD i = 0; - LPSTR p = NULL; - - switch (type) { - case REG_SZ: - dump_data(buffer, size); - break; - case REG_MULTI_SZ: - dump_data(buffer, size); - p = (LPSTR)buffer; - while (p && *p) { - printf("\t\t%s\n", p); - for (; *p; p = CharNext(p)) { - p = CharNext(p); - } - } - break; - case REG_DWORD: - assert(size == 4); - printf("\t\t0x%08x\n", (DWORD)*buffer); - break; - case REG_BINARY: - dump_data(buffer, size); - break; - default: - break; - } -} - -void print_printer_data(LPSTR keyname, LPSTR valuename, DWORD size, LPBYTE buffer, DWORD type) -{ - if (keyname) { - printf("\tKey Name:\t%s\n", keyname); - } - - printf("\tValue Name:\t%s\n", valuename); - printf("\tSize:\t\t0x%x (%d)\n", size, size); - printf("\tType:\t\t%s\n", reg_type_str(type)); - - if (buffer == NULL || size == 0) { - return; - } - - dump_printer_data(size, buffer, type); -} - -void print_printer_dataw(LPCWSTR keyname, LPCWSTR valuename, DWORD size, LPBYTE buffer, DWORD type) -{ - if (keyname) { - printf("\tKey Name:\t%ls\n", keyname); - } - - printf("\tValue Name:\t%ls\n", valuename); - printf("\tSize:\t\t0x%x (%d)\n", size, size); - printf("\tType:\t\t%s\n", reg_type_str(type)); - - if (buffer == NULL || size == 0) { - return; - } - - dump_printer_data(size, buffer, type); -} - - -void print_printer_enum_values(PRINTER_ENUM_VALUES *info) -{ - print_printer_data(NULL, info->pValueName, info->cbData, info->pData, info->dwType); -} - -void print_file_time(const FILETIME *t) -{ - SYSTEMTIME s; - LPSTR dayofweek = NULL; - LPSTR month = NULL; - - if (!FileTimeToSystemTime(t, &s)) { - printf("Failed to convert FILETIME to SYSTEMTIME\n"); - return; - } - switch (s.wDayOfWeek) { - case 0: - dayofweek = "Sun"; - break; - case 1: - dayofweek = "Mon"; - break; - case 2: - dayofweek = "Tue"; - break; - case 3: - dayofweek = "Wed"; - break; - case 4: - dayofweek = "Thu"; - break; - case 5: - dayofweek = "Fri"; - break; - case 6: - dayofweek = "Sat"; - break; - default: - break; - } - - switch (s.wMonth) { - case 1: - month = "Jan"; - break; - case 2: - month = "Feb"; - break; - case 3: - month = "Mar"; - break; - case 4: - month = "Apr"; - break; - case 5: - month = "May"; - break; - case 6: - month = "Jun"; - break; - case 7: - month = "Jul"; - break; - case 8: - month = "Aug"; - break; - case 9: - month = "Sep"; - break; - case 10: - month = "Oct"; - break; - case 11: - month = "Nov"; - break; - case 12: - month = "Dec"; - break; - default: - break; - } - - printf("%s %s %02d %02d:%02d:%02d %04d\n", - dayofweek, month, s.wDay, - s.wHour, s.wMinute, s.wSecond, s.wYear); -} diff --git a/testprogs/win32/spoolss/printlib_proto.h b/testprogs/win32/spoolss/printlib_proto.h deleted file mode 100644 index 704cdbfaea..0000000000 --- a/testprogs/win32/spoolss/printlib_proto.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef __PRINTLIB_PROTO_H__ -#define __PRINTLIB_PROTO_H__ - -#undef _PRINTF_ATTRIBUTE -#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2) -/* This file was automatically generated by mkproto.pl. DO NOT EDIT */ - -/* this file contains prototypes for functions that are private - * to this subsystem or library. These functions should not be - * used outside this particular subsystem! */ - - -/* The following definitions come from printlib.c */ - -void print_devmode(DEVMODE *pDevModeIn); -void print_acl(const char* str, ACL *acl); -void print_sid(const char* str, SID *sid); -void print_secdesc(SECURITY_DESCRIPTOR *secdesc); -void PrintLastError(); -void print_job_info_1(PJOB_INFO_1 info); -void print_job_info_2(PJOB_INFO_2 info); -void print_job_info_3(PJOB_INFO_3 info); -void print_job_info_4(PJOB_INFO_4 info); -void print_job_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_monitor_info_1(PMONITOR_INFO_1 info); -void print_monitor_info_2(PMONITOR_INFO_2 info); -void print_monitor_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_port_info_1(PPORT_INFO_1 info); -void print_port_info_2(PPORT_INFO_2 info); -void print_port_info_3(PPORT_INFO_3 info); -void print_port_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_form_info_1(PFORM_INFO_1 info); -void print_form_info_2(PFORM_INFO_2 info); -void print_form_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_printer_info_1(PPRINTER_INFO_1 info); -void print_printer_info_2(PPRINTER_INFO_2 info); -void print_printer_info_5(PPRINTER_INFO_5 info); -void print_printer_info_6(PPRINTER_INFO_6 info); -void print_printer_info_7(PPRINTER_INFO_7 info); -void print_printer_info_8(PPRINTER_INFO_8 info); -void print_printer_info_9(PPRINTER_INFO_9 info); -void print_printer_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_printprocessor_info_1(PPRINTPROCESSOR_INFO_1 info); -void print_printprocessor_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_datatypes_info_1(PDATATYPES_INFO_1 info); -void print_datatypes_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_driver_info_1(PDRIVER_INFO_1 info); -void print_driver_info_2(PDRIVER_INFO_2 info); -void print_driver_info_3(PDRIVER_INFO_3 info); -void print_driver_info_4(PDRIVER_INFO_4 info); -void print_driver_info_5(PDRIVER_INFO_5 info); -void print_driver_info_6(PDRIVER_INFO_6 info); -void print_driver_info_8(PDRIVER_INFO_8 info); -void print_driver_info_bylevel(DWORD level, LPBYTE buffer, DWORD count); -void print_doc_info_1(PDOC_INFO_1 info); -void print_printer_keys(LPSTR buffer); -LPSTR reg_type_str(DWORD type); -void print_printer_data(LPSTR keyname, LPSTR valuename, DWORD size, LPBYTE buffer, DWORD type); -void print_printer_dataw(LPCWSTR keyname, LPCWSTR valuename, DWORD size, LPBYTE buffer, DWORD type); -void print_printer_enum_values(PRINTER_ENUM_VALUES *info); -void print_file_time(const FILETIME *t); - -#undef _PRINTF_ATTRIBUTE -#define _PRINTF_ATTRIBUTE(a1, a2) - -#endif /* __PRINTLIB_PROTO_H__ */ - diff --git a/testprogs/win32/spoolss/string.h b/testprogs/win32/spoolss/string.h deleted file mode 100644 index 17561eb7ad..0000000000 --- a/testprogs/win32/spoolss/string.h +++ /dev/null @@ -1,15 +0,0 @@ -/* __location__ macro replacement taken from talloc.h */ - -/* - this uses a little trick to allow __LINE__ to be stringified -*/ -#ifndef __location__ -#define __STRING_LINE1__(s) #s -#define __STRING_LINE2__(s) __STRING_LINE1__(s) -#define __STRING_LINE3__ __STRING_LINE2__(__LINE__) -#define __location__ __FILE__ ":" __STRING_LINE3__ -#endif - -#ifndef __STRING -#define __STRING(s) #s -#endif diff --git a/testprogs/win32/spoolss/testspoolss.c b/testprogs/win32/spoolss/testspoolss.c deleted file mode 100644 index 422cca4acf..0000000000 --- a/testprogs/win32/spoolss/testspoolss.c +++ /dev/null @@ -1,1842 +0,0 @@ -/* - Unix SMB/CIFS implementation. - test suite for spoolss rpc operations - - Copyright (C) Guenther Deschner 2009-2010 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -/**************************************************************************** -****************************************************************************/ - -#include "testspoolss.h" -#include "string.h" -#include "torture.h" - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_OpenPrinter(struct torture_context *tctx, - LPSTR printername, - LPPRINTER_DEFAULTS defaults, - LPHANDLE handle) -{ - torture_comment(tctx, "Testing OpenPrinter(%s)", printername); - - if (!OpenPrinter(printername, handle, defaults)) { - char tmp[1024]; - sprintf(tmp, "failed to open printer %s, error was: 0x%08x\n", - printername, GetLastError()); - torture_fail(tctx, tmp); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_ClosePrinter(struct torture_context *tctx, - HANDLE handle) -{ - torture_comment(tctx, "Testing ClosePrinter"); - - if (!ClosePrinter(handle)) { - char tmp[1024]; - sprintf(tmp, "failed to close printer, error was: %s\n", - errstr(GetLastError())); - torture_fail(tctx, tmp); - } - - return TRUE; -} - - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPrinters(struct torture_context *tctx, - LPSTR servername) -{ - DWORD levels[] = { 1, 2, 5 }; - DWORD success[] = { 1, 1, 1 }; - DWORD i; - DWORD flags = PRINTER_ENUM_NAME; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrinters level %d", levels[i]); - - EnumPrinters(flags, servername, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumPrinters(flags, servername, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumPrinters failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_printer_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumDrivers(struct torture_context *tctx, - LPSTR servername, - LPSTR architecture) -{ - DWORD levels[] = { 1, 2, 3, 4, 5, 6 }; - DWORD success[] = { 1, 1, 1, 1, 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrinterDrivers(%s) level %d", - architecture, levels[i]); - - EnumPrinterDrivers(servername, architecture, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumPrinterDrivers(servername, architecture, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumPrinterDrivers failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_driver_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetForm(struct torture_context *tctx, - LPSTR servername, - HANDLE handle, - LPSTR formname) -{ - DWORD levels[] = { 1, 2 }; - DWORD success[] = { 1, 0 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetForm(%s) level %d", formname, levels[i]); - - GetForm(handle, formname, levels[i], NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!GetForm(handle, formname, levels[i], buffer, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetForm failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_form_info_bylevel(levels[i], buffer, 1); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumForms(struct torture_context *tctx, - LPSTR servername, - HANDLE handle) -{ - DWORD levels[] = { 1, 2 }; - DWORD success[] = { 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumForms level %d", levels[i]); - - if (tctx->samba3 && levels[i] == 2) { - torture_comment(tctx, "skipping level %d enum against samba\n", levels[i]); - continue; - } - - EnumForms(handle, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumForms(handle, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumForms failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_form_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPorts(struct torture_context *tctx, - LPSTR servername) -{ - DWORD levels[] = { 1, 2 }; - DWORD success[] = { 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPorts level %d", levels[i]); - - EnumPorts(servername, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumPorts(servername, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumPorts failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_port_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumMonitors(struct torture_context *tctx, - LPSTR servername) -{ - DWORD levels[] = { 1, 2 }; - DWORD success[] = { 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumMonitors level %d", levels[i]); - - EnumMonitors(servername, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumMonitors(servername, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumMonitors failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_monitor_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPrintProcessors(struct torture_context *tctx, - LPSTR servername, - LPSTR architecture) -{ - DWORD levels[] = { 1 }; - DWORD success[] = { 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrintProcessors(%s) level %d", architecture, levels[i]); - - EnumPrintProcessors(servername, architecture, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumPrintProcessors(servername, architecture, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumPrintProcessors failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_printprocessor_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPrintProcessorDatatypes(struct torture_context *tctx, - LPSTR servername) -{ - DWORD levels[] = { 1 }; - DWORD success[] = { 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrintProcessorDatatypes level %d", levels[i]); - - EnumPrintProcessorDatatypes(servername, "winprint", levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumPrintProcessorDatatypes(servername, "winprint", levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumPrintProcessorDatatypes failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_datatypes_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPrinterKey(struct torture_context *tctx, - LPSTR servername, - HANDLE handle, - LPCSTR key) -{ - LPSTR buffer = NULL; - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrinterKey(%s)", key); - - err = EnumPrinterKey(handle, key, NULL, 0, &needed); - if (err == ERROR_MORE_DATA) { - buffer = (LPTSTR)malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - err = EnumPrinterKey(handle, key, buffer, needed, &needed); - } - if (err) { - sprintf(tmp, "EnumPrinterKey(%s) failed on [%s] (buffer size = %d), error: %s\n", - key, servername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_keys(buffer); - } - - free(buffer); - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrinter(struct torture_context *tctx, - LPSTR printername, - HANDLE handle) -{ - DWORD levels[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; - DWORD success[] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrinter level %d", levels[i]); - - GetPrinter(handle, levels[i], NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!GetPrinter(handle, levels[i], buffer, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetPrinter failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], printername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_printer_info_bylevel(levels[i], buffer, 1); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrinterDriver(struct torture_context *tctx, - LPSTR printername, - LPSTR architecture, - HANDLE handle) -{ - DWORD levels[] = { 1, 2, 3, 4, 5, 6, 8 }; - DWORD success[] = { 1, 1, 1, 1, 1, 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrinterDriver(%s) level %d", - architecture, levels[i]); - - GetPrinterDriver(handle, architecture, levels[i], NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!GetPrinterDriver(handle, architecture, levels[i], buffer, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetPrinterDriver failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], printername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_driver_info_bylevel(levels[i], buffer, 1); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumJobs(struct torture_context *tctx, - LPSTR printername, - HANDLE handle) -{ - DWORD levels[] = { 1, 2, 3, 4 }; - DWORD success[] = { 1, 1, 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumJobs level %d", levels[i]); - - if (tctx->samba3 && levels[i] == 4) { - torture_comment(tctx, "skipping level %d enum against samba\n", levels[i]); - continue; - } - - EnumJobs(handle, 0, 100, levels[i], NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumJobs(handle, 0, 100, levels[i], buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumJobs failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], printername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_job_info_bylevel(levels[i], buffer, returned); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPrinterData(struct torture_context *tctx, - LPSTR servername, - HANDLE handle) -{ - DWORD err = 0; - LPTSTR value_name; - LPBYTE data; - DWORD index = 0; - DWORD type; - DWORD value_offered = 0, value_needed; - DWORD data_offered = 0, data_needed; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrinterData(%d) (value offered: %d, data_offered: %d)\n", - index, value_offered, data_offered); - - err = EnumPrinterData(handle, 0, NULL, 0, &value_needed, NULL, NULL, 0, &data_needed); - if (err) { - sprintf(tmp, "EnumPrinterData(%d) failed on [%s] (value size = %d, data size = %d), error: %s\n", - index, servername, value_offered, data_offered, errstr(err)); - torture_fail(tctx, tmp); - } - - value_name = malloc(value_needed); - torture_assert(tctx, value_name, "malloc failed"); - data = malloc(data_needed); - torture_assert(tctx, data, "malloc failed"); - - value_offered = value_needed; - data_offered = data_needed; - - do { - - value_needed = 0; - data_needed = 0; - - torture_comment(tctx, "Testing EnumPrinterData(%d) (value offered: %d, data_offered: %d)\n", - index, value_offered, data_offered); - - err = EnumPrinterData(handle, index++, value_name, value_offered, &value_needed, &type, data, data_offered, &data_needed); - if (err == ERROR_NO_MORE_ITEMS) { - break; - } - if (err) { - sprintf(tmp, "EnumPrinterData(%d) failed on [%s] (value size = %d, data size = %d), error: %s\n", - index, servername, value_offered, data_offered, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_data(NULL, value_name, data_needed, data, type); - } - - } while (err != ERROR_NO_MORE_ITEMS); - - free(value_name); - free(data); - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EnumPrinterDataEx(struct torture_context *tctx, - LPSTR servername, - LPSTR keyname, - HANDLE handle, - LPBYTE *buffer_p, - DWORD *returned_p) -{ - LPBYTE buffer = NULL; - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing EnumPrinterDataEx(%s)", keyname); - - err = EnumPrinterDataEx(handle, keyname, NULL, 0, &needed, &returned); - if (err == ERROR_MORE_DATA) { - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - err = EnumPrinterDataEx(handle, keyname, buffer, needed, &needed, &returned); - } - if (err) { - sprintf(tmp, "EnumPrinterDataEx(%s) failed on [%s] (buffer size = %d), error: %s\n", - keyname, servername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - DWORD i; - LPPRINTER_ENUM_VALUES v = (LPPRINTER_ENUM_VALUES)buffer; - for (i=0; i < returned; i++) { - print_printer_enum_values(&v[i]); - } - } - - if (returned_p) { - *returned_p = returned; - } - - if (buffer_p) { - *buffer_p = buffer; - } else { - free(buffer); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_devicemode_equal(struct torture_context *tctx, - const DEVMODE *d1, - const DEVMODE *d2) -{ - if (d1 == d2) { - return TRUE; - } - - if (!d1 || !d2) { - torture_comment(tctx, "%s\n", __location__); - return FALSE; - } - - torture_assert_str_equal(tctx, (const char *)d1->dmDeviceName, (const char *)d2->dmDeviceName, "dmDeviceName mismatch"); - torture_assert_int_equal(tctx, d1->dmSpecVersion, d2->dmSpecVersion, "dmSpecVersion mismatch"); - torture_assert_int_equal(tctx, d1->dmDriverVersion, d2->dmDriverVersion, "dmDriverVersion mismatch"); - torture_assert_int_equal(tctx, d1->dmSize, d2->dmSize, "size mismatch"); - torture_assert_int_equal(tctx, d1->dmDriverExtra, d2->dmDriverExtra, "dmDriverExtra mismatch"); - torture_assert_int_equal(tctx, d1->dmFields, d2->dmFields, "dmFields mismatch"); - - torture_assert_int_equal(tctx, d1->dmOrientation, d2->dmOrientation, "dmOrientation mismatch"); - torture_assert_int_equal(tctx, d1->dmPaperSize, d2->dmPaperSize, "dmPaperSize mismatch"); - torture_assert_int_equal(tctx, d1->dmPaperLength, d2->dmPaperLength, "dmPaperLength mismatch"); - torture_assert_int_equal(tctx, d1->dmPaperWidth, d2->dmPaperWidth, "dmPaperWidth mismatch"); - torture_assert_int_equal(tctx, d1->dmScale, d2->dmScale, "dmScale mismatch"); - torture_assert_int_equal(tctx, d1->dmCopies, d2->dmCopies, "dmCopies mismatch"); - torture_assert_int_equal(tctx, d1->dmDefaultSource, d2->dmDefaultSource, "dmDefaultSource mismatch"); - torture_assert_int_equal(tctx, d1->dmPrintQuality, d2->dmPrintQuality, "dmPrintQuality mismatch"); - - torture_assert_int_equal(tctx, d1->dmColor, d2->dmColor, "dmColor mismatch"); - torture_assert_int_equal(tctx, d1->dmDuplex, d2->dmDuplex, "dmDuplex mismatch"); - torture_assert_int_equal(tctx, d1->dmYResolution, d2->dmYResolution, "dmYResolution mismatch"); - torture_assert_int_equal(tctx, d1->dmTTOption, d2->dmTTOption, "dmTTOption mismatch"); - torture_assert_int_equal(tctx, d1->dmCollate, d2->dmCollate, "dmCollate mismatch"); - torture_assert_str_equal(tctx, (const char *)d1->dmFormName, (const char *)d2->dmFormName, "dmFormName mismatch"); - torture_assert_int_equal(tctx, d1->dmLogPixels, d2->dmLogPixels, "dmLogPixels mismatch"); - torture_assert_int_equal(tctx, d1->dmBitsPerPel, d2->dmBitsPerPel, "dmBitsPerPel mismatch"); - torture_assert_int_equal(tctx, d1->dmPelsWidth, d2->dmPelsWidth, "dmPelsWidth mismatch"); - torture_assert_int_equal(tctx, d1->dmPelsHeight, d2->dmPelsHeight, "dmPelsHeight mismatch"); - - torture_assert_int_equal(tctx, d1->dmDisplayFlags, d2->dmDisplayFlags, "dmDisplayFlags mismatch"); - /* or dmNup ? */ - torture_assert_int_equal(tctx, d1->dmDisplayFrequency, d2->dmDisplayFrequency, "dmDisplayFrequency mismatch"); - - torture_assert_int_equal(tctx, d1->dmICMMethod, d2->dmICMMethod, "dmICMMethod mismatch"); - torture_assert_int_equal(tctx, d1->dmICMIntent, d2->dmICMIntent, "dmICMIntent mismatch"); - torture_assert_int_equal(tctx, d1->dmMediaType, d2->dmMediaType, "dmMediaType mismatch"); - torture_assert_int_equal(tctx, d1->dmDitherType, d2->dmDitherType, "dmDitherType mismatch"); - torture_assert_int_equal(tctx, d1->dmReserved1, d2->dmReserved1, "dmReserved1 mismatch"); - torture_assert_int_equal(tctx, d1->dmReserved2, d2->dmReserved2, "reserved2 mismatch"); - - torture_assert_int_equal(tctx, d1->dmPanningWidth, d2->dmPanningWidth, "dmPanningWidth mismatch"); - torture_assert_int_equal(tctx, d1->dmPanningHeight, d2->dmPanningHeight, "dmPanningHeight mismatch"); - - /* torture_assert_mem_equal(tctx, d1 + d1->dmSize, d2 + d2->dmSize, d1->dmDriverExtra, "private extra data mismatch"); */ - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_DeviceModes(struct torture_context *tctx, - LPSTR printername, - HANDLE handle) -{ - PPRINTER_INFO_2 info2 = NULL; - PPRINTER_INFO_8 info8 = NULL; - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing DeviceModes"); - - torture_comment(tctx, "Testing GetPrinter level %d", 2); - - GetPrinter(handle, 2, NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - info2 = (PPRINTER_INFO_2)malloc(needed); - torture_assert(tctx, (LPBYTE)info2, "malloc failed"); - if (!GetPrinter(handle, 2, (LPBYTE)info2, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetPrinter failed level %d on [%s] (buffer size = %d), error: %s\n", - 2, printername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_info_2(info2); - } - - torture_comment(tctx, "Testing GetPrinter level %d", 8); - - GetPrinter(handle, 8, NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - info8 = (PPRINTER_INFO_8)malloc(needed); - torture_assert(tctx, (LPBYTE)info8, "malloc failed"); - if (!GetPrinter(handle, 8, (LPBYTE)info8, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetPrinter failed level %d on [%s] (buffer size = %d), error: %s\n", - 8, printername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_info_8(info8); - } - - torture_assert(tctx, test_devicemode_equal(tctx, info2->pDevMode, info8->pDevMode), ""); - - free(info2); - free(info8); - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetJob(struct torture_context *tctx, - LPSTR printername, - HANDLE handle, - DWORD job_id) -{ - DWORD levels[] = { 1, 2, 3, 4 }; - DWORD success[] = { 1, 1, 1, 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetJob(%d) level %d", job_id, levels[i]); - - if (tctx->samba3 && (levels[i] == 4) || (levels[i] == 3)) { - torture_comment(tctx, "skipping level %d getjob against samba\n", levels[i]); - continue; - } - - GetJob(handle, job_id, levels[i], NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!GetJob(handle, job_id, levels[i], buffer, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetJob failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], printername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - print_job_info_bylevel(levels[i], buffer, 1); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EachJob(struct torture_context *tctx, - LPSTR printername, - HANDLE handle) -{ - DWORD i; - PJOB_INFO_1 buffer = NULL; - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - DWORD level = 1; - char tmp[1024]; - BOOL ret = TRUE; - - torture_comment(tctx, "Testing Each PrintJob %d"); - - EnumJobs(handle, 0, 100, level, NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = (PJOB_INFO_1)malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumJobs(handle, 0, 100, level, (LPBYTE)buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumJobs failed level %d on [%s] (buffer size = %d), error: %s\n", - level, printername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_job_info_bylevel(level, (LPBYTE)buffer, returned); - } - - for (i=0; i < returned; i++) { - ret = test_GetJob(tctx, printername, handle, buffer[i].JobId); - } - - free(buffer); - - return ret; - -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_OnePrinter(struct torture_context *tctx, - LPSTR printername, - LPSTR architecture, - LPPRINTER_DEFAULTS defaults) -{ - HANDLE handle; - BOOL ret = TRUE; - - torture_comment(tctx, "Testing Printer %s", printername); - - ret &= test_OpenPrinter(tctx, printername, defaults, &handle); - ret &= test_GetPrinter(tctx, printername, handle); - ret &= test_GetPrinterDriver(tctx, printername, architecture, handle); - ret &= test_EnumForms(tctx, printername, handle); - ret &= test_EnumJobs(tctx, printername, handle); - ret &= test_EachJob(tctx, printername, handle); - ret &= test_EnumPrinterKey(tctx, printername, handle, ""); - ret &= test_EnumPrinterKey(tctx, printername, handle, "PrinterDriverData"); - ret &= test_EnumPrinterData(tctx, printername, handle); - ret &= test_EnumPrinterDataEx(tctx, printername, "PrinterDriverData", handle, NULL, NULL); - ret &= test_DeviceModes(tctx, printername, handle); -#if 0 - /* dont run these at the moment, behaviour is PrinterData API calls (not - * dcerpc calls) is almost unpredictable - gd */ - ret &= test_PrinterData(tctx, printername, handle); - ret &= test_PrinterDataW(tctx, printername, handle); -#endif - ret &= test_ClosePrinter(tctx, handle); - - return ret; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_EachPrinter(struct torture_context *tctx, - LPSTR servername, - LPSTR architecture, - LPPRINTER_DEFAULTS defaults) -{ - DWORD needed = 0; - DWORD returned = 0; - DWORD err = 0; - char tmp[1024]; - DWORD i; - DWORD flags = PRINTER_ENUM_NAME; - PPRINTER_INFO_1 buffer = NULL; - BOOL ret = TRUE; - - torture_comment(tctx, "Testing EnumPrinters level %d", 1); - - EnumPrinters(flags, servername, 1, NULL, 0, &needed, &returned); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = (PPRINTER_INFO_1)malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!EnumPrinters(flags, servername, 1, (LPBYTE)buffer, needed, &needed, &returned)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "EnumPrinters failed level %d on [%s] (buffer size = %d), error: %s\n", - 1, servername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - for (i=0; i < returned; i++) { - ret &= test_OnePrinter(tctx, buffer[i].pName, architecture, defaults); - } - - free(buffer); - - return ret; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrintProcessorDirectory(struct torture_context *tctx, - LPSTR servername, - LPSTR architecture) -{ - DWORD levels[] = { 1 }; - DWORD success[] = { 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrintProcessorDirectory(%s) level %d", - architecture, levels[i]); - - GetPrintProcessorDirectory(servername, architecture, levels[i], NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!GetPrintProcessorDirectory(servername, architecture, levels[i], buffer, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetPrintProcessorDirectory failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - printf("\tPrint Processor Directory\t= %s\n\n", (LPSTR)buffer); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrinterDriverDirectory(struct torture_context *tctx, - LPSTR servername, - LPSTR architecture) -{ - DWORD levels[] = { 1 }; - DWORD success[] = { 1 }; - DWORD i; - LPBYTE buffer = NULL; - - for (i=0; i < ARRAY_SIZE(levels); i++) { - - DWORD needed = 0; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrinterDriverDirectory(%s) level %d", - architecture, levels[i]); - - GetPrinterDriverDirectory(servername, architecture, levels[i], NULL, 0, &needed); - err = GetLastError(); - if (err == ERROR_INSUFFICIENT_BUFFER) { - err = 0; - buffer = malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - if (!GetPrinterDriverDirectory(servername, architecture, levels[i], buffer, needed, &needed)) { - err = GetLastError(); - } - } - if (err) { - sprintf(tmp, "GetPrinterDriverDirectory failed level %d on [%s] (buffer size = %d), error: %s\n", - levels[i], servername, needed, errstr(err)); - if (success[i]) { - torture_fail(tctx, tmp); - } else { - torture_warning(tctx, tmp); - } - } - - if (tctx->print) { - printf("\tPrinter Driver Directory\t= %s\n\n", (LPSTR)buffer); - } - - free(buffer); - buffer = NULL; - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrinterData(struct torture_context *tctx, - LPSTR servername, - LPSTR valuename, - HANDLE handle, - DWORD *type_p, - LPBYTE *buffer_p, - DWORD *size_p) -{ - LPBYTE buffer = NULL; - DWORD needed = 0; - DWORD type; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrinterData(%s)", valuename); - - err = GetPrinterData(handle, valuename, &type, NULL, 0, &needed); - if (err == ERROR_MORE_DATA) { - buffer = (LPBYTE)malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - err = GetPrinterData(handle, valuename, &type, buffer, needed, &needed); - } - if (err) { - sprintf(tmp, "GetPrinterData(%s) failed on [%s] (buffer size = %d), error: %s\n", - valuename, servername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_data("PrinterDriverData", valuename, needed, buffer, type); - } - - if (type_p) { - *type_p = type; - } - - if (size_p) { - *size_p = needed; - } - - if (buffer_p) { - *buffer_p = buffer; - } else { - free(buffer); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrinterDataEx(struct torture_context *tctx, - LPSTR servername, - LPSTR keyname, - LPSTR valuename, - HANDLE handle, - DWORD *type_p, - LPBYTE *buffer_p, - DWORD *size_p) -{ - LPBYTE buffer = NULL; - DWORD needed = 0; - DWORD type; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrinterDataEx(%s - %s)", keyname, valuename); - - err = GetPrinterDataEx(handle, keyname, valuename, &type, NULL, 0, &needed); - if (err == ERROR_MORE_DATA) { - buffer = (LPBYTE)malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - err = GetPrinterDataEx(handle, keyname, valuename, &type, buffer, needed, &needed); - } - if (err) { - sprintf(tmp, "GetPrinterDataEx(%s) failed on [%s] (buffer size = %d), error: %s\n", - valuename, servername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_data(keyname, valuename, needed, buffer, type); - } - - if (type_p) { - *type_p = type; - } - - if (size_p) { - *size_p = needed; - } - - if (buffer_p) { - *buffer_p = buffer; - } else { - free(buffer); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_GetPrinterDataExW(struct torture_context *tctx, - LPSTR servername, - LPCWSTR keyname, - LPCWSTR valuename, - HANDLE handle, - DWORD *type_p, - LPBYTE *buffer_p, - DWORD *size_p) -{ - LPBYTE buffer = NULL; - DWORD needed = 0; - DWORD type; - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing GetPrinterDataExW(%ls - %ls)", keyname, valuename); - - err = GetPrinterDataExW(handle, keyname, valuename, &type, NULL, 0, &needed); - if (err == ERROR_MORE_DATA) { - buffer = (LPBYTE)malloc(needed); - torture_assert(tctx, buffer, "malloc failed"); - err = GetPrinterDataExW(handle, keyname, valuename, &type, buffer, needed, &needed); - } - if (err) { - sprintf(tmp, "GetPrinterDataExW(%ls) failed on [%s] (buffer size = %d), error: %s\n", - valuename, servername, needed, errstr(err)); - torture_fail(tctx, tmp); - } - - if (tctx->print) { - print_printer_dataw(keyname, valuename, needed, buffer, type); - } - - if (type_p) { - *type_p = type; - } - - if (size_p) { - *size_p = needed; - } - - if (buffer_p) { - *buffer_p = buffer; - } else { - free(buffer); - } - - return TRUE; -} - - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_DeletePrinterDataEx(struct torture_context *tctx, - LPSTR servername, - LPSTR keyname, - LPSTR valuename, - HANDLE handle) -{ - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing DeletePrinterDataEx(%s - %s)", keyname, valuename); - - err = DeletePrinterDataEx(handle, keyname, valuename); - if (err) { - sprintf(tmp, "DeletePrinterDataEx(%s - %s) failed on [%s], error: %s\n", - keyname, valuename, servername, errstr(err)); - torture_fail(tctx, tmp); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_DeletePrinterDataExW(struct torture_context *tctx, - LPSTR servername, - LPCWSTR keyname, - LPCWSTR valuename, - HANDLE handle) -{ - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing DeletePrinterDataExW(%ls - %ls)", keyname, valuename); - - err = DeletePrinterDataExW(handle, keyname, valuename); - if (err) { - sprintf(tmp, "DeletePrinterDataExW(%ls - %ls) failed on [%s], error: %s\n", - keyname, valuename, servername, errstr(err)); - torture_fail(tctx, tmp); - } - - return TRUE; -} - - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_DeletePrinterKey(struct torture_context *tctx, - LPSTR servername, - LPSTR keyname, - HANDLE handle) -{ - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing DeletePrinterKey(%s)", keyname); - - err = DeletePrinterKey(handle, keyname); - if (err) { - sprintf(tmp, "DeletePrinterKey(%s) failed on [%s], error: %s\n", - keyname, servername, errstr(err)); - torture_fail(tctx, tmp); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_DeletePrinterKeyW(struct torture_context *tctx, - LPSTR servername, - LPCWSTR keyname, - HANDLE handle) -{ - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing DeletePrinterKeyW(%ls)", keyname); - - err = DeletePrinterKeyW(handle, keyname); - if (err) { - sprintf(tmp, "DeletePrinterKeyW(%ls) failed on [%s], error: %s\n", - keyname, servername, errstr(err)); - torture_fail(tctx, tmp); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_SetPrinterDataEx(struct torture_context *tctx, - LPSTR servername, - LPSTR keyname, - LPSTR valuename, - HANDLE handle, - DWORD type, - LPBYTE buffer, - DWORD offered) -{ - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing SetPrinterDataEx(%s - %s)", keyname, valuename); - - err = SetPrinterDataEx(handle, keyname, valuename, type, buffer, offered); - if (err) { - sprintf(tmp, "SetPrinterDataEx(%s) failed on [%s] (buffer size = %d), error: %s\n", - valuename, servername, offered, errstr(err)); - torture_fail(tctx, tmp); - } - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_SetPrinterDataExW(struct torture_context *tctx, - LPCSTR servername, - LPCWSTR keyname, - LPCWSTR valuename, - HANDLE handle, - DWORD type, - LPBYTE buffer, - DWORD offered) -{ - DWORD err = 0; - char tmp[1024]; - - torture_comment(tctx, "Testing SetPrinterDataExW(%ls - %ls)", keyname, valuename); - - err = SetPrinterDataExW(handle, keyname, valuename, type, buffer, offered); - if (err) { - sprintf(tmp, "SetPrinterDataExW(%ls) failed on [%s] (buffer size = %d), error: %s\n", - valuename, servername, offered, errstr(err)); - torture_fail(tctx, tmp); - } - - return TRUE; -} - - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_PrinterData_Server(struct torture_context *tctx, - LPSTR servername, - HANDLE handle) -{ - BOOL ret = TRUE; - DWORD i; - DWORD type, type_ex; - LPBYTE buffer, buffer_ex; - DWORD size, size_ex; - LPSTR valuenames[] = { - SPLREG_DEFAULT_SPOOL_DIRECTORY, - SPLREG_MAJOR_VERSION, - SPLREG_MINOR_VERSION, - SPLREG_DS_PRESENT, - SPLREG_DNS_MACHINE_NAME, - SPLREG_ARCHITECTURE, - SPLREG_OS_VERSION - }; - - for (i=0; i < ARRAY_SIZE(valuenames); i++) { - ret &= test_GetPrinterData(tctx, servername, valuenames[i], handle, &type, &buffer, &size); - ret &= test_GetPrinterDataEx(tctx, servername, "random", valuenames[i], handle, &type_ex, &buffer_ex, &size_ex); - torture_assert_int_equal(tctx, type, type_ex, "type mismatch"); - torture_assert_int_equal(tctx, size, size_ex, "size mismatch"); - torture_assert_mem_equal(tctx, buffer, buffer_ex, size, "buffer mismatch"); - free(buffer); - free(buffer_ex); - } - - return ret; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL PrinterDataEqual(struct torture_context *tctx, - DWORD type1, DWORD type2, - DWORD size1, DWORD size2, - LPBYTE buffer1, LPBYTE buffer2) -{ - torture_assert_int_equal(tctx, type1, type2, "type mismatch"); - torture_assert_int_equal(tctx, size1, size2, "size mismatch"); - torture_assert_mem_equal(tctx, buffer1, buffer2, size1, "buffer mismatch"); - - return TRUE; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_PrinterData(struct torture_context *tctx, - LPSTR printername, - HANDLE handle) -{ - char tmp[1024]; - LPSTR keyname = "torture_key"; - LPSTR valuename = "torture_value"; - BOOL ret = TRUE; - DWORD types[] = { - REG_SZ, - REG_DWORD, - REG_BINARY - }; - DWORD value = 12345678; - LPSTR str = "abcdefghijklmnopqrstuvwxzy"; - DWORD t, s; - - for (t=0; t < ARRAY_SIZE(types); t++) { - for (s=0; s < strlen(str); s++) { - - DWORD type, type_ex; - LPBYTE buffer, buffer_ex; - DWORD size, size_ex; - - if (types[t] == REG_DWORD) { - s = 0xffff; - } - - switch (types[t]) { - case REG_BINARY: - buffer = malloc(s); - memcpy(buffer, str, s); - size = s; - break; - case REG_DWORD: - buffer = malloc(4); - memcpy(buffer, &value, 4); - size = 4; - break; - case REG_SZ: - buffer = malloc(s); - memcpy(buffer, str, s); - size = s; - break; - default: - sprintf(tmp, "type %d untested\n", types[t]); - torture_fail(tctx, tmp); - break; - } - - type = types[t]; - - torture_comment(tctx, "Testing PrinterData (type: %s, size: 0x%08x)", reg_type_str(type), size); - - torture_assert(tctx, - test_SetPrinterDataEx(tctx, printername, keyname, valuename, handle, type, buffer, size), - "failed to call SetPrinterDataEx"); - torture_assert(tctx, - test_GetPrinterDataEx(tctx, printername, keyname, valuename, handle, &type_ex, &buffer_ex, &size_ex), - "failed to call GetPrinterDataEx"); - - if (!PrinterDataEqual(tctx, type_ex, type, size_ex, size, buffer_ex, buffer)) { - torture_warning(tctx, "GetPrinterDataEx does not return the same info as we set with SetPrinterDataEx"); - ret = FALSE; - } - ret &= test_DeletePrinterDataEx(tctx, printername, keyname, valuename, handle); - ret &= test_DeletePrinterKey(tctx, printername, keyname, handle); - - free(buffer); - free(buffer_ex); - } - } - - return ret; -} - -/**************************************************************************** -****************************************************************************/ - -static BOOL test_PrinterDataW(struct torture_context *tctx, - LPSTR printername, - HANDLE handle) -{ - char tmp[1024]; - LPCWSTR keyname = L"torture_key"; - LPCWSTR valuename = L"torture_value"; - BOOL ret = TRUE; - DWORD types[] = { - REG_SZ, - REG_DWORD, - REG_BINARY - }; - DWORD value = 12345678; - LPSTR str = "abcdefghijklmnopqrstuvwxzy"; - DWORD t, s; - - for (t=0; t < ARRAY_SIZE(types); t++) { - for (s=0; s < strlen(str); s++) { - - DWORD type, type_ex; - LPBYTE buffer, buffer_ex; - DWORD size, size_ex; - - if (types[t] == REG_DWORD) { - s = 0xffff; - } - - switch (types[t]) { - case REG_BINARY: - buffer = malloc(s); - memcpy(buffer, str, s); - size = s; - break; - case REG_DWORD: - buffer = malloc(4); - memcpy(buffer, &value, 4); - size = 4; - break; - case REG_SZ: - buffer = malloc(s); - memcpy(buffer, str, s); - size = s; - break; - default: - sprintf(tmp, "type %d untested\n", types[t]); - torture_fail(tctx, tmp); - break; - } - - type = types[t]; - - torture_comment(tctx, "Testing PrinterDataW (type: %s, size: 0x%08x)", reg_type_str(type), size); - - torture_assert(tctx, - test_SetPrinterDataExW(tctx, printername, keyname, valuename, handle, type, buffer, size), - "failed to call SetPrinterDataExW"); - torture_assert(tctx, - test_GetPrinterDataExW(tctx, printername, keyname, valuename, handle, &type_ex, &buffer_ex, &size_ex), - "failed to call GetPrinterDataExW"); - - if (!PrinterDataEqual(tctx, type_ex, type, size_ex, size, buffer_ex, buffer)) { - torture_warning(tctx, "GetPrinterDataExW does not return the same info as we set with SetPrinterDataExW"); - ret = FALSE; - } - ret &= test_DeletePrinterDataExW(tctx, printername, keyname, valuename, handle); - ret &= test_DeletePrinterKeyW(tctx, printername, keyname, handle); - - free(buffer); - free(buffer_ex); - } - } - - return ret; -} - -/**************************************************************************** -****************************************************************************/ - -const char *get_string_param(const char *str) -{ - const char *p; - - p = strchr(str, '='); - if (!p) { - return NULL; - } - - return (p+1); -} - -/**************************************************************************** -****************************************************************************/ - -int main(int argc, char *argv[]) -{ - BOOL ret = FALSE; - LPSTR servername; - LPSTR architecture = "Windows NT x86"; - HANDLE server_handle; - PRINTER_DEFAULTS defaults_admin, defaults_use; - struct torture_context *tctx; - int i; - - if (argc < 2) { - fprintf(stderr, "usage: %s <name> [print] [samba3] [architecture=ARCHITECTURE]\n\n", argv[0]); - fprintf(stderr, "\t<name> can be a server or printer name URI\n"); - fprintf(stderr, "\t[print] will print all data that has been retrieved\n"); - fprintf(stderr, "\t from the printserver\n"); - fprintf(stderr, "\t[samba3] will skip some tests samba servers are known\n"); - fprintf(stderr, "\t not to have implemented\n"); - fprintf(stderr, "\t[architecture=X] allows to define a specific\n"); - fprintf(stderr, "\t architecture to test with. choose between:\n"); - fprintf(stderr, "\t \"Windows NT x86\" or \"Windows x64\"\n"); - exit(-1); - } - - tctx = malloc(sizeof(struct torture_context)); - if (!tctx) { - fprintf(stderr, "out of memory\n"); - exit(-1); - } - memset(tctx, '\0', sizeof(*tctx)); - - servername = argv[1]; - - for (i=1; i < argc; i++) { - if (strcmp(argv[i], "print") == 0) { - tctx->print = TRUE; - } - if (strcmp(argv[i], "samba3") == 0) { - tctx->samba3 = TRUE; - } - if (strncmp(argv[i], "architecture", strlen("architecture")) == 0) { - architecture = get_string_param(argv[i]); - } - } - - printf("Running testsuite with architecture: %s\n", architecture); - - defaults_admin.pDatatype = NULL; - defaults_admin.pDevMode = NULL; - defaults_admin.DesiredAccess = PRINTER_ACCESS_ADMINISTER; - - defaults_use.pDatatype = NULL; - defaults_use.pDevMode = NULL; - defaults_use.DesiredAccess = PRINTER_ACCESS_USE; - - if ((servername[0] == '\\') && (servername[1] == '\\')) { - LPSTR p = servername+2; - LPSTR p2; - if ((p2 = strchr(p, '\\')) != NULL) { - ret = test_OnePrinter(tctx, servername, architecture, &defaults_admin); - goto done; - } - } - - ret &= test_EnumPrinters(tctx, servername); - ret &= test_EnumDrivers(tctx, servername, architecture); - ret &= test_OpenPrinter(tctx, servername, NULL, &server_handle); -/* ret &= test_EnumPrinterKey(tctx, servername, server_handle, ""); */ - ret &= test_PrinterData_Server(tctx, servername, server_handle); - ret &= test_EnumForms(tctx, servername, server_handle); - ret &= test_ClosePrinter(tctx, server_handle); - ret &= test_EnumPorts(tctx, servername); - ret &= test_EnumMonitors(tctx, servername); - ret &= test_EnumPrintProcessors(tctx, servername, architecture); - ret &= test_EnumPrintProcessorDatatypes(tctx, servername); - ret &= test_GetPrintProcessorDirectory(tctx, servername, architecture); - ret &= test_GetPrinterDriverDirectory(tctx, servername, architecture); - ret &= test_EachPrinter(tctx, servername, architecture, &defaults_admin); - - done: - if (!ret) { - if (tctx->last_reason) { - fprintf(stderr, "failed: %s\n", tctx->last_reason); - } - free(tctx); - return -1; - } - - printf("%s run successfully\n", argv[0]); - - free(tctx); - return 0; -} diff --git a/testprogs/win32/spoolss/testspoolss.h b/testprogs/win32/spoolss/testspoolss.h deleted file mode 100644 index f025fccb3f..0000000000 --- a/testprogs/win32/spoolss/testspoolss.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - Unix SMB/CIFS implementation. - test suite for spoolss rpc operations - - Copyright (C) Guenther Deschner 2009 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#if 0 -#include "lib/replace/replace.h" -#endif - -#include <windows.h> -#include <stdio.h> - -#include "error.h" -#include "printlib_proto.h" - -#if 0 -#include "lib/talloc/talloc.h" -#include "libcli/util/ntstatus.h" -#include "lib/torture/torture.h" -#endif - -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0])) -#endif - -#ifndef true -#define true TRUE -#endif - -#ifndef false -#define false FALSE -#endif - -#ifndef PRINTER_ENUM_NAME -#define PRINTER_ENUM_NAME 8 -#endif diff --git a/testprogs/win32/spoolss/testspoolss.sln b/testprogs/win32/spoolss/testspoolss.sln deleted file mode 100644 index 2082f5a1e9..0000000000 --- a/testprogs/win32/spoolss/testspoolss.sln +++ /dev/null @@ -1,20 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testspoolss", "testspoolss.vcproj", "{60508731-0901-4B1D-9B11-DE070147DEF7}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {60508731-0901-4B1D-9B11-DE070147DEF7}.Debug|Win32.ActiveCfg = Debug|Win32
- {60508731-0901-4B1D-9B11-DE070147DEF7}.Debug|Win32.Build.0 = Debug|Win32
- {60508731-0901-4B1D-9B11-DE070147DEF7}.Release|Win32.ActiveCfg = Release|Win32
- {60508731-0901-4B1D-9B11-DE070147DEF7}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/testprogs/win32/spoolss/testspoolss.vcproj b/testprogs/win32/spoolss/testspoolss.vcproj deleted file mode 100644 index 45544bc50c..0000000000 --- a/testprogs/win32/spoolss/testspoolss.vcproj +++ /dev/null @@ -1,224 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="testspoolss"
- ProjectGUID="{60508731-0901-4B1D-9B11-DE070147DEF7}"
- Keyword="Win32Proj"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\error.h"
- >
- </File>
- <File
- RelativePath=".\printlib_proto.h"
- >
- </File>
- <File
- RelativePath=".\string.h"
- >
- </File>
- <File
- RelativePath=".\testspoolss.h"
- >
- </File>
- <File
- RelativePath=".\torture.h"
- >
- </File>
- <File
- RelativePath=".\torture_proto.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\error.c"
- >
- </File>
- <File
- RelativePath=".\printlib.c"
- >
- </File>
- <File
- RelativePath=".\testspoolss.c"
- >
- </File>
- <File
- RelativePath=".\torture.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/testprogs/win32/spoolss/torture.c b/testprogs/win32/spoolss/torture.c deleted file mode 100644 index ff2824a737..0000000000 --- a/testprogs/win32/spoolss/torture.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - Unix SMB/CIFS implementation. - SMB torture UI functions - - Copyright (C) Jelmer Vernooij 2006 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "testspoolss.h" -#include "torture.h" - -/**************************************************************************** -****************************************************************************/ - -void torture_warning(struct torture_context *context, const char *comment, ...) -{ - va_list ap; - char tmp[1024]; - -#if 0 - if (!context->results->ui_ops->warning) - return; -#endif - - va_start(ap, comment); - if (vsprintf(tmp, comment, ap) == -1) { - return; - } - va_end(ap); - - fprintf(stderr, "WARNING: %s\n", tmp); -#if 0 - context->results->ui_ops->warning(context, tmp); - - free(tmp); -#endif -} - -/**************************************************************************** -****************************************************************************/ - -void torture_result(struct torture_context *context, - enum torture_result result, const char *fmt, ...) -{ - va_list ap; - char tmp[1024]; - - va_start(ap, fmt); - - if (context->last_reason) { - torture_warning(context, "%s", context->last_reason); - free(context->last_reason); - context->last_reason = NULL; - } - - context->last_result = result; - if (vsprintf(tmp, fmt, ap) == -1) { - return; - } - context->last_reason = malloc(sizeof(tmp)); - if (!context->last_reason) { - return; - } - memcpy(context->last_reason, tmp, sizeof(tmp)); - - va_end(ap); -} - -/**************************************************************************** -****************************************************************************/ - -void torture_comment(struct torture_context *context, const char *comment, ...) -{ - va_list ap; - char tmp[1024]; -#if 0 - if (!context->results->ui_ops->comment) - return; -#endif - va_start(ap, comment); - if (vsprintf(tmp, comment, ap) == -1) { - return; - } - va_end(ap); - -#if 0 - context->results->ui_ops->comment(context, tmp); -#endif - fprintf(stdout, "%s\n", tmp); - -#if 0 - free(tmp); -#endif -} diff --git a/testprogs/win32/spoolss/torture.h b/testprogs/win32/spoolss/torture.h deleted file mode 100644 index 7c9c443f9b..0000000000 --- a/testprogs/win32/spoolss/torture.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Unix SMB/CIFS implementation. - SMB torture UI functions - - Copyright (C) Jelmer Vernooij 2006 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef __TORTURE_UI_H__ -#define __TORTURE_UI_H__ - -/**************************************************************************** -****************************************************************************/ - -enum torture_result { - TORTURE_OK=0, - TORTURE_FAIL=1, - TORTURE_ERROR=2, - TORTURE_SKIP=3 -}; - -struct torture_context { - enum torture_result last_result; - char *last_reason; - BOOL print; - BOOL samba3; -}; - -/**************************************************************************** -****************************************************************************/ - -#define torture_assert(torture_ctx,expr,cmt) do {\ - if (!(expr)) {\ - torture_result(torture_ctx, TORTURE_FAIL, __location__": Expression `%s' failed: %s", __STRING(expr), cmt); \ - return false;\ - }\ -} while(0) - -#define torture_assert_str_equal(torture_ctx,got,expected,cmt)\ - do { const char *__got = (got), *__expected = (expected); \ - if (strcmp(__got, __expected) != 0) { \ - torture_result(torture_ctx, TORTURE_FAIL, \ - __location__": "#got" was %s, expected %s: %s", \ - __got, __expected, cmt); \ - return false; \ - } \ - } while(0) - -#define torture_assert_int_equal(torture_ctx,got,expected,cmt)\ - do { int __got = (got), __expected = (expected); \ - if (__got != __expected) { \ - torture_result(torture_ctx, TORTURE_FAIL, \ - __location__": "#got" was %d, expected %d: %s", \ - __got, __expected, cmt); \ - return false; \ - } \ - } while(0) - -#define torture_assert_mem_equal(torture_ctx,got,expected,len,cmt)\ - do { const void *__got = (got), *__expected = (expected); \ - if (memcmp(__got, __expected, len) != 0) { \ - torture_result(torture_ctx, TORTURE_FAIL, \ - __location__": "#got" of len %d did not match "#expected": %s", (int)len, cmt); \ - return false; \ - } \ - } while(0) - -#define torture_skip(torture_ctx,cmt) do {\ - torture_result(torture_ctx, TORTURE_SKIP, __location__": %s", cmt);\ - return true; \ - } while(0) - -#define torture_fail(torture_ctx,cmt) do {\ - torture_result(torture_ctx, TORTURE_FAIL, __location__": %s", cmt);\ - return false; \ - } while (0) - -#include "torture_proto.h" - -#endif diff --git a/testprogs/win32/spoolss/torture_proto.h b/testprogs/win32/spoolss/torture_proto.h deleted file mode 100644 index 5d1dd8804b..0000000000 --- a/testprogs/win32/spoolss/torture_proto.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __TORTURE_PROTO_H__ -#define __TORTURE_PROTO_H__ - -#undef _PRINTF_ATTRIBUTE -#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2) -/* This file was automatically generated by mkproto.pl. DO NOT EDIT */ - -/* this file contains prototypes for functions that are private - * to this subsystem or library. These functions should not be - * used outside this particular subsystem! */ - - -/* The following definitions come from torture.c */ - - -/**************************************************************************** -****************************************************************************/ -void torture_warning(struct torture_context *context, const char *comment, ...); - -/**************************************************************************** -****************************************************************************/ -void torture_result(struct torture_context *context, - enum torture_result result, const char *fmt, ...); - -/**************************************************************************** -****************************************************************************/ -void torture_comment(struct torture_context *context, const char *comment, ...); -#undef _PRINTF_ATTRIBUTE -#define _PRINTF_ATTRIBUTE(a1, a2) - -#endif /* __TORTURE_PROTO_H__ */ - diff --git a/testprogs/win32/testmailslot/GNUmakefile b/testprogs/win32/testmailslot/GNUmakefile index a41fb91efb..c1c421527e 100644 --- a/testprogs/win32/testmailslot/GNUmakefile +++ b/testprogs/win32/testmailslot/GNUmakefile @@ -1,7 +1,6 @@ INCLUDES=-I. CFLAGS=$(INCLUDES) -MINGW_CC = i586-mingw32msvc-cc -CC = $(MINGW_CC) +CC=i586-mingw32msvc-gcc all: testmailslot.exe diff --git a/testprogs/win32/testmailslot/NMakefile b/testprogs/win32/testmailslot/NMakefile index 7551d7bc0d..e307654fcb 100644 --- a/testprogs/win32/testmailslot/NMakefile +++ b/testprogs/win32/testmailslot/NMakefile @@ -1,6 +1,3 @@ -# -# use nmake /f NMakefile [<target>] -# INCLUDES=-I CFLAGS=$(INCLUDES) -Zi -nologo diff --git a/testprogs/win32/vs2010-metze.cmd b/testprogs/win32/vs2010-metze.cmd deleted file mode 100644 index de7a9d4191..0000000000 --- a/testprogs/win32/vs2010-metze.cmd +++ /dev/null @@ -1,24 +0,0 @@ -@echo off -set ComSpec=C:\Windows\system32\cmd.exe -set DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ -set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include; -set LIB=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib; -set LIBPATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB; -set Path=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCPackages;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\idmu\common -set PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC -set PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ -set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ -set VisualStudioDir=C:\Users\Administrator\Documents\Visual Studio 2010 -set VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\ -set VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0\ -set WindowsSdkDir=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ -cls -cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC -C: -call vcvarsall.bat help - -echo # -echo # You may want to enter 'C:' followed by 'vcvarsall.bat amd64' and 'Y:' -echo # -Y: -@cmd.exe |