1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

42 Commits

Author SHA1 Message Date
Jeremy Allison
52dc5eaef2 Remove the char[1024] strings from dynconfig. Replace
them with malloc'ing accessor functions. Should save a
lot of static space :-).
Jeremy.
2007-12-10 11:30:37 -08:00
Jeremy Allison
35aaa36f82 Remove more static data from lib/util_sock.c and
callers.
Jeremy.
2007-11-03 22:34:46 -07:00
Jeremy Allison
98e154c312 This is a large patch (sorry). Migrate from struct in_addr
to struct sockaddr_storage in most places that matter (ie.
not the nmbd and NetBIOS lookups). This passes make test
on an IPv4 box, but I'll have to do more work/testing on
IPv6 enabled boxes. This should now give us a framework
for testing and finishing the IPv6 migration. It's at
the state where someone with a working IPv6 setup should
(theorecically) be able to type :
smbclient //ipv6-address/share
and have it work.
Jeremy.
2007-10-24 14:16:54 -07:00
Jeremy Allison
f35a266b3c RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
2007-10-18 17:40:25 -07:00
Jeremy Allison
3f6bd0e1ec Add start of IPv6 implementation. Currently most of this is avoiding
IPv6 in winbindd, but moves most of the socket functions that were
wrongly in lib/util.c into lib/util_sock.c and provides generic
IPv4/6 independent versions of most things. Still lots of work
to do, but now I can see how I'll fix the access check code.
Nasty part that remains is the name resolution code which is
used to returning arrays of in_addr structs.
Jeremy.
2007-10-10 18:25:16 -07:00
Jeremy Allison
6a237600b8 r25022: Fix coverity #395. Resource leak on error.
Jeremy.
2007-10-10 12:30:35 -05:00
Günther Deschner
8300aac494 r24737: Remove older TODO: Convert internal_resolve_name() and friends to NTSTATUS.
Guenther
2007-10-10 12:30:16 -05:00
Andrew Tridgell
b0132e94fc r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:22 -05:00
Jeremy Allison
407e6e695b r23779: Change from v2 or later to v3 or later.
Jeremy.
2007-10-10 12:28:20 -05:00
Herb Lewis
41be182f78 r20269: merge -r20264:20267 from SAMBA_3_0_24
more no previous prototype warnings
2007-10-10 12:16:38 -05:00
Günther Deschner
d73d0ec3d0 r17102: Fix segfault in libnss_wins [bugzilla #3937].
Guenther
2007-10-10 11:38:12 -05:00
Derrell Lipman
f2a24de769 r13212: r12414@cabra: derrell | 2006-01-28 17:52:17 -0500
lp_load() could not be called multiple times to modify parameter settings based
 on reading from multiple configuration settings.  Each time, it initialized all
 of the settings back to their defaults before reading the specified
 configuration file.

 This patch adds a parameter to lp_load() specifying whether the settings should
 be initialized.  It does, however, still force the settings to be initialized
 the first time, even if the request was to not initialize them.  (Not doing so
 could wreak havoc due to uninitialized values.)
2007-10-10 11:06:18 -05:00
Tim Potter
985dbb47d9 r8572: Remove crufty #define NO_SYSLOG as it's not used at all anymore. 2007-10-10 11:00:11 -05:00
Jeremy Allison
9506b8e145 r7882: Looks like a large patch - but what it actually does is make Samba
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
2007-10-10 10:58:00 -05:00
Jeremy Allison
620f2e608f r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
2007-10-10 10:53:32 -05:00
Andrew Bartlett
35aabae9d9 r1583: Patch by Fabien Chevalier <fabien.chevalier@supelec.fr>
We may not have any interfaces up at all, so initialise the return variable.

Fixes Debian bug #252591

Andrew Bartlett
2007-10-10 10:52:15 -05:00
Gerald Carter
d96929b5b1 r376: BUG 1288: resolve any machine netbios name (0x00) and not just servers (0x20) 2007-10-10 10:51:20 -05:00
Richard Sharpe
bf9f02be5f r248: Add support for printing out the MAC address on nmblookup. 2007-10-10 10:51:16 -05:00
Jelmer Vernooij
65b01f67d5 Use StrCaseCmp, not strcasecmp. Should fix winbind build on IRIX -
Gerald Carter
9c70e4b44e fixed bad formal parameter type in get_static(); patch Andy Polyakov -
Tim Potter
7907c44414 Fix for bug #299.
There was some confusion over dynamically allocated lists of pointers
(i.e you have to make space for the list of pointers and what they are
pointing too) in the memory buffer passed in from libc.

Valgrind is much happer now and as a bonus there is no segfault.
-
Tim Potter
a3b4c57503 Move a function to avoid a warning. -
Gerald Carter
d7f7fcda42 large change:
*)  consolidates the dc location routines again (dns
    and netbios)  get_dc_list() or get_sorted_dc_list()
    is the authoritative means of locating DC's again.

    (also inludes a flag to get_dc_list() to define
     if this should be a DNS only lookup or not)

    (however, if you set "name resolve order = hosts wins"
     you could still get DNS queries for domain name IFF
     ldap_domain2hostlist() fails.  The answer?  Fix your DNS
     setup)

*)  enabled DOMAIN<0x1c> lookups to be funneled through
    resolve_hosts resulting in a call to ldap_domain2hostlist()
    if lp_security() == SEC_ADS

*)  enables name cache for winbind ADS backend

*)  enable the negative connection cache for winbind
    ADS backend

*)  removes some old dead code

*)  consolidates some duplicate code

*)  moves the internal_name_resolve() to use an IP/port pair
    to deal with SRV RR dns replies.  The namecache code
    also supports the IP:port syntax now as well.

*)  removes 'ads server' and moves the functionality back
    into 'password server' (which can support "hostname:port"
    syntax now but works fine with defaults depending on
    the value of lp_security())
-
Tim Potter
eec1758e04 Fix some compiler warnings. -
Andrew Tridgell
03ac082dcb updated the 3.0 branch from the head branch - ready for alpha18 -
Tim Potter
6a58c9bd06 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
-
Herb Lewis
20c5f042e3 merge IRIX winbind support from Samba 2.2 branch -
Herb Lewis
564bfd7728 allow IRIX to build nsswitch/libnss_wins.so -
Tim Potter
778f5f77a6 Got medieval on another pointless extern. Removed extern struct ipzero
and replaced with two functions:

	void zero_ip(struct in_adder *ip);
	BOOL is_zero_ip(struct in_addr ip);
-
Tim Potter
8fc772c9e5 Removed TimeInit() call from every client program (except for one place
in smbd/process.c where the timezone is reinitialised.  Was replaced with
check for a static is_initialised boolean.
-
Martin Pool
79ec88f0da Store some path names in global variables initialized to configure
default, rather than in preprocessor macros.
-
Tim Potter
2d0922b0ea Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header. -
Simo Sorce
03dc67788f move to SAFE_FREE() -
Andrew Tridgell
debb471267 The big character set handling changeover!
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
-
Jeremy Allison
86557d6336 Zero-fill struct hostent.
Jeremy.
-
Jeremy Allison
c38a465bef Fixed glibc crash problems with libnss_wins.so
Jeremy.
-
Christopher R. Hertel
56be7c2a49 Converted to call lib/wins_srv.c:wins_srv_ip() instead of lp_wins_server()
when looking up the WINS server address.

Please *don't* use lp_wins_server() any more!

The wins_srv_ip() function has the following features:

- If the WINS server was entered as a DNS name then the translation to an
  IP address will already have taken place.  We used to do this every time
  a call to the WINS server was made.  Ick.

- The return value of wins_srv_ip() is a struct in_addr.  Ready to go.

- When WINS failover is fully implemented, you'll be able to enter a colon-
  separated list of WINS servers via the WINS SERVER parameter.  Using
  lp_wins_server() directly will fail if this syntax is used.

Chris -)-----
-
John Terpstra
3fb2e94c44 Fixes to allow wins.c to compile to allow building of libnss_wins.so. -
Christopher R. Hertel
73aa188320 Instead of handing back a string (which might be a DNS name or an IP
string), the wins_srv module now hands back a struct in_addr when it's
called.  It caches the IP address once it has been looked up.  The IP
is cleared (and must be looked up again) if the 'wins server' parameter
is reread, or if the node is marked 'dead'.  A dead node will not be
re-tried for 10 minutes (per a #define in wins_srv.c).

As it was, the code was reading the WINS server name or IP directly from
lp_wins_server.  That's okay, except that if the value was expressed as
a name, then a DNS lookup would be done every time the client wanted to
talk to the server.

I still need to work out the implications of failover regarding the
'unicast subnet' list.

Chris -)-----
-
Christopher R. Hertel
cc08bdc74f First cut toward adding WINS server failover.
*Note: failover doesn't actually work yet!*  It's just that the code I'm
adding provides all of the pieces necessary.

I do have one big question.  Something that I'll have to ask Jeremy, I'm
thinkin'.  In nmbd/nmbd_subnetdb.c the IP of the WINS server is used to
set up the Unicast subnet.

...so what happens if the WINS server changes?

My guess is either:
  a) nothing.
  b) I'd have to change the unicast subnet entry whenever the WINS server
     changes.

Urq.

BTW, the lp_wins_server() function no longer returns the WINS server name
or IP.  It returns the list of WINS servers entered in smb.conf.  To get
the currently 'live' WINS server, use the wins_srv() function.

Fun, eh?

Chris -)-----
-
Andrew Tridgell
c78deb1d22 remove scope parameter here too -
Andrew Tridgell
4058eb5bff added basic nsswitch support - this allows you to use a "wins" entry
in a /etc/nsswitch.conf hosts line.

Only tested on RH6.1, but should work on a broad range of Linux
distributions. It could probably be made to work with Solaris pretty
easily.

It does not build by default. Build it with "make nsswitch"
-