samba.git
13 months agoensure libsmbclient.h is being used with LFS enabled
Michael Tokarev [Sat, 2 Apr 2022 16:01:55 +0000 (19:01 +0300)]
ensure libsmbclient.h is being used with LFS enabled

Bug-Debian: https://bugs.debian.org/221618

We build samba with LFS (Large File Support) even on 32bits.
This means some types like off_t are 64-bit wide, again,
even on a 32bit host.  libsmbclient.h uses off_t in function
prototypes, and thes prototypes muct match those which were
used at samba compile time - if some other source includes
libsmbclient.h without LFS, it'll get wrong prototypes and
the resulting binary will most likely crash when using
libsmbclient functions.

Detect and error-out this at compile time.

We can not do anything with this in the public header since
it is alredy too late to redefine things, since we can't
guarantee we're the first header a program #includes, and
at the time this libsmbclient.h is included, off_t can
already be defined so our (re)define of _FILE_OFFSET_BITS
does nothing already.

Patching libsmbclient.h to use off64_t means client program
should change their off_t to off64_t too when storing
file offsets returning from libsmbclient, so this is not
an option too.

With this change, we will error out even if the user source
does not use any off_t-related functions. Namely, it was ok
to #include <libsmbclient.h> and use smbc_open/smbc_read/
smbc_write/smbc_close without _F_O_B=64, - neither of these
functions uses off_t. smbc_lseek and others doesn't work,
but if a program does not use them anyway, whole thing will
just work even without enabling LFS.  Ideally we can probably
check each individual function which is being affected, by
replacing it with #error if sizeof(off_t) < 8.  But this
requires quite some hackery...

Gbp-Pq: Name libsmbclient-ensure-lfs-221618.patch

13 months agosamba (2:4.21.1+dfsg-2) unstable; urgency=medium
Michael Tokarev [Fri, 25 Oct 2024 09:30:52 +0000 (12:30 +0300)]
samba (2:4.21.1+dfsg-2) unstable; urgency=medium

  * d/control: add Recommends: samba-ad-dc for samba for now
    to avoid breaking existing installs
  * d/samba.postrm: stop unmasking of samba-ad-dc
    (it is already done in postinst)
  * d/samba.postinst,d/samba.maintscripts: remove samba-ad-dc
    startup files and stop the service (Closes: #1085617)

[dgit import unpatched samba 2:4.21.1+dfsg-2]

13 months agoImport samba_4.21.1+dfsg-2.debian.tar.xz
Michael Tokarev [Fri, 25 Oct 2024 09:30:52 +0000 (12:30 +0300)]
Import samba_4.21.1+dfsg-2.debian.tar.xz

[dgit import tarball samba 2:4.21.1+dfsg-2 samba_4.21.1+dfsg-2.debian.tar.xz]

14 months agoImport samba_4.21.1+dfsg.orig.tar.xz
Michael Tokarev [Mon, 14 Oct 2024 18:21:50 +0000 (21:21 +0300)]
Import samba_4.21.1+dfsg.orig.tar.xz

[dgit import orig samba_4.21.1+dfsg.orig.tar.xz]