nk 215 source3/include/regfio.h REGF_NK_REC* regfio_fetch_subkey( REGF_FILE *file, REGF_NK_REC *nk ); nk 297 source3/registry/regfio.c static bool prs_nk_rec( const char *desc, prs_struct *ps, int depth, REGF_NK_REC *nk ) nk 304 source3/registry/regfio.c nk->hbin_off = prs_offset( ps ); nk 305 source3/registry/regfio.c start = nk->hbin_off; nk 315 source3/registry/regfio.c if ( !prs_uint32( "rec_size", ps, depth, &nk->rec_size )) nk 318 source3/registry/regfio.c if ( !prs_uint8s( True, "header", ps, depth, (uint8*)nk->header, sizeof( nk->header )) ) nk 321 source3/registry/regfio.c if ( !prs_uint16( "key_type", ps, depth, &nk->key_type )) nk 323 source3/registry/regfio.c if ( !smb_io_time( "mtime", &nk->mtime, ps, depth )) nk 328 source3/registry/regfio.c if ( !prs_uint32( "parent_off", ps, depth, &nk->parent_off )) nk 330 source3/registry/regfio.c if ( !prs_uint32( "num_subkeys", ps, depth, &nk->num_subkeys )) nk 335 source3/registry/regfio.c if ( !prs_uint32( "subkeys_off", ps, depth, &nk->subkeys_off )) nk 342 source3/registry/regfio.c if ( !prs_uint32( "num_values", ps, depth, &nk->num_values )) nk 344 source3/registry/regfio.c if ( !prs_uint32( "values_off", ps, depth, &nk->values_off )) nk 346 source3/registry/regfio.c if ( !prs_uint32( "sk_off", ps, depth, &nk->sk_off )) nk 348 source3/registry/regfio.c if ( !prs_uint32( "classname_off", ps, depth, &nk->classname_off )) nk 351 source3/registry/regfio.c if ( !prs_uint32( "max_bytes_subkeyname", ps, depth, &nk->max_bytes_subkeyname)) nk 353 source3/registry/regfio.c if ( !prs_uint32( "max_bytes_subkeyclassname", ps, depth, &nk->max_bytes_subkeyclassname)) nk 355 source3/registry/regfio.c if ( !prs_uint32( "max_bytes_valuename", ps, depth, &nk->max_bytes_valuename)) nk 357 source3/registry/regfio.c if ( !prs_uint32( "max_bytes_value", ps, depth, &nk->max_bytes_value)) nk 359 source3/registry/regfio.c if ( !prs_uint32( "unknown index", ps, depth, &nk->unk_index)) nk 362 source3/registry/regfio.c name_length = nk->keyname ? strlen(nk->keyname) : 0 ; nk 363 source3/registry/regfio.c class_length = nk->classname ? strlen(nk->classname) : 0 ; nk 375 source3/registry/regfio.c if ( !(nk->keyname = PRS_ALLOC_MEM( ps, char, name_length+1 )) ) nk 379 source3/registry/regfio.c if ( !prs_uint8s( True, "name", ps, depth, (uint8*)nk->keyname, name_length) ) nk 383 source3/registry/regfio.c nk->keyname[name_length] = '\0'; nk 391 source3/registry/regfio.c if ( data_size > nk->rec_size ) nk 392 source3/registry/regfio.c DEBUG(10,("Encountered reused record (0x%x < 0x%x)\n", data_size, nk->rec_size)); nk 395 source3/registry/regfio.c nk->hbin->dirty = True; nk 616 source3/registry/regfio.c static bool hbin_prs_lf_records( const char *desc, REGF_HBIN *hbin, int depth, REGF_NK_REC *nk ) nk 619 source3/registry/regfio.c REGF_LF_REC *lf = &nk->subkeys; nk 627 source3/registry/regfio.c if ( nk->num_subkeys == 0 ) nk 632 source3/registry/regfio.c if ( !prs_set_offset( &hbin->ps, nk->subkeys_off + HBIN_HDR_SIZE - hbin->first_hbin_off ) ) nk 874 source3/registry/regfio.c static bool hbin_prs_vk_records( const char *desc, REGF_HBIN *hbin, int depth, REGF_NK_REC *nk, REGF_FILE *file ) nk 884 source3/registry/regfio.c if ( nk->num_values == 0 ) nk 888 source3/registry/regfio.c if ( !(nk->values = PRS_ALLOC_MEM( &hbin->ps, REGF_VK_REC, nk->num_values ) ) ) nk 894 source3/registry/regfio.c if ( !prs_set_offset( &hbin->ps, nk->values_off+HBIN_HDR_SIZE-hbin->first_hbin_off-sizeof(uint32)) ) nk 898 source3/registry/regfio.c record_size = ( ( nk->num_values * sizeof(uint32) ) & 0xfffffff8 ) + 8; nk 905 source3/registry/regfio.c for ( i=0; i<nk->num_values; i++ ) { nk 906 source3/registry/regfio.c if ( !prs_uint32( "vk_off", &hbin->ps, depth, &nk->values[i].rec_off ) ) nk 910 source3/registry/regfio.c for ( i=0; i<nk->num_values; i++ ) { nk 914 source3/registry/regfio.c if ( !hbin_contains_offset( hbin, nk->values[i].rec_off ) ) { nk 915 source3/registry/regfio.c sub_hbin = lookup_hbin_block( file, nk->values[i].rec_off ); nk 918 source3/registry/regfio.c nk->values[i].hbin_off)); nk 923 source3/registry/regfio.c new_offset = nk->values[i].rec_off + HBIN_HDR_SIZE - sub_hbin->first_hbin_off; nk 926 source3/registry/regfio.c if ( !hbin_prs_vk_rec( "vk_rec", sub_hbin, depth, &nk->values[i], file ) ) nk 973 source3/registry/regfio.c static bool hbin_prs_key( REGF_FILE *file, REGF_HBIN *hbin, REGF_NK_REC *nk ) nk 983 source3/registry/regfio.c if ( !prs_nk_rec( "nk_rec", &hbin->ps, depth, nk )) nk 988 source3/registry/regfio.c if ( nk->num_values && (nk->values_off!=REGF_OFFSET_NONE) ) { nk 990 source3/registry/regfio.c if ( !hbin_contains_offset( hbin, nk->values_off ) ) { nk 991 source3/registry/regfio.c sub_hbin = lookup_hbin_block( file, nk->values_off ); nk 994 source3/registry/regfio.c nk->values_off)); nk 999 source3/registry/regfio.c if ( !hbin_prs_vk_records( "vk_rec", sub_hbin, depth, nk, file )) nk 1005 source3/registry/regfio.c if ( nk->num_subkeys && (nk->subkeys_off!=REGF_OFFSET_NONE) ) { nk 1007 source3/registry/regfio.c if ( !hbin_contains_offset( hbin, nk->subkeys_off ) ) { nk 1008 source3/registry/regfio.c sub_hbin = lookup_hbin_block( file, nk->subkeys_off ); nk 1011 source3/registry/regfio.c nk->subkeys_off)); nk 1016 source3/registry/regfio.c if ( !hbin_prs_lf_records( "lf_rec", sub_hbin, depth, nk )) nk 1022 source3/registry/regfio.c if ( (nk->sk_off!=REGF_OFFSET_NONE) && !( nk->sec_desc = find_sk_record_by_offset( file, nk->sk_off )) ) { nk 1025 source3/registry/regfio.c if ( !hbin_contains_offset( hbin, nk->sk_off ) ) { nk 1026 source3/registry/regfio.c sub_hbin = lookup_hbin_block( file, nk->sk_off ); nk 1029 source3/registry/regfio.c nk->subkeys_off)); nk 1034 source3/registry/regfio.c if ( !(nk->sec_desc = TALLOC_ZERO_P( file->mem_ctx, REGF_SK_REC )) ) nk 1036 source3/registry/regfio.c nk->sec_desc->sk_off = nk->sk_off; nk 1037 source3/registry/regfio.c if ( !hbin_prs_sk_rec( "sk_rec", sub_hbin, depth, nk->sec_desc )) nk 1042 source3/registry/regfio.c nk->sec_desc->sk_off = nk->sk_off; nk 1043 source3/registry/regfio.c DLIST_ADD( file->sec_desc_list, nk->sec_desc ); nk 1115 source3/registry/regfio.c static bool next_nk_record( REGF_FILE *file, REGF_HBIN *hbin, REGF_NK_REC *nk, bool *eob ) nk 1117 source3/registry/regfio.c if ( next_record( hbin, "nk", eob ) && hbin_prs_key( file, hbin, nk ) ) nk 1331 source3/registry/regfio.c REGF_NK_REC *nk; nk 1340 source3/registry/regfio.c if ( !(nk = TALLOC_ZERO_P( file->mem_ctx, REGF_NK_REC )) ) { nk 1354 source3/registry/regfio.c if ( next_nk_record( file, hbin, nk, &eob ) ) { nk 1355 source3/registry/regfio.c if ( nk->key_type == NK_TYPE_ROOTKEY ) { nk 1376 source3/registry/regfio.c return nk; nk 1384 source3/registry/regfio.c REGF_NK_REC* regfio_fetch_subkey( REGF_FILE *file, REGF_NK_REC *nk ) nk 1392 source3/registry/regfio.c if ( !nk || (nk->subkeys_off==REGF_OFFSET_NONE) || (nk->subkey_index >= nk->num_subkeys) ) nk 1397 source3/registry/regfio.c if ( !(hbin = lookup_hbin_block( file, nk->subkeys.hashes[nk->subkey_index].nk_off )) ) { nk 1399 source3/registry/regfio.c nk->subkeys.hashes[nk->subkey_index].nk_off)); nk 1403 source3/registry/regfio.c nk_offset = nk->subkeys.hashes[nk->subkey_index].nk_off; nk 1407 source3/registry/regfio.c nk->subkey_index++; nk 1636 source3/registry/regfio.c static uint32 nk_record_data_size( REGF_NK_REC *nk ) nk 1644 source3/registry/regfio.c size = 0x4c + strlen(nk->keyname) + sizeof(uint32); nk 1646 source3/registry/regfio.c if ( nk->classname ) nk 1647 source3/registry/regfio.c size += strlen( nk->classname ); nk 1721 source3/registry/regfio.c REGF_NK_REC *nk; nk 1725 source3/registry/regfio.c if ( !(nk = TALLOC_ZERO_P( file->mem_ctx, REGF_NK_REC )) ) nk 1728 source3/registry/regfio.c memcpy( nk->header, "nk", REC_HDR_SIZE ); nk 1731 source3/registry/regfio.c nk->key_type = NK_TYPE_ROOTKEY; nk 1733 source3/registry/regfio.c nk->key_type = NK_TYPE_NORMALKEY; nk 1737 source3/registry/regfio.c nk->parent_off = parent ? (parent->hbin_off + parent->hbin->file_off - REGF_BLOCKSIZE - HBIN_HDR_SIZE ) : REGF_OFFSET_NONE; nk 1741 source3/registry/regfio.c nk->classname_off = REGF_OFFSET_NONE; nk 1742 source3/registry/regfio.c nk->classname = NULL; nk 1743 source3/registry/regfio.c nk->keyname = talloc_strdup( file->mem_ctx, name ); nk 1747 source3/registry/regfio.c unix_to_nt_time( &nk->mtime, time(NULL) ); nk 1751 source3/registry/regfio.c size = nk_record_data_size( nk ); nk 1752 source3/registry/regfio.c nk->rec_size = ( size - 1 ) ^ 0XFFFFFFFF; nk 1753 source3/registry/regfio.c if ((nk->hbin = find_free_space( file, size )) == NULL) { nk 1756 source3/registry/regfio.c nk->hbin_off = prs_offset( &nk->hbin->ps ); nk 1763 source3/registry/regfio.c hash->nk_off = prs_offset( &nk->hbin->ps ) + nk->hbin->first_hbin_off - HBIN_HDR_SIZE; nk 1778 source3/registry/regfio.c nk->sk_off = REGF_OFFSET_NONE; nk 1785 source3/registry/regfio.c if ( (nk->sec_desc = find_sk_record_by_sec_desc( file, sec_desc )) == NULL ) { nk 1792 source3/registry/regfio.c if ( !(nk->sec_desc = TALLOC_ZERO_P( file->mem_ctx, REGF_SK_REC )) ) nk 1798 source3/registry/regfio.c memcpy( nk->sec_desc->header, "sk", REC_HDR_SIZE ); nk 1799 source3/registry/regfio.c nk->sec_desc->hbin = sk_hbin; nk 1800 source3/registry/regfio.c nk->sec_desc->hbin_off = prs_offset( &sk_hbin->ps ); nk 1801 source3/registry/regfio.c nk->sec_desc->sk_off = prs_offset( &sk_hbin->ps ) + sk_hbin->first_hbin_off - HBIN_HDR_SIZE; nk 1802 source3/registry/regfio.c nk->sec_desc->rec_size = (sk_size-1) ^ 0xFFFFFFFF; nk 1804 source3/registry/regfio.c nk->sec_desc->sec_desc = sec_desc; nk 1805 source3/registry/regfio.c nk->sec_desc->ref_count = 0; nk 1808 source3/registry/regfio.c nk->sec_desc->size = ndr_size_security_descriptor(sec_desc, NULL, 0) nk 1811 source3/registry/regfio.c DLIST_ADD_END( file->sec_desc_list, nk->sec_desc, REGF_SK_REC *); nk 1817 source3/registry/regfio.c if ( nk->sec_desc->prev ) { nk 1818 source3/registry/regfio.c REGF_SK_REC *prev = nk->sec_desc->prev; nk 1820 source3/registry/regfio.c nk->sec_desc->prev_sk_off = prev->hbin_off + prev->hbin->first_hbin_off - HBIN_HDR_SIZE; nk 1821 source3/registry/regfio.c prev->next_sk_off = nk->sec_desc->sk_off; nk 1824 source3/registry/regfio.c nk->sec_desc->next_sk_off = file->sec_desc_list->sk_off; nk 1827 source3/registry/regfio.c file->sec_desc_list->prev_sk_off = nk->sec_desc->sk_off; nk 1829 source3/registry/regfio.c nk->sec_desc->prev_sk_off = nk->sec_desc->sk_off; nk 1830 source3/registry/regfio.c nk->sec_desc->next_sk_off = nk->sec_desc->sk_off; nk 1836 source3/registry/regfio.c nk->sk_off = nk->sec_desc->sk_off; nk 1837 source3/registry/regfio.c nk->sec_desc->ref_count++; nk 1842 source3/registry/regfio.c nk->subkeys_off = REGF_OFFSET_NONE; nk 1843 source3/registry/regfio.c if ( (nk->num_subkeys = regsubkey_ctr_numkeys( subkeys )) != 0 ) { nk 1844 source3/registry/regfio.c uint32 lf_size = lf_record_data_size( nk->num_subkeys ); nk 1848 source3/registry/regfio.c if (!(nk->subkeys.hbin = find_free_space( file, lf_size ))) { nk 1851 source3/registry/regfio.c nk->subkeys.hbin_off = prs_offset( &nk->subkeys.hbin->ps ); nk 1852 source3/registry/regfio.c nk->subkeys.rec_size = (lf_size-1) ^ 0xFFFFFFFF; nk 1853 source3/registry/regfio.c nk->subkeys_off = prs_offset( &nk->subkeys.hbin->ps ) + nk->subkeys.hbin->first_hbin_off - HBIN_HDR_SIZE; nk 1855 source3/registry/regfio.c memcpy( nk->subkeys.header, "lf", REC_HDR_SIZE ); nk 1857 source3/registry/regfio.c nk->subkeys.num_keys = nk->num_subkeys; nk 1858 source3/registry/regfio.c if (nk->subkeys.num_keys) { nk 1859 source3/registry/regfio.c if ( !(nk->subkeys.hashes = TALLOC_ZERO_ARRAY( file->mem_ctx, REGF_HASH_REC, nk->subkeys.num_keys )) ) nk 1862 source3/registry/regfio.c nk->subkeys.hashes = NULL; nk 1864 source3/registry/regfio.c nk->subkey_index = 0; nk 1867 source3/registry/regfio.c for ( i=0; i<nk->num_subkeys; i++ ) { nk 1869 source3/registry/regfio.c if ( namelen*2 > nk->max_bytes_subkeyname ) nk 1870 source3/registry/regfio.c nk->max_bytes_subkeyname = namelen * 2; nk 1876 source3/registry/regfio.c nk->values_off = REGF_OFFSET_NONE; nk 1877 source3/registry/regfio.c if ( (nk->num_values = regval_ctr_numvals( values )) != 0 ) { nk 1878 source3/registry/regfio.c uint32 vlist_size = ( ( nk->num_values * sizeof(uint32) ) & 0xfffffff8 ) + 8; nk 1884 source3/registry/regfio.c nk->values_off = prs_offset( &vlist_hbin->ps ) + vlist_hbin->first_hbin_off - HBIN_HDR_SIZE; nk 1886 source3/registry/regfio.c if (nk->num_values) { nk 1887 source3/registry/regfio.c if ( !(nk->values = TALLOC_ARRAY( file->mem_ctx, REGF_VK_REC, nk->num_values )) ) nk 1890 source3/registry/regfio.c nk->values = NULL; nk 1895 source3/registry/regfio.c for ( i=0; i<nk->num_values; i++ ) { nk 1900 source3/registry/regfio.c create_vk_record( file, &nk->values[i], r ); nk 1901 source3/registry/regfio.c vk_size = vk_record_data_size( &nk->values[i] ); nk 1902 source3/registry/regfio.c nk->values[i].hbin = find_free_space( file, vk_size ); nk 1903 source3/registry/regfio.c nk->values[i].hbin_off = prs_offset( &nk->values[i].hbin->ps ); nk 1904 source3/registry/regfio.c nk->values[i].rec_size = ( vk_size - 1 ) ^ 0xFFFFFFFF; nk 1905 source3/registry/regfio.c nk->values[i].rec_off = prs_offset( &nk->values[i].hbin->ps ) nk 1906 source3/registry/regfio.c + nk->values[i].hbin->first_hbin_off nk 1912 source3/registry/regfio.c if ( namelen*2 > nk->max_bytes_valuename ) nk 1913 source3/registry/regfio.c nk->max_bytes_valuename = namelen * 2; nk 1916 source3/registry/regfio.c if ( datalen > nk->max_bytes_value ) nk 1917 source3/registry/regfio.c nk->max_bytes_value = datalen; nk 1923 source3/registry/regfio.c prs_set_offset( &nk->hbin->ps, nk->hbin_off ); nk 1924 source3/registry/regfio.c if ( !prs_nk_rec( "nk_rec", &nk->hbin->ps, 0, nk ) ) nk 1927 source3/registry/regfio.c if ( nk->num_values ) { nk 1928 source3/registry/regfio.c if ( !hbin_prs_vk_records( "vk_records", vlist_hbin, 0, nk, file ) ) nk 1935 source3/registry/regfio.c return nk; nk 890 source3/utils/net_rpc_registry.c static void dump_values( REGF_NK_REC *nk ) nk 896 source3/utils/net_rpc_registry.c if ( !nk->values ) nk 899 source3/utils/net_rpc_registry.c for ( i=0; i<nk->num_values; i++ ) { nk 900 source3/utils/net_rpc_registry.c d_printf( "\"%s\" = ", nk->values[i].valuename ? nk->values[i].valuename : "(default)" ); nk 901 source3/utils/net_rpc_registry.c d_printf( "(%s) ", reg_type_lookup( nk->values[i].type ) ); nk 903 source3/utils/net_rpc_registry.c data_size = nk->values[i].data_size & ~VK_DATA_IN_OFFSET; nk 904 source3/utils/net_rpc_registry.c switch ( nk->values[i].type ) { nk 908 source3/utils/net_rpc_registry.c nk->values[i].data, nk 919 source3/utils/net_rpc_registry.c d_printf( "%c", nk->values[i].data[j] ); nk 923 source3/utils/net_rpc_registry.c data = IVAL( nk->values[i].data, 0 ); nk 928 source3/utils/net_rpc_registry.c d_printf( "%x", nk->values[i].data[j] ); nk 944 source3/utils/net_rpc_registry.c static bool dump_registry_tree( REGF_FILE *file, REGF_NK_REC *nk, const char *parent ) nk 950 source3/utils/net_rpc_registry.c while ( (key = regfio_fetch_subkey( file, nk )) ) { nk 968 source3/utils/net_rpc_registry.c static bool write_registry_tree( REGF_FILE *infile, REGF_NK_REC *nk, nk 994 source3/utils/net_rpc_registry.c for ( i=0; i<nk->num_values; i++ ) { nk 995 source3/utils/net_rpc_registry.c regval_ctr_addvalue( values, nk->values[i].valuename, nk->values[i].type, nk 996 source3/utils/net_rpc_registry.c (const char *)nk->values[i].data, (nk->values[i].data_size & ~VK_DATA_IN_OFFSET) ); nk 1001 source3/utils/net_rpc_registry.c while ( (subkey = regfio_fetch_subkey( infile, nk )) ) { nk 1005 source3/utils/net_rpc_registry.c key = regfio_write_key( outfile, nk->keyname, values, subkeys, nk->sec_desc->sec_desc, parent ); nk 1013 source3/utils/net_rpc_registry.c nk->keyname); nk 1019 source3/utils/net_rpc_registry.c nk->subkey_index = 0; nk 1020 source3/utils/net_rpc_registry.c while ( (subkey = regfio_fetch_subkey( infile, nk )) ) { nk 1036 source3/utils/net_rpc_registry.c REGF_NK_REC *nk; nk 1052 source3/utils/net_rpc_registry.c if ((nk = regfio_rootkey( registry )) == NULL) { nk 1057 source3/utils/net_rpc_registry.c d_printf("[%s]\n", nk->keyname); nk 1058 source3/utils/net_rpc_registry.c dump_values( nk ); nk 1061 source3/utils/net_rpc_registry.c dump_registry_tree( registry, nk, nk->keyname ); nk 1079 source3/utils/net_rpc_registry.c REGF_NK_REC *nk; nk 1103 source3/utils/net_rpc_registry.c if ((nk = regfio_rootkey( infile )) == NULL) { nk 1107 source3/utils/net_rpc_registry.c d_printf("RootKey: [%s]\n", nk->keyname); nk 1109 source3/utils/net_rpc_registry.c write_registry_tree( infile, nk, NULL, outfile, "" ); nk 114 source3/utils/profiles.c static bool copy_registry_tree( REGF_FILE *infile, REGF_NK_REC *nk, nk 128 source3/utils/profiles.c if ( !(new_sd = dup_sec_desc( outfile->mem_ctx, nk->sec_desc->sec_desc )) ) { nk 133 source3/utils/profiles.c verbose_output("ACL for %s%s%s\n", parentpath, parent ? "\\" : "", nk->keyname); nk 150 source3/utils/profiles.c for ( i=0; i<nk->num_values; i++ ) { nk 151 source3/utils/profiles.c regval_ctr_addvalue( values, nk->values[i].valuename, nk->values[i].type, nk 152 source3/utils/profiles.c (const char *)nk->values[i].data, (nk->values[i].data_size & ~VK_DATA_IN_OFFSET) ); nk 157 source3/utils/profiles.c while ( (subkey = regfio_fetch_subkey( infile, nk )) ) { nk 161 source3/utils/profiles.c key = regfio_write_key( outfile, nk->keyname, values, subkeys, new_sd, parent ); nk 166 source3/utils/profiles.c parentpath, parent ? "\\" : "",nk->keyname); nk 172 source3/utils/profiles.c nk->subkey_index = 0; nk 173 source3/utils/profiles.c while ((subkey = regfio_fetch_subkey(infile, nk))) { nk 197 source3/utils/profiles.c REGF_NK_REC *nk; nk 286 source3/utils/profiles.c if ((nk = regfio_rootkey( infile )) == NULL) { nk 291 source3/utils/profiles.c if (!copy_registry_tree( infile, nk, NULL, outfile, "")) { nk 1007 source4/dsdb/samdb/ldb_modules/password_hash.c const char **nk = NULL; nk 1095 source4/dsdb/samdb/ldb_modules/password_hash.c nk = &names[num_names++]; nk 1152 source4/dsdb/samdb/ldb_modules/password_hash.c *nk = "Kerberos"; nk 61 source4/lib/registry/regf.c struct nk_block *nk; nk 441 source4/lib/registry/regf.c *num_subkeys = private_data->nk->num_subkeys; nk 444 source4/lib/registry/regf.c *num_values = private_data->nk->num_values; nk 447 source4/lib/registry/regf.c if (private_data->nk->clsname_offset != -1) { nk 449 source4/lib/registry/regf.c private_data->nk->clsname_offset); nk 452 source4/lib/registry/regf.c private_data->nk->clsname_length); nk 472 source4/lib/registry/regf.c struct nk_block *nk; nk 479 source4/lib/registry/regf.c nk = talloc(ret, struct nk_block); nk 480 source4/lib/registry/regf.c if (nk == NULL) nk 483 source4/lib/registry/regf.c ret->nk = nk; nk 485 source4/lib/registry/regf.c if (!hbin_get_tdr(regf, offset, nk, nk 486 source4/lib/registry/regf.c (tdr_pull_fn_t)tdr_pull_nk_block, nk)) { nk 491 source4/lib/registry/regf.c if (strcmp(nk->header, "nk") != 0) { nk 492 source4/lib/registry/regf.c DEBUG(0, ("Expected nk record, got %s\n", nk->header)); nk 512 source4/lib/registry/regf.c if (idx >= private_data->nk->num_values) nk 515 source4/lib/registry/regf.c tmp = hbin_get(regf, private_data->nk->values_offset); nk 521 source4/lib/registry/regf.c if (tmp.length < private_data->nk->num_values * 4) { nk 594 source4/lib/registry/regf.c struct nk_block *nk = private_data->nk; nk 597 source4/lib/registry/regf.c if (idx >= nk->num_subkeys) nk 600 source4/lib/registry/regf.c data = hbin_get(private_data->hive, nk->subkeys_offset); nk 613 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_li_block(pull, nk, &li))) { nk 621 source4/lib/registry/regf.c if (li.key_count != nk->num_subkeys) { nk 634 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_lf_block(pull, nk, &lf))) { nk 642 source4/lib/registry/regf.c if (lf.key_count != nk->num_subkeys) { nk 655 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_lh_block(pull, nk, &lh))) { nk 663 source4/lib/registry/regf.c if (lh.key_count != nk->num_subkeys) { nk 677 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_ri_block(pull, nk, &ri))) { nk 703 source4/lib/registry/regf.c nk, nk 725 source4/lib/registry/regf.c nk, nk 758 source4/lib/registry/regf.c nk->subkeys_offset, data.data[0], data.data[1])); nk 765 source4/lib/registry/regf.c if (ret->nk->clsname_offset != -1) { nk 767 source4/lib/registry/regf.c ret->nk->clsname_offset); nk 770 source4/lib/registry/regf.c ret->nk->clsname_length); nk 776 source4/lib/registry/regf.c *last_mod_time = ret->nk->last_change; nk 779 source4/lib/registry/regf.c *name = talloc_steal(ctx, ret->nk->key_name); nk 835 source4/lib/registry/regf.c struct nk_block *nk = private_data->nk; nk 838 source4/lib/registry/regf.c data = hbin_get(private_data->hive, nk->subkeys_offset); nk 852 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_li_block(pull, nk, &li))) { nk 860 source4/lib/registry/regf.c if (li.key_count != nk->num_subkeys) { nk 866 source4/lib/registry/regf.c W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, key, nk 883 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_lf_block(pull, nk, &lf))) { nk 891 source4/lib/registry/regf.c if (lf.key_count != nk->num_subkeys) { nk 900 source4/lib/registry/regf.c W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, nk 919 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_lh_block(pull, nk, &lh))) { nk 927 source4/lib/registry/regf.c if (lh.key_count != nk->num_subkeys) { nk 937 source4/lib/registry/regf.c W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, nk 955 source4/lib/registry/regf.c if (NT_STATUS_IS_ERR(tdr_pull_ri_block(pull, nk, &ri))) { nk 979 source4/lib/registry/regf.c nk, nk 988 source4/lib/registry/regf.c W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, key, nk 1000 source4/lib/registry/regf.c nk, nk 1013 source4/lib/registry/regf.c W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, key, nk 1061 source4/lib/registry/regf.c if (!hbin_get_tdr(regf, private_data->nk->sk_offset, regf, nk 1096 source4/lib/registry/regf.c hbin_free(regf, private_data->nk->sk_offset); nk 1113 source4/lib/registry/regf.c private_data->nk->sk_offset = sk_offset; nk 1121 source4/lib/registry/regf.c private_data->nk); nk 1142 source4/lib/registry/regf.c private_data->nk->sk_offset = sk_offset; nk 1147 source4/lib/registry/regf.c private_data->nk->sk_offset, &cur_sk); nk 1178 source4/lib/registry/regf.c private_data->offset, private_data->nk); nk 1191 source4/lib/registry/regf.c if (!hbin_get_tdr(regf, private_data->nk->sk_offset, ctx, nk 1544 source4/lib/registry/regf.c struct nk_block *nk = private_data->nk; nk 1551 source4/lib/registry/regf.c if (nk->values_offset == -1) { nk 1555 source4/lib/registry/regf.c values = hbin_get(regf, nk->values_offset); nk 1557 source4/lib/registry/regf.c for (i = 0; i < nk->num_values; i++) { nk 1578 source4/lib/registry/regf.c nk->num_values--; nk 1579 source4/lib/registry/regf.c values.length = (nk->num_values)*4; nk 1583 source4/lib/registry/regf.c if (nk->num_values == 0) { nk 1584 source4/lib/registry/regf.c hbin_free(regf, nk->values_offset); nk 1585 source4/lib/registry/regf.c nk->values_offset = -1; nk 1587 source4/lib/registry/regf.c nk->values_offset = hbin_store_resize(regf, nk 1588 source4/lib/registry/regf.c nk->values_offset, nk 1592 source4/lib/registry/regf.c private_data->offset, nk); nk 1608 source4/lib/registry/regf.c parent_nk = private_data->nk; nk 1622 source4/lib/registry/regf.c if (key->nk->subkeys_offset != -1) { nk 1625 source4/lib/registry/regf.c int i = key->nk->num_subkeys; nk 1647 source4/lib/registry/regf.c if (key->nk->values_offset != -1) { nk 1651 source4/lib/registry/regf.c int i = key->nk->num_values; nk 1687 source4/lib/registry/regf.c if (key->nk->clsname_offset != -1) { nk 1688 source4/lib/registry/regf.c hbin_free(private_data->hive, key->nk->clsname_offset); nk 1702 source4/lib/registry/regf.c struct nk_block *parent_nk = private_data->nk, nk; nk 1708 source4/lib/registry/regf.c nk.header = "nk"; nk 1709 source4/lib/registry/regf.c nk.type = REG_SUB_KEY; nk 1710 source4/lib/registry/regf.c unix_to_nt_time(&nk.last_change, time(NULL)); nk 1711 source4/lib/registry/regf.c nk.uk1 = 0; nk 1712 source4/lib/registry/regf.c nk.parent_offset = private_data->offset; nk 1713 source4/lib/registry/regf.c nk.num_subkeys = 0; nk 1714 source4/lib/registry/regf.c nk.uk2 = 0; nk 1715 source4/lib/registry/regf.c nk.subkeys_offset = -1; nk 1716 source4/lib/registry/regf.c nk.unknown_offset = -1; nk 1717 source4/lib/registry/regf.c nk.num_values = 0; nk 1718 source4/lib/registry/regf.c nk.values_offset = -1; nk 1719 source4/lib/registry/regf.c memset(nk.unk3, 0, 5); nk 1720 source4/lib/registry/regf.c nk.clsname_offset = -1; /* FIXME: fill in */ nk 1721 source4/lib/registry/regf.c nk.clsname_length = 0; nk 1722 source4/lib/registry/regf.c nk.key_name = name; nk 1733 source4/lib/registry/regf.c nk.sk_offset = root->sk_offset; nk 1737 source4/lib/registry/regf.c offset = hbin_store_tdr(regf, (tdr_push_fn_t) tdr_push_nk_block, &nk); nk 1750 source4/lib/registry/regf.c nk.parent_offset, parent_nk); nk 1762 source4/lib/registry/regf.c struct nk_block *nk = private_data->nk; nk 1771 source4/lib/registry/regf.c if (nk->values_offset != -1) { nk 1772 source4/lib/registry/regf.c values = hbin_get(regf, nk->values_offset); nk 1774 source4/lib/registry/regf.c for (i = 0; i < nk->num_values; i++) { nk 1827 source4/lib/registry/regf.c if (nk->values_offset == -1) { nk 1828 source4/lib/registry/regf.c nk->values_offset = hbin_store_tdr(regf, nk 1831 source4/lib/registry/regf.c nk->num_values = 1; nk 1837 source4/lib/registry/regf.c for (i = 0; i < nk->num_values; i++) { nk 1847 source4/lib/registry/regf.c value_list.length = (nk->num_values+1)*4; nk 1850 source4/lib/registry/regf.c nk->num_values+1); nk 1852 source4/lib/registry/regf.c memcpy(value_list.data, values.data, nk->num_values * 4); nk 1854 source4/lib/registry/regf.c SIVAL(value_list.data, nk->num_values * 4, vk_offset); nk 1855 source4/lib/registry/regf.c nk->num_values++; nk 1856 source4/lib/registry/regf.c nk->values_offset = hbin_store_resize(regf, nk 1857 source4/lib/registry/regf.c nk->values_offset, nk 1864 source4/lib/registry/regf.c private_data->offset, nk); nk 1919 source4/lib/registry/regf.c struct nk_block nk; nk 1963 source4/lib/registry/regf.c nk.header = "nk"; nk 1964 source4/lib/registry/regf.c nk.type = REG_SUB_KEY; nk 1965 source4/lib/registry/regf.c unix_to_nt_time(&nk.last_change, time(NULL)); nk 1966 source4/lib/registry/regf.c nk.uk1 = 0; nk 1967 source4/lib/registry/regf.c nk.parent_offset = -1; nk 1968 source4/lib/registry/regf.c nk.num_subkeys = 0; nk 1969 source4/lib/registry/regf.c nk.uk2 = 0; nk 1970 source4/lib/registry/regf.c nk.subkeys_offset = -1; nk 1971 source4/lib/registry/regf.c nk.unknown_offset = -1; nk 1972 source4/lib/registry/regf.c nk.num_values = 0; nk 1973 source4/lib/registry/regf.c nk.values_offset = -1; nk 1974 source4/lib/registry/regf.c memset(nk.unk3, 0, 5); nk 1975 source4/lib/registry/regf.c nk.clsname_offset = -1; nk 1976 source4/lib/registry/regf.c nk.clsname_length = 0; nk 1977 source4/lib/registry/regf.c nk.sk_offset = 0x80; nk 1978 source4/lib/registry/regf.c nk.key_name = "SambaRootKey"; nk 2015 source4/lib/registry/regf.c &nk); nk 2021 source4/lib/registry/regf.c DEBUG(0, ("Error storing sk block, should be at 0x80, stored at 0x%x\n", nk.sk_offset));