aboutsummaryrefslogtreecommitdiff
path: root/net/samba41
diff options
context:
space:
mode:
authorTimur I. Bakeyev <timur@FreeBSD.org>2014-12-16 00:48:57 +0000
committerTimur I. Bakeyev <timur@FreeBSD.org>2014-12-16 00:48:57 +0000
commitbc051b59a6b3929958cc62e5c0c669636365ab06 (patch)
treec3be4cc3d143f59a921f81761aa36790f9e17078 /net/samba41
parent73bb14c0e30260c8d499f6f8dae4bc7018ec3ea8 (diff)
Notes
Diffstat (limited to 'net/samba41')
-rw-r--r--net/samba41/Makefile4
-rw-r--r--net/samba41/distinfo4
-rw-r--r--net/samba41/files/patch-nsswitch__winbind_nss_freebsd.c125
-rw-r--r--net/samba41/pkg-plist1
4 files changed, 5 insertions, 129 deletions
diff --git a/net/samba41/Makefile b/net/samba41/Makefile
index dc2be67ec9c8..e336ec5204d1 100644
--- a/net/samba41/Makefile
+++ b/net/samba41/Makefile
@@ -3,7 +3,7 @@
PORTNAME?= ${SAMBA4_BASENAME}41
PORTVERSION?= ${SAMBA4_VERSION}
-PORTREVISION?= 1
+PORTREVISION?= 0
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SAMBA}
MASTER_SITE_SUBDIR= samba/stable samba/rc
@@ -18,7 +18,7 @@ CONFLICTS?= *samba3[2-6]-3.* samba4-4.0.*
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
-SAMBA4_VERSION= 4.1.13
+SAMBA4_VERSION= 4.1.14
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}
diff --git a/net/samba41/distinfo b/net/samba41/distinfo
index 857c9423ad04..d6165aef5584 100644
--- a/net/samba41/distinfo
+++ b/net/samba41/distinfo
@@ -1,2 +1,2 @@
-SHA256 (samba-4.1.13.tar.gz) = 737907f4ed3a71f6ec12638387aff7cda4764f8c2eb18deeca16e2fb7ed66c9f
-SIZE (samba-4.1.13.tar.gz) = 19523732
+SHA256 (samba-4.1.14.tar.gz) = 5ea14baaca997292355d368918879e3d639def92b54efef2279cf5abe8db2cba
+SIZE (samba-4.1.14.tar.gz) = 19527260
diff --git a/net/samba41/files/patch-nsswitch__winbind_nss_freebsd.c b/net/samba41/files/patch-nsswitch__winbind_nss_freebsd.c
deleted file mode 100644
index 98822689c5e7..000000000000
--- a/net/samba41/files/patch-nsswitch__winbind_nss_freebsd.c
+++ /dev/null
@@ -1,125 +0,0 @@
---- ./nsswitch/winbind_nss_freebsd.c.orig 2012-10-02 08:24:41.000000000 +0000
-+++ ./nsswitch/winbind_nss_freebsd.c 2013-07-03 01:27:00.339935089 +0000
-@@ -5,6 +5,7 @@
- routines against Samba winbind/Windows NT Domain
-
- Copyright (C) Aaron Collins 2003
-+ Copyright (C) Timur I. Bakeyev 2013
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
-@@ -23,7 +24,6 @@
- #include "winbind_client.h"
-
- /* Make sure that the module gets registered needed by freebsd 5.1 */
--
- extern enum nss_status _nss_winbind_getgrent_r(struct group *, char *, size_t,
- int *);
- extern enum nss_status _nss_winbind_getgrnam_r(const char *, struct group *,
-@@ -32,6 +32,8 @@
- size_t, int *);
- extern enum nss_status _nss_winbind_setgrent(void);
- extern enum nss_status _nss_winbind_endgrent(void);
-+extern enum nss_status _nss_winbind_initgroups_dyn(char *, gid_t, long int *,
-+ long int *, gid_t **, long int , int *);
-
- extern enum nss_status _nss_winbind_getpwent_r(struct passwd *, char *, size_t,
- int *);
-@@ -41,6 +43,7 @@
- size_t, int *);
- extern enum nss_status _nss_winbind_setpwent(void);
- extern enum nss_status _nss_winbind_endpwent(void);
-+ns_mtab *nss_module_register(const char *, unsigned int *, nss_module_unregister_fn *);
-
- NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
- NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
-@@ -53,6 +56,9 @@
- NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
- NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
- NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
-+NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
-+
-+NSS_METHOD_PROTOTYPE(__freebsd_getgroupmembership);
-
- static ns_mtab methods[] = {
- { NSDB_GROUP, "getgrnam_r", __nss_compat_getgrnam_r, _nss_winbind_getgrnam_r },
-@@ -60,6 +66,7 @@
- { NSDB_GROUP, "getgrent_r", __nss_compat_getgrent_r, _nss_winbind_getgrent_r },
- { NSDB_GROUP, "setgrent", __nss_compat_setgrent, _nss_winbind_setgrent },
- { NSDB_GROUP, "endgrent", __nss_compat_endgrent, _nss_winbind_endgrent },
-+{ NSDB_GROUP, "getgroupmembership", __freebsd_getgroupmembership, NULL },
-
- { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_winbind_getpwnam_r },
- { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_winbind_getpwuid_r },
-@@ -69,6 +76,71 @@
-
- };
-
-+/* Taken from libc */
-+static int
-+gr_addgid(gid_t gid, gid_t *groups, int maxgrp, int *grpcnt)
-+{
-+ int ret, dupc;
-+
-+ /* skip duplicates */
-+ for (dupc = 0; dupc < MIN(maxgrp, *grpcnt); dupc++) {
-+ if (groups[dupc] == gid)
-+ return 1;
-+ }
-+
-+ ret = 1;
-+ if (*grpcnt < maxgrp) /* add this gid */
-+ groups[*grpcnt] = gid;
-+ else
-+ ret = 0;
-+
-+ (*grpcnt)++;
-+
-+ return ret;
-+}
-+
-+/*
-+ rv = _nsdispatch(NULL, dtab, NSDB_GROUP, "getgroupmembership",
-+ defaultsrc, uname, agroup, groups, maxgrp, grpcnt);
-+*/
-+
-+int
-+__freebsd_getgroupmembership(void *retval, void *mdata, va_list ap)
-+{
-+ const char *uname = va_arg(ap, const char *);
-+ gid_t group = va_arg(ap, gid_t);
-+ gid_t *groups = va_arg(ap, gid_t *);
-+ int maxgrp = va_arg(ap, int);
-+ int *groupc = va_arg(ap, int *);
-+
-+ NSS_STATUS ret;
-+ long int lcount, lsize;
-+ int i, errnop;
-+ gid_t *tmpgroups;
-+
-+ /* Can be realloc() inside _nss_winbind_initgroups_dyn() */
-+ if ((tmpgroups=calloc(maxgrp, sizeof(gid_t))) == NULL) {
-+ errno = ENOMEM;
-+ return NS_TRYAGAIN;
-+ }
-+
-+ lcount = 0;
-+ lsize = maxgrp;
-+ /* insert primary membership(possibly already there) */
-+ gr_addgid(group, groups, maxgrp, groupc);
-+ /* Don't limit number of groups, we want to know total size */
-+ ret = _nss_winbind_initgroups_dyn(uname, group, &lcount, &lsize,
-+ &tmpgroups, 0, &errnop);
-+ if (ret == NSS_STATUS_SUCCESS) {
-+ /* lcount potentially can be bigger than maxgrp, so would groupc */
-+ for (i = 0; i < lcount; i++)
-+ gr_addgid(tmpgroups[i], groups, maxgrp, groupc);
-+ }
-+ free(tmpgroups);
-+ /* Let following nsswitch backend(s) add more groups(?) */
-+ return NSS_STATUS_NOTFOUND;
-+}
-+
- ns_mtab *
- nss_module_register(const char *source, unsigned int *mtabsize,
- nss_module_unregister_fn *unreg)
diff --git a/net/samba41/pkg-plist b/net/samba41/pkg-plist
index f7991d3e4bbd..5e58eca23e57 100644
--- a/net/samba41/pkg-plist
+++ b/net/samba41/pkg-plist
@@ -321,6 +321,7 @@ lib/shared-modules/auth/script.so
%%MODULE_AUTH_SKEL%%lib/shared-modules/auth/skel.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_9.so
+%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_10.so
%%AD_DC%%lib/shared-modules/gensec/krb5.so
lib/shared-modules/idmap/autorid.so
lib/shared-modules/idmap/hash.so