1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-29 04:49:44 +03:00

11 Commits

Author SHA1 Message Date
Andrew Tridgell
9dc94f8ab8 r7052: added a case insensitive str_list_check_ci() version of str_list_check()
(This used to be commit 5654330b6100a7291cee3631815cfb898100cf23)
2007-10-10 13:17:09 -05:00
Andrew Tridgell
4d980e56c4 r5401: using talloc_array() is neater here
(This used to be commit b35ee83536e01c000aace2f4764f6727efd63170)
2007-10-10 13:10:42 -05:00
Andrew Tridgell
352de700ca r5392: added "secure" WINS server processing. Send a WACK on name
registrations from anyone who isn't a current owner, then query the
owner addresses to see if they still want it.
(This used to be commit 8dc2a028d3ca0115d3173df435d926d7b6a4d5d5)
2007-10-10 13:09:50 -05:00
Andrew Tridgell
f6f70999ca r5274: fixed some const warnings by making the str_list_ functions return "const char **"
(This used to be commit 4165f2163530c7d2ffbea2922fbfe942eee85e7a)
2007-10-10 13:09:35 -05:00
Andrew Tridgell
db4ba6e690 r5221: replace the str_list_*() code with new code based on talloc(). This is
a precursor to adding the wins client code in the nbt server.
(This used to be commit e8e499755ab667015740b35a7787134ebe852954)
2007-10-10 13:09:32 -05:00
Andrew Tridgell
414f6c80b2 r5114: the nbtd task can now act as a basic B-node server. It registers its
names on the network and answers name queries. Lots of details are
still missing, but at least this now means you don't need a Samba3
nmbd to use Samba4.

missing pieces include:

 - name registrations should be "shout 3 times, then demand"

 - no WINS server yet

 - no master browser code
(This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
2007-10-10 13:09:23 -05:00
Andrew Tridgell
e5ce904ddb r4054: got rid of Realloc(), replacing it with the type safe macro realloc_p()
(This used to be commit b0f6e21481745d1b2ced28d9ed6f09f6ffd99562)
2007-10-10 13:06:19 -05:00
Andrew Tridgell
6bd02aa504 r3478: split out some more pieces of includes.h
(This used to be commit 8e9212ecfc61c509f686363d8ec412ce54bc1c8d)
2007-10-10 13:05:20 -05:00
Andrew Tridgell
5011f901aa r3457: s_addr is a macro on solaris, so we can't use it in structure names. arrgh.
(This used to be commit 7842b23d01c53009259a2461600bd01159cecebf)
2007-10-10 13:05:15 -05:00
Andrew Tridgell
284349482f r3443: the next stage in the include files re-organisation.
I have created the include/system/ directory, which will contain the
wrappers for the system includes for logical subsystems. So far I have
created include/system/kerberos.h and include/system/network.h, which
contain all the system includes for kerberos code and networking code.
These are the included in subsystems that need kerberos or networking
respectively.

Note that this method avoids the mess of #ifdef HAVE_XXX_H in every C
file, instead each C module includes the include/system/XXX.h file for
the logical system support it needs, and the details are kept isolated
in include/system/

This patch also creates a "struct ipv4_addr" which replaces "struct
in_addr" in our code. That avoids every C file needing to import all
the system networking headers.
(This used to be commit 2e25c71853f8996f73755277e448e7d670810349)
2007-10-10 13:05:11 -05:00
Andrew Tridgell
7d32679e96 r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots of associated functions.
The motivation for this change was to avoid having to convert to/from
ucs2 strings for so many operations. Doing that was slow, used many
static buffers, and was also incorrect as it didn't cope properly with
unicode codepoints above 65536 (which could not be represented
correctly as smb_ucs2_t chars)

The two core functions that allowed this change are next_codepoint()
and push_codepoint(). These functions allow you to correctly walk a
arbitrary multi-byte string a character at a time without converting
the whole string to ucs2.

While doing this cleanup I also fixed several ucs2 string handling
bugs. See the commit for details.

The following code (which counts the number of occuraces of 'c' in a
string) shows how to use the new interface:

size_t count_chars(const char *s, char c)
{
	size_t count = 0;

	while (*s) {
		size_t size;
		codepoint_t c2 = next_codepoint(s, &size);
		if (c2 == c) count++;
		s += size;
	}

	return count;
}
(This used to be commit 814881f0e50019196b3aa9fbe4aeadbb98172040)
2007-10-10 12:59:39 -05:00