1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-21 18:04:06 +03:00

1529 Commits

Author SHA1 Message Date
Jim McDonough
e542eedd18 use strnlen to prevent coredumps
(This used to be commit 1960a650c1546323708ed6bea615dc7215a97b4f)
2003-03-19 20:50:43 +00:00
Jelmer Vernooij
47ea3a2bf2 Put in the new modules system. It's now used by passdb and rpc. I will
put a doc about it in dev-doc later today.
(This used to be commit af7bfee0c6902c07fdb8d3abccf4c8d6bab00b5a)
2003-03-19 18:45:19 +00:00
Martin Pool
743d429d9b Step one of optimizations for StrCaseCmp:
First of all, do a char-by-char walk through both buffers until we get
to a non-ascii character, or a difference between the strings.  This
prefix can be directly compared without needing to call into iconv.
This should be much faster for strings that are either all ascii, or
differ near the start.
(This used to be commit f7f692b2db4dd513068d6d8fed2792186933ddda)
2003-03-18 07:31:49 +00:00
Martin Pool
a084f06fe3 Split "clobber" function and variables into its own file before it
grows too much larger.
(This used to be commit 4bbddbfc6a97ebb11e299aa7bd07ebebeab42c65)
2003-03-18 07:09:23 +00:00
Martin Pool
556fea4e1e Update comment: Valgrind 1.9.4 seems to always respect client
requests, without needing --client-perms=yes.
(This used to be commit 412a8780c35ee9449c9682e3ef73afb2c4933285)
2003-03-18 05:30:15 +00:00
Martin Pool
eb83748940 global_globber_region_function/line ought to be recorded before
clobbering the region, just in case clobbering causes us to crash
immediately.  (That might happen if we just shot ourselves in the
stack and strcpy was not inlined.)

Also, in DEVELOPER mode and when Valgrind is available, mark the
clobbered region as uninitialized.  This is an even stronger
protection than clobbering with 0xf1.
(This used to be commit 5653a42ae695f4b8f4c14d3184ca76523d38b51b)
2003-03-18 05:00:02 +00:00
Andrew Bartlett
400bb4bfab - Make ReadDirName return a const char*.
- Consequential changes from that

 - mark our fstring/pstring assumptions in function prototypes

Andrew Bartlett
(This used to be commit fe2bc64bc439b27387b8f326b0f4f3bfcc3d04a1)
2003-03-16 13:21:12 +00:00
Andrew Bartlett
f1d333ea35 Remove an unused function and fix the build.
Andrew Bartlett
(This used to be commit 67a0319d268dfc0e2154d3ab0f8bf866e3cbb6db)
2003-03-15 08:03:11 +00:00
Andrew Bartlett
3b5bc93e9d String handling parinoia fixes.
This patch enables the compile-time checking of strings assable by means of
sizeof().  (Original code had the configure check reversed).

This is extended to all safe_strcpy() users, push_string and pull_string,
as well as the cli and srv derivitives.  There is an attempt to cap strings
at the end of the cli buffer, and clobber_region() of the speified length
(when not -1 :-).

Becouse of the way they are declared, the 'overmalloc a string' users of
safe_strcpy() have been changed to use overmalloc_safe_strcpy() (which skips
some of the checks).

This whole ball of mud worked fine, until I pulled out my 'fix' for our
statcache.  When jeremy fixes that, we should be able to get back to testing
this stuff.

This patch also includes a 'marker' of the last caller to clobber_region (ie,
the function that called pstrcpy() that called clobber_region) to assist in
debugging problems that may have smashed the stack.  This is printed at
smb_panic() time.  (Original idea and patch by metze).

It also removes some unsused functions, and #if 0's some others that are
unused but probably should be used in the near future.

For now, this patch gives us some confidence on one class of trivial parsing
error in our code.

Andrew Bartlett
(This used to be commit 31f4827acc2a2f00399a5528fc83a0dae5cebaf4)
2003-03-15 07:14:55 +00:00
Gerald Carter
7ae555c43c fix WinXP & Win2K3 remote_arch and check pointer in ntlmssp code before dereferencing
(This used to be commit 2487480228b99183cab9e34ab497997e0c144ed6)
2003-03-14 23:11:19 +00:00
Gerald Carter
c992f66d73 adding some initiaial code to sert %a to Win2K3 (using Native LanMan string from .NET RC2)
(This used to be commit 4c823e61d14a33344deb887043b60b2e3c83416f)
2003-03-12 15:40:43 +00:00
Andrew Bartlett
f4a8417d6f Add const
(This used to be commit 147a0c8b13d20e06c557fb817a36fddf9a920d65)
2003-03-12 11:00:02 +00:00
Andrew Bartlett
3b580ff000 This patch attemptes to clean up winbindd's mutex locking.
The current locking scheme in winbind is a complete mess - indeed, the
next step should be to push the locking into cli_full_connection(), but
I'll leave it for now.

This patch works on the noted behaviour that 2 parts of the connection
process need protection - and independent protection.  Tim Potter did
some work on this a little while back, verifying the second case.

The two cases are:
 - between connect() and first session setup
 - during the auth2 phase of the netlogon pipe setup.

I've removed the counter on the lock, as I fail to see what it gains us.

This patch also adds 'anonymous fallback' to our winbindd -> DC connection.

If the authenticated connection fails (wbinfo -A specifed) - say that
account isn't trusted by a trusted DC - then we try an anonymous.

Both tpot and mbp like the patch.

Andrew Bartlett
(This used to be commit 0620320002082298a15cbba72bd79aecfc607947)
2003-03-11 11:28:59 +00:00
Martin Pool
2e01ef5957 Remove valgrind_strlen function, hopefully no longer needed with
recent Valgrind relases and clashing with -DVALGRIND.
(This used to be commit 98479f1315cf8968152e1566966ac57e171008c3)
2003-03-11 07:25:48 +00:00
Martin Pool
de6b39d898 Clobber strings with 0xf1f1f1f1 before writing to them to check buffer
lengths are correct.  Attempts to pstrcpy into an fstring or allocated
string should fail in developer builds.

This builds on abartlet's earlier overflow probe for safe_strcpy, but
by clobbering the whole string with a nonzero value is more likely to
find overflows on the stack.

This is only used in -DDEVELOPER mode.

Reviewed by abartlet, tpot.
(This used to be commit 8d915e266cd8ccc8b27e9c7ea8e9d003d05f8182)
2003-03-10 01:10:45 +00:00
Andrew Bartlett
8ccff3e995 This is C, not C++
(This used to be commit 25d210b90b6c0377046d89a1dce7a32f94fd7859)
2003-03-08 23:39:44 +00:00
Andrew Bartlett
01289b14a7 Make sure that the 'remote' machine name can only be set once. For some weird
reason, during a Win2003 installation, when you select 'domain join' it sends
one machine name in the name exchange, and litraly 'machinename' during the
NTLMSSP login.

Also fix up winbindd's logfile handling, so that it matches smbd and nmbd.

(This helps me, by seperating the logs by pid).

Andrew Bartlett
(This used to be commit afe5a3832f79131fb74461577f1db0e5e8bf4b6d)
2003-03-08 10:22:50 +00:00
Simo Sorce
8a751c019c Some progress towards gums and tdbsam2
genparser works fine, and it is a marvelous tool to store objects in tdb :)
(This used to be commit 4c6d461a8572f03cd33cba95500cc837638b732c)
2003-03-07 18:26:24 +00:00
Jeremy Allison
f434f039e6 dlsym takes a const char *.
Jeremy.
(This used to be commit ff3827a62b37342b13fd8b4eafd256d91428c02b)
2003-03-03 19:53:04 +00:00
Martin Pool
e443560789 Doxygen janitor: add note that strequal is in fact case-insensitive.
(This used to be commit a4b9c5c2576c80a5f60d47d178b9b8c50d348893)
2003-02-28 05:34:19 +00:00
Martin Pool
481b4e6d6c Doxygen janitor
(This used to be commit 9af07173152c5e861d13b33a8d4aee8167a50b66)
2003-02-28 04:21:55 +00:00
Martin Pool
f5f59e866e Doxygen janitor: fix parameter names, grammar, tag names.
(This used to be commit 42d9ec28cd55dbcfda546c84fb842938aeda544d)
2003-02-28 04:17:30 +00:00
Martin Pool
921e569ed5 Add a comment about the meaning of samba's internal character set and
how this interacts with it.
(This used to be commit eb876ee9cf24eda04e0856899b232d060c669c0c)
2003-02-28 03:51:25 +00:00
Gerald Carter
97e7d2ffae additional fix for CR 601
* distinguish WinXP from Win2k
  * add a 1/3 of a second delay in OpenPrinter
    in order to trigger a LAN/WAN optimization in
    2k clients.
(This used to be commit 96570699d1b715f47c35aa211da6ec18f6fc4109)
2003-02-27 21:21:02 +00:00
Martin Pool
5c82d3f00a Doxygen janitor
(This used to be commit 67bf36c69d19463c28066b276d74ac4784b26bed)
2003-02-27 05:53:25 +00:00
Jelmer Vernooij
d21b15ff57 - Rename 'modules = ' to 'preload modules = '
- Add smb_probe_module()
- Add init_modules()
- Call these functions
(This used to be commit f8f21653225792c0001d183c6efe8b7d89a0785d)
2003-02-27 01:54:41 +00:00
Martin Pool
f7bb698298 init_valid_table: Fix a memory leak that would lose the
dynamically-created valid table every time the configuration was
reloaded.
(This used to be commit e42b237d980461caf2dd2a8f82c17bf674facb7d)
2003-02-26 06:19:16 +00:00
Andrew Bartlett
426cd68f74 Move off-by-one buggy malloc()/safe_strcpy() combination to strdup() instead.
Andrew Bartlett
(This used to be commit c26881633d8a7f6d9b9ed9c6a97ce2b45bf2b317)
2003-02-24 11:23:15 +00:00
Martin Pool
5b5453e6c7 Merge documentation from 3_0.
(This used to be commit 5002555a9719987ccdc887ffff64ea8d02c9881d)
2003-02-24 04:42:24 +00:00
Andrew Bartlett
ded88da1ea Add const
(This used to be commit ffaa608be01d72075942ca3aff2325c6364e0556)
2003-02-24 02:11:32 +00:00
Andrew Bartlett
e68684aa65 Fix 2 off-by-one bugs in the use of malloc()ed strings and safe_strcpy().
safe_strcpy() isn't particularly safe (this has been noted before) as it does
not take the size of the buffer, but instead the size of the buffer *minus 1*

The locking.c fix was causing segfaults on machines running with
--enable-developer, and was tracked down thanks to the fact that vance's build
farm machine runs with such an option, and smbtorture's DIR1 test hits this
bug very well.

(The --enable-developer code writes to the last byte of the string, to check
for incorrect use of safe_strcpy()).

Andrew Bartlett
(This used to be commit e908fd164d1b11b6f76a6fdffb22e139813cb3c0)
2003-02-24 01:13:31 +00:00
Simo Sorce
bfc5f0ba8e move genparser to use talloc contexts instead of [m|c|re]alloc() and free()s
(This used to be commit 70fce680c01fa1baa65fb3cbc83dfaf822fdadd7)
2003-02-23 17:40:43 +00:00
Andrew Bartlett
7e110f782a More signed/unsigned fixes (yes, I run with funny compiler options) and
make x_fwrite() match fwrite() in returning a size_t.

Andrew Bartlett
(This used to be commit 2943c695787b742e9a96b2eefe2d75f681bacf7c)
2003-02-22 12:22:06 +00:00
Martin Pool
1fc2976e14 Doxygen janitor
(This used to be commit 367997562998adb3f80602596c770d9ac319065b)
2003-02-21 03:05:55 +00:00
Jelmer Vernooij
8d8a8c9633 Make init_module() and thus smb_load_module() return an int.
modules/developer.c: init_module() should return an int
(This used to be commit 7f59703550378ff2333e3c851bf1a77037510abd)
2003-02-20 22:26:28 +00:00
Andrew Bartlett
1f1125577c Move to a in-memory ccache for winbind, and replace setenv() properly.
(According to the manpages, you cannot put a stack variable into putenv()).

Yes, this leaks memory.

Andrew Bartlett
(This used to be commit 50bced1e26434ecc7474964062746e2831e5f433)
2003-02-19 11:33:35 +00:00
Jim McDonough
a0913929ef base64_decode() with heimdal libs, so I've renamed it base64_decode_inplace().
(This used to be commit 8c69212eeb4a0ec144b960d76319fd4940b8c239)
2003-02-19 00:27:38 +00:00
Jeremy Allison
fb8d1412e1 Ensure we use getgrnam() unless BROKEN_GETGRNAM is defined. I now need
to set this for Tru64.
Jeremy.
(This used to be commit e7c4616c45ea5ec7c04022d6cca49ac70adde121)
2003-02-18 04:49:31 +00:00
Martin Pool
097bf66f71 Remove obsolete comment.
(This used to be commit e22465749dc7c2acd2441a897df592616fc275da)
2003-02-18 02:01:38 +00:00
Martin Pool
54a09519a4 Doxygen janitor and some doc typo fixes.
(This used to be commit 82414706e6659c1638936d9b9afdb9329109f58f)
2003-02-18 00:52:42 +00:00
Martin Pool
5a35b2138e Doxygen janitor. No other changes.
(This used to be commit fa38e7956c21b828ba208282ef0ac85c2b66ff22)
2003-02-18 00:41:13 +00:00
Martin Pool
789780275c Add comment explaining the -DDEVELOPER safe_strcpy overflow hack.
(This used to be commit 90e1d8bdfa9ec0a4f3795d9a89db1d2324447b68)
2003-02-17 23:33:55 +00:00
Andrew Bartlett
bc8c03b662 This is a very nice way to detect pstrcpy() into a malloc()ed string, but
it really is a developer hack...

Andrew Bartlett
(This used to be commit 3588ebb35b14422141d4070413185195b525038e)
2003-02-17 12:33:24 +00:00
Andrew Bartlett
cc0202884b This patch fixes one of my longest-standing pet hates with Samba :-).
When we look see if a user is in a list, and we try to 'expand' an @group, we
should lookup the user's own list of groups, rather than looking for all the
members of a group.

I'm sure this will fix some nasty performance issues, particularly on large
domains etc.  In particular, this avoids contacting winbind at all, if the
group is not a winbind group.

(This caused a deadlock on my winbind-on-PDC setup).

The groups list always includes the user's primary group, as per the
getgrouplist manpage, and my recent changes to our implementation.

Andrew Bartlett
(This used to be commit 9be21976f7662ebe6eb92fff7cecbdb352eca334)
2003-02-17 12:27:34 +00:00
Andrew Bartlett
e33551bc0c Set the length back to zero when we free the data_blob.
(This used to be commit 4560594a67056ee1a5e51a122d1b254944e7c266)
2003-02-17 12:19:12 +00:00
Andrew Bartlett
55da3690b7 Try to make our getgrouplist replacement better match the 'real' implemenations.
In particular, make sure we include the primary gid in the list.

Andrew Bartlett
(This used to be commit 0cd4b339b7eff55019caaeaa998d5e70b2eed200)
2003-02-17 12:04:09 +00:00
Jelmer Vernooij
1cf9b9be79 Remove obsolete file lib/netatalk.c - We have a VFS module now
(This used to be commit 28653989cfe5d705b99a4888c0c3fb79d1f89162)
2003-02-15 02:02:51 +00:00
Tim Potter
3b23695db6 Simplify some return values in gencache functions:
-	return ret == 0 ? True : False;
+	return ret == 0;

and

-	return tdb_close(cache) ? False : True;
+	return tdb_close(cache) != -1;
(This used to be commit 026b988b132ec76fdd3821639960658e1d36cd43)
2003-02-14 05:07:05 +00:00
Martin Pool
1f2a901d78 Add FIXME about checking exit code for popen'd commands.
Fix typo.
(This used to be commit 2b5664823e05e328c86051fb607182ad20d786d4)
2003-02-13 04:46:55 +00:00
Andrew Tridgell
c713b6aaf5 pull_ucs2_talloc() should pull to a char**, not a void**
(This used to be commit 3cf539421fa2a5c276baeedbdbf42ced29d9f1e4)
2003-02-12 00:39:36 +00:00