1
0
mirror of https://github.com/samba-team/samba.git synced 2025-05-01 22:50:23 +03:00

977 Commits

Author SHA1 Message Date
Volker Lendecke
f427d4ce65 Add a in-memory cache
This is a more general API that caches data with a LRU scheme. See
include/cache.h. No comments yet, I'm still working on it. But Jeremy has given
me a hint in one of his checkins that he would like to make use of this now.

The idea is that we get rid of all our silly little caches and merge them all
into one cache that we can then very easily trim, for example even with a
smbcontrol message if someone decides memory is tight. The main user is the
stat cache, this patch also converts the getwd cache. More caches to come.
(This used to be commit 7a911b35713538d82001a3c9f34152e293fe1943)
2007-12-18 09:56:04 +01:00
Günther Deschner
b0614071bf Add lp_include_registry_globals().
Guenther
(This used to be commit d30b945e99390761e405492e40c90e84da4fe482)
2007-12-12 00:58:58 +01:00
Jeremy Allison
7faee02d0d Remove the char[1024] strings from dynconfig. Replace
them with malloc'ing accessor functions. Should save a
lot of static space :-).
Jeremy.
(This used to be commit 52dc5eaef2106015b3a8b659e818bdb15ad94b05)
2007-12-10 11:30:37 -08:00
Volker Lendecke
0c0054fe16 use dbwrap_rbt in loadparm.c
(This used to be commit e81629339589e2e7f464b3dca55730ff2d0877e4)
2007-12-10 16:06:32 +01:00
Volker Lendecke
307396435b Convert ServiceHash to dbwrap
(This used to be commit 66bd6837b593a7127bd5098afc990d3fb7a5a35a)
2007-12-10 16:06:32 +01:00
Jeremy Allison
ade51769d5 We don't need P_GSTRING or P_UGSTRING anymore.
Jeremy.
(This used to be commit 78dc75600099b5b3b5a8ecffec747a227ff51d70)
2007-12-07 12:43:10 -08:00
Jeremy Allison
acf15ae730 Don't build rpctorture anymore - not maintained. Just remove.
Remove all vestiges of pstring (except for smbctool as noted
in previous commit).
Jeremy
(This used to be commit 4c32a22ac50ada3275d2ffba3c1aa08bee7d1549)
2007-12-07 12:26:32 -08:00
Volker Lendecke
78c6ee0090 Remove some globals
(This used to be commit 31d0a846db08d845e6cdfd85def4ac1c34031e02)
2007-12-05 14:39:07 +01:00
Jeremy Allison
b11e6f2158 Save one extra strdup per lp_string. Use talloc_sub_basic()
directly.
Jeremy.
(This used to be commit f1e401ef5c89ecf12921b7adb228da438521a693)
2007-11-27 19:12:42 -08:00
Jeremy Allison
68be9a8200 More pstring removal. This one was tricky. I had to add
one horror (pstring_clean_name()) which will have to
remain until I've removed all pstrings from the client code.
Jeremy.
(This used to be commit 1ea3ac80146b83c2522b69e7747c823366a2b47d)
2007-11-15 14:19:52 -08:00
Jeremy Allison
7a3ece4145 Remove pstring from param/
This was a little tricky..... I'll watch the
build farm.
Jeremy.
(This used to be commit d6e2519c67fd015e1089021769de04085fd90894)
2007-11-13 18:42:42 -08:00
Volker Lendecke
e63bcdd720 Remove the silly "user_socket_options" global variable
This is better done with a 'lp_do_parameter(-1, "socket options", ..);
(This used to be commit 814bed029efa391e664ac432d0d68dfeab26381f)
2007-11-09 15:11:54 +01:00
Jeremy Allison
ae74aa9993 Constrain "min receivefile size" to max of BUFFER_SIZE
(128k). Add debug error messages so we can see why
writeX large is denied. Ensure we don't allow recvfile
writes on IPC$.
Jeremy.
(This used to be commit 6bf053a6a17749a3bc73c8cc5fd490aa5f93b763)
2007-11-07 21:47:00 -08:00
Gerald (Jerry) Carter
31286b302a Merge branch 'v3-2-test' of git://git.samba.org/samba into v3-2-test
(This used to be commit 779353b86d1699324149896f1ffa237c6ebe46ec)
2007-11-01 21:30:43 -04:00
Gerald (Jerry) Carter
88ee61625a Patch 2 of 3 from Debian Samba packagers:
The point is doing the following associations:

- non discardable state data (all TDB files that may need to be backed
  up) go to statedir
- shared data (codepage stuff) go to codepagedir

The patch *does not change* the default location for these
directories. So, there is no behaviour change when applying it.

The main change is for samba developers who have to think when dealing
with files that previously pertained to libdir whether they:
- go in statedir
- go in codepagedir
- stay in libdir
(This used to be commit d6cdbfd875bb2653e831d314726c3240beb0a96b)
2007-11-01 15:53:44 -04:00
Volker Lendecke
456ca680f2 save memory
Hi!

Attached find a patch that I've wanted to check in for ages.
The whole area probably needs a major rewrite, but this is a
minimal patch that on a 32-bit box saves 1.5k per smbd per
defined share, twice as much on a 64-bit box.

Volker

From ebb80e664ecc49eb597a45cb57e1067fbae49e62 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl@sernet.de>
Date: Wed, 31 Oct 2007 15:04:34 +0100
Subject: [PATCH] Change global->copymap from bool* to a bitmap

We right now have 401 parameters, so with bool being represented as a 64-bit
integer this saves about 3k of memory per smbd per share that is defined in
smb.conf.
(This used to be commit 94f2c35a683eace7f9f3dad9748aaec93f7c534f)
2007-11-01 11:04:24 -07:00
Jeremy Allison
c3250149e1 Add new parameter, "min receivefile size" (by default set
to zero). If non-zero, writeX calls greater than this
value will be left in the socket buffer for later handling
with recvfile (or userspace equivalent). Definition of
recvfile for your system is left as an exercise for
the reader (I'm working on getting splice working :-).
Jeremy.
(This used to be commit 11c03b75ddbcb6e36b231bb40a1773d1c550621c)
2007-10-30 16:22:24 -07:00
Volker Lendecke
611479fd44 Fix two type-punned warnings
(This used to be commit 04d660bbb371f859cc50a9f3ea7d358f74acfa8b)
2007-10-21 08:47:30 +02:00
Jeremy Allison
30191d1a57 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.
(This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-18 17:40:25 -07:00
Gerald (Jerry) Carter
e5a951325a [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
2007-10-10 15:34:30 -05:00
Volker Lendecke
b5535567c1 r25564: Pass sharename to delete_share_security()
(This used to be commit d100bfffe2a503b8820889faedc6ed57100ca7af)
2007-10-10 12:31:13 -05:00
Michael Adam
b6a6fbd493 r25434: Add the option to print the debug class (DBGC_CLASS) in the debug header.
Control this by a new boolean smb.conf option "debug class" which is
by default set to "no" to keep the default debug header unchanged.

Michael

Note: You need to make clean for this patch.
(This used to be commit 066a46ba91ca734d9e20cb9d6db36fec209a27d7)
2007-10-10 12:31:05 -05:00
Andrew Bartlett
3428c63aa7 r25049: Set new, more secure defaults for Samba 3.2.
Andrew Bartlett
(This used to be commit 87d39f61b498c1327c2b3a818e41bb6451fe7518)
2007-10-10 12:30:36 -05:00
Volker Lendecke
325b342f31 r25036: Fix a become/unbecome_root() pair
(This used to be commit 9e53f50e9489a5f6cfa40eed59be39e8a294db7d)
2007-10-10 12:30:36 -05:00
Jeremy Allison
132ee3990a r25009: Large patch discussed with Volker. Move unix_convert to a talloc-based
interface. More development will come on top of this. Remove the
"mangled map" parameter.
Jeremy.
(This used to be commit dee8beba7a92b8a3f68bbcc59fd0a827f68c7736)
2007-10-10 12:30:32 -05:00
Volker Lendecke
929e1d9920 r24809: Consolidate the use of temporary talloc contexts.
This adds the two functions talloc_stackframe() and talloc_tos().

 * When a new talloc stackframe is allocated with talloc_stackframe(), then
 * the TALLOC_CTX returned with talloc_tos() is reset to that new
 * frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse
 * happens: The previous talloc_tos() is restored.
 *
 * This API is designed to be robust in the sense that if someone forgets to
 * TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and
 * resets the talloc_tos().

The original motivation for this patch was to get rid of the
sid_string_static & friends buffers. Explicitly passing talloc context
everywhere clutters code too much for my taste, so an implicit
talloc_tos() is introduced here. Many of these static buffers are
replaced by a single static pointer.

The intended use would thus be that low-level functions can rather
freely push stuff to talloc_tos, the upper layers clean up by freeing
the stackframe. The more of these stackframes are used and correctly
freed the more exact the memory cleanup happens.

This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and
lp_talloc_ctx (did I forget any?)

So, never do a

tmp_ctx = talloc_init("foo");

anymore, instead, use

tmp_ctx = talloc_stackframe()

:-)

Volker
(This used to be commit 6585ea2cb7f417e14540495b9c7380fe9c8c717b)
2007-10-10 12:30:24 -05:00
Jeremy Allison
f1041f98ce r24639: Add parameter "directory name cache size" - parameterize
use of directory name cache, 100 by default. Will be needed
to turn this off for *BSD systems.
Jeremy.
(This used to be commit bea8e9840fd65268e649f813eba10502b0c4d721)
2007-10-10 12:30:13 -05:00
Michael Adam
85d0c15da4 r24636: Raise one debug level, since the callers (that want to do so)
issue a level 0 debug message.

Michael
(This used to be commit c0022ff9278a06b92a550cf0d6a8e75af31a673c)
2007-10-10 12:30:12 -05:00
Michael Adam
aa1c863063 r24616: In set_boolean(), only pass the result back to the caller
if parsing of the boolean string was successful.
Also, initialize the local result variable
(although not strictly necessary anymore, now.)
(This used to be commit bf0daa74fadcd506b80c29d04ccf6ec7345ee0e1)
2007-10-10 12:30:10 -05:00
Michael Adam
b9a7a2b966 r24602: Add function lp_string_is_valid_boolean() to check if a string
contains a correct representation of a boolean value (in the
understanding of loadparm.c).

Make set_boolean() catch passing NULL for the boolean target.

Michael
(This used to be commit d13eaa60f504987445b7333ef6972491c9483e6a)
2007-10-10 12:30:09 -05:00
Michael Adam
987d7010f8 r24572: Allow for functions map_parameter_canonical() and is_synonym_of() to
be called with inverse == NULL.

Add a new function lp_parameter_is_canonical() to check whether a
parameter name is the canonical name (as apposed to an alias).

Michael
(This used to be commit 07dc0fecf5116b34e468bddae8b36920c492717a)
2007-10-10 12:30:07 -05:00
Michael Adam
c56874d112 r24527: Add a function lp_canonicalize_parameter_with_value that turns
a parameter and value into the canonical paramter with the value
inverted if it was in invers boolean synonym.

Make net conf use this function when storing parameters.

Michael
(This used to be commit 3b762ab18392fd06427957b0263262e3b8e34b9d)
2007-10-10 12:29:54 -05:00
Michael Adam
bb76f3f98e r24526: Refactor determiniation of the index of the canonical form of a
parameter given in string representation into a function of its
own (map_parameter_canonical).

Michael
(This used to be commit 0dfb5eee25e287c129f7d34e4d079c60d56dce59)
2007-10-10 12:29:54 -05:00
Michael Adam
7190e7515b r24525: Add output of synonym information to show_parameter_list().
Also simplify lp_canonicalize_parameter by making use of
the new function "is_synonym_of".

Michael

Note: If anything depends on the exact former output format of
show_parameter list, I would trigger the output of synonym information
by a boolean verbose switch (that could be passed to testparm
via the "-v" command line switch).
(This used to be commit fd2dbae82594c6d6ab10a7318f127aea0a9a61ea)
2007-10-10 12:29:53 -05:00
Michael Adam
b2455bb8d2 r24519: Refactor printing of one parameter into a helper function of its own.
(This used to be commit 70dfe5d098b5d815e652b82fca57be0eb826f820)
2007-10-10 12:29:53 -05:00
Michael Adam
ed4b40e9cb r24510: Fix logic. Thanks to Volker for the hint!
Michael
(This used to be commit ce1d7ad1acb48a254add3ddfac5f13e05b8ec646)
2007-10-10 12:29:53 -05:00
Michael Adam
bf374d3d3d r24495: Add a function lp_canonicalize_parameter: It takes a name of a parameter
and produces the "canonical" (or main) name of the parameter (the one
synonym that does not have the flag FLAG_HIDE). The function also sets
a flag as to whether the synonym is a reverse boolean synonym.

Add some functions for the handling of string representations of boolean
values: return the canonical string representation of a bool, invert
a bool given as a string, canonicalize a bool given as a string.

Michael
(This used to be commit 113ac07199aaf2271af6eba2611dad429ee4c416)
2007-10-10 12:29:52 -05:00
Volker Lendecke
24f42c5cef r24453: Remove the read and write bmpx calls
Talked to both Tridge and Jeremy about this, Tridge said that there is a
special error message persuading OS/2 to fall back to other methods.
The calls now checked in always return the error message we used to
return when "read bmpx = False" was set (the default): ERRSRV, ERRuseSTD.

If someone has a reproducable test case where this is really needed, we
can always dig it up from version control and convert it to the new API.
But that time without that silly parameter, and with a torture test case
for "make test" please :-)

Volker
(This used to be commit d941aae2dfd11609e807bf4ce712571a2e354627)
2007-10-10 12:29:49 -05:00
Volker Lendecke
28210588ed r24266: Remove the "open files database hash size" parameter
This has been superseded by the "tdb_hashsize:<tdbname>" parameter
(This used to be commit df40d336afd256f05a0ec3724cc2096fb7114d81)
2007-10-10 12:29:22 -05:00
Stefan Metzmacher
31dc9126c1 r24072: Add "client ldap sasl wrapping" parameter.
Possible values are "plain" (default), "sign" or "seal".

metze
(This used to be commit 26ccbad7212e9acd480b98789f04b71c1e940ea8)
2007-10-10 12:29:02 -05:00
Stefan Metzmacher
4ce5c36367 r24027: merge from http://people.samba.org/bzr/metze/samba/3_2-ctdb-metze/:
add in any cluster addresses. We need to response to these,
but not listen on them. This allows us to run nmbd on every
node in the cluster, and have all of them register with a
WINS server correctly

metze
(This used to be commit 98c57562c4dcf04b72a1e4ad5d9f5cf48e7d0b28)
2007-10-10 12:28:57 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Michael Adam
f26abd78b1 r23666: Rename lp_parameter_valid -> lp_parameter_is_valid.
Michael
(This used to be commit 7f85cff49dfe1ae90e37162d35f1a48baaa9fe79)
2007-10-10 12:23:44 -05:00
Michael Adam
e388130aa6 r23657: Prevent setting of a global option in a share definition
in "net conf setparm".

Michael
(This used to be commit bf92d567984f00ebb998fb2485d0aac87d30b924)
2007-10-10 12:23:42 -05:00
Michael Adam
2073303664 r23656: Add initial checking of the validity of a paramter
given to "net conf setparm". Add a utility function
lp_parameter_valid() for this to loadparm.c.

Michael
(This used to be commit 639051e58d4da9fb1116c19f0790250640b6ac7a)
2007-10-10 12:23:42 -05:00
Michael Adam
72f468088f r23641: Put check for forbidden values in smbconf into a function.
(This will be used in a next step to prevent storing these
values in reg_smbconf.c.)

Michael
(This used to be commit 00be68a8416405e12a27186506f9eb15bca055b3)
2007-10-10 12:23:40 -05:00
Michael Adam
e8f99045c4 r23592: Change a debuglevel to not clutter output when calling
net as a non-root user, e.g.

Michael
(This used to be commit bbbfd7f41ab85f269d115f19601729f16079b552)
2007-10-10 12:23:34 -05:00
Michael Adam
de81984b5e r23579: Up to now, the "allparameters" argument to lp_next_parameter was
not effective for the global section (snum < 0). This checkin
makes it effective for the global section, too.

This does not produce changes in the results of the present calls of
lp_next_parameter: Beside the new use in utils/net_conf.c (which is
hereby fixed), the only calls of lp_next_parameter are in web/swat.c,
where it is effectively always called with allparameters == 1.

Michael
(This used to be commit 56f82485ec3b14ddcbcf7f5823926a94b17683f3)
2007-10-10 12:23:32 -05:00
Michael Adam
510ba543cc r23575: Fix a segfault when lp_load is called before init_registry.
Michael
(This used to be commit 235a5ae4cdf3ea238728c2e89a4318c18257426a)
2007-10-10 12:23:31 -05:00