From 17b3af2911cdd97c5910c0c1075e46be94123815 Mon Sep 17 00:00:00 2001 From: Are Casilla Date: Sat, 16 Feb 2019 00:16:52 +0100 Subject: [PATCH] wmi-1.3.16 from opsview.com --- GNUmakefile | 228 + Samba/.bzrignore | 134 + Samba/BUGS.txt | 6 + Samba/COPYING | 339 + Samba/NEWS | 512 + Samba/README | 131 + Samba/STATUS | 2 + Samba/TODO | 281 + Samba/WHATSNEW.txt | 171 + Samba/howto.txt | 183 + Samba/packaging/debian/README | 30 + Samba/prog_guide.txt | 788 + Samba/services/json.esp | 269 + Samba/services/json_auth.esp | 13 + Samba/services/jsondate.esp | 200 + Samba/services/qooxdoo/test.esp | 236 + Samba/services/request.esp | 492 + Samba/services/resources.esp | 170 + Samba/services/samba/ldb.esp | 632 + Samba/services/samba/system.esp | 34 + Samba/source/.valgrind_suppressions | 85 + Samba/source/VERSION | 107 + Samba/source/aclocal.m4 | 59 + Samba/source/auth/auth.c | 510 + Samba/source/auth/auth.h | 195 + Samba/source/auth/auth_anonymous.c | 77 + Samba/source/auth/auth_developer.c | 207 + Samba/source/auth/auth_sam.c | 459 + Samba/source/auth/auth_sam_reply.c | 151 + Samba/source/auth/auth_server.c | 378 + Samba/source/auth/auth_simple.c | 93 + Samba/source/auth/auth_unix.c | 839 + Samba/source/auth/auth_util.c | 669 + Samba/source/auth/auth_winbind.c | 275 + Samba/source/auth/config.m4 | 30 + Samba/source/auth/config.mk | 79 + Samba/source/auth/credentials/config.mk | 24 + Samba/source/auth/credentials/credentials.c | 717 + Samba/source/auth/credentials/credentials.h | 118 + .../auth/credentials/credentials_files.c | 453 + .../auth/credentials/credentials_krb5.c | 603 + .../auth/credentials/credentials_krb5.h | 32 + .../auth/credentials/credentials_ntlm.c | 218 + Samba/source/auth/gensec/config.m4 | 2 + Samba/source/auth/gensec/config.mk | 91 + Samba/source/auth/gensec/cyrus_sasl.c | 424 + Samba/source/auth/gensec/gensec.c | 1277 + Samba/source/auth/gensec/gensec.h | 175 + Samba/source/auth/gensec/gensec_gssapi.c | 1466 ++ Samba/source/auth/gensec/gensec_krb5.c | 792 + Samba/source/auth/gensec/schannel.c | 275 + Samba/source/auth/gensec/schannel.h | 37 + Samba/source/auth/gensec/schannel_sign.c | 285 + Samba/source/auth/gensec/schannel_state.c | 285 + Samba/source/auth/gensec/socket.c | 530 + Samba/source/auth/gensec/socket.h | 51 + Samba/source/auth/gensec/spnego.c | 1057 + Samba/source/auth/gensec/spnego.h | 66 + Samba/source/auth/gensec/spnego_parse.c | 373 + Samba/source/auth/kerberos/clikrb5.c | 210 + Samba/source/auth/kerberos/config.m4 | 540 + Samba/source/auth/kerberos/config.mk | 15 + Samba/source/auth/kerberos/gssapi_parse.c | 114 + Samba/source/auth/kerberos/kerberos-notes.txt | 466 + Samba/source/auth/kerberos/kerberos.c | 124 + Samba/source/auth/kerberos/kerberos.h | 158 + Samba/source/auth/kerberos/kerberos_heimdal.c | 101 + Samba/source/auth/kerberos/kerberos_pac.c | 617 + Samba/source/auth/kerberos/kerberos_util.c | 700 + .../source/auth/kerberos/krb5_init_context.c | 455 + .../source/auth/kerberos/krb5_init_context.h | 34 + Samba/source/auth/ntlm_check.c | 599 + Samba/source/auth/ntlmssp/config.mk | 18 + Samba/source/auth/ntlmssp/ntlmssp.c | 441 + Samba/source/auth/ntlmssp/ntlmssp.h | 190 + Samba/source/auth/ntlmssp/ntlmssp_client.c | 368 + Samba/source/auth/ntlmssp/ntlmssp_parse.c | 336 + Samba/source/auth/ntlmssp/ntlmssp_server.c | 852 + Samba/source/auth/ntlmssp/ntlmssp_sign.c | 549 + Samba/source/auth/pam_errors.c | 126 + Samba/source/auth/sam.c | 396 + Samba/source/autogen.sh | 68 + Samba/source/build/m4/ax_cflags_gcc_option.m4 | 109 + .../source/build/m4/ax_cflags_irix_option.m4 | 174 + Samba/source/build/m4/check_cc.m4 | 154 + Samba/source/build/m4/check_doc.m4 | 1 + Samba/source/build/m4/check_ld.m4 | 208 + Samba/source/build/m4/check_make.m4 | 48 + Samba/source/build/m4/check_path.m4 | 169 + Samba/source/build/m4/check_perl.m4 | 31 + Samba/source/build/m4/env.m4 | 32 + Samba/source/build/m4/public.m4 | 119 + Samba/source/build/pasn1/Makefile | 5 + Samba/source/build/pasn1/asn1.yp | 306 + Samba/source/build/pasn1/pasn1.pl | 93 + Samba/source/build/pasn1/util.pm | 379 + Samba/source/build/smb_build/README.txt | 86 + Samba/source/build/smb_build/TODO | 25 + Samba/source/build/smb_build/cflags.pm | 35 + Samba/source/build/smb_build/config_mk.pm | 263 + Samba/source/build/smb_build/dot.pl | 61 + Samba/source/build/smb_build/env.pm | 116 + Samba/source/build/smb_build/header.pm | 84 + Samba/source/build/smb_build/input.pm | 259 + Samba/source/build/smb_build/main.pl | 73 + Samba/source/build/smb_build/makefile.pm | 570 + Samba/source/build/smb_build/output.pm | 178 + Samba/source/build/smb_build/summary.pm | 71 + Samba/source/build/tests/README | 10 + Samba/source/build/tests/crypttest.c | 852 + Samba/source/build/tests/fcntl_lock.c | 112 + Samba/source/build/tests/fcntl_lock64.c | 87 + Samba/source/build/tests/fcntl_lock_thread.c | 122 + Samba/source/build/tests/shared_mmap.c | 70 + Samba/source/build/tests/shlib.c | 6 + Samba/source/build/tests/summary.c | 22 + Samba/source/build/tests/trivial.c | 7 + Samba/source/build/tests/unixsock.c | 93 + Samba/source/cldap_server/cldap_server.c | 203 + Samba/source/cldap_server/cldap_server.h | 33 + Samba/source/cldap_server/config.mk | 16 + Samba/source/cldap_server/netlogon.c | 321 + Samba/source/cldap_server/rootdse.c | 185 + Samba/source/client/cifsdd.c | 601 + Samba/source/client/cifsdd.h | 99 + Samba/source/client/cifsddio.c | 496 + Samba/source/client/client.c | 3199 +++ Samba/source/client/config.mk | 37 + Samba/source/client/mount.cifs.c | 557 + Samba/source/client/smbmnt.c | 306 + Samba/source/client/smbmount.c | 925 + Samba/source/client/smbspool.c | 350 + Samba/source/client/smbumount.c | 186 + Samba/source/client/tree.c | 810 + Samba/source/codepages/lowcase.dat | Bin 0 -> 131072 bytes Samba/source/codepages/upcase.dat | Bin 0 -> 131072 bytes Samba/source/codepages/valid.dat | Bin 0 -> 65536 bytes Samba/source/config.guess | 1466 ++ Samba/source/config.sub | 1579 ++ Samba/source/configure.ac | 138 + Samba/source/configure.developer | 5 + Samba/source/configure.nodebug.developer | 3 + Samba/source/configure.tridge.opt | 2 + Samba/source/dsdb/common/flag_mapping.c | 144 + Samba/source/dsdb/common/flags.h | 119 + Samba/source/dsdb/common/sidmap.c | 605 + Samba/source/dsdb/config.mk | 19 + Samba/source/dsdb/samdb/cracknames.c | 990 + Samba/source/dsdb/samdb/ldb_modules/config.mk | 147 + .../source/dsdb/samdb/ldb_modules/entryUUID.c | 692 + .../dsdb/samdb/ldb_modules/extended_dn.c | 337 + .../dsdb/samdb/ldb_modules/kludge_acl.c | 286 + .../dsdb/samdb/ldb_modules/local_password.c | 878 + .../dsdb/samdb/ldb_modules/objectguid.c | 258 + .../source/dsdb/samdb/ldb_modules/partition.c | 891 + .../dsdb/samdb/ldb_modules/password_hash.c | 1281 + .../dsdb/samdb/ldb_modules/password_modules.h | 3 + Samba/source/dsdb/samdb/ldb_modules/proxy.c | 343 + Samba/source/dsdb/samdb/ldb_modules/rootdse.c | 320 + .../source/dsdb/samdb/ldb_modules/samba3sam.c | 897 + Samba/source/dsdb/samdb/ldb_modules/samldb.c | 790 + Samba/source/dsdb/samdb/ldb_modules/schema.c | 1244 + .../dsdb/samdb/ldb_modules/schema_syntax.c | 472 + .../dsdb/samdb/ldb_modules/schema_syntax.h | 74 + Samba/source/dsdb/samdb/samdb.c | 1574 ++ Samba/source/dsdb/samdb/samdb.h | 34 + Samba/source/dsdb/samdb/samdb_privilege.c | 115 + Samba/source/dynconfig.c | 93 + Samba/source/dynconfig.h | 43 + Samba/source/dynconfig.mk | 17 + Samba/source/headermap.txt | 96 + Samba/source/heimdal/HEIMDAL-LICENCE.txt | 45 + Samba/source/heimdal/README | 6 + Samba/source/heimdal/cf/check-var.m4 | 25 + Samba/source/heimdal/cf/find-func-no-libs.m4 | 9 + Samba/source/heimdal/cf/find-func-no-libs2.m4 | 63 + Samba/source/heimdal/cf/find-func.m4 | 9 + Samba/source/heimdal/cf/resolv.m4 | 109 + Samba/source/heimdal/kdc/524.c | 400 + Samba/source/heimdal/kdc/default_config.c | 62 + Samba/source/heimdal/kdc/digest.c | 712 + Samba/source/heimdal/kdc/headers.h | 102 + Samba/source/heimdal/kdc/kaserver.c | 942 + Samba/source/heimdal/kdc/kdc-private.h | 235 + Samba/source/heimdal/kdc/kdc-protos.h | 70 + Samba/source/heimdal/kdc/kdc.h | 90 + Samba/source/heimdal/kdc/kdc_locl.h | 70 + Samba/source/heimdal/kdc/kerberos4.c | 808 + Samba/source/heimdal/kdc/kerberos5.c | 1554 ++ Samba/source/heimdal/kdc/krb5tgs.c | 1781 ++ Samba/source/heimdal/kdc/log.c | 89 + Samba/source/heimdal/kdc/misc.c | 119 + Samba/source/heimdal/kdc/pkinit.c | 1463 ++ Samba/source/heimdal/kdc/process.c | 136 + Samba/source/heimdal/kdc/rx.h | 79 + Samba/source/heimdal/lib/asn1/CMS.asn1 | 157 + Samba/source/heimdal/lib/asn1/asn1-common.h | 65 + Samba/source/heimdal/lib/asn1/asn1_err.et | 21 + Samba/source/heimdal/lib/asn1/asn1_gen.c | 187 + Samba/source/heimdal/lib/asn1/asn1_queue.h | 167 + Samba/source/heimdal/lib/asn1/canthandle.asn1 | 34 + Samba/source/heimdal/lib/asn1/der-protos.h | 542 + Samba/source/heimdal/lib/asn1/der.c | 142 + Samba/source/heimdal/lib/asn1/der.h | 103 + Samba/source/heimdal/lib/asn1/der_cmp.c | 102 + Samba/source/heimdal/lib/asn1/der_copy.c | 138 + Samba/source/heimdal/lib/asn1/der_format.c | 167 + Samba/source/heimdal/lib/asn1/der_free.c | 112 + Samba/source/heimdal/lib/asn1/der_get.c | 526 + Samba/source/heimdal/lib/asn1/der_length.c | 226 + Samba/source/heimdal/lib/asn1/der_locl.h | 60 + Samba/source/heimdal/lib/asn1/der_put.c | 476 + Samba/source/heimdal/lib/asn1/digest.asn1 | 115 + Samba/source/heimdal/lib/asn1/extra.c | 155 + Samba/source/heimdal/lib/asn1/gen.c | 784 + Samba/source/heimdal/lib/asn1/gen_copy.c | 246 + Samba/source/heimdal/lib/asn1/gen_decode.c | 666 + Samba/source/heimdal/lib/asn1/gen_encode.c | 532 + Samba/source/heimdal/lib/asn1/gen_free.c | 191 + Samba/source/heimdal/lib/asn1/gen_glue.c | 140 + Samba/source/heimdal/lib/asn1/gen_length.c | 281 + Samba/source/heimdal/lib/asn1/gen_locl.h | 89 + Samba/source/heimdal/lib/asn1/gen_seq.c | 119 + Samba/source/heimdal/lib/asn1/hash.c | 206 + Samba/source/heimdal/lib/asn1/hash.h | 87 + Samba/source/heimdal/lib/asn1/heim_asn1.h | 52 + Samba/source/heimdal/lib/asn1/k5.asn1 | 629 + Samba/source/heimdal/lib/asn1/lex.c | 2503 ++ Samba/source/heimdal/lib/asn1/lex.h | 42 + Samba/source/heimdal/lib/asn1/lex.l | 294 + Samba/source/heimdal/lib/asn1/libasn1.h | 51 + Samba/source/heimdal/lib/asn1/main.c | 131 + Samba/source/heimdal/lib/asn1/parse.c | 2600 ++ Samba/source/heimdal/lib/asn1/parse.h | 239 + Samba/source/heimdal/lib/asn1/parse.y | 970 + Samba/source/heimdal/lib/asn1/pkcs12.asn1 | 81 + Samba/source/heimdal/lib/asn1/pkcs8.asn1 | 30 + Samba/source/heimdal/lib/asn1/pkcs9.asn1 | 28 + Samba/source/heimdal/lib/asn1/pkinit.asn1 | 161 + Samba/source/heimdal/lib/asn1/rfc2459.asn1 | 426 + Samba/source/heimdal/lib/asn1/symbol.c | 110 + Samba/source/heimdal/lib/asn1/symbol.h | 160 + Samba/source/heimdal/lib/asn1/test.asn1 | 88 + Samba/source/heimdal/lib/asn1/test.gen | 14 + Samba/source/heimdal/lib/asn1/timegm.c | 86 + Samba/source/heimdal/lib/com_err/com_err.c | 172 + Samba/source/heimdal/lib/com_err/com_err.h | 66 + Samba/source/heimdal/lib/com_err/com_right.h | 58 + Samba/source/heimdal/lib/com_err/compile_et.c | 236 + Samba/source/heimdal/lib/com_err/compile_et.h | 80 + Samba/source/heimdal/lib/com_err/error.c | 91 + Samba/source/heimdal/lib/com_err/lex.c | 1701 ++ Samba/source/heimdal/lib/com_err/lex.h | 39 + Samba/source/heimdal/lib/com_err/lex.l | 128 + Samba/source/heimdal/lib/com_err/parse.c | 1066 + Samba/source/heimdal/lib/com_err/parse.h | 15 + Samba/source/heimdal/lib/com_err/parse.y | 173 + Samba/source/heimdal/lib/des/aes.c | 124 + Samba/source/heimdal/lib/des/aes.h | 71 + Samba/source/heimdal/lib/des/bn.h | 121 + Samba/source/heimdal/lib/des/des-tables.h | 196 + Samba/source/heimdal/lib/des/des.c | 967 + Samba/source/heimdal/lib/des/des.h | 124 + Samba/source/heimdal/lib/des/dh.h | 141 + Samba/source/heimdal/lib/des/dsa.h | 140 + Samba/source/heimdal/lib/des/engine.h | 103 + Samba/source/heimdal/lib/des/evp.c | 905 + Samba/source/heimdal/lib/des/evp.h | 255 + Samba/source/heimdal/lib/des/hash.h | 71 + Samba/source/heimdal/lib/des/hmac.c | 122 + Samba/source/heimdal/lib/des/hmac.h | 82 + Samba/source/heimdal/lib/des/md2.c | 138 + Samba/source/heimdal/lib/des/md2.h | 63 + Samba/source/heimdal/lib/des/md4.c | 250 + Samba/source/heimdal/lib/des/md4.h | 62 + Samba/source/heimdal/lib/des/md5.c | 274 + Samba/source/heimdal/lib/des/md5.h | 62 + Samba/source/heimdal/lib/des/pkcs12.h | 57 + Samba/source/heimdal/lib/des/pkcs5.c | 116 + Samba/source/heimdal/lib/des/rand-unix.c | 153 + Samba/source/heimdal/lib/des/rand.c | 120 + Samba/source/heimdal/lib/des/rand.h | 96 + Samba/source/heimdal/lib/des/rc2.c | 245 + Samba/source/heimdal/lib/des/rc2.h | 71 + Samba/source/heimdal/lib/des/rc4.c | 82 + Samba/source/heimdal/lib/des/rc4.h | 46 + .../source/heimdal/lib/des/rijndael-alg-fst.c | 1231 + .../source/heimdal/lib/des/rijndael-alg-fst.h | 46 + Samba/source/heimdal/lib/des/rnd_keys.c | 509 + Samba/source/heimdal/lib/des/rsa.h | 168 + Samba/source/heimdal/lib/des/sha.c | 300 + Samba/source/heimdal/lib/des/sha.h | 83 + Samba/source/heimdal/lib/des/sha256.c | 233 + Samba/source/heimdal/lib/des/ui.c | 164 + Samba/source/heimdal/lib/des/ui.h | 45 + Samba/source/heimdal/lib/gssapi/gssapi.h | 41 + .../source/heimdal/lib/gssapi/gssapi/gssapi.h | 786 + .../heimdal/lib/gssapi/gssapi/gssapi_krb5.h | 219 + .../heimdal/lib/gssapi/gssapi/gssapi_spnego.h | 58 + Samba/source/heimdal/lib/gssapi/gssapi_mech.h | 348 + Samba/source/heimdal/lib/gssapi/krb5/8003.c | 248 + .../lib/gssapi/krb5/accept_sec_context.c | 805 + .../heimdal/lib/gssapi/krb5/acquire_cred.c | 379 + .../source/heimdal/lib/gssapi/krb5/add_cred.c | 249 + .../lib/gssapi/krb5/add_oid_set_member.c | 70 + .../lib/gssapi/krb5/address_to_krb5addr.c | 76 + .../source/heimdal/lib/gssapi/krb5/arcfour.c | 752 + .../lib/gssapi/krb5/canonicalize_name.c | 46 + Samba/source/heimdal/lib/gssapi/krb5/cfx.c | 887 + Samba/source/heimdal/lib/gssapi/krb5/cfx.h | 80 + .../heimdal/lib/gssapi/krb5/compare_name.c | 54 + Samba/source/heimdal/lib/gssapi/krb5/compat.c | 125 + .../heimdal/lib/gssapi/krb5/context_time.c | 93 + .../heimdal/lib/gssapi/krb5/copy_ccache.c | 190 + .../lib/gssapi/krb5/create_emtpy_oid_set.c | 52 + .../heimdal/lib/gssapi/krb5/decapsulate.c | 209 + .../lib/gssapi/krb5/delete_sec_context.c | 80 + .../heimdal/lib/gssapi/krb5/display_name.c | 72 + .../heimdal/lib/gssapi/krb5/display_status.c | 230 + .../heimdal/lib/gssapi/krb5/duplicate_name.c | 59 + .../heimdal/lib/gssapi/krb5/encapsulate.c | 155 + .../heimdal/lib/gssapi/krb5/export_name.c | 93 + .../lib/gssapi/krb5/export_sec_context.c | 239 + .../source/heimdal/lib/gssapi/krb5/external.c | 421 + .../source/heimdal/lib/gssapi/krb5/get_mic.c | 317 + .../heimdal/lib/gssapi/krb5/gkrb5_err.et | 30 + .../heimdal/lib/gssapi/krb5/gsskrb5-private.h | 705 + .../heimdal/lib/gssapi/krb5/gsskrb5_locl.h | 135 + .../heimdal/lib/gssapi/krb5/import_name.c | 219 + .../lib/gssapi/krb5/import_sec_context.c | 229 + .../heimdal/lib/gssapi/krb5/indicate_mechs.c | 58 + Samba/source/heimdal/lib/gssapi/krb5/init.c | 111 + .../lib/gssapi/krb5/init_sec_context.c | 789 + .../heimdal/lib/gssapi/krb5/inquire_context.c | 108 + .../heimdal/lib/gssapi/krb5/inquire_cred.c | 178 + .../lib/gssapi/krb5/inquire_cred_by_mech.c | 83 + .../lib/gssapi/krb5/inquire_cred_by_oid.c | 81 + .../lib/gssapi/krb5/inquire_mechs_for_name.c | 57 + .../lib/gssapi/krb5/inquire_names_for_mech.c | 80 + .../gssapi/krb5/inquire_sec_context_by_oid.c | 560 + .../lib/gssapi/krb5/process_context_token.c | 66 + .../heimdal/lib/gssapi/krb5/release_buffer.c | 48 + .../heimdal/lib/gssapi/krb5/release_cred.c | 76 + .../heimdal/lib/gssapi/krb5/release_name.c | 55 + .../heimdal/lib/gssapi/krb5/release_oid_set.c | 49 + .../source/heimdal/lib/gssapi/krb5/sequence.c | 294 + .../heimdal/lib/gssapi/krb5/set_cred_option.c | 152 + .../lib/gssapi/krb5/set_sec_context_option.c | 168 + .../lib/gssapi/krb5/test_oid_set_member.c | 55 + Samba/source/heimdal/lib/gssapi/krb5/unwrap.c | 416 + .../heimdal/lib/gssapi/krb5/verify_mic.c | 339 + Samba/source/heimdal/lib/gssapi/krb5/wrap.c | 544 + .../source/heimdal/lib/gssapi/mech/context.h | 35 + Samba/source/heimdal/lib/gssapi/mech/cred.h | 42 + .../lib/gssapi/mech/gss_accept_sec_context.c | 273 + .../lib/gssapi/mech/gss_acquire_cred.c | 164 + .../heimdal/lib/gssapi/mech/gss_add_cred.c | 175 + .../lib/gssapi/mech/gss_add_oid_set_member.c | 67 + .../heimdal/lib/gssapi/mech/gss_buffer_set.c | 125 + .../lib/gssapi/mech/gss_canonicalize_name.c | 87 + .../lib/gssapi/mech/gss_compare_name.c | 74 + .../lib/gssapi/mech/gss_context_time.c | 41 + .../gssapi/mech/gss_create_empty_oid_set.c | 52 + .../lib/gssapi/mech/gss_decapsulate_token.c | 74 + .../lib/gssapi/mech/gss_delete_sec_context.c | 58 + .../lib/gssapi/mech/gss_display_name.c | 74 + .../lib/gssapi/mech/gss_display_status.c | 184 + .../lib/gssapi/mech/gss_duplicate_name.c | 75 + .../lib/gssapi/mech/gss_duplicate_oid.c | 67 + .../lib/gssapi/mech/gss_encapsulate_token.c | 69 + .../heimdal/lib/gssapi/mech/gss_export_name.c | 56 + .../lib/gssapi/mech/gss_export_sec_context.c | 73 + .../heimdal/lib/gssapi/mech/gss_get_mic.c | 44 + .../heimdal/lib/gssapi/mech/gss_import_name.c | 214 + .../lib/gssapi/mech/gss_import_sec_context.c | 82 + .../lib/gssapi/mech/gss_indicate_mechs.c | 65 + .../lib/gssapi/mech/gss_init_sec_context.c | 133 + .../lib/gssapi/mech/gss_inquire_context.c | 85 + .../lib/gssapi/mech/gss_inquire_cred.c | 168 + .../gssapi/mech/gss_inquire_cred_by_mech.c | 79 + .../lib/gssapi/mech/gss_inquire_cred_by_oid.c | 82 + .../gssapi/mech/gss_inquire_mechs_for_name.c | 77 + .../gssapi/mech/gss_inquire_names_for_mech.c | 73 + .../mech/gss_inquire_sec_context_by_oid.c | 69 + .../source/heimdal/lib/gssapi/mech/gss_krb5.c | 777 + .../heimdal/lib/gssapi/mech/gss_mech_switch.c | 324 + .../heimdal/lib/gssapi/mech/gss_names.c | 105 + .../heimdal/lib/gssapi/mech/gss_oid_equal.c | 45 + .../gssapi/mech/gss_process_context_token.c | 42 + .../lib/gssapi/mech/gss_release_buffer.c | 44 + .../lib/gssapi/mech/gss_release_cred.c | 52 + .../lib/gssapi/mech/gss_release_name.c | 55 + .../heimdal/lib/gssapi/mech/gss_release_oid.c | 59 + .../lib/gssapi/mech/gss_release_oid_set.c | 45 + .../source/heimdal/lib/gssapi/mech/gss_seal.c | 46 + .../lib/gssapi/mech/gss_set_cred_option.c | 115 + .../gssapi/mech/gss_set_sec_context_option.c | 69 + .../source/heimdal/lib/gssapi/mech/gss_sign.c | 42 + .../lib/gssapi/mech/gss_test_oid_set_member.c | 47 + .../heimdal/lib/gssapi/mech/gss_unseal.c | 44 + .../heimdal/lib/gssapi/mech/gss_unwrap.c | 46 + .../heimdal/lib/gssapi/mech/gss_utils.c | 66 + .../heimdal/lib/gssapi/mech/gss_verify.c | 43 + .../heimdal/lib/gssapi/mech/gss_verify_mic.c | 44 + .../source/heimdal/lib/gssapi/mech/gss_wrap.c | 47 + .../lib/gssapi/mech/gss_wrap_size_limit.c | 45 + .../heimdal/lib/gssapi/mech/gssapi.asn1 | 12 + .../heimdal/lib/gssapi/mech/mech_locl.h | 63 + .../heimdal/lib/gssapi/mech/mech_switch.h | 42 + .../heimdal/lib/gssapi/mech/mechqueue.h | 101 + Samba/source/heimdal/lib/gssapi/mech/name.h | 47 + Samba/source/heimdal/lib/gssapi/mech/utils.h | 32 + .../lib/gssapi/spnego/accept_sec_context.c | 873 + .../source/heimdal/lib/gssapi/spnego/compat.c | 285 + .../heimdal/lib/gssapi/spnego/context_stubs.c | 835 + .../heimdal/lib/gssapi/spnego/cred_stubs.c | 291 + .../heimdal/lib/gssapi/spnego/external.c | 89 + .../lib/gssapi/spnego/init_sec_context.c | 578 + .../lib/gssapi/spnego/spnego-private.h | 347 + .../heimdal/lib/gssapi/spnego/spnego.asn1 | 51 + .../heimdal/lib/gssapi/spnego/spnego_locl.h | 98 + Samba/source/heimdal/lib/hdb/db.c | 307 + Samba/source/heimdal/lib/hdb/ext.c | 396 + Samba/source/heimdal/lib/hdb/hdb-private.h | 54 + Samba/source/heimdal/lib/hdb/hdb-protos.h | 327 + Samba/source/heimdal/lib/hdb/hdb.asn1 | 123 + Samba/source/heimdal/lib/hdb/hdb.c | 406 + Samba/source/heimdal/lib/hdb/hdb.h | 163 + Samba/source/heimdal/lib/hdb/hdb_err.et | 28 + Samba/source/heimdal/lib/hdb/hdb_locl.h | 74 + Samba/source/heimdal/lib/hdb/keys.c | 393 + Samba/source/heimdal/lib/hdb/keytab.c | 272 + Samba/source/heimdal/lib/hdb/mkey.c | 598 + Samba/source/heimdal/lib/hdb/ndbm.c | 370 + Samba/source/heimdal/lib/krb5/acache.c | 935 + Samba/source/heimdal/lib/krb5/add_et_list.c | 50 + Samba/source/heimdal/lib/krb5/addr_families.c | 1191 + Samba/source/heimdal/lib/krb5/appdefault.c | 142 + Samba/source/heimdal/lib/krb5/asn1_glue.c | 69 + Samba/source/heimdal/lib/krb5/auth_context.c | 517 + Samba/source/heimdal/lib/krb5/build_ap_req.c | 76 + Samba/source/heimdal/lib/krb5/build_auth.c | 202 + Samba/source/heimdal/lib/krb5/cache.c | 863 + Samba/source/heimdal/lib/krb5/changepw.c | 821 + Samba/source/heimdal/lib/krb5/codec.c | 196 + Samba/source/heimdal/lib/krb5/config_file.c | 773 + .../heimdal/lib/krb5/config_file_netinfo.c | 180 + Samba/source/heimdal/lib/krb5/constants.c | 43 + Samba/source/heimdal/lib/krb5/context.c | 719 + .../source/heimdal/lib/krb5/copy_host_realm.c | 69 + Samba/source/heimdal/lib/krb5/crc.c | 71 + Samba/source/heimdal/lib/krb5/creds.c | 215 + Samba/source/heimdal/lib/krb5/crypto.c | 4024 +++ Samba/source/heimdal/lib/krb5/data.c | 120 + .../heimdal/lib/krb5/eai_to_heim_errno.c | 98 + Samba/source/heimdal/lib/krb5/error_string.c | 130 + .../source/heimdal/lib/krb5/expand_hostname.c | 160 + Samba/source/heimdal/lib/krb5/fcache.c | 719 + Samba/source/heimdal/lib/krb5/free.c | 53 + .../source/heimdal/lib/krb5/free_host_realm.c | 54 + .../heimdal/lib/krb5/generate_seq_number.c | 62 + .../source/heimdal/lib/krb5/generate_subkey.c | 72 + Samba/source/heimdal/lib/krb5/get_cred.c | 1204 + .../heimdal/lib/krb5/get_default_principal.c | 115 + .../heimdal/lib/krb5/get_default_realm.c | 84 + Samba/source/heimdal/lib/krb5/get_for_creds.c | 426 + .../source/heimdal/lib/krb5/get_host_realm.c | 257 + Samba/source/heimdal/lib/krb5/get_in_tkt.c | 852 + .../heimdal/lib/krb5/get_in_tkt_with_keytab.c | 99 + Samba/source/heimdal/lib/krb5/get_port.c | 54 + Samba/source/heimdal/lib/krb5/heim_err.et | 44 + Samba/source/heimdal/lib/krb5/heim_threads.h | 175 + Samba/source/heimdal/lib/krb5/init_creds.c | 409 + Samba/source/heimdal/lib/krb5/init_creds_pw.c | 1579 ++ Samba/source/heimdal/lib/krb5/k524_err.et | 20 + Samba/source/heimdal/lib/krb5/kcm.c | 1096 + Samba/source/heimdal/lib/krb5/keyblock.c | 133 + Samba/source/heimdal/lib/krb5/keytab.c | 527 + Samba/source/heimdal/lib/krb5/keytab_any.c | 255 + Samba/source/heimdal/lib/krb5/keytab_file.c | 696 + .../source/heimdal/lib/krb5/keytab_keyfile.c | 420 + Samba/source/heimdal/lib/krb5/keytab_krb4.c | 448 + Samba/source/heimdal/lib/krb5/keytab_memory.c | 234 + Samba/source/heimdal/lib/krb5/krb5-private.h | 485 + Samba/source/heimdal/lib/krb5/krb5-protos.h | 3808 +++ Samba/source/heimdal/lib/krb5/krb5-v4compat.h | 176 + Samba/source/heimdal/lib/krb5/krb5.h | 762 + Samba/source/heimdal/lib/krb5/krb5_ccapi.h | 230 + Samba/source/heimdal/lib/krb5/krb5_err.et | 259 + Samba/source/heimdal/lib/krb5/krb5_locl.h | 263 + Samba/source/heimdal/lib/krb5/krbhst.c | 988 + Samba/source/heimdal/lib/krb5/locate_plugin.h | 64 + Samba/source/heimdal/lib/krb5/log.c | 471 + Samba/source/heimdal/lib/krb5/mcache.c | 426 + Samba/source/heimdal/lib/krb5/misc.c | 85 + Samba/source/heimdal/lib/krb5/mit_glue.c | 335 + Samba/source/heimdal/lib/krb5/mk_error.c | 92 + Samba/source/heimdal/lib/krb5/mk_priv.c | 155 + Samba/source/heimdal/lib/krb5/mk_rep.c | 126 + Samba/source/heimdal/lib/krb5/mk_req.c | 116 + Samba/source/heimdal/lib/krb5/mk_req_ext.c | 163 + Samba/source/heimdal/lib/krb5/n-fold.c | 126 + Samba/source/heimdal/lib/krb5/padata.c | 66 + Samba/source/heimdal/lib/krb5/pkinit.c | 1903 ++ Samba/source/heimdal/lib/krb5/plugin.c | 242 + Samba/source/heimdal/lib/krb5/principal.c | 1201 + Samba/source/heimdal/lib/krb5/rd_cred.c | 336 + Samba/source/heimdal/lib/krb5/rd_error.c | 121 + Samba/source/heimdal/lib/krb5/rd_priv.c | 179 + Samba/source/heimdal/lib/krb5/rd_rep.c | 124 + Samba/source/heimdal/lib/krb5/rd_req.c | 835 + Samba/source/heimdal/lib/krb5/replay.c | 312 + Samba/source/heimdal/lib/krb5/send_to_kdc.c | 459 + .../heimdal/lib/krb5/set_default_realm.c | 90 + Samba/source/heimdal/lib/krb5/store-int.h | 47 + Samba/source/heimdal/lib/krb5/store.c | 1034 + Samba/source/heimdal/lib/krb5/store_emem.c | 132 + Samba/source/heimdal/lib/krb5/store_fd.c | 98 + Samba/source/heimdal/lib/krb5/store_mem.c | 150 + Samba/source/heimdal/lib/krb5/ticket.c | 280 + Samba/source/heimdal/lib/krb5/time.c | 114 + Samba/source/heimdal/lib/krb5/transited.c | 486 + Samba/source/heimdal/lib/krb5/v4_glue.c | 923 + Samba/source/heimdal/lib/krb5/version.c | 43 + Samba/source/heimdal/lib/krb5/warn.c | 205 + Samba/source/heimdal/lib/roken/base64.c | 136 + Samba/source/heimdal/lib/roken/base64.h | 53 + Samba/source/heimdal/lib/roken/bswap.c | 61 + Samba/source/heimdal/lib/roken/copyhostent.c | 102 + Samba/source/heimdal/lib/roken/ecalloc.c | 56 + Samba/source/heimdal/lib/roken/emalloc.c | 56 + Samba/source/heimdal/lib/roken/err.hin | 88 + Samba/source/heimdal/lib/roken/estrdup.c | 56 + Samba/source/heimdal/lib/roken/freeaddrinfo.c | 57 + Samba/source/heimdal/lib/roken/freehostent.c | 62 + Samba/source/heimdal/lib/roken/gai_strerror.c | 77 + .../heimdal/lib/roken/get_window_size.c | 102 + Samba/source/heimdal/lib/roken/getaddrinfo.c | 417 + Samba/source/heimdal/lib/roken/getarg.c | 595 + Samba/source/heimdal/lib/roken/getarg.h | 102 + .../heimdal/lib/roken/getipnodebyaddr.c | 74 + .../heimdal/lib/roken/getipnodebyname.c | 86 + Samba/source/heimdal/lib/roken/getprogname.c | 51 + Samba/source/heimdal/lib/roken/h_errno.c | 41 + Samba/source/heimdal/lib/roken/hex.c | 103 + Samba/source/heimdal/lib/roken/hex.h | 55 + .../heimdal/lib/roken/hostent_find_fqdn.c | 59 + Samba/source/heimdal/lib/roken/inet_aton.c | 49 + Samba/source/heimdal/lib/roken/issuid.c | 59 + Samba/source/heimdal/lib/roken/net_read.c | 74 + Samba/source/heimdal/lib/roken/net_write.c | 72 + Samba/source/heimdal/lib/roken/parse_time.c | 78 + Samba/source/heimdal/lib/roken/parse_time.h | 59 + Samba/source/heimdal/lib/roken/parse_units.c | 330 + Samba/source/heimdal/lib/roken/parse_units.h | 79 + Samba/source/heimdal/lib/roken/resolve.c | 707 + Samba/source/heimdal/lib/roken/resolve.h | 298 + Samba/source/heimdal/lib/roken/roken-common.h | 402 + Samba/source/heimdal/lib/roken/roken.h.in | 706 + .../heimdal/lib/roken/roken_gethostby.c | 274 + Samba/source/heimdal/lib/roken/setprogname.c | 61 + Samba/source/heimdal/lib/roken/signal.c | 80 + Samba/source/heimdal/lib/roken/socket.c | 302 + Samba/source/heimdal/lib/roken/strlwr.c | 53 + Samba/source/heimdal/lib/roken/strpool.c | 110 + Samba/source/heimdal/lib/roken/strsep.c | 61 + Samba/source/heimdal/lib/roken/strsep_copy.c | 69 + Samba/source/heimdal/lib/roken/strupr.c | 53 + Samba/source/heimdal/lib/roken/vis.c | 330 + Samba/source/heimdal/lib/roken/vis.hin | 98 + Samba/source/heimdal/lib/vers/print_version.c | 55 + Samba/source/heimdal_build/asn1_deps.pl | 55 + Samba/source/heimdal_build/config.h | 15 + Samba/source/heimdal_build/config.m4 | 280 + Samba/source/heimdal_build/config.mk | 597 + Samba/source/heimdal_build/crypto-headers.h | 16 + Samba/source/heimdal_build/err.h | 8 + Samba/source/heimdal_build/et_deps.pl | 13 + Samba/source/heimdal_build/glue.c | 53 + Samba/source/heimdal_build/hcrypto-deps.pl | 9 + Samba/source/heimdal_build/krb5-types.h | 23 + .../source/heimdal_build/perl_path_wrapper.sh | 7 + Samba/source/heimdal_build/print_version.h | 1 + Samba/source/heimdal_build/replace.c | 87 + Samba/source/heimdal_build/roken.h | 60 + Samba/source/include/core.h | 100 + Samba/source/include/includes.h | 101 + Samba/source/include/local.h | 60 + Samba/source/include/pstring.h | 42 + Samba/source/install-sh | 238 + Samba/source/kdc/config.m4 | 1 + Samba/source/kdc/config.mk | 27 + Samba/source/kdc/hdb-ldb.c | 1014 + Samba/source/kdc/kdc.c | 631 + Samba/source/kdc/kdc.h | 52 + Samba/source/kdc/kpasswdd.c | 605 + Samba/source/kdc/pac-glue.c | 379 + Samba/source/kdc/pac-glue.h | 47 + Samba/source/ldap_server/config.mk | 18 + Samba/source/ldap_server/ldap_backend.c | 740 + Samba/source/ldap_server/ldap_bind.c | 320 + Samba/source/ldap_server/ldap_extended.c | 150 + Samba/source/ldap_server/ldap_server.c | 526 + Samba/source/ldap_server/ldap_server.h | 70 + Samba/source/lib/appweb/README | 6 + Samba/source/lib/appweb/config.m4 | 1 + Samba/source/lib/appweb/config.mk | 31 + Samba/source/lib/appweb/ejs-2.0/.bashrc | 153 + Samba/source/lib/appweb/ejs-2.0/.exrc | 1 + Samba/source/lib/appweb/ejs-2.0/.ignore | 57 + Samba/source/lib/appweb/ejs-2.0/.loginrc | 218 + Samba/source/lib/appweb/ejs-2.0/ejs/.ignore | 2 + Samba/source/lib/appweb/ejs-2.0/ejs/Makefile | 61 + .../lib/appweb/ejs-2.0/ejs/classes/.ignore | 1 + .../lib/appweb/ejs-2.0/ejs/classes/Makefile | 21 + .../lib/appweb/ejs-2.0/ejs/classes/ejsArray.c | 167 + .../lib/appweb/ejs-2.0/ejs/classes/ejsDate.c | 197 + .../lib/appweb/ejs-2.0/ejs/classes/ejsError.c | 140 + .../appweb/ejs-2.0/ejs/classes/ejsObject.c | 588 + .../ejs-2.0/ejs/classes/ejsStndClasses.c | 144 + .../appweb/ejs-2.0/ejs/classes/ejsString.c | 381 + .../lib/appweb/ejs-2.0/ejs/classes/ejsXml.c | 1327 + Samba/source/lib/appweb/ejs-2.0/ejs/ejs.c | 1378 ++ Samba/source/lib/appweb/ejs-2.0/ejs/ejs.h | 849 + .../source/lib/appweb/ejs-2.0/ejs/ejsClass.c | 273 + Samba/source/lib/appweb/ejs-2.0/ejs/ejsCmd.c | 468 + .../lib/appweb/ejs-2.0/ejs/ejsGarbage.c | 1214 + Samba/source/lib/appweb/ejs-2.0/ejs/ejsLex.c | 1033 + .../source/lib/appweb/ejs-2.0/ejs/ejsParser.c | 4514 ++++ Samba/source/lib/appweb/ejs-2.0/ejs/ejsVar.c | 4033 +++ Samba/source/lib/appweb/ejs-2.0/ejs/ejsVar.h | 1091 + .../lib/appweb/ejs-2.0/ejs/lib/event.js | 141 + .../lib/appweb/ejs-2.0/ejs/lib/global.js | 34 + .../lib/appweb/ejs-2.0/ejs/lib/startup.js | 15 + .../lib/appweb/ejs-2.0/ejs/lib/timer.js | 158 + .../lib/appweb/ejs-2.0/ejs/system/.ignore | 1 + .../lib/appweb/ejs-2.0/ejs/system/Makefile | 27 + .../lib/appweb/ejs-2.0/ejs/system/README.TXT | 63 + .../appweb/ejs-2.0/ejs/system/UNIX/.ignore | 1 + .../appweb/ejs-2.0/ejs/system/UNIX/Makefile | 21 + .../appweb/ejs-2.0/ejs/system/UNIX/ejsFile.c | 98 + .../ejs-2.0/ejs/system/UNIX/ejsFileSystem.c | 454 + .../appweb/ejs-2.0/ejs/system/UNIX/ejsHTTP.c | 488 + .../lib/appweb/ejs-2.0/ejs/system/WIN/.ignore | 1 + .../appweb/ejs-2.0/ejs/system/WIN/Makefile | 21 + .../appweb/ejs-2.0/ejs/system/WIN/ejsFile.c | 98 + .../ejs-2.0/ejs/system/WIN/ejsFileSystem.c | 456 + .../appweb/ejs-2.0/ejs/system/WIN/ejsHTTP.c | 488 + .../lib/appweb/ejs-2.0/ejs/system/ejsGC.c | 326 + .../lib/appweb/ejs-2.0/ejs/system/ejsGlobal.c | 785 + .../lib/appweb/ejs-2.0/ejs/system/ejsSystem.c | 112 + .../appweb/ejs-2.0/ejs/system/ejsSystemApp.c | 49 + .../ejs-2.0/ejs/system/ejsSystemDebug.c | 60 + .../appweb/ejs-2.0/ejs/system/ejsSystemLog.c | 163 + .../ejs-2.0/ejs/system/ejsSystemMemory.c | 174 + Samba/source/lib/appweb/ejs-2.0/exml/Makefile | 42 + Samba/source/lib/appweb/ejs-2.0/exml/exml.h | 94 + .../lib/appweb/ejs-2.0/exml/exmlParser.c | 752 + Samba/source/lib/appweb/ejs-2.0/exml/files | 1 + Samba/source/lib/appweb/ejs-2.0/mpr/Makefile | 41 + .../lib/appweb/ejs-2.0/mpr/UNIX/Makefile | 16 + .../lib/appweb/ejs-2.0/mpr/UNIX/mprFile.c | 86 + .../lib/appweb/ejs-2.0/mpr/UNIX/mprPlatform.c | 218 + .../lib/appweb/ejs-2.0/mpr/UNIX/mprTime.c | 163 + .../lib/appweb/ejs-2.0/mpr/VXWORKS/Makefile | 16 + .../lib/appweb/ejs-2.0/mpr/VXWORKS/mprFile.c | 85 + .../appweb/ejs-2.0/mpr/VXWORKS/mprPlatform.c | 191 + .../lib/appweb/ejs-2.0/mpr/VXWORKS/mprTime.c | 163 + .../lib/appweb/ejs-2.0/mpr/WIN/Makefile | 16 + .../lib/appweb/ejs-2.0/mpr/WIN/mprFile.c | 123 + .../lib/appweb/ejs-2.0/mpr/WIN/mprPlatform.c | 378 + .../lib/appweb/ejs-2.0/mpr/WIN/mprTime.c | 192 + Samba/source/lib/appweb/ejs-2.0/mpr/files | 14 + Samba/source/lib/appweb/ejs-2.0/mpr/mpr.c | 340 + Samba/source/lib/appweb/ejs-2.0/mpr/mpr.h | 1027 + .../source/lib/appweb/ejs-2.0/mpr/mprAlloc.c | 1775 ++ .../source/lib/appweb/ejs-2.0/mpr/mprArray.c | 385 + Samba/source/lib/appweb/ejs-2.0/mpr/mprBuf.c | 535 + .../lib/appweb/ejs-2.0/mpr/mprGenFile.c | 336 + .../lib/appweb/ejs-2.0/mpr/mprGenTime.c | 195 + Samba/source/lib/appweb/ejs-2.0/mpr/mprLock.c | 266 + Samba/source/lib/appweb/ejs-2.0/mpr/mprLog.c | 602 + Samba/source/lib/appweb/ejs-2.0/mpr/mprOs.h | 707 + .../source/lib/appweb/ejs-2.0/mpr/mprPrintf.c | 924 + .../source/lib/appweb/ejs-2.0/mpr/mprString.c | 727 + .../source/lib/appweb/ejs-2.0/mpr/mprSymbol.c | 279 + Samba/source/lib/appweb/ejs-2.0/mpr/mprUnix.h | 105 + Samba/source/lib/appweb/ejs/config.h | 141 + Samba/source/lib/appweb/ejs/ejs.h | 136 + Samba/source/lib/appweb/ejs/ejsInternal.h | 295 + Samba/source/lib/appweb/ejs/ejsLex.c | 923 + Samba/source/lib/appweb/ejs/ejsLib.c | 1090 + Samba/source/lib/appweb/ejs/ejsParser.c | 2436 ++ Samba/source/lib/appweb/ejs/ejsProcs.c | 704 + Samba/source/lib/appweb/esp/esp.c | 1042 + Samba/source/lib/appweb/esp/esp.h | 277 + Samba/source/lib/appweb/esp/espEnv.h | 128 + Samba/source/lib/appweb/esp/espProcs.c | 249 + Samba/source/lib/appweb/mpr/miniMpr.c | 506 + Samba/source/lib/appweb/mpr/miniMpr.h | 297 + Samba/source/lib/appweb/mpr/var.c | 2215 ++ Samba/source/lib/appweb/mpr/var.h | 487 + Samba/source/lib/basic.mk | 49 + Samba/source/lib/charset/charcnv.c | 720 + Samba/source/lib/charset/charset.h | 81 + Samba/source/lib/charset/config.m4 | 83 + Samba/source/lib/charset/config.mk | 14 + Samba/source/lib/charset/iconv.c | 696 + Samba/source/lib/charset/util_unistr.c | 645 + Samba/source/lib/cmdline/config.mk | 15 + Samba/source/lib/cmdline/credentials.c | 45 + Samba/source/lib/cmdline/popt_common.c | 180 + Samba/source/lib/cmdline/popt_common.h | 39 + Samba/source/lib/cmdline/popt_credentials.c | 151 + Samba/source/lib/com/README | 9 + Samba/source/lib/com/classes/simple.c | 122 + Samba/source/lib/com/com.h | 47 + Samba/source/lib/com/config.mk | 23 + Samba/source/lib/com/dcom/dcom.h | 72 + Samba/source/lib/com/dcom/main.c | 1359 + Samba/source/lib/com/dcom/tables.c | 92 + Samba/source/lib/com/main.c | 147 + Samba/source/lib/com/rot.c | 34 + Samba/source/lib/com/tables.c | 110 + Samba/source/lib/compression/mszip.c | 677 + Samba/source/lib/compression/mszip.h | 34 + Samba/source/lib/crypto/arcfour.c | 92 + Samba/source/lib/crypto/crc32.c | 103 + Samba/source/lib/crypto/crc32.h | 1 + Samba/source/lib/crypto/crypto.h | 38 + Samba/source/lib/crypto/hmacmd5.c | 118 + Samba/source/lib/crypto/hmacmd5.h | 39 + Samba/source/lib/crypto/hmacmd5test.c | 99 + Samba/source/lib/crypto/hmacsha1.c | 87 + Samba/source/lib/crypto/hmacsha1.h | 34 + Samba/source/lib/crypto/hmacsha1test.c | 98 + Samba/source/lib/crypto/md4.c | 177 + Samba/source/lib/crypto/md4.h | 1 + Samba/source/lib/crypto/md4test.c | 84 + Samba/source/lib/crypto/md5.c | 248 + Samba/source/lib/crypto/md5.h | 25 + Samba/source/lib/crypto/md5test.c | 94 + Samba/source/lib/crypto/sha1.c | 390 + Samba/source/lib/crypto/sha1.h | 62 + Samba/source/lib/crypto/sha1test.c | 110 + Samba/source/lib/db_wrap.c | 261 + Samba/source/lib/db_wrap.h | 36 + Samba/source/lib/events/config.m4 | 2 + Samba/source/lib/events/config.mk | 7 + Samba/source/lib/events/events.c | 175 + Samba/source/lib/events/events.h | 71 + Samba/source/lib/events/events_internal.h | 81 + Samba/source/lib/events/events_liboop.c | 284 + Samba/source/lib/events/events_standard.c | 633 + Samba/source/lib/gencache/gencache.c | 375 + Samba/source/lib/gendb.c | 122 + Samba/source/lib/json/AUTHORS | 2 + Samba/source/lib/json/COPYING | 18 + Samba/source/lib/json/ChangeLog | 55 + Samba/source/lib/json/Doxyfile | 1153 + Samba/source/lib/json/INSTALL | 229 + Samba/source/lib/json/Makefile.am | 36 + Samba/source/lib/json/Makefile.in | 533 + Samba/source/lib/json/NEWS | 1 + Samba/source/lib/json/README | 20 + Samba/source/lib/json/README-WIN32.html | 61 + Samba/source/lib/json/README.html | 36 + Samba/source/lib/json/aclocal.m4 | 7381 ++++++ Samba/source/lib/json/arraylist.c | 93 + Samba/source/lib/json/arraylist.h | 45 + Samba/source/lib/json/autogen.sh | 1 + Samba/source/lib/json/bits.h | 27 + Samba/source/lib/json/config.guess | 1465 ++ Samba/source/lib/json/config.h.in | 117 + Samba/source/lib/json/config.h.win32 | 94 + Samba/source/lib/json/config.sub | 1569 ++ Samba/source/lib/json/configure | 20604 ++++++++++++++++ Samba/source/lib/json/configure.in | 33 + Samba/source/lib/json/debug.c | 94 + Samba/source/lib/json/debug.h | 24 + Samba/source/lib/json/depcomp | 423 + Samba/source/lib/json/install-sh | 269 + Samba/source/lib/json/json-c.vcproj | 179 + Samba/source/lib/json/json.h | 31 + Samba/source/lib/json/json.pc.in | 11 + Samba/source/lib/json/json_object.c | 504 + Samba/source/lib/json/json_object.h | 310 + Samba/source/lib/json/json_object_private.h | 44 + Samba/source/lib/json/json_tokener.c | 465 + Samba/source/lib/json/json_tokener.h | 63 + Samba/source/lib/json/json_util.c | 121 + Samba/source/lib/json/json_util.h | 23 + Samba/source/lib/json/linkhash.c | 217 + Samba/source/lib/json/linkhash.h | 261 + Samba/source/lib/json/ltmain.sh | 6426 +++++ Samba/source/lib/json/missing | 336 + Samba/source/lib/json/mkinstalldirs | 99 + Samba/source/lib/json/printbuf.c | 144 + Samba/source/lib/json/printbuf.h | 38 + Samba/source/lib/json/stamp-h.in | 1 + Samba/source/lib/json/test1.c | 137 + Samba/source/lib/json/test2.c | 19 + Samba/source/lib/ldb/Doxyfile | 26 + Samba/source/lib/ldb/Makefile.in | 173 + Samba/source/lib/ldb/README_gcov.txt | 29 + Samba/source/lib/ldb/aclocal.m4 | 1 + Samba/source/lib/ldb/autogen.sh | 17 + Samba/source/lib/ldb/common/attrib_handlers.c | 407 + Samba/source/lib/ldb/common/ldb.c | 1133 + Samba/source/lib/ldb/common/ldb_attributes.c | 300 + Samba/source/lib/ldb/common/ldb_controls.c | 106 + Samba/source/lib/ldb/common/ldb_debug.c | 105 + Samba/source/lib/ldb/common/ldb_dn.c | 1443 ++ Samba/source/lib/ldb/common/ldb_ldif.c | 761 + Samba/source/lib/ldb/common/ldb_match.c | 430 + Samba/source/lib/ldb/common/ldb_modules.c | 452 + Samba/source/lib/ldb/common/ldb_msg.c | 846 + Samba/source/lib/ldb/common/ldb_parse.c | 817 + Samba/source/lib/ldb/common/ldb_utf8.c | 138 + Samba/source/lib/ldb/common/qsort.c | 254 + Samba/source/lib/ldb/config.guess | 1466 ++ Samba/source/lib/ldb/config.mk | 316 + Samba/source/lib/ldb/config.sub | 1579 ++ Samba/source/lib/ldb/configure.ac | 74 + Samba/source/lib/ldb/docs/builddocs.sh | 52 + Samba/source/lib/ldb/docs/design.txt | 41 + Samba/source/lib/ldb/docs/installdocs.sh | 17 + Samba/source/lib/ldb/examples.dox | 16 + Samba/source/lib/ldb/examples/ldbreader.c | 125 + Samba/source/lib/ldb/examples/ldifreader.c | 129 + Samba/source/lib/ldb/include/dlinklist.h | 111 + Samba/source/lib/ldb/include/includes.h | 34 + Samba/source/lib/ldb/include/ldb.h | 1564 ++ Samba/source/lib/ldb/include/ldb_errors.h | 311 + Samba/source/lib/ldb/include/ldb_handlers.h | 68 + Samba/source/lib/ldb/include/ldb_private.h | 225 + Samba/source/lib/ldb/install-sh | 238 + Samba/source/lib/ldb/ldap.m4 | 90 + Samba/source/lib/ldb/ldb.pc.in | 15 + Samba/source/lib/ldb/ldb_ildap/ldb_ildap.c | 826 + Samba/source/lib/ldb/ldb_ldap/ldb_ldap.c | 843 + Samba/source/lib/ldb/ldb_sqlite3/README | 7 + Samba/source/lib/ldb/ldb_sqlite3/base160.c | 155 + .../source/lib/ldb/ldb_sqlite3/ldb_sqlite3.c | 1911 ++ Samba/source/lib/ldb/ldb_sqlite3/schema | 363 + Samba/source/lib/ldb/ldb_sqlite3/trees.ps | 1760 ++ Samba/source/lib/ldb/ldb_tdb/ldb_cache.c | 550 + Samba/source/lib/ldb/ldb_tdb/ldb_index.c | 1149 + Samba/source/lib/ldb/ldb_tdb/ldb_pack.c | 292 + Samba/source/lib/ldb/ldb_tdb/ldb_search.c | 525 + Samba/source/lib/ldb/ldb_tdb/ldb_tdb.c | 1073 + Samba/source/lib/ldb/ldb_tdb/ldb_tdb.h | 129 + Samba/source/lib/ldb/ldb_tdb/ldb_tdb_wrap.c | 176 + Samba/source/lib/ldb/libldb.m4 | 33 + Samba/source/lib/ldb/mainpage.dox | 80 + Samba/source/lib/ldb/man/ad2oLschema.1.xml | 87 + Samba/source/lib/ldb/man/ldb.3.xml | 262 + Samba/source/lib/ldb/man/ldbadd.1.xml | 105 + Samba/source/lib/ldb/man/ldbdel.1.xml | 105 + Samba/source/lib/ldb/man/ldbedit.1.xml | 200 + Samba/source/lib/ldb/man/ldbmodify.1.xml | 93 + Samba/source/lib/ldb/man/ldbrename.1.xml | 107 + Samba/source/lib/ldb/man/ldbsearch.1.xml | 119 + Samba/source/lib/ldb/man/oLschema2ldif.1.xml | 79 + Samba/source/lib/ldb/modules/asq.c | 488 + Samba/source/lib/ldb/modules/ldb_map.c | 1396 ++ Samba/source/lib/ldb/modules/ldb_map.h | 158 + .../source/lib/ldb/modules/ldb_map_inbound.c | 724 + .../source/lib/ldb/modules/ldb_map_outbound.c | 1286 + .../source/lib/ldb/modules/ldb_map_private.h | 117 + Samba/source/lib/ldb/modules/objectclass.c | 694 + Samba/source/lib/ldb/modules/operational.c | 312 + Samba/source/lib/ldb/modules/paged_results.c | 565 + Samba/source/lib/ldb/modules/paged_searches.c | 468 + Samba/source/lib/ldb/modules/rdn_name.c | 343 + Samba/source/lib/ldb/modules/skel.c | 137 + Samba/source/lib/ldb/modules/sort.c | 443 + Samba/source/lib/ldb/nssldb/README.txt | 34 + Samba/source/lib/ldb/nssldb/ldb-grp.c | 427 + Samba/source/lib/ldb/nssldb/ldb-nss.c | 402 + Samba/source/lib/ldb/nssldb/ldb-nss.h | 86 + Samba/source/lib/ldb/nssldb/ldb-pwd.c | 241 + Samba/source/lib/ldb/samba/README | 7 + Samba/source/lib/ldb/samba/ldif_handlers.c | 597 + Samba/source/lib/ldb/sqlite3.m4 | 62 + Samba/source/lib/ldb/standalone.sh | 25 + Samba/source/lib/ldb/swig/Ldb.py | 179 + Samba/source/lib/ldb/swig/ldb.i | 240 + Samba/source/lib/ldb/tests/init.ldif | 40 + Samba/source/lib/ldb/tests/init_slapd.sh | 41 + Samba/source/lib/ldb/tests/kill_slapd.sh | 12 + Samba/source/lib/ldb/tests/ldapi_url.sh | 11 + Samba/source/lib/ldb/tests/photo.ldif | 5 + Samba/source/lib/ldb/tests/samba4.png | Bin 0 -> 6239 bytes .../tests/schema-tests/schema-add-test.ldif | 66 + .../tests/schema-tests/schema-mod-test-1.ldif | 5 + .../tests/schema-tests/schema-mod-test-2.ldif | 5 + .../tests/schema-tests/schema-mod-test-3.ldif | 5 + .../tests/schema-tests/schema-mod-test-4.ldif | 5 + .../tests/schema-tests/schema-mod-test-5.ldif | 5 + .../lib/ldb/tests/schema-tests/schema.ldif | 112 + Samba/source/lib/ldb/tests/slapd.conf | 26 + Samba/source/lib/ldb/tests/start_slapd.sh | 14 + Samba/source/lib/ldb/tests/test-attribs.ldif | 15 + Samba/source/lib/ldb/tests/test-config.ldif | 67 + .../lib/ldb/tests/test-default-config.ldif | 17 + Samba/source/lib/ldb/tests/test-extended.sh | 69 + Samba/source/lib/ldb/tests/test-generic.sh | 128 + Samba/source/lib/ldb/tests/test-index.ldif | 11 + Samba/source/lib/ldb/tests/test-ldap.sh | 54 + Samba/source/lib/ldb/tests/test-modify.ldif | 23 + Samba/source/lib/ldb/tests/test-schema.sh | 34 + Samba/source/lib/ldb/tests/test-sqlite3.sh | 25 + .../source/lib/ldb/tests/test-tdb-features.sh | 119 + Samba/source/lib/ldb/tests/test-tdb.sh | 31 + Samba/source/lib/ldb/tests/test-wildcard.ldif | 5 + .../lib/ldb/tests/test-wrong_attributes.ldif | 3 + Samba/source/lib/ldb/tests/test.ldif | 411 + Samba/source/lib/ldb/tests/testdata.txt | 8 + Samba/source/lib/ldb/tests/testsearch.txt | 5 + Samba/source/lib/ldb/tools/ad2oLschema.c | 626 + Samba/source/lib/ldb/tools/cmdline.c | 755 + Samba/source/lib/ldb/tools/cmdline.h | 54 + Samba/source/lib/ldb/tools/convert.c | 166 + Samba/source/lib/ldb/tools/convert.h | 10 + Samba/source/lib/ldb/tools/ldbadd.c | 120 + Samba/source/lib/ldb/tools/ldbdel.c | 119 + Samba/source/lib/ldb/tools/ldbedit.c | 333 + Samba/source/lib/ldb/tools/ldbmodify.c | 120 + Samba/source/lib/ldb/tools/ldbrename.c | 94 + Samba/source/lib/ldb/tools/ldbsearch.c | 320 + Samba/source/lib/ldb/tools/ldbtest.c | 422 + Samba/source/lib/ldb/tools/oLschema2ldif.c | 607 + Samba/source/lib/ldb/web/index.html | 89 + Samba/source/lib/messaging/config.mk | 14 + Samba/source/lib/messaging/irpc.h | 120 + Samba/source/lib/messaging/messaging.c | 983 + Samba/source/lib/messaging/messaging.h | 40 + Samba/source/lib/popt/CHANGES | 46 + Samba/source/lib/popt/COPYING | 22 + Samba/source/lib/popt/README | 18 + Samba/source/lib/popt/findme.c | 50 + Samba/source/lib/popt/findme.h | 20 + Samba/source/lib/popt/libpopt.m4 | 43 + Samba/source/lib/popt/popt.c | 1238 + Samba/source/lib/popt/popt.h | 541 + Samba/source/lib/popt/poptconfig.c | 190 + Samba/source/lib/popt/popthelp.c | 742 + Samba/source/lib/popt/poptint.h | 116 + Samba/source/lib/popt/poptparse.c | 227 + Samba/source/lib/popt/samba.m4 | 10 + Samba/source/lib/popt/system.h | 74 + Samba/source/lib/registry/Doxyfile | 24 + Samba/source/lib/registry/README | 41 + Samba/source/lib/registry/TODO | 34 + .../lib/registry/common/reg_interface.c | 585 + Samba/source/lib/registry/common/reg_util.c | 248 + Samba/source/lib/registry/config.m4 | 12 + Samba/source/lib/registry/config.mk | 150 + Samba/source/lib/registry/man/regdiff.1.xml | 100 + Samba/source/lib/registry/man/regpatch.1.xml | 86 + Samba/source/lib/registry/man/regshell.1.xml | 186 + Samba/source/lib/registry/man/regtree.1.xml | 98 + Samba/source/lib/registry/patchfile.c | 419 + Samba/source/lib/registry/reg_backend_dir.c | 142 + Samba/source/lib/registry/reg_backend_gconf.c | 197 + Samba/source/lib/registry/reg_backend_ldb.c | 406 + Samba/source/lib/registry/reg_backend_nt4.c | 1125 + Samba/source/lib/registry/reg_backend_rpc.c | 395 + Samba/source/lib/registry/reg_backend_w95.c | 357 + Samba/source/lib/registry/reg_backend_wine.c | 48 + Samba/source/lib/registry/reg_samba.c | 82 + Samba/source/lib/registry/regf.idl | 167 + Samba/source/lib/registry/registry.h | 186 + Samba/source/lib/registry/tools/regdiff.c | 86 + Samba/source/lib/registry/tools/regpatch.c | 75 + Samba/source/lib/registry/tools/regshell.c | 490 + Samba/source/lib/registry/tools/regtree.c | 153 + Samba/source/lib/replace/.checker_innocent | 4 + Samba/source/lib/replace/Makefile.in | 60 + Samba/source/lib/replace/README | 88 + Samba/source/lib/replace/aclocal.m4 | 1 + Samba/source/lib/replace/autoconf-2.60.m4 | 212 + Samba/source/lib/replace/autogen.sh | 13 + Samba/source/lib/replace/config.guess | 1466 ++ Samba/source/lib/replace/config.sub | 1579 ++ Samba/source/lib/replace/configure.ac | 22 + Samba/source/lib/replace/dlfcn.c | 54 + Samba/source/lib/replace/dlfcn.m4 | 18 + Samba/source/lib/replace/getpass.c | 212 + Samba/source/lib/replace/getpass.m4 | 17 + Samba/source/lib/replace/install-sh | 238 + Samba/source/lib/replace/libreplace.m4 | 357 + Samba/source/lib/replace/libreplace_cc.m4 | 167 + Samba/source/lib/replace/libreplace_macros.m4 | 308 + Samba/source/lib/replace/repdir.m4 | 78 + Samba/source/lib/replace/repdir_getdents.c | 167 + .../source/lib/replace/repdir_getdirentries.c | 184 + Samba/source/lib/replace/replace.c | 613 + Samba/source/lib/replace/replace.h | 408 + Samba/source/lib/replace/samba.m4 | 23 + Samba/source/lib/replace/snprintf.c | 1528 ++ Samba/source/lib/replace/system/README | 4 + Samba/source/lib/replace/system/capability.h | 41 + Samba/source/lib/replace/system/config.m4 | 31 + Samba/source/lib/replace/system/dir.h | 64 + Samba/source/lib/replace/system/filesys.h | 170 + Samba/source/lib/replace/system/glob.h | 33 + Samba/source/lib/replace/system/iconv.h | 53 + Samba/source/lib/replace/system/kerberos.h | 132 + Samba/source/lib/replace/system/locale.h | 34 + Samba/source/lib/replace/system/network.h | 113 + Samba/source/lib/replace/system/passwd.h | 91 + Samba/source/lib/replace/system/printing.h | 46 + Samba/source/lib/replace/system/readline.h | 48 + Samba/source/lib/replace/system/select.h | 42 + Samba/source/lib/replace/system/shmem.h | 55 + Samba/source/lib/replace/system/syslog.h | 66 + Samba/source/lib/replace/system/terminal.h | 42 + Samba/source/lib/replace/system/time.h | 40 + Samba/source/lib/replace/system/wait.h | 39 + Samba/source/lib/replace/test/os2_delete.c | 115 + Samba/source/lib/replace/test/shared_mmap.c | 68 + Samba/source/lib/replace/test/testsuite.c | 479 + Samba/source/lib/replace/timegm.c | 78 + Samba/source/lib/replace/timegm.m4 | 1 + Samba/source/lib/replace/win32.m4 | 20 + Samba/source/lib/replace/win32_replace.h | 159 + Samba/source/lib/samba3/README | 8 + Samba/source/lib/samba3/STATUS | 68 + Samba/source/lib/samba3/config.mk | 15 + Samba/source/lib/samba3/group.c | 142 + Samba/source/lib/samba3/idmap.c | 99 + Samba/source/lib/samba3/policy.c | 51 + Samba/source/lib/samba3/registry.c | 148 + Samba/source/lib/samba3/samba3.c | 133 + Samba/source/lib/samba3/samba3.h | 215 + Samba/source/lib/samba3/secrets.c | 264 + Samba/source/lib/samba3/share_info.c | 90 + Samba/source/lib/samba3/smbpasswd.c | 347 + Samba/source/lib/samba3/tdbsam.c | 264 + Samba/source/lib/samba3/winsdb.c | 160 + Samba/source/lib/smbreadline/readline.m4 | 88 + Samba/source/lib/smbreadline/smbreadline.c | 166 + Samba/source/lib/smbreadline/smbreadline.h | 9 + Samba/source/lib/socket/access.c | 362 + Samba/source/lib/socket/config.m4 | 143 + Samba/source/lib/socket/config.mk | 59 + Samba/source/lib/socket/connect.c | 216 + Samba/source/lib/socket/connect_multi.c | 275 + Samba/source/lib/socket/interface.c | 354 + Samba/source/lib/socket/netif.c | 411 + Samba/source/lib/socket/netif.h | 33 + Samba/source/lib/socket/socket.c | 549 + Samba/source/lib/socket/socket.h | 200 + Samba/source/lib/socket/socket_ipv4.c | 537 + Samba/source/lib/socket/socket_ipv6.c | 419 + Samba/source/lib/socket/socket_unix.c | 421 + Samba/source/lib/socket_wrapper/config.m4 | 18 + Samba/source/lib/socket_wrapper/config.mk | 11 + .../lib/socket_wrapper/socket_wrapper.c | 1598 ++ .../lib/socket_wrapper/socket_wrapper.h | 133 + Samba/source/lib/stream/config.mk | 8 + Samba/source/lib/stream/packet.c | 566 + Samba/source/lib/stream/packet.h | 60 + Samba/source/lib/talloc/Makefile.in | 71 + Samba/source/lib/talloc/aclocal.m4 | 1 + Samba/source/lib/talloc/autogen.sh | 14 + Samba/source/lib/talloc/config.guess | 1466 ++ Samba/source/lib/talloc/config.mk | 13 + Samba/source/lib/talloc/config.sub | 1579 ++ Samba/source/lib/talloc/configure.ac | 18 + Samba/source/lib/talloc/install-sh | 238 + Samba/source/lib/talloc/libtalloc.m4 | 27 + Samba/source/lib/talloc/talloc.3.xml | 718 + Samba/source/lib/talloc/talloc.c | 1437 ++ Samba/source/lib/talloc/talloc.h | 167 + Samba/source/lib/talloc/talloc.pc.in | 11 + Samba/source/lib/talloc/talloc_guide.txt | 653 + Samba/source/lib/talloc/testsuite.c | 1075 + Samba/source/lib/talloc/web/index.html | 49 + Samba/source/lib/tdb/Makefile.in | 89 + Samba/source/lib/tdb/aclocal.m4 | 1 + Samba/source/lib/tdb/autogen.sh | 14 + Samba/source/lib/tdb/common/dump.c | 135 + Samba/source/lib/tdb/common/error.c | 58 + Samba/source/lib/tdb/common/freelist.c | 331 + Samba/source/lib/tdb/common/freelistcheck.c | 108 + Samba/source/lib/tdb/common/io.c | 391 + Samba/source/lib/tdb/common/lock.c | 342 + Samba/source/lib/tdb/common/open.c | 465 + Samba/source/lib/tdb/common/tdb.c | 441 + Samba/source/lib/tdb/common/tdb_private.h | 202 + Samba/source/lib/tdb/common/transaction.c | 1052 + Samba/source/lib/tdb/common/traverse.c | 335 + Samba/source/lib/tdb/config.guess | 1466 ++ Samba/source/lib/tdb/config.mk | 70 + Samba/source/lib/tdb/config.sub | 1579 ++ Samba/source/lib/tdb/configure.ac | 10 + Samba/source/lib/tdb/docs/README | 235 + Samba/source/lib/tdb/docs/tdb.magic | 10 + Samba/source/lib/tdb/include/tdb.h | 147 + Samba/source/lib/tdb/install-sh | 238 + Samba/source/lib/tdb/libtdb.m4 | 56 + Samba/source/lib/tdb/swig/Tdb.py | 116 + Samba/source/lib/tdb/swig/tdb.i | 168 + Samba/source/lib/tdb/tdb.pc.in | 10 + Samba/source/lib/tdb/tools/tdbbackup.c | 125 + Samba/source/lib/tdb/tools/tdbdump.c | 79 + Samba/source/lib/tdb/tools/tdbtest.c | 265 + Samba/source/lib/tdb/tools/tdbtool.c | 542 + Samba/source/lib/tdb/tools/tdbtorture.c | 318 + Samba/source/lib/tdr/TODO | 1 + Samba/source/lib/tdr/config.mk | 9 + Samba/source/lib/tdr/tdr.c | 415 + Samba/source/lib/tdr/tdr.h | 67 + Samba/source/lib/tls/config.m4 | 31 + Samba/source/lib/tls/config.mk | 11 + Samba/source/lib/tls/tls.c | 693 + Samba/source/lib/tls/tls.h | 66 + Samba/source/lib/tls/tlscert.c | 158 + Samba/source/lib/util/Doxyfile | 24 + Samba/source/lib/util/byteorder.h | 224 + Samba/source/lib/util/capability.c | 104 + Samba/source/lib/util/capability.m4 | 17 + Samba/source/lib/util/config.mk | 58 + Samba/source/lib/util/data_blob.c | 231 + Samba/source/lib/util/debug.c | 255 + Samba/source/lib/util/debug.h | 76 + Samba/source/lib/util/dlinklist.h | 114 + Samba/source/lib/util/dprintf.c | 107 + Samba/source/lib/util/fault.c | 226 + Samba/source/lib/util/fault.m4 | 2 + Samba/source/lib/util/fsusage.c | 155 + Samba/source/lib/util/fsusage.m4 | 190 + Samba/source/lib/util/genrand.c | 329 + Samba/source/lib/util/idtree.c | 392 + Samba/source/lib/util/mainpage.dox | 11 + Samba/source/lib/util/module.c | 112 + Samba/source/lib/util/ms_fnmatch.c | 223 + Samba/source/lib/util/mutex.c | 57 + Samba/source/lib/util/mutex.h | 76 + Samba/source/lib/util/safe_string.h | 45 + Samba/source/lib/util/signal.c | 145 + Samba/source/lib/util/signal.m4 | 1 + Samba/source/lib/util/system.c | 98 + Samba/source/lib/util/time.c | 623 + Samba/source/lib/util/time.m4 | 9 + Samba/source/lib/util/unix_privs.c | 78 + Samba/source/lib/util/util.c | 596 + Samba/source/lib/util/util.h | 133 + Samba/source/lib/util/util.m4 | 1 + Samba/source/lib/util/util_file.c | 405 + Samba/source/lib/util/util_getent.c | 284 + Samba/source/lib/util/util_pw.c | 89 + Samba/source/lib/util/util_str.c | 797 + Samba/source/lib/util/util_strlist.c | 300 + Samba/source/lib/util/util_tdb.c | 541 + Samba/source/lib/util/wrap_xattr.c | 121 + Samba/source/lib/util/xattr.m4 | 32 + Samba/source/lib/util/xfile.c | 390 + Samba/source/lib/util/xfile.h | 49 + Samba/source/lib/version.c | 28 + Samba/source/libcli/auth/config.mk | 13 + Samba/source/libcli/auth/credentials.c | 376 + Samba/source/libcli/auth/credentials.h | 47 + Samba/source/libcli/auth/libcli_auth.h | 25 + Samba/source/libcli/auth/session.c | 219 + Samba/source/libcli/auth/smbdes.c | 381 + Samba/source/libcli/auth/smbencrypt.c | 536 + Samba/source/libcli/cldap/cldap.c | 717 + Samba/source/libcli/cldap/cldap.h | 177 + Samba/source/libcli/cliconnect.c | 240 + Samba/source/libcli/clideltree.c | 121 + Samba/source/libcli/clifile.c | 701 + Samba/source/libcli/clilist.c | 354 + Samba/source/libcli/climessage.c | 94 + Samba/source/libcli/clireadwrite.c | 166 + Samba/source/libcli/clitrans2.c | 224 + Samba/source/libcli/composite/composite.c | 202 + Samba/source/libcli/composite/composite.h | 72 + Samba/source/libcli/config.m4 | 31 + Samba/source/libcli/config.mk | 152 + Samba/source/libcli/dgram/browse.c | 109 + Samba/source/libcli/dgram/dgramsocket.c | 242 + Samba/source/libcli/dgram/libdgram.h | 163 + Samba/source/libcli/dgram/mailslot.c | 234 + Samba/source/libcli/dgram/netlogon.c | 120 + Samba/source/libcli/dgram/ntlogon.c | 122 + Samba/source/libcli/finddcs.c | 256 + Samba/source/libcli/ldap/config.mk | 17 + Samba/source/libcli/ldap/ldap.c | 1372 + Samba/source/libcli/ldap/ldap.h | 257 + Samba/source/libcli/ldap/ldap_bind.c | 400 + Samba/source/libcli/ldap/ldap_client.c | 782 + Samba/source/libcli/ldap/ldap_client.h | 95 + Samba/source/libcli/ldap/ldap_controls.c | 1168 + Samba/source/libcli/ldap/ldap_ildap.c | 244 + Samba/source/libcli/ldap/ldap_msg.c | 87 + Samba/source/libcli/ldap/ldap_ndr.c | 93 + Samba/source/libcli/libcli.h | 58 + Samba/source/libcli/nbt/libnbt.h | 270 + Samba/source/libcli/nbt/namequery.c | 234 + Samba/source/libcli/nbt/namerefresh.c | 296 + Samba/source/libcli/nbt/nameregister.c | 436 + Samba/source/libcli/nbt/namerelease.c | 134 + Samba/source/libcli/nbt/nbtname.c | 595 + Samba/source/libcli/nbt/nbtsocket.c | 526 + Samba/source/libcli/rap/rap.h | 359 + Samba/source/libcli/raw/README | 5 + Samba/source/libcli/raw/clioplock.c | 62 + Samba/source/libcli/raw/clisession.c | 295 + Samba/source/libcli/raw/clisocket.c | 298 + Samba/source/libcli/raw/clitransport.c | 675 + Samba/source/libcli/raw/clitree.c | 201 + Samba/source/libcli/raw/interfaces.h | 2540 ++ Samba/source/libcli/raw/ioctl.h | 60 + Samba/source/libcli/raw/libcliraw.h | 281 + Samba/source/libcli/raw/rawacl.c | 159 + Samba/source/libcli/raw/rawdate.c | 82 + Samba/source/libcli/raw/raweas.c | 361 + Samba/source/libcli/raw/rawfile.c | 945 + Samba/source/libcli/raw/rawfileinfo.c | 751 + Samba/source/libcli/raw/rawfsinfo.c | 332 + Samba/source/libcli/raw/rawioctl.c | 173 + Samba/source/libcli/raw/rawlpq.c | 48 + Samba/source/libcli/raw/rawnegotiate.c | 197 + Samba/source/libcli/raw/rawnotify.c | 168 + Samba/source/libcli/raw/rawreadwrite.c | 346 + Samba/source/libcli/raw/rawrequest.c | 973 + Samba/source/libcli/raw/rawsearch.c | 796 + Samba/source/libcli/raw/rawsetfileinfo.c | 431 + Samba/source/libcli/raw/rawtrans.c | 641 + Samba/source/libcli/raw/request.h | 62 + Samba/source/libcli/raw/signing.h | 44 + Samba/source/libcli/raw/smb.h | 593 + Samba/source/libcli/raw/smb_signing.c | 400 + Samba/source/libcli/raw/trans2.h | 435 + Samba/source/libcli/resolve/bcast.c | 80 + Samba/source/libcli/resolve/host.c | 220 + Samba/source/libcli/resolve/nbtlist.c | 194 + Samba/source/libcli/resolve/resolve.c | 217 + Samba/source/libcli/resolve/resolve.h | 29 + Samba/source/libcli/resolve/wins.c | 58 + Samba/source/libcli/security/access_check.c | 152 + Samba/source/libcli/security/config.mk | 13 + Samba/source/libcli/security/dom_sid.c | 292 + Samba/source/libcli/security/privilege.c | 241 + Samba/source/libcli/security/sddl.c | 582 + Samba/source/libcli/security/security.h | 22 + .../libcli/security/security_descriptor.c | 366 + Samba/source/libcli/security/security_token.c | 144 + Samba/source/libcli/smb2/cancel.c | 78 + Samba/source/libcli/smb2/close.c | 80 + Samba/source/libcli/smb2/config.mk | 25 + Samba/source/libcli/smb2/connect.c | 224 + Samba/source/libcli/smb2/create.c | 164 + Samba/source/libcli/smb2/find.c | 180 + Samba/source/libcli/smb2/flush.c | 69 + Samba/source/libcli/smb2/getinfo.c | 210 + Samba/source/libcli/smb2/ioctl.c | 110 + Samba/source/libcli/smb2/keepalive.c | 66 + Samba/source/libcli/smb2/lock.c | 75 + Samba/source/libcli/smb2/logoff.c | 68 + Samba/source/libcli/smb2/negprot.c | 96 + Samba/source/libcli/smb2/notify.c | 114 + Samba/source/libcli/smb2/read.c | 83 + Samba/source/libcli/smb2/request.c | 635 + Samba/source/libcli/smb2/session.c | 258 + Samba/source/libcli/smb2/setinfo.c | 116 + Samba/source/libcli/smb2/smb2.h | 215 + Samba/source/libcli/smb2/smb2_calls.h | 99 + Samba/source/libcli/smb2/tcon.c | 104 + Samba/source/libcli/smb2/tdis.c | 66 + Samba/source/libcli/smb2/transport.c | 353 + Samba/source/libcli/smb2/write.c | 82 + Samba/source/libcli/smb_composite/appendacl.c | 312 + Samba/source/libcli/smb_composite/connect.c | 500 + Samba/source/libcli/smb_composite/fetchfile.c | 187 + Samba/source/libcli/smb_composite/fsinfo.c | 202 + Samba/source/libcli/smb_composite/loadfile.c | 294 + Samba/source/libcli/smb_composite/savefile.c | 288 + Samba/source/libcli/smb_composite/sesssetup.c | 523 + .../libcli/smb_composite/smb_composite.h | 176 + Samba/source/libcli/smbc/README | 1 + Samba/source/libcli/swig/libcli_nbt.i | 136 + Samba/source/libcli/util/asn1.c | 657 + Samba/source/libcli/util/asn_1.h | 55 + Samba/source/libcli/util/clierror.c | 73 + Samba/source/libcli/util/clilsa.c | 354 + Samba/source/libcli/util/doserr.c | 139 + Samba/source/libcli/util/doserr.h | 281 + Samba/source/libcli/util/error.h | 27 + Samba/source/libcli/util/errormap.c | 1378 ++ Samba/source/libcli/util/nt_status.h | 121 + Samba/source/libcli/util/nterr.c | 896 + Samba/source/libcli/util/nterr.h | 589 + Samba/source/libcli/wrepl/winsrepl.c | 862 + Samba/source/libcli/wrepl/winsrepl.h | 158 + Samba/source/libnet/composite.h | 44 + Samba/source/libnet/config.mk | 30 + Samba/source/libnet/libnet.c | 53 + Samba/source/libnet/libnet.h | 68 + Samba/source/libnet/libnet_become_dc.c | 2113 ++ Samba/source/libnet/libnet_become_dc.h | 33 + Samba/source/libnet/libnet_domain.c | 885 + Samba/source/libnet/libnet_domain.h | 49 + Samba/source/libnet/libnet_join.c | 1196 + Samba/source/libnet/libnet_join.h | 83 + Samba/source/libnet/libnet_lookup.c | 448 + Samba/source/libnet/libnet_lookup.h | 58 + Samba/source/libnet/libnet_passwd.c | 703 + Samba/source/libnet/libnet_passwd.h | 138 + Samba/source/libnet/libnet_rpc.c | 871 + Samba/source/libnet/libnet_rpc.h | 79 + Samba/source/libnet/libnet_samdump.c | 204 + Samba/source/libnet/libnet_samdump_keytab.c | 116 + Samba/source/libnet/libnet_samsync_ldb.c | 1232 + Samba/source/libnet/libnet_share.c | 202 + Samba/source/libnet/libnet_share.h | 71 + Samba/source/libnet/libnet_site.c | 254 + Samba/source/libnet/libnet_site.h | 35 + Samba/source/libnet/libnet_time.c | 122 + Samba/source/libnet/libnet_time.h | 47 + Samba/source/libnet/libnet_unbecome_dc.c | 571 + Samba/source/libnet/libnet_unbecome_dc.h | 32 + Samba/source/libnet/libnet_user.c | 1134 + Samba/source/libnet/libnet_user.h | 134 + Samba/source/libnet/libnet_vampire.c | 384 + Samba/source/libnet/libnet_vampire.h | 84 + Samba/source/libnet/prereq_domain.c | 138 + Samba/source/libnet/userinfo.c | 368 + Samba/source/libnet/userinfo.h | 55 + Samba/source/libnet/userman.c | 968 + Samba/source/libnet/userman.h | 105 + Samba/source/librpc/config.mk.breakpad | 723 + Samba/source/librpc/config.mk.nobreakpad | 718 + Samba/source/librpc/idl-deps.pl | 22 + Samba/source/librpc/idl/IDL_LICENSE.txt | 9 + Samba/source/librpc/idl/atsvc.idl | 119 + Samba/source/librpc/idl/audiosrv.idl | 23 + Samba/source/librpc/idl/browser.idl | 58 + Samba/source/librpc/idl/dbgidl.idl | 9 + Samba/source/librpc/idl/dcerpc.idl | 302 + Samba/source/librpc/idl/dcom.idl | 301 + Samba/source/librpc/idl/dcom_wmi.inc | 863 + Samba/source/librpc/idl/dfs.idl | 394 + Samba/source/librpc/idl/dnsserver.idl | 12 + Samba/source/librpc/idl/drsblobs.idl | 166 + Samba/source/librpc/idl/drsuapi.idl | 1490 ++ Samba/source/librpc/idl/dsbackup.idl | 34 + Samba/source/librpc/idl/dssetup.idl | 99 + Samba/source/librpc/idl/echo.idl | 127 + Samba/source/librpc/idl/efs.idl | 108 + Samba/source/librpc/idl/epmapper.idl | 302 + Samba/source/librpc/idl/eventlog.idl | 179 + Samba/source/librpc/idl/frsapi.idl | 49 + Samba/source/librpc/idl/frsrpc.idl | 53 + Samba/source/librpc/idl/idl_types.h | 86 + Samba/source/librpc/idl/initshutdown.idl | 46 + Samba/source/librpc/idl/irpc.idl | 127 + Samba/source/librpc/idl/keysvc.idl | 16 + Samba/source/librpc/idl/krb5pac.idl | 96 + Samba/source/librpc/idl/lsa.idl | 976 + Samba/source/librpc/idl/mgmt.idl | 74 + Samba/source/librpc/idl/misc.idl | 48 + Samba/source/librpc/idl/msgsvc.idl | 22 + Samba/source/librpc/idl/nbt.idl | 701 + Samba/source/librpc/idl/netlogon.idl | 1203 + Samba/source/librpc/idl/nfs4acl.idl | 42 + Samba/source/librpc/idl/notify.idl | 56 + Samba/source/librpc/idl/ntsvcs.idl | 77 + Samba/source/librpc/idl/opendb.idl | 40 + Samba/source/librpc/idl/orpc.idl | 228 + Samba/source/librpc/idl/oxidresolver.idl | 94 + Samba/source/librpc/idl/policyagent.idl | 13 + Samba/source/librpc/idl/protected_storage.idl | 14 + Samba/source/librpc/idl/remact.idl | 46 + Samba/source/librpc/idl/rot.idl | 44 + Samba/source/librpc/idl/samr.idl | 1250 + Samba/source/librpc/idl/sasl_helpers.idl | 22 + Samba/source/librpc/idl/scerpc.idl | 18 + Samba/source/librpc/idl/schannel.idl | 44 + Samba/source/librpc/idl/security.cnf | 1 + Samba/source/librpc/idl/security.idl | 356 + Samba/source/librpc/idl/spoolss.idl | 1416 ++ Samba/source/librpc/idl/srvsvc.idl | 1511 ++ Samba/source/librpc/idl/svcctl.idl | 459 + Samba/source/librpc/idl/trkwks.idl | 17 + Samba/source/librpc/idl/unixinfo.idl | 56 + Samba/source/librpc/idl/w32time.idl | 21 + Samba/source/librpc/idl/winbind.idl | 39 + Samba/source/librpc/idl/winreg.cnf | 52 + Samba/source/librpc/idl/winreg.idl | 365 + Samba/source/librpc/idl/wins.idl | 27 + Samba/source/librpc/idl/winsrepl.idl | 175 + Samba/source/librpc/idl/winstation.idl | 13 + Samba/source/librpc/idl/wkssvc.idl | 394 + Samba/source/librpc/idl/wzcsvc.idl | 31 + Samba/source/librpc/idl/xattr.idl | 115 + Samba/source/librpc/ndr/libndr.h | 326 + Samba/source/librpc/ndr/ndr.c | 1016 + Samba/source/librpc/ndr/ndr_basic.c | 850 + Samba/source/librpc/ndr/ndr_compression.c | 293 + Samba/source/librpc/ndr/ndr_dcom.c | 902 + Samba/source/librpc/ndr/ndr_drsuapi.c | 64 + Samba/source/librpc/ndr/ndr_krb5pac.c | 141 + Samba/source/librpc/ndr/ndr_misc.c | 41 + Samba/source/librpc/ndr/ndr_orpc.c | 181 + Samba/source/librpc/ndr/ndr_sec_helper.c | 204 + Samba/source/librpc/ndr/ndr_spoolss_buf.c | 531 + Samba/source/librpc/ndr/ndr_string.c | 622 + Samba/source/librpc/ndr/uuid.c | 150 + Samba/source/librpc/rpc/dcerpc.c | 1707 ++ Samba/source/librpc/rpc/dcerpc.h | 263 + Samba/source/librpc/rpc/dcerpc_auth.c | 383 + Samba/source/librpc/rpc/dcerpc_connect.c | 1210 + Samba/source/librpc/rpc/dcerpc_error.c | 56 + Samba/source/librpc/rpc/dcerpc_schannel.c | 405 + Samba/source/librpc/rpc/dcerpc_smb.c | 582 + Samba/source/librpc/rpc/dcerpc_smb2.c | 482 + Samba/source/librpc/rpc/dcerpc_sock.c | 751 + Samba/source/librpc/rpc/dcerpc_util.c | 1409 ++ Samba/source/librpc/rpc/table.c | 135 + Samba/source/librpc/tables.pl | 89 + Samba/source/main.mk | 417 + Samba/source/nbt_server/config.mk | 73 + Samba/source/nbt_server/defense.c | 80 + Samba/source/nbt_server/dgram/browse.c | 85 + Samba/source/nbt_server/dgram/netlogon.c | 268 + Samba/source/nbt_server/dgram/ntlogon.c | 118 + Samba/source/nbt_server/dgram/request.c | 146 + Samba/source/nbt_server/interfaces.c | 349 + Samba/source/nbt_server/irpc.c | 216 + Samba/source/nbt_server/nbt_server.c | 95 + Samba/source/nbt_server/nbt_server.h | 90 + Samba/source/nbt_server/nodestatus.c | 127 + Samba/source/nbt_server/packet.c | 342 + Samba/source/nbt_server/query.c | 101 + Samba/source/nbt_server/register.c | 292 + Samba/source/nbt_server/wins/wins_dns_proxy.c | 98 + Samba/source/nbt_server/wins/wins_hook.c | 95 + Samba/source/nbt_server/wins/wins_ldb.c | 124 + Samba/source/nbt_server/wins/winsclient.c | 257 + Samba/source/nbt_server/wins/winsdb.c | 1053 + Samba/source/nbt_server/wins/winsdb.h | 79 + Samba/source/nbt_server/wins/winsserver.c | 863 + Samba/source/nbt_server/wins/winsserver.h | 66 + Samba/source/nbt_server/wins/winswack.c | 381 + Samba/source/nsswitch/config.m4 | 1 + Samba/source/nsswitch/config.mk | 5 + Samba/source/nsswitch/wb_common.c | 613 + Samba/source/nsswitch/winbind_client.h | 16 + Samba/source/nsswitch/winbind_nss.h | 71 + Samba/source/nsswitch/winbind_nss_config.h | 111 + Samba/source/nsswitch/winbind_nss_hpux.h | 139 + Samba/source/nsswitch/winbind_nss_irix.h | 48 + Samba/source/nsswitch/winbind_nss_linux.h | 35 + Samba/source/nsswitch/winbind_nss_solaris.h | 61 + Samba/source/nsswitch/winbindd_nss.h | 342 + Samba/source/ntptr/config.mk | 25 + Samba/source/ntptr/ntptr.h | 233 + Samba/source/ntptr/ntptr_base.c | 147 + Samba/source/ntptr/ntptr_interface.c | 596 + .../ntptr/simple_ldb/ntptr_simple_ldb.c | 847 + Samba/source/ntvfs/README | 26 + Samba/source/ntvfs/cifs/README | 40 + Samba/source/ntvfs/cifs/vfs_cifs.c | 1106 + Samba/source/ntvfs/cifs_posix_cli/README | 12 + Samba/source/ntvfs/cifs_posix_cli/cifsposix.h | 38 + Samba/source/ntvfs/cifs_posix_cli/svfs_util.c | 188 + .../ntvfs/cifs_posix_cli/vfs_cifs_posix.c | 1082 + Samba/source/ntvfs/common/brlock.c | 688 + Samba/source/ntvfs/common/config.mk | 12 + Samba/source/ntvfs/common/init.c | 33 + Samba/source/ntvfs/common/notify.c | 659 + Samba/source/ntvfs/common/opendb.c | 605 + Samba/source/ntvfs/config.mk | 96 + Samba/source/ntvfs/ipc/README | 5 + Samba/source/ntvfs/ipc/ipc.h | 0 Samba/source/ntvfs/ipc/ipc_rap.c | 462 + Samba/source/ntvfs/ipc/np_echo.c | 0 Samba/source/ntvfs/ipc/rap_server.c | 83 + Samba/source/ntvfs/ipc/vfs_ipc.c | 913 + Samba/source/ntvfs/nbench/README | 13 + Samba/source/ntvfs/nbench/vfs_nbench.c | 973 + Samba/source/ntvfs/ntvfs.h | 313 + Samba/source/ntvfs/ntvfs_base.c | 211 + Samba/source/ntvfs/ntvfs_generic.c | 1387 ++ Samba/source/ntvfs/ntvfs_interface.c | 717 + Samba/source/ntvfs/ntvfs_util.c | 202 + Samba/source/ntvfs/posix/config.m4 | 31 + Samba/source/ntvfs/posix/config.mk | 61 + Samba/source/ntvfs/posix/pvfs_acl.c | 739 + Samba/source/ntvfs/posix/pvfs_acl_nfs4.c | 163 + Samba/source/ntvfs/posix/pvfs_acl_xattr.c | 105 + Samba/source/ntvfs/posix/pvfs_dirlist.c | 404 + Samba/source/ntvfs/posix/pvfs_fileinfo.c | 121 + Samba/source/ntvfs/posix/pvfs_flush.c | 79 + Samba/source/ntvfs/posix/pvfs_fsinfo.c | 208 + Samba/source/ntvfs/posix/pvfs_ioctl.c | 81 + Samba/source/ntvfs/posix/pvfs_lock.c | 395 + Samba/source/ntvfs/posix/pvfs_mkdir.c | 195 + Samba/source/ntvfs/posix/pvfs_notify.c | 284 + Samba/source/ntvfs/posix/pvfs_open.c | 1538 ++ Samba/source/ntvfs/posix/pvfs_qfileinfo.c | 425 + Samba/source/ntvfs/posix/pvfs_read.c | 94 + Samba/source/ntvfs/posix/pvfs_rename.c | 478 + Samba/source/ntvfs/posix/pvfs_resolve.c | 634 + Samba/source/ntvfs/posix/pvfs_search.c | 843 + Samba/source/ntvfs/posix/pvfs_seek.c | 65 + Samba/source/ntvfs/posix/pvfs_setfileinfo.c | 635 + Samba/source/ntvfs/posix/pvfs_shortname.c | 695 + Samba/source/ntvfs/posix/pvfs_streams.c | 358 + Samba/source/ntvfs/posix/pvfs_unlink.c | 185 + Samba/source/ntvfs/posix/pvfs_util.c | 203 + Samba/source/ntvfs/posix/pvfs_wait.c | 191 + Samba/source/ntvfs/posix/pvfs_write.c | 87 + Samba/source/ntvfs/posix/pvfs_xattr.c | 477 + Samba/source/ntvfs/posix/vfs_posix.c | 358 + Samba/source/ntvfs/posix/vfs_posix.h | 243 + Samba/source/ntvfs/posix/xattr_system.c | 147 + Samba/source/ntvfs/posix/xattr_tdb.c | 233 + Samba/source/ntvfs/print/README | 3 + Samba/source/ntvfs/print/vfs_print.c | 125 + Samba/source/ntvfs/simple/README | 10 + Samba/source/ntvfs/simple/svfs.h | 38 + Samba/source/ntvfs/simple/svfs_util.c | 185 + Samba/source/ntvfs/simple/vfs_simple.c | 1079 + Samba/source/ntvfs/sysdep/README | 5 + Samba/source/ntvfs/sysdep/config.m4 | 17 + Samba/source/ntvfs/sysdep/config.mk | 18 + Samba/source/ntvfs/sysdep/inotify.c | 419 + Samba/source/ntvfs/sysdep/sys_notify.c | 140 + Samba/source/ntvfs/sysdep/sys_notify.h | 53 + Samba/source/ntvfs/unixuid/config.m4 | 1 + Samba/source/ntvfs/unixuid/config.mk | 10 + Samba/source/ntvfs/unixuid/vfs_unixuid.c | 697 + Samba/source/param/config.mk | 51 + Samba/source/param/generic.c | 269 + Samba/source/param/loadparm.c | 2739 ++ Samba/source/param/loadparm.h | 81 + Samba/source/param/param.h | 48 + Samba/source/param/params.c | 588 + Samba/source/param/secrets.c | 177 + Samba/source/param/secrets.h | 40 + Samba/source/param/share.c | 161 + Samba/source/param/share.h | 118 + Samba/source/param/share_classic.c | 331 + Samba/source/param/share_ldb.c | 585 + Samba/source/param/util.c | 196 + Samba/source/pidl/MANIFEST | 43 + Samba/source/pidl/Makefile.PL | 15 + Samba/source/pidl/README | 63 + Samba/source/pidl/TODO | 23 + Samba/source/pidl/idl.yp | 560 + Samba/source/pidl/lib/Parse/Pidl.pm | 16 + Samba/source/pidl/lib/Parse/Pidl/Compat.pm | 180 + Samba/source/pidl/lib/Parse/Pidl/Dump.pm | 292 + Samba/source/pidl/lib/Parse/Pidl/IDL.pm | 3248 +++ Samba/source/pidl/lib/Parse/Pidl/NDR.pm | 1136 + Samba/source/pidl/lib/Parse/Pidl/ODL.pm | 101 + .../pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm | 149 + .../pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm | 230 + Samba/source/pidl/lib/Parse/Pidl/Samba4.pm | 94 + .../pidl/lib/Parse/Pidl/Samba4/COM/Header.pm | 184 + .../pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm | 397 + .../pidl/lib/Parse/Pidl/Samba4/COM/Stub.pm | 327 + .../source/pidl/lib/Parse/Pidl/Samba4/EJS.pm | 902 + .../pidl/lib/Parse/Pidl/Samba4/Header.pm | 407 + .../pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm | 128 + .../pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 2543 ++ .../pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm | 325 + .../source/pidl/lib/Parse/Pidl/Samba4/SWIG.pm | 176 + .../source/pidl/lib/Parse/Pidl/Samba4/TDR.pm | 263 + .../pidl/lib/Parse/Pidl/Samba4/Template.pm | 99 + Samba/source/pidl/lib/Parse/Pidl/Typelist.pm | 230 + Samba/source/pidl/lib/Parse/Pidl/Util.pm | 123 + .../lib/Parse/Pidl/Wireshark/Conformance.pm | 360 + .../pidl/lib/Parse/Pidl/Wireshark/NDR.pm | 1098 + Samba/source/pidl/pidl | 777 + Samba/source/pidl/ref_notes.txt | 220 + Samba/source/pidl/smb_interfaces.pm | 1272 + Samba/source/pidl/smb_interfaces.yp | 233 + Samba/source/pidl/tests/Util.pm | 87 + Samba/source/pidl/tests/ndr_align.pl | 144 + Samba/source/pidl/tests/ndr_alloc.pl | 119 + Samba/source/pidl/tests/ndr_array.pl | 38 + Samba/source/pidl/tests/ndr_fullptr.pl | 41 + Samba/source/pidl/tests/ndr_refptr.pl | 527 + Samba/source/pidl/tests/ndr_represent.pl | 43 + Samba/source/pidl/tests/ndr_simple.pl | 29 + Samba/source/pidl/tests/ndr_string.pl | 84 + Samba/source/pidl/tests/ndr_tagtype.pl | 38 + Samba/source/pidl/tests/parse_idl.pl | 90 + Samba/source/rpc_server/common/common.h | 64 + Samba/source/rpc_server/common/server_info.c | 144 + Samba/source/rpc_server/common/share_info.c | 118 + Samba/source/rpc_server/config.mk | 196 + Samba/source/rpc_server/dcerpc_server.c | 1384 ++ Samba/source/rpc_server/dcerpc_server.h | 274 + Samba/source/rpc_server/dcerpc_sock.c | 328 + Samba/source/rpc_server/dcesrv_auth.c | 520 + .../rpc_server/drsuapi/dcesrv_drsuapi.c | 438 + .../rpc_server/drsuapi/dcesrv_drsuapi.h | 35 + Samba/source/rpc_server/echo/rpc_echo.c | 194 + .../source/rpc_server/epmapper/rpc_epmapper.c | 266 + Samba/source/rpc_server/handles.c | 91 + Samba/source/rpc_server/lsa/dcesrv_lsa.c | 3583 +++ .../rpc_server/netlogon/dcerpc_netlogon.c | 1237 + Samba/source/rpc_server/remote/README | 38 + .../source/rpc_server/remote/dcesrv_remote.c | 323 + Samba/source/rpc_server/samr/dcesrv_samr.c | 4153 ++++ Samba/source/rpc_server/samr/dcesrv_samr.h | 65 + Samba/source/rpc_server/samr/samr_password.c | 601 + .../rpc_server/spoolss/dcesrv_spoolss.c | 1491 ++ .../source/rpc_server/srvsvc/dcesrv_srvsvc.c | 2326 ++ Samba/source/rpc_server/srvsvc/srvsvc_ntvfs.c | 137 + .../rpc_server/unixinfo/dcesrv_unixinfo.c | 164 + Samba/source/rpc_server/winreg/README | 3 + Samba/source/rpc_server/winreg/rpc_winreg.c | 579 + .../source/rpc_server/wkssvc/dcesrv_wkssvc.c | 417 + Samba/source/samba4-knownfail | 3 + Samba/source/script/build_idl.sh | 36 + Samba/source/script/build_smb_interfaces.pl | 161 + Samba/source/script/buildtree.pl | 40 + Samba/source/script/cflags.pl | 27 + Samba/source/script/configure_check_unused.pl | 124 + Samba/source/script/depfilter.py | 50 + Samba/source/script/extract_allparms.sh | 2 + Samba/source/script/find_unused_macros.pl | 38 + .../source/script/find_unused_makefilevars.pl | 46 + Samba/source/script/find_unused_options.sh | 37 + Samba/source/script/findstatic.pl | 70 + Samba/source/script/gdb_backtrace | 87 + Samba/source/script/gdb_backtrace_test.c | 42 + Samba/source/script/installbin.sh | 40 + Samba/source/script/installdat.sh | 23 + Samba/source/script/installdirs.sh | 17 + Samba/source/script/installheader.pl | 105 + Samba/source/script/installjsonrpc.sh | 32 + Samba/source/script/installlib.sh | 30 + Samba/source/script/installman.sh | 30 + Samba/source/script/installmisc.sh | 26 + Samba/source/script/installmodules.sh | 33 + Samba/source/script/installpc.sh | 16 + Samba/source/script/installscripts.sh | 47 + Samba/source/script/installswat.sh | 38 + Samba/source/script/installtorture.sh | 18 + Samba/source/script/lex_compile.sh | 28 + Samba/source/script/minimal_includes.pl | 150 + Samba/source/script/mkinstalldirs | 38 + Samba/source/script/mkproto.pl | 255 + Samba/source/script/mkversion.sh | 168 + Samba/source/script/pkg-config | 145 + Samba/source/script/revert.sh | 18 + Samba/source/script/subunit-summary | 65 + Samba/source/script/tests/README | 4 + Samba/source/script/tests/mktestsetup.sh | 448 + .../script/tests/mktestsetup.sh.share_ldb | 5 + Samba/source/script/tests/selftest.sh | 153 + .../script/tests/test_binding_string.sh | 34 + Samba/source/script/tests/test_cifsdd.sh | 79 + Samba/source/script/tests/test_echo.sh | 60 + Samba/source/script/tests/test_ejs.sh | 38 + Samba/source/script/tests/test_functions.sh | 215 + Samba/source/script/tests/test_ldap.sh | 99 + Samba/source/script/tests/test_local.sh | 39 + Samba/source/script/tests/test_nbt.sh | 35 + Samba/source/script/tests/test_net.sh | 40 + Samba/source/script/tests/test_pidl.sh | 20 + Samba/source/script/tests/test_posix.sh | 77 + Samba/source/script/tests/test_quick.sh | 39 + Samba/source/script/tests/test_rpc.sh | 58 + Samba/source/script/tests/test_rpc_quick.sh | 40 + Samba/source/script/tests/test_s3upgrade.sh | 15 + Samba/source/script/tests/test_session_key.sh | 54 + Samba/source/script/tests/test_simple.sh | 34 + Samba/source/script/tests/test_smbclient.sh | 90 + Samba/source/script/tests/test_swig.sh | 24 + Samba/source/script/tests/test_w2k3.sh | 52 + Samba/source/script/tests/test_w2k3_file.sh | 52 + Samba/source/script/tests/test_win.sh | 36 + Samba/source/script/tests/tests_all.sh | 16 + Samba/source/script/tests/tests_client.sh | 3 + Samba/source/script/tests/tests_net.sh | 2 + Samba/source/script/tests/tests_quick.sh | 12 + Samba/source/script/tests/tests_win.sh | 34 + Samba/source/script/tests/tests_xterm.sh | 11 + Samba/source/script/tests/win/README | 121 + Samba/source/script/tests/win/VMHost.pm | 359 + Samba/source/script/tests/win/common.exp | 521 + Samba/source/script/tests/win/test_win.conf | 64 + Samba/source/script/tests/win/vm_get_ip.pl | 48 + .../script/tests/win/vm_load_snapshot.pl | 46 + Samba/source/script/tests/win/wintest_base.sh | 59 + .../script/tests/win/wintest_client.exp | 95 + .../source/script/tests/win/wintest_client.sh | 26 + .../script/tests/win/wintest_functions.sh | 35 + Samba/source/script/tests/win/wintest_net.sh | 60 + Samba/source/script/tests/win/wintest_raw.sh | 60 + .../script/tests/win/wintest_remove.exp | 71 + Samba/source/script/tests/win/wintest_rpc.sh | 63 + .../source/script/tests/win/wintest_setup.exp | 104 + Samba/source/script/uninstallbin.sh | 42 + Samba/source/script/uninstallheader.sh | 35 + Samba/source/script/uninstalllib.sh | 35 + Samba/source/script/uninstallman.sh | 27 + Samba/source/script/uninstallmodules.sh | 37 + Samba/source/script/uninstallscripts.sh | 36 + Samba/source/script/uninstalltorture.sh | 15 + Samba/source/script/update-proto.pl | 242 + Samba/source/script/yacc_compile.sh | 28 + Samba/source/scripting/bin/samba3dump | 234 + Samba/source/scripting/bin/smbstatus | 96 + Samba/source/scripting/bin/winreg | 107 + Samba/source/scripting/ejs/config.mk | 95 + Samba/source/scripting/ejs/ejsnet.c | 377 + Samba/source/scripting/ejs/ejsnet.h | 26 + Samba/source/scripting/ejs/ejsrpc.c | 405 + Samba/source/scripting/ejs/ejsrpc.h | 161 + Samba/source/scripting/ejs/literal.c | 813 + Samba/source/scripting/ejs/mprutil.c | 482 + Samba/source/scripting/ejs/smbcalls.c | 247 + Samba/source/scripting/ejs/smbcalls.h | 41 + Samba/source/scripting/ejs/smbcalls_auth.c | 209 + Samba/source/scripting/ejs/smbcalls_cli.c | 718 + Samba/source/scripting/ejs/smbcalls_config.c | 222 + Samba/source/scripting/ejs/smbcalls_creds.c | 288 + Samba/source/scripting/ejs/smbcalls_data.c | 285 + Samba/source/scripting/ejs/smbcalls_ldb.c | 563 + Samba/source/scripting/ejs/smbcalls_nbt.c | 94 + Samba/source/scripting/ejs/smbcalls_nss.c | 161 + Samba/source/scripting/ejs/smbcalls_options.c | 194 + Samba/source/scripting/ejs/smbcalls_param.c | 260 + Samba/source/scripting/ejs/smbcalls_rand.c | 105 + Samba/source/scripting/ejs/smbcalls_rpc.c | 380 + Samba/source/scripting/ejs/smbcalls_samba3.c | 501 + Samba/source/scripting/ejs/smbcalls_string.c | 530 + Samba/source/scripting/ejs/smbcalls_sys.c | 442 + Samba/source/scripting/ejs/smbscript.c | 123 + Samba/source/scripting/libjs/auth.js | 18 + Samba/source/scripting/libjs/base.js | 103 + Samba/source/scripting/libjs/encoder.js | 116 + Samba/source/scripting/libjs/management.js | 157 + Samba/source/scripting/libjs/provision.js | 870 + Samba/source/scripting/libjs/samr.js | 170 + Samba/source/scripting/libjs/server_call.js | 83 + Samba/source/scripting/libjs/upgrade.js | 674 + Samba/source/scripting/libjs/winreg.js | 291 + Samba/source/scripting/swig/README | 37 + Samba/source/scripting/swig/config.m4 | 29 + Samba/source/scripting/swig/config.mk | 30 + Samba/source/scripting/swig/dcerpc.i | 239 + Samba/source/scripting/swig/rpcclient | 301 + Samba/source/scripting/swig/samba.i | 85 + Samba/source/scripting/swig/samr.py | 753 + Samba/source/scripting/swig/status_codes.i | 554 + Samba/source/scripting/swig/torture/pytorture | 51 + .../source/scripting/swig/torture/spoolss.py | 437 + .../scripting/swig/torture/torture_ldb.py | 83 + .../scripting/swig/torture/torture_samr.py | 221 + .../scripting/swig/torture/torture_tdb.py | 90 + Samba/source/scripting/swig/torture/winreg.py | 165 + Samba/source/setup/display_specifiers.ldif | 117 + Samba/source/setup/hklm.ldif | 43 + Samba/source/setup/newuser | 80 + Samba/source/setup/provision | 137 + Samba/source/setup/provision.ldif | 302 + Samba/source/setup/provision.smb.conf | 7 + Samba/source/setup/provision.zone | 43 + Samba/source/setup/provision_basedn.ldif | 10 + .../source/setup/provision_basedn_modify.ldif | 80 + Samba/source/setup/provision_index.ldif | 16 + Samba/source/setup/provision_init.ldif | 63 + Samba/source/setup/provision_partitions.ldif | 21 + Samba/source/setup/provision_templates.ldif | 124 + Samba/source/setup/provision_users.ldif | 388 + Samba/source/setup/schema-map-fedora-ds-1.0 | 30 + Samba/source/setup/schema-map-openldap-2.3 | 33 + Samba/source/setup/schema.ldif | 9134 +++++++ Samba/source/setup/schema_samba4.ldif | 151 + Samba/source/setup/secrets.ldif | 55 + Samba/source/setup/setpassword | 122 + Samba/source/setup/share.ldif | 46 + Samba/source/setup/upgrade | 114 + Samba/source/smb_server/blob.c | 747 + Samba/source/smb_server/config.mk | 29 + Samba/source/smb_server/handle.c | 145 + Samba/source/smb_server/management.c | 136 + Samba/source/smb_server/session.c | 169 + Samba/source/smb_server/smb/config.mk | 21 + Samba/source/smb_server/smb/negprot.c | 521 + Samba/source/smb_server/smb/nttrans.c | 649 + Samba/source/smb_server/smb/receive.c | 671 + Samba/source/smb_server/smb/reply.c | 2331 ++ Samba/source/smb_server/smb/request.c | 760 + Samba/source/smb_server/smb/search.c | 284 + Samba/source/smb_server/smb/service.c | 206 + Samba/source/smb_server/smb/sesssetup.c | 457 + Samba/source/smb_server/smb/signing.c | 183 + Samba/source/smb_server/smb/srvtime.c | 83 + Samba/source/smb_server/smb/trans2.c | 1400 ++ Samba/source/smb_server/smb2/config.mk | 18 + Samba/source/smb_server/smb2/fileinfo.c | 368 + Samba/source/smb_server/smb2/fileio.c | 371 + Samba/source/smb_server/smb2/find.c | 167 + Samba/source/smb_server/smb2/keepalive.c | 72 + Samba/source/smb_server/smb2/negprot.c | 234 + Samba/source/smb_server/smb2/receive.c | 450 + Samba/source/smb_server/smb2/sesssetup.c | 237 + Samba/source/smb_server/smb2/smb2_server.h | 168 + Samba/source/smb_server/smb2/tcon.c | 388 + Samba/source/smb_server/smb_server.c | 242 + Samba/source/smb_server/smb_server.h | 484 + Samba/source/smb_server/tcon.c | 207 + Samba/source/smbd/config.mk | 51 + Samba/source/smbd/pidfile.c | 121 + Samba/source/smbd/process_model.c | 125 + Samba/source/smbd/process_model.h | 72 + Samba/source/smbd/process_model.m4 | 60 + Samba/source/smbd/process_model.mk | 46 + Samba/source/smbd/process_single.c | 106 + Samba/source/smbd/process_standard.c | 237 + Samba/source/smbd/process_thread.c | 560 + Samba/source/smbd/server.c | 326 + Samba/source/smbd/service.c | 102 + Samba/source/smbd/service.h | 31 + Samba/source/smbd/service_stream.c | 309 + Samba/source/smbd/service_stream.h | 65 + Samba/source/smbd/service_task.c | 100 + Samba/source/smbd/service_task.h | 34 + Samba/source/smbd/smbd.8.xml | 177 + Samba/source/static_deps.mk | 39 + Samba/source/torture/auth/ntlmssp.c | 130 + Samba/source/torture/auth/pac.c | 642 + Samba/source/torture/basic/aliases.c | 401 + Samba/source/torture/basic/attr.c | 184 + Samba/source/torture/basic/base.c | 1684 ++ Samba/source/torture/basic/charset.c | 265 + Samba/source/torture/basic/delaywrite.c | 617 + Samba/source/torture/basic/delete.c | 1290 + Samba/source/torture/basic/denytest.c | 2031 ++ Samba/source/torture/basic/dir.c | 166 + Samba/source/torture/basic/disconnect.c | 174 + Samba/source/torture/basic/locking.c | 812 + Samba/source/torture/basic/mangle_test.c | 202 + Samba/source/torture/basic/misc.c | 857 + Samba/source/torture/basic/properties.c | 120 + Samba/source/torture/basic/rename.c | 99 + Samba/source/torture/basic/scanner.c | 558 + Samba/source/torture/basic/secleak.c | 72 + Samba/source/torture/basic/unlink.c | 93 + Samba/source/torture/basic/utable.c | 188 + Samba/source/torture/config.mk | 369 + Samba/source/torture/dcom/dcom.c | 399 + Samba/source/torture/gentest.c | 2288 ++ Samba/source/torture/ldap/basic.c | 237 + Samba/source/torture/ldap/cldap.c | 289 + Samba/source/torture/ldap/cldapbench.c | 129 + Samba/source/torture/ldap/common.c | 119 + Samba/source/torture/ldap/schema.c | 519 + Samba/source/torture/libnet/domain.c | 117 + Samba/source/torture/libnet/libnet.c | 63 + Samba/source/torture/libnet/libnet_domain.c | 381 + Samba/source/torture/libnet/libnet_lookup.c | 192 + Samba/source/torture/libnet/libnet_rpc.c | 222 + Samba/source/torture/libnet/libnet_share.c | 248 + Samba/source/torture/libnet/libnet_user.c | 740 + Samba/source/torture/libnet/userinfo.c | 378 + Samba/source/torture/libnet/userman.c | 642 + Samba/source/torture/libnet/usertest.h | 39 + Samba/source/torture/local/binding_string.c | 111 + Samba/source/torture/local/config.mk | 45 + Samba/source/torture/local/dbspeed.c | 246 + Samba/source/torture/local/event.c | 130 + Samba/source/torture/local/iconv.c | 413 + Samba/source/torture/local/idtree.c | 104 + Samba/source/torture/local/irpc.c | 256 + Samba/source/torture/local/local.c | 79 + Samba/source/torture/local/messaging.c | 137 + Samba/source/torture/local/ndr.c | 81 + Samba/source/torture/local/registry.c | 93 + Samba/source/torture/local/resolve.c | 90 + Samba/source/torture/local/sddl.c | 106 + Samba/source/torture/local/socket.c | 191 + Samba/source/torture/local/torture.c | 83 + Samba/source/torture/local/util_file.c | 95 + Samba/source/torture/local/util_strlist.c | 80 + Samba/source/torture/locktest.c | 598 + Samba/source/torture/locktest2.c | 543 + Samba/source/torture/man/gentest.1.xml | 160 + Samba/source/torture/man/locktest.1.xml | 157 + Samba/source/torture/man/masktest.1.xml | 139 + Samba/source/torture/man/smbtorture.1.xml | 259 + Samba/source/torture/masktest.c | 378 + Samba/source/torture/nbench/nbench.c | 239 + Samba/source/torture/nbench/nbio.c | 680 + Samba/source/torture/nbt/browse.c | 55 + Samba/source/torture/nbt/dgram.c | 353 + Samba/source/torture/nbt/nbt.c | 62 + Samba/source/torture/nbt/query.c | 112 + Samba/source/torture/nbt/register.c | 168 + Samba/source/torture/nbt/wins.c | 296 + Samba/source/torture/nbt/winsbench.c | 292 + Samba/source/torture/nbt/winsreplication.c | 9691 ++++++++ Samba/source/torture/nsstest.c | 410 + Samba/source/torture/rap/rap.c | 579 + Samba/source/torture/raw/acls.c | 1761 ++ Samba/source/torture/raw/chkpath.c | 269 + Samba/source/torture/raw/close.c | 178 + Samba/source/torture/raw/composite.c | 422 + Samba/source/torture/raw/context.c | 915 + Samba/source/torture/raw/eas.c | 504 + Samba/source/torture/raw/ioctl.c | 185 + Samba/source/torture/raw/lock.c | 1341 + Samba/source/torture/raw/lockbench.c | 196 + Samba/source/torture/raw/missing.txt | 160 + Samba/source/torture/raw/mkdir.c | 167 + Samba/source/torture/raw/mux.c | 343 + Samba/source/torture/raw/notify.c | 1140 + Samba/source/torture/raw/open.c | 1476 ++ Samba/source/torture/raw/oplock.c | 841 + Samba/source/torture/raw/qfileinfo.c | 723 + Samba/source/torture/raw/qfsinfo.c | 311 + Samba/source/torture/raw/raw.c | 69 + Samba/source/torture/raw/read.c | 942 + Samba/source/torture/raw/rename.c | 445 + Samba/source/torture/raw/samba3hide.c | 267 + Samba/source/torture/raw/samba3misc.c | 431 + Samba/source/torture/raw/search.c | 1436 ++ Samba/source/torture/raw/seek.c | 256 + Samba/source/torture/raw/setfileinfo.c | 576 + Samba/source/torture/raw/streams.c | 241 + Samba/source/torture/raw/unlink.c | 422 + Samba/source/torture/raw/write.c | 730 + Samba/source/torture/rpc/alter_context.c | 113 + Samba/source/torture/rpc/async_bind.c | 96 + Samba/source/torture/rpc/atsvc.c | 136 + Samba/source/torture/rpc/autoidl.c | 282 + Samba/source/torture/rpc/bench.c | 120 + Samba/source/torture/rpc/bind.c | 84 + Samba/source/torture/rpc/countcalls.c | 81 + Samba/source/torture/rpc/dcom.c | 45 + Samba/source/torture/rpc/dfs.c | 509 + Samba/source/torture/rpc/drsuapi.c | 709 + Samba/source/torture/rpc/drsuapi.h | 37 + Samba/source/torture/rpc/drsuapi_cracknames.c | 831 + Samba/source/torture/rpc/dssetup.c | 81 + Samba/source/torture/rpc/dssync.c | 582 + Samba/source/torture/rpc/echo.c | 447 + Samba/source/torture/rpc/epmapper.c | 304 + Samba/source/torture/rpc/eventlog.c | 253 + Samba/source/torture/rpc/initshutdown.c | 144 + Samba/source/torture/rpc/join.c | 71 + Samba/source/torture/rpc/lsa.c | 2039 ++ Samba/source/torture/rpc/lsa_lookup.c | 329 + Samba/source/torture/rpc/mgmt.c | 257 + Samba/source/torture/rpc/netlogon.c | 1614 ++ Samba/source/torture/rpc/oxidresolve.c | 272 + Samba/source/torture/rpc/remact.c | 123 + Samba/source/torture/rpc/rot.c | 48 + Samba/source/torture/rpc/rpc.c | 225 + Samba/source/torture/rpc/rpc.h | 34 + Samba/source/torture/rpc/samba3rpc.c | 2840 +++ Samba/source/torture/rpc/samlogon.c | 1782 ++ Samba/source/torture/rpc/samr.c | 3828 +++ Samba/source/torture/rpc/samsync.c | 1640 ++ Samba/source/torture/rpc/scanner.c | 202 + Samba/source/torture/rpc/schannel.c | 487 + Samba/source/torture/rpc/session_key.c | 196 + Samba/source/torture/rpc/spoolss.c | 2139 ++ Samba/source/torture/rpc/srvsvc.c | 1147 + Samba/source/torture/rpc/svcctl.c | 142 + Samba/source/torture/rpc/testjoin.c | 1209 + Samba/source/torture/rpc/unixinfo.c | 148 + Samba/source/torture/rpc/winreg.c | 846 + Samba/source/torture/rpc/wkssvc.c | 97 + Samba/source/torture/smb2/config.mk | 22 + Samba/source/torture/smb2/connect.c | 260 + Samba/source/torture/smb2/dir.c | 94 + Samba/source/torture/smb2/find.c | 221 + Samba/source/torture/smb2/getinfo.c | 200 + Samba/source/torture/smb2/lock.c | 215 + Samba/source/torture/smb2/maxwrite.c | 136 + Samba/source/torture/smb2/notify.c | 175 + Samba/source/torture/smb2/scan.c | 243 + Samba/source/torture/smb2/setinfo.c | 299 + Samba/source/torture/smb2/smb2.c | 50 + Samba/source/torture/smb2/util.c | 433 + Samba/source/torture/smbiconv.c | 236 + Samba/source/torture/smbtorture.c | 742 + Samba/source/torture/subunit.c | 294 + Samba/source/torture/t_strcmp.c | 20 + Samba/source/torture/torture.c | 75 + Samba/source/torture/torture.h | 41 + Samba/source/torture/ui.c | 447 + Samba/source/torture/ui.h | 308 + Samba/source/torture/util.c | 162 + Samba/source/torture/util_smb.c | 859 + Samba/source/utils/config.mk | 109 + Samba/source/utils/getntacl.c | 110 + Samba/source/utils/man/getntacl.1.xml | 45 + Samba/source/utils/man/ndrdump.1.xml | 83 + Samba/source/utils/man/ntlm_auth.1.xml | 269 + Samba/source/utils/ndrdump.c | 369 + Samba/source/utils/net/config.mk | 23 + Samba/source/utils/net/net.c | 211 + Samba/source/utils/net/net.h | 39 + Samba/source/utils/net/net_join.c | 102 + Samba/source/utils/net/net_password.c | 171 + Samba/source/utils/net/net_time.c | 78 + Samba/source/utils/net/net_user.c | 125 + Samba/source/utils/net/net_vampire.c | 180 + Samba/source/utils/nmblookup.c | 361 + Samba/source/utils/ntlm_auth.c | 1098 + Samba/source/utils/setntacl.c | 29 + Samba/source/utils/setnttoken.c | 29 + Samba/source/utils/testparm.c | 242 + Samba/source/web_server/config.m4 | 2 + Samba/source/web_server/config.mk | 14 + Samba/source/web_server/http.c | 1124 + Samba/source/web_server/web_server.c | 298 + Samba/source/web_server/web_server.h | 79 + Samba/source/winbind/config.mk | 47 + Samba/source/winbind/wb_async_helpers.c | 755 + Samba/source/winbind/wb_async_helpers.h | 35 + Samba/source/winbind/wb_cmd_getdcname.c | 128 + Samba/source/winbind/wb_cmd_list_trustdom.c | 199 + Samba/source/winbind/wb_cmd_lookupname.c | 125 + Samba/source/winbind/wb_cmd_lookupsid.c | 122 + Samba/source/winbind/wb_cmd_userdomgroups.c | 150 + Samba/source/winbind/wb_cmd_usersids.c | 196 + Samba/source/winbind/wb_connect_lsa.c | 361 + Samba/source/winbind/wb_connect_sam.c | 254 + Samba/source/winbind/wb_dom_info.c | 163 + Samba/source/winbind/wb_dom_info_trusted.c | 238 + Samba/source/winbind/wb_init_domain.c | 372 + Samba/source/winbind/wb_irpc.c | 86 + Samba/source/winbind/wb_pam_auth.c | 388 + Samba/source/winbind/wb_sam_logon.c | 168 + Samba/source/winbind/wb_samba3_cmd.c | 663 + Samba/source/winbind/wb_samba3_protocol.c | 260 + Samba/source/winbind/wb_server.c | 215 + Samba/source/winbind/wb_server.h | 151 + Samba/source/winbind/wb_sid2domain.c | 215 + Samba/source/winexe/TODO | 5 + Samba/source/winexe/async.c | 257 + Samba/source/winexe/changes | 46 + Samba/source/winexe/config.mk | 19 + Samba/source/winexe/service.c | 356 + Samba/source/winexe/winexe.c | 350 + Samba/source/winexe/winexe.h | 63 + Samba/source/winexe/winexesvc/Makefile | 20 + Samba/source/winexe/winexesvc/bin2c.c | 36 + Samba/source/winexe/winexesvc/service.c | 160 + Samba/source/winexe/winexesvc/shared.h | 17 + Samba/source/winexe/winexesvc/winexesvc.c | 573 + Samba/source/winexe/winexesvc/winexesvc_exe.c | 379 + Samba/source/wmi/async_wmi_lib.c | 176 + Samba/source/wmi/config.mk | 108 + Samba/source/wmi/pywmi.i | 600 + Samba/source/wmi/wbemdata.c | 900 + Samba/source/wmi/wmi.h | 67 + Samba/source/wmi/wmic.c | 242 + Samba/source/wmi/wmicore.c | 421 + Samba/source/wmi/wmis.c | 191 + Samba/source/wmi/zenoss_events.c | 501 + Samba/source/wmi/zenoss_events.h | 32 + Samba/source/wrepl_server/config.mk | 22 + .../source/wrepl_server/wrepl_apply_records.c | 1415 ++ Samba/source/wrepl_server/wrepl_in_call.c | 577 + .../source/wrepl_server/wrepl_in_connection.c | 303 + Samba/source/wrepl_server/wrepl_out_helpers.c | 1103 + Samba/source/wrepl_server/wrepl_out_helpers.h | 38 + Samba/source/wrepl_server/wrepl_out_pull.c | 143 + Samba/source/wrepl_server/wrepl_out_push.c | 145 + Samba/source/wrepl_server/wrepl_periodic.c | 119 + Samba/source/wrepl_server/wrepl_scavenging.c | 524 + Samba/source/wrepl_server/wrepl_server.c | 507 + Samba/source/wrepl_server/wrepl_server.h | 314 + Samba/swat2.txt | 77 + Samba/testdata/samba3/account_policy.tdb | Bin 0 -> 8192 bytes Samba/testdata/samba3/group_mapping.tdb | Bin 0 -> 8192 bytes Samba/testdata/samba3/passdb.tdb | Bin 0 -> 8192 bytes .../testdata/samba3/provision_samba3sam.ldif | 201 + Samba/testdata/samba3/registry.tdb | Bin 0 -> 8192 bytes Samba/testdata/samba3/samba3.ldif | 207 + Samba/testdata/samba3/secrets.tdb | Bin 0 -> 8192 bytes Samba/testdata/samba3/share_info.tdb | Bin 0 -> 8192 bytes Samba/testdata/samba3/smb.conf | 23 + Samba/testdata/samba3/smbpasswd | 3 + Samba/testdata/samba3/verify | 51 + Samba/testdata/samba3/winbindd_idmap.tdb | Bin 0 -> 8192 bytes Samba/testdata/samba3/wins.dat | 23 + Samba/testprogs/ejs/argv.js | 14 + Samba/testprogs/ejs/base.js | 23 + Samba/testprogs/ejs/bugs.js | 155 + Samba/testprogs/ejs/echo.js | 235 + Samba/testprogs/ejs/ejsnet.js | 40 + Samba/testprogs/ejs/ldap.js | 485 + Samba/testprogs/ejs/ldb.js | 381 + Samba/testprogs/ejs/loadparm.js | 25 + Samba/testprogs/ejs/minschema.js | 761 + Samba/testprogs/ejs/minschema_classes.txt | 32 + Samba/testprogs/ejs/nbtstats | 33 + Samba/testprogs/ejs/resolveName.js | 13 + Samba/testprogs/ejs/samba3sam.js | 1210 + Samba/testprogs/ejs/samr.js | 126 + Samba/testprogs/ejs/sprintf.js | 31 + Samba/testprogs/win32/npecho/GNUmakefile | 20 + Samba/testprogs/win32/npecho/NMakefile | 13 + Samba/testprogs/win32/npecho/npecho_client.c | 50 + Samba/testprogs/win32/rpcecho/Makefile | 23 + Samba/testprogs/win32/rpcecho/README | 46 + Samba/testprogs/win32/rpcecho/client.c | 368 + Samba/testprogs/win32/rpcecho/rpcecho.acf | 27 + Samba/testprogs/win32/rpcecho/rpcecho.idl | 147 + Samba/testprogs/win32/rpcecho/server.c | 209 + Samba/testprogs/win32/rpcecho/utils.c | 33 + .../testprogs/win32/testmailslot/GNUmakefile | 15 + Samba/testprogs/win32/testmailslot/NMakefile | 10 + .../win32/testmailslot/testmailslot.c | 80 + Samba/testprogs/win32/wmi/echoprocessor.vbs | 10 + pyinclude.py | 18 + pysamba/__init__.py | 13 + pysamba/composite_context.py | 69 + pysamba/library.py | 442 + pysamba/ndr.py | 21 + pysamba/rpc/Rpc.py | 176 + pysamba/rpc/__init__.py | 13 + pysamba/rpc/credentials.py | 21 + pysamba/rpc/dcerpc.py | 50 + pysamba/rpc/oxidresolver.py | 46 + pysamba/rpc/rpc_request.py | 59 + pysamba/talloc.py | 71 + pysamba/test/connect.py | 61 + pysamba/test/watcher.py | 103 + pysamba/test/wmic.py | 78 + pysamba/twisted/__init__.py | 13 + pysamba/twisted/callback.py | 53 + pysamba/twisted/reactor.py | 232 + pysamba/version.py | 13 + pysamba/wbem/Query.py | 256 + pysamba/wbem/__init__.py | 13 + pysamba/wbem/wbem.py | 309 + 2146 files changed, 678824 insertions(+) create mode 100644 GNUmakefile create mode 100644 Samba/.bzrignore create mode 100644 Samba/BUGS.txt create mode 100644 Samba/COPYING create mode 100644 Samba/NEWS create mode 100644 Samba/README create mode 100644 Samba/STATUS create mode 100644 Samba/TODO create mode 100644 Samba/WHATSNEW.txt create mode 100644 Samba/howto.txt create mode 100644 Samba/packaging/debian/README create mode 100644 Samba/prog_guide.txt create mode 100644 Samba/services/json.esp create mode 100644 Samba/services/json_auth.esp create mode 100644 Samba/services/jsondate.esp create mode 100644 Samba/services/qooxdoo/test.esp create mode 100644 Samba/services/request.esp create mode 100644 Samba/services/resources.esp create mode 100644 Samba/services/samba/ldb.esp create mode 100644 Samba/services/samba/system.esp create mode 100644 Samba/source/.valgrind_suppressions create mode 100644 Samba/source/VERSION create mode 100644 Samba/source/aclocal.m4 create mode 100644 Samba/source/auth/auth.c create mode 100644 Samba/source/auth/auth.h create mode 100644 Samba/source/auth/auth_anonymous.c create mode 100644 Samba/source/auth/auth_developer.c create mode 100644 Samba/source/auth/auth_sam.c create mode 100644 Samba/source/auth/auth_sam_reply.c create mode 100644 Samba/source/auth/auth_server.c create mode 100644 Samba/source/auth/auth_simple.c create mode 100644 Samba/source/auth/auth_unix.c create mode 100644 Samba/source/auth/auth_util.c create mode 100644 Samba/source/auth/auth_winbind.c create mode 100644 Samba/source/auth/config.m4 create mode 100644 Samba/source/auth/config.mk create mode 100644 Samba/source/auth/credentials/config.mk create mode 100644 Samba/source/auth/credentials/credentials.c create mode 100644 Samba/source/auth/credentials/credentials.h create mode 100644 Samba/source/auth/credentials/credentials_files.c create mode 100644 Samba/source/auth/credentials/credentials_krb5.c create mode 100644 Samba/source/auth/credentials/credentials_krb5.h create mode 100644 Samba/source/auth/credentials/credentials_ntlm.c create mode 100644 Samba/source/auth/gensec/config.m4 create mode 100644 Samba/source/auth/gensec/config.mk create mode 100644 Samba/source/auth/gensec/cyrus_sasl.c create mode 100644 Samba/source/auth/gensec/gensec.c create mode 100644 Samba/source/auth/gensec/gensec.h create mode 100644 Samba/source/auth/gensec/gensec_gssapi.c create mode 100644 Samba/source/auth/gensec/gensec_krb5.c create mode 100644 Samba/source/auth/gensec/schannel.c create mode 100644 Samba/source/auth/gensec/schannel.h create mode 100644 Samba/source/auth/gensec/schannel_sign.c create mode 100644 Samba/source/auth/gensec/schannel_state.c create mode 100644 Samba/source/auth/gensec/socket.c create mode 100644 Samba/source/auth/gensec/socket.h create mode 100644 Samba/source/auth/gensec/spnego.c create mode 100644 Samba/source/auth/gensec/spnego.h create mode 100644 Samba/source/auth/gensec/spnego_parse.c create mode 100644 Samba/source/auth/kerberos/clikrb5.c create mode 100644 Samba/source/auth/kerberos/config.m4 create mode 100644 Samba/source/auth/kerberos/config.mk create mode 100644 Samba/source/auth/kerberos/gssapi_parse.c create mode 100644 Samba/source/auth/kerberos/kerberos-notes.txt create mode 100644 Samba/source/auth/kerberos/kerberos.c create mode 100644 Samba/source/auth/kerberos/kerberos.h create mode 100644 Samba/source/auth/kerberos/kerberos_heimdal.c create mode 100644 Samba/source/auth/kerberos/kerberos_pac.c create mode 100644 Samba/source/auth/kerberos/kerberos_util.c create mode 100644 Samba/source/auth/kerberos/krb5_init_context.c create mode 100644 Samba/source/auth/kerberos/krb5_init_context.h create mode 100644 Samba/source/auth/ntlm_check.c create mode 100644 Samba/source/auth/ntlmssp/config.mk create mode 100644 Samba/source/auth/ntlmssp/ntlmssp.c create mode 100644 Samba/source/auth/ntlmssp/ntlmssp.h create mode 100644 Samba/source/auth/ntlmssp/ntlmssp_client.c create mode 100644 Samba/source/auth/ntlmssp/ntlmssp_parse.c create mode 100644 Samba/source/auth/ntlmssp/ntlmssp_server.c create mode 100644 Samba/source/auth/ntlmssp/ntlmssp_sign.c create mode 100644 Samba/source/auth/pam_errors.c create mode 100644 Samba/source/auth/sam.c create mode 100755 Samba/source/autogen.sh create mode 100644 Samba/source/build/m4/ax_cflags_gcc_option.m4 create mode 100644 Samba/source/build/m4/ax_cflags_irix_option.m4 create mode 100644 Samba/source/build/m4/check_cc.m4 create mode 100644 Samba/source/build/m4/check_doc.m4 create mode 100644 Samba/source/build/m4/check_ld.m4 create mode 100644 Samba/source/build/m4/check_make.m4 create mode 100644 Samba/source/build/m4/check_path.m4 create mode 100644 Samba/source/build/m4/check_perl.m4 create mode 100644 Samba/source/build/m4/env.m4 create mode 100644 Samba/source/build/m4/public.m4 create mode 100644 Samba/source/build/pasn1/Makefile create mode 100644 Samba/source/build/pasn1/asn1.yp create mode 100755 Samba/source/build/pasn1/pasn1.pl create mode 100644 Samba/source/build/pasn1/util.pm create mode 100644 Samba/source/build/smb_build/README.txt create mode 100644 Samba/source/build/smb_build/TODO create mode 100755 Samba/source/build/smb_build/cflags.pm create mode 100644 Samba/source/build/smb_build/config_mk.pm create mode 100755 Samba/source/build/smb_build/dot.pl create mode 100644 Samba/source/build/smb_build/env.pm create mode 100644 Samba/source/build/smb_build/header.pm create mode 100644 Samba/source/build/smb_build/input.pm create mode 100644 Samba/source/build/smb_build/main.pl create mode 100644 Samba/source/build/smb_build/makefile.pm create mode 100644 Samba/source/build/smb_build/output.pm create mode 100644 Samba/source/build/smb_build/summary.pm create mode 100644 Samba/source/build/tests/README create mode 100644 Samba/source/build/tests/crypttest.c create mode 100644 Samba/source/build/tests/fcntl_lock.c create mode 100644 Samba/source/build/tests/fcntl_lock64.c create mode 100644 Samba/source/build/tests/fcntl_lock_thread.c create mode 100644 Samba/source/build/tests/shared_mmap.c create mode 100644 Samba/source/build/tests/shlib.c create mode 100644 Samba/source/build/tests/summary.c create mode 100644 Samba/source/build/tests/trivial.c create mode 100644 Samba/source/build/tests/unixsock.c create mode 100644 Samba/source/cldap_server/cldap_server.c create mode 100644 Samba/source/cldap_server/cldap_server.h create mode 100644 Samba/source/cldap_server/config.mk create mode 100644 Samba/source/cldap_server/netlogon.c create mode 100644 Samba/source/cldap_server/rootdse.c create mode 100644 Samba/source/client/cifsdd.c create mode 100644 Samba/source/client/cifsdd.h create mode 100644 Samba/source/client/cifsddio.c create mode 100644 Samba/source/client/client.c create mode 100644 Samba/source/client/config.mk create mode 100755 Samba/source/client/mount.cifs.c create mode 100644 Samba/source/client/smbmnt.c create mode 100644 Samba/source/client/smbmount.c create mode 100644 Samba/source/client/smbspool.c create mode 100644 Samba/source/client/smbumount.c create mode 100644 Samba/source/client/tree.c create mode 100644 Samba/source/codepages/lowcase.dat create mode 100644 Samba/source/codepages/upcase.dat create mode 100644 Samba/source/codepages/valid.dat create mode 100755 Samba/source/config.guess create mode 100755 Samba/source/config.sub create mode 100644 Samba/source/configure.ac create mode 100755 Samba/source/configure.developer create mode 100644 Samba/source/configure.nodebug.developer create mode 100644 Samba/source/configure.tridge.opt create mode 100644 Samba/source/dsdb/common/flag_mapping.c create mode 100644 Samba/source/dsdb/common/flags.h create mode 100644 Samba/source/dsdb/common/sidmap.c create mode 100644 Samba/source/dsdb/config.mk create mode 100644 Samba/source/dsdb/samdb/cracknames.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/config.mk create mode 100644 Samba/source/dsdb/samdb/ldb_modules/entryUUID.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/extended_dn.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/kludge_acl.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/local_password.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/objectguid.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/partition.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/password_hash.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/password_modules.h create mode 100644 Samba/source/dsdb/samdb/ldb_modules/proxy.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/rootdse.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/samba3sam.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/samldb.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/schema.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/schema_syntax.c create mode 100644 Samba/source/dsdb/samdb/ldb_modules/schema_syntax.h create mode 100644 Samba/source/dsdb/samdb/samdb.c create mode 100644 Samba/source/dsdb/samdb/samdb.h create mode 100644 Samba/source/dsdb/samdb/samdb_privilege.c create mode 100644 Samba/source/dynconfig.c create mode 100644 Samba/source/dynconfig.h create mode 100644 Samba/source/dynconfig.mk create mode 100644 Samba/source/headermap.txt create mode 100644 Samba/source/heimdal/HEIMDAL-LICENCE.txt create mode 100644 Samba/source/heimdal/README create mode 100644 Samba/source/heimdal/cf/check-var.m4 create mode 100644 Samba/source/heimdal/cf/find-func-no-libs.m4 create mode 100644 Samba/source/heimdal/cf/find-func-no-libs2.m4 create mode 100644 Samba/source/heimdal/cf/find-func.m4 create mode 100644 Samba/source/heimdal/cf/resolv.m4 create mode 100644 Samba/source/heimdal/kdc/524.c create mode 100644 Samba/source/heimdal/kdc/default_config.c create mode 100644 Samba/source/heimdal/kdc/digest.c create mode 100644 Samba/source/heimdal/kdc/headers.h create mode 100644 Samba/source/heimdal/kdc/kaserver.c create mode 100644 Samba/source/heimdal/kdc/kdc-private.h create mode 100644 Samba/source/heimdal/kdc/kdc-protos.h create mode 100644 Samba/source/heimdal/kdc/kdc.h create mode 100644 Samba/source/heimdal/kdc/kdc_locl.h create mode 100644 Samba/source/heimdal/kdc/kerberos4.c create mode 100644 Samba/source/heimdal/kdc/kerberos5.c create mode 100644 Samba/source/heimdal/kdc/krb5tgs.c create mode 100644 Samba/source/heimdal/kdc/log.c create mode 100644 Samba/source/heimdal/kdc/misc.c create mode 100755 Samba/source/heimdal/kdc/pkinit.c create mode 100644 Samba/source/heimdal/kdc/process.c create mode 100644 Samba/source/heimdal/kdc/rx.h create mode 100644 Samba/source/heimdal/lib/asn1/CMS.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/asn1-common.h create mode 100644 Samba/source/heimdal/lib/asn1/asn1_err.et create mode 100644 Samba/source/heimdal/lib/asn1/asn1_gen.c create mode 100644 Samba/source/heimdal/lib/asn1/asn1_queue.h create mode 100644 Samba/source/heimdal/lib/asn1/canthandle.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/der-protos.h create mode 100644 Samba/source/heimdal/lib/asn1/der.c create mode 100644 Samba/source/heimdal/lib/asn1/der.h create mode 100755 Samba/source/heimdal/lib/asn1/der_cmp.c create mode 100644 Samba/source/heimdal/lib/asn1/der_copy.c create mode 100644 Samba/source/heimdal/lib/asn1/der_format.c create mode 100644 Samba/source/heimdal/lib/asn1/der_free.c create mode 100644 Samba/source/heimdal/lib/asn1/der_get.c create mode 100644 Samba/source/heimdal/lib/asn1/der_length.c create mode 100644 Samba/source/heimdal/lib/asn1/der_locl.h create mode 100644 Samba/source/heimdal/lib/asn1/der_put.c create mode 100644 Samba/source/heimdal/lib/asn1/digest.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/extra.c create mode 100644 Samba/source/heimdal/lib/asn1/gen.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_copy.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_decode.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_encode.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_free.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_glue.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_length.c create mode 100644 Samba/source/heimdal/lib/asn1/gen_locl.h create mode 100644 Samba/source/heimdal/lib/asn1/gen_seq.c create mode 100644 Samba/source/heimdal/lib/asn1/hash.c create mode 100644 Samba/source/heimdal/lib/asn1/hash.h create mode 100644 Samba/source/heimdal/lib/asn1/heim_asn1.h create mode 100644 Samba/source/heimdal/lib/asn1/k5.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/lex.c create mode 100644 Samba/source/heimdal/lib/asn1/lex.h create mode 100644 Samba/source/heimdal/lib/asn1/lex.l create mode 100644 Samba/source/heimdal/lib/asn1/libasn1.h create mode 100644 Samba/source/heimdal/lib/asn1/main.c create mode 100644 Samba/source/heimdal/lib/asn1/parse.c create mode 100644 Samba/source/heimdal/lib/asn1/parse.h create mode 100644 Samba/source/heimdal/lib/asn1/parse.y create mode 100644 Samba/source/heimdal/lib/asn1/pkcs12.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/pkcs8.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/pkcs9.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/pkinit.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/rfc2459.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/symbol.c create mode 100644 Samba/source/heimdal/lib/asn1/symbol.h create mode 100644 Samba/source/heimdal/lib/asn1/test.asn1 create mode 100644 Samba/source/heimdal/lib/asn1/test.gen create mode 100644 Samba/source/heimdal/lib/asn1/timegm.c create mode 100644 Samba/source/heimdal/lib/com_err/com_err.c create mode 100644 Samba/source/heimdal/lib/com_err/com_err.h create mode 100644 Samba/source/heimdal/lib/com_err/com_right.h create mode 100644 Samba/source/heimdal/lib/com_err/compile_et.c create mode 100644 Samba/source/heimdal/lib/com_err/compile_et.h create mode 100644 Samba/source/heimdal/lib/com_err/error.c create mode 100644 Samba/source/heimdal/lib/com_err/lex.c create mode 100644 Samba/source/heimdal/lib/com_err/lex.h create mode 100644 Samba/source/heimdal/lib/com_err/lex.l create mode 100644 Samba/source/heimdal/lib/com_err/parse.c create mode 100644 Samba/source/heimdal/lib/com_err/parse.h create mode 100644 Samba/source/heimdal/lib/com_err/parse.y create mode 100755 Samba/source/heimdal/lib/des/aes.c create mode 100755 Samba/source/heimdal/lib/des/aes.h create mode 100644 Samba/source/heimdal/lib/des/bn.h create mode 100644 Samba/source/heimdal/lib/des/des-tables.h create mode 100644 Samba/source/heimdal/lib/des/des.c create mode 100644 Samba/source/heimdal/lib/des/des.h create mode 100644 Samba/source/heimdal/lib/des/dh.h create mode 100644 Samba/source/heimdal/lib/des/dsa.h create mode 100644 Samba/source/heimdal/lib/des/engine.h create mode 100644 Samba/source/heimdal/lib/des/evp.c create mode 100644 Samba/source/heimdal/lib/des/evp.h create mode 100644 Samba/source/heimdal/lib/des/hash.h create mode 100644 Samba/source/heimdal/lib/des/hmac.c create mode 100644 Samba/source/heimdal/lib/des/hmac.h create mode 100644 Samba/source/heimdal/lib/des/md2.c create mode 100644 Samba/source/heimdal/lib/des/md2.h create mode 100644 Samba/source/heimdal/lib/des/md4.c create mode 100644 Samba/source/heimdal/lib/des/md4.h create mode 100644 Samba/source/heimdal/lib/des/md5.c create mode 100644 Samba/source/heimdal/lib/des/md5.h create mode 100644 Samba/source/heimdal/lib/des/pkcs12.h create mode 100644 Samba/source/heimdal/lib/des/pkcs5.c create mode 100644 Samba/source/heimdal/lib/des/rand-unix.c create mode 100644 Samba/source/heimdal/lib/des/rand.c create mode 100644 Samba/source/heimdal/lib/des/rand.h create mode 100755 Samba/source/heimdal/lib/des/rc2.c create mode 100755 Samba/source/heimdal/lib/des/rc2.h create mode 100755 Samba/source/heimdal/lib/des/rc4.c create mode 100644 Samba/source/heimdal/lib/des/rc4.h create mode 100755 Samba/source/heimdal/lib/des/rijndael-alg-fst.c create mode 100755 Samba/source/heimdal/lib/des/rijndael-alg-fst.h create mode 100644 Samba/source/heimdal/lib/des/rnd_keys.c create mode 100644 Samba/source/heimdal/lib/des/rsa.h create mode 100644 Samba/source/heimdal/lib/des/sha.c create mode 100644 Samba/source/heimdal/lib/des/sha.h create mode 100644 Samba/source/heimdal/lib/des/sha256.c create mode 100644 Samba/source/heimdal/lib/des/ui.c create mode 100644 Samba/source/heimdal/lib/des/ui.h create mode 100644 Samba/source/heimdal/lib/gssapi/gssapi.h create mode 100644 Samba/source/heimdal/lib/gssapi/gssapi/gssapi.h create mode 100644 Samba/source/heimdal/lib/gssapi/gssapi/gssapi_krb5.h create mode 100644 Samba/source/heimdal/lib/gssapi/gssapi/gssapi_spnego.h create mode 100644 Samba/source/heimdal/lib/gssapi/gssapi_mech.h create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/8003.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/accept_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/acquire_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/add_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/add_oid_set_member.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/address_to_krb5addr.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/arcfour.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/canonicalize_name.c create mode 100755 Samba/source/heimdal/lib/gssapi/krb5/cfx.c create mode 100755 Samba/source/heimdal/lib/gssapi/krb5/cfx.h create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/compare_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/compat.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/context_time.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/copy_ccache.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/create_emtpy_oid_set.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/decapsulate.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/delete_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/display_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/display_status.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/duplicate_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/encapsulate.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/export_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/export_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/external.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/get_mic.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/gkrb5_err.et create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/gsskrb5-private.h create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/gsskrb5_locl.h create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/import_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/import_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/indicate_mechs.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/init.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/init_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_cred_by_mech.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_cred_by_oid.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_mechs_for_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_names_for_mech.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/process_context_token.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/release_buffer.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/release_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/release_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/release_oid_set.c create mode 100755 Samba/source/heimdal/lib/gssapi/krb5/sequence.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/set_cred_option.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/set_sec_context_option.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/test_oid_set_member.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/unwrap.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/verify_mic.c create mode 100644 Samba/source/heimdal/lib/gssapi/krb5/wrap.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/context.h create mode 100644 Samba/source/heimdal/lib/gssapi/mech/cred.h create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_accept_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_acquire_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_add_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_add_oid_set_member.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_buffer_set.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_canonicalize_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_compare_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_context_time.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_create_empty_oid_set.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_decapsulate_token.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_delete_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_display_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_display_status.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_duplicate_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_duplicate_oid.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_encapsulate_token.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_export_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_export_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_get_mic.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_import_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_import_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_indicate_mechs.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_init_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_krb5.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_mech_switch.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_names.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_oid_equal.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_process_context_token.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_release_buffer.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_release_cred.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_release_name.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_release_oid.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_release_oid_set.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_seal.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_set_cred_option.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_set_sec_context_option.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_sign.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_test_oid_set_member.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_unseal.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_unwrap.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_utils.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_verify.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_verify_mic.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_wrap.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gss_wrap_size_limit.c create mode 100644 Samba/source/heimdal/lib/gssapi/mech/gssapi.asn1 create mode 100644 Samba/source/heimdal/lib/gssapi/mech/mech_locl.h create mode 100644 Samba/source/heimdal/lib/gssapi/mech/mech_switch.h create mode 100644 Samba/source/heimdal/lib/gssapi/mech/mechqueue.h create mode 100644 Samba/source/heimdal/lib/gssapi/mech/name.h create mode 100644 Samba/source/heimdal/lib/gssapi/mech/utils.h create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/accept_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/compat.c create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/context_stubs.c create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/cred_stubs.c create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/external.c create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/init_sec_context.c create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/spnego-private.h create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/spnego.asn1 create mode 100644 Samba/source/heimdal/lib/gssapi/spnego/spnego_locl.h create mode 100644 Samba/source/heimdal/lib/hdb/db.c create mode 100644 Samba/source/heimdal/lib/hdb/ext.c create mode 100644 Samba/source/heimdal/lib/hdb/hdb-private.h create mode 100644 Samba/source/heimdal/lib/hdb/hdb-protos.h create mode 100644 Samba/source/heimdal/lib/hdb/hdb.asn1 create mode 100644 Samba/source/heimdal/lib/hdb/hdb.c create mode 100644 Samba/source/heimdal/lib/hdb/hdb.h create mode 100644 Samba/source/heimdal/lib/hdb/hdb_err.et create mode 100644 Samba/source/heimdal/lib/hdb/hdb_locl.h create mode 100644 Samba/source/heimdal/lib/hdb/keys.c create mode 100644 Samba/source/heimdal/lib/hdb/keytab.c create mode 100644 Samba/source/heimdal/lib/hdb/mkey.c create mode 100644 Samba/source/heimdal/lib/hdb/ndbm.c create mode 100644 Samba/source/heimdal/lib/krb5/acache.c create mode 100644 Samba/source/heimdal/lib/krb5/add_et_list.c create mode 100644 Samba/source/heimdal/lib/krb5/addr_families.c create mode 100644 Samba/source/heimdal/lib/krb5/appdefault.c create mode 100644 Samba/source/heimdal/lib/krb5/asn1_glue.c create mode 100644 Samba/source/heimdal/lib/krb5/auth_context.c create mode 100644 Samba/source/heimdal/lib/krb5/build_ap_req.c create mode 100644 Samba/source/heimdal/lib/krb5/build_auth.c create mode 100644 Samba/source/heimdal/lib/krb5/cache.c create mode 100644 Samba/source/heimdal/lib/krb5/changepw.c create mode 100644 Samba/source/heimdal/lib/krb5/codec.c create mode 100644 Samba/source/heimdal/lib/krb5/config_file.c create mode 100644 Samba/source/heimdal/lib/krb5/config_file_netinfo.c create mode 100644 Samba/source/heimdal/lib/krb5/constants.c create mode 100644 Samba/source/heimdal/lib/krb5/context.c create mode 100644 Samba/source/heimdal/lib/krb5/copy_host_realm.c create mode 100644 Samba/source/heimdal/lib/krb5/crc.c create mode 100644 Samba/source/heimdal/lib/krb5/creds.c create mode 100644 Samba/source/heimdal/lib/krb5/crypto.c create mode 100644 Samba/source/heimdal/lib/krb5/data.c create mode 100644 Samba/source/heimdal/lib/krb5/eai_to_heim_errno.c create mode 100644 Samba/source/heimdal/lib/krb5/error_string.c create mode 100644 Samba/source/heimdal/lib/krb5/expand_hostname.c create mode 100644 Samba/source/heimdal/lib/krb5/fcache.c create mode 100644 Samba/source/heimdal/lib/krb5/free.c create mode 100644 Samba/source/heimdal/lib/krb5/free_host_realm.c create mode 100644 Samba/source/heimdal/lib/krb5/generate_seq_number.c create mode 100644 Samba/source/heimdal/lib/krb5/generate_subkey.c create mode 100644 Samba/source/heimdal/lib/krb5/get_cred.c create mode 100644 Samba/source/heimdal/lib/krb5/get_default_principal.c create mode 100644 Samba/source/heimdal/lib/krb5/get_default_realm.c create mode 100644 Samba/source/heimdal/lib/krb5/get_for_creds.c create mode 100644 Samba/source/heimdal/lib/krb5/get_host_realm.c create mode 100644 Samba/source/heimdal/lib/krb5/get_in_tkt.c create mode 100644 Samba/source/heimdal/lib/krb5/get_in_tkt_with_keytab.c create mode 100644 Samba/source/heimdal/lib/krb5/get_port.c create mode 100644 Samba/source/heimdal/lib/krb5/heim_err.et create mode 100755 Samba/source/heimdal/lib/krb5/heim_threads.h create mode 100644 Samba/source/heimdal/lib/krb5/init_creds.c create mode 100644 Samba/source/heimdal/lib/krb5/init_creds_pw.c create mode 100644 Samba/source/heimdal/lib/krb5/k524_err.et create mode 100644 Samba/source/heimdal/lib/krb5/kcm.c create mode 100644 Samba/source/heimdal/lib/krb5/keyblock.c create mode 100644 Samba/source/heimdal/lib/krb5/keytab.c create mode 100644 Samba/source/heimdal/lib/krb5/keytab_any.c create mode 100644 Samba/source/heimdal/lib/krb5/keytab_file.c create mode 100644 Samba/source/heimdal/lib/krb5/keytab_keyfile.c create mode 100644 Samba/source/heimdal/lib/krb5/keytab_krb4.c create mode 100644 Samba/source/heimdal/lib/krb5/keytab_memory.c create mode 100644 Samba/source/heimdal/lib/krb5/krb5-private.h create mode 100644 Samba/source/heimdal/lib/krb5/krb5-protos.h create mode 100644 Samba/source/heimdal/lib/krb5/krb5-v4compat.h create mode 100644 Samba/source/heimdal/lib/krb5/krb5.h create mode 100644 Samba/source/heimdal/lib/krb5/krb5_ccapi.h create mode 100644 Samba/source/heimdal/lib/krb5/krb5_err.et create mode 100644 Samba/source/heimdal/lib/krb5/krb5_locl.h create mode 100644 Samba/source/heimdal/lib/krb5/krbhst.c create mode 100644 Samba/source/heimdal/lib/krb5/locate_plugin.h create mode 100644 Samba/source/heimdal/lib/krb5/log.c create mode 100644 Samba/source/heimdal/lib/krb5/mcache.c create mode 100644 Samba/source/heimdal/lib/krb5/misc.c create mode 100755 Samba/source/heimdal/lib/krb5/mit_glue.c create mode 100644 Samba/source/heimdal/lib/krb5/mk_error.c create mode 100644 Samba/source/heimdal/lib/krb5/mk_priv.c create mode 100644 Samba/source/heimdal/lib/krb5/mk_rep.c create mode 100644 Samba/source/heimdal/lib/krb5/mk_req.c create mode 100644 Samba/source/heimdal/lib/krb5/mk_req_ext.c create mode 100644 Samba/source/heimdal/lib/krb5/n-fold.c create mode 100644 Samba/source/heimdal/lib/krb5/padata.c create mode 100755 Samba/source/heimdal/lib/krb5/pkinit.c create mode 100644 Samba/source/heimdal/lib/krb5/plugin.c create mode 100644 Samba/source/heimdal/lib/krb5/principal.c create mode 100644 Samba/source/heimdal/lib/krb5/rd_cred.c create mode 100644 Samba/source/heimdal/lib/krb5/rd_error.c create mode 100644 Samba/source/heimdal/lib/krb5/rd_priv.c create mode 100644 Samba/source/heimdal/lib/krb5/rd_rep.c create mode 100644 Samba/source/heimdal/lib/krb5/rd_req.c create mode 100644 Samba/source/heimdal/lib/krb5/replay.c create mode 100644 Samba/source/heimdal/lib/krb5/send_to_kdc.c create mode 100644 Samba/source/heimdal/lib/krb5/set_default_realm.c create mode 100644 Samba/source/heimdal/lib/krb5/store-int.h create mode 100644 Samba/source/heimdal/lib/krb5/store.c create mode 100644 Samba/source/heimdal/lib/krb5/store_emem.c create mode 100644 Samba/source/heimdal/lib/krb5/store_fd.c create mode 100644 Samba/source/heimdal/lib/krb5/store_mem.c create mode 100644 Samba/source/heimdal/lib/krb5/ticket.c create mode 100644 Samba/source/heimdal/lib/krb5/time.c create mode 100644 Samba/source/heimdal/lib/krb5/transited.c create mode 100644 Samba/source/heimdal/lib/krb5/v4_glue.c create mode 100644 Samba/source/heimdal/lib/krb5/version.c create mode 100644 Samba/source/heimdal/lib/krb5/warn.c create mode 100644 Samba/source/heimdal/lib/roken/base64.c create mode 100644 Samba/source/heimdal/lib/roken/base64.h create mode 100644 Samba/source/heimdal/lib/roken/bswap.c create mode 100644 Samba/source/heimdal/lib/roken/copyhostent.c create mode 100644 Samba/source/heimdal/lib/roken/ecalloc.c create mode 100644 Samba/source/heimdal/lib/roken/emalloc.c create mode 100644 Samba/source/heimdal/lib/roken/err.hin create mode 100644 Samba/source/heimdal/lib/roken/estrdup.c create mode 100644 Samba/source/heimdal/lib/roken/freeaddrinfo.c create mode 100644 Samba/source/heimdal/lib/roken/freehostent.c create mode 100644 Samba/source/heimdal/lib/roken/gai_strerror.c create mode 100644 Samba/source/heimdal/lib/roken/get_window_size.c create mode 100644 Samba/source/heimdal/lib/roken/getaddrinfo.c create mode 100644 Samba/source/heimdal/lib/roken/getarg.c create mode 100644 Samba/source/heimdal/lib/roken/getarg.h create mode 100644 Samba/source/heimdal/lib/roken/getipnodebyaddr.c create mode 100644 Samba/source/heimdal/lib/roken/getipnodebyname.c create mode 100644 Samba/source/heimdal/lib/roken/getprogname.c create mode 100644 Samba/source/heimdal/lib/roken/h_errno.c create mode 100644 Samba/source/heimdal/lib/roken/hex.c create mode 100644 Samba/source/heimdal/lib/roken/hex.h create mode 100644 Samba/source/heimdal/lib/roken/hostent_find_fqdn.c create mode 100644 Samba/source/heimdal/lib/roken/inet_aton.c create mode 100644 Samba/source/heimdal/lib/roken/issuid.c create mode 100644 Samba/source/heimdal/lib/roken/net_read.c create mode 100644 Samba/source/heimdal/lib/roken/net_write.c create mode 100644 Samba/source/heimdal/lib/roken/parse_time.c create mode 100644 Samba/source/heimdal/lib/roken/parse_time.h create mode 100644 Samba/source/heimdal/lib/roken/parse_units.c create mode 100644 Samba/source/heimdal/lib/roken/parse_units.h create mode 100644 Samba/source/heimdal/lib/roken/resolve.c create mode 100644 Samba/source/heimdal/lib/roken/resolve.h create mode 100644 Samba/source/heimdal/lib/roken/roken-common.h create mode 100644 Samba/source/heimdal/lib/roken/roken.h.in create mode 100644 Samba/source/heimdal/lib/roken/roken_gethostby.c create mode 100644 Samba/source/heimdal/lib/roken/setprogname.c create mode 100644 Samba/source/heimdal/lib/roken/signal.c create mode 100644 Samba/source/heimdal/lib/roken/socket.c create mode 100644 Samba/source/heimdal/lib/roken/strlwr.c create mode 100644 Samba/source/heimdal/lib/roken/strpool.c create mode 100644 Samba/source/heimdal/lib/roken/strsep.c create mode 100644 Samba/source/heimdal/lib/roken/strsep_copy.c create mode 100644 Samba/source/heimdal/lib/roken/strupr.c create mode 100644 Samba/source/heimdal/lib/roken/vis.c create mode 100644 Samba/source/heimdal/lib/roken/vis.hin create mode 100644 Samba/source/heimdal/lib/vers/print_version.c create mode 100755 Samba/source/heimdal_build/asn1_deps.pl create mode 100644 Samba/source/heimdal_build/config.h create mode 100644 Samba/source/heimdal_build/config.m4 create mode 100644 Samba/source/heimdal_build/config.mk create mode 100644 Samba/source/heimdal_build/crypto-headers.h create mode 100644 Samba/source/heimdal_build/err.h create mode 100755 Samba/source/heimdal_build/et_deps.pl create mode 100644 Samba/source/heimdal_build/glue.c create mode 100755 Samba/source/heimdal_build/hcrypto-deps.pl create mode 100644 Samba/source/heimdal_build/krb5-types.h create mode 100755 Samba/source/heimdal_build/perl_path_wrapper.sh create mode 100644 Samba/source/heimdal_build/print_version.h create mode 100644 Samba/source/heimdal_build/replace.c create mode 100644 Samba/source/heimdal_build/roken.h create mode 100644 Samba/source/include/core.h create mode 100644 Samba/source/include/includes.h create mode 100644 Samba/source/include/local.h create mode 100644 Samba/source/include/pstring.h create mode 100755 Samba/source/install-sh create mode 100644 Samba/source/kdc/config.m4 create mode 100644 Samba/source/kdc/config.mk create mode 100644 Samba/source/kdc/hdb-ldb.c create mode 100644 Samba/source/kdc/kdc.c create mode 100644 Samba/source/kdc/kdc.h create mode 100644 Samba/source/kdc/kpasswdd.c create mode 100644 Samba/source/kdc/pac-glue.c create mode 100644 Samba/source/kdc/pac-glue.h create mode 100644 Samba/source/ldap_server/config.mk create mode 100644 Samba/source/ldap_server/ldap_backend.c create mode 100644 Samba/source/ldap_server/ldap_bind.c create mode 100644 Samba/source/ldap_server/ldap_extended.c create mode 100644 Samba/source/ldap_server/ldap_server.c create mode 100644 Samba/source/ldap_server/ldap_server.h create mode 100644 Samba/source/lib/appweb/README create mode 100644 Samba/source/lib/appweb/config.m4 create mode 100644 Samba/source/lib/appweb/config.mk create mode 100644 Samba/source/lib/appweb/ejs-2.0/.bashrc create mode 100644 Samba/source/lib/appweb/ejs-2.0/.exrc create mode 100644 Samba/source/lib/appweb/ejs-2.0/.ignore create mode 100644 Samba/source/lib/appweb/ejs-2.0/.loginrc create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/.ignore create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/.ignore create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsArray.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsDate.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsError.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsObject.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsStndClasses.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsString.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/classes/ejsXml.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejs.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejs.h create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejsClass.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejsCmd.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/ejsGarbage.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejsLex.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejsParser.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejsVar.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/ejsVar.h create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/lib/event.js create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/lib/global.js create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/lib/startup.js create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/lib/timer.js create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/.ignore create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/README.TXT create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/UNIX/.ignore create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/UNIX/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/UNIX/ejsFile.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/UNIX/ejsFileSystem.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/UNIX/ejsHTTP.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/WIN/.ignore create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/WIN/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/WIN/ejsFile.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/WIN/ejsFileSystem.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/WIN/ejsHTTP.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsGC.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsGlobal.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsSystem.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsSystemApp.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsSystemDebug.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsSystemLog.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/ejs/system/ejsSystemMemory.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/exml/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/exml/exml.h create mode 100644 Samba/source/lib/appweb/ejs-2.0/exml/exmlParser.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/exml/files create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/UNIX/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/UNIX/mprFile.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/UNIX/mprPlatform.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/UNIX/mprTime.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/VXWORKS/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/VXWORKS/mprFile.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/VXWORKS/mprPlatform.c create mode 100755 Samba/source/lib/appweb/ejs-2.0/mpr/VXWORKS/mprTime.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/WIN/Makefile create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/WIN/mprFile.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/WIN/mprPlatform.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/WIN/mprTime.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/files create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mpr.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mpr.h create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprAlloc.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprArray.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprBuf.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprGenFile.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprGenTime.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprLock.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprLog.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprOs.h create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprPrintf.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprString.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprSymbol.c create mode 100644 Samba/source/lib/appweb/ejs-2.0/mpr/mprUnix.h create mode 100644 Samba/source/lib/appweb/ejs/config.h create mode 100644 Samba/source/lib/appweb/ejs/ejs.h create mode 100644 Samba/source/lib/appweb/ejs/ejsInternal.h create mode 100644 Samba/source/lib/appweb/ejs/ejsLex.c create mode 100644 Samba/source/lib/appweb/ejs/ejsLib.c create mode 100644 Samba/source/lib/appweb/ejs/ejsParser.c create mode 100644 Samba/source/lib/appweb/ejs/ejsProcs.c create mode 100644 Samba/source/lib/appweb/esp/esp.c create mode 100644 Samba/source/lib/appweb/esp/esp.h create mode 100644 Samba/source/lib/appweb/esp/espEnv.h create mode 100644 Samba/source/lib/appweb/esp/espProcs.c create mode 100644 Samba/source/lib/appweb/mpr/miniMpr.c create mode 100644 Samba/source/lib/appweb/mpr/miniMpr.h create mode 100644 Samba/source/lib/appweb/mpr/var.c create mode 100644 Samba/source/lib/appweb/mpr/var.h create mode 100644 Samba/source/lib/basic.mk create mode 100644 Samba/source/lib/charset/charcnv.c create mode 100644 Samba/source/lib/charset/charset.h create mode 100644 Samba/source/lib/charset/config.m4 create mode 100644 Samba/source/lib/charset/config.mk create mode 100644 Samba/source/lib/charset/iconv.c create mode 100644 Samba/source/lib/charset/util_unistr.c create mode 100644 Samba/source/lib/cmdline/config.mk create mode 100644 Samba/source/lib/cmdline/credentials.c create mode 100644 Samba/source/lib/cmdline/popt_common.c create mode 100644 Samba/source/lib/cmdline/popt_common.h create mode 100644 Samba/source/lib/cmdline/popt_credentials.c create mode 100644 Samba/source/lib/com/README create mode 100644 Samba/source/lib/com/classes/simple.c create mode 100644 Samba/source/lib/com/com.h create mode 100644 Samba/source/lib/com/config.mk create mode 100644 Samba/source/lib/com/dcom/dcom.h create mode 100644 Samba/source/lib/com/dcom/main.c create mode 100644 Samba/source/lib/com/dcom/tables.c create mode 100644 Samba/source/lib/com/main.c create mode 100644 Samba/source/lib/com/rot.c create mode 100644 Samba/source/lib/com/tables.c create mode 100644 Samba/source/lib/compression/mszip.c create mode 100644 Samba/source/lib/compression/mszip.h create mode 100644 Samba/source/lib/crypto/arcfour.c create mode 100644 Samba/source/lib/crypto/crc32.c create mode 100644 Samba/source/lib/crypto/crc32.h create mode 100644 Samba/source/lib/crypto/crypto.h create mode 100644 Samba/source/lib/crypto/hmacmd5.c create mode 100644 Samba/source/lib/crypto/hmacmd5.h create mode 100644 Samba/source/lib/crypto/hmacmd5test.c create mode 100644 Samba/source/lib/crypto/hmacsha1.c create mode 100644 Samba/source/lib/crypto/hmacsha1.h create mode 100644 Samba/source/lib/crypto/hmacsha1test.c create mode 100644 Samba/source/lib/crypto/md4.c create mode 100644 Samba/source/lib/crypto/md4.h create mode 100644 Samba/source/lib/crypto/md4test.c create mode 100644 Samba/source/lib/crypto/md5.c create mode 100644 Samba/source/lib/crypto/md5.h create mode 100644 Samba/source/lib/crypto/md5test.c create mode 100644 Samba/source/lib/crypto/sha1.c create mode 100644 Samba/source/lib/crypto/sha1.h create mode 100644 Samba/source/lib/crypto/sha1test.c create mode 100644 Samba/source/lib/db_wrap.c create mode 100644 Samba/source/lib/db_wrap.h create mode 100644 Samba/source/lib/events/config.m4 create mode 100644 Samba/source/lib/events/config.mk create mode 100644 Samba/source/lib/events/events.c create mode 100644 Samba/source/lib/events/events.h create mode 100644 Samba/source/lib/events/events_internal.h create mode 100644 Samba/source/lib/events/events_liboop.c create mode 100644 Samba/source/lib/events/events_standard.c create mode 100644 Samba/source/lib/gencache/gencache.c create mode 100644 Samba/source/lib/gendb.c create mode 100644 Samba/source/lib/json/AUTHORS create mode 100644 Samba/source/lib/json/COPYING create mode 100644 Samba/source/lib/json/ChangeLog create mode 100644 Samba/source/lib/json/Doxyfile create mode 100644 Samba/source/lib/json/INSTALL create mode 100644 Samba/source/lib/json/Makefile.am create mode 100644 Samba/source/lib/json/Makefile.in create mode 100644 Samba/source/lib/json/NEWS create mode 100644 Samba/source/lib/json/README create mode 100644 Samba/source/lib/json/README-WIN32.html create mode 100644 Samba/source/lib/json/README.html create mode 100644 Samba/source/lib/json/aclocal.m4 create mode 100644 Samba/source/lib/json/arraylist.c create mode 100644 Samba/source/lib/json/arraylist.h create mode 100644 Samba/source/lib/json/autogen.sh create mode 100644 Samba/source/lib/json/bits.h create mode 100755 Samba/source/lib/json/config.guess create mode 100644 Samba/source/lib/json/config.h.in create mode 100644 Samba/source/lib/json/config.h.win32 create mode 100755 Samba/source/lib/json/config.sub create mode 100755 Samba/source/lib/json/configure create mode 100644 Samba/source/lib/json/configure.in create mode 100644 Samba/source/lib/json/debug.c create mode 100644 Samba/source/lib/json/debug.h create mode 100755 Samba/source/lib/json/depcomp create mode 100755 Samba/source/lib/json/install-sh create mode 100644 Samba/source/lib/json/json-c.vcproj create mode 100644 Samba/source/lib/json/json.h create mode 100644 Samba/source/lib/json/json.pc.in create mode 100644 Samba/source/lib/json/json_object.c create mode 100644 Samba/source/lib/json/json_object.h create mode 100644 Samba/source/lib/json/json_object_private.h create mode 100644 Samba/source/lib/json/json_tokener.c create mode 100644 Samba/source/lib/json/json_tokener.h create mode 100644 Samba/source/lib/json/json_util.c create mode 100644 Samba/source/lib/json/json_util.h create mode 100644 Samba/source/lib/json/linkhash.c create mode 100644 Samba/source/lib/json/linkhash.h create mode 100644 Samba/source/lib/json/ltmain.sh create mode 100755 Samba/source/lib/json/missing create mode 100755 Samba/source/lib/json/mkinstalldirs create mode 100644 Samba/source/lib/json/printbuf.c create mode 100644 Samba/source/lib/json/printbuf.h create mode 100644 Samba/source/lib/json/stamp-h.in create mode 100644 Samba/source/lib/json/test1.c create mode 100644 Samba/source/lib/json/test2.c create mode 100644 Samba/source/lib/ldb/Doxyfile create mode 100644 Samba/source/lib/ldb/Makefile.in create mode 100644 Samba/source/lib/ldb/README_gcov.txt create mode 100644 Samba/source/lib/ldb/aclocal.m4 create mode 100755 Samba/source/lib/ldb/autogen.sh create mode 100644 Samba/source/lib/ldb/common/attrib_handlers.c create mode 100644 Samba/source/lib/ldb/common/ldb.c create mode 100644 Samba/source/lib/ldb/common/ldb_attributes.c create mode 100644 Samba/source/lib/ldb/common/ldb_controls.c create mode 100644 Samba/source/lib/ldb/common/ldb_debug.c create mode 100644 Samba/source/lib/ldb/common/ldb_dn.c create mode 100644 Samba/source/lib/ldb/common/ldb_ldif.c create mode 100644 Samba/source/lib/ldb/common/ldb_match.c create mode 100644 Samba/source/lib/ldb/common/ldb_modules.c create mode 100644 Samba/source/lib/ldb/common/ldb_msg.c create mode 100644 Samba/source/lib/ldb/common/ldb_parse.c create mode 100644 Samba/source/lib/ldb/common/ldb_utf8.c create mode 100644 Samba/source/lib/ldb/common/qsort.c create mode 100755 Samba/source/lib/ldb/config.guess create mode 100644 Samba/source/lib/ldb/config.mk create mode 100755 Samba/source/lib/ldb/config.sub create mode 100644 Samba/source/lib/ldb/configure.ac create mode 100755 Samba/source/lib/ldb/docs/builddocs.sh create mode 100644 Samba/source/lib/ldb/docs/design.txt create mode 100755 Samba/source/lib/ldb/docs/installdocs.sh create mode 100644 Samba/source/lib/ldb/examples.dox create mode 100644 Samba/source/lib/ldb/examples/ldbreader.c create mode 100644 Samba/source/lib/ldb/examples/ldifreader.c create mode 100644 Samba/source/lib/ldb/include/dlinklist.h create mode 100644 Samba/source/lib/ldb/include/includes.h create mode 100644 Samba/source/lib/ldb/include/ldb.h create mode 100644 Samba/source/lib/ldb/include/ldb_errors.h create mode 100644 Samba/source/lib/ldb/include/ldb_handlers.h create mode 100644 Samba/source/lib/ldb/include/ldb_private.h create mode 100755 Samba/source/lib/ldb/install-sh create mode 100644 Samba/source/lib/ldb/ldap.m4 create mode 100644 Samba/source/lib/ldb/ldb.pc.in create mode 100644 Samba/source/lib/ldb/ldb_ildap/ldb_ildap.c create mode 100644 Samba/source/lib/ldb/ldb_ldap/ldb_ldap.c create mode 100644 Samba/source/lib/ldb/ldb_sqlite3/README create mode 100644 Samba/source/lib/ldb/ldb_sqlite3/base160.c create mode 100644 Samba/source/lib/ldb/ldb_sqlite3/ldb_sqlite3.c create mode 100644 Samba/source/lib/ldb/ldb_sqlite3/schema create mode 100644 Samba/source/lib/ldb/ldb_sqlite3/trees.ps create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_cache.c create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_index.c create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_pack.c create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_search.c create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_tdb.c create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_tdb.h create mode 100644 Samba/source/lib/ldb/ldb_tdb/ldb_tdb_wrap.c create mode 100644 Samba/source/lib/ldb/libldb.m4 create mode 100644 Samba/source/lib/ldb/mainpage.dox create mode 100644 Samba/source/lib/ldb/man/ad2oLschema.1.xml create mode 100644 Samba/source/lib/ldb/man/ldb.3.xml create mode 100644 Samba/source/lib/ldb/man/ldbadd.1.xml create mode 100644 Samba/source/lib/ldb/man/ldbdel.1.xml create mode 100644 Samba/source/lib/ldb/man/ldbedit.1.xml create mode 100644 Samba/source/lib/ldb/man/ldbmodify.1.xml create mode 100644 Samba/source/lib/ldb/man/ldbrename.1.xml create mode 100644 Samba/source/lib/ldb/man/ldbsearch.1.xml create mode 100644 Samba/source/lib/ldb/man/oLschema2ldif.1.xml create mode 100644 Samba/source/lib/ldb/modules/asq.c create mode 100644 Samba/source/lib/ldb/modules/ldb_map.c create mode 100644 Samba/source/lib/ldb/modules/ldb_map.h create mode 100644 Samba/source/lib/ldb/modules/ldb_map_inbound.c create mode 100644 Samba/source/lib/ldb/modules/ldb_map_outbound.c create mode 100644 Samba/source/lib/ldb/modules/ldb_map_private.h create mode 100644 Samba/source/lib/ldb/modules/objectclass.c create mode 100644 Samba/source/lib/ldb/modules/operational.c create mode 100644 Samba/source/lib/ldb/modules/paged_results.c create mode 100644 Samba/source/lib/ldb/modules/paged_searches.c create mode 100644 Samba/source/lib/ldb/modules/rdn_name.c create mode 100644 Samba/source/lib/ldb/modules/skel.c create mode 100644 Samba/source/lib/ldb/modules/sort.c create mode 100644 Samba/source/lib/ldb/nssldb/README.txt create mode 100644 Samba/source/lib/ldb/nssldb/ldb-grp.c create mode 100644 Samba/source/lib/ldb/nssldb/ldb-nss.c create mode 100644 Samba/source/lib/ldb/nssldb/ldb-nss.h create mode 100644 Samba/source/lib/ldb/nssldb/ldb-pwd.c create mode 100644 Samba/source/lib/ldb/samba/README create mode 100644 Samba/source/lib/ldb/samba/ldif_handlers.c create mode 100644 Samba/source/lib/ldb/sqlite3.m4 create mode 100755 Samba/source/lib/ldb/standalone.sh create mode 100644 Samba/source/lib/ldb/swig/Ldb.py create mode 100644 Samba/source/lib/ldb/swig/ldb.i create mode 100644 Samba/source/lib/ldb/tests/init.ldif create mode 100755 Samba/source/lib/ldb/tests/init_slapd.sh create mode 100755 Samba/source/lib/ldb/tests/kill_slapd.sh create mode 100755 Samba/source/lib/ldb/tests/ldapi_url.sh create mode 100644 Samba/source/lib/ldb/tests/photo.ldif create mode 100644 Samba/source/lib/ldb/tests/samba4.png create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema-add-test.ldif create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema-mod-test-1.ldif create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema-mod-test-2.ldif create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema-mod-test-3.ldif create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema-mod-test-4.ldif create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema-mod-test-5.ldif create mode 100644 Samba/source/lib/ldb/tests/schema-tests/schema.ldif create mode 100644 Samba/source/lib/ldb/tests/slapd.conf create mode 100755 Samba/source/lib/ldb/tests/start_slapd.sh create mode 100644 Samba/source/lib/ldb/tests/test-attribs.ldif create mode 100644 Samba/source/lib/ldb/tests/test-config.ldif create mode 100644 Samba/source/lib/ldb/tests/test-default-config.ldif create mode 100755 Samba/source/lib/ldb/tests/test-extended.sh create mode 100755 Samba/source/lib/ldb/tests/test-generic.sh create mode 100644 Samba/source/lib/ldb/tests/test-index.ldif create mode 100755 Samba/source/lib/ldb/tests/test-ldap.sh create mode 100644 Samba/source/lib/ldb/tests/test-modify.ldif create mode 100755 Samba/source/lib/ldb/tests/test-schema.sh create mode 100755 Samba/source/lib/ldb/tests/test-sqlite3.sh create mode 100644 Samba/source/lib/ldb/tests/test-tdb-features.sh create mode 100755 Samba/source/lib/ldb/tests/test-tdb.sh create mode 100644 Samba/source/lib/ldb/tests/test-wildcard.ldif create mode 100644 Samba/source/lib/ldb/tests/test-wrong_attributes.ldif create mode 100644 Samba/source/lib/ldb/tests/test.ldif create mode 100644 Samba/source/lib/ldb/tests/testdata.txt create mode 100644 Samba/source/lib/ldb/tests/testsearch.txt create mode 100644 Samba/source/lib/ldb/tools/ad2oLschema.c create mode 100644 Samba/source/lib/ldb/tools/cmdline.c create mode 100644 Samba/source/lib/ldb/tools/cmdline.h create mode 100644 Samba/source/lib/ldb/tools/convert.c create mode 100644 Samba/source/lib/ldb/tools/convert.h create mode 100644 Samba/source/lib/ldb/tools/ldbadd.c create mode 100644 Samba/source/lib/ldb/tools/ldbdel.c create mode 100644 Samba/source/lib/ldb/tools/ldbedit.c create mode 100644 Samba/source/lib/ldb/tools/ldbmodify.c create mode 100644 Samba/source/lib/ldb/tools/ldbrename.c create mode 100644 Samba/source/lib/ldb/tools/ldbsearch.c create mode 100644 Samba/source/lib/ldb/tools/ldbtest.c create mode 100644 Samba/source/lib/ldb/tools/oLschema2ldif.c create mode 100644 Samba/source/lib/ldb/web/index.html create mode 100644 Samba/source/lib/messaging/config.mk create mode 100644 Samba/source/lib/messaging/irpc.h create mode 100644 Samba/source/lib/messaging/messaging.c create mode 100644 Samba/source/lib/messaging/messaging.h create mode 100644 Samba/source/lib/popt/CHANGES create mode 100644 Samba/source/lib/popt/COPYING create mode 100644 Samba/source/lib/popt/README create mode 100644 Samba/source/lib/popt/findme.c create mode 100644 Samba/source/lib/popt/findme.h create mode 100644 Samba/source/lib/popt/libpopt.m4 create mode 100644 Samba/source/lib/popt/popt.c create mode 100644 Samba/source/lib/popt/popt.h create mode 100644 Samba/source/lib/popt/poptconfig.c create mode 100644 Samba/source/lib/popt/popthelp.c create mode 100644 Samba/source/lib/popt/poptint.h create mode 100644 Samba/source/lib/popt/poptparse.c create mode 100644 Samba/source/lib/popt/samba.m4 create mode 100644 Samba/source/lib/popt/system.h create mode 100644 Samba/source/lib/registry/Doxyfile create mode 100644 Samba/source/lib/registry/README create mode 100644 Samba/source/lib/registry/TODO create mode 100644 Samba/source/lib/registry/common/reg_interface.c create mode 100644 Samba/source/lib/registry/common/reg_util.c create mode 100644 Samba/source/lib/registry/config.m4 create mode 100644 Samba/source/lib/registry/config.mk create mode 100644 Samba/source/lib/registry/man/regdiff.1.xml create mode 100644 Samba/source/lib/registry/man/regpatch.1.xml create mode 100644 Samba/source/lib/registry/man/regshell.1.xml create mode 100644 Samba/source/lib/registry/man/regtree.1.xml create mode 100644 Samba/source/lib/registry/patchfile.c create mode 100644 Samba/source/lib/registry/reg_backend_dir.c create mode 100644 Samba/source/lib/registry/reg_backend_gconf.c create mode 100644 Samba/source/lib/registry/reg_backend_ldb.c create mode 100644 Samba/source/lib/registry/reg_backend_nt4.c create mode 100644 Samba/source/lib/registry/reg_backend_rpc.c create mode 100644 Samba/source/lib/registry/reg_backend_w95.c create mode 100644 Samba/source/lib/registry/reg_backend_wine.c create mode 100644 Samba/source/lib/registry/reg_samba.c create mode 100644 Samba/source/lib/registry/regf.idl create mode 100644 Samba/source/lib/registry/registry.h create mode 100644 Samba/source/lib/registry/tools/regdiff.c create mode 100644 Samba/source/lib/registry/tools/regpatch.c create mode 100644 Samba/source/lib/registry/tools/regshell.c create mode 100644 Samba/source/lib/registry/tools/regtree.c create mode 100644 Samba/source/lib/replace/.checker_innocent create mode 100644 Samba/source/lib/replace/Makefile.in create mode 100644 Samba/source/lib/replace/README create mode 100644 Samba/source/lib/replace/aclocal.m4 create mode 100644 Samba/source/lib/replace/autoconf-2.60.m4 create mode 100755 Samba/source/lib/replace/autogen.sh create mode 100755 Samba/source/lib/replace/config.guess create mode 100755 Samba/source/lib/replace/config.sub create mode 100644 Samba/source/lib/replace/configure.ac create mode 100644 Samba/source/lib/replace/dlfcn.c create mode 100644 Samba/source/lib/replace/dlfcn.m4 create mode 100644 Samba/source/lib/replace/getpass.c create mode 100644 Samba/source/lib/replace/getpass.m4 create mode 100755 Samba/source/lib/replace/install-sh create mode 100644 Samba/source/lib/replace/libreplace.m4 create mode 100644 Samba/source/lib/replace/libreplace_cc.m4 create mode 100644 Samba/source/lib/replace/libreplace_macros.m4 create mode 100644 Samba/source/lib/replace/repdir.m4 create mode 100644 Samba/source/lib/replace/repdir_getdents.c create mode 100644 Samba/source/lib/replace/repdir_getdirentries.c create mode 100644 Samba/source/lib/replace/replace.c create mode 100644 Samba/source/lib/replace/replace.h create mode 100644 Samba/source/lib/replace/samba.m4 create mode 100644 Samba/source/lib/replace/snprintf.c create mode 100644 Samba/source/lib/replace/system/README create mode 100644 Samba/source/lib/replace/system/capability.h create mode 100644 Samba/source/lib/replace/system/config.m4 create mode 100644 Samba/source/lib/replace/system/dir.h create mode 100644 Samba/source/lib/replace/system/filesys.h create mode 100644 Samba/source/lib/replace/system/glob.h create mode 100644 Samba/source/lib/replace/system/iconv.h create mode 100644 Samba/source/lib/replace/system/kerberos.h create mode 100644 Samba/source/lib/replace/system/locale.h create mode 100644 Samba/source/lib/replace/system/network.h create mode 100644 Samba/source/lib/replace/system/passwd.h create mode 100644 Samba/source/lib/replace/system/printing.h create mode 100644 Samba/source/lib/replace/system/readline.h create mode 100644 Samba/source/lib/replace/system/select.h create mode 100644 Samba/source/lib/replace/system/shmem.h create mode 100644 Samba/source/lib/replace/system/syslog.h create mode 100644 Samba/source/lib/replace/system/terminal.h create mode 100644 Samba/source/lib/replace/system/time.h create mode 100644 Samba/source/lib/replace/system/wait.h create mode 100644 Samba/source/lib/replace/test/os2_delete.c create mode 100644 Samba/source/lib/replace/test/shared_mmap.c create mode 100644 Samba/source/lib/replace/test/testsuite.c create mode 100644 Samba/source/lib/replace/timegm.c create mode 100644 Samba/source/lib/replace/timegm.m4 create mode 100644 Samba/source/lib/replace/win32.m4 create mode 100644 Samba/source/lib/replace/win32_replace.h create mode 100644 Samba/source/lib/samba3/README create mode 100644 Samba/source/lib/samba3/STATUS create mode 100644 Samba/source/lib/samba3/config.mk create mode 100644 Samba/source/lib/samba3/group.c create mode 100644 Samba/source/lib/samba3/idmap.c create mode 100644 Samba/source/lib/samba3/policy.c create mode 100644 Samba/source/lib/samba3/registry.c create mode 100644 Samba/source/lib/samba3/samba3.c create mode 100644 Samba/source/lib/samba3/samba3.h create mode 100644 Samba/source/lib/samba3/secrets.c create mode 100644 Samba/source/lib/samba3/share_info.c create mode 100644 Samba/source/lib/samba3/smbpasswd.c create mode 100644 Samba/source/lib/samba3/tdbsam.c create mode 100644 Samba/source/lib/samba3/winsdb.c create mode 100644 Samba/source/lib/smbreadline/readline.m4 create mode 100644 Samba/source/lib/smbreadline/smbreadline.c create mode 100644 Samba/source/lib/smbreadline/smbreadline.h create mode 100644 Samba/source/lib/socket/access.c create mode 100644 Samba/source/lib/socket/config.m4 create mode 100644 Samba/source/lib/socket/config.mk create mode 100644 Samba/source/lib/socket/connect.c create mode 100644 Samba/source/lib/socket/connect_multi.c create mode 100644 Samba/source/lib/socket/interface.c create mode 100644 Samba/source/lib/socket/netif.c create mode 100644 Samba/source/lib/socket/netif.h create mode 100644 Samba/source/lib/socket/socket.c create mode 100644 Samba/source/lib/socket/socket.h create mode 100644 Samba/source/lib/socket/socket_ipv4.c create mode 100644 Samba/source/lib/socket/socket_ipv6.c create mode 100644 Samba/source/lib/socket/socket_unix.c create mode 100644 Samba/source/lib/socket_wrapper/config.m4 create mode 100644 Samba/source/lib/socket_wrapper/config.mk create mode 100644 Samba/source/lib/socket_wrapper/socket_wrapper.c create mode 100644 Samba/source/lib/socket_wrapper/socket_wrapper.h create mode 100644 Samba/source/lib/stream/config.mk create mode 100644 Samba/source/lib/stream/packet.c create mode 100644 Samba/source/lib/stream/packet.h create mode 100644 Samba/source/lib/talloc/Makefile.in create mode 100644 Samba/source/lib/talloc/aclocal.m4 create mode 100755 Samba/source/lib/talloc/autogen.sh create mode 100755 Samba/source/lib/talloc/config.guess create mode 100644 Samba/source/lib/talloc/config.mk create mode 100755 Samba/source/lib/talloc/config.sub create mode 100644 Samba/source/lib/talloc/configure.ac create mode 100755 Samba/source/lib/talloc/install-sh create mode 100644 Samba/source/lib/talloc/libtalloc.m4 create mode 100644 Samba/source/lib/talloc/talloc.3.xml create mode 100644 Samba/source/lib/talloc/talloc.c create mode 100644 Samba/source/lib/talloc/talloc.h create mode 100644 Samba/source/lib/talloc/talloc.pc.in create mode 100644 Samba/source/lib/talloc/talloc_guide.txt create mode 100644 Samba/source/lib/talloc/testsuite.c create mode 100644 Samba/source/lib/talloc/web/index.html create mode 100644 Samba/source/lib/tdb/Makefile.in create mode 100644 Samba/source/lib/tdb/aclocal.m4 create mode 100755 Samba/source/lib/tdb/autogen.sh create mode 100644 Samba/source/lib/tdb/common/dump.c create mode 100644 Samba/source/lib/tdb/common/error.c create mode 100644 Samba/source/lib/tdb/common/freelist.c create mode 100644 Samba/source/lib/tdb/common/freelistcheck.c create mode 100644 Samba/source/lib/tdb/common/io.c create mode 100644 Samba/source/lib/tdb/common/lock.c create mode 100644 Samba/source/lib/tdb/common/open.c create mode 100644 Samba/source/lib/tdb/common/tdb.c create mode 100644 Samba/source/lib/tdb/common/tdb_private.h create mode 100644 Samba/source/lib/tdb/common/transaction.c create mode 100644 Samba/source/lib/tdb/common/traverse.c create mode 100755 Samba/source/lib/tdb/config.guess create mode 100644 Samba/source/lib/tdb/config.mk create mode 100755 Samba/source/lib/tdb/config.sub create mode 100644 Samba/source/lib/tdb/configure.ac create mode 100644 Samba/source/lib/tdb/docs/README create mode 100644 Samba/source/lib/tdb/docs/tdb.magic create mode 100644 Samba/source/lib/tdb/include/tdb.h create mode 100755 Samba/source/lib/tdb/install-sh create mode 100644 Samba/source/lib/tdb/libtdb.m4 create mode 100644 Samba/source/lib/tdb/swig/Tdb.py create mode 100644 Samba/source/lib/tdb/swig/tdb.i create mode 100644 Samba/source/lib/tdb/tdb.pc.in create mode 100644 Samba/source/lib/tdb/tools/tdbbackup.c create mode 100644 Samba/source/lib/tdb/tools/tdbdump.c create mode 100644 Samba/source/lib/tdb/tools/tdbtest.c create mode 100644 Samba/source/lib/tdb/tools/tdbtool.c create mode 100644 Samba/source/lib/tdb/tools/tdbtorture.c create mode 100644 Samba/source/lib/tdr/TODO create mode 100644 Samba/source/lib/tdr/config.mk create mode 100644 Samba/source/lib/tdr/tdr.c create mode 100644 Samba/source/lib/tdr/tdr.h create mode 100644 Samba/source/lib/tls/config.m4 create mode 100644 Samba/source/lib/tls/config.mk create mode 100644 Samba/source/lib/tls/tls.c create mode 100644 Samba/source/lib/tls/tls.h create mode 100644 Samba/source/lib/tls/tlscert.c create mode 100644 Samba/source/lib/util/Doxyfile create mode 100644 Samba/source/lib/util/byteorder.h create mode 100644 Samba/source/lib/util/capability.c create mode 100644 Samba/source/lib/util/capability.m4 create mode 100644 Samba/source/lib/util/config.mk create mode 100644 Samba/source/lib/util/data_blob.c create mode 100644 Samba/source/lib/util/debug.c create mode 100644 Samba/source/lib/util/debug.h create mode 100644 Samba/source/lib/util/dlinklist.h create mode 100644 Samba/source/lib/util/dprintf.c create mode 100644 Samba/source/lib/util/fault.c create mode 100644 Samba/source/lib/util/fault.m4 create mode 100644 Samba/source/lib/util/fsusage.c create mode 100644 Samba/source/lib/util/fsusage.m4 create mode 100644 Samba/source/lib/util/genrand.c create mode 100644 Samba/source/lib/util/idtree.c create mode 100644 Samba/source/lib/util/mainpage.dox create mode 100644 Samba/source/lib/util/module.c create mode 100644 Samba/source/lib/util/ms_fnmatch.c create mode 100644 Samba/source/lib/util/mutex.c create mode 100644 Samba/source/lib/util/mutex.h create mode 100644 Samba/source/lib/util/safe_string.h create mode 100644 Samba/source/lib/util/signal.c create mode 100644 Samba/source/lib/util/signal.m4 create mode 100644 Samba/source/lib/util/system.c create mode 100644 Samba/source/lib/util/time.c create mode 100644 Samba/source/lib/util/time.m4 create mode 100644 Samba/source/lib/util/unix_privs.c create mode 100644 Samba/source/lib/util/util.c create mode 100644 Samba/source/lib/util/util.h create mode 100644 Samba/source/lib/util/util.m4 create mode 100644 Samba/source/lib/util/util_file.c create mode 100644 Samba/source/lib/util/util_getent.c create mode 100644 Samba/source/lib/util/util_pw.c create mode 100644 Samba/source/lib/util/util_str.c create mode 100644 Samba/source/lib/util/util_strlist.c create mode 100644 Samba/source/lib/util/util_tdb.c create mode 100644 Samba/source/lib/util/wrap_xattr.c create mode 100644 Samba/source/lib/util/xattr.m4 create mode 100644 Samba/source/lib/util/xfile.c create mode 100644 Samba/source/lib/util/xfile.h create mode 100644 Samba/source/lib/version.c create mode 100644 Samba/source/libcli/auth/config.mk create mode 100644 Samba/source/libcli/auth/credentials.c create mode 100644 Samba/source/libcli/auth/credentials.h create mode 100644 Samba/source/libcli/auth/libcli_auth.h create mode 100644 Samba/source/libcli/auth/session.c create mode 100644 Samba/source/libcli/auth/smbdes.c create mode 100644 Samba/source/libcli/auth/smbencrypt.c create mode 100644 Samba/source/libcli/cldap/cldap.c create mode 100644 Samba/source/libcli/cldap/cldap.h create mode 100644 Samba/source/libcli/cliconnect.c create mode 100644 Samba/source/libcli/clideltree.c create mode 100644 Samba/source/libcli/clifile.c create mode 100644 Samba/source/libcli/clilist.c create mode 100644 Samba/source/libcli/climessage.c create mode 100644 Samba/source/libcli/clireadwrite.c create mode 100644 Samba/source/libcli/clitrans2.c create mode 100644 Samba/source/libcli/composite/composite.c create mode 100644 Samba/source/libcli/composite/composite.h create mode 100644 Samba/source/libcli/config.m4 create mode 100644 Samba/source/libcli/config.mk create mode 100644 Samba/source/libcli/dgram/browse.c create mode 100644 Samba/source/libcli/dgram/dgramsocket.c create mode 100644 Samba/source/libcli/dgram/libdgram.h create mode 100644 Samba/source/libcli/dgram/mailslot.c create mode 100644 Samba/source/libcli/dgram/netlogon.c create mode 100644 Samba/source/libcli/dgram/ntlogon.c create mode 100644 Samba/source/libcli/finddcs.c create mode 100644 Samba/source/libcli/ldap/config.mk create mode 100644 Samba/source/libcli/ldap/ldap.c create mode 100644 Samba/source/libcli/ldap/ldap.h create mode 100644 Samba/source/libcli/ldap/ldap_bind.c create mode 100644 Samba/source/libcli/ldap/ldap_client.c create mode 100644 Samba/source/libcli/ldap/ldap_client.h create mode 100644 Samba/source/libcli/ldap/ldap_controls.c create mode 100644 Samba/source/libcli/ldap/ldap_ildap.c create mode 100644 Samba/source/libcli/ldap/ldap_msg.c create mode 100644 Samba/source/libcli/ldap/ldap_ndr.c create mode 100644 Samba/source/libcli/libcli.h create mode 100644 Samba/source/libcli/nbt/libnbt.h create mode 100644 Samba/source/libcli/nbt/namequery.c create mode 100644 Samba/source/libcli/nbt/namerefresh.c create mode 100644 Samba/source/libcli/nbt/nameregister.c create mode 100644 Samba/source/libcli/nbt/namerelease.c create mode 100644 Samba/source/libcli/nbt/nbtname.c create mode 100644 Samba/source/libcli/nbt/nbtsocket.c create mode 100644 Samba/source/libcli/rap/rap.h create mode 100644 Samba/source/libcli/raw/README create mode 100644 Samba/source/libcli/raw/clioplock.c create mode 100644 Samba/source/libcli/raw/clisession.c create mode 100644 Samba/source/libcli/raw/clisocket.c create mode 100644 Samba/source/libcli/raw/clitransport.c create mode 100644 Samba/source/libcli/raw/clitree.c create mode 100644 Samba/source/libcli/raw/interfaces.h create mode 100644 Samba/source/libcli/raw/ioctl.h create mode 100644 Samba/source/libcli/raw/libcliraw.h create mode 100644 Samba/source/libcli/raw/rawacl.c create mode 100644 Samba/source/libcli/raw/rawdate.c create mode 100644 Samba/source/libcli/raw/raweas.c create mode 100644 Samba/source/libcli/raw/rawfile.c create mode 100644 Samba/source/libcli/raw/rawfileinfo.c create mode 100644 Samba/source/libcli/raw/rawfsinfo.c create mode 100644 Samba/source/libcli/raw/rawioctl.c create mode 100644 Samba/source/libcli/raw/rawlpq.c create mode 100644 Samba/source/libcli/raw/rawnegotiate.c create mode 100644 Samba/source/libcli/raw/rawnotify.c create mode 100644 Samba/source/libcli/raw/rawreadwrite.c create mode 100644 Samba/source/libcli/raw/rawrequest.c create mode 100644 Samba/source/libcli/raw/rawsearch.c create mode 100644 Samba/source/libcli/raw/rawsetfileinfo.c create mode 100644 Samba/source/libcli/raw/rawtrans.c create mode 100644 Samba/source/libcli/raw/request.h create mode 100644 Samba/source/libcli/raw/signing.h create mode 100644 Samba/source/libcli/raw/smb.h create mode 100644 Samba/source/libcli/raw/smb_signing.c create mode 100644 Samba/source/libcli/raw/trans2.h create mode 100644 Samba/source/libcli/resolve/bcast.c create mode 100644 Samba/source/libcli/resolve/host.c create mode 100644 Samba/source/libcli/resolve/nbtlist.c create mode 100644 Samba/source/libcli/resolve/resolve.c create mode 100644 Samba/source/libcli/resolve/resolve.h create mode 100644 Samba/source/libcli/resolve/wins.c create mode 100644 Samba/source/libcli/security/access_check.c create mode 100644 Samba/source/libcli/security/config.mk create mode 100644 Samba/source/libcli/security/dom_sid.c create mode 100644 Samba/source/libcli/security/privilege.c create mode 100644 Samba/source/libcli/security/sddl.c create mode 100644 Samba/source/libcli/security/security.h create mode 100644 Samba/source/libcli/security/security_descriptor.c create mode 100644 Samba/source/libcli/security/security_token.c create mode 100644 Samba/source/libcli/smb2/cancel.c create mode 100644 Samba/source/libcli/smb2/close.c create mode 100644 Samba/source/libcli/smb2/config.mk create mode 100644 Samba/source/libcli/smb2/connect.c create mode 100644 Samba/source/libcli/smb2/create.c create mode 100644 Samba/source/libcli/smb2/find.c create mode 100644 Samba/source/libcli/smb2/flush.c create mode 100644 Samba/source/libcli/smb2/getinfo.c create mode 100644 Samba/source/libcli/smb2/ioctl.c create mode 100644 Samba/source/libcli/smb2/keepalive.c create mode 100644 Samba/source/libcli/smb2/lock.c create mode 100644 Samba/source/libcli/smb2/logoff.c create mode 100644 Samba/source/libcli/smb2/negprot.c create mode 100644 Samba/source/libcli/smb2/notify.c create mode 100644 Samba/source/libcli/smb2/read.c create mode 100644 Samba/source/libcli/smb2/request.c create mode 100644 Samba/source/libcli/smb2/session.c create mode 100644 Samba/source/libcli/smb2/setinfo.c create mode 100644 Samba/source/libcli/smb2/smb2.h create mode 100644 Samba/source/libcli/smb2/smb2_calls.h create mode 100644 Samba/source/libcli/smb2/tcon.c create mode 100644 Samba/source/libcli/smb2/tdis.c create mode 100644 Samba/source/libcli/smb2/transport.c create mode 100644 Samba/source/libcli/smb2/write.c create mode 100644 Samba/source/libcli/smb_composite/appendacl.c create mode 100644 Samba/source/libcli/smb_composite/connect.c create mode 100644 Samba/source/libcli/smb_composite/fetchfile.c create mode 100644 Samba/source/libcli/smb_composite/fsinfo.c create mode 100644 Samba/source/libcli/smb_composite/loadfile.c create mode 100644 Samba/source/libcli/smb_composite/savefile.c create mode 100644 Samba/source/libcli/smb_composite/sesssetup.c create mode 100644 Samba/source/libcli/smb_composite/smb_composite.h create mode 100644 Samba/source/libcli/smbc/README create mode 100644 Samba/source/libcli/swig/libcli_nbt.i create mode 100644 Samba/source/libcli/util/asn1.c create mode 100644 Samba/source/libcli/util/asn_1.h create mode 100644 Samba/source/libcli/util/clierror.c create mode 100644 Samba/source/libcli/util/clilsa.c create mode 100644 Samba/source/libcli/util/doserr.c create mode 100644 Samba/source/libcli/util/doserr.h create mode 100644 Samba/source/libcli/util/error.h create mode 100644 Samba/source/libcli/util/errormap.c create mode 100644 Samba/source/libcli/util/nt_status.h create mode 100644 Samba/source/libcli/util/nterr.c create mode 100644 Samba/source/libcli/util/nterr.h create mode 100644 Samba/source/libcli/wrepl/winsrepl.c create mode 100644 Samba/source/libcli/wrepl/winsrepl.h create mode 100644 Samba/source/libnet/composite.h create mode 100644 Samba/source/libnet/config.mk create mode 100644 Samba/source/libnet/libnet.c create mode 100644 Samba/source/libnet/libnet.h create mode 100644 Samba/source/libnet/libnet_become_dc.c create mode 100644 Samba/source/libnet/libnet_become_dc.h create mode 100644 Samba/source/libnet/libnet_domain.c create mode 100644 Samba/source/libnet/libnet_domain.h create mode 100644 Samba/source/libnet/libnet_join.c create mode 100644 Samba/source/libnet/libnet_join.h create mode 100644 Samba/source/libnet/libnet_lookup.c create mode 100644 Samba/source/libnet/libnet_lookup.h create mode 100644 Samba/source/libnet/libnet_passwd.c create mode 100644 Samba/source/libnet/libnet_passwd.h create mode 100644 Samba/source/libnet/libnet_rpc.c create mode 100644 Samba/source/libnet/libnet_rpc.h create mode 100644 Samba/source/libnet/libnet_samdump.c create mode 100644 Samba/source/libnet/libnet_samdump_keytab.c create mode 100644 Samba/source/libnet/libnet_samsync_ldb.c create mode 100644 Samba/source/libnet/libnet_share.c create mode 100644 Samba/source/libnet/libnet_share.h create mode 100644 Samba/source/libnet/libnet_site.c create mode 100644 Samba/source/libnet/libnet_site.h create mode 100644 Samba/source/libnet/libnet_time.c create mode 100644 Samba/source/libnet/libnet_time.h create mode 100644 Samba/source/libnet/libnet_unbecome_dc.c create mode 100644 Samba/source/libnet/libnet_unbecome_dc.h create mode 100644 Samba/source/libnet/libnet_user.c create mode 100644 Samba/source/libnet/libnet_user.h create mode 100644 Samba/source/libnet/libnet_vampire.c create mode 100644 Samba/source/libnet/libnet_vampire.h create mode 100644 Samba/source/libnet/prereq_domain.c create mode 100644 Samba/source/libnet/userinfo.c create mode 100644 Samba/source/libnet/userinfo.h create mode 100644 Samba/source/libnet/userman.c create mode 100644 Samba/source/libnet/userman.h create mode 100644 Samba/source/librpc/config.mk.breakpad create mode 100644 Samba/source/librpc/config.mk.nobreakpad create mode 100755 Samba/source/librpc/idl-deps.pl create mode 100644 Samba/source/librpc/idl/IDL_LICENSE.txt create mode 100644 Samba/source/librpc/idl/atsvc.idl create mode 100644 Samba/source/librpc/idl/audiosrv.idl create mode 100644 Samba/source/librpc/idl/browser.idl create mode 100644 Samba/source/librpc/idl/dbgidl.idl create mode 100644 Samba/source/librpc/idl/dcerpc.idl create mode 100644 Samba/source/librpc/idl/dcom.idl create mode 100644 Samba/source/librpc/idl/dcom_wmi.inc create mode 100644 Samba/source/librpc/idl/dfs.idl create mode 100644 Samba/source/librpc/idl/dnsserver.idl create mode 100644 Samba/source/librpc/idl/drsblobs.idl create mode 100644 Samba/source/librpc/idl/drsuapi.idl create mode 100644 Samba/source/librpc/idl/dsbackup.idl create mode 100644 Samba/source/librpc/idl/dssetup.idl create mode 100644 Samba/source/librpc/idl/echo.idl create mode 100644 Samba/source/librpc/idl/efs.idl create mode 100644 Samba/source/librpc/idl/epmapper.idl create mode 100644 Samba/source/librpc/idl/eventlog.idl create mode 100644 Samba/source/librpc/idl/frsapi.idl create mode 100644 Samba/source/librpc/idl/frsrpc.idl create mode 100644 Samba/source/librpc/idl/idl_types.h create mode 100644 Samba/source/librpc/idl/initshutdown.idl create mode 100644 Samba/source/librpc/idl/irpc.idl create mode 100644 Samba/source/librpc/idl/keysvc.idl create mode 100644 Samba/source/librpc/idl/krb5pac.idl create mode 100644 Samba/source/librpc/idl/lsa.idl create mode 100644 Samba/source/librpc/idl/mgmt.idl create mode 100644 Samba/source/librpc/idl/misc.idl create mode 100644 Samba/source/librpc/idl/msgsvc.idl create mode 100644 Samba/source/librpc/idl/nbt.idl create mode 100644 Samba/source/librpc/idl/netlogon.idl create mode 100644 Samba/source/librpc/idl/nfs4acl.idl create mode 100644 Samba/source/librpc/idl/notify.idl create mode 100644 Samba/source/librpc/idl/ntsvcs.idl create mode 100644 Samba/source/librpc/idl/opendb.idl create mode 100644 Samba/source/librpc/idl/orpc.idl create mode 100644 Samba/source/librpc/idl/oxidresolver.idl create mode 100644 Samba/source/librpc/idl/policyagent.idl create mode 100644 Samba/source/librpc/idl/protected_storage.idl create mode 100644 Samba/source/librpc/idl/remact.idl create mode 100644 Samba/source/librpc/idl/rot.idl create mode 100644 Samba/source/librpc/idl/samr.idl create mode 100644 Samba/source/librpc/idl/sasl_helpers.idl create mode 100644 Samba/source/librpc/idl/scerpc.idl create mode 100644 Samba/source/librpc/idl/schannel.idl create mode 100644 Samba/source/librpc/idl/security.cnf create mode 100644 Samba/source/librpc/idl/security.idl create mode 100644 Samba/source/librpc/idl/spoolss.idl create mode 100644 Samba/source/librpc/idl/srvsvc.idl create mode 100644 Samba/source/librpc/idl/svcctl.idl create mode 100644 Samba/source/librpc/idl/trkwks.idl create mode 100644 Samba/source/librpc/idl/unixinfo.idl create mode 100644 Samba/source/librpc/idl/w32time.idl create mode 100644 Samba/source/librpc/idl/winbind.idl create mode 100644 Samba/source/librpc/idl/winreg.cnf create mode 100644 Samba/source/librpc/idl/winreg.idl create mode 100644 Samba/source/librpc/idl/wins.idl create mode 100644 Samba/source/librpc/idl/winsrepl.idl create mode 100644 Samba/source/librpc/idl/winstation.idl create mode 100644 Samba/source/librpc/idl/wkssvc.idl create mode 100644 Samba/source/librpc/idl/wzcsvc.idl create mode 100644 Samba/source/librpc/idl/xattr.idl create mode 100644 Samba/source/librpc/ndr/libndr.h create mode 100644 Samba/source/librpc/ndr/ndr.c create mode 100644 Samba/source/librpc/ndr/ndr_basic.c create mode 100644 Samba/source/librpc/ndr/ndr_compression.c create mode 100644 Samba/source/librpc/ndr/ndr_dcom.c create mode 100644 Samba/source/librpc/ndr/ndr_drsuapi.c create mode 100644 Samba/source/librpc/ndr/ndr_krb5pac.c create mode 100644 Samba/source/librpc/ndr/ndr_misc.c create mode 100644 Samba/source/librpc/ndr/ndr_orpc.c create mode 100644 Samba/source/librpc/ndr/ndr_sec_helper.c create mode 100644 Samba/source/librpc/ndr/ndr_spoolss_buf.c create mode 100644 Samba/source/librpc/ndr/ndr_string.c create mode 100644 Samba/source/librpc/ndr/uuid.c create mode 100644 Samba/source/librpc/rpc/dcerpc.c create mode 100644 Samba/source/librpc/rpc/dcerpc.h create mode 100644 Samba/source/librpc/rpc/dcerpc_auth.c create mode 100644 Samba/source/librpc/rpc/dcerpc_connect.c create mode 100644 Samba/source/librpc/rpc/dcerpc_error.c create mode 100644 Samba/source/librpc/rpc/dcerpc_schannel.c create mode 100644 Samba/source/librpc/rpc/dcerpc_smb.c create mode 100644 Samba/source/librpc/rpc/dcerpc_smb2.c create mode 100644 Samba/source/librpc/rpc/dcerpc_sock.c create mode 100644 Samba/source/librpc/rpc/dcerpc_util.c create mode 100644 Samba/source/librpc/rpc/table.c create mode 100644 Samba/source/librpc/tables.pl create mode 100644 Samba/source/main.mk create mode 100644 Samba/source/nbt_server/config.mk create mode 100644 Samba/source/nbt_server/defense.c create mode 100644 Samba/source/nbt_server/dgram/browse.c create mode 100644 Samba/source/nbt_server/dgram/netlogon.c create mode 100644 Samba/source/nbt_server/dgram/ntlogon.c create mode 100644 Samba/source/nbt_server/dgram/request.c create mode 100644 Samba/source/nbt_server/interfaces.c create mode 100644 Samba/source/nbt_server/irpc.c create mode 100644 Samba/source/nbt_server/nbt_server.c create mode 100644 Samba/source/nbt_server/nbt_server.h create mode 100644 Samba/source/nbt_server/nodestatus.c create mode 100644 Samba/source/nbt_server/packet.c create mode 100644 Samba/source/nbt_server/query.c create mode 100644 Samba/source/nbt_server/register.c create mode 100644 Samba/source/nbt_server/wins/wins_dns_proxy.c create mode 100644 Samba/source/nbt_server/wins/wins_hook.c create mode 100644 Samba/source/nbt_server/wins/wins_ldb.c create mode 100644 Samba/source/nbt_server/wins/winsclient.c create mode 100644 Samba/source/nbt_server/wins/winsdb.c create mode 100644 Samba/source/nbt_server/wins/winsdb.h create mode 100644 Samba/source/nbt_server/wins/winsserver.c create mode 100644 Samba/source/nbt_server/wins/winsserver.h create mode 100644 Samba/source/nbt_server/wins/winswack.c create mode 100644 Samba/source/nsswitch/config.m4 create mode 100644 Samba/source/nsswitch/config.mk create mode 100644 Samba/source/nsswitch/wb_common.c create mode 100644 Samba/source/nsswitch/winbind_client.h create mode 100644 Samba/source/nsswitch/winbind_nss.h create mode 100644 Samba/source/nsswitch/winbind_nss_config.h create mode 100644 Samba/source/nsswitch/winbind_nss_hpux.h create mode 100644 Samba/source/nsswitch/winbind_nss_irix.h create mode 100644 Samba/source/nsswitch/winbind_nss_linux.h create mode 100644 Samba/source/nsswitch/winbind_nss_solaris.h create mode 100644 Samba/source/nsswitch/winbindd_nss.h create mode 100644 Samba/source/ntptr/config.mk create mode 100644 Samba/source/ntptr/ntptr.h create mode 100644 Samba/source/ntptr/ntptr_base.c create mode 100644 Samba/source/ntptr/ntptr_interface.c create mode 100644 Samba/source/ntptr/simple_ldb/ntptr_simple_ldb.c create mode 100644 Samba/source/ntvfs/README create mode 100644 Samba/source/ntvfs/cifs/README create mode 100644 Samba/source/ntvfs/cifs/vfs_cifs.c create mode 100644 Samba/source/ntvfs/cifs_posix_cli/README create mode 100644 Samba/source/ntvfs/cifs_posix_cli/cifsposix.h create mode 100644 Samba/source/ntvfs/cifs_posix_cli/svfs_util.c create mode 100644 Samba/source/ntvfs/cifs_posix_cli/vfs_cifs_posix.c create mode 100644 Samba/source/ntvfs/common/brlock.c create mode 100644 Samba/source/ntvfs/common/config.mk create mode 100644 Samba/source/ntvfs/common/init.c create mode 100644 Samba/source/ntvfs/common/notify.c create mode 100644 Samba/source/ntvfs/common/opendb.c create mode 100644 Samba/source/ntvfs/config.mk create mode 100644 Samba/source/ntvfs/ipc/README create mode 100644 Samba/source/ntvfs/ipc/ipc.h create mode 100644 Samba/source/ntvfs/ipc/ipc_rap.c create mode 100644 Samba/source/ntvfs/ipc/np_echo.c create mode 100644 Samba/source/ntvfs/ipc/rap_server.c create mode 100644 Samba/source/ntvfs/ipc/vfs_ipc.c create mode 100644 Samba/source/ntvfs/nbench/README create mode 100644 Samba/source/ntvfs/nbench/vfs_nbench.c create mode 100644 Samba/source/ntvfs/ntvfs.h create mode 100644 Samba/source/ntvfs/ntvfs_base.c create mode 100644 Samba/source/ntvfs/ntvfs_generic.c create mode 100644 Samba/source/ntvfs/ntvfs_interface.c create mode 100644 Samba/source/ntvfs/ntvfs_util.c create mode 100644 Samba/source/ntvfs/posix/config.m4 create mode 100644 Samba/source/ntvfs/posix/config.mk create mode 100644 Samba/source/ntvfs/posix/pvfs_acl.c create mode 100644 Samba/source/ntvfs/posix/pvfs_acl_nfs4.c create mode 100644 Samba/source/ntvfs/posix/pvfs_acl_xattr.c create mode 100644 Samba/source/ntvfs/posix/pvfs_dirlist.c create mode 100644 Samba/source/ntvfs/posix/pvfs_fileinfo.c create mode 100644 Samba/source/ntvfs/posix/pvfs_flush.c create mode 100644 Samba/source/ntvfs/posix/pvfs_fsinfo.c create mode 100644 Samba/source/ntvfs/posix/pvfs_ioctl.c create mode 100644 Samba/source/ntvfs/posix/pvfs_lock.c create mode 100644 Samba/source/ntvfs/posix/pvfs_mkdir.c create mode 100644 Samba/source/ntvfs/posix/pvfs_notify.c create mode 100644 Samba/source/ntvfs/posix/pvfs_open.c create mode 100644 Samba/source/ntvfs/posix/pvfs_qfileinfo.c create mode 100644 Samba/source/ntvfs/posix/pvfs_read.c create mode 100644 Samba/source/ntvfs/posix/pvfs_rename.c create mode 100644 Samba/source/ntvfs/posix/pvfs_resolve.c create mode 100644 Samba/source/ntvfs/posix/pvfs_search.c create mode 100644 Samba/source/ntvfs/posix/pvfs_seek.c create mode 100644 Samba/source/ntvfs/posix/pvfs_setfileinfo.c create mode 100644 Samba/source/ntvfs/posix/pvfs_shortname.c create mode 100644 Samba/source/ntvfs/posix/pvfs_streams.c create mode 100644 Samba/source/ntvfs/posix/pvfs_unlink.c create mode 100644 Samba/source/ntvfs/posix/pvfs_util.c create mode 100644 Samba/source/ntvfs/posix/pvfs_wait.c create mode 100644 Samba/source/ntvfs/posix/pvfs_write.c create mode 100644 Samba/source/ntvfs/posix/pvfs_xattr.c create mode 100644 Samba/source/ntvfs/posix/vfs_posix.c create mode 100644 Samba/source/ntvfs/posix/vfs_posix.h create mode 100644 Samba/source/ntvfs/posix/xattr_system.c create mode 100644 Samba/source/ntvfs/posix/xattr_tdb.c create mode 100644 Samba/source/ntvfs/print/README create mode 100644 Samba/source/ntvfs/print/vfs_print.c create mode 100644 Samba/source/ntvfs/simple/README create mode 100644 Samba/source/ntvfs/simple/svfs.h create mode 100644 Samba/source/ntvfs/simple/svfs_util.c create mode 100644 Samba/source/ntvfs/simple/vfs_simple.c create mode 100644 Samba/source/ntvfs/sysdep/README create mode 100644 Samba/source/ntvfs/sysdep/config.m4 create mode 100644 Samba/source/ntvfs/sysdep/config.mk create mode 100644 Samba/source/ntvfs/sysdep/inotify.c create mode 100644 Samba/source/ntvfs/sysdep/sys_notify.c create mode 100644 Samba/source/ntvfs/sysdep/sys_notify.h create mode 100644 Samba/source/ntvfs/unixuid/config.m4 create mode 100644 Samba/source/ntvfs/unixuid/config.mk create mode 100644 Samba/source/ntvfs/unixuid/vfs_unixuid.c create mode 100644 Samba/source/param/config.mk create mode 100644 Samba/source/param/generic.c create mode 100644 Samba/source/param/loadparm.c create mode 100644 Samba/source/param/loadparm.h create mode 100644 Samba/source/param/param.h create mode 100644 Samba/source/param/params.c create mode 100644 Samba/source/param/secrets.c create mode 100644 Samba/source/param/secrets.h create mode 100644 Samba/source/param/share.c create mode 100644 Samba/source/param/share.h create mode 100644 Samba/source/param/share_classic.c create mode 100644 Samba/source/param/share_ldb.c create mode 100644 Samba/source/param/util.c create mode 100644 Samba/source/pidl/MANIFEST create mode 100755 Samba/source/pidl/Makefile.PL create mode 100644 Samba/source/pidl/README create mode 100644 Samba/source/pidl/TODO create mode 100644 Samba/source/pidl/idl.yp create mode 100644 Samba/source/pidl/lib/Parse/Pidl.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Compat.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Dump.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/IDL.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/NDR.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/ODL.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/COM/Header.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/COM/Stub.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/EJS.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/Header.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/SWIG.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/TDR.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Samba4/Template.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Typelist.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Util.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm create mode 100644 Samba/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm create mode 100755 Samba/source/pidl/pidl create mode 100644 Samba/source/pidl/ref_notes.txt create mode 100644 Samba/source/pidl/smb_interfaces.pm create mode 100644 Samba/source/pidl/smb_interfaces.yp create mode 100644 Samba/source/pidl/tests/Util.pm create mode 100755 Samba/source/pidl/tests/ndr_align.pl create mode 100755 Samba/source/pidl/tests/ndr_alloc.pl create mode 100755 Samba/source/pidl/tests/ndr_array.pl create mode 100755 Samba/source/pidl/tests/ndr_fullptr.pl create mode 100755 Samba/source/pidl/tests/ndr_refptr.pl create mode 100644 Samba/source/pidl/tests/ndr_represent.pl create mode 100755 Samba/source/pidl/tests/ndr_simple.pl create mode 100755 Samba/source/pidl/tests/ndr_string.pl create mode 100755 Samba/source/pidl/tests/ndr_tagtype.pl create mode 100755 Samba/source/pidl/tests/parse_idl.pl create mode 100644 Samba/source/rpc_server/common/common.h create mode 100644 Samba/source/rpc_server/common/server_info.c create mode 100644 Samba/source/rpc_server/common/share_info.c create mode 100644 Samba/source/rpc_server/config.mk create mode 100644 Samba/source/rpc_server/dcerpc_server.c create mode 100644 Samba/source/rpc_server/dcerpc_server.h create mode 100644 Samba/source/rpc_server/dcerpc_sock.c create mode 100644 Samba/source/rpc_server/dcesrv_auth.c create mode 100644 Samba/source/rpc_server/drsuapi/dcesrv_drsuapi.c create mode 100644 Samba/source/rpc_server/drsuapi/dcesrv_drsuapi.h create mode 100644 Samba/source/rpc_server/echo/rpc_echo.c create mode 100644 Samba/source/rpc_server/epmapper/rpc_epmapper.c create mode 100644 Samba/source/rpc_server/handles.c create mode 100644 Samba/source/rpc_server/lsa/dcesrv_lsa.c create mode 100644 Samba/source/rpc_server/netlogon/dcerpc_netlogon.c create mode 100644 Samba/source/rpc_server/remote/README create mode 100644 Samba/source/rpc_server/remote/dcesrv_remote.c create mode 100644 Samba/source/rpc_server/samr/dcesrv_samr.c create mode 100644 Samba/source/rpc_server/samr/dcesrv_samr.h create mode 100644 Samba/source/rpc_server/samr/samr_password.c create mode 100644 Samba/source/rpc_server/spoolss/dcesrv_spoolss.c create mode 100644 Samba/source/rpc_server/srvsvc/dcesrv_srvsvc.c create mode 100644 Samba/source/rpc_server/srvsvc/srvsvc_ntvfs.c create mode 100644 Samba/source/rpc_server/unixinfo/dcesrv_unixinfo.c create mode 100644 Samba/source/rpc_server/winreg/README create mode 100644 Samba/source/rpc_server/winreg/rpc_winreg.c create mode 100644 Samba/source/rpc_server/wkssvc/dcesrv_wkssvc.c create mode 100644 Samba/source/samba4-knownfail create mode 100755 Samba/source/script/build_idl.sh create mode 100755 Samba/source/script/build_smb_interfaces.pl create mode 100644 Samba/source/script/buildtree.pl create mode 100755 Samba/source/script/cflags.pl create mode 100755 Samba/source/script/configure_check_unused.pl create mode 100755 Samba/source/script/depfilter.py create mode 100755 Samba/source/script/extract_allparms.sh create mode 100755 Samba/source/script/find_unused_macros.pl create mode 100755 Samba/source/script/find_unused_makefilevars.pl create mode 100755 Samba/source/script/find_unused_options.sh create mode 100755 Samba/source/script/findstatic.pl create mode 100755 Samba/source/script/gdb_backtrace create mode 100644 Samba/source/script/gdb_backtrace_test.c create mode 100755 Samba/source/script/installbin.sh create mode 100755 Samba/source/script/installdat.sh create mode 100755 Samba/source/script/installdirs.sh create mode 100755 Samba/source/script/installheader.pl create mode 100644 Samba/source/script/installjsonrpc.sh create mode 100755 Samba/source/script/installlib.sh create mode 100755 Samba/source/script/installman.sh create mode 100755 Samba/source/script/installmisc.sh create mode 100755 Samba/source/script/installmodules.sh create mode 100755 Samba/source/script/installpc.sh create mode 100755 Samba/source/script/installscripts.sh create mode 100755 Samba/source/script/installswat.sh create mode 100755 Samba/source/script/installtorture.sh create mode 100755 Samba/source/script/lex_compile.sh create mode 100755 Samba/source/script/minimal_includes.pl create mode 100755 Samba/source/script/mkinstalldirs create mode 100755 Samba/source/script/mkproto.pl create mode 100755 Samba/source/script/mkversion.sh create mode 100755 Samba/source/script/pkg-config create mode 100755 Samba/source/script/revert.sh create mode 100755 Samba/source/script/subunit-summary create mode 100644 Samba/source/script/tests/README create mode 100755 Samba/source/script/tests/mktestsetup.sh create mode 100644 Samba/source/script/tests/mktestsetup.sh.share_ldb create mode 100755 Samba/source/script/tests/selftest.sh create mode 100755 Samba/source/script/tests/test_binding_string.sh create mode 100755 Samba/source/script/tests/test_cifsdd.sh create mode 100755 Samba/source/script/tests/test_echo.sh create mode 100755 Samba/source/script/tests/test_ejs.sh create mode 100755 Samba/source/script/tests/test_functions.sh create mode 100755 Samba/source/script/tests/test_ldap.sh create mode 100755 Samba/source/script/tests/test_local.sh create mode 100755 Samba/source/script/tests/test_nbt.sh create mode 100755 Samba/source/script/tests/test_net.sh create mode 100755 Samba/source/script/tests/test_pidl.sh create mode 100755 Samba/source/script/tests/test_posix.sh create mode 100755 Samba/source/script/tests/test_quick.sh create mode 100755 Samba/source/script/tests/test_rpc.sh create mode 100755 Samba/source/script/tests/test_rpc_quick.sh create mode 100755 Samba/source/script/tests/test_s3upgrade.sh create mode 100755 Samba/source/script/tests/test_session_key.sh create mode 100755 Samba/source/script/tests/test_simple.sh create mode 100755 Samba/source/script/tests/test_smbclient.sh create mode 100755 Samba/source/script/tests/test_swig.sh create mode 100755 Samba/source/script/tests/test_w2k3.sh create mode 100755 Samba/source/script/tests/test_w2k3_file.sh create mode 100755 Samba/source/script/tests/test_win.sh create mode 100755 Samba/source/script/tests/tests_all.sh create mode 100755 Samba/source/script/tests/tests_client.sh create mode 100755 Samba/source/script/tests/tests_net.sh create mode 100755 Samba/source/script/tests/tests_quick.sh create mode 100755 Samba/source/script/tests/tests_win.sh create mode 100644 Samba/source/script/tests/tests_xterm.sh create mode 100644 Samba/source/script/tests/win/README create mode 100644 Samba/source/script/tests/win/VMHost.pm create mode 100644 Samba/source/script/tests/win/common.exp create mode 100644 Samba/source/script/tests/win/test_win.conf create mode 100644 Samba/source/script/tests/win/vm_get_ip.pl create mode 100644 Samba/source/script/tests/win/vm_load_snapshot.pl create mode 100755 Samba/source/script/tests/win/wintest_base.sh create mode 100644 Samba/source/script/tests/win/wintest_client.exp create mode 100755 Samba/source/script/tests/win/wintest_client.sh create mode 100755 Samba/source/script/tests/win/wintest_functions.sh create mode 100755 Samba/source/script/tests/win/wintest_net.sh create mode 100755 Samba/source/script/tests/win/wintest_raw.sh create mode 100644 Samba/source/script/tests/win/wintest_remove.exp create mode 100755 Samba/source/script/tests/win/wintest_rpc.sh create mode 100644 Samba/source/script/tests/win/wintest_setup.exp create mode 100755 Samba/source/script/uninstallbin.sh create mode 100755 Samba/source/script/uninstallheader.sh create mode 100755 Samba/source/script/uninstalllib.sh create mode 100755 Samba/source/script/uninstallman.sh create mode 100755 Samba/source/script/uninstallmodules.sh create mode 100755 Samba/source/script/uninstallscripts.sh create mode 100755 Samba/source/script/uninstalltorture.sh create mode 100755 Samba/source/script/update-proto.pl create mode 100755 Samba/source/script/yacc_compile.sh create mode 100755 Samba/source/scripting/bin/samba3dump create mode 100755 Samba/source/scripting/bin/smbstatus create mode 100755 Samba/source/scripting/bin/winreg create mode 100644 Samba/source/scripting/ejs/config.mk create mode 100644 Samba/source/scripting/ejs/ejsnet.c create mode 100644 Samba/source/scripting/ejs/ejsnet.h create mode 100644 Samba/source/scripting/ejs/ejsrpc.c create mode 100644 Samba/source/scripting/ejs/ejsrpc.h create mode 100644 Samba/source/scripting/ejs/literal.c create mode 100644 Samba/source/scripting/ejs/mprutil.c create mode 100644 Samba/source/scripting/ejs/smbcalls.c create mode 100644 Samba/source/scripting/ejs/smbcalls.h create mode 100644 Samba/source/scripting/ejs/smbcalls_auth.c create mode 100644 Samba/source/scripting/ejs/smbcalls_cli.c create mode 100644 Samba/source/scripting/ejs/smbcalls_config.c create mode 100644 Samba/source/scripting/ejs/smbcalls_creds.c create mode 100644 Samba/source/scripting/ejs/smbcalls_data.c create mode 100644 Samba/source/scripting/ejs/smbcalls_ldb.c create mode 100644 Samba/source/scripting/ejs/smbcalls_nbt.c create mode 100644 Samba/source/scripting/ejs/smbcalls_nss.c create mode 100644 Samba/source/scripting/ejs/smbcalls_options.c create mode 100644 Samba/source/scripting/ejs/smbcalls_param.c create mode 100644 Samba/source/scripting/ejs/smbcalls_rand.c create mode 100644 Samba/source/scripting/ejs/smbcalls_rpc.c create mode 100644 Samba/source/scripting/ejs/smbcalls_samba3.c create mode 100644 Samba/source/scripting/ejs/smbcalls_string.c create mode 100644 Samba/source/scripting/ejs/smbcalls_sys.c create mode 100644 Samba/source/scripting/ejs/smbscript.c create mode 100644 Samba/source/scripting/libjs/auth.js create mode 100644 Samba/source/scripting/libjs/base.js create mode 100644 Samba/source/scripting/libjs/encoder.js create mode 100644 Samba/source/scripting/libjs/management.js create mode 100644 Samba/source/scripting/libjs/provision.js create mode 100644 Samba/source/scripting/libjs/samr.js create mode 100644 Samba/source/scripting/libjs/server_call.js create mode 100644 Samba/source/scripting/libjs/upgrade.js create mode 100644 Samba/source/scripting/libjs/winreg.js create mode 100644 Samba/source/scripting/swig/README create mode 100644 Samba/source/scripting/swig/config.m4 create mode 100644 Samba/source/scripting/swig/config.mk create mode 100644 Samba/source/scripting/swig/dcerpc.i create mode 100755 Samba/source/scripting/swig/rpcclient create mode 100644 Samba/source/scripting/swig/samba.i create mode 100644 Samba/source/scripting/swig/samr.py create mode 100644 Samba/source/scripting/swig/status_codes.i create mode 100755 Samba/source/scripting/swig/torture/pytorture create mode 100644 Samba/source/scripting/swig/torture/spoolss.py create mode 100755 Samba/source/scripting/swig/torture/torture_ldb.py create mode 100755 Samba/source/scripting/swig/torture/torture_samr.py create mode 100755 Samba/source/scripting/swig/torture/torture_tdb.py create mode 100755 Samba/source/scripting/swig/torture/winreg.py create mode 100644 Samba/source/setup/display_specifiers.ldif create mode 100644 Samba/source/setup/hklm.ldif create mode 100755 Samba/source/setup/newuser create mode 100755 Samba/source/setup/provision create mode 100644 Samba/source/setup/provision.ldif create mode 100644 Samba/source/setup/provision.smb.conf create mode 100644 Samba/source/setup/provision.zone create mode 100644 Samba/source/setup/provision_basedn.ldif create mode 100644 Samba/source/setup/provision_basedn_modify.ldif create mode 100644 Samba/source/setup/provision_index.ldif create mode 100644 Samba/source/setup/provision_init.ldif create mode 100644 Samba/source/setup/provision_partitions.ldif create mode 100644 Samba/source/setup/provision_templates.ldif create mode 100644 Samba/source/setup/provision_users.ldif create mode 100644 Samba/source/setup/schema-map-fedora-ds-1.0 create mode 100644 Samba/source/setup/schema-map-openldap-2.3 create mode 100644 Samba/source/setup/schema.ldif create mode 100644 Samba/source/setup/schema_samba4.ldif create mode 100644 Samba/source/setup/secrets.ldif create mode 100644 Samba/source/setup/setpassword create mode 100644 Samba/source/setup/share.ldif create mode 100755 Samba/source/setup/upgrade create mode 100644 Samba/source/smb_server/blob.c create mode 100644 Samba/source/smb_server/config.mk create mode 100644 Samba/source/smb_server/handle.c create mode 100644 Samba/source/smb_server/management.c create mode 100644 Samba/source/smb_server/session.c create mode 100644 Samba/source/smb_server/smb/config.mk create mode 100644 Samba/source/smb_server/smb/negprot.c create mode 100644 Samba/source/smb_server/smb/nttrans.c create mode 100644 Samba/source/smb_server/smb/receive.c create mode 100644 Samba/source/smb_server/smb/reply.c create mode 100644 Samba/source/smb_server/smb/request.c create mode 100644 Samba/source/smb_server/smb/search.c create mode 100644 Samba/source/smb_server/smb/service.c create mode 100644 Samba/source/smb_server/smb/sesssetup.c create mode 100644 Samba/source/smb_server/smb/signing.c create mode 100644 Samba/source/smb_server/smb/srvtime.c create mode 100644 Samba/source/smb_server/smb/trans2.c create mode 100644 Samba/source/smb_server/smb2/config.mk create mode 100644 Samba/source/smb_server/smb2/fileinfo.c create mode 100644 Samba/source/smb_server/smb2/fileio.c create mode 100644 Samba/source/smb_server/smb2/find.c create mode 100644 Samba/source/smb_server/smb2/keepalive.c create mode 100644 Samba/source/smb_server/smb2/negprot.c create mode 100644 Samba/source/smb_server/smb2/receive.c create mode 100644 Samba/source/smb_server/smb2/sesssetup.c create mode 100644 Samba/source/smb_server/smb2/smb2_server.h create mode 100644 Samba/source/smb_server/smb2/tcon.c create mode 100644 Samba/source/smb_server/smb_server.c create mode 100644 Samba/source/smb_server/smb_server.h create mode 100644 Samba/source/smb_server/tcon.c create mode 100644 Samba/source/smbd/config.mk create mode 100644 Samba/source/smbd/pidfile.c create mode 100644 Samba/source/smbd/process_model.c create mode 100644 Samba/source/smbd/process_model.h create mode 100644 Samba/source/smbd/process_model.m4 create mode 100644 Samba/source/smbd/process_model.mk create mode 100644 Samba/source/smbd/process_single.c create mode 100644 Samba/source/smbd/process_standard.c create mode 100644 Samba/source/smbd/process_thread.c create mode 100644 Samba/source/smbd/server.c create mode 100644 Samba/source/smbd/service.c create mode 100644 Samba/source/smbd/service.h create mode 100644 Samba/source/smbd/service_stream.c create mode 100644 Samba/source/smbd/service_stream.h create mode 100644 Samba/source/smbd/service_task.c create mode 100644 Samba/source/smbd/service_task.h create mode 100644 Samba/source/smbd/smbd.8.xml create mode 100644 Samba/source/static_deps.mk create mode 100644 Samba/source/torture/auth/ntlmssp.c create mode 100644 Samba/source/torture/auth/pac.c create mode 100644 Samba/source/torture/basic/aliases.c create mode 100644 Samba/source/torture/basic/attr.c create mode 100644 Samba/source/torture/basic/base.c create mode 100644 Samba/source/torture/basic/charset.c create mode 100644 Samba/source/torture/basic/delaywrite.c create mode 100644 Samba/source/torture/basic/delete.c create mode 100644 Samba/source/torture/basic/denytest.c create mode 100644 Samba/source/torture/basic/dir.c create mode 100644 Samba/source/torture/basic/disconnect.c create mode 100644 Samba/source/torture/basic/locking.c create mode 100644 Samba/source/torture/basic/mangle_test.c create mode 100644 Samba/source/torture/basic/misc.c create mode 100644 Samba/source/torture/basic/properties.c create mode 100644 Samba/source/torture/basic/rename.c create mode 100644 Samba/source/torture/basic/scanner.c create mode 100644 Samba/source/torture/basic/secleak.c create mode 100644 Samba/source/torture/basic/unlink.c create mode 100644 Samba/source/torture/basic/utable.c create mode 100644 Samba/source/torture/config.mk create mode 100644 Samba/source/torture/dcom/dcom.c create mode 100644 Samba/source/torture/gentest.c create mode 100644 Samba/source/torture/ldap/basic.c create mode 100644 Samba/source/torture/ldap/cldap.c create mode 100644 Samba/source/torture/ldap/cldapbench.c create mode 100644 Samba/source/torture/ldap/common.c create mode 100644 Samba/source/torture/ldap/schema.c create mode 100644 Samba/source/torture/libnet/domain.c create mode 100644 Samba/source/torture/libnet/libnet.c create mode 100644 Samba/source/torture/libnet/libnet_domain.c create mode 100644 Samba/source/torture/libnet/libnet_lookup.c create mode 100644 Samba/source/torture/libnet/libnet_rpc.c create mode 100644 Samba/source/torture/libnet/libnet_share.c create mode 100644 Samba/source/torture/libnet/libnet_user.c create mode 100644 Samba/source/torture/libnet/userinfo.c create mode 100644 Samba/source/torture/libnet/userman.c create mode 100644 Samba/source/torture/libnet/usertest.h create mode 100644 Samba/source/torture/local/binding_string.c create mode 100644 Samba/source/torture/local/config.mk create mode 100644 Samba/source/torture/local/dbspeed.c create mode 100644 Samba/source/torture/local/event.c create mode 100644 Samba/source/torture/local/iconv.c create mode 100644 Samba/source/torture/local/idtree.c create mode 100644 Samba/source/torture/local/irpc.c create mode 100644 Samba/source/torture/local/local.c create mode 100644 Samba/source/torture/local/messaging.c create mode 100644 Samba/source/torture/local/ndr.c create mode 100644 Samba/source/torture/local/registry.c create mode 100644 Samba/source/torture/local/resolve.c create mode 100644 Samba/source/torture/local/sddl.c create mode 100644 Samba/source/torture/local/socket.c create mode 100644 Samba/source/torture/local/torture.c create mode 100644 Samba/source/torture/local/util_file.c create mode 100644 Samba/source/torture/local/util_strlist.c create mode 100644 Samba/source/torture/locktest.c create mode 100644 Samba/source/torture/locktest2.c create mode 100644 Samba/source/torture/man/gentest.1.xml create mode 100644 Samba/source/torture/man/locktest.1.xml create mode 100644 Samba/source/torture/man/masktest.1.xml create mode 100644 Samba/source/torture/man/smbtorture.1.xml create mode 100644 Samba/source/torture/masktest.c create mode 100644 Samba/source/torture/nbench/nbench.c create mode 100644 Samba/source/torture/nbench/nbio.c create mode 100644 Samba/source/torture/nbt/browse.c create mode 100644 Samba/source/torture/nbt/dgram.c create mode 100644 Samba/source/torture/nbt/nbt.c create mode 100644 Samba/source/torture/nbt/query.c create mode 100644 Samba/source/torture/nbt/register.c create mode 100644 Samba/source/torture/nbt/wins.c create mode 100644 Samba/source/torture/nbt/winsbench.c create mode 100644 Samba/source/torture/nbt/winsreplication.c create mode 100644 Samba/source/torture/nsstest.c create mode 100644 Samba/source/torture/rap/rap.c create mode 100644 Samba/source/torture/raw/acls.c create mode 100644 Samba/source/torture/raw/chkpath.c create mode 100644 Samba/source/torture/raw/close.c create mode 100644 Samba/source/torture/raw/composite.c create mode 100644 Samba/source/torture/raw/context.c create mode 100644 Samba/source/torture/raw/eas.c create mode 100644 Samba/source/torture/raw/ioctl.c create mode 100644 Samba/source/torture/raw/lock.c create mode 100644 Samba/source/torture/raw/lockbench.c create mode 100644 Samba/source/torture/raw/missing.txt create mode 100644 Samba/source/torture/raw/mkdir.c create mode 100644 Samba/source/torture/raw/mux.c create mode 100644 Samba/source/torture/raw/notify.c create mode 100644 Samba/source/torture/raw/open.c create mode 100644 Samba/source/torture/raw/oplock.c create mode 100644 Samba/source/torture/raw/qfileinfo.c create mode 100644 Samba/source/torture/raw/qfsinfo.c create mode 100644 Samba/source/torture/raw/raw.c create mode 100644 Samba/source/torture/raw/read.c create mode 100644 Samba/source/torture/raw/rename.c create mode 100644 Samba/source/torture/raw/samba3hide.c create mode 100644 Samba/source/torture/raw/samba3misc.c create mode 100644 Samba/source/torture/raw/search.c create mode 100644 Samba/source/torture/raw/seek.c create mode 100644 Samba/source/torture/raw/setfileinfo.c create mode 100644 Samba/source/torture/raw/streams.c create mode 100644 Samba/source/torture/raw/unlink.c create mode 100644 Samba/source/torture/raw/write.c create mode 100644 Samba/source/torture/rpc/alter_context.c create mode 100644 Samba/source/torture/rpc/async_bind.c create mode 100644 Samba/source/torture/rpc/atsvc.c create mode 100644 Samba/source/torture/rpc/autoidl.c create mode 100644 Samba/source/torture/rpc/bench.c create mode 100644 Samba/source/torture/rpc/bind.c create mode 100644 Samba/source/torture/rpc/countcalls.c create mode 100644 Samba/source/torture/rpc/dcom.c create mode 100644 Samba/source/torture/rpc/dfs.c create mode 100644 Samba/source/torture/rpc/drsuapi.c create mode 100644 Samba/source/torture/rpc/drsuapi.h create mode 100644 Samba/source/torture/rpc/drsuapi_cracknames.c create mode 100644 Samba/source/torture/rpc/dssetup.c create mode 100644 Samba/source/torture/rpc/dssync.c create mode 100644 Samba/source/torture/rpc/echo.c create mode 100644 Samba/source/torture/rpc/epmapper.c create mode 100644 Samba/source/torture/rpc/eventlog.c create mode 100644 Samba/source/torture/rpc/initshutdown.c create mode 100644 Samba/source/torture/rpc/join.c create mode 100644 Samba/source/torture/rpc/lsa.c create mode 100644 Samba/source/torture/rpc/lsa_lookup.c create mode 100644 Samba/source/torture/rpc/mgmt.c create mode 100644 Samba/source/torture/rpc/netlogon.c create mode 100644 Samba/source/torture/rpc/oxidresolve.c create mode 100644 Samba/source/torture/rpc/remact.c create mode 100644 Samba/source/torture/rpc/rot.c create mode 100644 Samba/source/torture/rpc/rpc.c create mode 100644 Samba/source/torture/rpc/rpc.h create mode 100644 Samba/source/torture/rpc/samba3rpc.c create mode 100644 Samba/source/torture/rpc/samlogon.c create mode 100644 Samba/source/torture/rpc/samr.c create mode 100644 Samba/source/torture/rpc/samsync.c create mode 100644 Samba/source/torture/rpc/scanner.c create mode 100644 Samba/source/torture/rpc/schannel.c create mode 100644 Samba/source/torture/rpc/session_key.c create mode 100644 Samba/source/torture/rpc/spoolss.c create mode 100644 Samba/source/torture/rpc/srvsvc.c create mode 100644 Samba/source/torture/rpc/svcctl.c create mode 100644 Samba/source/torture/rpc/testjoin.c create mode 100644 Samba/source/torture/rpc/unixinfo.c create mode 100644 Samba/source/torture/rpc/winreg.c create mode 100644 Samba/source/torture/rpc/wkssvc.c create mode 100644 Samba/source/torture/smb2/config.mk create mode 100644 Samba/source/torture/smb2/connect.c create mode 100644 Samba/source/torture/smb2/dir.c create mode 100644 Samba/source/torture/smb2/find.c create mode 100644 Samba/source/torture/smb2/getinfo.c create mode 100644 Samba/source/torture/smb2/lock.c create mode 100644 Samba/source/torture/smb2/maxwrite.c create mode 100644 Samba/source/torture/smb2/notify.c create mode 100644 Samba/source/torture/smb2/scan.c create mode 100644 Samba/source/torture/smb2/setinfo.c create mode 100644 Samba/source/torture/smb2/smb2.c create mode 100644 Samba/source/torture/smb2/util.c create mode 100644 Samba/source/torture/smbiconv.c create mode 100644 Samba/source/torture/smbtorture.c create mode 100644 Samba/source/torture/subunit.c create mode 100644 Samba/source/torture/t_strcmp.c create mode 100644 Samba/source/torture/torture.c create mode 100644 Samba/source/torture/torture.h create mode 100644 Samba/source/torture/ui.c create mode 100644 Samba/source/torture/ui.h create mode 100644 Samba/source/torture/util.c create mode 100644 Samba/source/torture/util_smb.c create mode 100644 Samba/source/utils/config.mk create mode 100644 Samba/source/utils/getntacl.c create mode 100644 Samba/source/utils/man/getntacl.1.xml create mode 100644 Samba/source/utils/man/ndrdump.1.xml create mode 100644 Samba/source/utils/man/ntlm_auth.1.xml create mode 100644 Samba/source/utils/ndrdump.c create mode 100644 Samba/source/utils/net/config.mk create mode 100644 Samba/source/utils/net/net.c create mode 100644 Samba/source/utils/net/net.h create mode 100644 Samba/source/utils/net/net_join.c create mode 100644 Samba/source/utils/net/net_password.c create mode 100644 Samba/source/utils/net/net_time.c create mode 100644 Samba/source/utils/net/net_user.c create mode 100644 Samba/source/utils/net/net_vampire.c create mode 100644 Samba/source/utils/nmblookup.c create mode 100644 Samba/source/utils/ntlm_auth.c create mode 100644 Samba/source/utils/setntacl.c create mode 100644 Samba/source/utils/setnttoken.c create mode 100644 Samba/source/utils/testparm.c create mode 100644 Samba/source/web_server/config.m4 create mode 100644 Samba/source/web_server/config.mk create mode 100644 Samba/source/web_server/http.c create mode 100644 Samba/source/web_server/web_server.c create mode 100644 Samba/source/web_server/web_server.h create mode 100644 Samba/source/winbind/config.mk create mode 100644 Samba/source/winbind/wb_async_helpers.c create mode 100644 Samba/source/winbind/wb_async_helpers.h create mode 100644 Samba/source/winbind/wb_cmd_getdcname.c create mode 100644 Samba/source/winbind/wb_cmd_list_trustdom.c create mode 100644 Samba/source/winbind/wb_cmd_lookupname.c create mode 100644 Samba/source/winbind/wb_cmd_lookupsid.c create mode 100644 Samba/source/winbind/wb_cmd_userdomgroups.c create mode 100644 Samba/source/winbind/wb_cmd_usersids.c create mode 100644 Samba/source/winbind/wb_connect_lsa.c create mode 100644 Samba/source/winbind/wb_connect_sam.c create mode 100644 Samba/source/winbind/wb_dom_info.c create mode 100644 Samba/source/winbind/wb_dom_info_trusted.c create mode 100644 Samba/source/winbind/wb_init_domain.c create mode 100644 Samba/source/winbind/wb_irpc.c create mode 100644 Samba/source/winbind/wb_pam_auth.c create mode 100644 Samba/source/winbind/wb_sam_logon.c create mode 100644 Samba/source/winbind/wb_samba3_cmd.c create mode 100644 Samba/source/winbind/wb_samba3_protocol.c create mode 100644 Samba/source/winbind/wb_server.c create mode 100644 Samba/source/winbind/wb_server.h create mode 100644 Samba/source/winbind/wb_sid2domain.c create mode 100644 Samba/source/winexe/TODO create mode 100644 Samba/source/winexe/async.c create mode 100644 Samba/source/winexe/changes create mode 100644 Samba/source/winexe/config.mk create mode 100644 Samba/source/winexe/service.c create mode 100644 Samba/source/winexe/winexe.c create mode 100644 Samba/source/winexe/winexe.h create mode 100644 Samba/source/winexe/winexesvc/Makefile create mode 100644 Samba/source/winexe/winexesvc/bin2c.c create mode 100644 Samba/source/winexe/winexesvc/service.c create mode 100644 Samba/source/winexe/winexesvc/shared.h create mode 100644 Samba/source/winexe/winexesvc/winexesvc.c create mode 100644 Samba/source/winexe/winexesvc/winexesvc_exe.c create mode 100644 Samba/source/wmi/async_wmi_lib.c create mode 100644 Samba/source/wmi/config.mk create mode 100644 Samba/source/wmi/pywmi.i create mode 100644 Samba/source/wmi/wbemdata.c create mode 100644 Samba/source/wmi/wmi.h create mode 100644 Samba/source/wmi/wmic.c create mode 100644 Samba/source/wmi/wmicore.c create mode 100644 Samba/source/wmi/wmis.c create mode 100644 Samba/source/wmi/zenoss_events.c create mode 100644 Samba/source/wmi/zenoss_events.h create mode 100644 Samba/source/wrepl_server/config.mk create mode 100644 Samba/source/wrepl_server/wrepl_apply_records.c create mode 100644 Samba/source/wrepl_server/wrepl_in_call.c create mode 100644 Samba/source/wrepl_server/wrepl_in_connection.c create mode 100644 Samba/source/wrepl_server/wrepl_out_helpers.c create mode 100644 Samba/source/wrepl_server/wrepl_out_helpers.h create mode 100644 Samba/source/wrepl_server/wrepl_out_pull.c create mode 100644 Samba/source/wrepl_server/wrepl_out_push.c create mode 100644 Samba/source/wrepl_server/wrepl_periodic.c create mode 100644 Samba/source/wrepl_server/wrepl_scavenging.c create mode 100644 Samba/source/wrepl_server/wrepl_server.c create mode 100644 Samba/source/wrepl_server/wrepl_server.h create mode 100644 Samba/swat2.txt create mode 100644 Samba/testdata/samba3/account_policy.tdb create mode 100644 Samba/testdata/samba3/group_mapping.tdb create mode 100644 Samba/testdata/samba3/passdb.tdb create mode 100644 Samba/testdata/samba3/provision_samba3sam.ldif create mode 100644 Samba/testdata/samba3/registry.tdb create mode 100644 Samba/testdata/samba3/samba3.ldif create mode 100644 Samba/testdata/samba3/secrets.tdb create mode 100644 Samba/testdata/samba3/share_info.tdb create mode 100644 Samba/testdata/samba3/smb.conf create mode 100644 Samba/testdata/samba3/smbpasswd create mode 100755 Samba/testdata/samba3/verify create mode 100644 Samba/testdata/samba3/winbindd_idmap.tdb create mode 100644 Samba/testdata/samba3/wins.dat create mode 100644 Samba/testprogs/ejs/argv.js create mode 100755 Samba/testprogs/ejs/base.js create mode 100644 Samba/testprogs/ejs/bugs.js create mode 100755 Samba/testprogs/ejs/echo.js create mode 100755 Samba/testprogs/ejs/ejsnet.js create mode 100755 Samba/testprogs/ejs/ldap.js create mode 100755 Samba/testprogs/ejs/ldb.js create mode 100644 Samba/testprogs/ejs/loadparm.js create mode 100755 Samba/testprogs/ejs/minschema.js create mode 100644 Samba/testprogs/ejs/minschema_classes.txt create mode 100755 Samba/testprogs/ejs/nbtstats create mode 100644 Samba/testprogs/ejs/resolveName.js create mode 100755 Samba/testprogs/ejs/samba3sam.js create mode 100755 Samba/testprogs/ejs/samr.js create mode 100755 Samba/testprogs/ejs/sprintf.js create mode 100755 Samba/testprogs/win32/npecho/GNUmakefile create mode 100755 Samba/testprogs/win32/npecho/NMakefile create mode 100755 Samba/testprogs/win32/npecho/npecho_client.c create mode 100644 Samba/testprogs/win32/rpcecho/Makefile create mode 100644 Samba/testprogs/win32/rpcecho/README create mode 100644 Samba/testprogs/win32/rpcecho/client.c create mode 100644 Samba/testprogs/win32/rpcecho/rpcecho.acf create mode 100644 Samba/testprogs/win32/rpcecho/rpcecho.idl create mode 100644 Samba/testprogs/win32/rpcecho/server.c create mode 100644 Samba/testprogs/win32/rpcecho/utils.c create mode 100644 Samba/testprogs/win32/testmailslot/GNUmakefile create mode 100644 Samba/testprogs/win32/testmailslot/NMakefile create mode 100644 Samba/testprogs/win32/testmailslot/testmailslot.c create mode 100755 Samba/testprogs/win32/wmi/echoprocessor.vbs create mode 100755 pyinclude.py create mode 100644 pysamba/__init__.py create mode 100644 pysamba/composite_context.py create mode 100644 pysamba/library.py create mode 100644 pysamba/ndr.py create mode 100644 pysamba/rpc/Rpc.py create mode 100644 pysamba/rpc/__init__.py create mode 100644 pysamba/rpc/credentials.py create mode 100644 pysamba/rpc/dcerpc.py create mode 100644 pysamba/rpc/oxidresolver.py create mode 100644 pysamba/rpc/rpc_request.py create mode 100644 pysamba/talloc.py create mode 100644 pysamba/test/connect.py create mode 100644 pysamba/test/watcher.py create mode 100644 pysamba/test/wmic.py create mode 100644 pysamba/twisted/__init__.py create mode 100644 pysamba/twisted/callback.py create mode 100644 pysamba/twisted/reactor.py create mode 100644 pysamba/version.py create mode 100644 pysamba/wbem/Query.py create mode 100644 pysamba/wbem/__init__.py create mode 100644 pysamba/wbem/wbem.py diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..0f9fc6b --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,228 @@ +########################################################################### +# +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2008-2010, Zenoss Inc. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2, or (at your +# option) any later version, as published by the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### +build: pywmi-build +install: pywmi-installed +all: build install +.PHONY: clean debug tarball + +WMI_BUILD_TARGETS = proto bin/wmic bin/winexe libraries +SAMBA_SRCDIR = Samba/source +ZENOSS_BINDIR = $(ZENHOME)/bin +ZENPYTHON = $(ZENOSS_BINDIR)/python +PYTHON ?= $(ZENPYTHON) +PYTHON_EXISTS := $(wildcard $(PYTHON)) + +# Assuming python was found, tease out path to headers we should +# compile against: e.g., $ZENHOME/include/python#.# +# Extract WMI version for subversion tagging as desired. +# +ifeq ($(PYTHON_EXISTS),$(PYTHON)) +PY_INCDIR = $(shell $(PYTHON) pyinclude.py) +GET_VERSION = "import version as v; print v.VERSION" +WMI_VERSION := $(shell cd pysamba ; $(PYTHON) -c $(GET_VERSION)) +WMI_CPPFLAGS := -I$(PY_INCDIR) +endif + +# Install dir for libasync_wmi_lib.so.* and pysamba wrapper code. +# e.g., Samba/source/bin/shared/libasync_wmi_lib.so.0.0.1 --> $(PY_LIBDIR) +# +PY_LIBDIR = $(ZENHOME)/lib/python + +#-------------------------------------------------------------------------# +# A key deliverable of this build process is the libasync_wmi shared # +# library. Derive the complete filename for this target from config data # +# and the build platform so we know precisely what should get built and # +# installed. # +# # +# e.g., libasync_wmi_lib.dylib versus libasync_wmi_lib.so.0.0.2 # +#-------------------------------------------------------------------------# +LIBASYNC_WMI_LIB_BASENAME = libasync_wmi_lib +WMI_CONFIG_MK = $(SAMBA_SRCDIR)/wmi/config.mk +LIBASYNC_WMI_LIB_VERSION_nnn = $(shell fgrep -A1 "[LIBRARY::async_wmi_lib]" $(WMI_CONFIG_MK) | sed -e "s/^VERSION=\(.*\)/\1/g" | tail -1) +LIBASYNC_WMI_LIB_VERSION_n = $(shell fgrep -A2 "[LIBRARY::async_wmi_lib]" $(WMI_CONFIG_MK) | sed -e "s/^SO_VERSION=\(.*\)/\1/g" | tail -1) +ifeq ($(shell uname), Darwin) +LIBASYNC_WMI_LIB = $(LIBASYNC_WMI_LIB_BASENAME).dylib.$(LIBASYNC_WMI_LIB_VERSION_nnn) +else +# e.g., libasync_wmi_lib.so.0.0.2 and libasync_wmi_lib.so.0 respectively +LIBASYNC_WMI_LIB := $(LIBASYNC_WMI_LIB_BASENAME).so.$(LIBASYNC_WMI_LIB_VERSION_nnn) +LIBASYNC_WMI_LIB_SO_N := $(LIBASYNC_WMI_LIB_BASENAME).so.$(LIBASYNC_WMI_LIB_VERSION_n) +endif +PATHED_LIBASYNC_WMI_LIB := $(SAMBA_SRCDIR)/bin/shared/$(LIBASYNC_WMI_LIB) + +#-------------------------------------------------------------------------# +# Google Breakpad Integration # +#-------------------------------------------------------------------------# +# libasync_wmi_lib.so can be built with google-breakpad crash reporting. # +# http://code.google.com/p/google-breakpad # +# # +# Minidumps are typically written to /tmp. # +# See: Samba/source/librpc/rpc/dcerpc.c # +#-------------------------------------------------------------------------# +# Comment out the next line to disable google-breakpad dependency. +#ifneq ($(shell uname), Darwin) +#USE_BREAKPAD = 1 +#endif + +ifneq ($(USE_BREAKPAD),) +breakpad_CPPFLAGS = -DBREAKPAD +WMI_CPPFLAGS += $(breakpad_CPPFLAGS) +breakpad_LIB = libbreakpad_client.a +breakpad_LIBDIR ?= $(ZENHOME)/lib +_fqp_breakpad_LIB := $(DESTDIR)$(breakpad_LIBDIR)/$(breakpad_LIB) +fqp_breakpad_LIB = $(patsubst //%,/%,$(_fqp_breakpad_LIB)) +breakpad_LIB_SYMLINK = $(SAMBA_SRCDIR)/bin/static/$(breakpad_LIB) +endif +#-------------------------------------------------------------------------# + +# Check existence of a directory or file. Bail out of the build if it is missing. +# +define check + @if [ "$1" = "directory" ]; then \ + if [ ! -d "$2" ];then \ + echo $3 | awk '{printf("Missing: %-20s\n",$$1)}';\ + exit 1 ;\ + else \ + echo "$3 $2" | awk '{printf("Found: %-20s %20s\n",$$1,$$2)}' 1>/dev/null;\ + fi ;\ + fi + @if [ "$1" = "file" ]; then \ + if [ ! -f "$2" ];then \ + echo "$3 $2" | awk '{printf("Missing: %-20s %s\n",$$1,$$2)}';\ + exit 1 ;\ + else \ + echo "$3 $2" | awk '{printf("Found: %-20s %20s\n",$$1,$$2)}' 1>/dev/null;\ + fi ;\ + fi +endef + +build-prereqs: + @echo + @echo "Checking prequisites for building WMI" + $(call check,directory,$(ZENHOME),"ZENHOME") + $(call check,file,$(PYTHON),"PYTHON") + $(call check,directory,$(PY_INCDIR),"PY_INCDIR") +ifneq ($(USE_BREAKPAD),) + @if [ ! -f "$(fqp_breakpad_LIB)" ];then \ + echo "Unable to find the google breakpad client library we require at:" ;\ + echo " $(fqp_breakpad_LIB)" ;\ + echo ;\ + echo "Either comment out USE_BREAKPAD in this makefile or build the" ;\ + echo "breakpad library." ;\ + echo ;\ + exit 1 ;\ + fi +endif + @touch $@ + +install-prereqs: + @echo + @echo "Checking prequisites for installing WMI" + $(call check,directory,$(ZENHOME),"ZENHOME") + $(call check,directory,$(DESTDIR)$(ZENOSS_BINDIR),"ZENOSS_BINDIR") + $(call check,directory,$(DESTDIR)$(PY_LIBDIR),"PY_LIBDIR") + @touch $@ + +LIBRPC_CONFIG_MK = $(SAMBA_SRCDIR)/librpc/config.mk +ifeq ($(USE_BREAKPAD),) +LIBRPC_CONFIG_MK_NOBP = $(SAMBA_SRCDIR)/librpc/config.mk.nobreakpad +$(LIBRPC_CONFIG_MK): $(LIBRPC_CONFIG_MK_NOBP) + cp $< $@ +else +# Tell the build how to link against the breakpad library. +# e.g., Muck with Samba/source/librpc/config.mk to provide that visibility. +# +LIBRPC_CONFIG_MK_BP = $(SAMBA_SRCDIR)/librpc/config.mk.breakpad +LIBRPC_CONFIG_TAG := $(fqp_breakpad_LIB) +$(LIBRPC_CONFIG_MK): $(LIBRPC_CONFIG_MK_BP) + sed -e "s|_sed_tag_libbreakpad_client_path_|$(LIBRPC_CONFIG_TAG)|" $< >$@ || rm $@ + +# Create symlink to actual google breakpad library. +# e.g., Samba/source/bin/static/libbreakpad_client.a -> /actual/path/to/libbreakpad_client.a +$(breakpad_LIB_SYMLINK): $(fqp_breakpad_LIB) + @if [ ! -d "$(@D)" ];then \ + mkdir -p $(@D) ;\ + fi + ln -sf $(fqp_breakpad_LIB) $@ +endif + +$(SAMBA_SRCDIR)/Makefile: $(SAMBA_SRCDIR)/autogen.sh + cd $(SAMBA_SRCDIR) ;\ + ./autogen.sh ;\ + CPPFLAGS="$(WMI_CPPFLAGS)" ./configure --without-readline --enable-debug + +ifeq ($(USE_BREAKPAD),) +pywmi-build: build-prereqs $(LIBRPC_CONFIG_MK) $(SAMBA_SRCDIR)/Makefile +else +pywmi-build: build-prereqs $(LIBRPC_CONFIG_MK) $(SAMBA_SRCDIR)/Makefile $(breakpad_LIB_SYMLINK) +endif + cd $(SAMBA_SRCDIR);\ + $(MAKE) $(WMI_BUILD_TARGETS) ;\ + touch $@ + +pywmi-installed: install-prereqs $(DESTDIR)$(PY_LIBDIR) $(DESTDIR)$(ZENOSS_BINDIR) $(SAMBA_SRCDIR)/bin/wmic $(SAMBA_SRCDIR)/bin/winexe $(PATHED_LIBASYNC_WMI_LIB) + cp $(SAMBA_SRCDIR)/bin/wmic $(DESTDIR)$(ZENOSS_BINDIR) + cp $(SAMBA_SRCDIR)/bin/winexe $(DESTDIR)$(ZENOSS_BINDIR) +ifeq ($(shell uname), Darwin) + -(cd $(DESTDIR)$(PY_LIBDIR) && rm -f $(LIBASYNC_WMI_LIB_BASENAME)*) + cp $(PATHED_LIBASYNC_WMI_LIB) $(DESTDIR)$(PY_LIBDIR)/$(LIBASYNC_WMI_LIB_BASENAME).$(LIBASYNC_WMI_LIB_VERSION_nnn).dylib + (cd $(DESTDIR)$(PY_LIBDIR) && ln -sf $(LIBASYNC_WMI_LIB_BASENAME).$(LIBASYNC_WMI_LIB_VERSION_nnn).dylib $(LIBASYNC_WMI_LIB_BASENAME).dylib) +else + -(cd $(DESTDIR)$(PY_LIBDIR) && rm -f $(LIBASYNC_WMI_LIB_BASENAME)*) + cp $(PATHED_LIBASYNC_WMI_LIB) $(DESTDIR)$(PY_LIBDIR) + (cd $(DESTDIR)$(PY_LIBDIR) && ln -sf $(LIBASYNC_WMI_LIB) $(LIBASYNC_WMI_LIB_SO_N)) +endif + rm -rf $(DESTDIR)$(PY_LIBDIR)/pysamba + cp -r pysamba $(DESTDIR)$(PY_LIBDIR) + +$(DESTDIR)$(ZENOSS_BINDIR) $(DESTDIR)$(PY_LIBDIR): + mkdir -p $@ + +clean: $(LIBRPC_CONFIG_MK) + -if [ -f "$(SAMBA_SRCDIR)/Makefile" ] ; then\ + cd $(SAMBA_SRCDIR) ;\ + make distclean ;\ + fi + rm -f $(SAMBA_SRCDIR)/bin/shared/* + rm -f $(SAMBA_SRCDIR)/bin/static/* + rm -f $(SAMBA_SRCDIR)/heimdal/lib/des/hcrypto + rm -f build-prereqs + rm -f install-prereqs + rm -f $(LIBRPC_CONFIG_MK) + @-[ -L $(breakpad_LIB_SYMLINK) ] && rm -f $(breakpad_LIB_SYMLINK) + +tarball: + -svn rm -m 'cleanup' http://dev.zenoss.org/svn/tags/wmi-$(WMI_VERSION) + svn cp -m "tagging wmi-$(WMI_VERSION)" http://dev.zenoss.org/svn/trunk/wmi http://dev.zenoss.org/svn/tags/wmi-$(WMI_VERSION) + svn export http://dev.zenoss.org/svn/tags/wmi-$(WMI_VERSION) + tar -cjf ../wmi-$(WMI_VERSION).tar.bz2 wmi-$(WMI_VERSION) + rm -rf wmi-$(WMI_VERSION) + +debug: + @echo "WMI_VERSION = $(WMI_VERSION)" + @echo "SAMBA_SRCDIR = $(SAMBA_SRCDIR)" + @echo "PY_INCDIR = $(PY_INCDIR)" + @echo "PY_LIBDIR = $(PY_LIBDIR)" + @echo "ZENOSS_BINDIR = $(ZENOSS_BINDIR)" + @echo "PYTHON = $(PYTHON_EXISTS)" + @echo "WMI_CONFIGURE CPPFLAGS="$(WMI_CPPFLAGS)" ./configure --without-readline --enable-debug" + @echo "WMI_MAKE $(MAKE) $(WMI_BUILD_TARGETS)" +ifeq ($(USE_BREAKPAD),) + @echo "USE_BREAKPAD [ disabled ]" +else + @echo "LIBRPC_CONFIG_TAG = $(LIBRPC_CONFIG_TAG)" + @echo "USE_BREAKPAD [ enabled ]" + @echo "breakpad_CPPFLAGS = $(breakpad_CPPFLAGS)" + @echo "breakpad_LIB = $(breakpad_LIB)" + @echo "breakpad_LIBDIR = $(breakpad_LIBDIR)" + @echo "fqp_breakpad_LIB = $(fqp_breakpad_LIB)" +endif diff --git a/Samba/.bzrignore b/Samba/.bzrignore new file mode 100644 index 0000000..30535bf --- /dev/null +++ b/Samba/.bzrignore @@ -0,0 +1,134 @@ +source/lib/gencache/gencache.h +source/lib/ldb/bin +*.pc +autom4te.cache +*.d +*.o +*.x +*.hd +*.ho +Makefile +configure +source/bin/* +config.log +source/config.mk +config.status +config.cache +source/extra_cflags.txt +source/version.h +source/heimdal/lib/des/hcrypto +source/build/smb_build/config.pm +source/auth/auth_proto.h +source/auth/auth_sam.h +source/auth/pam_errors.h +source/auth/credentials/credentials_proto.h +source/auth/gensec/gensec_proto.h +source/auth/gensec/schannel_proto.h +source/auth/gensec/schannel_state.h +source/auth/gensec/spnego_proto.h +source/auth/kerberos/proto.h +source/auth/ntlmssp/msrpc_parse.h +source/auth/ntlmssp/proto.h +source/cldap_server/proto.h +source/dsdb/samdb/samdb_proto.h +source/heimdal/lib/asn1/asn1_* +source/heimdal/lib/asn1/krb5_asn1.h +source/heimdal/lib/asn1/krb5_asn1_files +source/heimdal/lib/gssapi/asn1_*.c +source/heimdal/lib/gssapi/spnego_asn1.h +source/heimdal/lib/gssapi/spnego_asn1_files +source/heimdal/lib/hdb/asn1_*.c +source/heimdal/lib/hdb/hdb_asn1.h +source/heimdal/lib/hdb/hdb_asn1_files +source/heimdal/lib/hdb/hdb_err.? +source/heimdal/lib/krb5/heim_err.? +source/heimdal/lib/krb5/k524_err.? +source/heimdal/lib/krb5/krb5_err.? +source/heimdal/lib/roken/vis.h +source/include/build.h +config.h +config.h.in +source/include/config_tmp.h +source/include/config_tmp.h.in +source/ldap_server/proto.h +source/lib/db_wrap_proto.h +source/lib/charset/charset_proto.h +source/lib/cmdline/credentials.h +source/lib/ldb/samba/ldif_handlers.h +source/lib/registry/reg_backend_rpc.h +source/lib/registry/regf.h +source/lib/registry/registry_proto.h +source/lib/registry/tdr_regf.c +source/lib/registry/tdr_regf.h +source/lib/samba3/samba3_proto.h +source/lib/socket/netif_proto.h +source/lib/tdr/tdr_proto.h +source/lib/util/pidfile.h +source/lib/util/unix_privs.h +source/lib/util/util_proto.h +source/lib/util/wrap_xattr.h +source/libcli/finddcs.h +source/libcli/libcli_proto.h +source/libcli/auth/proto.h +source/libcli/composite/proto.h +source/libcli/ldap/ldap_proto.h +source/libcli/nbt/nbt_proto.h +source/libcli/nbt/nbtname.h +source/libcli/raw/raw_proto.h +source/libcli/resolve/proto.h +source/libcli/security/proto.h +source/libcli/smb2/smb2_proto.h +source/libcli/smb_composite/proto.h +source/libcli/util/asn1_proto.h +source/libcli/util/clilsa.h +source/libcli/util/proto.h +source/libcli/wrepl/winsrepl_proto.h +source/libnet/libnet_proto.h +source/librpc/gen_ndr +source/librpc/ndr/libndr_proto.h +source/librpc/ndr/ndr_compression.h +source/librpc/ndr/ndr_spoolss_buf.h +source/librpc/rpc/dcerpc_proto.h +source/librpc/rpc/dcerpc_table.h +source/nbt_server/nbt_server_proto.h +source/nbt_server/dgram/proto.h +source/nbt_server/wins/winsdb_proto.h +source/nbt_server/wins/winsserver_proto.h +source/ntptr/ntptr_proto.h +source/ntvfs/ntvfs_proto.h +source/ntvfs/common/proto.h +source/ntvfs/ipc/proto.h +source/ntvfs/posix/vfs_posix_proto.h +source/ntvfs/simple/proto.h +source/param/proto.h +source/param/share_proto.h +source/passdb/proto.h +source/rpc_server/dcerpc_server_proto.h +source/rpc_server/common/proto.h +source/rpc_server/samr/proto.h +source/rpc_server/srvsvc/proto.h +source/scripting/ejs/proto.h +source/smb_server/service_smb_proto.h +source/smb_server/smb_server_proto.h +source/smb_server/smb/smb_proto.h +source/smb_server/smb2/smb2_proto.h +source/smbd/process_model_proto.h +source/smbd/service_proto.h +source/torture/proto.h +source/torture/util.h +source/torture/auth/proto.h +source/torture/basic/proto.h +source/torture/ldap/proto.h +source/torture/libnet/proto.h +source/torture/local/proto.h +source/torture/nbench/proto.h +source/torture/nbt/proto.h +source/torture/raw/proto.h +source/torture/rpc/proto.h +source/torture/smb2/proto.h +source/utils/net/net_proto.h +source/web_server/proto.h +source/winbind/wb_helper.h +source/winbind/wb_proto.h +source/wrepl_server/wrepl_server_proto.h +tags diff --git a/Samba/BUGS.txt b/Samba/BUGS.txt new file mode 100644 index 0000000..906b291 --- /dev/null +++ b/Samba/BUGS.txt @@ -0,0 +1,6 @@ +Samba 4 is still feature incomplete. If you are using it for anything other +than education you are insane. + +Please file bug reports at https://bugzilla.samba.org/, product: Samba4. +Please include as much information as possible, such as SVN revision number +and backtraces. diff --git a/Samba/COPYING b/Samba/COPYING new file mode 100644 index 0000000..a43ea21 --- /dev/null +++ b/Samba/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Samba/NEWS b/Samba/NEWS new file mode 100644 index 0000000..44c84a4 --- /dev/null +++ b/Samba/NEWS @@ -0,0 +1,512 @@ +This file aims to document the major changes since the latest released version +of Samba, 3.0. Samba 4.0 contains rewrites of several subsystems +and uses a different internal format for most data. Since this +file is an initial draft, please update missing items. + +One of the main goals of Samba 4 was Active Directory Domain Controller +support. This means Samba now implements several protocols that are required +by AD such as Kerberos and DNS. + +An (experimental) upgrade script that performs a one-way upgrade +from Samba 3 is available in source/setup/upgrade. + +Removal of nmbd and introduction of process models +================================================== +smbd now implements several network protocols other than just CIFS and +DCE/RPC. nmbd's functionality has been merged into smbd. smbd supports +various 'process models' that specify how concurrent connections are +handled (when to fork, use threads, etc). + +Introduction of LDB +=================== +Samba now stores most of its persistent data in a LDAP-like database +called LDB (see ldb(7) for more info). + +Much improved SWAT +================== +SWAT has had some rather large improvements and is now more than just a +direct editor for smb.conf. Its layout has been improved. SWAT can now also +be used for editing run-time data - maintaining user information, provisioning, +etc. TLS is supported out of the box. + +Built-in KDC +============ +Samba4 ships with an integrated KDC (Kerberos Key Distribution +Center). Backed directly onto our main internal database, and +integrated with custom code to handle the PAC, Samba4's KDC is an +integral part of our support for AD logon protocols. + +Built-in LDAP Server +==================== +Like the situation with the KDC, Samba4 ships with it's own LDAP +server, included to provide simple, built-in LDAP services in an AD +(rather than distinctly standards) matching manner. The database is +LDB, and it shares that in common with the rest of Samba. + +Changed configuration options +============================= +Several configuration options have been removed in Samba4 while others have +been introduced. This section contains a summary of changes to smb.conf and +where these settings moved. Configuration options that have disappeared may be +re-added later when the functionality that uses them gets reimplemented in +Samba 4. + +The 'security' parameter has been split up. It is now only used to choose +between the 'user' and 'share' security levels (the latter is not supported +in Samba 4 yet). The other values of this option and the 'domain master' and +'domain logons' parameters have been merged into a 'server role' parameter +that can be either 'bdc', 'pdc', 'member server' or 'standalone'. Note that +member server support does not work yet. + +The following parameters have been removed: +- passdb backend: accounts are now stored in a LDB-based SAM database, + see 'sam database' below. +- update encrypted +- public +- guest ok +- client schannel +- server schannel +- allow trusted domains +- hosts equiv +- map to guest +- smb passwd file +- algorithmic rid base +- root directory +- root dir +- root +- guest account +- enable privileges +- pam password change +- passwd program +- passwd chat debug +- passwd chat timeout +- check password script +- username map +- username level +- unix password sync +- restrict anonymous +- username +- user +- users +- invalid users +- valid users +- admin users +- read list +- write list +- printer admin +- force user +- force group +- group +- write ok +- writeable +- writable +- acl check permissions +- acl group control +- acl map full control +- create mask +- create mode +- force create mode +- security mask +- force security mode +- directory mask +- directory mode +- force directory mode +- directory security mask +- force directory security mode +- force unknown acl user +- inherit permissions +- inherit acls +- inherit owner +- guest only +- only guest +- only user +- allow hosts +- deny hosts +- preload modules +- use kerberos keytab +- syslog +- syslog only +- max log size +- debug timestamp +- timestamp logs +- debug hires timestamp +- debug pid +- debug uid +- allocation roundup size +- aio read size +- aio write size +- aio write behind +- large readwrite +- protocol +- read bmpx +- reset on zero vc +- acl compatibility +- defer sharing violations +- ea support +- nt acl support +- nt pipe support +- profile acls +- map acl inherit +- afs share +- max ttl +- client use spnego +- enable asu support +- svcctl list +- block size +- change notify timeout +- deadtime +- getwd cache +- keepalive +- kernel change notify +- lpq cache time +- max smbd processes +- max disk size +- max open files +- min print space +- strict allocate +- sync always +- use mmap +- use sendfile +- hostname lookups +- write cache size +- name cache timeout +- max reported print jobs +- load printers +- printcap cache time +- printcap name +- printcap +- printing +- cups options +- cups server +- iprint server +- print command +- disable spoolss +- enable spoolss +- lpq command +- lprm command +- lppause command +- lpresume command +- queuepause command +- queueresume command +- enumports command +- addprinter command +- deleteprinter command +- show add printer wizard +- os2 driver map +- use client driver +- default devmode +- force printername +- mangling method +- mangle prefix +- default case +- case sensitive +- casesignames +- preserve case +- short preserve case +- mangling char +- hide dot files +- hide special files +- hide unreadable +- hide unwriteable files +- delete veto files +- veto files +- hide files +- veto oplock files +- map readonly +- mangled names +- mangled map +- max stat cache size +- stat cache +- store dos attributes +- machine password timeout +- add user script +- rename user script +- delete user script +- add group script +- delete group script +- add user to group script +- delete user from group script +- set primary group script +- add machine script +- shutdown script +- abort shutdown script +- username map script +- logon script +- logon path +- logon drive +- logon home +- domain logons +- os level +- lm announce +- lm interval +- domain master +- browse list +- enhanced browsing +- wins proxy +- wins hook +- wins partners +- blocking locks +- fake oplocks +- kernel oplocks +- locking +- lock spin count +- lock spin time +- oplocks +- level2 oplocks +- oplock break wait time +- oplock contention limit +- posix locking +- share modes +- ldap server +- ldap port +- ldap admin dn +- ldap delete dn +- ldap group suffix +- ldap idmap suffix +- ldap machine suffix +- ldap passwd sync +- ldap password sync +- ldap replication sleep +- ldap suffix +- ldap ssl +- ldap timeout +- ldap page size +- ldap user suffix +- add share command +- change share command +- delete share command +- eventlog list +- utmp directory +- wtmp directory +- utmp +- default service +- default +- message command +- dfree cache time +- dfree command +- get quota command +- set quota command +- remote announce +- remote browse sync +- homedir map +- afs username map +- afs token lifetime +- log nt token command +- time offset +- NIS homedir +- preexec +- exec +- preexec close +- postexec +- root preexec +- root preexec close +- root postexec +- set directory +- wide links +- follow symlinks +- dont descend +- magic script +- magic output +- delete readonly +- dos filemode +- dos filetimes +- dos filetime resolution +- fake directory create times +- panic action +- vfs objects +- vfs object +- msdfs root +- msdfs proxy +- host msdfs +- enable rid algorithm +- passdb expand explicit +- idmap backend +- idmap uid +- winbind uid +- idmap gid +- winbind gid +- template homedir +- template shell +- winbind separator +- winbind cache time +- winbind enum users +- winbind enum groups +- winbind use default domain +- winbind trusted domains only +- winbind nested groups +- winbind max idle children +- winbind nss info + +The following parameters have been added: ++ rpc big endian (G) + Make Samba fake it is running on a bigendian machine when using DCE/RPC. + Useful for debugging. + + Default: no + ++ case insensitive filesystem (S) + Set to true if this share is located on a case-insensitive filesystem. + This disables looking for a filename by trying all possible combinations of + uppercase/lowercase characters and thus speeds up operations when a + file cannot be found. + + Default: no + ++ js include (G) + Path to JavaScript library. + + Default: Set at compile-time + ++ setup directory + Path to data used by provisioning script. + + Default: Set at compile-time + ++ ncalrpc dir + Directory to use for UNIX sockets used by the 'ncalrpc' DCE/RPC transport. + + Default: Set at compile-time + ++ ntvfs handler + Backend to the NT VFS to use (more than one can be specified). Available + backends include: + + - posix: + Maps POSIX FS semantics to NT semantics + + - simple: + Very simple backend (original testing backend). + + - unixuid: + Sets up user credentials based on POSIX gid/uid. + + - cifs: + Proxies a remote CIFS FS. Mainly useful for testing. + + - nbench: + Filter module that saves data useful to the nbench benchmark suite. + + - ipc: + Allows using SMB for inter process communication. Only used for + the IPC$ share. + + - print: + Allows printing over SMB. This is LANMAN-style printing (?), not + the be confused with the spoolss DCE/RPC interface used by later + versions of Windows. + + Default: unixuid default + ++ ntptr providor + FIXME + ++ dcerpc endpoint servers + What DCE/RPC servers to start. + + Default: epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup + ++ server services + Services Samba should provide. + + Default: smb rpc nbt wrepl ldap cldap web kdc + ++ sam database + Location of the SAM (account database) database. This should be a + LDB URL. + + Default: set at compile-time + ++ spoolss database + Spoolss (printer) DCE/RPC server database. This should be a LDB URL. + + Default: set at compile-time + ++ wins config database + WINS configuration database location. This should be a LDB URL. + + Default: set at compile-time + ++ wins database + WINS database location. This should be a LDB URL. + + Default: set at compile-time + ++ client use spnego principal + Tells the client to use the Kerberos service principal specified by the + server during the security protocol negotation rather than + looking up the principal itself (cifs/hostname). + + Default: false + ++ nbt port + TCP/IP Port used by the NetBIOS over TCP/IP (NBT) implementation. + + Default: 137 + ++ dgram port + UDP/IP port used by the NetBIOS over TCP/IP (NBT) implementation. + + Default: 138 + ++ cldap port + UDP/IP port used by the CLDAP protocol. + + Default: 389 + ++ krb5 port + IP port used by the kerberos KDC. + + Default: 88 + ++ kpasswd port + IP port used by the kerberos password change protocol. + + Default: 464 + ++ web port + TCP/IP port SWAT should listen on. + + Default: 901 + ++ tls enabled + Enable TLS support for SWAT + + Default: true + ++ tls keyfile + Path to TLS key file (PEM format) to be used by SWAT. If no + path is specified, Samba will create a key. + + Default: none + ++ tls certfile + Path to TLS certificate file (PEM format) to be used by SWAT. If no + path is specified, Samba will create a certificate. + + Default: none + ++ tls cafile + Path to CA authority file Samba will use to sign TLS keys it generates. If + no path is specified, Samba will create a self-signed CA certificate. + + Default: none + ++ tls crlfile + Path to TLS certificate revocation lists file. + + Default: none + ++ swat directory + SWAT data directory. + + Default: set at compile-time + ++ large readwrite + Indicate the CIFS server is able to do large reads/writes. + + Default: true + ++ unicode + Enable/disable unicode support in the protocol. + + Default: true diff --git a/Samba/README b/Samba/README new file mode 100644 index 0000000..982c07f --- /dev/null +++ b/Samba/README @@ -0,0 +1,131 @@ +This directory contains Samba's very simple COM implementation. +It is by no means finished yet. + +The main aim of this implementation is for use by our DCOM implementation, +which lives in the dcom subdirectory. The local version is used mostly for +testing. + +More information on this effort can be found in the DCOM whitepaper in +the lorikeet repository. +Samba 4 is the ambitious next version of the Samba suite that is being +developed in parallel to the stable 3.0 series. The main emphasis in +this branch is support for the Active Directory logon protocols used +by Windows 2000 and above. + +Samba 4 is currently not yet in a state where it is usable in +production environments. Note the WARNINGS below, and the STATUS file, +which aims to document what should and should not work. + +With 3 years of development under our belt since Tridge first proposed +a new Virtual File System (VFS) layer for Samba3 (a project which +eventually lead to our Active Directory efforts), it was felt that we +should create something we could 'show off' to our users. This is a +Technology Preview (TP), aimed at allowing users, managers and +developers to see how we have progressed, and to invite feedback and +support. + +WARNINGS +======== + +Samba4 TP is currently a pre-alpha technology. It may eat your cat, but +is far more likely to choose to munch on your password database. We +recommend against upgrading any production servers from Samba 3 to +Samba 4 at this stage. If you are upgrading an experimental server, +you should backup all configuration and data. + +We expect that format changes will require that the user database be +rebuilt from scratch a number of times before we make a final release, +losing password data each time. + +Samba 4 Technology Preview includes basic Access Control List (ACL) +protection on the main user database, but due to time constraints, +none on the registry at this stage. We also do not currently have +ACLs on the SWAT web-based management tool. This means that Samba 4 +Technology Preview is not secure. + +File system access should occur as the logged in user, much as Samba3 +does. + +Again, we strongly recommend against use in a production environment +at this stage. + +NEW FEATURES +============ + +Samba4 supports the server-side of the Active Directory logon environment +used by Windows 2000 and later, so we can do full domain join +and domain logon operations with these clients. + +Our Domain Controller (DC) implementation includes our own built-in +LDAP server and Kerberos Key Distribution Center (KDC) as well as the +Samba3-like logon services provided over CIFS. We correctly generate +the infamous Kerberos PAC, and include it with the Kerberos tickets we +issue. + +SWAT is now integrated into Samba 4 as the user-friendly interface to +Samba server management. SWAT provides easy access to our +setup and migration tools. Using SWAT, you can migrate windows +domains in Samba 4, allowing easy setup of initial user databases, and +upgrades from Samba 3. + +The new VFS features in Samba 4 adapts the filesystem on the server to +match the Windows client semantics, allowing Samba 4 to better match +windows behaviour and application expectations. This includes file +annotation information (in streams) and NT ACLs in particular. The +VFS is backed with an extensive automated test suite. + +A new scripting interface has been added to Samba 4, allowing +JavaScript programs to interface to Samba's internals. + +The Samba 4 architecture is based around an LDAP-like database that +can use a range of modular backends. One of the backends supports +standards compliant LDAP servers (including OpenLDAP), and we are +working on modules to map between AD-like behaviours and this backend. +We are aiming for Samba 4 to be powerful frontend to large +directories. + +CHANGES +======= + +Those familiar with Samba 3 can find a list of user-visible changes +since that release series in the NEWS file. + + - An optional password is no longer supported as the second argument to + smbclient. + + - The default location of smb.conf in non-FHS builds has changed from the + PREFIX/lib directory to the PREFIX/etc directory. + +KNOWN ISSUES +============ + +- Standalone server and domain member roles are not currently + supported. While we have much of the infrastructure required, we + have not collected these pieces together. + +- There is no printing support in the current release. + +- SWAT can be painful with and forms. Just use the mouse, as + the JavaScript layer doing this will change. + +- Domain logons (using Kerberos) from windows clients incorrectly + state that the password expires today. + +RUNNING Samba4 +============== + +A short guide to setting up Samba 4 can be found in the howto.txt file +in root of the tarball. + +DEVELOPMENT and FEEDBACK +======================== +Bugs can be filed at https://bugzilla.samba.org/. Please +look at the STATUS file before filing a bug to see if a particular +is supposed to work yet. + +Development and general discussion about Samba 4 happens mainly on +the #samba-technical IRC channel (on irc.freenode.net) and +the samba-technical mailing list (see http://lists.samba.org/ for +details). + + diff --git a/Samba/STATUS b/Samba/STATUS new file mode 100644 index 0000000..3e72ef6 --- /dev/null +++ b/Samba/STATUS @@ -0,0 +1,2 @@ +This file documents the features that are known to work or known to +still need work in the current version of Samba 4. diff --git a/Samba/TODO b/Samba/TODO new file mode 100644 index 0000000..36c05d5 --- /dev/null +++ b/Samba/TODO @@ -0,0 +1,281 @@ +source/build/smb_build/TODO +source/lib/registry/TODO +source/lib/tdr/TODO +source/pidl/TODO + +upgrade process (from Samba3): + - Rename upgrade to upgrade3 (to avoid confusion with upgrades + from earlier Samba4 releases in the future) + - Add support for reading WINS TDB files as well as WINS dat files. + +- seperate adminlog mechanism (as opposed to the current DEBUG log, + which is not really aimed at administrators but more at developers) + Perhaps similar to eventlog so we can also use eventlog to retrieve the data? +- improve handling of test results in testsuite + +- testsuite for the 'net' tool + +Configuration options +===================== + +The following options don't exist in Samba4 yet +or are not converted by the upgrade script +or will be removed: + +- update encrypted +- public +- guest ok +- client schannel +- server schannel +- allow trusted domains +- hosts equiv +- map to guest +- algorithmic rid base +- root directory +- root dir +- root +- guest account +- enable privileges +- pam password change +- passwd program +- passwd chat debug +- passwd chat timeout +- check password script +- username map +- username level +- unix password sync +- restrict anonymous +- username +- user +- users +- invalid users +- valid users +- admin users +- read list +- write list +- printer admin +- force user +- force group +- group +- write ok +- writeable +- writable +- acl check permissions +- acl group control +- acl map full control +- create mask +- create mode +- force create mode +- security mask +- force security mode +- directory mask +- directory mode +- force directory mode +- directory security mask +- force directory security mode +- force unknown acl user +- inherit permissions +- inherit acls +- inherit owner +- guest only +- only guest +- only user +- allow hosts +- deny hosts +- preload modules +- use kerberos keytab +- syslog +- syslog only +- max log size +- debug timestamp +- timestamp logs +- debug hires timestamp +- debug pid +- debug uid +- allocation roundup size +- aio read size +- aio write size +- aio write behind +- large readwrite +- protocol +- read bmpx +- reset on zero vc +- acl compatibility +- defer sharing violations +- ea support +- nt acl support +- nt pipe support +- profile acls +- map acl inherit +- afs share +- max ttl +- client use spnego +- enable asu support +- svcctl list +- block size +- change notify timeout +- deadtime +- getwd cache +- keepalive +- kernel change notify +- lpq cache time +- max smbd processes +- max disk size +- max open files +- min print space +- strict allocate +- sync always +- use mmap +- use sendfile +- hostname lookups +- write cache size +- name cache timeout +- max reported print jobs +- load printers +- printcap cache time +- printcap name +- printcap +- printing +- cups options +- cups server +- iprint server +- print command +- disable spoolss +- enable spoolss +- lpq command +- lprm command +- lppause command +- lpresume command +- queuepause command +- queueresume command +- enumports command +- addprinter command +- deleteprinter command +- show add printer wizard +- os2 driver map +- use client driver +- default devmode +- force printername +- mangling method +- mangle prefix +- default case +- case sensitive +- casesignames +- preserve case +- short preserve case +- mangling char +- hide dot files +- hide special files +- hide unreadable +- hide unwriteable files +- delete veto files +- veto files +- hide files +- veto oplock files +- map readonly +- mangled names +- mangled map +- max stat cache size +- stat cache +- store dos attributes +- machine password timeout +- add user script +- rename user script +- delete user script +- add group script +- delete group script +- add user to group script +- delete user from group script +- set primary group script +- add machine script +- shutdown script +- abort shutdown script +- username map script +- logon script +- logon path +- logon drive +- logon home +- domain logons +- os level +- lm announce +- lm interval +- domain master +- browse list +- enhanced browsing +- wins proxy +- blocking locks +- fake oplocks +- kernel oplocks +- locking +- lock spin count +- lock spin time +- oplocks +- level2 oplocks +- oplock break wait time +- oplock contention limit +- posix locking +- share modes +- add share command +- change share command +- delete share command +- eventlog list +- utmp directory +- wtmp directory +- utmp +- default service +- default +- message command +- dfree cache time +- dfree command +- get quota command +- set quota command +- remote announce +- remote browse sync +- homedir map +- afs username map +- afs token lifetime +- log nt token command +- time offset +- NIS homedir +- preexec +- exec +- preexec close +- postexec +- root preexec +- root preexec close +- root postexec +- set directory +- wide links +- follow symlinks +- dont descend +- magic script +- magic output +- delete readonly +- dos filemode +- dos filetimes +- dos filetime resolution +- fake directory create times +- panic action +- vfs objects +- vfs object +- msdfs root +- msdfs proxy +- host msdfs +- enable rid algorithm +- passdb expand explicit +- idmap backend +- idmap uid +- winbind uid +- idmap gid +- winbind gid +- template homedir +- template shell +- winbind separator +- winbind cache time +- winbind enum users +- winbind enum groups +- winbind use default domain +- winbind trusted domains only +- winbind nested groups +- winbind max idle children +- winbind nss info diff --git a/Samba/WHATSNEW.txt b/Samba/WHATSNEW.txt new file mode 100644 index 0000000..ef131d2 --- /dev/null +++ b/Samba/WHATSNEW.txt @@ -0,0 +1,171 @@ +This file contains a history of changes since the first Samba 4 Technology +Preview. For a general introduction to Samba 4, see the README file in this +directory. The NEWS file contains a list of differences between +Samba 3 and Samba 4. + +======================================== +Changes in Samba4-TP2 +Release date: 22 March 2006 +======================================== + + * Make ldb async internally (idra) + + * Use HDB-LDB as the keytab (abartlet) + + * Call the wins hook script again (metze) + + * Make sure no more than 25 records are added in the WINS database (metze) + + * Documentation updates (jelmer) + + * Fix termination issue in winreg server (metze) + + * AES fix for Samba 4 <-> Samba4 (abartlet) + + * Better conformance to FHS (abartlet, jelmer) + + * Improve internal API and code quality in smbclient (jelmer) + + * Add testsuite for smbclient (jelmer) + + * Remove support for password as an optional second parameter in + smbclient (jelmer) + + * Various warning fixes (metze) + + * Several clarifications of comments (abartlet) + + * Remove use of pstring in some places (jelmer) + + * Re-add the global -k option to enable kerberos (abartlet) + + * Various memory allocation fixes (abartlet) + + * Add new cifsdd client (jpeach) + + * Add tests for even more insane delete-on-close semantics (jra, tridge) + + * Initial work on BASE-DELETE test passing (tridge) + + * Optimizations in tdb (tridge) + + * Improvements to ldb documentation (idra, Brad Hards) + + * Check attribute names to obey rfc2251 (idra) + + * Allow WINS replication with NT4SP6A (metze) + + * Add ManageDSAIT control (Pete Rowley, idra) + + * Add tests for LDB controls (idra) + + * Various LDB crash fixes (idra) + + * Initial work on vlv LDB control (idra) + + * Add -p option to smbtorture (jpeach) + + * Several improvements to the SMB URL and UNC parsing (jpeach) + + * Make DCE/RPC connect functions work async (rafal) + + * Fix invalid steal on supportedControls (closes: #3525) (abartlet) + + * Start parsing saslauthd requests (metze) + + * Split the NBT-WINSREPLICATION test into multiple tests (metze) + + * Add new ACB-bits as seen in acct_flags in the PAC info3 (gd) + + * Move header files out of include/ (jelmer) + + * Create separate library for generic utility functions (jelmer) + + * Add highestCommittedUSN, uSNChanged and uSNCreated support to LDB (tridge) + + * Allow more control over the the winbindd socket location (abartlet) + + * Allow messaging without a server messaging context (abartlet) + + * Make GSSAPI SASL mech work (abartlet) + + * Write out Samba4 version when provisioning (idra) + + * Allow servers to bind to non-broadcast interfaces (tridge, abartlet) + + * Initialize some ASN.1 elements that are optional (metze) + + * Various improvements to RPC-SCHANNEL (abartlet) + + * Make Samba4 pass some of the newer schannel tests (abartlet) + + * Better handling of connections without SPNEGO (abartlet) + + * Generate seperate headers for RPC client functions (jelmer) + + * Improve NTLMSSP tests (abartlet, vl) + + * Support any size pointers in pidl (tridge) + + * Large overhaul of the opendb code to pass BASE-DELETE (tridge) + + * Use doxygen for documenting lib/util and lib/registry (jelmer) + + * Add registration mechanism for modules and backends in ldb (idra, jelmer) + + * Support building shared libraries in the build system (metze, jelmer) + + * Install headers in a sane location (jelmer) + + * Fix BASE-NEGNOWAIT (tridge) + + * Add prefixes to most of the SMB-related functions (metze) + + * Get rid of proto.h (jelmer) + + * Reduce number of headers included in includes.h (jelmer) + + * Support header dependencies (jelmer) + + * Add RAW-NOTIFY (tridge, metze) + + * Fix 'your password has expired' on every login (abartlet) + + * Improvements to RPC-SAMSYNC (abartlet) + + * Work on supporting change notify (tridge, metze) + + * Reopen log files after SIGHUP (metze) + + * Add BUGS.txt (#3523) (jelmer) + + * Add summary to configure (#3442) (metze, jelmer) + + * Swig fixes (idra) + + * Improve NBT-WINSREPLICATION-OWNED test (metze) + + * Fix a lot of compiler warnings (metze) + + * Several code improvements found by static code checker (tridge, metze) + + * Force correct alignment when in ASCII mode (#2921) (tridge) + + * Fix coverity bug #127 (vl) + + * Add support for changing process titles (metze) + + * Support raw NTLMSSP (abartlet) + + * Fix debug levels in several places (abartlet) + + * Work to unify the ntvfs structures for smb and smb2 (metze, tridge) + + * Initial work on asynchronous libnet (rafal) + + * Improvements to the wide character set functions (tridge) + + * Several heimdal build improvements (abartlet, jelmer) + + * A lot of small cleanups and typo fixes + (metze, abartlet, idra, jpeach, tridge, jelmer) diff --git a/Samba/howto.txt b/Samba/howto.txt new file mode 100644 index 0000000..3991781 --- /dev/null +++ b/Samba/howto.txt @@ -0,0 +1,183 @@ +Samba4 developer howto +---------------------- + +tridge@samba.org, December 2004 + + +This is a very basic document on how to setup a simple Samba4 +server. This is aimed at developers who are already familiar with +Samba3 and wish to participate in Samba4 development. This is not +aimed at production use of Samba4. + + +Step 1: download Samba4 +----------------------- + +There are 2 methods of doing this: + + method 1: "rsync -avz samba.org::ftp/unpacked/samba4 ." + + method 2: "svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0 samba4" + +both methods will create a directory called "samba4" in the current +directory. If you don't have rsync or svn then install one of them. + +Since only released versions of Samba contain a pregenerated configure script, +you will have to generate it by hand: + + $ cd samba4/source + $ ./autogen.sh + +Note that the above rsync command will give you a checked out svn +repository. So if you also have svn you can update it to the latest +version at some future date using: + + $ cd samba4 + $ svn up + +Step 2: compile Samba4 +---------------------- + +Recommended optional development libraries: +- acl and xattr development libraries +- gnutls +- readline + +Run this: + + $ cd samba4/source + $ ./configure + $ make proto all + +If you have gcc 3.4 or newer, then substitute "pch" for "proto" to +greatly speed up the compile process (about 5x faster). + +Step 3: install Samba4 +---------------------- + +Run this as a user who have permission to write to the install +directory (defaults to /usr/local/samba). Use --prefix option to +configure above to change this. + + # make install + + +Step 4: provision Samba4 +------------------------ + +The "provision" step sets up a basic user database. Make sure your smbscript +binary is installed in a directory listed in your PATH environment variable. +It is presumed it's available just like any other commands from your shell. +Must be run as a user with permission to write to the install directory. + + # cd source + # ./setup/provision --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD + +REMINDER: Add the "bin" directory of the path you installed to + (e.g. /usr/local/samba/bin) to your path, or the provision command + will not work. + +'YOURDOM' is the NT4 style domain name. 'YOUR.REALM' is your kerberos +realm, which is typically your DNS domain name. + +Step 5: Create a simple smb.conf +-------------------------------- + +The provisioning will create a very simple smb.conf with no shares by +default. You will need to update it to add at least one share. For +example: + + [test] + path = /data/test + read only = no + + +Step 6: starting Samba4 +----------------------- + +The simplest is to just run "smbd", but as a developer you may find +the following more useful: + + # smbd -i -M single + +that means "start smbd without messages in stdout, and running a +single process. That mode of operation makes debugging smbd with gdb +particularly easy. + +Note that now it is no longer necessary to have an instance of nmbd +from Samba 3 running. If you are running any smbd or nmbd processes +they need to be stopped before starting smbd from Samba 4. + +Make sure you put the bin and sbin directories from your new install +in your $PATH. Make sure you run the right version! + + +Step 7: testing Samba4 +---------------------- + +try these commands: + + $ smbclient //localhost/test -Uadministrator%SOMEPASSWORD + or + $ ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD + + +NOTE about filesystem support +----------------------------- + +To use the advanced features of Samba4 you need a filesystem that +supports both the "user" and "system" xattr namespaces. + +If you run Linux with a 2.6 kernel and ext3 this means you need to +include the option "user_xattr" in your /etc/fstab. For example: + +/dev/hda3 /home ext3 user_xattr 1 1 + +You also need to compile your kernel with the XATTR and SECURITY +options for your filesystem. For ext3 that means you need: + + CONFIG_EXT3_FS_XATTR=y + CONFIG_EXT3_FS_SECURITY=y + +If you are running a Linux 2.6 kernel with CONFIG_IKCONFIG_PROC +defined you can check this with the following command: + + $ zgrep CONFIG_EXT3_FS /proc/config.gz + +If you don't have a filesystem with xattr support, then you can +simulate it by using the option: + + posix:eadb = /usr/local/samba/eadb.tdb + +that will place all extra file attributes (NT ACLs, DOS EAs, streams +etc), in that tdb. It is not efficient, and doesn't scale well, but at +least it gives you a choice when you don't have a modern filesystem. + +Testing your filesystem +----------------------- + +To test your filesystem support, install the 'attr' package and run +the following 4 commands as root: + + # touch test.txt + # setfattr -n user.test -v test test.txt + # setfattr -n security.test -v test2 test.txt + # getfattr -d test.txt + # getfattr -n security.test -d test.txt + +You should see output like this: + + # file: test.txt + user.test="test" + + # file: test.txt + security.test="test2" + +If you get any "Operation not supported" errors then it means your +kernel is not configured correctly, or your filesystem is not mounted +with the right options. + +If you get any "Operation not permitted" errors then it probably means +you didn't try the test as root. + + diff --git a/Samba/packaging/debian/README b/Samba/packaging/debian/README new file mode 100644 index 0000000..fb4f88e --- /dev/null +++ b/Samba/packaging/debian/README @@ -0,0 +1,30 @@ +The Debian packaging for Samba 4 is maintained in the SVN +repository of the Debian Samba packaging team. + +(parts of this file are from their README.building) + +To build: + +: Check out the official Debian packaging: + + svn co svn://svn.debian.org/pkg-samba/branches/samba4 samba4/debian + +: Samba is not a native Debian package, so you will need to create +: an .orig.tar.gz tarball. Do something along the lines of: + + VER=$( dpkg-parsechangelog -lsamba4/debian/changelog | sed -n 's/^Version: \(.*:\|\)//p' | sed 's/-[0-9.]\+$//' ) + svn export samba4 samba-$VER + ( cd samba-$VER/source && ./autogen.sh ) + ( cd samba-$VER/source && ./script/mkversion.sh VERSION include/version.h ../../samba4/source/ ) + tar zcf samba_$VER.orig.tar.gz samba-$VER + +: With the .orig.tar.gz in place, you can now also export the debian/ +: directory: + + svn export samba4/debian samba-$VER/debian + +: Finally, build the package using whatever method you prefer: + + cd samba-$VER + debuild + diff --git a/Samba/prog_guide.txt b/Samba/prog_guide.txt new file mode 100644 index 0000000..f5ac600 --- /dev/null +++ b/Samba/prog_guide.txt @@ -0,0 +1,788 @@ + + +THIS IS INCOMPLETE! I'M ONLY COMMITING IT IN ORDER TO SOLICIT COMMENTS +FROM A FEW PEOPLE. DON'T TAKE THIS AS THE FINAL VERSION YET. + + +Samba4 Programming Guide +------------------------ + +The internals of Samba4 are quite different from previous versions of +Samba, so even if you are an experienced Samba developer please take +the time to read through this document. + +This document will explain both the broad structure of Samba4, and +some of the common coding elements such as memory management and +dealing with macros. + + +Coding Style +------------ + +In past versions of Samba we have basically let each programmer choose +their own programming style. Unfortunately the result has often been +that code that other members of the team find difficult to read. For +Samba version 4 I would like to standardise on a common coding style +to make the whole tree more readable. For those of you who are +horrified at the idea of having to learn a new style, I can assure you +that it isn't as painful as you might think. I was forced to adopt a +new style when I started working on the Linux kernel, and after some +initial pain found it quite easy. + +That said, I don't want to invent a new style, instead I would like to +adopt the style used by the Linux kernel. It is a widely used style +with plenty of support tools available. See Documentation/CodingStyle +in the Linux source tree. This is the style that I have used to write +all of the core infrastructure for Samba4 and I think that we should +continue with that style. + +I also think that we should most definately *not* adopt an automatic +reformatting system in cvs (or whatever other source code system we +end up using in the future). Such automatic formatters are, in my +experience, incredibly error prone and don't understand the necessary +exceptions. I don't mind if people use automated tools to reformat +their own code before they commit it, but please do not run such +automated tools on large slabs of existing code without being willing +to spend a *lot* of time hand checking the results. + +Finally, I think that for code that is parsing or formatting protocol +packets the code layout should strongly reflect the packet +format. That means ordring the code so that it parses in the same +order as the packet is stored on the wire (where possible) and using +white space to align packet offsets so that a reader can immediately +map any line of the code to the corresponding place in the packet. + + +Static and Global Data +---------------------- + +The basic rule is "avoid static and global data like the plague". What +do I mean by static data? The way to tell if you have static data in a +file is to use the "size" utility in Linux. For example if we run: + + size libcli/raw/*.o + +in Samba4 then you get the following: + + text data bss dec hex filename + 2015 0 0 2015 7df libcli/raw/clikrb5.o + 202 0 0 202 ca libcli/raw/clioplock.o + 35 0 0 35 23 libcli/raw/clirewrite.o + 3891 0 0 3891 f33 libcli/raw/clisession.o + 869 0 0 869 365 libcli/raw/clisocket.o + 4962 0 0 4962 1362 libcli/raw/clispnego.o + 1223 0 0 1223 4c7 libcli/raw/clitransport.o + 2294 0 0 2294 8f6 libcli/raw/clitree.o + 1081 0 0 1081 439 libcli/raw/raweas.o + 6765 0 0 6765 1a6d libcli/raw/rawfile.o + 6824 0 0 6824 1aa8 libcli/raw/rawfileinfo.o + 2944 0 0 2944 b80 libcli/raw/rawfsinfo.o + 541 0 0 541 21d libcli/raw/rawioctl.o + 1728 0 0 1728 6c0 libcli/raw/rawnegotiate.o + 723 0 0 723 2d3 libcli/raw/rawnotify.o + 3779 0 0 3779 ec3 libcli/raw/rawreadwrite.o + 6597 0 0 6597 19c5 libcli/raw/rawrequest.o + 5580 0 0 5580 15cc libcli/raw/rawsearch.o + 3034 0 0 3034 bda libcli/raw/rawsetfileinfo.o + 5187 0 0 5187 1443 libcli/raw/rawtrans.o + 2033 0 0 2033 7f1 libcli/raw/smb_signing.o + +notice that the "data" and "bss" columns are all zero? That is +good. If there are any non-zero values in data or bss then that +indicates static data and is bad (as a rule of thumb). + +Lets compare that result to the equivalent in Samba3: + + text data bss dec hex filename + 3978 0 0 3978 f8a libsmb/asn1.o + 18963 0 288 19251 4b33 libsmb/cliconnect.o + 2815 0 1024 3839 eff libsmb/clidgram.o + 4038 0 0 4038 fc6 libsmb/clientgen.o + 3337 664 256 4257 10a1 libsmb/clierror.o + 10043 0 0 10043 273b libsmb/clifile.o + 332 0 0 332 14c libsmb/clifsinfo.o + 166 0 0 166 a6 libsmb/clikrb5.o + 5212 0 0 5212 145c libsmb/clilist.o + 1367 0 0 1367 557 libsmb/climessage.o + 259 0 0 259 103 libsmb/clioplock.o + 1584 0 0 1584 630 libsmb/cliprint.o + 7565 0 256 7821 1e8d libsmb/cliquota.o + 7694 0 0 7694 1e0e libsmb/clirap.o + 27440 0 0 27440 6b30 libsmb/clirap2.o + 2905 0 0 2905 b59 libsmb/clireadwrite.o + 1698 0 0 1698 6a2 libsmb/clisecdesc.o + 5517 0 0 5517 158d libsmb/clispnego.o + 485 0 0 485 1e5 libsmb/clistr.o + 8449 0 0 8449 2101 libsmb/clitrans.o + 2053 0 4 2057 809 libsmb/conncache.o + 3041 0 256 3297 ce1 libsmb/credentials.o + 1261 0 1024 2285 8ed libsmb/doserr.o + 14560 0 0 14560 38e0 libsmb/errormap.o + 3645 0 0 3645 e3d libsmb/namecache.o + 16815 0 8 16823 41b7 libsmb/namequery.o + 1626 0 0 1626 65a libsmb/namequery_dc.o + 14301 0 1076 15377 3c11 libsmb/nmblib.o + 24516 0 2048 26564 67c4 libsmb/nterr.o + 8661 0 8 8669 21dd libsmb/ntlmssp.o + 3188 0 0 3188 c74 libsmb/ntlmssp_parse.o + 4945 0 0 4945 1351 libsmb/ntlmssp_sign.o + 1303 0 0 1303 517 libsmb/passchange.o + 1221 0 0 1221 4c5 libsmb/pwd_cache.o + 2475 0 4 2479 9af libsmb/samlogon_cache.o + 10768 32 0 10800 2a30 libsmb/smb_signing.o + 4524 0 16 4540 11bc libsmb/smbdes.o + 5708 0 0 5708 164c libsmb/smbencrypt.o + 7049 0 3072 10121 2789 libsmb/smberr.o + 2995 0 0 2995 bb3 libsmb/spnego.o + 3186 0 0 3186 c72 libsmb/trustdom_cache.o + 1742 0 0 1742 6ce libsmb/trusts_util.o + 918 0 28 946 3b2 libsmb/unexpected.o + +notice all of the non-zero data and bss elements? Every bit of that +data is a bug waiting to happen. + +Static data is evil as it has the following consequences: + - it makes code much less likely to be thread-safe + - it makes code much less likely to be recursion-safe + - it leads to subtle side effects when the same code is called from + multiple places + +Static data is particularly evil in library code (such as our internal +smb and rpc libraries). If you can get rid of all static data in +libraries then you can make some fairly strong guarantees about the +behaviour of functions in that library, which really helps. + +Of course, it is possible to write code that uses static data and is +safe, it's just much harder to do that than just avoid static data in +the first place. We have been tripped up countless times by subtle +bugs in Samba due to the use of static data, so I think it is time to +start avoiding it in new code. Much of the core infrastructure of +Samba4 was specifically written to avoid static data, so I'm going to +be really annoyed if everyone starts adding lots of static data back +in. + +So, how do we avoid static data? The basic method is to use context +pointers. When reading the Samba4 code you will notice that just about +every function takes a pointer to a context structure as its first +argument. Any data that the function needs that isn't an explicit +argument to the function can be found by traversing that context. + +Note that this includes all of the little caches that we have lying +all over the code in Samba3. I'm referring to the ones that generally +have a "static int initialised" and then some static string or integer +that remembers the last return value of the function. Get rid of them! +If you are *REALLY* absolutely completely certain that your personal +favourite mini-cache is needed then you should do it properly by +putting it into the appropriate context rather than doing it the lazy +way by putting it inside the target function. I would suggest however +that the vast majority of those little caches are useless - don't +stick it in unless you have really firm benchmarking results that show +that it is needed and helps by a significant amount. + +Note that Samba4 is not yet completely clean of static data like +this. I've gotten the smbd/ directory down to 24 bytes of static data, +and libcli/raw/ down to zero. I've also gotten the ntvfs layer and all +backends down to just 8 bytes in ntvfs_base.c. The rest still needs +some more work. + +Also note that truly constant data is OK, and will not in fact show up +in the data and bss columns in "size" anyway (it will be included in +"text"). So you can have constant tables of protocol data. + + +How to use talloc +----------------- + +Please see the separate document, source/lib/talloc/talloc_guide.txt +You _must_ read this if you want to program in Samba4. + + +Interface Structures +-------------------- + +One of the biggest changes in Samba4 is the universal use of interface +structures. Go take a look through include/smb_interfaces.h now to get +an idea of what I am talking about. + +In Samba3 many of the core wire structures in the SMB protocol were +never explicitly defined in Samba. Instead, our parse and generation +functions just worked directly with wire buffers. The biggest problem +with this is that is tied our parse code with our "business logic" +much too closely, which meant the code got extremely confusing to +read. + +In Samba4 we have explicitly defined interface structures for +everything in the protocol. When we receive a buffer we always parse +it completely into one of these structures, then we pass a pointer to +that structure to a backend handler. What we must *not* do is make any +decisions about the data inside the parse functions. That is critical +as different backends will need different portions of the data. This +leads to a golden rule for Samba4: + + "don't design interfaces that lose information" + +In Samba3 our backends often received "condensed" versions of the +information sent from clients, but this inevitably meant that some +backends could not get at the data they needed to do what they wanted, +so from now on we should expose the backends to all of the available +information and let them choose which bits they want. + +Ok, so now some of you will be thinking "this sounds just like our +msrpc code from Samba3", and while to some extent this is true there +are extremely important differences in the approach that are worth +pointing out. + +In the Samba3 msrpc code we used explicit parse structures for all +msrpc functions. The problem is that we didn't just put all of the +real variables in these structures, we also put in all the artifacts +as well. A good example is the security descriptor strucrure that +looks like this in Samba3: + +typedef struct security_descriptor_info +{ + uint16 revision; + uint16 type; + + uint32 off_owner_sid; + uint32 off_grp_sid; + uint32 off_sacl; + uint32 off_dacl; + + SEC_ACL *dacl; + SEC_ACL *sacl; + DOM_SID *owner_sid; + DOM_SID *grp_sid; +} SEC_DESC; + +The problem with this structure is all the off_* variables. Those are +not part of the interface, and do not appear in any real descriptions +of Microsoft security descriptors. They are parsing artifacts +generated by the IDL compiler that Microsoft use. That doesn't mean +they aren't needed on the wire - indeed they are as they tell the +parser where to find the following four variables, but they should +*NOT* be in the interface structure. + +In Samba3 there were unwritten rules about which variables in a +structure a high level caller has to fill in and which ones are filled +in by the marshalling code. In Samba4 those rules are gone, because +the redundent artifact variables are gone. The high level caller just +sets up the real variables and the marshalling code worries about +generating the right offsets. + +The same rule applies to strings. In many places in the SMB and MSRPC +protocols complex strings are used on the wire, with complex rules +about padding, format, alighment, termination etc. None of that +information is useful to a high level calling routine or to a backend +- its all just so much wire fluff. So, in Samba4 these strings are +just "char *" and are always in our internal multi-byte format (which +is usually UTF8). It is up to the parse functions to worry about +translating the format and getting the padding right. + +The one exception to this is the use of the WIRE_STRING type, but that +has a very good justification in terms of regression testing. Go and +read the comment in smb_interfaces.h about that now. + +So, here is another rule to code by. When writing an interface +structure think carefully about what variables in the structure can be +left out as they are redundent. If some length is effectively defined +twice on the wire then only put it once in the packet. If a length can +be inferred from a null termination then do that and leave the length +out of the structure completely. Don't put redundent stuff in +structures! + + +Async Design +------------ + +Samba4 has an asynchronous design. That affects *lots* of the code, +and the implications of the asynchronous design needs to be considered +just about everywhere. + +The first aspect of the async design to look at is the SMB client +library. Lets take a look at the following three functions in +libcli/raw/rawfile.c: + +struct cli_request *smb_raw_seek_send(struct cli_tree *tree, struct smb_seek *parms); +NTSTATUS smb_raw_seek_recv(struct cli_request *req, struct smb_seek *parms); +NTSTATUS smb_raw_seek(struct cli_tree *tree, struct smb_seek *parms); + +Go and read them now then come back. + +Ok, first notice there there are 3 separate functions, whereas the +equivalent code in Samba3 had just one. Also note that the 3rd +function is extremely simple - its just a wrapper around calling the +first two in order. + +The three separate functions are needed because we need to be able to +generate SMB calls asynchronously. The first call, which for smb calls +is always called smb_raw_XXXX_send(), constructs and sends a SMB +request and returns a "struct cli_request" which acts as a handle for +the request. The caller is then free to do lots of other calls if it +wants to, then when it is ready it can call the smb_raw_XXX_recv() +function to receive the reply. + +If all you want is a synchronous call then call the 3rd interface, the +one called smb_raw_XXXX(). That just calls the first two in order, and +blocks waiting for the reply. + +But what if you want to be called when the reply comes in? Yes, thats +possible. You can do things like this: + + struct cli_request *req; + + req = smb_raw_XXX_send(tree, params); + + req->async.fn = my_callback; + req->async.private = my_private_data; + +then in your callback function you can call the smb_raw_XXXX_recv() +function to receive the reply. Your callback will receive the "req" +pointer, which you can use to retrieve your private data from +req->async.private. + +Then all you need to do is ensure that the main loop in the client +library gets called. You can either do that by polling the connection +using cli_transport_pending() and cli_request_receive_next() or you +can use transport->idle.func to setup an idle function handler to call +back to your main code. Either way, you can build a fully async +application. + +In order to support all of this we have to make sure that when we +write a piece of library code (SMB, MSRPC etc) that we build the +separate _send() and _recv() functions. It really is worth the effort. + +Now about async in smbd, a much more complex topic. + +The SMB protocol is inherently async. Some functions (such as change +notify) often don't return for hours, while hundreds of other +functions pass through the socket. Take a look at the RAW-MUX test in +the Samba4 smbtorture to see some really extreme examples of the sort +of async operations that Windows supports. I particularly like the +open/open/close sequence where the 2nd open (which conflicts with the +first) succeeds because the subsequent close is answered out of order. + +In Samba3 we handled this stuff very badly. We had awful "pending +request" queues that allocated full 128k packet buffers, and even with +all that crap we got the semantics wrong. In Samba4 I intend to make +sure we get this stuff right. + +So, how do we do this? We now have an async interface between smbd and +the NTVFS backends. Whenever smbd calls into a backend the backend has +an option of answer the request in a synchronous fashion if it wants +to just like in Samba3, but it also has the option of answering the +request asynchronously. The only backend that currently does this is +the CIFS backend, but I hope the other backends will soon do this to. + +To make this work you need to do things like this in the backend: + + req->control_flags |= REQ_CONTROL_ASYNC; + +that tells smbd that the backend has elected to reply later rather +than replying immediately. The backend must *only* do this if +req->async.send_fn is not NULL. If send_fn is NULL then it means that +the smbd front end cannot handle this function being replied to in an +async fashion. + +If the backend does this then it is up to the backend to call +req->async.send_fn() when it is ready to reply. It the meantime smbd +puts the call on hold and goes back to answering other requests on the +socket. + +Inside smbd you will find that there is code to support this. The most +obvious change is that smbd splits each SMB reply function into two +parts - just like the client library has a _send() and _recv() +function, so smbd has a _send() function and the parse function for +each SMB. + +As an example go and have a look at reply_getatr_send() and +reply_getatr() in smb_server/reply.c. Read them? Good. + +Notice that reply_getatr() sets up the req->async structure to contain +the send function. Thats how the backend gets to do an async reply, it +calls this function when it is ready. Also notice that reply_getatr() +only does the parsing of the request, and does not do the reply +generation. That is done by the _send() function. + +The only missing piece in the Samba4 right now that prevents it being +fully async is that it currently does the low level socket calls (read +and write on sockets) in a blocking fashion. It does use select() to +make it somewhat async, but if a client were to send a partial packet +then delay before sending the rest then smbd would be stuck waiting +for the second half of the packet. + +To fix this I plan on making the socket calls async as well, which +luckily will not involve any API changes in the core of smbd or the +library. It just involves a little bit of extra code in clitransport.c +and smbd/request.c. As a side effect I hope that this will also reduce +the average number of system calls required to answer a request, so we +may see a performance improvement. + + +NTVFS +----- + +One of the most noticeable changes in Samba4 is the introduction of +the NTVFS layer. This provided the initial motivation for the design +of Samba4 and in many ways lies at the heart of the design. + +In Samba3 the main file serving process (smbd) combined the handling +of the SMB protocol with the mapping to POSIX semantics in the same +code. If you look in smbd/reply.c in Samba3 you see numerous places +where POSIX assumptions are mixed tightly with SMB parsing code. We +did have a VFS layer in Samba3, but it was a POSIX-like VFS layer, so +no matter how you wrote a plugin you could not bypass the POSIX +mapping decisions that had already been made before the VFS layer was +called. + +In Samba4 things are quite different. All SMB parsing is performed in +the smbd front end, then fully parsed requests are passed to the NTVFS +backend. That backend makes any semantic mapping decisions and fills +in the 'out' portion of the request. The front end is then responsible +for putting those results into wire format and sending them to the +client. + +Lets have a look at one of those request structures. Go and read the +definition of "union smb_write" and "enum write_level" in +include/smb_interfaces.h. (no, don't just skip reading it, really go +and read it. Yes, that means you!). + +Notice the union? That's how Samba4 allows a single NTVFS backend +interface to handle the several different ways of doing a write +operation in the SMB protocol. Now lets look at one section of that +union: + + /* SMBwriteX interface */ + struct { + enum write_level level; + + struct { + uint16 fnum; + SMB_BIG_UINT offset; + uint16 wmode; + uint16 remaining; + uint32 count; + const char *data; + } in; + struct { + uint32 nwritten; + uint16 remaining; + } out; + } writex; + +see the "in" and "out" sections? The "in" section is for parameters +that the SMB client sends on the wire as part of the request. The smbd +front end parse code parses the wire request and fills in all those +parameters. It then calls the NTVFS interface which looks like this: + + NTSTATUS (*write)(struct request_context *req, union smb_write *io); + +and the NTVFS backend does the write request. The backend then fills +in the "out" section of the writex structure and gives the union back +to the front end (either by returning, or if done in an async fashion +then by calling the async send function. See the async discussion +elsewhere in this document). + +The NTVFS backend knows which particular function is being requested +by looking at io->generic.level. Notice that this enum is also +repeated inside each of the sub-structures in the union, so the +backend could just as easily look at io->writex.level and would get +the same variable. + +Notice also that some levels (such as splwrite) don't have an "out" +section. This happens because there is no return value apart from a +status code from those SMB calls. + +So what about status codes? The status code is returned directly by +the backend NTVFS interface when the call is performed +synchronously. When performed asynchronously then the status code is +put into req->async.status before the req->async.send_fn() callback is +called. + +Currently the most complete NTVFS backend is the CIFS backend. I don't +expect this backend will be used much in production, but it does +provide the ideal test case for our NTVFS design. As it offers the +full capabilities that are possible with a CIFS server we can be sure +that we don't have any gaping holes in our APIs, and that the front +end code is flexible enough to handle any advances in the NT style +feature sets of Unix filesystems that make come along. + + +Process Models +-------------- + +In Samba3 we supported just one process model. It just so happens that +the process model that Samba3 supported is the "right" one for most +users, but there are situations where this model wasn't ideal. + +In Samba4 you can choose the smbd process model on the smbd command +line. + + +DCERPC binding strings +---------------------- + +When connecting to a dcerpc service you need to specify a binding +string. + +The format is: + + TRANSPORT:host[flags] + +where TRANSPORT is either ncacn_np for SMB or ncacn_ip_tcp for RPC/TCP + +"host" is an IP or hostname or netbios name. If the binding string +identifies the server side of an endpoint, "host" may be an empty +string. + +"flags" can include a SMB pipe name if using the ncacn_np transport or +a TCP port number if using the ncacn_ip_tcp transport, otherwise they +will be auto-determined. + +other recognised flags are: + + sign : enable ntlmssp signing + seal : enable ntlmssp sealing + spnego : use SPNEGO instead of NTLMSSP authentication + krb5 : use KRB5 instead of NTLMSSP authentication + connect : enable rpc connect level auth (auth, but no sign or seal) + validate : enable the NDR validator + print : enable debugging of the packets + bigendian : use bigendian RPC + padcheck : check reply data for non-zero pad bytes + + +Here are some examples: + + ncacn_np:myserver + ncacn_np:myserver[samr] + ncacn_np:myserver[\pipe\samr] + ncacn_np:myserver[/pipe/samr] + ncacn_np:myserver[samr,sign,print] + ncacn_np:myserver[sign,spnego] + ncacn_np:myserver[\pipe\samr,sign,seal,bigendian] + ncacn_np:myserver[/pipe/samr,seal,validate] + ncacn_np: + ncacn_np:[/pipe/samr] + ncacn_ip_tcp:myserver + ncacn_ip_tcp:myserver[1024] + ncacn_ip_tcp:myserver[sign,seal] + ncacn_ip_tcp:myserver[spnego,seal] + + +IDEA: Maybe extend UNC names like this? + + smbclient //server/share + smbclient //server/share[sign,seal,spnego] + +DCERPC Handles +-------------- +The various handles that are used in the RPC servers should be created and +fetch using the dcesrv_handle_* functions. + +Use dcesrv_handle_new(struct dcesrv_connection *, uint8 handle_type) to obtain +a new handle of the specified type. Handle types are unique within each +pipe. + +The handle can later be fetched again using +struct dcesrv_handle *dcesrv_handle_fetch(struct dcesrv_connection *dce_conn, struct policy_handle *p, uint8 handle_type) +and destroyed by dcesrv_handle_destroy(struct dcesrv_handle *). + +User data should be stored in the 'data' member of the dcesrv_handle struct. + + +MSRPC +----- + + + + - ntvfs + - testing + - command line handling + - libcli structure + - posix reliance + - uid/gid handling + - process models + - static data + - msrpc + + +don't zero structures! avoid ZERO_STRUCT() and talloc_zero() + + +GMT vs TZ in printout of QFILEINFO timezones + +put in full UNC path in tconx + +test timezone handling by using a server in different zone from client + +do {} while (0) system + +NT_STATUS_IS_OK() is NOT the opposite of NT_STATUS_IS_ERR() + +need to implement secondary parts of trans2 and nttrans in server and +client + +document access_mask in openx reply + +check all capabilities and flag1, flag2 fields (eg. EAs) + +large files -> pass thru levels + +setpathinfo is very fussy about null termination of the file name + +the overwrite flag doesn't seem to work on setpathinfo RENAME_INFORMATION + +END_OF_FILE_INFORMATION and ALLOCATION_INFORMATION don't seem to work +via setpathinfo + +on w2k3 setpathinfo DISPOSITION_INFORMATION fails, but does have an +effect. It leaves the file with SHARING_VIOLATION. + +on w2k3 trans2 setpathinfo with any invalid low numbered level causes +the file to get into a state where DELETE_PENDING is reported, and the +file cannot be deleted until you reboot + +trans2 qpathinfo doesn't see the delete_pending flag correctly, but +qfileinfo does! + +get rid of pstring, fstring, strtok + +add programming documentation note about lp_set_cmdline() + +need to add a wct checking function in all client parsing code, +similar to REQ_CHECK_WCT() + +need to make sure that NTTIME is a round number of seconds when +converted from time_t + +not using a zero next offset in SMB_FILE_STREAM_INFORMATION for last +entry causes explorer exception under win2000 + + +if the server sets the session key the same for a second SMB socket as +an initial socket then the client will not re-authenticate, it will go +straight to a tconx, skipping session setup and will use all the +existing parameters! This allows two sockets with the same keys!? + + +removed blocking lock code, we now queue the whole request the same as +we queue any other pending request. This allows for things like a +close() while a pending blocking lock is being processed to operate +sanely. + +disabled change notify code + +disabled oplock code + + + +MILESTONES +========== + + +client library and test code +---------------------------- + + convert client library to new structure + get smbtorture working + get smbclient working + expand client library for all requests + write per-request test suite + gentest randomised test suite + separate client code as a library for non-Samba use + +server code +----------- + add remaining core SMB requests + add IPC layer + add nttrans layer + add rpc layer + fix auth models (share, server, rpc) + get net command working + connect CIFS backend to server level auth + get nmbd working + get winbindd working + reconnect printing code + restore removed smbd options + add smb.conf macro substitution code + add async backend notification + add generic timer event mechanism + +clustering code +--------------- + + write CIFS backend + new server models (break 1-1) + test clustered models + add fulcrum statistics gathering + +docs +---- + + conference paper + developer docs + +svn instructions + +Ideas +----- + + - store all config in config.ldb + + - load from smb.conf if modtime changes + + - dump full system config with ldbsearch + + - will need the ability to form a ldif difference file + + - advanced web admin via a web ldb editor + + - normal web admin via web forms -> ldif + + - config.ldb will replace smb.conf, secrets.tdb, shares.tdb etc + + - subsystems in smbd will load config parameters for a share + using ldbsearch at tconx time + + - need a loadparm equivalent module that provides parameter defaults + + - start smbd like this: "smbd -C tdb://etc/samba/config.ldb" or + "smbd -C ldapi://var/run/ldapi" + + - write a tool that generates a template ldap schema from an existing + ldb+tdb file + + - no need to HUP smbd to reload config + + - how to handle configuration comments? same problem as SWAT + + +BUGS: + add a test case for last_entry_offset in trans2 find interfaces + conn refused + connect -> errno + no 137 resolution not possible + should not fallback to anon when pass supplied + should check pass-thu cap bit, and skip lots of tests + possibly allow the test suite to say "allow oversized replies" for + trans2 and other calls + handle servers that don't have the setattre call in torture + add max file coponent length test and max path len test + check for alloc failure in all core reply.c and trans2.c code where + allocation size depends on client parameter + +case-insenstive idea: + all filenames on disk lowercase + real case in extended attribute + keep cache of what dirs are all lowercase + when searching for name, don't search if dir is definately all lowercase + when creating file, use dnotify to tell if someone else creates at + same time + +solve del *.* idea: + make mangle cache dynamic size + fill during a dir scan + setup a timer + destroy cache after 30 sec + destroy if a 2nd dir scan happens on same dir + diff --git a/Samba/services/json.esp b/Samba/services/json.esp new file mode 100644 index 0000000..6c59db0 --- /dev/null +++ b/Samba/services/json.esp @@ -0,0 +1,269 @@ +<% + +/* + * Copyright: + * (C) 2006 by Derrell Lipman + * All rights reserved + * + * License: + * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* + * This module provides a JSON encoder. + */ + + +/* escape a string as required by json */ +function _escape(s) +{ + var i; + var arr = new Array(); + + for (i = 0; i < strlen(s); i++) + { + var c = substr(s, i, 1); + if (c == '\x00') + { + arr[i] = '\\u0000'; + } + if (Json._internal.convert[c] != undefined) + { + arr[i] = Json._internal.convert[c]; + } + else + { + arr[i] = c; + } + } + + if (arr.length == 0) + { + return ""; + } + + return join("", arr); +} + +/* encode an arbitrary object. called recursively, for object and array */ +function _encode(o) +{ + var type = nativeTypeOf(o); + + if (type == "undefined") + { + return "null"; /* you really shouldn't count on this! */ + } + else if (type == "null") + { + return "null"; + } + else if (type == "boolean") + { + if (o) + { + return "true"; + } + else + { + return "false"; + } + } + else if (type == "c_function" || + type == "js_function" || + type == "string_c_function") + { + /* no output */ + } + else if (type == "float" || + type == "integer" || + type == "integer64") + { + return o + 0; + } + else if (type == "pointer") + { + var x = "" + o; + return '"' + substr(x, 16, strlen(x) - 16 - 1) + '"'; + } + else if (type == "object") + { + var buf; + + /* Is this an array or an ordinary object? */ + if (o["length"] != undefined) + { + var i; + + /* Assume it's an array if there's a length field */ + buf = "["; + for (i = 0; i < o.length; i++) + { + /* + * NOTE: We don't support sparse arrays nor associative + * arrays. Should we later want to do either, we're supposed + * to send it as an object rather than as an array. + */ + if (i > 0) + { + buf = buf + ","; + } + buf = buf + this.encode(o[i]); + } + buf = buf + "]"; + } + else if (o["__type"] == "_JSON_Date") + { + buf = "" + o.encoding(); + } + else + { + /* No length field, so it must be an ordinary object */ + var key; + var first = true; + + buf = "{"; + for (key in o) + { + if (! first) + { + buf = buf + ","; + } + buf = buf + '"' + key + '":' + this.encode(o[key]); + first = false; + } + buf = buf + "}"; + } + + return buf; + } + else if (type == "string") + { + return '"' + this._internal.escape(o) + '"'; + } + else + { + return '{ "unknown_object":"' + type + '"}'; + } +} + +/* Allocate the public Json access object */ +Json = new Object(); + +/* Json.encode(): encode an arbitrary object */ +Json.encode = _encode; +_encode = null; + +/* Json.decode(): decode a string into its object form */ +Json.decode = literal_to_var; + +/* Internal stuff, not for external access */ +Json._internal = new Object(); + +Json._internal.escape = _escape; +_escape = null; + +Json._internal.convert = new Object(); +Json._internal.convert['\b'] = '\\b'; +Json._internal.convert['\t'] = '\\t'; +Json._internal.convert['\n'] = '\\n'; +Json._internal.convert['\f'] = '\\f'; +Json._internal.convert['\r'] = '\\r'; +Json._internal.convert['"'] = '\\"'; +Json._internal.convert['\\'] = '\\\\'; +Json._internal.convert['\x01'] = '\\u0001'; +Json._internal.convert['\x02'] = '\\u0002'; +Json._internal.convert['\x03'] = '\\u0003'; +Json._internal.convert['\x04'] = '\\u0004'; +Json._internal.convert['\x05'] = '\\u0005'; +Json._internal.convert['\x06'] = '\\u0006'; +Json._internal.convert['\x07'] = '\\u0007'; +Json._internal.convert['\x08'] = '\\u0008'; +Json._internal.convert['\x09'] = '\\u0009'; +Json._internal.convert['\x0a'] = '\\u000a'; +Json._internal.convert['\x0b'] = '\\u000b'; +Json._internal.convert['\x0c'] = '\\u000c'; +Json._internal.convert['\x0d'] = '\\u000d'; +Json._internal.convert['\x0e'] = '\\u000e'; +Json._internal.convert['\x0f'] = '\\u000f'; +Json._internal.convert['\x10'] = '\\u0010'; +Json._internal.convert['\x11'] = '\\u0011'; +Json._internal.convert['\x12'] = '\\u0012'; +Json._internal.convert['\x13'] = '\\u0013'; +Json._internal.convert['\x14'] = '\\u0014'; +Json._internal.convert['\x15'] = '\\u0015'; +Json._internal.convert['\x16'] = '\\u0016'; +Json._internal.convert['\x17'] = '\\u0017'; +Json._internal.convert['\x18'] = '\\u0018'; +Json._internal.convert['\x19'] = '\\u0019'; +Json._internal.convert['\x1a'] = '\\u001a'; +Json._internal.convert['\x1b'] = '\\u001b'; +Json._internal.convert['\x1c'] = '\\u001c'; +Json._internal.convert['\x1d'] = '\\u001d'; +Json._internal.convert['\x1e'] = '\\u001e'; +Json._internal.convert['\x1f'] = '\\u001f'; +/* + * At some point, we probably want to add \x80-\xff as well, and it's then + * probably more efficient to generate these strings dynamically. (Even now + * it may be, but this was the the way I started, and so it remains.) + */ + + +/* Test it */ +/* +libinclude("base.js"); +function testFormat() +{ + var test = new Object(); + test.int = 23; + test.str = "hello world"; + test.float = 223.1; + test.bool = true; + test.array = new Array(); + test.array[0] = "hello"; + test.array[1] = "world"; + test.obj = new Object(); + test.obj.int = 1000; + test.obj.array = new Array(); + test.obj.array[0] = 42; + test.obj.array[1] = 223; + printf("%s\n", Json.encode(test)); +} +testFormat(); +*/ + +/* +libinclude("base.js"); +function testParse() +{ + var s; + + s = '{ "x" : 23 }'; + obj = Json.decode(s); + printf("Decode/encode of\n\t%s\nyielded\n\t%s\n\n", s, Json.encode(obj)); + + s = '{ "x" : [ 23, 42] }'; + obj = Json.decode(s); + printf("Decode/encode of\n\t%s\nyielded\n\t%s\n\n", s, Json.encode(obj)); + + s = '[ 13, 19, { "x" : [ 23, 42] }, 223 ]'; + obj = Json.decode(s); + printf("Decode/encode of\n\t%s\nyielded\n\t%s\n\n", s, Json.encode(obj)); + + s = '{ "x" : [ "hi" ] }'; + obj = Json.decode(s); + printf("Decode/encode of\n\t%s\nyielded\n\t%s\n\n", s, Json.encode(obj)); + + s = '[ 13, 19, { "x" : [ 23, 42, { "y":{"a":"hello", "b":"world", "c":[1,2,3]}}] }, 223 ]'; + obj = Json.decode(s); + printf("Decode/encode of\n\t%s\nyielded\n\t%s\n\n", s, Json.encode(obj)); +} +testParse(); +*/ + +/* + * Local Variables: + * mode: c + * End: + */ +%> diff --git a/Samba/services/json_auth.esp b/Samba/services/json_auth.esp new file mode 100644 index 0000000..2d58b6e --- /dev/null +++ b/Samba/services/json_auth.esp @@ -0,0 +1,13 @@ +<% +/* Return true to allow access; false otherwise */ +function json_authenticate(serviceComponents, method) +{ + return true; +} + +/* + * Local Variables: + * mode: c + * End: + */ +%> diff --git a/Samba/services/jsondate.esp b/Samba/services/jsondate.esp new file mode 100644 index 0000000..3467228 --- /dev/null +++ b/Samba/services/jsondate.esp @@ -0,0 +1,200 @@ +<% +/* + * Copyright: + * (C) 2006 by Derrell Lipman + * All rights reserved + * + * License: + * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* + * Date class for JSON-RPC + */ + + +function _JSON_Date_create(secondsSinceEpoch) +{ + var o = new Object(); + o.__type = "_JSON_Date"; + + function _setUtcDateTimeFields(year, month, day, hour, minute, second, millisecond) + { + this.year = year + 0; + this.month = month + 0; + this.day = day + 0; + this.hour = hour + 0; + this.minute = minute + 0; + this.second = second + 0; + this.millisecond = millisecond + 0; + } + + o.setUtcYear = _setUtcDateTimeFields; + + function _setUtcYear(year) + { + this.year = year + 0; + } + o.setUtcYear = _setUtcYear; + + function _setUtcMonth(month) + { + this.month = month + 0; + } + o.setUtcMonth = _setUtcMonth; + + function _setUtcDay(day) + { + this.day = day + 0; + } + o.setUtcDay = _setUtcDay; + + function _setUtcHour(hour) + { + this.hour = hour + 0; + } + o.setUtcHour = _setUtcHour; + + function _setUtcMinute(minute) + { + this.minute = minute + 0; + } + o.setUtcMinute = _setUtcMinute; + + function _setUtcSecond(second) + { + this.second = second + 0; + } + o.setUtcSecond = _setUtcSecond; + + function _setUtcMillisecond(millisecond) + { + this.millisecond = millisecond + 0; + } + o.setUtcMillisecond = _setUtcMillisecond; + + function _setEpochTime(secondsSinceEpoch) + { + var microseconds = 0; + + if (typeof(secondsSinceEpoch) != "number") + { + var currentTime = gettimeofday(); + secondsSinceEpoch = currentTime.sec; + microseconds = currentTime.usec; + } + + var tm = gmtime(secondsSinceEpoch); + + this.year = 1900 + tm.tm_year; + this.month = tm.tm_mon; + this.day = tm.tm_mday; + this.hour = tm.tm_hour; + this.minute = tm.tm_min; + this.second = tm.tm_sec; + this.millisecond = 0; + } + o.setEpochTime = _setEpochTime; + + function _getUtcYear() + { + return this.year; + } + o.getUtcYear = _getUtcYear; + + function _getUtcMonth() + { + return this.month; + } + o.getUtcMonth = _getUtcMonth; + + function _getUtcDay() + { + return this.day; + } + o.getUtcDay = _getUtcDay; + + function _getUtcHour() + { + return this.hour; + } + o.getUtcHour = _getUtcHour; + + function _getUtcMinute() + { + return this.minute; + } + o.getUtcMinute = _getUtcMinute; + + function _getUtcSecond() + { + return this.second; + } + o.getUtcSecond = _getUtcSecond; + + function _getUtcMillisecond() + { + return this.millisecond; + } + o.getUtcMillisecond = _getUtcMillisecond; + + function _getEpochTime() + { + var tm = new Object(); + tm.tm_sec = this.second; + tm.tm_min = this.minute; + tm.tm_hour = this.hour; + tm.tm_mday = -1; + tm.tm_mon = this.month; + tm.tm_year = this.year; + tm.tm_wday = -1; + tm.tm_yday = -1; + tm.isdst = 0; + return gmmktime(tm); + } + o.getEpochTime = _getEpochTime; + + function _encoding() + { + /* Encode the date in a well-documented fashion */ + return sprintf("new Date(Date.UTC(%d,%d,%d,%d,%d,%d,%d))", + this.year, + this.month, + this.day, + this.hour, + this.minute, + this.second, + this.millisecond); + } + o.encoding = _encoding; + + if (! secondsSinceEpoch) + { + var now = gettimeofday(); + o.setEpochTime(now.sec); + } + else + { + o.setEpochTime(secondsSinceEpoch); + } + o.year = 0; + o.month = 0; + o.day = 0; + o.hour = 0; + o.minute = 0; + o.second = 0; + o.millisecond = 0; + return o; +} + +JSON_Date = new Object(); +JSON_Date.create = _JSON_Date_create; +_JSON_Date_create = null; + + +/* + * Local Variables: + * mode: c + * End: + */ +%> diff --git a/Samba/services/qooxdoo/test.esp b/Samba/services/qooxdoo/test.esp new file mode 100644 index 0000000..e8686dc --- /dev/null +++ b/Samba/services/qooxdoo/test.esp @@ -0,0 +1,236 @@ +<% +/* + * Copyright: + * (C) 2006 by Derrell Lipman + * All rights reserved + * + * License: + * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* + * This is the standard qooxdoo test class. There are tests for each of the + * primitive types here, along with standard named tests "echo", "sink" and + * "sleep". + */ + +/** + * Echo the (one and only) parameter. + * + * @param params + * An array containing the parameters to this method + * + * @param error + * An object of class JsonRpcError. + * + * @return + * Success: The object containing the result of the method; + * Failure: null + */ +function _echo(params, error) +{ + if (params.length != 1) + { + error.setError(JsonRpcError_ParameterMismatch, + "Expected 1 parameter; got " + params.length); + return error; + } + return "Client said: [" + params[0] + "]"; +} +jsonrpc.method.echo = _echo; + +/** + * Sink all data and never return. + * + * @param params + * An array containing the parameters to this method (none expected) + * + * @param error + * An object of class JsonRpcError. + * + * @return + * "Never" + */ +function _sink(params, error) +{ + /* We're never supposed to return. Just sleep for a very long time. */ + sleep(240); +} +jsonrpc.method.sink = _sink; + +/** + * Sleep for the number of seconds specified by the parameter. + * + * @param params + * An array containing the parameters to this method (one expected) + * + * @param error + * An object of class JsonRpcError. + * + * @return + * Success: The object containing the result of the method; + * Failure: null + */ +function _sleep(params, error) +{ + if (params.length != 1) + { + error.setError(JsonRpcError_ParameterMismatch, + "Expected 1 parameter; got " + params.length); + return error; + } + + sleep(params[0]); + return params[0]; +} +jsonrpc.method.sleep = _sleep; + +/*************************************************************************/ + +/* + * The remainder of the functions test each individual primitive type, and + * test echoing arbitrary types. Hopefully the name is self-explanatory. + */ + +function _getInteger(params, error) +{ + return 1; +} +jsonrpc.method.getInteger = _getInteger; + +function _getFloat(params, error) +{ + return 1/3; +} +jsonrpc.method.getFloat = _getFloat; + +function _getString(params, error) +{ + return "Hello world"; +} +jsonrpc.method.getString = _getString; + +function _getBadString(params, error) +{ + return ""; +} +jsonrpc.method.getBadString = _getBadString; + +function _getArrayInteger(params, error) +{ + return new Array(1, 2, 3, 4); +} +jsonrpc.method.getArrayInteger = _getArrayInteger; + +function _getArrayString(params, error) +{ + return new Array("one", "two", "three", "four"); +} +jsonrpc.method.getArrayString = _getArrayString; + +function _getObject(params, error) +{ + o = new Object(); // some arbitrary object + o.something = 23; + o.garbage = 'lkasjdff;lajsdfkl;sadf'; + return o; +} +jsonrpc.method.getObject = _getObject; + +function _getTrue(params, error) +{ + return true; +} +jsonrpc.method.getTrue = _getTrue; + +function _getFalse(params, error) +{ + return false; +} +jsonrpc.method.getFalse = _getFalse; + +function _getNull(params, error) +{ + return null; +} +jsonrpc.method.getNull = _getNull; + +function _isInteger(params, error) +{ + var type = nativeTypeOf(params[0]); + return type == "integer" || type == "integer64"; +} +jsonrpc.method.isInteger = _isInteger; + +function _isFloat(params, error) +{ + return nativeTypeOf(params[0]) == "float"; +} +jsonrpc.method.isFloat = _isFloat; + +function _isString(params, error) +{ + return nativeTypeOf(params[0]) == "string"; +} +jsonrpc.method.isString = _isString; + +function _isBoolean(params, error) +{ + return nativeTypeOf(params[0]) == "boolean"; +} +jsonrpc.method.isBoolean = _isBoolean; + +function _isArray(params, error) +{ + return nativeTypeOf(params[0]) == "object" && params.length != undefined; +} +jsonrpc.method.isArray = _isArray; + +function _isObject(params, error) +{ + return nativeTypeOf(params[0]) == "object"; +} +jsonrpc.method.isObject = _isObject; + +function _isNull(params, error) +{ + return nativeTypeOf(params[0]) == "null"; +} +jsonrpc.method.isNull = _isNull; + +function _getParams(params, error) +{ + return params; +} +jsonrpc.method.getParams = _getParams; + +function _getParam(params, error) +{ + return params[0]; +} +jsonrpc.method.getParam = _getParam; + +function _getCurrentTimestamp() +{ + now = gettimeofday(); + obj = new Object(); + obj.now = now.sec; + obj.json = JSON_Date.create(now); + return obj; +} +jsonrpc.method.getCurrentTimestamp = _getCurrentTimestamp; + +function _getError(params, error) +{ + error.setError(23, "This is an application-provided error"); + return error; +} +jsonrpc.method.getError = _getError; + + +/* + * Local Variables: + * mode: c + * End: + */ +%> diff --git a/Samba/services/request.esp b/Samba/services/request.esp new file mode 100644 index 0000000..970ea6b --- /dev/null +++ b/Samba/services/request.esp @@ -0,0 +1,492 @@ +<% + +/* + * Copyright: + * (C) 2006 by Derrell Lipman + * All rights reserved + * + * License: + * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* + * This is a simple JSON-RPC server. + */ + + +/* Bring in the json format/parse functions */ +jsonrpc_include("json.esp"); + +/* Bring in the date class */ +jsonrpc_include("jsondate.esp"); + +/* Load the authentication script */ +jsonrpc_include("json_auth.esp"); + + +/* bring the string functions into the global frame */ +string_init(global); + +/* Bring the system functions into the global frame */ +sys_init(global); + +function printf() +{ + print(vsprintf(arguments)); +} + + +/* + * All of our manipulation of JSON RPC methods will be through this object. + * Each class of methods will assign to here, and all of the constants will + * also be in this object. + */ +jsonrpc = new Object(); +jsonrpc.Constant = new Object(); +jsonrpc.Constant.ErrorOrigin = new Object(); /* error origins */ +jsonrpc.Constant.ErrorCode = new Object(); /* server-generated error codes */ +jsonrpc.method = new Object(); /* methods available in requested class */ + +/* + * ScriptTransport constants + */ +jsonrpc.Constant.ScriptTransport = new Object(); +jsonrpc.Constant.ScriptTransport.NotInUse = -1; + + +/* + * JSON-RPC error origin constants + */ +jsonrpc.Constant.ErrorOrigin.Server = 1; +jsonrpc.Constant.ErrorOrigin.Application = 2; +jsonrpc.Constant.ErrorOrigin.Transport = 3; +jsonrpc.Constant.ErrorOrigin.Client = 4; + + + +/* + * JSON-RPC server-generated error code constants + */ + +/** + * Error code, value 0: Unknown Error + * + * The default error code, used only when no specific error code is passed to + * the JsonRpcError constructor. This code should generally not be used. + */ +jsonrpc.Constant.ErrorCode.Unknown = 0; + +/** + * Error code, value 1: Illegal Service + * + * The service name contains illegal characters or is otherwise deemed + * unacceptable to the JSON-RPC server. + */ +jsonrpc.Constant.ErrorCode.IllegalService = 1; + +/** + * Error code, value 2: Service Not Found + * + * The requested service does not exist at the JSON-RPC server. + */ +jsonrpc.Constant.ErrorCode.ServiceNotFound = 2; + +/** + * Error code, value 3: Class Not Found + * + * If the JSON-RPC server divides service methods into subsets (classes), this + * indicates that the specified class was not found. This is slightly more + * detailed than "Method Not Found", but that error would always also be legal + * (and true) whenever this one is returned. (Not used in this implementation) + */ +jsonrpc.Constant.ErrorCode.ClassNotFound = 3; // not used in this implementation + +/** + * Error code, value 4: Method Not Found + * + * The method specified in the request is not found in the requested service. + */ +jsonrpc.Constant.ErrorCode.MethodNotFound = 4; + +/* + * Error code, value 5: Parameter Mismatch + * + * If a method discovers that the parameters (arguments) provided to it do not + * match the requisite types for the method's parameters, it should return + * this error code to indicate so to the caller. + * + * This error is also used to indicate an illegal parameter value, in server + * scripts. + */ +jsonrpc.Constant.ErrorCode.ParameterMismatch = 5; + +/** + * Error code, value 6: Permission Denied + * + * A JSON-RPC service provider can require authentication, and that + * authentication can be implemented such the method takes authentication + * parameters, or such that a method or class of methods requires prior + * authentication. If the caller has not properly authenticated to use the + * requested method, this error code is returned. + */ +jsonrpc.Constant.ErrorCode.PermissionDenied = 6; + +/* + * Error code, value 7: Unexpected Output + * + * The called method illegally generated output to the browser, which would + * have preceeded the JSON-RPC data. + */ +jsonrpc.Constant.ErrorCode.UnexpectedOutput = 7; + +/* + * Error code, value 8: Resource Error + * + * Too many resources were requested, a system limitation on the total number + * of resources has been reached, or a resource or resource id was misused. + */ +jsonrpc.Constant.ErrorCode.ResourceError = 8; + + + + + +function sendReply(reply, scriptTransportId) +{ + /* If not using ScriptTransport... */ + if (scriptTransportId == jsonrpc.Constant.ScriptTransport.NotInUse) + { + /* ... then just output the reply. */ + write(reply); + } + else + { + /* Otherwise, we need to add a call to a qooxdoo-specific function */ + reply = + "qx.io.remote.ScriptTransport._requestFinished(" + + scriptTransportId + ", " + reply + + ");"; + write(reply); + } +} + + +function _jsonValidRequest(req) +{ + if (req == undefined) + { + return false; + } + + if (typeof(req) != "object") + { + return false; + } + + if (req["id"] == undefined) + { + return false; + } + + if (req["service"] == undefined) + { + return false; + } + + if (req["method"] == undefined) + { + return false; + } + + if (req["params"] == undefined) + { + return false; + } + + return true; +} +jsonrpc.validRequest = _jsonValidRequest; +_jsonValidRequest = null; + +/* + * class JsonRpcError + * + * This class allows service methods to easily provide error information for + * return via JSON-RPC. + */ +function _JsonRpcError_create(origin, code, message) +{ + var o = new Object(); + + o.data = new Object(); + o.data.origin = origin; + o.data.code = code; + o.data.message = message; + o.scriptTransportId = jsonrpc.Constant.ScriptTransport.NotInUse; + o.__type = "_JsonRpcError"; + + function _origin(origin) + { + this.data.origin = origin; + } + o.setOrigin = _origin; + + function _setError(code, message) + { + this.data.code = code; + this.data.message = message; + } + o.setError = _setError; + + function _setId(id) + { + this.id = id; + } + o.setId = _setId; + + function _setScriptTransportId(id) + { + this.scriptTransportId = id; + } + o.setScriptTransportId = _setScriptTransportId; + + function _Send() + { + var error = this; + var id = this.id; + var ret = new Object(); + ret.error = this.data; + ret.id = this.id; + sendReply(Json.encode(ret), this.scriptTransportId); + } + o.Send = _Send; + + return o; +} + +jsonrpc.createError = _JsonRpcError_create; +_JsonRpcError_create = null; + +/* + * 'input' is the user-provided json-encoded request + * 'jsonInput' is that request, decoded into its object form + */ +var input; +var jsonInput = null; + +/* Allocate a generic error object */ +error = jsonrpc.createError(jsonrpc.Constant.ErrorOrigin.Server, + jsonrpc.Constant.ErrorCode.Unknown, + "Unknown error"); + +/* Assume (default) we're not using ScriptTransport */ +scriptTransportId = jsonrpc.Constant.ScriptTransport.NotInUse; + +/* What type of request did we receive? */ +if (request["REQUEST_METHOD"] == "POST" && + request["CONTENT_TYPE"] == "text/json") +{ + /* We found literal POSTed json-rpc data (we hope) */ + input = request["POST_DATA"]; + jsonInput = Json.decode(input); +} +else if (request["REQUEST_METHOD"] == "GET" && + form["_ScriptTransport_id"] != undefined && + form["_ScriptTransport_data"] != undefined) +{ + /* We have what looks like a valid ScriptTransport request */ + scriptTransportId = form["_ScriptTransport_id"]; + error.setScriptTransportId(scriptTransportId); + input = form["_ScriptTransport_data"]; + jsonInput = Json.decode(input); +} + +/* Ensure that this was a JSON-RPC service request */ +if (! jsonrpc.validRequest(jsonInput)) +{ + /* + * This request was not issued with JSON-RPC so echo the error rather than + * issuing a JsonRpcError response. + */ + write("JSON-RPC request expected; service, method or params missing
"); + return; +} + +/* + * Ok, it looks like JSON-RPC, so we'll return an Error object if we encounter + * errors from here on out. + */ +error.setId(jsonInput.id); + +/* Service and method names may contain these characters */ +var nameChars = + "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + +/* The first letter of service and method names must be a letter */ +var nameFirstLetter = + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + +/* + * Ensure the method name is kosher. A meethod name should be: + * + * - first character is in [a-zA-Z] + * - other characters are in [_a-zA-Z0-9] + */ + +/* First check for legal characters */ +if (strspn(jsonInput.method, nameChars) != strlen(jsonInput.method)) +{ + /* There's some illegal character in the service name */ + error.setError(jsonrpc.Constant.ErrorCode.MethodNotFound, + "Illegal character found in method name."); + error.Send(); + return; +} + +/* Now ensure that it begins with a letter */ +if (strspn(substr(jsonInput.method, 0, 1), nameFirstLetter) != 1) +{ + error.setError(jsonrpc.Constant.ErrorCode.MethodNotFound, + "The method name does not begin with a letter"); + error.Send(); + return; +} + +/* + * Ensure the requested service name is kosher. A service name should be: + * + * - a dot-separated sequences of strings; no adjacent dots + * - first character of each string is in [a-zA-Z] + * - other characters are in [_a-zA-Z0-9] + */ + +/* First check for legal characters */ +if (strspn(jsonInput.service, "." + nameChars) != strlen(jsonInput.service)) +{ + /* There's some illegal character in the service name */ + error.setError(jsonrpc.Constant.ErrorCode.IllegalService, + "Illegal character found in service name."); + error.Send(); + return; +} + +/* + * Now ensure there are no double dots. + * + * Frustration with ejs. Result must be NULL, but we can't use the === + * operator: strstr() === null so we have to use typeof. If the result isn't + * null, then it'll be a number and therefore not type "pointer". + */ +if (typeof(strstr(jsonInput.service, "..")) != "pointer") +{ + error.setError(jsonrpc.Constant.ErrorCode.IllegalService, + "Illegal use of two consecutive dots in service name"); + error.Send(); + return; +} + +/* Explode the service name into its dot-separated parts */ +var serviceComponents = split(".", jsonInput.service); + +/* Ensure that each component begins with a letter */ +for (var i = 0; i < serviceComponents.length; i++) +{ + if (strspn(substr(serviceComponents[i], 0, 1), nameFirstLetter) != 1) + { + error.setError(jsonrpc.Constant.ErrorCode.IllegalService, + "A service name component does not begin with a letter"); + error.Send(); + return; + } +} + +/* + * Now replace all dots with slashes so we can locate the service script. We + * also retain the split components of the path, as the class name of the + * service is the last component of the path. + */ +var servicePath = join("/", serviceComponents) + ".esp"; + +/* Load the requested class */ +if (jsonrpc_include(servicePath)) +{ + /* Couldn't find the requested service */ + error.setError(jsonrpc.Constant.ErrorCode.ServiceNotFound, + "Service class `" + servicePath + "` does not exist."); + error.Send(); + return; +} + +/* + * Find the requested method. + * + * What we really want to do here, and could do in any reasonable language, + * is: + * + * method = jsonrpc.method[jsonInput.method]; + * if (method && typeof(method) == "function") ... + * + * The following completely unreasonable sequence of commands is because: + * + * (a) ejs evaluates all OR'ed expressions even if an early one is false, and + * barfs on the typeof(method) call if method is undefined + * + * (b) ejs does not allow comparing against the string "function"!!! What + * the hell is special about that particular string??? + * + * E-gad. What a mess. + */ +var method = jsonrpc.method[jsonInput.method]; +var valid = (method != undefined); +if (valid) +{ + var type = typeof(method); + if (substr(type, 0, 1) != 'f' || substr(type, 1) != "unction") + { + valid = false; + } +} + +if (! valid) +{ + error.setError(jsonrpc.Constant.ErrorCode.MethodNotFound, + "Method `" + method + "` not found."); + error.Send(); + return; +} + +/* Ensure the logged-in user is allowed to issue the requested method */ +if (! json_authenticate(serviceComponents, jsonInput.method)) +{ + error.setError(jsonrpc.Constant.ErrorCode.PermissionDenied, + "Permission denied"); + error.Send(); + return; +} + +/* Most errors from here on out will be Application-generated */ +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Application); + +/* Call the requested method passing it the provided params */ +var retval = method(jsonInput.params, error); + +/* See if the result of the function was actually an error object */ +if (retval["__type"] == "_JsonRpcError") +{ + /* Yup, it was. Return the error */ + retval.Send(); + return; +} + +/* Give 'em what they came for! */ +var ret = new Object(); +ret.result = retval; +ret.id = jsonInput.id; +sendReply(Json.encode(ret), scriptTransportId); + +/* + * Local Variables: + * mode: c + * End: + */ +%> diff --git a/Samba/services/resources.esp b/Samba/services/resources.esp new file mode 100644 index 0000000..d491ed5 --- /dev/null +++ b/Samba/services/resources.esp @@ -0,0 +1,170 @@ +<% + +/* + * Various JSON-RPC calls will want to maintain open resources within a + * session, across multiple calls. We'll provide a standardized way to + * maintain those open resources here, with some protection against rogue + * scripts. + */ + +function _resourcesCreate() +{ + /* The being-created resources object */ + var o = new Object(); + + /* + * The maximum number of resources available to a single session. This + * should be more than is ever needed (even by reasonable recursive + * functions) but limits rogue scripts ability to generate DOS attacks. + */ + o.RESOURCE_LIMIT = 100; + + /* List of current resources */ + o.resourceList = new Object(); + + /* Resource id values will be constantly incrementing; never reset. */ + o.resourceList.id = 0; + + /* We'll maintain our own count of the number of open resources */ + o.resourceList.count = 0; + + + /* + * Set a new saved resource. + */ + function _set(resource, type, error) + { + /* Do they already have the maximum number of resources allocated? */ + if (this.resourceList.count >= this.RESOURCE_LIMIT) + { + /* Yup. */ + error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); + error.setError(jsonrpc.Constant.ErrorCode.ResourceError, + "Session limit on resources (" + + RESOURCE_LIMIT + + ") exceeded."); + return error; + } + + /* Allocate an object to hold the new resource and its type */ + var r = new Object(); + + /* Save the resource and its type */ + r.resource = resource; + r.type = type; + + /* Add this resource to the list */ + this.resourceList[this.resourceList.id] = r; + + /* There's a new resource in the list! */ + this.resourceList.count++; + + /* + * Return the index of the resource, its resource id, and advance to + * the next resource id for next time. + */ + var id = this.resourceList.id; + this.resourceList.id++; + return id; + } + o.set = _set; + + /* + * Get a previously-saved resource + */ + function _get(resourceId, error) + { + /* Does the specified resource id exist? */ + if (! this.resourceList[resourceId]) + { + /* Nope. */ + error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); + error.setError(jsonrpc.Constant.ErrorCode.ResourceError, + "Resource not found."); + return error; + } + + /* Retrieve the resource */ + var r = this.resourceList[resourceId]; + + /* Give 'em what they came for! */ + return r.resource; + } + o.get = _get; + + /* + * Find a previously-saved resource + */ + function _find(type, error) + { + /* Does the specified resource id exist? */ + for (var resourceId in this.resourceList) + { + /* Retrieve the resource */ + var r = this.resourceList[resourceId]; + + /* Ignore "id" and "count" integer fields */ + if (typeof(r) == "object") + { + /* Is the specified resource the correct type? */ + if (r.type == type) + { + /* Yup, this is the one they want. */ + return resourceId; + } + } + } + + /* It wasn't found. */ + return undefined; + } + o.find = _find; + + /* + * Release a previously-saved resource, allowing it to be freed + */ + function _release(resourceId, error) + { + /* Does the specified resource id exist? */ + if (! this.resourceList[resourceId]) + { + /* Nope. */ + error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); + error.setError(jsonrpc.Constant.ErrorCode.ResourceError, + "Resource not found."); + return error; + } + + /* It exists. Delete it. */ + delete this.resourceList[resourceId]; + + /* There's now one fewer resources in the list */ + this.resourceList.count--; + } + o.release = _release; + + /* + * Retrieve the list of resources (for debugging) */ + */ + function _getList(error) + { + return this.resourceList; + } + o.getList = _getList; + + return o; +} + +/* singleton: create session resources list */ +if (! session.resources) +{ + session.resources = _resourcesCreate(); +} + + +/* + * Local Variables: + * mode: c + * End: + */ +%> diff --git a/Samba/services/samba/ldb.esp b/Samba/services/samba/ldb.esp new file mode 100644 index 0000000..2654efe --- /dev/null +++ b/Samba/services/samba/ldb.esp @@ -0,0 +1,632 @@ +<% +/* + * Copyright: + * (C) 2006 by Derrell Lipman + * All rights reserved + * + * License: + * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* + * JSON-RPC mappings to the ldb ejs functions + */ + +/* We'll be saving resources in the session */ +jsonrpc_include("resources.esp"); + + +/** + * Local function to determine if the requested database is one which we allow + * access to. + * + * @param dbRequested + * Name of the database which is being requested to be opened + * + * @return + * true if access is allowed; false otherwise. + */ +function accessAllowed(dbRequested) +{ + /* Databases allowed to connect to */ + dbAllowed = new Array(); + dbAllowed[dbAllowed.length] = "sam.ldb"; + + for (var i = 0; i < dbAllowed.length; i++) + { + if (dbRequested == dbAllowed[i]) + { + return true; + } + } + + return false; +} + + +/** + * Connect to a database + * + * @param params[0] + * Database name + * + * @param params[1..n] + * Option (e.g. "modules:modlist") + * + * @param error + * An object of class JsonRpcError. + * + * @return + * Success: The resource id to be used for future access to the database + * Failure: error event + * + * @note + * Credentials or session_info may be set up first. + */ +function _connect(params, error) +{ + if (params.length < 1) + { + error.setError(jsonrpc.Constant.ErrorCode.ParameterMismatch, + "usage: [