sfrench/samba-autobuild/.git
8 years agoAvoid including libds/common/roles.h in public loadparm.h header.
Jelmer Vernooij [Mon, 28 Dec 2015 19:01:54 +0000 (19:01 +0000)]
Avoid including libds/common/roles.h in public loadparm.h header.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agoldb: Only set public headers field when installing as a public library.
Jelmer Vernooij [Mon, 28 Dec 2015 18:57:26 +0000 (18:57 +0000)]
ldb: Only set public headers field when installing as a public library.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agotime_basic.h: Remove unnecessary dependency on replace.h
Jelmer Vernooij [Mon, 4 Jan 2016 01:07:27 +0000 (01:07 +0000)]
time_basic.h: Remove unnecessary dependency on replace.h

Forward declare struct timeval

Signed-off-by: Jelmer Vernooij <jelmer@jelmer.uk>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agoRemove public library dcerpc-atsvc.
Jelmer Vernooij [Thu, 28 Jan 2016 15:21:21 +0000 (15:21 +0000)]
Remove public library dcerpc-atsvc.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agoMake libregistry private, for now.
Jelmer Vernooij [Thu, 28 Jan 2016 15:21:21 +0000 (15:21 +0000)]
Make libregistry private, for now.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agoMake libtorture private, for now.
Jelmer Vernooij [Thu, 28 Jan 2016 15:21:21 +0000 (15:21 +0000)]
Make libtorture private, for now.

Signed-Off-By: Jelmer Vernooij <jelmer@jelmer.uk>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agoMake gensec private, for now.
Jelmer Vernooij [Thu, 28 Jan 2016 15:21:21 +0000 (15:21 +0000)]
Make gensec private, for now.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agotalloc: Only set public headers field when installing as a public library.
Jelmer Vernooij [Mon, 4 Jan 2016 15:21:21 +0000 (15:21 +0000)]
talloc: Only set public headers field when installing as a public library.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
8 years agoError when private libraries have public headers.
Jelmer Vernooij [Mon, 28 Dec 2015 00:04:02 +0000 (00:04 +0000)]
Error when private libraries have public headers.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agotdb: Only set public headers field when installing as a public library.
Jelmer Vernooij [Mon, 4 Jan 2016 15:21:02 +0000 (15:21 +0000)]
tdb: Only set public headers field when installing as a public library.

Signed-Off-By: Jelmer Vernooij <Jelmer@samba.org>
8 years agoAdd private_headers flag to SAMBA_*() functions.
Jelmer Vernooij [Sun, 27 Dec 2015 22:07:59 +0000 (22:07 +0000)]
Add private_headers flag to SAMBA_*() functions.

While this argument is correctly ignored, it does mean that we can
associate private headers with specific subsystems/libraries.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-By: Andrew Bartlett <abartlet@samba.org>
Reviewed-By: Stefan Metzmacher <metze@samba.org>
8 years agotevent: Only set public headers field when installing as a public library.
Jelmer Vernooij [Mon, 4 Jan 2016 23:01:26 +0000 (23:01 +0000)]
tevent: Only set public headers field when installing as a public library.

Signed-off-by: Jelmer Vernooij <jelmer@jelmer.uk>
8 years agosamdb: Add explicit dependency on ldb.
Jelmer Vernooij [Tue, 5 Jan 2016 23:11:08 +0000 (23:11 +0000)]
samdb: Add explicit dependency on ldb.

This is needed to pull in the right -I flags.

Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
8 years agoSimplify handling of dependencies on external libraries in test_headers.
Jelmer Vernooij [Sat, 9 Jan 2016 20:25:17 +0000 (20:25 +0000)]
Simplify handling of dependencies on external libraries in test_headers.

Signed-off-by: Jelmer Vernooij <jelmer@jelmer.uk>
8 years agoUse full path to dlinklist.h in includes.
Jelmer Vernooij [Sat, 9 Jan 2016 21:55:53 +0000 (21:55 +0000)]
Use full path to dlinklist.h in includes.

Signed-off-by: Jelmer Vernooij <jelmer@jelmer.uk>
8 years agoRevert "winbind: Retry after SESSION_EXPIRED error in ping-dc"
Christof Schmitt [Thu, 7 Jan 2016 20:27:49 +0000 (13:27 -0700)]
Revert "winbind: Retry after SESSION_EXPIRED error in ping-dc"

This reverts commit a2670f15dea27c10e3827216adf572f9c3894f85.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

cm_connect_netlogon now handles the retry for an expired session.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jan 13 03:35:57 CET 2016 on sn-devel-144

8 years agowinbindd: Retry on expired session in cm_connect_netlogon
Christof Schmitt [Tue, 5 Jan 2016 22:10:45 +0000 (15:10 -0700)]
winbindd: Retry on expired session in cm_connect_netlogon

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agowinbindd: Retry on expired session in cm_connect_sam
Christof Schmitt [Thu, 7 Jan 2016 22:03:22 +0000 (15:03 -0700)]
winbindd: Retry on expired session in cm_connect_sam

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agowinbindd: Retry on expired session in cm_connect_lsa
Christof Schmitt [Wed, 6 Jan 2016 21:15:30 +0000 (14:15 -0700)]
winbindd: Retry on expired session in cm_connect_lsa

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agowinbindd: Remove double retry from some ADS methods
Christof Schmitt [Tue, 5 Jan 2016 21:42:09 +0000 (14:42 -0700)]
winbindd: Remove double retry from some ADS methods

The retry through the new reconnect_ads layer is enough. This structure
also makes the distinction between retry layer and actual methods call a
bit clearer.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agowinbindd: Add retry also for ADS method calls
Christof Schmitt [Tue, 5 Jan 2016 21:37:30 +0000 (14:37 -0700)]
winbindd: Add retry also for ADS method calls

RPC calls can return IO_DEVICE_ERROR on expired SMB2 sessions. Retrying
on a new connection avoids surfacing this error to winbindd clients.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agowinbindd: Reset connection for expired session before reconnecting
Christof Schmitt [Tue, 5 Jan 2016 20:39:25 +0000 (13:39 -0700)]
winbindd: Reset connection for expired session before reconnecting

A RPC call on a expired SMB2 session returns IO_DEVICE_ERROR. In this
case, reset the connection before issuing the same call
again.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11670

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agoctdb-tests: Fix some incorrect memory allocations
Martin Schwenke [Tue, 1 Dec 2015 04:32:07 +0000 (15:32 +1100)]
ctdb-tests: Fix some incorrect memory allocations

These allocate enough memory but things get confusing if they're used
as a guide when updating the code.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Tue Jan 12 22:19:16 CET 2016 on sn-devel-144

8 years agoctdb-scripts: Use more unique temporary file names
Martin Schwenke [Thu, 10 Dec 2015 04:03:46 +0000 (15:03 +1100)]
ctdb-scripts: Use more unique temporary file names

Consider this sequence of events:

1. Instance of script running update_tickles() hangs
2. Script debugging is launched asynchronously
3. New instance of script is launched, creates temporary file(s)
4. Original hung script makes progress before asynchronous script
   debugging kills it, so it removes temporary file(s)
5. New instance of script produces error due to missing files(s)

This is obviously rare.

Use more unique filenames to avoid step (4) removing the file(s)
belonging to other instances of the script.

This requires some extra cleanup to avoid too many temporary files
(which is why unique filenames were not originally usd).  It is
sufficient to remove files modified at least 10 minutes ago.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-scripts: Don't remove temporary files before use
Martin Schwenke [Thu, 10 Dec 2015 03:58:53 +0000 (14:58 +1100)]
ctdb-scripts: Don't remove temporary files before use

They will be clobbered by the redirect anyway.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-scripts: Superficial clean-ups to 10.interface
Martin Schwenke [Fri, 18 Dec 2015 02:16:27 +0000 (13:16 +1100)]
ctdb-scripts: Superficial clean-ups to 10.interface

Whitespace and indentation improvements.

Remove comments describing events, since the README covers that much
better.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-scripts: Clarify logic for success of interface monitoring
Martin Schwenke [Wed, 16 Dec 2015 08:18:49 +0000 (19:18 +1100)]
ctdb-scripts: Clarify logic for success of interface monitoring

The current code uses so many shell idioms that it is difficult to
follow.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-scripts: Fix regression in updateip code
Martin Schwenke [Fri, 18 Dec 2015 04:33:38 +0000 (15:33 +1100)]
ctdb-scripts: Fix regression in updateip code

Regression introduced in commit
6471541d6d2bc9f2af0ff92b280abbd1d933cf88.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-ipalloc: Fix a memory leak
Martin Schwenke [Tue, 1 Dec 2015 03:38:48 +0000 (14:38 +1100)]
ctdb-ipalloc: Fix a memory leak

Commit cfa0ffe78073f9e3a014bb127fb9a4b7ad95fceb introduced a memory
leak.  Never assume...

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-daemon: Don't leak memory if not using recovery lock
Martin Schwenke [Mon, 11 Jan 2016 02:41:30 +0000 (13:41 +1100)]
ctdb-daemon: Don't leak memory if not using recovery lock

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-recoverd: Fix some uninitialised memory issues
Martin Schwenke [Mon, 11 Jan 2016 06:23:12 +0000 (17:23 +1100)]
ctdb-recoverd: Fix some uninitialised memory issues

The first element of these structures is a 32-bit PNN.  On 64-bit
systems this field can be followed by 32-bits of padding.  When the
structures are copied this can cause uninitialised memory to be
copied.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-daemon: Drop the "schedule for deletion" messages to DEBUG level
Martin Schwenke [Thu, 17 Dec 2015 01:27:58 +0000 (12:27 +1100)]
ctdb-daemon: Drop the "schedule for deletion" messages to DEBUG level

Thousands of these can be generated each second, rendering INFO level
debugging useless.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb/web: Fix typo.
Karolin Seeger [Mon, 11 Jan 2016 10:43:49 +0000 (11:43 +0100)]
ctdb/web: Fix typo.

assinged -> assigned

Signed-off-by: Karolin Seeger <kseeger@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Mon Jan 11 21:40:36 CET 2016 on sn-devel-144

8 years agotalloc: Fix a documentation typo
Martin Schwenke [Mon, 11 Jan 2016 08:49:14 +0000 (19:49 +1100)]
talloc: Fix a documentation typo

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Jan 11 18:34:53 CET 2016 on sn-devel-144

8 years agonss_wrapper: bump version to 1.1.2
Michael Adam [Wed, 16 Dec 2015 16:47:04 +0000 (17:47 +0100)]
nss_wrapper: bump version to 1.1.2

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Mon Jan 11 15:30:49 CET 2016 on sn-devel-144

8 years agonwrap: Fix segfaults while reloading hosts file
Andreas Schneider [Thu, 17 Dec 2015 07:46:33 +0000 (08:46 +0100)]
nwrap: Fix segfaults while reloading hosts file

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Don't fail if we want to add an existing entry
Andreas Schneider [Tue, 24 Nov 2015 16:32:47 +0000 (17:32 +0100)]
nwrap: Don't fail if we want to add an existing entry

Pair-Programmed-With: Michael Adam <obnox@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Fix the build on Solaris
Andreas Schneider [Mon, 23 Nov 2015 07:33:02 +0000 (08:33 +0100)]
nwrap: Fix the build on Solaris

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Don't leak memory from gethostbyname*() functions
Andreas Schneider [Fri, 20 Nov 2015 08:38:16 +0000 (09:38 +0100)]
nwrap: Don't leak memory from gethostbyname*() functions

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Fix the build on FreeBSD
Andreas Schneider [Fri, 20 Nov 2015 07:51:49 +0000 (08:51 +0100)]
nwrap: Fix the build on FreeBSD

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: fix a copy and paste error in the destructor.
Michael Adam [Fri, 20 Nov 2015 08:01:01 +0000 (09:01 +0100)]
nwrap: fix a copy and paste error in the destructor.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: Cleanup shadow getspnam() memory
Andreas Schneider [Thu, 19 Nov 2015 08:02:46 +0000 (09:02 +0100)]
nwrap: Cleanup shadow getspnam() memory

Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
8 years agonwrap: fix leaking the entlists
Michael Adam [Thu, 19 Nov 2015 00:00:16 +0000 (01:00 +0100)]
nwrap: fix leaking the entlists

Track the list heads in a vector in the newrap_he_global
struct and free the structures upon nwrap_he_unload.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: catch error to add item to vector in nwrap_he_parse_line()
Michael Adam [Wed, 18 Nov 2015 23:34:54 +0000 (00:34 +0100)]
nwrap: catch error to add item to vector in nwrap_he_parse_line()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: rename nwrap_he.entdata to nwrap_he.entries
Michael Adam [Wed, 18 Nov 2015 23:30:17 +0000 (00:30 +0100)]
nwrap: rename nwrap_he.entdata to nwrap_he.entries

That's what is is the list of entries. In the guise
nwrap_entdata structures but the code reads more
naturally this way.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: remove unused member list from struct nwrap_he
Michael Adam [Wed, 18 Nov 2015 23:24:14 +0000 (00:24 +0100)]
nwrap: remove unused member list from struct nwrap_he

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: Small code shift in nwrap_ed_inventarize_add_to_existing()
Robin Hack [Mon, 16 Nov 2015 22:38:51 +0000 (23:38 +0100)]
nwrap: Small code shift in nwrap_ed_inventarize_add_to_existing()

Allocate memory only when necessary.

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: Cast max_hostents to avoid warnings
Andreas Schneider [Mon, 16 Nov 2015 09:19:27 +0000 (10:19 +0100)]
nwrap: Cast max_hostents to avoid warnings

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Fix initialization of e entry
Andreas Schneider [Mon, 16 Nov 2015 09:17:39 +0000 (10:17 +0100)]
nwrap: Fix initialization of e entry

This fixes a compiler warning.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: remove ai_tail argument from nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 09:20:37 +0000 (10:20 +0100)]
nwrap: remove ai_tail argument from nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: rewrite the loop for duplication ai entries if socktype not given
Michael Adam [Thu, 12 Nov 2015 10:35:07 +0000 (11:35 +0100)]
nwrap: rewrite the loop for duplication ai entries if socktype not given

This loop reads much more naturally now. It inserts the
duplicated entry right after the entrie that is being
duplicated. It does not need a ai_tail any more.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: add an explaining comment for the ai duplicating loop
Michael Adam [Thu, 12 Nov 2015 10:17:21 +0000 (11:17 +0100)]
nwrap: add an explaining comment for the ai duplicating loop

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: move setting of ai_{flags|socktype|protocol} into nwrap_convert_he_ai
Michael Adam [Thu, 12 Nov 2015 10:15:03 +0000 (11:15 +0100)]
nwrap: move setting of ai_{flags|socktype|protocol} into nwrap_convert_he_ai

This makes the code in nwrap_getaddrinfo() more readable
and also treats all ai stuctures in the linked list, not
just the first one!

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: use symbols IPPROTO_TCP and IPPROTO_UDP
Michael Adam [Thu, 12 Nov 2015 10:08:47 +0000 (11:08 +0100)]
nwrap: use symbols IPPROTO_TCP and IPPROTO_UDP

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: rename _ai -> ai_new in nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 08:47:59 +0000 (09:47 +0100)]
nwrap: rename _ai -> ai_new in nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: fix a memleak in nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 08:46:29 +0000 (09:46 +0100)]
nwrap: fix a memleak in nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: rename ai_prev -> ai_cur in nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 08:45:50 +0000 (09:45 +0100)]
nwrap: rename ai_prev -> ai_cur in nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: Fix inventarization of IPs when loading hosts
Michael Adam [Thu, 12 Nov 2015 07:34:39 +0000 (08:34 +0100)]
nwrap: Fix inventarization of IPs when loading hosts

Use nwrap_ed_inventarize() instead of nwrap_add_ai().

This not only removes code duplication, but also
more correctly adds more than one line for a given
IP address in a list behind this address.

The original code would only have inventarized
the first line for an IP found.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: refactor nwrap_add_hname_* into one nwrap_ed_inventarize.
Michael Adam [Thu, 12 Nov 2015 07:29:57 +0000 (08:29 +0100)]
nwrap: refactor nwrap_add_hname_* into one nwrap_ed_inventarize.

This reduces code duplication and abstracts the logic out.
It was not special to hname or hname_alias.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: treat AI_NUMERICHOST correctly in getaddrinfo.
Michael Adam [Sun, 8 Nov 2015 23:29:23 +0000 (00:29 +0100)]
nwrap: treat AI_NUMERICHOST correctly in getaddrinfo.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11477

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: fix treatment of EAI_ADDRINFO in nwrap_files_getaddrinfo
Michael Adam [Thu, 12 Nov 2015 07:16:18 +0000 (08:16 +0100)]
nwrap: fix treatment of EAI_ADDRINFO in nwrap_files_getaddrinfo

Checking whether the passed in name (node) is a valid IPv6 or IPv4
address, we can do the checking for these two error conditions
properly up front.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: correctly track EAI_ADDRINFO in nwrap_files_getaddrinfo
Michael Adam [Thu, 12 Nov 2015 07:01:57 +0000 (08:01 +0100)]
nwrap: correctly track EAI_ADDRINFO in nwrap_files_getaddrinfo

When looping through the entry list and remember the
EAI_ADDRINFO case, so that we can differentiate
the cases
- no entry found at all
- an entry found buy wrong address type

Adapt return codes accordingly.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: in nwrap_files_getaddrinfo, treat failure of nwrap_convert_he_ai as error
Michael Adam [Wed, 11 Nov 2015 12:04:15 +0000 (13:04 +0100)]
nwrap: in nwrap_files_getaddrinfo, treat failure of nwrap_convert_he_ai as error

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: convert nwrap_files_getaddrinfo() to return EAI error codes
Michael Adam [Wed, 11 Nov 2015 12:02:59 +0000 (13:02 +0100)]
nwrap: convert nwrap_files_getaddrinfo() to return EAI error codes

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: use the error code from nwrap_files_cache_reload() in callers
Michael Adam [Wed, 11 Nov 2015 11:47:15 +0000 (12:47 +0100)]
nwrap: use the error code from nwrap_files_cache_reload() in callers

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: turn nwrap_files_cache_reload() into a bool function
Michael Adam [Wed, 11 Nov 2015 11:33:12 +0000 (12:33 +0100)]
nwrap: turn nwrap_files_cache_reload() into a bool function

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: better error propagation in nwrap_he_parse_line()
Michael Adam [Wed, 11 Nov 2015 11:30:36 +0000 (12:30 +0100)]
nwrap: better error propagation in nwrap_he_parse_line()

Use the return codes of nwrap_add_hname() and nwrap_add_ai().

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: log NULL alias name at ERROR level in nwrap_add_hname()
Michael Adam [Wed, 11 Nov 2015 11:29:55 +0000 (12:29 +0100)]
nwrap: log NULL alias name at ERROR level in nwrap_add_hname()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: better error propagation in nwrap_add_hname()
Michael Adam [Wed, 11 Nov 2015 11:28:58 +0000 (12:28 +0100)]
nwrap: better error propagation in nwrap_add_hname()

Use return codes from called functions.
Remove now unneeded asserts.
Make failure to add an entry for an alias an error.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: better error propagation in nwrap_add_hname_alias
Michael Adam [Wed, 11 Nov 2015 11:27:33 +0000 (12:27 +0100)]
nwrap: better error propagation in nwrap_add_hname_alias

use return codes from the called function.
Remove asserts becaus the cases are caught
by the called functions.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: catch NULL list in nwrap_add_hname_add_to_existing
Michael Adam [Wed, 11 Nov 2015 11:26:02 +0000 (12:26 +0100)]
nwrap: catch NULL list in nwrap_add_hname_add_to_existing

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: catch null h_name in nwrap_add_hname_add_new
Michael Adam [Wed, 11 Nov 2015 11:25:30 +0000 (12:25 +0100)]
nwrap: catch null h_name in nwrap_add_hname_add_new

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: catch NULL ip in nwrap_add_ai
Michael Adam [Wed, 11 Nov 2015 11:24:53 +0000 (12:24 +0100)]
nwrap: catch NULL ip in nwrap_add_ai

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: turn nwrap_add_hname_add_to_existing() into bool
Michael Adam [Wed, 11 Nov 2015 10:56:59 +0000 (11:56 +0100)]
nwrap: turn nwrap_add_hname_add_to_existing() into bool

for better error propagation.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: simplify nwrap_file_getaddrinfo: remove a variable
Michael Adam [Wed, 11 Nov 2015 09:38:31 +0000 (10:38 +0100)]
nwrap: simplify nwrap_file_getaddrinfo: remove a variable

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: simplify nwrap_files_gethostbyname: remove a variable
Michael Adam [Wed, 11 Nov 2015 09:36:07 +0000 (10:36 +0100)]
nwrap: simplify nwrap_files_gethostbyname: remove a variable

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: log hash table full message at error level
Michael Adam [Wed, 11 Nov 2015 10:30:13 +0000 (11:30 +0100)]
nwrap: log hash table full message at error level

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: rewrite linked-list datastructures to be properly separated.
Michael Adam [Wed, 11 Nov 2015 09:27:50 +0000 (10:27 +0100)]
nwrap: rewrite linked-list datastructures to be properly separated.

The data structures were wrong:

- The nwrap_entdata structures reflects one line of the hosts
  file, with ip, fqdn and aliases.
  But they also had a linked list structure.

- Now the hash table was used to point each
  ip address, fqdn and alias name occurring in the hosts
  file to the list of lines (entdata structs) that contain
  this name/address.

The problem was that these list heads were pointing to the same
entdata structures, while the list should actually be individual
for each entity (ip, fqdn, alias). This lead to wrong assiciations
of lines to IP addresse and also endless loops in the list, when
one line was put into one list twice starting from two different
points.

This patch fixes this by lifting the linked list structure to
a layer nwrap_entlist above nwrap_entdata. The entlist
entries just contain pointers to the entdata, and hence
each line can be referenced independetly by several lists.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: remove superfluous comments from nwrap_add_hname()
Michael Adam [Wed, 11 Nov 2015 09:21:30 +0000 (10:21 +0100)]
nwrap: remove superfluous comments from nwrap_add_hname()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: remove superfluous comments from nwrap_add_hname_alias()
Michael Adam [Wed, 11 Nov 2015 09:21:10 +0000 (10:21 +0100)]
nwrap: remove superfluous comments from nwrap_add_hname_alias()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: remove a superfluous comment from nwrap_add_hname_add_new()
Michael Adam [Tue, 10 Nov 2015 11:32:20 +0000 (12:32 +0100)]
nwrap: remove a superfluous comment from nwrap_add_hname_add_new()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: move var into scope in nwrap_add_hname()
Michael Adam [Mon, 9 Nov 2015 16:41:43 +0000 (17:41 +0100)]
nwrap: move var into scope in nwrap_add_hname()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: simplify nwrap_add_hname
Michael Adam [Mon, 9 Nov 2015 16:36:37 +0000 (17:36 +0100)]
nwrap: simplify nwrap_add_hname

This is never given an alias name, so remove
the h_name_a argument.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: simplify nwrap_add_hname_alias
Michael Adam [Mon, 9 Nov 2015 16:36:07 +0000 (17:36 +0100)]
nwrap: simplify nwrap_add_hname_alias

This always uses the provided h_name_a alias name.
No need to fall back to the fqdn name from the entry.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: initialize some variables in nwrap_files_getaddrinfo
Michael Adam [Mon, 9 Nov 2015 16:35:29 +0000 (17:35 +0100)]
nwrap: initialize some variables in nwrap_files_getaddrinfo

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: slightly clean flow by removing an else branch in nwrap_getaddrinfo
Michael Adam [Sun, 8 Nov 2015 23:55:00 +0000 (00:55 +0100)]
nwrap: slightly clean flow by removing an else branch in nwrap_getaddrinfo

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: in nwrap_getaddrinfo, only call libc_getaddrinfo if we need it.
Michael Adam [Fri, 6 Nov 2015 10:43:04 +0000 (11:43 +0100)]
nwrap: in nwrap_getaddrinfo, only call libc_getaddrinfo if we need it.

Instead of calling libc_getaddrinfo on spec and throwing
away the result when we are certain that we don't need it,
call libc only if we really need it.

This fixes another memleak for the libc result.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: slightly simplify logic in nwrap_getaddrinfo()
Michael Adam [Fri, 6 Nov 2015 10:52:08 +0000 (11:52 +0100)]
nwrap: slightly simplify logic in nwrap_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: simplify logic in nwrap_getaddrinfo, calling nwrap_files_getaddrinfo
Michael Adam [Fri, 6 Nov 2015 10:48:40 +0000 (11:48 +0100)]
nwrap: simplify logic in nwrap_getaddrinfo, calling nwrap_files_getaddrinfo

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: improve code readability in nwrap_getaddrinfo()
Michael Adam [Fri, 6 Nov 2015 10:31:09 +0000 (11:31 +0100)]
nwrap: improve code readability in nwrap_getaddrinfo()

Untangle a (a ? b : c) statement and add an explanatory
comment, since the intention is not immediately obvious.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: remove code duplication in nwrap_getaddrinfo
Michael Adam [Fri, 6 Nov 2015 10:28:35 +0000 (11:28 +0100)]
nwrap: remove code duplication in nwrap_getaddrinfo

The three formerly distinct cases now are all the same.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: fix return code for getaddrinfo in case service is not valid
Michael Adam [Fri, 6 Nov 2015 10:00:54 +0000 (11:00 +0100)]
nwrap: fix return code for getaddrinfo in case service is not valid

If the specified service is not a valid service name (or port number),
EAI_NONAME should be returned.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: fix return code of getaddrinfo for AI_NUMERICSERV in error case
Michael Adam [Fri, 6 Nov 2015 09:45:15 +0000 (10:45 +0100)]
nwrap: fix return code of getaddrinfo for AI_NUMERICSERV in error case

If the AI_NUMERICSERV flag is specified, the the port number
has to specified as a string representing a decimal number
or left NULL.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: fix numeric port detection in nwrap_getaddrinfo
Michael Adam [Fri, 6 Nov 2015 09:22:10 +0000 (10:22 +0100)]
nwrap: fix numeric port detection in nwrap_getaddrinfo

Only a string that can be converted to a number, is
allowed as a numeric port specification. Trailing
characters are not allowed.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: Better check service string sanity.
Robin Hack [Tue, 13 Oct 2015 12:41:14 +0000 (14:41 +0200)]
nwrap: Better check service string sanity.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11501

Patch use strtol() instead of atoi() to convert strings to numbers.
This helps better check sanity of service input string.

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Fix memory leak in nwrap_gethostbyname_r()
Robin Hack [Mon, 12 Oct 2015 08:36:04 +0000 (10:36 +0200)]
nwrap: Fix memory leak in nwrap_gethostbyname_r()

Fix reimplements how memory is used.
Results from vector are copied to user provided buf.

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 years agonwrap: Fix memory leak in nwrap_files_gethostbyname()
Robin Hack [Thu, 8 Oct 2015 13:27:47 +0000 (15:27 +0200)]
nwrap: Fix memory leak in nwrap_files_gethostbyname()

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Fix memory leak in nwrap_he_unload()
Robin Hack [Thu, 8 Oct 2015 13:00:33 +0000 (15:00 +0200)]
nwrap: Fix memory leak in nwrap_he_unload()

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Rename cont to vector in nwrap_vector_add_item()
Robin Hack [Thu, 8 Oct 2015 12:09:11 +0000 (14:09 +0200)]
nwrap: Rename cont to vector in nwrap_vector_add_item()

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agonwrap: Fix memory leak inside nwrap_getaddrinfo()
Robin Hack [Thu, 8 Oct 2015 12:02:56 +0000 (14:02 +0200)]
nwrap: Fix memory leak inside nwrap_getaddrinfo()

Memory leak was introduced by deep copy code.
Item ai_tmp->ai_addr should not have deep copy.

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>