1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
https://gitlab.com/samba-team/samba is the Official GitLab mirror of https://git.samba.org/samba.git -- Merge requests should be made on GitLab (not on GitHub)
Go to file
Karl Lenz f31333d40e s4 heimdal_build: Fix static heimdal builds with replacement closefrom()
If Samba was configured with "--nonshared-binary=winexe" to build
winexe as a static binary, and the replacement closefrom() function
was used (which is default on most GNU/Linux systems without the libbsd
development package installed), then winexe would fail to link with the
error message shown below.

[2631/3059] Linking bin/default/examples/winexe/winexe
source4/heimdal/lib/roken/closefrom.c.1.o: In function `rep_closefrom':
closefrom.c:(.text+0x0): multiple definition of `rep_closefrom'
lib/replace/closefrom.c.2.o:closefrom.c:(.text+0x292): first defined here
collect2: error: ld returned 1 exit status

The real problem here was not with the winexe build itself - that was
merely the application that I was attempting to build statically when I
encountered it. As Andrew Bartlett very helpfully pointed out to me, this
regression was introduced when "lib/replace/closefrom.c" was added in
commit 55529d0f and, more to the point, when the heimdal build started
using it in commit 3a7ebd0e. From that point on, any time that Samba's
embedded copy of heimdal was statically linked into an application, it
would fail to link because heimdal's own rep_closefrom() function in its
"roken" library would conflict with the rep_closefrom() function in the
"replace" library used elsewhere in Samba - a library which the "roken"
library itself depends on. To further compound the problem, heimdal's
own "roken" library is also compiled for the host (a necessary
distinction for cross-compiled builds) and linked into a small number of
utility applications used during the heimdal build. However, they can't
link directly against the "replace" library, unlike the main "roken"
library build which carries that dependency, because the "replace"
library is _not_ built for the host.

I solved this problem by eliminating heimdal's version of rep_closefrom()
and making it use the one from "lib/replace" everywhere. That wasn't a
problem for the main heimdal library that is built for the target because
it was already linking in "lib/replace" (that's what caused this problem
in the first place!), but to solve the aforementioned issue with
"lib/replace" not being built for the host, I added
"lib/replace/closefrom.c" to the list of "source4/heimdal/lib/roken"
sources to be built for the host to satisfy heimdal's host utilities.
Everyone wins, I think.

Signed-off-by: Karl Lenz <xorangekiller@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
2019-07-05 03:33:19 +00:00
.github Added redirect from GitHub to GitLab 2018-12-05 16:35:33 +01:00
auth Add PrimaryGroupId to group array in DC response 2019-07-03 13:52:55 +00:00
bootstrap bootstrap: Add OpenSUSE 15.1 image 2019-07-04 02:07:19 +00:00
buildtools wafsamba: Use native waf timer 2019-06-18 16:55:20 +00:00
coverity coverity: Add modeling file for Coverity scan 2017-02-23 07:11:18 +01:00
ctdb ctdb: Update all consumers of strtoul_err(), strtoull_err() to new API 2019-06-30 11:32:18 +00:00
dfs_server dsdb: Allow the disable of the Windows server site fallback 2018-05-04 06:12:10 +02:00
docs-xml doc: add documentation for "samba-tool" contact management 2019-07-04 02:07:21 +00:00
dynconfig dynconfig/wscript: python3 fix string.find instance 2018-12-14 00:51:32 +01:00
examples winexe: Fix translation of the winexesvc binaries to C 2019-07-05 03:33:19 +00:00
file_server source4 smdb: Add a post fork hook to the service API 2018-11-01 23:49:24 +01:00
include
lib util: Fix off-by-one error in message about overflow 2019-07-05 02:24:52 +00:00
libcli libcli: Update all consumers of strtoul_err(), strtoull_err() to new API 2019-06-30 11:32:18 +00:00
libds/common libds: rename UF_MACHINE_ACCOUNT_MASK to UF_TRUST_ACCOUNT_MASK 2018-03-13 18:59:17 +01:00
libgpo py3: Remove PyStr_FromString() compatability macro 2019-06-24 17:24:27 +00:00
librpc librpc/idl: fix build with --enable-spotlight 2019-07-02 14:52:17 +00:00
nsswitch nsswitch: Update all consumers of strtoul_err(), strtoull_err() to new API 2019-06-30 11:32:18 +00:00
packaging packaging: Update READMEs to reflect current status. 2019-06-25 12:09:39 +00:00
pidl pidl: Remove the need to always specify --client with --python 2019-06-26 04:12:33 +00:00
python tests/usage: test for --help consistency 2019-07-05 01:05:20 +00:00
release-scripts release-scripts/build-manpages-nogit: run make realdistclean at the end 2015-08-17 17:43:36 +02:00
script script/compare_cc_results: print usage on too few args 2019-07-05 01:05:20 +00:00
selftest s4/torture: remove autoidl 2019-07-05 01:05:20 +00:00
source3 s3: smbd: SMB1 add range checks to reply_fclose(). 2019-07-04 15:40:31 +00:00
source4 s4 heimdal_build: Fix static heimdal builds with replacement closefrom() 2019-07-05 03:33:19 +00:00
testdata regfio: Improve handling of malformed registry hive files 2019-03-20 05:26:18 +00:00
testprogs selftest: add tests for samba-tool ntacl changedomsid 2019-06-18 16:54:22 +00:00
tests tests/sysquotas.c: include jfs/quota.h for 4B test on AIX 2019-02-17 13:33:13 +01:00
testsuite testsuite: Remove build_farm testsuites 2019-03-12 02:56:05 +00:00
third_party third_party: Update waf to version 2.0.17 2019-06-05 15:40:23 +00:00
wintest wintest: py3 telnet.sendline() doesn't like string with ^Z 2019-07-02 04:21:36 +00:00
.bzrignore
.gitattributes gitattributes: Ignore .SAMBABACKUP files 2018-08-16 23:42:22 +02:00
.gitignore .gitignore: add ignore rules for a few dev tools 2019-02-15 06:07:07 +01:00
.gitlab-ci-private.yml .gitlab-ci.yml: merge .gitlab-ci-private.yml 2019-02-18 10:54:19 +01:00
.gitlab-ci.yml bootstrap: Add OpenSUSE 15.1 image 2019-07-04 02:07:19 +00:00
.testr.conf
.ycm_extra_conf.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
BUILD_SYSTEMS.txt
callcatcher-exceptions.grep
configure build: Move python detection back into waf (instead of in configure and Makefile) 2018-12-14 14:40:19 +01:00
configure.developer
COPYING
install_with_python.sh
Makefile Makefile: add lcov command 2019-05-22 05:59:13 +00:00
PFIF.txt
README.cifs-utils
README.Coding README.Coding: Approve DBG statements using dom_sid_str_buf 2018-11-22 08:22:18 +01:00
README.contributing
README.md README: fix samba mailman list address 2019-06-20 23:40:17 +00:00
setup.cfg PEP8: ignore rules and exclude files 2018-09-06 12:10:11 +02:00
VERSION VERSION: Bump version up to 4.11.0pre1 2019-01-15 11:37:30 +01:00
WHATSNEW.txt WHATSNEW: entries for gnutls and samba-tool 2019-07-05 00:05:15 +00:00
wscript waf: Remove configure steps from source4/lib/tls 2019-04-30 23:18:27 +00:00
wscript_build Split oLschema2ldif into library and binary 2019-03-26 03:03:23 +00:00
wscript_build_embedded_heimdal wscript_build_embedded_heimdal: update to handle waf 2.0.4 2018-09-05 06:37:25 +02:00
wscript_build_system_heimdal wscript: port build_system_heimdal to waf 2.0 2018-09-05 06:37:27 +02:00
wscript_build_system_mitkrb5 wscript: port build_system_mitkrb5 to waf 2.0 2018-09-05 06:37:27 +02:00
wscript_configure_embedded_heimdal wscript: separate embedded_heimdal from system_heimdal 2019-01-29 22:09:07 +01:00
wscript_configure_system_gnutls waf: Also check for gnutls_privkey_export_x509() 2019-05-07 00:11:25 +00:00
wscript_configure_system_heimdal wscript: separate embedded_heimdal from system_heimdal 2019-01-29 22:09:07 +01:00
wscript_configure_system_mitkrb5 wscript_configure_system_mitkrb5: reject a system heimdal krb5-config 2018-12-06 16:53:33 +01:00

About Samba

Samba is the standard Windows interoperability suite of programs for Linux and Unix. Samba is Free Software licensed under the GNU General Public License and the Samba project is a member of the Software Freedom Conservancy. Since 1992, Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol, such as all versions of DOS and Windows, OS/2, Linux and many others. Samba is an important component to seamlessly integrate Linux/Unix Servers and Desktops into Active Directory environments. It can function both as a domain controller or as a regular domain member.

NOTE: Installation instructions may be found for the file/print server and domain member in: docs/htmldocs/Samba3-HOWTO/install.html

For the AD DC implementation a full HOWTO is provided at: https://wiki.samba.org/index.php/Samba4/HOWTO

Community guidelines can be read at: https://wiki.samba.org/index.php/How_to_do_Samba:_Nicely

This software is freely distributable under the GNU public license, a copy of which you should have received with this software (in a file called COPYING).

CONTRIBUTIONS

  1. To contribute via GitLab
  1. If you want to contribute to the development of the software then please join the mailing list. The Samba team accepts patches (preferably in "diff -u" format, see https://www.samba.org/samba/devel/ for more details) and are always glad to receive feedback or suggestions to the address samba@lists.samba.org. More information on the various Samba mailing lists can be found at https://lists.samba.org/.

You can also get the Samba sourcecode straight from the git repository - see https://wiki.samba.org/index.php/Using_Git_for_Samba_Development.

If you like a particular feature then look through the git change-log (on the web at https://gitweb.samba.org/?p=samba.git;a=summary) and see who added it, then send them an email.

Remember that free software of this kind lives or dies by the response we get. If no one tells us they like it then we'll probably move onto something else.

MORE INFO

DOCUMENTATION

There is quite a bit of documentation included with the package, including man pages, and lots of .html files with hints and useful info. This is also available from the webpage. There is a growing collection of information under docs/.

A list of Samba documentation in languages other than English is available on the webpage.

If you would like to help with the documentation, please coordinate on the samba@lists.samba.org mailing list. See the next section for details on subscribing to samba mailing lists.

MAILING LIST

Please do NOT send subscription/unsubscription requests to the lists!

There is a mailing list for discussion of Samba. For details go to https://lists.samba.org/ or send mail to samba-subscribe@lists.samba.org

There is also an announcement mailing list where new versions are announced. To subscribe go to https://lists.samba.org/ or send mail to samba-announce-subscribe@lists.samba.org. All announcements also go to the samba list, so you only need to be on one.

For details of other Samba mailing lists and for access to archives, see https://lists.samba.org/

MAILING LIST ETIQUETTE

A few tips when submitting to this or any mailing list.

  1. Make your subject short and descriptive. Avoid the words "help" or "Samba" in the subject. The readers of this list already know that a) you need help, and b) you are writing about samba (of course, you may need to distinguish between Samba PDC and other file sharing software). Avoid phrases such as "what is" and "how do i". Some good subject lines might look like "Slow response with Excel files" or "Migrating from Samba PDC to NT PDC".

  2. If you include the original message in your reply, trim it so that only the relevant lines, enough to establish context, are included. Chances are (since this is a mailing list) we've already read the original message.

  3. Trim irrelevant headers from the original message in your reply. All we need to see is a) From, b) Date, and c) Subject. We don't even really need the Subject, if you haven't changed it. Better yet is to just preface the original message with "On [date] [someone] wrote:".

  4. Please don't reply to or argue about spam, spam filters or viruses on any Samba lists. We do have a spam filtering system that is working quite well thank you very much but occasionally unwanted messages slip through. Deal with it.

  5. Never say "Me too." It doesn't help anyone solve the problem. Instead, if you ARE having the same problem, give more information. Have you seen something that the other writer hasn't mentioned, which may be helpful?

  6. If you ask about a problem, then come up with the solution on your own or through another source, by all means post it. Someone else may have the same problem and is waiting for an answer, but never hears of it.

  7. Give as much relevant information as possible such as Samba release number, OS, kernel version, etc...

  8. RTFM. Google.

WEBSITE

A Samba website has been setup with lots of useful info. Connect to:

https://www.samba.org/

As well as general information and documentation, this also has searchable archives of the mailing list and links to other useful resources such as the wiki.