]> git.sur5r.net Git - openldap/log
openldap
9 years agoMerge remote-tracking branch 'origin/mdb.master'
Howard Chu [Wed, 6 Aug 2014 15:36:17 +0000 (08:36 -0700)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoITS#7906 minor cleanup
Howard Chu [Wed, 6 Aug 2014 02:37:28 +0000 (19:37 -0700)]
ITS#7906 minor cleanup

rename ppolicy_close -> ppolicy_db_close for consistency

9 years agoITS#7906 better fix
Howard Chu [Wed, 6 Aug 2014 02:36:30 +0000 (19:36 -0700)]
ITS#7906 better fix

don't free pwcons unless we're actually destroying this DB

9 years agoITS#7915 fix translucent_modify
Howard Chu [Mon, 4 Aug 2014 20:37:34 +0000 (13:37 -0700)]
ITS#7915 fix translucent_modify

Go directly to local backend when fetching local entry

9 years agoITS#7915 fix mdb_entry_release
Howard Chu [Mon, 4 Aug 2014 20:35:02 +0000 (13:35 -0700)]
ITS#7915 fix mdb_entry_release

In server mode, make sure the entry was actually ours

9 years agoMore for MIPS
Howard Chu [Mon, 4 Aug 2014 18:40:24 +0000 (11:40 -0700)]
More for MIPS

Do a cacheflush after writing data pages, separate from meta's cacheflush

9 years agoITS#7793 more for branch key update
Howard Chu [Mon, 4 Aug 2014 16:26:35 +0000 (09:26 -0700)]
ITS#7793 more for branch key update

9 years agoITS#7793 doc update, again
Howard Chu [Mon, 4 Aug 2014 12:13:29 +0000 (05:13 -0700)]
ITS#7793 doc update, again

9 years agoITS#7793 update branch key if needed
Howard Chu [Mon, 4 Aug 2014 11:57:53 +0000 (04:57 -0700)]
ITS#7793 update branch key if needed

9 years agoITS#7895 drop toolmode checks in str2entry
Howard Chu [Sat, 2 Aug 2014 18:17:12 +0000 (11:17 -0700)]
ITS#7895 drop toolmode checks in str2entry

They were obsoleted by ITS#6737 and have been redundant ever since.
(commit 15f1e7bdb7ae487424f19934b0d5dbf4bc30bea6)

9 years agoMore for MIPS
Howard Chu [Sat, 2 Aug 2014 17:33:35 +0000 (10:33 -0700)]
More for MIPS

Paranoia for 3630066843b7ca6b2cd12911d3e2fe3314cd4549 do the
cacheflush before setting mti_txnid.

9 years agoITS#7912 fix index config
Howard Chu [Thu, 31 Jul 2014 18:29:31 +0000 (11:29 -0700)]
ITS#7912 fix index config

9 years agoMerge remote-tracking branch 'origin/mdb.master'
Quanah Gibson-Mount [Thu, 31 Jul 2014 17:56:49 +0000 (12:56 -0500)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoITS#7913 mdb_cursor_get(*_DUP) cleanup
Howard Chu [Thu, 31 Jul 2014 16:59:52 +0000 (09:59 -0700)]
ITS#7913 mdb_cursor_get(*_DUP) cleanup

FIRST_DUP/LAST_DUP should succeed even on non-duplicate values
PREV_DUP should reset cursor's EOF flag.

9 years agoITS#7909 fix slap_callback init
Howard Chu [Wed, 30 Jul 2014 13:55:36 +0000 (06:55 -0700)]
ITS#7909 fix slap_callback init

9 years agoITS#7908
Quanah Gibson-Mount [Mon, 28 Jul 2014 18:04:43 +0000 (13:04 -0500)]
ITS#7908
Add olcSssVlvMaxPerConn to the olcSssVlvConfig objectClass

9 years agoFix MIPS cache coherency on Linux
Howard Chu [Sun, 27 Jul 2014 01:16:02 +0000 (18:16 -0700)]
Fix MIPS cache coherency on Linux

MIPS chips require manual control of on-chip caches. The cacheflush
syscall being used here only exists on MIPS Linux, other OSs will
require revisiting.

9 years agoITS#7906 fix ppolicy_connection_destroy
Howard Chu [Fri, 25 Jul 2014 00:02:30 +0000 (17:02 -0700)]
ITS#7906 fix ppolicy_connection_destroy

It can still run after ppolicy_close has freed the connection table

9 years agoMerge remote-tracking branch 'origin/mdb.master'
Quanah Gibson-Mount [Thu, 24 Jul 2014 17:07:44 +0000 (12:07 -0500)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoUpdate date
Howard Chu [Thu, 24 Jul 2014 11:15:45 +0000 (04:15 -0700)]
Update date

9 years agomore for mdb_cursor_count
Howard Chu [Thu, 24 Jul 2014 11:13:55 +0000 (04:13 -0700)]
more for mdb_cursor_count

return MDB_NOTFOUND if the cursor is empty

9 years agoFix mdb_copy & co when MDB pagesize < OS pagesize
Hallvard Furuseth [Wed, 9 Jul 2014 19:38:45 +0000 (21:38 +0200)]
Fix mdb_copy & co when MDB pagesize < OS pagesize

9 years agoITS#7789 doc updates
Howard Chu [Thu, 24 Jul 2014 00:31:34 +0000 (17:31 -0700)]
ITS#7789 doc updates

9 years agoITS#7789 Fix mdb_env_write_meta().
Hallvard Furuseth [Thu, 24 Jul 2014 00:24:31 +0000 (17:24 -0700)]
ITS#7789 Fix mdb_env_write_meta().

Always write mapsize = max(other metapage:mapsize, env:mapsize).

9 years agoRevert ITS#7789 commits, let's try this again.
Howard Chu [Thu, 24 Jul 2014 00:10:41 +0000 (17:10 -0700)]
Revert ITS#7789 commits, let's try this again.

Revert "ITS#7789 Fix resize vs MDB_NOMETASYNC, and a comment."
Revert "ITS#7789 more"
Revert "Revert "ITS#7789 update RESIZED errmsg text""
Revert "ITS#7789 update RESIZED errmsg text"
Revert "ITS#7789 persist mapsize changes"

This reverts commit 02285aca58f5629547263ba09e7dd685dcf6b4b5.
This reverts commit 38e71c68de2ad61fb0fd72fd40214fd9a94479b9.
This reverts commit a5e4eecb1e59e9645113bb4c63d06a23a2c4bdf9.
This reverts commit d8e18551c3f03d5205f4dc8d1711e494d3814b17.
This reverts commit 5926e54bba7c976e0837221efb20cbff384207b8.

9 years agoITS#7904 writewait patch
Howard Chu [Wed, 23 Jul 2014 20:06:23 +0000 (13:06 -0700)]
ITS#7904 writewait patch

Assigned ITS#, tweaking. This ITS includes
4f05d992f2146921dbc13d3477de9918f20172b9
716b35e191fb587b352922c76d65843449d870cb
be792fae2ccd4f39ee2b975bcc26a6e21dfc3586

9 years agoFix prev commit
Howard Chu [Wed, 23 Jul 2014 04:55:23 +0000 (21:55 -0700)]
Fix prev commit

9 years agoMore for writewait callback
Howard Chu [Wed, 23 Jul 2014 04:52:24 +0000 (21:52 -0700)]
More for writewait callback

Must also reset search cursors

9 years agoITS#7903 preserve Sorted status of attrs
Howard Chu [Wed, 23 Jul 2014 03:24:58 +0000 (20:24 -0700)]
ITS#7903 preserve Sorted status of attrs

9 years agoITS#7902 fix str2entry / sorted vals
Howard Chu [Wed, 23 Jul 2014 03:21:35 +0000 (20:21 -0700)]
ITS#7902 fix str2entry / sorted vals

9 years agoAdd sc_writewait callback
Howard Chu [Wed, 23 Jul 2014 02:17:15 +0000 (19:17 -0700)]
Add sc_writewait callback

Invoked before a blocked writer waits for socket to be writable.
Use in back-mdb to release reader txn while waiting.

9 years agoITS#7894 Let back-config use backend to release entries
Ondřej Kuzník [Tue, 22 Jul 2014 08:19:04 +0000 (10:19 +0200)]
ITS#7894 Let back-config use backend to release entries

9 years agoMerge remote-tracking branch 'origin/mdb.master'
Quanah Gibson-Mount [Tue, 22 Jul 2014 17:30:27 +0000 (12:30 -0500)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoITS#7027 actually implement RFC 2782 shuffle
Howard Chu [Tue, 22 Jul 2014 05:05:25 +0000 (22:05 -0700)]
ITS#7027 actually implement RFC 2782 shuffle

9 years agoITS#7027 fix bugs in prev commit
Howard Chu [Tue, 22 Jul 2014 02:34:31 +0000 (19:34 -0700)]
ITS#7027 fix bugs in prev commit

9 years agoITS#7027 Implement priority/weight for DNS SRV records
James M Leddy [Tue, 23 Aug 2011 21:02:03 +0000 (17:02 -0400)]
ITS#7027 Implement priority/weight for DNS SRV records

From RFC 2782:

  A client MUST attempt to contact the target host with the
  lowest-numbered priority it can reach.

This patch sorts the DNS SRV records by their priority, and
additionally gives records with a larger weight a higher probability
of appearing earlier. This way, the DNS SRV records are tried in the
order of their priority.

9 years agoFix env_open mode bits
Howard Chu [Tue, 22 Jul 2014 01:20:31 +0000 (18:20 -0700)]
Fix env_open mode bits

9 years agoITS#6970 more error checks in add_group
Howard Chu [Mon, 21 Jul 2014 18:32:31 +0000 (11:32 -0700)]
ITS#6970 more error checks in add_group

9 years agoITS#6970 all attrset params are required
Howard Chu [Mon, 21 Jul 2014 18:08:03 +0000 (11:08 -0700)]
ITS#6970 all attrset params are required

9 years agoITS#6970 fix deadlocks
Howard Chu [Mon, 21 Jul 2014 17:46:19 +0000 (10:46 -0700)]
ITS#6970 fix deadlocks

9 years agoMerge remote-tracking branch 'origin/mdb.master'
Quanah Gibson-Mount [Mon, 21 Jul 2014 16:00:14 +0000 (11:00 -0500)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoITS#7249 partial fix for memberof on frontendDB
Howard Chu [Mon, 21 Jul 2014 15:20:26 +0000 (08:20 -0700)]
ITS#7249 partial fix for memberof on frontendDB

9 years agoFix mdb_cursor_count, reject uninit'd cursor
Howard Chu [Mon, 21 Jul 2014 15:33:59 +0000 (08:33 -0700)]
Fix mdb_cursor_count, reject uninit'd cursor

9 years agoSilence prototype warnings
Howard Chu [Mon, 21 Jul 2014 15:11:33 +0000 (08:11 -0700)]
Silence prototype warnings

9 years agoITS#6970 fix autogroup Add Entry processing
Howard Chu [Mon, 21 Jul 2014 14:56:05 +0000 (07:56 -0700)]
ITS#6970 fix autogroup Add Entry processing

Push modifications into response callback; only execute if
main Add actually succeeded.

9 years agoITS#7838 add ORDERING rules to ppolicy attrs
Michael Stroeder [Fri, 18 Jul 2014 20:03:21 +0000 (13:03 -0700)]
ITS#7838 add ORDERING rules to ppolicy attrs

9 years agoITS#7868 fix slapo-sock db_init
Howard Chu [Fri, 18 Jul 2014 19:03:07 +0000 (12:03 -0700)]
ITS#7868 fix slapo-sock db_init

9 years agoITS#7860 more for #5366, ldap_ava definition
Howard Chu [Fri, 18 Jul 2014 18:26:33 +0000 (11:26 -0700)]
ITS#7860 more for #5366, ldap_ava definition

9 years agoITS#7851 contrib pw-sha2 fix int/size_t comparison
ryan@nardis.ca [Fri, 27 Jun 2014 02:18:13 +0000 (02:18 +0000)]
ITS#7851 contrib pw-sha2 fix int/size_t comparison

9 years agoITS#7851 tell lutil_b64_pton the correct target buffer size
Ryan Tandy [Mon, 12 May 2014 01:57:34 +0000 (18:57 -0700)]
ITS#7851 tell lutil_b64_pton the correct target buffer size

9 years agoFix EOL/whitespace
Howard Chu [Fri, 18 Jul 2014 16:28:27 +0000 (09:28 -0700)]
Fix EOL/whitespace

9 years agoITS#7869 fix do_phk_hash arguments
Ryan Tandy [Fri, 18 Jul 2014 16:27:14 +0000 (09:27 -0700)]
ITS#7869 fix do_phk_hash arguments

9 years agoTypo
Howard Chu [Mon, 14 Jul 2014 16:53:53 +0000 (09:53 -0700)]
Typo

9 years agoITS#7896 fix for mdb_env_map
Howard Chu [Mon, 14 Jul 2014 16:51:16 +0000 (09:51 -0700)]
ITS#7896 fix for mdb_env_map

Don't pass non-NULL map address unless MDB_FIXEDMAP was used.

9 years agoITS#7859 more for revert
Howard Chu [Fri, 11 Jul 2014 19:38:16 +0000 (12:38 -0700)]
ITS#7859 more for revert

9 years agoITS#7859 refix
Howard Chu [Fri, 11 Jul 2014 19:25:47 +0000 (12:25 -0700)]
ITS#7859 refix

This was actually broken by 65e163d2, ITS#6947. Reverting both
of those changes and fixing #6947 again.

9 years agoMerge remote-tracking branch 'origin/mdb.master'
Quanah Gibson-Mount [Thu, 10 Jul 2014 18:38:10 +0000 (13:38 -0500)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoMore for cursor EOF
Howard Chu [Wed, 9 Jul 2014 22:03:54 +0000 (15:03 -0700)]
More for cursor EOF

Must also set in sub-cursor if deleting entire subDB

9 years agoITS#7893 (#6508) fix a_numvals
Howard Chu [Wed, 9 Jul 2014 20:07:53 +0000 (13:07 -0700)]
ITS#7893 (#6508) fix a_numvals

9 years agoZero-init copy2 writebuf
Howard Chu [Wed, 9 Jul 2014 19:05:37 +0000 (12:05 -0700)]
Zero-init copy2 writebuf

9 years agoAdd missing mdb_strerror calls to debug msgs
Howard Chu [Wed, 9 Jul 2014 18:21:41 +0000 (11:21 -0700)]
Add missing mdb_strerror calls to debug msgs

9 years agoMDB_MAXKEYSIZE = 0 (dynamic value) when MDB_DEVEL
Hallvard Furuseth [Wed, 9 Jul 2014 18:18:08 +0000 (20:18 +0200)]
MDB_MAXKEYSIZE = 0 (dynamic value) when MDB_DEVEL

9 years agoMDB_DEVEL doxygen fix
Hallvard Furuseth [Wed, 9 Jul 2014 18:17:13 +0000 (20:17 +0200)]
MDB_DEVEL doxygen fix

9 years agoITS#7789 Fix resize vs MDB_NOMETASYNC, and a comment.
Hallvard Furuseth [Wed, 9 Jul 2014 18:16:33 +0000 (20:16 +0200)]
ITS#7789 Fix resize vs MDB_NOMETASYNC, and a comment.

9 years agoWindows fixes
Howard Chu [Wed, 9 Jul 2014 17:22:25 +0000 (10:22 -0700)]
Windows fixes

Always set the filesize when opening for writes. Otherwise
can't use backups from mdb_copy.

9 years agoWindows compat
Howard Chu [Wed, 9 Jul 2014 16:31:49 +0000 (09:31 -0700)]
Windows compat

We mainly use Win32 functions, so cannot just use C-runtime strerror
to return error messages. We have to use Win32-specific messages.
Unfortunately, we document the API to return C-runtime error codes,
so we can't just switch to all Win32 error codes.

9 years agoFix loading of printable dump
Howard Chu [Wed, 9 Jul 2014 16:16:03 +0000 (09:16 -0700)]
Fix loading of printable dump

Off-by-one in end check, would complain on valid input.

9 years agoITS#7789 more
Howard Chu [Wed, 9 Jul 2014 13:54:32 +0000 (06:54 -0700)]
ITS#7789 more

persist size changes from env_open() as well. This was the
original behavior.

9 years agoRevert "ITS#7789 update RESIZED errmsg text"
Howard Chu [Wed, 9 Jul 2014 13:17:54 +0000 (06:17 -0700)]
Revert "ITS#7789 update RESIZED errmsg text"

This reverts commit d8e18551c3f03d5205f4dc8d1711e494d3814b17.
And partially reverts mapsize check. Only mapsize increases are relevant.

9 years agoITS#7825 more
Howard Chu [Wed, 9 Jul 2014 12:13:10 +0000 (05:13 -0700)]
ITS#7825 more

Set read txn's dbiseqs to env's. Set child txn's dbiseqs to parent's.
Simplify DBI_CHANGED test, no need to check md_name. No-op dbi_close
of already closed handle.

9 years agoUpdates #7789, #7825
Howard Chu [Wed, 9 Jul 2014 04:40:11 +0000 (21:40 -0700)]
Updates #7789, #7825

9 years agoITS#7825 more
Howard Chu [Wed, 9 Jul 2014 04:31:48 +0000 (21:31 -0700)]
ITS#7825 more

only update dbiseq in dbi_open on write txns

9 years agoITS#7825 tweak prev commit
Howard Chu [Wed, 9 Jul 2014 04:22:07 +0000 (21:22 -0700)]
ITS#7825 tweak prev commit

dbiseqs are only checked in write txns so omit from read txns

9 years agoITS#7825 add MDB_BAD_DBI error code
Howard Chu [Wed, 9 Jul 2014 04:02:40 +0000 (21:02 -0700)]
ITS#7825 add MDB_BAD_DBI error code

Use DBI sequence numbers to detect DBIs being closed while in use.

9 years agoITS#7789 update RESIZED errmsg text
Howard Chu [Wed, 9 Jul 2014 03:05:31 +0000 (20:05 -0700)]
ITS#7789 update RESIZED errmsg text

9 years agoITS#7789 persist mapsize changes
Howard Chu [Wed, 9 Jul 2014 02:06:45 +0000 (19:06 -0700)]
ITS#7789 persist mapsize changes

Write decreases too, not just increases. Check for any size change
that was not requested by this process.

9 years agoITS#7256 A few issues discovered during testing slapmodify.
Ondrej Kuznik [Mon, 23 Apr 2012 14:58:20 +0000 (16:58 +0200)]
ITS#7256 A few issues discovered during testing slapmodify.

- bdb deallocates cursor after some tool operations but expects it to be
  around every time it is called
- mdb tries to allocate a second transaction while it already holds one,
  deadlocking
- op->o_hdr must exist for most uses of op, but o_tmpmfuncs need not
- what about indexing after a tool modify? Does it happen automatically?

9 years agoITS#7256 Consolidate cleanup code at one location.
Ondrej Kuznik [Mon, 23 Apr 2012 14:31:21 +0000 (16:31 +0200)]
ITS#7256 Consolidate cleanup code at one location.

9 years agoITS#7256 Rework entry retrieval and cleanup.
Ondrej Kuznik [Mon, 23 Apr 2012 14:24:07 +0000 (16:24 +0200)]
ITS#7256 Rework entry retrieval and cleanup.

When doing deletes, lastmod has no entry to work on.

9 years agoITS#7256 Add some necessary checks.
Ondrej Kuznik [Mon, 23 Apr 2012 13:28:41 +0000 (15:28 +0200)]
ITS#7256 Add some necessary checks.

9 years agoITS#7256 Set backend for operation.
Ondrej Kuznik [Mon, 23 Apr 2012 08:33:51 +0000 (10:33 +0200)]
ITS#7256 Set backend for operation.

slap_tool_entry_check does it but it is not called every time.

9 years agoITS#7256 Let slapmodify ignore unknown operations
Ondrej Kuznik [Thu, 19 Apr 2012 14:05:35 +0000 (16:05 +0200)]
ITS#7256 Let slapmodify ignore unknown operations

ldapmodify already does the same.

9 years agoITS#7256 Allow deletes with slapmodify
Ondrej Kuznik [Thu, 19 Apr 2012 13:58:27 +0000 (15:58 +0200)]
ITS#7256 Allow deletes with slapmodify

9 years agoITS#7256 mplement bi_tool_entry_delete for back-ldif
Ondrej Kuznik [Thu, 19 Apr 2012 13:53:49 +0000 (15:53 +0200)]
ITS#7256 mplement bi_tool_entry_delete for back-ldif

9 years agoITS#7256 Introduce bi_tool_entry_delete
Ondrej Kuznik [Thu, 19 Apr 2012 13:52:49 +0000 (15:52 +0200)]
ITS#7256 Introduce bi_tool_entry_delete

9 years agoITS#7256 Temporarily disable slapmodify checks
Ondrej Kuznik [Thu, 19 Apr 2012 13:50:25 +0000 (15:50 +0200)]
ITS#7256 Temporarily disable slapmodify checks

9 years agoITS#7212 rudimentary slapmodify support for back-config
Ondrej Kuznik [Thu, 19 Apr 2012 13:30:42 +0000 (15:30 +0200)]
ITS#7212 rudimentary slapmodify support for back-config

9 years agoITS#7212 slapmodify support for back-ldif
Ondrej Kuznik [Thu, 19 Apr 2012 13:29:57 +0000 (15:29 +0200)]
ITS#7212 slapmodify support for back-ldif

9 years agoITS#7256 Introduce slapmodify test
Ondrej Kuznik [Thu, 19 Apr 2012 13:46:49 +0000 (15:46 +0200)]
ITS#7256 Introduce slapmodify test

9 years agoUpdate LMDB version date/info
Howard Chu [Tue, 8 Jul 2014 23:27:26 +0000 (16:27 -0700)]
Update LMDB version date/info

9 years agoITS#7892 Fix MacOSX section name
Howard Chu [Tue, 8 Jul 2014 23:27:03 +0000 (16:27 -0700)]
ITS#7892 Fix MacOSX section name

9 years agoMerge remote-tracking branch 'origin/mdb.master'
Quanah Gibson-Mount [Tue, 8 Jul 2014 22:21:10 +0000 (17:21 -0500)]
Merge remote-tracking branch 'origin/mdb.master'

9 years agoITS#7713 cleanups
Hallvard Furuseth [Tue, 8 Jul 2014 22:01:18 +0000 (15:01 -0700)]
ITS#7713 cleanups

'#ifdef MDB_DEVEL' -> '#if MDB_DEVEL'
Fix comments, use actual PAGEBASE macro as originally intended.
Actually enable 64K pages. Set MDB_DATA_VERSION for testing only.

9 years agoFixes for loose pages
Hallvard Furuseth [Tue, 8 Jul 2014 18:52:53 +0000 (11:52 -0700)]
Fixes for loose pages

mdb_txn_commit(child): Give loose pages to parent.
Use a pointer beyond the page header instead of mp_next, so
we will not need to save/restore mp_pgno. This avoids a crash
caused by references to mp_pgno.

9 years agoRe-fix cursor EOF
Howard Chu [Tue, 8 Jul 2014 18:54:24 +0000 (11:54 -0700)]
Re-fix cursor EOF

Fix in 534dcc721287cfe1051191a5cd7d3df6cf1dc409 was in wrong place

9 years agoITS#7713 handle 65536 byte page size
Howard Chu [Mon, 7 Jul 2014 16:12:22 +0000 (09:12 -0700)]
ITS#7713 handle 65536 byte page size

Fix mp_lower/mp_upper to exclude PAGEHDRSZ, which means our
max mp_upper is now pagesize - PAGEHDRSZ and won't overflow.
Currently must define MDB_DEVEL to use. Will be default for
LMDB 1.0/OpenLDAP 2.5

9 years agoSet xcursor EOF after deleting last entry
Howard Chu [Tue, 8 Jul 2014 00:13:51 +0000 (17:13 -0700)]
Set xcursor EOF after deleting last entry

9 years agoCompacting copy doesn't need to snapshot metas
Howard Chu [Mon, 7 Jul 2014 00:47:25 +0000 (17:47 -0700)]
Compacting copy doesn't need to snapshot metas

9 years agoWindows fixes
Howard Chu [Sun, 6 Jul 2014 14:49:38 +0000 (07:49 -0700)]
Windows fixes

9 years agoPlay games with object file layout
Howard Chu [Sat, 5 Jul 2014 15:48:47 +0000 (08:48 -0700)]
Play games with object file layout

Use gcc section attribute to keep less frequently used functions
away from main code.