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

766 Commits

Author SHA1 Message Date
Jeremy Allison
3fbd1ae54c r25472: Fix the interfaces code to detect IPv6 interfaces, using the
new standard getifaddrs() and freeifaddrs() interfaces. Currently
we only return IPv4 af_families. Needs fixing for binds to IPv6
but this has to be careful work.
Jeremy.
(This used to be commit 327875182c9219aeba687e10aaea93546d9a70ea)
2007-10-10 12:31:06 -05:00
Stefan Metzmacher
85d1b13fbe r25128: _XOPEN_SOURCE_EXTENDED and socklen_t are always provided by libreplace
metze
(This used to be commit b3ee9adf28ee8136528d0236a3a2c894c2223053)
2007-10-10 12:30:42 -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
Günther Deschner
a573b80df7 r24419: Hm, I think this protoype is not required here.
Guenther
(This used to be commit 42abe8450b0fc3c9f8d768fadbd5e6b0a6c1bfc3)
2007-10-10 12:29:44 -05:00
Stefan Metzmacher
9342df7027 r24304: patch from Bjoern JAcke <bj@SerNet.DE>:
attached patches add EA support for Solaris. If no one disagrees, can
someone check this in please?

metze
(This used to be commit 81e5afc363e1f0bdc4768c0f5c696f4152fe5b44)
2007-10-10 12:29:25 -05:00
Günther Deschner
e4b268b2b5 r23971: Prevent build failures.
Guenther
(This used to be commit f959a0f152956429d8b525a55f99cbe2963504d6)
2007-10-10 12:28:50 -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
Herb Lewis
24ebb4b1b6 r23732: removed reference to non-existent structure
(This used to be commit 4c04059f7dfa0096c9f3249b55269f7335137f48)
2007-10-10 12:23:50 -05:00
Günther Deschner
df63172ad9 r23646: Generalize our internal keytab handling to support a broader range of default
keytabnames (like "ANY:FILE:/etc/krb5.keytab,krb4:/etc/srvtab"). This also
fixes keytab support with Heimdal (which supports the WRFILE pragma as well
now).

Guenther
(This used to be commit 7ca002f4cc9ec4139c0c48952ebf05f89b5795ef)
2007-10-10 12:23:40 -05:00
Günther Deschner
c66831e04b r23582: Fix event based krb5 ticket refreshing in winbindd.
We were incorrectly using the renew_till timestamp instead of the renewed
ticket's endtime to calculate the next refreshing date.

Guenther
(This used to be commit aa3511a5b5e6a96a02110a7ad0ab1d43e6d25766)
2007-10-10 12:23:32 -05:00
Michael Adam
aa4110e6f2 r23509: This activates the global options from the registry in loadparm.
The global options are stored as values in the subkey "global"
of the SMBCONF registry key.

The activation is accomplished in smb.conf though a new special
semantic of the "include" parameter: "include = registry" triggers
the processing of the registry global options exactly at the
position of the include statement. Options read from the registry
take the same precedence as parameters loaded from a file via
include. Need to reload the registry globals is detected by
watching the tdb sequence number.

Registry shares are automatically activated when the registry
globals are processed.

So a "registry only" configuration can be realized by an
smb.conf that looks as follows:

================================
[global]
include = registry
================================

The global options and registry shares can be conveniently
edited with the "net conf" utility.

Caveat:

A possible pitfall consists in using "include = registry"
together with the "lock directory" directive in the registry.
This problem will be addressed in the next time.

Note on the code:

Processing of the registry options is accomplished by a function
process_registry_globals() in loadparm.c The current version is
only an interim solution: It is handcoded instead of using the
infrastructure of reg_api.c. The reason for this is that using
reg_api still has too large linker dependencies, bloating virtually
all targets by PASSDB_OBJ, SMBLDAP_OBJ, GROUPDB_OBJ and LDB stuff.
A version of process_registry_globals that uses reg_api is
included but commented out. The goal is to eventually refactor
and restructure the registry code so that one can use the reg_api
to access only the registry tdb and not link all the dynamic
backends with all their linking implications.
(This used to be commit 24b0cbcb3741dd14b04728448a85cc04a057e7d0)
2007-10-10 12:23:23 -05:00
Volker Lendecke
de565785f5 r23410: Merge the core of the cluster code.
I'm 100% certain I've forgotten to merge something, but the main code
should be in. It's mainly in dbwrap_ctdb.c, ctdbd_conn.c and
messages_ctdbd.c.

There should be no changes to the non-cluster case, it does survive make
test on my laptop.

It survives some very basic tests with ctdbd enables, I did not do the
full test suite for clusters yet.

Phew...

Volker
(This used to be commit 15553d6327a3aecdd2b0b94a3656d04bf4106323)
2007-10-10 12:23:14 -05:00
Stefan Metzmacher
a02badcd4e r23328: don't typedef ber_tag_t when it's already done by openldap
headers on HP-UX (lber_types.h defines _LBER_TYPES_H).

metze
(This used to be commit bd1b28dd3e47c2f244baba4a239b0d6dca57f2d2)
2007-10-10 12:23:06 -05:00
Stefan Metzmacher
b25bebb960 r23307: move readahead stuff out of libreplace and make it samba3 specific
as we can't replace this function in libreplace and we do
the some stuff for other function in the same way.

metze
(This used to be commit 5e9b84326b4c65799e6fa6550de870d9a7ebba85)
2007-10-10 12:23:05 -05:00
Gerald Carter
97a164ba96 r23274: merge CloseEventlog() pidl conversion from 3.0.26 && fix a few init call renames for svcctl in the previous commit
(This used to be commit ebcae48ec10fefa74efcc3563cff50e3b9c2388c)
2007-10-10 12:23:02 -05:00
Gerald Carter
d99f4f004c r23271: merge service control pidl change for CloseServiceHandle() from SAMBA_3_0_26
(This used to be commit 0b1bc3521fac52f3164b6cc9e053abc3ceabf5e7)
2007-10-10 12:23:01 -05:00
Gerald Carter
3272b1dd60 r23251: whoops! Fix compile error
(This used to be commit 22a3ea40ac69fa3722abf28db845ab284a65ad97)
2007-10-10 12:22:59 -05:00
Volker Lendecke
ac3f08ddbe r23055: Rewrite messages.c to use auto-generated marshalling in the tdb. I'm
doing this because for the clustering the marshalling is needed in more
than one place, so I wanted a decent routine to marshall a message_rec
struct which was not there before.

Tridge, this seems about the same speed as it used to be before, the
librpc/ndr overhead in my tests was under the noise.

Volker
(This used to be commit eaefd00563173dfabb7716c5695ac0a2f7139bb6)
2007-10-10 12:22:17 -05:00
Günther Deschner
95bc08e954 r22796: Add security descriptor to GROUP_POLICY_OBJECT structure (in preparation of
adding GPO security filtering for libgpo).

Guenther
(This used to be commit b376a39fbf42a6a541fd311418c4a980b9fd4b9e)
2007-10-10 12:21:57 -05:00
Volker Lendecke
4c185a6077 r22775: For the cluster code I've developed a wrapper around tdb to put different
database backends in place dynamically.

The main abstractions are db_context and db_record, it should be mainly
self-describing, see include/dbwrap.h.  You open the db just as you would open
a tdb, this time with db_open(). If you want to fetch a record, just do the
db->fetch() call, if you want to do operations on it, you need to get it with
fetch_locked().

I added dbwrap_file.c (not heavily tested lately) as an example for what can
be done with that abstraction, uses a file per key. So if anybody is willing
to shape that up, we might have a chance on reiserfs again.... :-)

This abstraction works fine for brlock.tdb, locking.tdb, connections.tdb and
sessionid.tdb. It should work fine for the others as well, I just did not yet
get around to convert them.

If nobody loudly screams NO, then I will import the code that uses this soon.

Volker
(This used to be commit e9d7484ca246cfca4a1fd23be35edc2783136ebe)
2007-10-10 12:21:56 -05:00
Günther Deschner
1ee9650a1d r22479: Add "net ads keytab list".
Guenther
(This used to be commit 9ec76c542775ae58ff03f42ebfa1acc1a63a1bb1)
2007-10-10 12:19:37 -05:00
Günther Deschner
655d2b5200 r22468: Fixing implicit declaration of krb5_set_default_tgs_ktypes (which is hidden by
KRB5_PRIVATE in MIT and doesn't exist on Heimdal).

Guenther
(This used to be commit 664db1cff674073c8eeaf69256a73d11e7ed9e3c)
2007-10-10 12:19:37 -05:00
Stefan Metzmacher
97079ab953 r22315: move tdbback.c content into tdbbackup.c
and make the functions static.

also use libreplace headers in tdbbackup.c

metze
(This used to be commit 1ca12b1c9e7e8267fa13a40ebeb2bdcd199237de)
2007-10-10 12:19:26 -05:00
Jeremy Allison
d4f1543335 r22108: Fix from <don.mccall@hp.com> to try and fix the HPUX builds.
Jeremy.
(This used to be commit 4de297112b9d87e58d870889007001169265e084)
2007-10-10 12:19:13 -05:00
Jeremy Allison
d2a57b6393 r22049: HPUX build fixes from <don.mccall@hp.com>.
Jeremy.
(This used to be commit b70af25e851b2695e552b10f1befb16e336fb36f)
2007-10-10 12:19:05 -05:00
Jeremy Allison
71b8fdff85 r22003: Fix from Jiri.Sasek@Sun.COM to wrap our krb5_locate_kdc
call as smb_krb5_locate_kdc to prevent incorrect linking
and crashes on Solaris.
Jeremy.
(This used to be commit 7d30737c8d851505e81a60443baf9a8c7e523472)
2007-10-10 12:18:59 -05:00
Jeremy Allison
4a66d0e232 r21991: I hate Steve French :-). Add support for encryption
contexts....
Jeremy.
(This used to be commit ae8f3649f773b8a8dcb55921536d038d3475322e)
2007-10-10 12:18:58 -05:00
Jeremy Allison
8b63654c2e r21969: Start working on the gss-side of the server negotiation.
Jeremy.
(This used to be commit fbc569b530104679e47fe743963eb0c4384de6ae)
2007-10-10 12:18:54 -05:00
Jeremy Allison
42238c78bb r21917: Start to do the gss versions of sign+seal.
Jeremy.
(This used to be commit a226645353a40047b72de1b96c3a7676a2bf1034)
2007-10-10 12:18:48 -05:00
Jeremy Allison
efbdda540a r21883: Try and fix the build by removing the prototypes for
functions that take a gss context handle in includes.h
Jeremy.
(This used to be commit 638b03242d4a6b1df2477dad19240ed61a14a5a3)
2007-10-10 12:18:43 -05:00
Jeremy Allison
edccfc9192 r21845: Refactor the sessionsetupX code a little to allow us
to return a NT_STATUS_TIME_DIFFERENCE_AT_DC error to
a client when there's clock skew. Will help people
debug this. Prepare us for being able to return the
correct sessionsetupX "NT_STATUS_MORE_PROCESSING_REQUIRED"
error with associated krb5 clock skew error to allow
clients to re-sync time with us when we're eventually
able to be a KDC.
Jeremy.
(This used to be commit c426340fc79a6b446033433b8de599130adffe28)
2007-10-10 12:18:37 -05:00
James Peach
3adeb42742 r21778: Wrap calls to krb5_get_init_creds_opt_free to handle the different
calling convention in the latest MIT changes.  Apparantly Heimdal
is also changing to this calling convention.
(This used to be commit c29c69d2df377fabb88a78e6f5237de106d5c2c5)
2007-10-10 12:18:32 -05:00
Günther Deschner
69cee2a3ec r21240: Fix longstanding Bug #4009.
For the winbind cached ADS LDAP connection handling
(ads_cached_connection()) we were (incorrectly) assuming that the
service ticket lifetime equaled the tgt lifetime. For setups where the
service ticket just lives 10 minutes, we were leaving hundreds of LDAP
connections in CLOSE_WAIT state, until we fail to service entirely with
"Too many open files".

Also sequence_number() in winbindd_ads.c needs to delete the cached LDAP
connection after the ads_do_search_retry() has failed to submit the
search request (although the bind succeeded (returning an expired
service ticket that we cannot delete from the memory cred cache - this
will get fixed later)).

Guenther
(This used to be commit 7e1a84b7226fb8dcd5d34c64a3478a6d886a9a91)
2007-10-10 12:17:50 -05:00
Günther Deschner
1898eaddb8 r21110: Fix kinit with Heimdal (Bug #4226).
Guenther
(This used to be commit ea38e1f8362d75e7ac058a7c4aa06f1ca92ec108)
2007-10-10 12:17:38 -05:00
Volker Lendecke
8bfa935161 r21074: Preparation for the import of samba4 notify: Add the file notify.idl and the
resulting marshalling/unmarshalling routines in gen_ndr/

Volker
(This used to be commit a2ea54c23456925a8ed317edb1adf82d074041fc)
2007-10-10 12:17:33 -05:00
Gerald Carter
a31f10c99e r21001: * Use a simple '#define LDAPMessage void' to fix the build
problems in the nss_info interface when HAVE_LDAP is undefined.
* Revert previous ifdef HAVE_ADS brakets
* Remove an unused init function wrapper.
(This used to be commit 2ba353848b6d8d36520e7fd82576653a39c602cd)
2007-10-10 12:17:25 -05:00
Andrew Bartlett
b0d4004396 r20996: Build fix from Kai Blin
(This used to be commit 91fdbd4cf5f8fe44adcbe8dc8ef38579a8306c39)
2007-10-10 12:17:24 -05:00
Gerald Carter
a4faa575a4 r20992: another attempt at fixing the build breakage
(This used to be commit 7011a1b5abc7d56da5beba904e3328014f315f0d)
2007-10-10 12:17:24 -05:00
Gerald Carter
b9b26be174 r20986: Commit the prototype of the nss_info plugin interface.
This allows a provider to supply the homedirectory, etc...
attributes for a user without requiring support in core
winbindd code.  The idmap_ad.c module has been modified
to provide the idmap 'ad' library as well as the rfc2307 and sfu
"winbind nss info" support.

The SID/id mapping is working in idmap_ad but the nss_info
still has a few quirks that I'm in the process of resolving.
(This used to be commit aaec0115e2c96935499052d9a637a20c6445986e)
2007-10-10 12:17:23 -05:00
Volker Lendecke
a328e2f997 r20501: Check in config.h fix from Michael Adam <ma@sernet.de>
(This used to be commit d10dd47fb8908a4372aa6932e40b23189784522c)
2007-10-10 12:16:53 -05:00
Stefan Metzmacher
e1d4e31c44 r20386: remove unneeded dlopen related configure checks and includes
this is done by libreplace...

this hopefully fixes the build on HPUX 11.00

metze
(This used to be commit eed50e104794d855b204cfea52626f47b6fa3f52)
2007-10-10 12:16:45 -05:00
Gerald Carter
932e95abde r19808: remove old smbwrapper references
(This used to be commit c142b629c8f08597519a754a8fb78b7708279f75)
2007-10-10 12:15:57 -05:00
Gerald Carter
9a88644bb5 r19758: remove the LDAP_SCOPE_ONELEVEL define (not needed after svnup)
(This used to be commit e37132f219bb9ef52c7fc9b396bd272dd5abca70)
2007-10-10 12:15:53 -05:00
Gerald Carter
8fa0a80b49 r19754: * When using a krb5 session setup, we don't fill in the server_name
string the clis_state struct.  So call saf_store() after we
  have the short domain name in the lsa_query_inof_policy code.

* Remove unused server string in saf_delete()
(This used to be commit 3eddae2f2080f8dafec883cb9ffa2e578c242607)
2007-10-10 12:15:53 -05:00
Andrew Tridgell
aa3ca346d8 r19429: moved tdb/common/tdbutil.c into lib/util_tdb.c
see discussion on samba-technical
(This used to be commit 1ad563286f00be0d72930b81b10cb74f13c5fbff)
2007-10-10 12:15:35 -05:00
James Peach
876be25055 r19270: Stop depending on internal MIT symbols. These are private on MacOS
x, so we can't get at them even if we wanted to.

Kerberos experts, please take a look to make sure I've done the
right thing!
(This used to be commit 9b8e179fcc1fb877e8601bfd242ee1fd615b554c)
2007-10-10 12:15:27 -05:00
Stefan Metzmacher
9830fc431b r19240: move the NO_CONFIG_H check to libreplace
this fixes the quota detection configure and maybe more
configure tests

metze
(This used to be commit a3a082c42ccb21cb16d2e53991808ef3224efc6c)
2007-10-10 12:15:24 -05:00
Stefan Metzmacher
7f9aca9772 r19026: we don't need this twice
metze
(This used to be commit 5d16aa61c6c5e284f6ff742dbf686493e4539c79)
2007-10-10 12:15:03 -05:00
Gerald Carter
2326b147d0 r18963: * Move parts of registry headers that were still in
use to reg_objects.h
* Remove unused rpc headers
(This used to be commit 4f79d8c83db5af80078114e9fb39171380d040b1)
2007-10-10 12:14:51 -05:00